マルチキャスト

【図解】IGMPの仕組みとバージョン比較(v1,v2,v3の違い)とシーケンス

IGMP とは

IGMP とは、『マルチキャストを受信するホスト (レシーバ)』がマルチキャスト受信を要求するためのプロトコルです。

正式名称は Internet Group Management Protocol です。

レシーバは『レシーバと同セグメントのマルチキャストルータ』に対して「マルチキャストを受信し始めたいよ」、「受信を継続したいよ」、「受信を止めたいよ」といったメッセージを IGMP に乗せて送ります。

一方、レシーバからの IGMP を受けたマルチキャストルータは、PIM を使って対象のグループアドレスの誘導を図りますが、それとは別に、定期的に「レシーバはまだいますか?いなかったら停止するよ」というメッセージや、「受信を止めたいと言ってる人がいますが他に聞いてる人いますか?いなかったら停止するよ」というメッセージを IGMP に乗せてレシーバたちに送ります。

例えば 10.1.1.1 の PC が 10.1.1.254 のマルチキャストルータに対して、『230.4.5.6 のグループアドレスを受信したい』と言う場合は、下図のようになります。

IGMP のシーケンス

IGMP のシーケンスは以下の通りです。

IGMP のバージョン比較

シーケンスの各フェーズにおける、IGMP のバージョンによる違いを下表に示します。

Phase送信者概要タイプIGMPv1IGMPv2IGMPv3
参加PC
(レシ
ーバ)
グループ
230.4.5.6
への
参加表明
Member-
ship
Report
宛先IP
230.4.5.6224.0.0.22
メッセージ
230.4.5.6 に参加します!230.4.5.6 に参加
します!(Sourceを
指定することも可)
存在
確認
ルータレシーバ

存在確認
General
Query
宛先IP
224.0.0.1
メッセージ
参加してる人、グループアドレス教えて!
応答PC
(レシ
ーバ)
存在確認
への応答
Member-
ship
Report
宛先IP
230.4.5.6224.0.0.22
メッセージ
230.4.5.6 に参加してるよ!230.4.5.6 に参加
してるよ!(Source
指定してる場合は
その情報も含める)
離脱PC
(レシ
ーバ)
グループ
230.4.5.6
からの
離脱表明
[v2]
Leave
[v3]
Member-
ship
Report
not
supported
宛先IP
224.0.0.2224.0.0.22
メッセージ
230.4.5.6 から離脱します!
離脱
後の
存在
確認
ルータ他のレシ
ーバの
存在確認
Group
Specific
Query
not
supported
宛先IP
224.0.0.1
メッセージ
他に 230.4.5.6 の参加者はいますか?

IGMP のフォーマット

IGMP のフォーマットを以下に示します。

IGMP のバージョンによる機能の違い

IGMP version 2 では以下 4 つの機能が追加されています。

  1. クエリア選出 = ホストからの IGMP を受信できるルータが 2 台以上ある場合、クエリアと呼ばれる機能のルータを 1 台選出 (最小の IP アドレスを持つルータ)し、クエリアのみがホストとやり取りを行います。バージョン 1 では PIM DR (Designated Router) がこの役割を担っていました。
  2. 最大応答時間の設定 = クエリアからのクエリーに対して何秒以内に応答 (レポート) しなければならないかを決めるパラメータです。バージョン 1 では 10 秒で固定でしたが、バージョン 2 では可変となりました。
  3. Leave メッセージ=グループから離脱するときに使うメッセージタイプが増えました。バージョン 1 では次回レポートに対して 10 秒応答しないことで離脱としていました。
  4. グループスペシフィッククエリー = Leave メッセージを受信した後、そのグループアドレスに対してのみ、他にメンバーがいないかを尋ねるメッセージです。

また、IGMP version 3 では以下 3 つの変更がありました。

  1. ソースアドレス指定とモード = グループアドレスだけでなく、ソース IP アドレスも指定できるようになりました。指定の仕方 (モード) は 2 種類あり、ソース IP アドレスを指定する (INCLUDE モード) か、もしくは除外する (EXCLUDE モード) か、です。
  2. Leave メッセージを Report に統合 = Version 2 で Leave メッセージが出来ましたが、これを Report メッセージに統合しました。
  3. レポートの宛先 IP アドレスが 224.0.22 に変更

コメント

タイトルとURLをコピーしました