【図解】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 に統合=Version2 で Leave メッセージが出来ましたが、これを Report メッセージに統合しました。
  3. レポートの宛先IPアドレスが 224.0.22 に変更

シェアする

  • このエントリーをはてなブックマークに追加

フォローする