マルチキャストルーティングその2
目次
ユニキャストルーティングでは・・・
マルチキャストルーティングを考える前に、まず、普通のユニキャストルーティングについて振り返ります。
ユニキャストルーティングでは、ルータにやってきたIPパケットの送信先IPアドレスからルータのルーティングテールを参照して、次に転送すべきルータ(ネクストホップ)を決定して、適切なインタフェースからIPパケットを出力します。このとき、当たり前の話なのですが、出力インタフェースは「ひとつ」だけです。
たとえば、次の図でホストAからホストBへとユニキャストの通信を行うとき、その経路上のルータでは、IPパケットを出力するインタフェースはひとつだけですね。ルータAでは「S0/0」インタフェース、ルータBでは「S0/1」インタフェース、ルータCでは「E0/0」インタフェースを出力インタフェースとしてIPパケットの中継を行います。
ユニキャストは、もともと1対1の通信なわけですから、ルータがユニキャストIPパケットをルーティングするときに出力インタフェースがひとつなのは、すごく当たり前の話です。しかし、これがマルチキャストIPパケットのルーティングでは、話が違ってきます。
マルチキャストのルーティングでは・・・
同じネットワークで、次のようのホストAがSenderでホストBがReceiverだとします。このときの各ルータの出力インタフェースは、さっきのユニキャストの場合と同じく、
ルータAのS0/0→ルータBのS0/1→ルータCのE0/0
になります。
ここで、新しくホストDもReceiverとなりました。すると、各ルータのマルチキャストIPパケットの出力インタフェースは次のようになります。
ルータAのS0/0→ ルータBのS0/1→ルータCのE0/0
ルータBのS0/2→ルータDのE0/0
ルータBで出力インタフェースが2つになっています。
この図からわかるようにマルチキャストルーティングでは、IPパケットの出力インタフェースはひとつとは限りません。Receiverの位置に応じてルータは、マルチキャストパケットを複製して、複数のインタフェースから出力することになります。
ちょうど図の赤い線で示したマルチキャストパケットの経路は、Receiverの存在によって木が枝をのばしていくようなイメージです。このことから、マルチキャストパケットの経路をディストリビューション(配布)ツリーと呼びます。
ディストリビューションツリーを作るために、ルータ同士でやりとりするプロトコルがマルチキャストルーティングプロトコルです。マルチキャストルーティングプロトコルとして、現在一般的に使われているのがPIM(Protocol Independent Multicast)です。
ディストリビューションツリーは、Receiverの存在によって変化していくものですから、Receiverの存在を管理するIGMP(Internet Group Management Protocol)と密接な関係があります。
マルチキャストルーティングとは?
マルチキャストルーティングについてまとめると、次の2つの機能になります。
- マルチキャストルーティングプロトコルによるディストリビューションツリーの作成・維持
- ディストリビューションツリーに従って、マルチキャストのパケットを複製し、適切なインタフェースに出力する
「マルチキャストルーティングってなに?」って聞かれたら、この2つを答えてあげましょう!!