インターネットグループ管理プロトコル(IGMP)は、ホストと隣接するマルチキャストルーターがIPマルチキャストグループのメンバーシップを管理するために用いるIPv4プロトコルです。簡単に言えば、ローカルネットワークに対してどの機器が特定のマルチキャストストリームのトラフィックを受信したいか、また不要になったかを通知する役割を持ちます。本プロトコルはIETFによって定義されており、現在のインターネット標準トラックにおけるIGMPv3仕様はRFC 9776であり、RFC 3376を廃止し、RFC 2236を更新しています。
IGMPが重要な理由は、IPマルチキャストが「1対多」の配信モデルであるためです。同じトラフィックを受信者ごとに個別に送信するのではなく、送信元は1つのストリームをマルチキャストグループに送信し、ネットワークは関心のある受信者が存在する箇所にのみトラフィックを複製します。この方式は高効率ですが、各ローカルサブネット上にどの受信者がストリームを必要としているかをネットワークが把握する仕組みが必要です。IGMPはIPv4マルチキャスト環境において、この制御機能を担っています。
実際の運用環境では、IGMPは管理型LAN・キャンパスネットワーク・IPTV配信・企業向け映像配信・金融データ配信など、多くの受信者が同一トラフィックを購読する1対多アプリケーションで広く利用されています。またIGMPスヌーピングと密接に関連します。これはレイヤー2スイッチの機能で、IGMP制御メッセージを監視し、関心のある受信者が接続されたポートにのみマルチキャストトラフィックを転送できるようにします。
IGMPによりIPv4ホストがマルチキャストの利用意向を通知し、周辺のルーターとスイッチがマルチキャストトラフィックをより効率的に配信できるようになります。
ネットワークにおけるIGMPの意味
IPv4マルチキャスト向けグループメンバーシッププロトコル
IGMP自体はルーティングプロトコルではありません。広域ネットワークを跨いだエンドツーエンドのマルチキャスト経路を計算する機能は持たず、ローカルサブネット内のホストと直近のマルチキャストルーター間で動作します。主な役割は、当該ネットワークセグメント内にどのマルチキャストグループに視聴者が存在するかを通知し、ルーターが当該サブネットへマルチキャストトラフィックを転送し続けるか判断できるようにすることです。
このローカルなメンバーシップ管理の役割こそ、IGMPがIPv4マルチキャスト運用の基盤となる理由です。マルチキャストルーティングプロトコルは広域ネットワークに配信ツリーを構築しますが、接続先のLANに受信者が存在するかを把握するために、アクセス端末側のIGMP情報に依存します。このメンバー情報がなければ、マルチキャスト配信は帯域を無駄に消費するか、または不完全な配信になってしまいます。
また、IGMPとIPv6向けの対応プロトコルを区別することが重要です。IGMPはIPv4マルチキャストグループ管理に使用され、IPv6では同様の用途にMLD(マルチキャストリスナー検出プロトコル)が用いられます。
単なる「マルチキャストストリームへの参加」を超える機能
多くのネットワーク管理者は、スイッチやルーターに映像ストリーミング・IPTV・マルチキャストアプリケーションを設定する際に初めてIGMPに触れます。この文脈ではIGMPは「ホストがストリームを必要としレポートを送信し、トラフィックの受信を開始する」単純な参加処理のように見えます。しかし実際にはIGMPは問い合わせ・グループ離脱処理・バージョン間の互換性に対応し、IGMPv3ではホストがマルチキャストグループ内で受信または除外したい送信元を指定できる送信元フィルタリング機能も備えています。
この高度な機能が、IGMPが3つの主要バージョンに進化した要因です。IGMPv1は基本的な問い合わせ・応答モデルを提供し、IGMPv2はグループ離脱動作を改善し離脱レイテンシを短縮、IGMPv3は送信元フィルタリングを追加し、送信元指定マルチキャストの運用を実用的にしました。各バージョンは旧来のマルチキャストネットワークで判明した運用上の制限を解消しています。
IGMPはIPv4マルチキャストのアクセス端末制御プロトコルとして理解するのが最も適切です。自身でマルチキャストのペイロードを転送するのではなく、ローカルネットワークに対して当該トラフィックが必要な箇所を通知する役割を担います。
IGMPの動作原理
問い合わせ・レポート・ローカルメンバー状態
IGMPは、受信者とクエリア(問い合わせルーター)として動作するマルチキャストルーターの間で、少数の制御メッセージを送受信することで動作します。クエリアは定期的にメッセージを送信し、サブネット内にマルチキャストグループを視聴しているホストが存在するか問い合わせます。マルチキャストトラフィックを必要とするホストは、該当グループのメンバーレポートを返信します。ルーターはこれらのレポートを基にローカルなグループ状態を保持し、当該サブネットへマルチキャストトラフィックを転送するか判断します。
一般的なサブネットでは、1台のルーターがIGMPクエリアとなり共通クエリを送信し、マルチキャスト視聴者の有無を確認します。後継バージョンのIGMPはグループ別クエリに対応し、IGMPv3ではグループ・送信元別クエリが追加されています。これらの詳細なクエリにより、ルーターは特定のマルチキャストグループ、さらにはグループ内の特定送信元の視聴継続有無を確認できます。
この仕組みにより、ローカルなメンバーテーブルは常に最新の状態に更新されます。ホストはルーターに永続的な登録を行う必要はなく、ルーターはレポートと定期的なクエリ応答からアクティブなメンバーを把握します。レポートの送信が途絶えた場合、ルーターは最終的に当該サブネットのグループ状態をタイムアウトで削除します。
ホストのグループ参加と離脱の仕組み
ホストがマルチキャストグループのトラフィックを受信したい場合、非同期でメンバーレポートを送信し、ルーターのクエリに応答してレポートを送信することもあります。これによりローカルルーターは、当該サブネットに少なくとも1台の関心のある受信者が存在することを把握します。管理型のスイッチドネットワークでは、IGMPスヌーピングを有効にしたスイッチも同じIGMPメッセージを監視し、マルチキャストグループを特定のアクセスポートに対応付けます。
グループ離脱の動作はバージョンによって異なります。IGMPv1では関心を失ったホストが単にクエリへの応答を停止するだけで、不要なマルチキャストトラフィックが必要以上に長く流れ続ける場合がありました。IGMPv2では明示的なグループ離脱メッセージが追加され、ホストがグループ不要を明示的に通知できるようになりました。これによりルーターはグループ別クエリを送信し、視聴者の残存有無を確認できます。IGMPv3はさらに拡張され、ホストはグループ全体だけでなく、グループ内の特定送信元に対して受信可否を指定できます。
これにより帯域幅の利用効率が向上し、特に多くのマルチキャストチャネルが存在しチャネル切り替えが頻繁なアクセスネットワークにおいて、不要なストリームの配信を迅速に停止できるようになります。
IGMPバージョンと変更点
IGMPv1は、IPv4ネットワークにおけるマルチキャストメンバーシップの基本的な問い合わせ・応答モデルを導入した初の標準バージョンです。ルーターが問い合わせを行い、ホストがグループへの関心を報告する基本的な動作仕様を定めました。一方、明示的なグループ離脱機能がなく、メンバーのタイマーが期限切れになるまでトラフィックが配信され続ける課題がありました。
IGMPv2はグループ離脱処理・グループ別クエリを追加し、サブネット内にグループのアクティブメンバーが存在しなくなったことをルーターが検知する速度を改善しました。これによりIGMPv1に比べ離脱レイテンシが短縮されています。
IGMPv3(RFC 9776で規定)では送信元フィルタリングが追加されました。受信者は特定の送信元アドレスからのトラフィックのみを受信、または特定送信元を除外して受信するよう指定できます。この機能は送信元指定マルチキャスト(SSM)などの高度なマルチキャストサービスモデルの基盤となっています。
IGMPとIGMPスヌーピング
スイッチドLANでスヌーピングが普及する理由
IGMP自体はホストとマルチキャストルーター間で動作しますが、大半の企業・キャンパスネットワークではこれらの機器の間にレイヤー2スイッチが設置されています。既定の設定では、マルチキャストMACアドレスは通常のユニキャストMACアドレスのように学習されないため、スイッチはマルチキャストトラフィックをブロードキャストドメイン内にフラッディングするように扱います。多数のマルチキャストストリームが存在する環境では、帯域幅が無駄に消費される原因となります。
IGMPスヌーピングはこの問題を解決する機能で、スイッチがIGMP制御トラフィックを解析し、各マルチキャストグループの受信者が接続されたポートを把握し、該当ポートにのみマルチキャストトラフィックを転送できるようにします。これによりスイッチドLANでのマルチキャスト運用が実用的になり、基盤のマルチキャストルーティングが他の機器で処理されている場合でも、ネットワーク管理者がアクセス・分散スイッチのIGMP設定を行う主な要因となっています。
つまり、IGMPスヌーピングはIGMPを置き換えるのではなく、IGMPの情報を利用してレイヤー2の転送動作を最適化する機能です。
スヌーピングによる不要トラフィックの削減
IGMPスヌーピングを有効にしたスイッチは、ホストからのメンバーレポートを検知すると、マルチキャストグループと受信ポートの対応関係を記録します。その後グループ離脱イベントを検知するか、メンバー状態が期限切れになると、当該ポートを転送リストから削除します。これによりマルチキャストトラフィックは、購読した受信者のポートと、ルーティング処理のためにトラフィックを必要とするルーター側ポートにのみ送信されます。
この機能は多くの映像チャネル・デジタルサイネージストリーム・企業放送・専用データ配信が存在する環境で特に重要です。スヌーピングが無効な場合、これらのトラフィックは関心のないポートでも帯域を消費します。スヌーピングを有効にすると、スイッチはマルチキャストの配信範囲を制限し、VLAN内の無駄なトラフィックを削減できます。
実際のLAN運用環境の大半では、IGMPがメンバーシップの通信規約を定義し、IGMPスヌーピングがその情報を基にレイヤー2で選択的なトラフィック転送を実現します。
IGMPの導入メリット
1対多トラフィック配信の効率化
IGMPの最大のメリットは、マルチキャストトラフィックを受信者が実際に存在する箇所に限定して配信できることです。1対多アプリケーションにおいて、受信者ごとに個別のユニキャストストリームを複製するよりもはるかに高効率です。送信元は1つのマルチキャストストリームを送信するだけで、ネットワークは分岐が必要な箇所にのみトラフィックを複製します。
これにより、多くのユーザーが同時に同じコンテンツを視聴・受信するアプリケーションで帯域幅の利用効率が大幅に向上します。受信者数が増加するほど、効率化のメリットは大きくなります。
スイッチドネットワークにおけるフラッディング削減
スイッチドLANでは、IGMPをIGMPスヌーピングと併用することで価値が高まります。マルチキャストトラフィックをVLAN内の全ポートに拡散させるのではなく、アクティブな視聴者が接続されたポートにのみ転送可能になります。不要なトラフィックを削減し帯域の無駄遣いを抑えるとともに、企業・キャンパス環境のマルチキャストサービスのスケーラビリティを高めます。
これがスイッチ機器にIGMP関連機能を有効にする実務的な理由の一つであり、マルチキャストをネットワークに負担をかけず有用に活用できるようにします。
チャネル切り替えの高速化とグループ離脱動作の改善
IGMPv2・IGMPv3はIGMPv1に比べて運用の応答性を向上させており、グループに関心のある受信者がいなくなったことをルーターが迅速に検知できます。映像・チャネル型サービスでは、受信者がグループを離脱した後に不要なトラフィックが流れ続ける時間を短縮できます。
明示的なメンバー管理と最新のマルチキャスト機能を搭載した機器を活用することで、ネットワークは離脱レイテンシをさらに削減し、チャネル切り替えの動作を改善できます。IPTV環境やユーザーが頻繁にグループ・チャネルを切り替える管理型マルチキャスト環境で特に有効です。
送信元指定マルチキャストへの対応
IGMPv3に追加された送信元フィルタリングは、マルチキャストプロトコル群における重要な機能拡張の一つです。単にグループを購読するだけでなく、受信者は特定の送信元からのトラフィックのみを要求、または特定送信元を除外することができます。これにより送信元指定マルチキャスト(SSM)の設計に最適なプロトコルとなり、受信者がマルチキャストグループと送信元の両方を指定する運用に対応します。
従来の送信元無指定マルチキャストモデルに比べ、制御性の向上、曖昧さの排除、マルチキャスト運用の簡素化が実現できます。
IGMPの活用事例
IPTV・管理型映像配信
IGMPの代表的な活用先がIPTVおよび同様の管理型映像サービスです。これらの環境では多くのユーザーが複数のライブチャネルやマルチキャストストリームから選択し、ネットワークは選択されたチャネルのみを各アクセスセグメントに配信する必要があります。IGMPとIGMPスヌーピングにより、この選択的な配信が実現します。
そのためスイッチメーカーはIPTV・集合住宅・都市型アクセスネットワークの文脈で、IGMPフィルタリング・帯域制限・購読制御機能を提案しています。共通のストリームカタログを多数の受信者に配信しつつ、各瞬間で一部の受信者のみが各ストリームを必要とする環境にIGMPは最適です。
企業・キャンパス向け映像配信
IGMPは企業・キャンパスネットワークにおける社内ライブ放送・講義配信・デジタルサイネージ基盤・研修ストリーム・社内集会映像など、1対多のコンテンツ配信用途で利用されています。多くの視聴者が同時に同一ストリームを視聴する場合、IGMPを活用したマルチキャストは多数の個別ユニキャストセッションを開くよりもはるかに高効率です。
これらの環境は管理型ネットワーク基盤と適切なスイッチ設定に依存します。マルチキャストはLANが不要なトラフィックを制限し、クエリア・スヌーピング動作・VLAN境界を明確に設定した場合に最適に動作します。
金融・テレメトリ・専用データ配信
映像以外にも、IGMPは同一の情報を多数の受信者に同時に配信する専用マルチキャストデータストリームに対応します。例として市場データ配信・テレメトリ拡散・ソフトウェア配信、その他管理されたネットワーク内のリアルタイム1対多メッセージングが挙げられます。
これらの用途でのメリットは映像配信と同じで、送信元が受信者ごとにトラフィックを再送信するのではなく、ネットワーク側で効率的にトラフィックを複製することです。多数の端末が同一配信を購読する場合、マルチキャストは上流の送信負荷を大幅に削減できます。
産業・運用ネットワーク
産業・運用環境では、IPv4ネットワーク上で映像監視・警報一斉配信・制御システムのテレメトリ配信・拠点間運用監視などに管理型マルチキャストが使用される箇所でIGMPが活用されます。産業ネットワークは予測可能性を重視し、長寿命の機器やマルチキャスト対応レベルの異なる機器が混在する場合が多いため、導入には慎重な設定が必要です。
マルチキャストを適切に運用することで、IGMPはHMI・監視ステーション・制御室ディスプレイ・専用アプリケーションへ1対多のデータを効率的に配信し、各セグメントに不要なトラフィックを発生させません。
IGMPは、多数の受信者が同一コンテンツを必要とし、ネットワーク基盤がマルチキャストを無差別に拡散させず選択的に配信するよう設計された管理型ネットワークで最大の価値を発揮します。
設計上の重要な考慮事項
IGMPはローカルサブネット端末側で動作
一般的な設計上の誤解として、IGMPだけでネットワーク全体のマルチキャスト転送を制御できると思い込むケースがあります。実際にはIGMPはローカルサブネット内の視聴者の関心を通知するだけで、ルーティングドメインを跨いだ広域のマルチキャスト経路構築には、IGMPのメンバーシップ通知に加えてマルチキャストルーティングプロトコルの設定が必要です。
つまりマルチキャストの安定運用には、ローカルなメンバー管理と広域のマルチキャストルーティング設計の両方が求められます。レイヤー2のみの小規模ネットワークではスヌーピングとクエリアの設定だけで十分ですが、ルーティングを行う企業・通信事業者ネットワークでは、広域のマルチキャストアーキテクチャも考慮する必要があります。
バージョン互換性の重要性
IGMPには複数のバージョンが存在するため、管理者はホスト・スイッチ・ルーター間のバージョン互換性を理解する必要があります。IGMPv3対応機器は旧バージョンとの相互運用に対応することが多いですが、実際の動作はクエリアの対応バージョンや送信元フィルタリング・SSMなどの機能の使用有無に依存します。
機器が混在する環境では、ネットワークのマルチキャスト機能はサブネット内で最も低い共通バージョンの動作に制限される場合があります。IGMPv3の高度な機能を利用したいにもかかわらず、一部の機器がIGMPv2専用で動作する場合に特に留意が必要です。
IPv6にはIGMPではなくMLDを使用
IGMPはIPv4専用のプロトコルです。マルチキャスト環境がIPv6を基盤とする場合、ホスト・ルーター間のメンバーシップ管理にはマルチキャストリスナー検出プロトコル(MLD)が使用されます。この区別はデュアルスタック環境やIPv6移行環境で重要であり、両プロトコルはマルチキャストの目的は同じでも、グループ管理の仕組みは異なります。
IPv4のIGMP設計とIPv6のMLD設計を明確に分けることで、最新ネットワークにおける設定ミスやトラブルシューティングの混乱を回避できます。
よくある質問(FAQ)
IGMPを簡単に言うと何ですか?
IGMPはIPv4プロトコルの一つで、ホストが周辺のマルチキャストルーターに対して受信したいマルチキャストグループを通知する仕組みです。ネットワークが視聴者の存在する箇所にのみマルチキャストトラフィックを配信できるようにします。
IGMPとIGMPスヌーピングの違いは何ですか?
IGMPはホストとルーター間のメンバーシップ通信用プロトコルです。IGMPスヌーピングはレイヤー2スイッチの機能で、IGMPメッセージを監視し、関心のある受信者が接続されたポートにのみマルチキャストトラフィックを転送します。
IGMPの主なバージョンは何ですか?
主なバージョンはIGMPv1・IGMPv2・IGMPv3の3種類です。IGMPv2はグループ離脱動作を改善し離脱レイテンシを短縮、IGMPv3は送信元フィルタリングを追加し、送信元指定マルチキャストにより適切に対応します。
IPv6マルチキャストにIGMPは使用されますか?
いいえ。IGMPはIPv4マルチキャスト専用です。IPv6マルチキャストでは同様のグループメンバーシップ機能にMLDが使用されます。
IGMPはどこで一般的に使用されますか?
IGMPはIPTV・企業向け映像配信・キャンパスストリーミング・金融データ配信など、ルーティング・スイッチドネットワーク上のIPv4 1対多アプリケーションを中心とした管理型マルチキャスト環境で広く利用されています。