6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst:...

31
6IP 計算機ネットワーク

Transcript of 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst:...

Page 1: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

第6回 IP

計算機ネットワーク

Page 2: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

前回まで

Ethernet LAN内通信 MACアドレス (32:43:55 : BA:F5:DE)

IPアドレス IPアドレス ( 187.45.147.154 )

2

ベンダ(OUI) NIC

network host 組織 端末

どこの組織? どこの組織?

ネットワークアドレス

ネットワーク部 (ホスト部⇒All 0)

IPアドレスとネットマスク

の AND 演算

IPアドレス: 187.45.147.154

IPアドレス : 187.45.147.154

ネットワークアドレス: 187.45.144.0

ネットマスク: 255.255.240.0

どのネットワーク?

Page 3: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

IP ルーティング (routing)

LAN間接続

3

Hub

Hub

Hub

ルータ

ルーティング

A大

B社

C通信業者

経路を決定

パケット転送

パケット

Network間の接続

Page 4: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

ルーティングテーブル

10.0.1.1 10.0.2.1

10.0.3.1

10.0.1.2 10.0.2.2

10.0.3.2

10.0.1.0/24 directly connected

10.0.2.0/24 directly connected

10.0.3.0/24 directly connected

172.21.0.0/16 10.0.1.2

172.16.0.0/16 10.0.2.2

172.17.0.0/16 10.0.3.2

0.0.0.0/0 10.0.1.2

172.21.0.0/16 172.16.0.0/16

172.17.0.0/16

default

ルーティングテーブル

経路表

パケット

Dst: 172.16.3.5

Src: 172.21.22.1

Dst: 172.16.3.5

Src: 172.21.22.1

宛先IPアドレスにより次の転送先ルータ(次ホップ)を決定

Page 5: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

経路の決定

ネットワーク単位 = 組織単位

組織内部 ⇒ サブネット化

5

ネットワークアドレス ネットワークアドレス ネットマスク ネットマスク

(サブ)ネットワークアドレス (サブ)ネットワークアドレス (サブ)ネットマスク (サブ)ネットマスク

131.112.0.0/16 (255.255.0.0) 131.112.128.230

131.112.128.192/26 (255.255.255.192) 131.112.128.230

(131.112.0.0~131.112.255.255)

(131.112.128.192~131.112.128.255)

Page 6: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

ルーティング設定

6

IPパケット

「宛先IPアドレス」により

最終目的地への経路を決定

次のルータへパケット転送

経路設定コマンド

Windows: route

Unix, Mac: route

Cisco IOS: ip route

経路確認コマンド

Win, Unix, Mac: netstat -rn

Cisco IOS: show ip route

% route add –net 172.21.39.0 netmask 255.255.255.0 gw 172.21.21.1 % route add –net 172.21.39.0/24 172.21.21.1 % route add 172.21.39.0 mask 255.255.255.0 172.21.21.1 # ip route 172.21.39.0 255.255.255.0 172.21.21.1

Page 7: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

ルーティングテーブル

宛先IPネットワークアドレス

+ ネットマスク

次ホップIPアドレス

(インターフェース名、MACアドレス名…)

10.0.1.0/24 directly connected

10.0.2.0/24 directly connected

10.0.3.0/24 directly connected

172.21.0.0/16 10.0.1.2

172.16.0.0/16 10.0.2.2

172.17.0.0/16 10.0.3.2

0.0.0.0/0 10.0.1.2

172.21.0.0 ~ 172.21.255.255

⇒ 10.0.1.2 へ転送

Page 8: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

ルーティングテーブル

netstat -r (netstat -rn) > netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 222.229.72.1 UGS 2 34669629 em0 127.0.0.1 link#4 UH 0 918 lo0 192.168.0.0/24 link#2 U 5 9807611 em1 222.229.72.0/24 link#1 U 3 21510498 em0

IPv4 ルート テーブル アクティブ ルート: ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック 0.0.0.0 0.0.0.0 172.21.39.1 172.21.39.146 266 127.0.0.0 255.0.0.0 リンク上 127.0.0.1 306 127.0.0.1 255.255.255.255 リンク上 127.0.0.1 306 127.255.255.255 255.255.255.255 リンク上 127.0.0.1 306 169.254.0.0 255.255.0.0 リンク上 172.21.39.146 30

Page 9: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

CIDR

Classless Inter-Domain Routing (サイダー)

ルーティングテーブル増大

同一宛先で隣り合う経路を集約

Aggregation (アグリゲーション)

スーパーネット

ルーティングテーブルの縮約

9

Page 10: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

10

インターネットルータ ルーティングテーブル エントリ数

出典:bgp.potaroo.net

Page 11: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

11

インターネットルータ ルーティングテーブル エントリ数

出典:bgp.potaroo.net

Page 12: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

KUT

222.229.64.0 ~ 222.229.79.255

222.229.64.0/24 ~ 79.0/24

