第
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)ルーティング設定
6IPパケット
「宛先
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 (アグリゲーション)
スーパーネット
ルーティングテーブルの縮約
910
インターネットルータ
ルーティングテーブル エントリ数
11
インターネットルータ
ルーティングテーブル エントリ数
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 Packet
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.13MTU
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
25ICMP
Internet Control Message Protocol
第
3層
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:
Unreachable
コード
0: Network
1: Host
2: Protocol
3: Port
4: DF