あるホストからあるグループに所属しているホストへパケットを送信する。
パケットを送信するホストは宛先のグループに所属していなくてもいい。
パケットを受信するにはそのパケットの宛先グループに所属していなければならない。
グループ内の各ホストにはそのグループのマルチキャストアドレス(224.0.0.100とか)が割り当てられる。
ホストを動的にマルチキャストグループへ追加・削除できる。
ホストは複数のグループに同時に所属することができる。
グループのメンバーシップ数に制限はない。
RIP/IGRP/OSPFなどの(ユニキャスト)ルーティングプロトコルと同様、
マルチキャストにもマルチキャスト・ルーティングプロトコルがある(PIMなど)。
マルチキャスト・ルーティングプロトコルが動作しているルータは、
ルーティングプロトコルのルーティングテーブルと同様の役割の、
マルチキャスト・ルーティングテーブル(フォワーディングテーブル)を持つ。
あるグループに所属しているルータはIGMPによって、
直接接続されているネットワーク内に同じグループのメンバホストが存在しているか調べる。
ホストはグループに参加したいときは、IGMPレポートメッセージを使う。
IGMP(インターネットグループ管理プロトコル):RFC1112
同一LAN上のホストとルータで使用される。
そのLAN上でホストがどのマルチキャストグループのメンバになっているかを追跡する。
IGMPはクラスDのIPアドレス(224.0.0.0〜239.255.255.255
第一オクテット目の上位4ビットが1110)を使用する。
224.0.0.0:どのマルチキャストグループにも割り当ててはいけない
224.0.0.1:LAN上のすべてのシステム(ホストやルータなど)
224.0.0.2:LAN上のすべてのルータ
PIM(Protocol-Indipendent Multicast)
ルータ間で使用され、どのマルチキャストパケットをルータ間、または直接接続のLANに転送するかを追跡。
ユニキャスト・ルーティングプロトコルには依存しない。
PIM-DM(PIM Dense Mode):
Dense Modeで動作するルータは、送信元からのマルチキャストを全てのセグメントに送信する。
それを受け取った各ルータは、そのマルチキャストに対するクライアントの存在を確認
(そのルータの先にPIMが動作するルータ又はそのグループのメンバが存在しなければ、
Prune「プルーニング」メッセージを返す)し、応答を返す。
その応答を元にルータはマルチキャスト配布ツリーを構築。
Pruneメッセージが返ってきたルータには、今後マルチキャストパケットは転送されない。
ルータはマルチキャストパケットの送信元毎に、マルチキャスト配布ツリーを構築する。
PIM-SM(PIM Sparse Mode):
送信元からのマルチキャストはrendezvous point(RP:ランデブーポイント)と呼ばれるルータに送信される。
その送信元はRPに登録され、この送信元からのマルチキャストパケットは共有配布ツリーに転送される。
各ルータはクライアントからの要求(PIM joinメッセージ)があった場合、その要求をRPに連絡して、
送信元とクライアントを結ぶマルチキャストの一時的な経路を作成。
その後、経路はすぐに送信元とクライアントを結ぶ最短経路に自動的に最適化される。
DVMRP(ディスタンスベクタ・マルチキャストルーティングプロトコル):
MBONE(インターネットのマルチキャスト・バックボーン)上で使用されるプロトコル。
Cisco IOSでは、PIMとDVMRPの対話をサポート。
CGMP(Cisco Group Management Protocol):
Cisco CatalystとCisco Router間で、IGMPと同様の機能を実現するために使用される。
グローバル・コンフィグレーションモード
ip multicast-routing <- IPマルチキャストルーティングを有効にする。
これをしないとルータはマルチキャストパケットを扱えない。
インタフェース・コンフィグレーションモード
ip pim dense-mode <-インタフェース上でPIM Dense Modeを有効にする
ip pim sparse-mode <-インタフェース上でPIM Sparse
Modeを有効にする
ip pim sparse-dense-mode <-インタフェース上でPIM
を有効にし、
グループに応じてSparseまたはDense Modeで動作するようにする。
参照:Cisco IOS 12.0 ネットワークプロトコル設定ガイド(ソフトバンク)/シスコネットプロ トレーナー通信