Class C 16本分

222.229.64.0/20

12

222.229.64.0 255.255.248.0 次ホップルータ

Page 13: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

動的ルーティング

ダイナミックルーティング

ルータ間でルーティング情報交換

経路の出現・消失へ対応

13

ルーティングプロトコル

RIP (v1, v2) 小規模内部向け

OSPF 大規模内部

BGP4 インターネット

内部(IGP) =RIP, OSPF (AS内ルーティング)

外部(EGP) = BGP4 (AS 間ルーティング)

内部:同じ組織

(同一管理下のネットワーク)

AS (Autonomous System) 自律システム

ルーテッド

IP

Page 14: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

同一ネットワーク内通信

アドレス解決

ARP (Address Resolution Protocol)

IPアドレス→MACアドレス

ARP: イーサネットフレーム

ARP Request (Src->broadcast)

送信元IP・送信元MAC・宛先IP

宛先MAC:FF:FF:FF:FF:FF:FF

ARP Reply (Dst -> Src)

送信元IP・MAC・宛先IP・MAC

Ethernet

L3→L2

Page 15: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

ARPテーブル

MACアドレスとIPアドレスの組

コマンド

arp -a (arp -na)

arp -s

arp -d % arp -a ? (172.21.39.0) at ff:ff:ff:ff:ff:ff on em0 permanent [ethernet] ? (172.21.39.1) at 00:12:e2:60:6c:00 on em0 [ethernet] zadeh (172.21.39.2) at 00:1b:21:04:26:a7 on em0 [ethernet] ? (172.21.39.109) at e0:cb:4e:53:9e:9a on em0 [ethernet] ? (172.21.39.121) at 00:a0:b0:a2:12:c4 on em0 [ethernet]

IP通信する端末

Page 16: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

IP Packet

RFC791 1981/9

Page 17: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

IPパケット

Packet Format

バージョン(4)-HLEN(4)-TOS(8)-LEN(16)

バージョン 0100 HLEN:32ビット単位

LEN バイト単位

ID(16)-flag(3)-flagment offset(13)

ID:パケット識別番号

MF, DF, flagment offset (バイト単位)

Page 18: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

IP Packet

RFC791 1981/9

4 ヘッダ長(×4 oct.) 優先(0) パケット長(~65536 oct.)

packet ID

フラグメント関係

TTL 上位(TCP, UDP, etc.) ヘッダ・チェックサム

送信元IP

宛先IP

4オクテット単位

Page 19: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

IPパケット

TTL(8)

%traceroute -n 172.31.1.1 traceroute to 172.31.1.1 (172.31.1.1), 64 hops max, 40 byte packets 1 172.21.39.1 0.579 ms 0.485 ms 0.618 ms 2 172.21.30.10 0.242 ms 0.246 ms 0.243 ms 3 222.229.72.1 2.492 ms 2.493 ms 3.239 ms 4 172.17.1.1 2.615 ms 2.497 ms 2.489 ms 5 222.229.65.41 2.372 ms 0.742 ms 0.743 ms 6 222.229.65.25 0.993 ms 0.993 ms 0.995 ms 7 222.229.65.17 0.994 ms 0.994 ms 0.994 ms 8 222.229.65.18 1.118 ms 1.118 ms 1.119 ms 9 222.229.65.17 0.867 ms 0.994 ms 0.994 ms 10 222.229.65.18 1.367 ms 1.368 ms 1.495 ms 11 222.229.65.17 1.118 ms 1.118 ms 0.995 ms 12 222.229.65.18 1.242 ms 1.867 ms 1.370 ms 13 222.229.65.17 1.243 ms 1.367 ms 1.119 ms

Page 20: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

IPパケット

Protocol(8) 上位 (L4) プロトコル

(1:icmp, 6:TCP, 17:UDP etc.)

/etc/protocols

%less /etc/protocols ip 0 IP # internet protocol, pseudo protocol number #hopopt 0 HOPOPT # hop-by-hop options for ipv6 icmp 1 ICMP # internet control message protocol igmp 2 IGMP # internet group management protocol ggp 3 GGP # gateway-gateway protocol ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') st2 5 ST2 # ST2 datagram mode (RFC 1819) (officially ``ST'') tcp 6 TCP # transmission control protocol cbt 7 CBT # CBT, Tony Ballardie <[email protected]> egp 8 EGP # exterior gateway protocol

Page 21: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

IPパケット

ヘッダチェックサム

ヘッダのみのチェック

ペイロード

⇒ チェックされない

データ:保障されない

21

他のレイヤーの

プロトコルに任せる

Ethernet

UDP, TCP, etc.

Page 22: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

IPパケット

Packet Format

Src (送信元アドレス) (32)

Dst (宛先アドレス) (32)

IP Opt (オプション) - Padding

SR, RR, IPSec, etc.

Data パケット最大長

65536オクテット (64KB)

Page 23: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

IP通信

