ネットワーク(12)
broadcast and multicast
IP Address の種類
- unicast --- 単一のホストへ送る。
- multicast --- 特定のグループに属している複数のホストに送る。
- broadcast --- ケーブル上の全てのホストに送る。
Fig.12.1 フレーム受信時のフィルタリング
↑配信
UDP → 破棄
↑配信
IP → 破棄
↑配信
デバイス・ドライバ → 破棄
↑配信
ネットワーク・インターフェイス・カード → 破棄
↑配信 (ケーブル上をながれる全てのフレーム)
Ethernet
Ethernetでは multicast addressの最上位バイトの最下位ビットが 1 である
(01:00:00:00:00:00)。
Ethernet broadcast は ff:ff:ff:ff:ff:ff なので multicast addressの
一種だとみなしてもよい。
UDP の broadcast は、関係のないホストにも負荷をかける
(UDP層まで受けとられたのち対応するポートが使われていないという
理由で廃棄されるので)。
→ マルチキャストを使う利点(関係のないホストに負担をかけない)
broadcast
limited broadcast address
- 255.255.255.255
- 自分のIPアドレスやsubnet maskを知らないときに、
それを得るための手段として使うbroadcast address
- 同一ケーブル内にだけ送られる(ルータから転送されない)
- BSDの実装では、最初のネットワークインターフェイスへの
ブロードキャストへの別名(alias)として扱う。
接続されたネットワークインターフェイス全てに送り出すわけではない。
net direct broadcast
『ネット部(subnetはない)』以外が全て1のIP Address。
(例) 133.99/16 における 133.99.255.255
subnet direct broadcast
『subnet部を含むネット部』以外が全て1のIP Address。
(例) 133.99.128/24 における 133.99.128.255
all subnet direct broadcast
『subnet部を含まないネット部』以外が全て1のIP Address。
ルータから転送される(転送しない設定もできる)。
(例) 133.99.128/24 における 133.99.255.255
multicast
- 複数の宛先への配信
- クライアントによるサーバへの要求
Class D: 1110.... ........ ........ ........
|<--- multicast group ID ---->| 28bits
- multicast group address --- 1110 + multicast group ID(28bits), (範囲) 224.0.0.0 - 239.255.255.255
- host group ---
ある IP multicast address を受け取るホストの集合
- permanent host group ---
IANA (Internet Assigned Numbers Authority) によって
well known address として割り当てられている host group
(multicastのアドレスは固定だが、メンバーは変わることに注意).
(例)
- 224.0.0.1 --- このサブネットの全てのシステム (教科書p.199の値は間違い)
- 224.0.0.2 --- このサブネットの全てのルータ
- 224.0.0.9 --- RIP2ルータ
multicast group addressから Ethernet Addressへの変換
Internet Multicast に使われるEthernet Address の範囲( 01:00:5e:00:00:00 --- 01:00:5e:7f:ff:ff )
Ethernet Address 48bits のうち 23bits が自由に決められるので、
Multicast Group ID の下位 23bits をコピーして使う。
5bits分は利用されないので、32種類の異なるmulticast group idが
同じ Ethernet Address にマッピングされる。
<------- 23bits -------->
1110YYYY YXXXXXXX XXXXXXXX XXXXXXXX IP Address
||||||| |||||||| |||||||| (copy)
00000001 00000000 01011110 0XXXXXXX XXXXXXXX XXXXXXXX Ethernet Address
「multicastに参加する」ホストは、multicast frameを受信するように
設定しておかなくてはならない。
multicast router が、与えられた物理ネットワーク上に特定の
multicast groupに属するホストがいるかどうかを知るための
プロトコル→ Internet Group Management Protocol (IGMP)