Transcript IP Address

IP Address
岡村耕二
ユニキャスト
情報ネットワーク
2
ブロードキャスト
情報ネットワーク
3
マルチキャスト
情報ネットワーク
4
IPv4 パケット
0
15
Version
IP
Header
Length
TOS
TTL
IP Packet Length
Flag
Identifier
Protocol
31
Fragment Off-set
Header Check Sum
Source Address
Destination Address
Option
TCP/UDP Data
情報ネットワーク
5
IPv4 パケット
• Version は、IPのバージョンを表し、現在は4 次期は6。
• IP Header Length はIPのヘッダ長を32bit単位で表す。
• TOS (Type of Service) サービスタイプは、IPデータグラムのサービスの品
質を表すもので、優先度の指定や、少ない遅延経路、高信頼性、高ス
ループットの経路の要求等を表す。
• Packet LengthはIPパケット全体の長さを表す。
• ID, Flag, Fragment offset…これらはIPパケットをフラグメント化、つまりはよ
り小さな単位に分割する際に利用される。 IPよりも更に下位に有る層、つ
まり物理的なネットワーク層で、送信可能なパケットの最小単位がより小
さい場合がある。例えばethernetでは、最大1514bytesしか送れない。
従って、それより大きなIPパケットを送る場合には、それを分割して送る
必要がある。
– IDは分割する前のIPパケットを認識するために用いる。
– フラグは分割して良いか否かや分割したIPパケットのうちの最後か否かを表
す。
– オフセットは分割前のパケットの中でのデータの位置を表す。
情報ネットワーク
6
IPv4 パケット
• TTL (Time To Live)は、ネットワーク上で通過可能なルータの
数であり、一種のホップカウントとして利用される。ルータを
通過する毎に一つずつ減らし、この値が0のパケットは配送
せずに廃棄される。
• Protocol は上位のプロトコルの種類を表す。例えば、1なら
ICMP、6ならTCP、 17ならUDP。
• Checksum は、何らかの理由でヘッダ情報がおかしくなった
場合にそれを検出する。
• Source address と Destination address は受信元アドレスと送
信先アドレスを表す。
• Optionは、タイムスタンプや経路情報等の記録に利用され
る。
情報ネットワーク
7
IPアドレス
• 九州大学内のサブネットマスクは基本的に、
24ビット
– ネットマスク 255.255.255.0
• 133.5.X.0
– ネットワーク識別子
• 133.5.X.255
– ブロードキャスト識別子
• 133.5.X.1 ~ 254
– ホスト識別子
情報ネットワーク
8
IPアドレス
• 32ビット
• 133.5.1.2
– 133*256^3+5*256^2+1*256+2
– 2231697666
$ ping 2231697666
PING 2231697666 (133.5.1.2): 56 data bytes
64 bytes from 133.5.1.2: icmp_seq=0 ttl=249 time=106.0 ms
http://2231697666
情報ネットワーク
9
クラス A,B,C
クラスA
01000000101010000000101000100001
クラスB
10000000101010000000101000100001
クラスC
11000000101010000000101000100001
情報ネットワーク
10
クラス A
クラスA
01000000101010000000101000100001
•ネットワークアドレス
•1.0.0.0 – 127.0.0.0
•ホストアドレス
•1.0.0.1 – 1.255.255.254
情報ネットワーク
11
クラス B
クラスB
10000000101010000000101000100001
•ネットワークアドレス
•128.0.0.0 – 191.255.0.0
•ホストアドレス
•128.0.0.1 – 128.0.255.254
情報ネットワーク
12
クラス C
クラスC
11000000101010000000101000100001
•ネットワークアドレス
•192.0.0.0 – 223.255.255.0
•ホストアドレス
•192.0.0.1 – 192.0.0.254
情報ネットワーク
13
クラスレス
(Classless Inter-Domain Routing:CIDR)
クラスC
11000000101010000000101000100001
クラスレス
11000000101010000000101000100001
192.168.10.33/22
情報ネットワーク
14
クラス D(マルチキャスト)
クラスD
11100000101010000000101000100001
•ネットワークアドレス
•224.0.0.0 – 239.255.255.255
情報ネットワーク
15
IP アドレス
192.168.10.33
11000000101010000000101000100001
192.168.255.0
192.168.10.0
192.168.11.0
情報ネットワーク
16
ネットワークとホスト
192.168.255.0
192.168.10.0
192.168.11.0
192.168.10.33 11000000101010000000101000100001
192.168.11.10 11000000101010000000101100001010
192.168.255.1 11000000101010001111111100000001
情報ネットワーク
17
Netmask/Broadcast Address
192.168.10.0
1
2
3
Netmask= 255.255.255.0
11111111 1111111 1111111100000000
192.168.10.1
11000000101010000000101000000001
192.168.10.2
11000000101010000000101000000010
192.168.10.3
11000000101010000000101000000011
Broadcast 192.168.10.255
11000000101010000000101011111111
情報ネットワーク
18
Netmask/Broadcast Address
192.168.255.0
192.168.255.1 11000000101010000000101000000001
255.255.255.252 11111111 1111111 1111111 111111 00
情報ネットワーク
19
まとめ
•
•
•
•
32bit
ネットワーク長
ネットワークアドレス (host部が全部0)
ネットワーク マスク (ネットワーク部が全部 1,
host部が全部0)
• ブロードキャストアドレス (host部が全部1)
• Host アドレス
情報ネットワーク
20
管理プロトコル
データ通信
Internet
ICMP
相手のIPアドレスに届かない。
相手のトランスポートアドレス(IPアドレス+ポート番号)に届かない。
情報ネットワーク
21
管理プロトコル
•
ICMP
– Internet Control Management Protocol
– 送信したデータが届かなかった時、また何か障害があったときに利用されるプロトコル
•
•
Echo Reply、Echo Request
Destination Unreachable 宛先到達不可(宛先の相手が存在しなかった、もしく
は障害中)
–
–
–
–
–
–
–
–
•
•
•
Network Unreachable 、Host Unreachable
Protocol Unreachable 、Port Unreachable
Fragmentation Needed and Don‘t Fragment was Set Source Route Failed
Destination Network Unknown、Destination Host Unknown
Communication with Destination Network is Administratively Prohibited
Communication with Destination Host is Administratively Prohibited
Destination Network Unreachable for Type of Service
その他
Redirect ルート変更
Time Exceeded for a Datagram 時間超過
その他
情報ネットワーク
22
経路制御
#0
どっち?
・宛先アドレス
#1
・次ルータ
のテーブルを持ち、
宛先のパケットをどのインタフェースに
送信すればよいか決定する。
情報ネットワーク
23
PC-A
192.168.1.0/24
192.168.1.2
192.168.1.10
PC-B
#1
192.168.10.1
192.168.2.11
192.168.10.0/30
192.168.1.1
#0
192.168.2.0/24
#2
192.168.2.1
192.168.10.2
192.168.10.5
192.168.10.4/30 192.168.10.6
192.168.10.9
192.168.10.14
192.168.10.8/30
192.168.10.12/30
192.168.10.10
PC-A
Network next-hop
0.0.0.0 192.168.1.1
192.168.2.0/24 192.168.1.1
#0
Network
192.168.2.0/24
192.168.2.0/24
next-hop
192.168.10.6
192.168.10.2
#3
192.168.10.13
Next-hop: 次ルータ
そのルータに直接接続されているセグメントの
いずれかのIPアドレスになる。
情報ネットワーク
24
PC-A
192.168.1.0/24
192.168.1.2
192.168.1.10
PC-B
#1
192.168.10.1
192.168.2.11
192.168.10.0/30
192.168.1.1
#0
192.168.10.5
192.168.2.0/24
#2
192.168.2.1
192.168.10.2
192.168.10.4/30 192.168.10.6
192.168.10.9
192.168.10.14
192.168.10.8/30
ICMP (Internet Control
Management Protocol)
192.168.10.12/30
Echo Reply
#3
192.168.10.10
TTL
PC-A
192.168.10.13
192.168.1.10
から 192.168.2.11 までに経由するルータを調べる。
Network next-hop
0.0.0.0 192.168.1.1
1.192.168.2.0/24
TTL=254 に設定して、192.168.2.11
に Echo Reply パケットを送る。
192.168.1.1
Next-hop: 次ルータ
2. ルータ#0 TTL が 255 になったので、配送をやめ、送信もとにエラーを返す。
3.#0192.168.1.10 は第1段のルータのIP そのルータに直接接続されているセグメントの
address がわかる。
いずれかのIPアドレスになる。
4.Network
TTL=253…
next-hop
192.168.2.0/24
192.168.2.0/24
192.168.10.6
192.168.10.2
情報ネットワーク
25
PC-A
192.168.1.0/24
192.168.1.2
192.168.1.10
PC-B
#1
192.168.10.1
192.168.2.11
192.168.10.0/30
192.168.1.1
#0
192.168.2.0/24
#2
192.168.2.1
192.168.10.2
192.168.10.5
192.168.10.4/30 192.168.10.6
192.168.10.9
192.168.10.14
192.168.10.8/30
192.168.10.12/30
192.168.10.10
PC-A
Network next-hop
0.0.0.0 192.168.1.1
192.168.2.0/24 192.168.1.1
#0
Network
192.168.2.0/24
next-hop
192.168.10.10
#3
192.168.10.13
#3
Network
192.168.2.0/24
情報ネットワーク
next-hop
192.168.10.14
26
経路表
133.5.10.0
アドレス 次ルータ
#R3 133.5.11.0 #R0
133.5.7.0 #R2
アドレス 次ルータ
133.5.11.0 #R1
133.5.7.0 #R2
次ルータ
#R0
0.0.0.0 特別なあて先
#R2
#R0
133.5.7.0
#R1
133.5.11.0
アドレス
0.0.0.0
アドレス 次ルータ
133.5.10.0 #R0
133.5.7.0 #R2
情報ネットワーク
27
マルチキャスト
• すべての必要なホストに送信する
• 必要でないどのホストにも送信しない
• 他の通信形態
– ユニキャスト
• ホストを唯一指定して送信する。
– ブロードキャスト
• 必要、不必要関わらず、全てのホストに対して送信す
る。
情報ネットワーク
28
マルチキャスト
• 同じデータを必要するいくつかのホストに送
信する。
– ユニキャスト
– ブロードキャスト
– マルチキャスト
情報ネットワーク
29
IP マルチキャスト
• ネットワーク層でマルチキャストを実現
• クラスDアドレス
– 224.0.0.0 ~ 239.255.255.255
– グループ識別子
• グループに参加する
• グループから離脱する
•
•
•
•
同一データリンクではよく使われる。
ネットワーク層の経路制御は非常に複雑(困難)
実験から商用へ
IPv6でも本質的にはあまり変わらない
情報ネットワーク
30
IPv4 パケット
0
15
Version
IP
Header
Length
TOS
IP Packet Length
Flag
Identifier
TTL
31
Protocol
Fragment Off-set
Header Check Sum
Source Address
Destination Address
マルチキャストアドレス
Option
TCP/UDP Data
情報ネットワーク
31
マルチキャストの長所
• パケットの重複を防ぐ
• CPU の浪費を防ぐ
• 帯域の大きくなりがちなマルチメディア通信の
通信量を減少できる
• 時刻同期などにも用いられる
情報ネットワーク
32
マルチキャストの欠点
•
•
•
•
実現が困難
信頼性の確保が困難
ヘテロな環境に向いていない
広まっていないのでどこでも使えるというわけ
ではない
情報ネットワーク
33
クラス D(マルチキャスト)
クラスD
11100000101010000000101000100001
•ネットワークアドレス
•224.0.0.0 – 239.255.255.255
情報ネットワーク
34
IP マルチキャストとMACアドレス
MACマルチキャスト
0000 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
IP マルチキャストで用いられるMACマルチキャスト
0000 0001 0000 0000 1001 1110 0000 0000 0000 0000 0000 0000
25bit (01-00-5E)
23bit
クラスD
23bit
11100000000000000000000000000000
情報ネットワーク
28bit
35
マルチキャストとNIC
IP Multicast アドレス→ MAC アドレス
224.10.10.10 → 01-00-5E-0A-0A-0A
あるプログラム
が224.10.10.10
に参加
登録
受信する
NIC
NIC
01-00-5E-0A-0A-0A
情報ネットワーク
36
IPマルチキャストアーキテクチャ
IGMP
(Internet Group Management Protocol)
IGMP
マルチキャスト経路制御
インターネット
IGMP
情報ネットワーク
37
IGMP(Internet Group Management Protocol)
マルチキャストルータは、上流から
伝わってきたグループアドレスに参
加しているホストが配下のセグメン
トに存在しているか、IGMP によっ
て、把握する。
マルチキャストに対応している全て
の計算機は224.0.0.1 に必ず参加
している。
1. ルータは 224.0.0.1 を用いて、あるグループアドレスにホストが参加しているかどう
か問い合わせる。
2. 参加しているホストは、ランダムにタイマーをセットする。
3. タイマーが切れたホストは 224.0.0.1 に応答する。
4. 他のホストは 224.0.0.1 の応答を聞いて、タイマーのキャンセルをする。
情報ネットワーク
38
複雑なマルチキャスト経路制御
• AS内(IGP)とAS間(EGP)で異なる経路制御
プロトコルを用いる
• AS内
– DVMRP, PIM
• AS間
– MBGP
• グループ単位に送信木を作る。~ユニキャス
トの経路制御方式とは一般的に異なる。
情報ネットワーク
39
2つのモード
• Dense Mode
– 各セグメントに必ず1台は受信ホストが存在する確率の方が高いと仮
定する。
– まず、全てのセグメントに送信する。
– 受信ホストが存在しないセグメントへの送信をやめる。
– DVMRP (Distance Vector Multicast Routing Protocol )
• Sparse Mode
– 各セグメントに受信ホストが存在しない確率の方が高いと仮定する。
– 受信ホストは明示的に参加メッセージを送信者に送る。
– 送信者は参加メッセージを受けて受信者の存在するセグメントへの
送信を始める。
– PIM (Protocol Independent Multicast )
情報ネットワーク
40
高信頼性マルチキャスト
• IP マルチキャストはUDPのみなので信頼性
がない
• トランスポート層より上位で信頼性の保証
• アプリケーション層実現のため汎用性がない
などの問題
• ただし実時間性はない
情報ネットワーク
41
なぜマルチキャストは普及していないか
• 世の中にルータ装置が行き渡ってから開発された。
– マルチキャストに対応していないルータは多かった。
• DVMRP が先行した。
– ネットワークが非常に高価であった時代に Dense Mode
のオーバーヘッドは大きすぎた。
• PIM/MBGP は複雑すぎて、サポートしているないル
ータが多い。
• なくても、致命的に困らない。
情報ネットワーク
42