第5回 IP

第5回 IP
計算機ネットワーク
IP Internet Protocol


Layer 3 ・ネットワーク層
機能

アドレッシング (IPアドレス)




IP Reachable 到達可能 = インターネット
L2ではローカルのみ通信可
ルーティング
フラグメント
IPパケット
IPパケット
IP
ヘッダ
イーサネット
ヘッダ
ペイロード
FCS
ペイロード
4
イーサネットペイロード
MTU
14
1500
最大長=
Maximum Transfer Unit (最大転送単位)
パケット(packet)

PDU (Protocol Data Unit)
 データの転送単位


一度に送信するひとかたまり
IP : 65536 オクテット (64KB)

LANプロトコルに依存


Ethernet: IP パケット=1500オクテット
パケットの最大サイズ
PDUの呼称
Maximum Transfer Unit (MTU)
L2: フレーム
L3: パケット
L4: セグメント
Packet Structure of IPv4
32ビット(4オクテット)
20オク
テット
ペイロード
RFC791 1981/9
6
IPアドレスの構成


32ビット(IPv4), 128ビット(IPv6)
ネットワークアドレスとホストアドレス
ネットワーク部
ホスト部
192 . 168 . 1 .
x
192.168.1.1
Router
192.168.1.2
Router
a.b.c.d
192.168.1.3
132.112.128.4
192.168.1.127
x.y.z.w
132.112.128.1
IPアドレス体系

ネットワーク部+ホスト部




8ビット+24ビット (Class A)
16ビット+16ビット (Class B)
24ビット+8ビット (Class C)
ホスト部


All 0 -> ネットワークアドレス
All 1 -> ブロードキャストアドレス
IPアドレスのクラス

ネットワーク部+ホスト部





Class A (0xxxx….xxx)
Class B (10xxx….xxx)
Class C (110xx….xxx)
Class D (1110x….xxx)
Class E (1111x….xxx)
10.0.0.0
10.2.0.0
10.1.0.0
1つのネットワーク ⇒ 1つのネットワークアドレス
10.2.1.0
10.2.2.0
9
IPアドレスの管理

IANA

Internet Assigned Numbers Authority

RIR (レジストリ)

ARIN, RIPE, APNIC, LACNIC, AfriNIC
 JPNIC ⇒ プロバイダ・組織 ⇒ 個人
IPv4 アドレスの枯渇
2011年2月~4月
レジストリに在庫なし
ループバックアドレス
127.0.0.0/8
プライベートアドレス
10.0.0.0/8
172.(16~31).0.0/16
192.168.(0~255).0/24
リンクローカル (APIPA)
169.254.0.0/16
サブネット

ネットワーク部を延長


サブネットマスク
ホスト部から一部のビットを借りる
192.168.0.0 255.255.255.0
192.168.0.0 255.255.255.192
192.168.64.0
192.168.128.0
192.168.192.0
VLSM


Variable Length Subnet Mask
サブネットの切り方に自由度を持たす
CIDR


Classless Inter-Domain Routing
スーパーネット化


複数のネットワークを集約(アグリゲー
ション aggregation)
ルーティングテーブルの縮約
ブロードキャストアドレス

ホスト部+ネットワーク部

ネットワークAddr + All 1


All 1 + All 1 ( 255.255.255.255)


Limited broadcast
ネットワークAddr + サブネットAddr +
All1


Directed broadcast
Broadcast to specified subet
ネットワークAddr + All 1 + All 1

Broadcast to all subnet
ルーティング

宛先IPアドレスにより次の転送先ルー
タ(次ホップ)を決定
10.0.3.2
10.0.3.1
10.0.1.2
10.0.1.1
10.0.2.1
10.0.2.2
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
10.0.1.0/24
directly connected
0.0.0.0/0
10.0.1.2
同一ネットワーク内通信

アドレス解決



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
ARPテーブル



MACアドレスとIPアドレスの組
無通信300秒で破棄
コマンド –



arp -a (arp -na)
arp -s
arp -d
ルーティングテーブル

宛先IPネットワークアドレスと次ホッ
プIPアドレスの組



必須情報:宛先ネットワークアドレス、
ネットマスク(プレフィックス)、次ホ
ップルータ(ゲートウェイ)
インターフェース名、MACアドレス名…
netstat -r (netstat -rn)
IPパケット

Packet Format

バージョン(4)-HLEN(4)-TOS(8)-LEN(16)



バージョン 0100 HLEN:32ビット単位
LEN バイト単位
ID(16)-flag(3)-flagment off(13)


ID:パケット識別番号
MF, DF, flagment offset (バイト単位)
IPパケット

Packet Format

TTL(8)-Protocol(8)-HChk(16)


TTL 最大255ホップ
Protocol (1:icmp, 6:TCP, 17:UDP etc.)

/etc/protocols
IPパケット

Packet Format



Src (32)
Dst (32)
IP Opt (オプション) - Padding



SR, RR, IPSec, etc.
Data
最大長64KB
IP通信
⑤
宛先MAC 00:11:22:33:44:15
③
宛先MAC 00:11:22:33:44:04
宛先IP:172.17.0.4
宛先IP:172.18.0.4
①
同一NW?
172.17.0.3 / 28
異NW
②
172.18.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
ルーティング

宛先IPアドレスにより次の転送先ルー
タ(次ホップ)を決定
10.0.3.2
10.0.3.1
10.0.1.2
10.0.1.1
10.0.2.1
10.0.2.2
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
10.0.1.0/24
directly connected
0.0.0.0/0
10.0.1.2
同一ネットワーク内通信

アドレス解決



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
ARPテーブル



MACアドレスとIPアドレスの組
無通信300秒で破棄
コマンド –



arp -a (arp -na)
arp -s
arp -d
ルーティングテーブル

宛先IPネットワークアドレスと次ホッ
プIPアドレスの組



必須情報:宛先ネットワークアドレス、
ネットマスク(プレフィックス)、次ホ
ップルータ(ゲートウェイ)
インターフェース名、MACアドレス名…
netstat -r (netstat -rn)
IPパケット

Packet Format

バージョン(4)-HLEN(4)-TOS(8)-LEN(16)



バージョン 0100 HLEN:32ビット単位
LEN バイト単位
ID(16)-flag(3)-flagment off(13)


ID:パケット識別番号
MF, DF, flagment offset (バイト単位)
IPパケット

Packet Format

TTL(8)-Protocol(8)-HChk(16)


TTL 最大255ホップ
Protocol (1:icmp, 6:TCP, 17:UDP etc.)

/etc/protocols
IPパケット

Packet Format



Src (32)
Dst (32)
IP Opt (オプション) - Padding



SR, RR, IPSec, etc.
Data
最大長64KB
Packet Structure
RFC791 1981/9
TOS
fragment
Order
バイトオーダ
1 2 3 4 (ビッグエンディアン)
4 3 2 1 (リトルエンディアン)
ネットワークバイトオーダ
⇔ホストバイトオーダ
ビットオーダ
LSB First: Ethernet
MSB First: FDDI
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