送信端末

宛先IP:172.17.0.4

172.17.0.3 / 255.255.255.248

同一NW?

同一NW

ARP request

Who is 172.17.0.4?

ARP reply

00:11:22:33:44:04

宛先MAC 00:11:22:33:44:04

宛先IP:172.18.0.4

172.17.0.3 / 28

同一NW?

異NW

172.18.0.4への経路

ルーティングテーブル

172.17.0.0/28 :直接

172.19.0.0/24: 172.17.0.14

default: 172.17.0.13

0.0.0.0 / 0

(0.0.0.0 / 0.0.0.0) 次ホップルータ

172.17.0.13 ARP request

Who is 172.17.0.13?

ARP reply

00:11:22:33:44:15

宛先MAC 00:11:22:33:44:15

③ ④

ARPテーブル

00:11:22:33:44:04 172.17.0.4

00:11:22:33:44:15 172.17.0.13

Page 24: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

fragment

Page 25: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

MTU

1500

MTU

620

MTU

1500

ヘッダ(20)

データ

(1480)

ヘッダ(20)

データ

(600)

ヘッダ(20)

データ

(600)

ヘッダ(20)

データ

(280)

MF=1

Off=0

MF=1

Off=75

MF=0

Off=150

ヘッダ(20)

データ

(600)

ヘッダ(20)

データ

(600)

ヘッダ(20)

データ

(280)

MF=1

Off=0

MF=1

Off=75

MF=0

Off=150

IPパケット フラグメント化

DF=0

MF=0

Off=0

25

Page 26: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

ICMP

Internet Control Message Protocol

第3層

IPでのエラー報告、制御メッセージ

Type 8bit, Code 8bit, Checksum 16bit

Page 27: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

ICMP

Message Type 0:Echo Reply

3:Destination Unreachable

4:Source Quench

5:Redirect

8:Echo Request

9:Router Advertisement

10:Router Selection

11:Time Exceeded

12:Parameter

13:Time Stamp Request

14:Time Stamp Reply

15:,16:, 17:,18:

Page 28: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

Unreachable

コード 0: Network

1: Host

2: Protocol

3: Port

4: DF

5: Source Route Failure

6: Network Unknown

7: Host Unknown

8: Isolated

9: Network Prohibited

10: Host Prohibited

13: Prohibited by filtering

Page 29: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

ICMP Message Type

0:Echo Reply

3:Destination Unreachable

8:Echo Request

11:Time Exceeded

ping 返信

ping コマンド

経路無し,ファイアウォール

MTU, その他

ループ防止

(traceroute コマンド)

C:¥Users¥admin>tracert www.google.co.jp

www.l.google.com [72.14.203.105] へのルートをトレースしています

経由するホップ数は最大 30 です:

1 <1 ms <1 ms <1 ms gateway.yoshida-lab.info.kochi-tech.ac.jp 172.21.39.1]

2 <1 ms <1 ms <1 ms 172.21.30.10

3 2 ms 2 ms 2 ms kut72001.info.kochi-tech.ac.jp [222.229.72.1]

4 2 ms 2 ms 2 ms 172.17.1.1

5 <1 ms <1 ms <1 ms kut65041.kochi-tech.ac.jp [222.229.65.41]

6 1 ms <1 ms <1 ms kut65025.kochi-tech.ac.jp [222.229.65.25]

7 <1 ms <1 ms <1 ms kut65017.kochi-tech.ac.jp [222.229.65.17]

8 1 ms <1 ms 1 ms kut65001.kochi-tech.ac.jp [222.229.65.1]

9 2 ms 1 ms 1 ms 218.100.15.75

10 14 ms 14 ms 14 ms 210.142.174.82

11 22 ms 14 ms 14 ms 61.195.56.81

12 14 ms 14 ms 14 ms 61.195.56.46

13 62 ms 15 ms 15 ms AS15169.ix.jpix.ad.jp [210.171.224.96]

14 16 ms 17 ms 15 ms 209.85.241.64

15 18 ms 17 ms 18 ms 209.85.255.36

16 47 ms 47 ms 53 ms 209.85.255.217

17 49 ms 47 ms 48 ms 209.85.250.101

18 48 ms 55 ms 48 ms 209.85.241.166

19 48 ms * 49 ms tx-in-f105.1e100.net [72.14.203.105]

トレースを完了しました。

C:¥Users¥admin>

29

Page 30: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

TOS

Page 31: 6 IP172.16.0.0/16 172.17.0.0/16 default ルーティングテーブル 経路表 パケット Dst: 172.16.3.5 Src: 172.21.22.1 宛先IPアドレスにより次の転送先ルータ

Order

ネットワークバイトオーダ

⇔ホストバイトオーダ

バイトオーダ

1 2 3 4 (ビッグエンディアン) 4 3 2 1 (リトルエンディアン)

ビットオーダ

LSB First: Ethernet

MSB First: FDDI