講義資料

第6回 IP
計算機ネットワーク
2
前回まで

Ethernet


LAN内通信
MACアドレス
(32:43:55 : BA:F5:DE)
ベンダ(OUI)
IPアドレス

IPアドレス
( 187.45.147.154 )
network
組織
IPアドレス: 187.45.147.154
どこの組織?
どのネットワーク?
NIC
host
端末
ネットワークアドレス
ネットワーク部 (ホスト部⇒All 0)
IPアドレスとネットマスク
の AND 演算
IPアドレス : 187.45.147.154
ネットマスク: 255.255.240.0
ネットワークアドレス: 187.45.144.0
3
IP ルーティング (routing)

LAN間接続
パケット
C通信業者
Hub
A大
Hub
ルーティング
ルータ
経路を決定
パケット転送
Network間の接続
B社
Hub
ルーティングテーブル

宛先IPアドレスにより次の転送先ルータ
(次ホップ)を決定
172.17.0.0/16
パケット
172.21.0.0/16
Dst: 172.16.3.5
Src: 172.21.22.1
10.0.1.2
10.0.1.1
10.0.3.2
10.0.3.1
10.0.2.1
172.16.0.0/16
10.0.2.2
directly connected
ルーティングテーブル 10.0.1.0/24
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
default 0.0.0.0/0
10.0.1.2
5
経路の決定

ネットワーク単位 = 組織単位
ネットワークアドレス
131.112.128.230

ネットマスク
131.112.0.0/16 (255.255.0.0)
(131.112.0.0~131.112.255.255)
組織内部 ⇒ サブネット化
(サブ)ネットワークアドレス
131.112.128.230
(サブ)ネットマスク
131.112.128.192/26 (255.255.255.192)
(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
default
222.229.72.1
127.0.0.1
link#4
192.168.0.0/24
link#2
222.229.72.0/24 link#1
Flags
UGS
UH
U
U
Refs
Use Netif Expire
2 34669629 em0
0
918 lo0
5 9807611 em1
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
9
CIDR

Classless Inter-Domain Routing (サイダー)


ルーティングテーブル増大
同一宛先で隣り合う経路を集約


Aggregation (アグリゲーション)
スーパーネット
ルーティングテーブルの縮約
インターネットルータ ルーティングテーブル エントリ数
出典:bgp.potaroo.net
10
11
インターネットルータ ルーティングテーブル エントリ数
出典:bgp.potaroo.net
12
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
222.229.64.0 255.255.248.0 次ホップルータ
13
動的ルーティング

ダイナミックルーティング


ルータ間でルーティング情報交換
経路の出現・消失へ対応
ルーティングプロトコル
RIP (v1, v2)
小規模内部向け
OSPF
大規模内部
BGP4
インターネット
ルーテッド
IP
内部:同じ組織
(同一管理下のネットワーク)
AS (Autonomous System) 自律システム
内部(IGP) =RIP, OSPF (AS内ルーティング)
外部(EGP) = BGP4 (AS 間ルーティング)
同一ネットワーク内通信
Ethernet

アドレス解決



ARP (Address Resolution Protocol)
IPアドレス→MACアドレス
L3→L2
ARP: イーサネットフレーム

ARP Request (Src->broadcast)



送信元IP・送信元MAC・宛先IP
宛先MAC:FF:FF:FF:FF:FF:FF
ARP Reply (Dst -> Src)

送信元IP・MAC・宛先IP・MAC
ARPテーブル


MACアドレスとIPアドレスの組
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
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
4
フラグメント関係
ヘッダ長(×4 oct.) 優先(0)
パケット長(~65536 oct.)
送信元IP
宛先IP
packet ID
TTL
上位(TCP, UDP, etc.)
ヘッダ・チェックサム
4オクテット単位
RFC791 1981/9
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
21
IPパケット

ヘッダチェックサム


ヘッダのみのチェック
ペイロード
⇒ チェックされない
 データ:保障されない
他のレイヤーの
プロトコルに任せる
Ethernet
UDP, TCP, etc.
IPパケット

Packet Format

Src (送信元アドレス) (32)
Dst (宛先アドレス) (32)

IP Opt (オプション) - Padding



SR, RR, IPSec, etc.
Data
パケット最大長
65536オクテット (64KB)
IP通信
⑤
宛先MAC 00:11:22:33:44:15
③
宛先MAC 00:11:22:33:44:04
宛先IP:172.18.0.4
①
同一NW?
172.17.0.3 / 28
異NW
②
172.18.0.4への経路
③
宛先IP:172.17.0.4
①
同一NW?
送信端末 172.17.0.3 / 255.255.255.248
ルーティングテーブル
172.17.0.0/28 :直接
172.19.0.0/24: 172.17.0.14
default: 172.17.0.13
同一NW
②
ARP request
Who is 172.17.0.4?
ARP reply
00:11:22:33:44:04
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テーブル
ARP reply
00:11:22:33:44:04 172.17.0.4
00:11:22:33:44:15
00:11:22:33:44:15 172.17.0.13
fragment
25
MTU
1500
IPパケット
ヘッダ(20)
データ
(1480)
DF=0
MF=0
Off=0
MTU
620
MTU
1500
フラグメント化
ヘッダ(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
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
29
C:¥Users¥admin>tracert www.google.co.jp
www.l.google.com [72.14.203.105] へのルートをトレースしています
経由するホップ数は最大 30 です:
ICMP

1 <1 ms <1 ms <1 ms gateway.yoshida-lab.info.kochi-tech.ac.jp 172.21.39.1]
Message
Type
2 <1 ms <1 ms <1 ms 172.21.30.10




3 2 Reply
ms 2 ms 2 ms kut72001.info.kochi-tech.ac.jp
ping 返信 [222.229.72.1]
0:Echo
4 2 ms 2 ms 2 ms 172.17.1.1
3:Destination
Unreachable
経路無し,ファイアウォール
5 <1 ms <1
ms <1 ms kut65041.kochi-tech.ac.jp
[222.229.65.41]
6 1 Request
ms <1 ms <1 ms kut65025.kochi-tech.ac.jp
[222.229.65.25]
MTU, その他
8:Echo
7 <1 ms <1 ms <1 ms kut65017.kochi-tech.ac.jp [222.229.65.17]
ping コマンド
11:Time
Exceeded
8 1 ms
<1 ms 1 ms kut65001.kochi-tech.ac.jp [222.229.65.1]
9
10
11
12
13
14
15
16
17
18
19
2 ms 1 ms 1 ms 218.100.15.75
ループ防止
14 ms 14 ms 14 ms 210.142.174.82
22 ms 14 ms 14 ms 61.195.56.81
(traceroute コマンド)
14 ms 14 ms 14 ms 61.195.56.46
62 ms 15 ms 15 ms AS15169.ix.jpix.ad.jp [210.171.224.96]
16 ms 17 ms 15 ms 209.85.241.64
18 ms 17 ms 18 ms 209.85.255.36
47 ms 47 ms 53 ms 209.85.255.217
49 ms 47 ms 48 ms 209.85.250.101
48 ms 55 ms 48 ms 209.85.241.166
48 ms *
49 ms tx-in-f105.1e100.net [72.14.203.105]
トレースを完了しました。
C:¥Users¥admin>
TOS
Order
バイトオーダ
1 2 3 4 (ビッグエンディアン)
4 3 2 1 (リトルエンディアン)
ネットワークバイトオーダ
⇔ホストバイトオーダ
ビットオーダ
LSB First: Ethernet
MSB First: FDDI