IGMP(Internet Group Management Protocol)
更新日:
用語解説
IPv4ホストが同一リンク上のマルチキャストルータへ受信したいマルチキャストグループを通知し、ルータがそのリンクへ転送すべきマルチキャスト通信を判断するためのネットワーク層制御プロトコルです。IPv6では対応する役割をMLDが担います。
■ 試験で押さえるポイント
ルータはQueryを送って受信希望を確認し、ホストはMembership Reportでグループ参加状態を報告します。離脱や受信状態の変化も通知し、一定時間応答がなければルータはそのリンクに受信者がいないと判断できます。
IGMPはホストと直結マルチキャストルータ間のメンバーシップ管理を行います。ルータ同士が送信元から受信者側まで配信木を構築するPIM等のマルチキャストルーティングプロトコルとは役割が異なります。
IGMPv1は基本的な参加報告、IGMPv2は明示的なLeaveとグループ固有Query等を追加しました。IGMPv3は特定送信元を含めるINCLUDE、又は除外するEXCLUDEという送信元フィルタを扱い、Source-Specific Multicastを支援します。
IGMPメッセージはIPv4パケットとして同一リンク内で処理され、通常のTCP又はUDPポート番号は使いません。「マルチキャスト動画のデータを運ぶプロトコル」ではなく、受信希望を制御するプロトコルです。
L2スイッチのIGMP snoopingはIGMPメッセージを観察し、受信者のいるポートだけへマルチキャストフレームを転送します。これはスイッチがIGMPルータになることとは異なり、querier不在や情報期限切れ時の動作を設計します。
メンバーシップは受信許可・認証を意味しません。許可されていない参加、偽Report、帯域消費又は送信元詐称に備え、境界フィルタ、送信元制御、認証付きアプリケーション及び監視を併用します。
障害時は受信端末のReport、ルータのグループ・送信元状態、querier、PIM等の上流経路及びスイッチのsnooping表を分けて確認します。IGMP参加が見えても上流からデータが届く保証はありません。
■ 過去問での着眼点
IGMPはIPv4ホストと同一リンク上のマルチキャストルータの間で受信グループを管理し、ルータ間の配信経路を作るプロトコルではありません。IGMPv3ではグループだけでなく送信元を指定・除外でき、IPv6で同じ役割を担うのはMLDです。IGMPはメンバーシップ管理、PIM等はルータ間経路制御という分担を区別します。
例: 端末が239.1.1.1の配信を受信するとReportを送り、ルータはそのLANへ配信を転送します。IGMP snooping対応スイッチはReportを見たポートへ絞れますが、上流ルータに配信木がなければ映像データは届きません。