Ethernet パケットの配送

マルチキャスト

マルチキャスト とは、 特定のノードのグループに対してパケットを送る方式を指す。 送信先MACアドレスには、 MACアドレスの先頭バイトの最下位ビットが "1" であるマルチキャストアドレスを指定する。

マルチキャストアドレスのフォーマット
マルチキャストアドレスのフォーマット

マルチキャストは、 ストリーミングの配信やネットワーク機器どうしの特別な通信で利用される。 下の図はマルチキャストパケットの例だ。 "00:60:FD:EE:49:B3" のアドレスから、 マルチキャストアドレス "01:80:C2:00:00:00" へパケットを送っている。

マルチキャストパケットの例
multicast.enc
マルチキャストパケットのデコード結果

マルチキャストで指定されるアドレスは用途ごとに決まっている。 ブリッジやスイッチの中にはパケットが通る経路がループしないように制御する、 STP (Spanning Tree Protocol) という機能を備えたものがある。 "01:80:C2:00:00:00" は、 スイッチどうしはSTP 機能実現のために BPDU (Bridge Protocol Data Unit) データを交換するときに使うマルチキャストアドレスである。

割り当て済みのマルチキャストアドレスを知りたければ、 IANA の Ethernet Numbers のページを訪ねてみよう。

BPDU パケットがマルチキャストされると、 STP (Spanning Tree Protocol) 機能が有効になっているネットワーク機器だけが STP のプロトコルスタックへ渡して処理する。 STP 機能が無効なネットワーク機器は BPDU パケットを破棄する。 結果として、 STP 機能が有効な機器にだけが BPDU のマルチキャストパケットを受け取ることになる(下の図)。

マルチキャストパケットの配送の仕組み
マルチキャストパケットの配送の仕組み