ルータを介したマルチキャストの場合
目次
ルータを介した場合
これまで、マルチキャストについて、
ユニキャスト、ブロードキャストとの比較
複数のあて先に対して同じデータを送りたいときには、マルチキャストが効果的であること
マルチキャストアドレッシング(マルチキャストなアドレス)
クラスDのIPマルチキャストアドレスに対応するマルチキャストMACアドレスがあること
について解説してきました。
このときに例をあげたのは、ビデオサーバ(Sender)と受信者(Receiver)が同じネットワークにいるという状況でした。でも、現実はあんまりそんなことありませんよね?SenderとReceiverがルータを介して離れたネットワーク上にいるという状況の方が多いでしょう。
今回からは、ルータを介したマルチキャスト通信について解説します。
ルータはマルチキャストを通さない
まずは、ごく簡単にSenderとReceiverの間にルータが1台だけあるというネットワークを例にとります。わかりやすくバス型トポロジのネットワークとしています。
ビデオサーバ(Sender)から送信されたマルチキャストをルータが受け取ります。でも、ルータはLANインタフェースでブロードキャストドメインを分けます。つまり、デフォルトではブロードキャスト、マルチキャストはルータを超えることができません。
マルチキャストルーティングを有効にしたら
マルチキャストがルータを超えるようにするためには、マルチキャストルーティングを有効にする必要があります。
じゃ、
「マルチキャストルーティングを有効にしました!」
それだけでいいのか?というと、そんなに簡単ではありません。
ルータは、いくつもインタフェースを持っているものです。そのインタフェースのうち、どのインタフェースにマルチキャストパケットをルーティングすればいいのかということがわからないとダメです。
言い換えると、
「どのインタフェースの先にルーティングしようとするマルチキャストパケットを受け取るReceiverがいるの?」
ということがわかっていないといけません。
ルータがどのインタフェースの先にマルチキャストグループ(Receiver)がいるのかを知るためのプロトコルがIGMP(Internet Group Management Protocol)です。IGMPによってルータはインタフェースごとのマルチキャストグループを管理し、どのインタフェースの先にReceiverがいるのかを判断することができるようになります。