第6回 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
どのネットワーク?
IP ルーティング (routing)
LAN間接続
3
Hub
Hub
Hub
ルータ
ルーティング
A大
B社
C通信業者
経路を決定
パケット転送
パケット
Network間の接続
ルーティングテーブル
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アドレスにより次の転送先ルータ(次ホップ)を決定
経路の決定
ネットワーク単位 = 組織単位
組織内部 ⇒ サブネット化
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)
ルーティング設定
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
ルーティングテーブル
組
宛先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 へ転送
ルーティングテーブル
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
CIDR
Classless Inter-Domain Routing (サイダー)
ルーティングテーブル増大
同一宛先で隣り合う経路を集約
Aggregation (アグリゲーション)
スーパーネット
ルーティングテーブルの縮約
9
10
インターネットルータ ルーティングテーブル エントリ数
出典:bgp.potaroo.net
11
インターネットルータ ルーティングテーブル エントリ数
出典:bgp.potaroo.net
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 次ホップルータ
動的ルーティング
ダイナミックルーティング
ルータ間でルーティング情報交換
経路の出現・消失へ対応
13
ルーティングプロトコル
RIP (v1, v2) 小規模内部向け
OSPF 大規模内部
BGP4 インターネット
内部(IGP) =RIP, OSPF (AS内ルーティング)
外部(EGP) = BGP4 (AS 間ルーティング)
内部:同じ組織
(同一管理下のネットワーク)
AS (Autonomous System) 自律システム
ルーテッド
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
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通信する端末
IP Packet
RFC791 1981/9
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 (バイト単位)
IP Packet
RFC791 1981/9
4 ヘッダ長(×4 oct.) 優先(0) パケット長(~65536 oct.)
packet ID
フラグメント関係
TTL 上位(TCP, UDP, etc.) ヘッダ・チェックサム
送信元IP
宛先IP
4オクテット単位
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
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
IPパケット
ヘッダチェックサム
ヘッダのみのチェック
ペイロード
⇒ チェックされない
データ:保障されない
21
他のレイヤーの
プロトコルに任せる
Ethernet
UDP, TCP, etc.
IPパケット
Packet Format
Src (送信元アドレス) (32)
Dst (宛先アドレス) (32)
IP Opt (オプション) - Padding
SR, RR, IPSec, etc.
Data パケット最大長
65536オクテット (64KB)
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
fragment
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
ICMP
Internet Control Message Protocol
第3層
IPでのエラー報告、制御メッセージ
Type 8bit, Code 8bit, Checksum 16bit
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:
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
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
TOS
Order
ネットワークバイトオーダ
⇔ホストバイトオーダ
バイトオーダ
1 2 3 4 (ビッグエンディアン) 4 3 2 1 (リトルエンディアン)
ビットオーダ
LSB First: Ethernet
MSB First: FDDI