マルチキャストを有効にする方法
(1)送信元(239.1.1.1)と同一セグメント
・ブロードキャストパケットが届くので、特に設定はいらない。アプリケーション側が勝手に処理する。
・同一セグメントにはマルチキャストといっても、ブロードキャストと同じ処理になる。(※ここは仕方がない。マルチキャストは、参加した端末のあるルータを選んで送信することができるが、そのルータから先の端末へはブロードキャストと同様になる)

(2)送信元(239.1.1.1)と別セグメントの場合
・ルータでマルチキャストを有効にする。
・端末では、239.1.1.1からのマルチキャストを受信したいことをルータに告げる。(IGMPを利用)
・ルータが複数ある場合には、ルータ間でのマルチキャストのやり取りを行う。(PIMを利用)
・実際のマルチキャストの通信はマルチキャストのプロトコルであるPIMを利用する。

マルチキャストプロトコル
代表的なものにはPIM(Protocol Independent Multicastがあります。それ以外には、DVMRPなどがある。
大きく2つの種類があります。
(1)dense(密な)モード
言葉のとおり、密な環境で利用する。企業内LANでの利用をイメージすればよい。
企業内LANは帯域が広いので、すべてのルータにマルチキャストパケットを送りつける。その後、不要なルータからはプルーニング(prune=余分なものを除く)メッセージを受け取り、そのルータを除外する。

(2)sparse(希薄な)モード
言葉のとおり、希薄な環境で利用する。インターネットの世界やWANをイメージすればよい。
インターネットの世界は帯域が狭いので、Denseモードのように全ルータにに送りつけていては、帯域が足らない。
そこで、ランデブーポイント(RP)を設置し、RPまで送信する。そこからはツリーが作成される。
※ランデブーとはフランス語rendez-vous、「待ち合わせ場所」の意味。
送信者からRPへ向かって作成される”送信元ツリー”と受信者からRPへ向かって作成される”共有ツリー”が待ち合わせ場所(rendez-vous)にて落ち合うことが語源。

◆5.Q&A
(1)複数のルータがある場合、端末(PC)はどのルータと処理をする?
同じグループ内でIPアドレスが大きいほうが代表ルータが選出されます。PCは代表ルータと通信します。

(2)端末からIGMP参加メッセージを送る方法は?
通常はアプリケーションが自動で実施する。
フリーソフトでもいくつかある。

(3)マルチキャストはTCP?UDP?
UDPです。TCPで使う3wayハンドシェークが行えません。

(4)マルチキャストの設定はデフォルトで有効?
ルータで、デフォルトは無効になっている。
つまり、インターネットでは、デフォルトのルータでは、マルチキャストが無効になっているので、使えない。
IP-VPNサービスにおいても、マルチキャストが使えるサービスもあれば、利用できないサービスもある。その場合、広域イーサなどのL2サービスを利用することも選択肢ですね。

設定メモ
IGMP Snoopingはマルチキャストを利用するL2SWに設定し、有効にする。
マルチキャストを有効にしないSWでは無効にする。

具体的には、L3SWの場合、Vlan単位でip pim dense-mode
L2は全体にigmp-snooping、Vlan単位でigmp-snooping enable