450 likes | 645 Views
IP Address. 岡村耕二. ユニキャスト. ブロードキャスト. マルチキャスト. IPv4 パケット. 0. 15. 31. IP Header Length. Version. TOS. IP Packet Length. Flag. Fragment Off-set. Identifier. Protocol. TTL. Header Check Sum. Source Address. Destination Address. Option. TCP/UDP Data. IPv4 パケット.
E N D
IP Address 岡村耕二
ユニキャスト 情報ネットワーク
ブロードキャスト 情報ネットワーク
マルチキャスト 情報ネットワーク
IPv4 パケット 0 15 31 IP Header Length Version TOS IP Packet Length Flag Fragment Off-set Identifier Protocol TTL Header Check Sum Source Address Destination Address Option TCP/UDP Data 情報ネットワーク
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パケットのうちの最後か否かを表す。 • オフセットは分割前のパケットの中でのデータの位置を表す。 情報ネットワーク
IPv4 パケット • TTL (Time To Live)は、ネットワーク上で通過可能なルータの数であり、一種のホップカウントとして利用される。ルータを通過する毎に一つずつ減らし、この値が0のパケットは配送せずに廃棄される。 • Protocol は上位のプロトコルの種類を表す。例えば、1ならICMP、6ならTCP、 17ならUDP。 • Checksum は、何らかの理由でヘッダ情報がおかしくなった場合にそれを検出する。 • Source address と Destination address は受信元アドレスと送信先アドレスを表す。 • Optionは、タイムスタンプや経路情報等の記録に利用される。 情報ネットワーク
IPアドレス • 九州大学内のサブネットマスクは基本的に、24ビット • ネットマスク 255.255.255.0 • 133.5.X.0 • ネットワーク識別子 • 133.5.X.255 • ブロードキャスト識別子 • 133.5.X.1 ~ 254 • ホスト識別子 情報ネットワーク
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 情報ネットワーク
クラス A,B,C クラスA 01000000101010000000101000100001 クラスB 10000000101010000000101000100001 クラスC 11000000101010000000101000100001 情報ネットワーク
クラス A クラスA 01000000101010000000101000100001 • ネットワークアドレス • 1.0.0.0 – 127.0.0.0 • ホストアドレス • 1.0.0.1 – 1.255.255.254 情報ネットワーク
クラス B クラスB 10000000101010000000101000100001 • ネットワークアドレス • 128.0.0.0 – 191.255.0.0 • ホストアドレス • 128.0.0.1 – 128.0.255.254 情報ネットワーク
クラス C クラスC 11000000101010000000101000100001 • ネットワークアドレス • 192.0.0.0 – 223.255.255.0 • ホストアドレス • 192.0.0.1 – 192.0.0.254 情報ネットワーク
クラスレス(Classless Inter-Domain Routing:CIDR) クラスC 11000000101010000000101000100001 クラスレス 11000000101010000000101000100001 192.168.10.33/22 情報ネットワーク
クラス D(マルチキャスト) クラスD 11100000101010000000101000100001 • ネットワークアドレス • 224.0.0.0 – 239.255.255.255 情報ネットワーク
IP アドレス 192.168.10.33 11000000101010000000101000100001 192.168.255.0 192.168.10.0 192.168.11.0 情報ネットワーク
ネットワークとホスト 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 情報ネットワーク
Netmask/Broadcast Address 192.168.10.0 1 3 2 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 情報ネットワーク
Netmask/Broadcast Address 192.168.255.0 192.168.255.1 11000000101010000000101000000001 255.255.255.252 11111111 1111111 1111111 111111 00 情報ネットワーク
まとめ • 32bit • ネットワーク長 • ネットワークアドレス (host部が全部0) • ネットワーク マスク (ネットワーク部が全部 1, host部が全部0) • ブロードキャストアドレス (host部が全部1) • Host アドレス 情報ネットワーク
管理プロトコル データ通信 Internet ICMP 相手のIPアドレスに届かない。 相手のトランスポートアドレス(IPアドレス+ポート番号)に届かない。 情報ネットワーク
管理プロトコル • 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 時間超過 • その他 情報ネットワーク
経路制御 #0 どっち? ・宛先アドレス ・次ルータ のテーブルを持ち、 宛先のパケットをどのインタフェースに 送信すればよいか決定する。 #1 情報ネットワーク
PC-A 192.168.1.0/24 PC-B #1 192.168.1.2 192.168.1.10 192.168.2.11 192.168.10.1 192.168.10.0/30 192.168.2.0/24 192.168.1.1 192.168.10.2 #2 #0 192.168.10.5 192.168.2.1 192.168.10.6 192.168.10.4/30 192.168.10.9 192.168.10.14 192.168.10.8/30 192.168.10.12/30 #3 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 192.168.10.13 Next-hop: 次ルータ そのルータに直接接続されているセグメントの いずれかのIPアドレスになる。 #0 Network next-hop 192.168.2.0/24 192.168.10.6 192.168.2.0/24 192.168.10.2 情報ネットワーク
PC-A 192.168.1.0/24 PC-B #1 192.168.1.2 192.168.1.10 192.168.2.11 192.168.10.1 192.168.10.0/30 192.168.2.0/24 192.168.1.1 192.168.10.2 #2 #0 192.168.10.5 192.168.2.1 192.168.10.6 192.168.10.4/30 192.168.10.9 192.168.10.14 192.168.10.8/30 • ICMP (Internet Control Management Protocol) • Echo Reply • TTL • 192.168.1.10 から 192.168.2.11 までに経由するルータを調べる。 • TTL=254 に設定して、192.168.2.11 に Echo Reply パケットを送る。 • ルータ#0 TTL が 255 になったので、配送をやめ、送信もとにエラーを返す。 • 192.168.1.10 は第1段のルータのIP address がわかる。 • TTL=253… 192.168.10.12/30 #3 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 192.168.10.13 Next-hop: 次ルータ そのルータに直接接続されているセグメントの いずれかのIPアドレスになる。 #0 Network next-hop 192.168.2.0/24 192.168.10.6 192.168.2.0/24 192.168.10.2 情報ネットワーク
PC-A 192.168.1.0/24 PC-B #1 192.168.1.2 192.168.1.10 192.168.2.11 192.168.10.1 192.168.10.0/30 192.168.2.0/24 192.168.1.1 192.168.10.2 #2 #0 192.168.10.5 192.168.2.1 192.168.10.6 192.168.10.4/30 192.168.10.9 192.168.10.14 192.168.10.8/30 192.168.10.12/30 #3 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 192.168.10.13 #0 Network next-hop 192.168.2.0/24 192.168.10.10 #3 Network next-hop 192.168.2.0/24 192.168.10.14 情報ネットワーク
経路表 アドレス 次ルータ 133.5.11.0 #R0 133.5.7.0 #R2 133.5.10.0 #R3 アドレス 次ルータ 0.0.0.0 #R0 アドレス 次ルータ 133.5.11.0 #R1 133.5.7.0 #R2 0.0.0.0 特別なあて先 #R2 #R0 133.5.7.0 #R1 アドレス 次ルータ 133.5.10.0 #R0 133.5.7.0 #R2 133.5.11.0 情報ネットワーク
マルチキャスト • すべての必要なホストに送信する • 必要でないどのホストにも送信しない • 他の通信形態 • ユニキャスト • ホストを唯一指定して送信する。 • ブロードキャスト • 必要、不必要関わらず、全てのホストに対して送信する。 情報ネットワーク
マルチキャスト • 同じデータを必要するいくつかのホストに送信する。 • ユニキャスト • ブロードキャスト • マルチキャスト 情報ネットワーク
IP マルチキャスト • ネットワーク層でマルチキャストを実現 • クラスDアドレス • 224.0.0.0 ~ 239.255.255.255 • グループ識別子 • グループに参加する • グループから離脱する • 同一データリンクではよく使われる。 • ネットワーク層の経路制御は非常に複雑(困難) • 実験から商用へ • IPv6でも本質的にはあまり変わらない 情報ネットワーク
IPv4 パケット 0 15 31 IP Header Length Version TOS IP Packet Length Flag Fragment Off-set Identifier Protocol TTL Header Check Sum Source Address Destination Address マルチキャストアドレス Option TCP/UDP Data 情報ネットワーク
マルチキャストの長所 • パケットの重複を防ぐ • CPU の浪費を防ぐ • 帯域の大きくなりがちなマルチメディア通信の通信量を減少できる • 時刻同期などにも用いられる 情報ネットワーク
マルチキャストの欠点 • 実現が困難 • 信頼性の確保が困難 • ヘテロな環境に向いていない • 広まっていないのでどこでも使えるというわけではない 情報ネットワーク
クラス D(マルチキャスト) クラスD 11100000101010000000101000100001 • ネットワークアドレス • 224.0.0.0 – 239.255.255.255 情報ネットワーク
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 情報ネットワーク
マルチキャストと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 情報ネットワーク
IPマルチキャストアーキテクチャ IGMP (Internet Group Management Protocol) IGMP インターネット マルチキャスト経路制御 IGMP 情報ネットワーク
IGMP(Internet Group Management Protocol) マルチキャストルータは、上流から伝わってきたグループアドレスに参加しているホストが配下のセグメントに存在しているか、IGMP によって、把握する。 マルチキャストに対応している全ての計算機は224.0.0.1 に必ず参加している。 • ルータは 224.0.0.1 を用いて、あるグループアドレスにホストが参加しているかどうか問い合わせる。 • 参加しているホストは、ランダムにタイマーをセットする。 • タイマーが切れたホストは 224.0.0.1 に応答する。 • 他のホストは 224.0.0.1 の応答を聞いて、タイマーのキャンセルをする。 情報ネットワーク
複雑なマルチキャスト経路制御 • AS内(IGP)とAS間(EGP)で異なる経路制御プロトコルを用いる • AS内 • DVMRP, PIM • AS間 • MBGP • グループ単位に送信木を作る。~ユニキャストの経路制御方式とは一般的に異なる。 情報ネットワーク
2つのモード • Dense Mode • 各セグメントに必ず1台は受信ホストが存在する確率の方が高いと仮定する。 • まず、全てのセグメントに送信する。 • 受信ホストが存在しないセグメントへの送信をやめる。 • DVMRP (Distance Vector Multicast Routing Protocol ) • Sparse Mode • 各セグメントに受信ホストが存在しない確率の方が高いと仮定する。 • 受信ホストは明示的に参加メッセージを送信者に送る。 • 送信者は参加メッセージを受けて受信者の存在するセグメントへの送信を始める。 • PIM (Protocol Independent Multicast ) 情報ネットワーク
高信頼性マルチキャスト • IP マルチキャストはUDPのみなので信頼性がない • トランスポート層より上位で信頼性の保証 • アプリケーション層実現のため汎用性がないなどの問題 • ただし実時間性はない 情報ネットワーク
なぜマルチキャストは普及していないか • 世の中にルータ装置が行き渡ってから開発された。 • マルチキャストに対応していないルータは多かった。 • DVMRP が先行した。 • ネットワークが非常に高価であった時代に Dense Mode のオーバーヘッドは大きすぎた。 • PIM/MBGP は複雑すぎて、サポートしているないルータが多い。 • なくても、致命的に困らない。 情報ネットワーク