IP マルチキャストとは ── 実機を触ったことがない人のための IGMP・PIM・RPF の説明

同じ映像や株価情報を大勢に同時に届けるための仕組みです。ユニキャストでは送信者の負荷が受信者数に比例し、ブロードキャストでは要らない人にも届いてしまう。 その間を埋めるのがマルチキャストで、「欲しい人だけが手を挙げ(IGMP)、ルータが手を挙げた方向にだけ複製して流す(PIM)」のが全体像です。 令和5年 午後Ⅰ問2(IP カメラ 20 台の映像配信)がこの形で出ています。

1. マルチキャストが解いている問題

ユニキャスト配信 カメラ L3SW 受信 1 受信 2 受信 3 8M × 3 本 同じ映像をレシーバの数だけ別々に送る ソースと上流回線の負荷が受信者数に比例 マルチキャスト配信 カメラ L3SW 受信 1 受信 2 受信 3 8M × 1 本 ソースは 1 本だけ送り、分岐点の機器が複製する 受信者が何人でもソース側は 8M のまま
図1 同じ 8Mbps の映像を 3 台に届けるとき。右は分岐点の L3SW が複製する

IP カメラ 1 台の映像(8Mbps)を 6 台のレシーバで見たいとします。ユニキャストならカメラは 6 本のストリームを別々に送るので、カメラとその上流回線に 48Mbps 流れます。 カメラが 20 台、見る人が増えるほど、送信側と幹線の帯域が足りなくなります。

マルチキャストでは、カメラはグループアドレス(239.1.1.1 のような特別な宛先)に 1 本だけ送ります。経路の途中で分岐する機器(L3SW・ルータ)が必要な方向にだけ複製するので、 受信者が何人でもソース側は 8Mbps のままです。この「複製される木」をディストリビューションツリー(配信木)と呼びます。ソースが根、レシーバが葉です。

ブロードキャストと何が違うか ブロードキャストは同じセグメントの全員に届き、ルータを越えられません。マルチキャストはルータを越えて遠くの拠点にも届き、しかも受信を希望した端末がいる方向にだけ流れます。 その「希望を伝える」のが IGMP、「希望のある方向に木を作る」のが PIM です。
ユニキャストブロードキャストマルチキャスト
宛先1 台同一セグメントの全員グループに参加した端末
ルータを越えるか越える越えない越える(PIM が必要)
送信側の負荷受信者数に比例1 本1 本
用途通常の通信ARP・DHCP映像配信・株価配信・OSPF の Hello・VXLAN の BUM 配送

2. アドレス

マルチキャストの宛先はクラス D(224.0.0.0/4、先頭 4 ビットが 1110)です。送信元アドレスには使えません(送信元は常にソースのユニキャストアドレス)。

範囲用途例
224.0.0.0/24リンクローカル。ルータが転送しない制御用224.0.0.1 全ホスト、224.0.0.2 全ルータ、224.0.0.5/6 OSPF、224.0.0.18 VRRP、224.0.0.13 PIM
232.0.0.0/8SSM(ソース指定マルチキャスト)用232.1.1.1
239.0.0.0/8組織内で自由に使う(プライベートアドレス相当)239.1.1.1。社内の映像配信や VXLAN の BUM 用はここ
その他 224〜238インターネット上で登録制
IP 239.1.1.1 → MAC 01-00-5e-01-01-01 1110 5 ビット 下位 23 ビット(1.1.1 の部分) クラス D 固定 捨てられる そのまま MAC の下位 23 ビットへ 01-00-5e + 0(25 ビット固定) 01-01-01(23 ビット) 5 ビットが捨てられるので 32 個の IP アドレスが同じ MAC になる(224.1.1.1 と 239.1.1.1 など)
図2 IP の下位 23 ビットだけが MAC に写される。平成27年 午後Ⅱ問2 で 01-00-5e-01-01-01 を書かせている

イーサネット上では、グループアドレスは 01-00-5e で始まるマルチキャスト MAC アドレスに変換されます。IP の下位 23 ビットをそのまま MAC の下位 23 ビットにし、残りは固定値です。 IP 側は先頭 4 ビットを除いて 28 ビットあるので5 ビット分の情報が落ち、32 個の IP グループが同じ MAC になります。L2 スイッチは MAC しか見ないため、別グループの通信が同じポートに流れることがあり、グループアドレスの設計時に避けます。

マルチキャスト MAC は送信元にならない L2 スイッチの MAC アドレス学習は「受信フレームの送信元 MAC」で行います。マルチキャスト MAC は宛先にしか現れないので学習されず、 スイッチは宛先不明フレームと同じく全ポートへフラッディングします(平成27年 午後Ⅱ問2、令和5年 午後Ⅰ問2 設問1 ア)。この無駄を止めるのが 3 章の IGMP スヌーピングです。

3. 受信側の仕組み(IGMP と IGMP スヌーピング)

受信したい端末は「私は 239.1.1.1 が欲しい」と手を挙げます。このプロトコルが IGMP(Internet Group Management Protocol)で、端末と最寄りのルータ(L3SW)の間だけで使われます。

L3SWPIM・クエリア 定期的に IGMP Query(誰か欲しい人いますか) L2SWIGMP スヌーピング有効 p1p2p3 PC-A PC-B PC-C PC-B だけが 239.1.1.1 の IGMP Report(Join)を送った L2SW は「239.1.1.1 → p2」を覚え、p1・p3 には流さない。L3SW は「このセグメントに受信者あり」と知る
図3 IGMP でルータが受信者の有無を知り、スヌーピングで L2SW がポートを絞る

端末が参加を宣言する(Report = Join)

端末はグループ宛ての IGMP Membership Report(Join メッセージ)を送ります。これを受け取ったルータは「このインタフェースの先に 239.1.1.1 の受信者がいる」と記録し、配送を開始します。

ルータが生存確認する(Query とクエリア)

ルータは定期的に IGMP Query を全ホスト(224.0.0.1)宛てに送り、まだ欲しい端末は Report で応答します。応答が無くなったら配送を止めます。 同じセグメントに複数のルータがあるときは、IP アドレスが最小のルータ 1 台だけがクエリアになって Query を出します。

離脱する(Leave)

IGMPv2 以降では端末が Leave を送り、ルータはそのグループ宛てに Query を出して他に受信者がいなければ即座に止めます(v1 にはこれが無く、タイムアウト待ちでした)。

L2 スイッチが覗き見る(IGMP スヌーピング)

L2 スイッチは本来 IP の中身を見ませんが、IGMP スヌーピングを有効にすると Report/Leave を覗き見て「グループアドレス ↔ そのグループを要求したポート」の表を作り、 マルチキャストフレームを要求のあったポートにだけ転送します。2 章の「フラッディングされてしまう」問題への対策です(令和5年 午後Ⅰ問2 設問3(2))。

IGMPv2 と IGMPv3 の違い(ここが設問になる)

IGMPv2IGMPv3
要求の単位グループだけ (*,G) 「239.1.1.1 を全部」ソースとグループ (S,G) 「ソース 10.1.1.11 からの 239.1.1.1 だけ」
Report の宛先そのグループアドレス224.0.0.22(全 IGMPv3 ルータ)
対応する配送PIM-SM(RP が必要)PIM-SSM(RP 不要)
アドレス設計カメラごとに別のグループアドレスが要る(同じにすると全カメラ分届く)全カメラが同じグループアドレスでよく、ソースで区別する
令和5年 午後Ⅰ問2 の核心 本文の設計は「カメラごとに個別の IP アドレス+共通のグループアドレス」で、これは IGMPv3 が (S,G) で選べるから成り立ちます。 IGMPv2 に変えるなら「全てのカメラに個別の IP アドレス及び個別のグループアドレス」にしなければならず(設問2(3))、逆に IGMPv3 の利点は「グループアドレスの設計が容易になる」(設問3(1))です。 採点講評は「下線部だけでなく本文全体から IGMPv2 と v3 の違いを読み取れ」と書いています。

4. 配送側の仕組み(PIM)

ルータ同士でマルチキャストの配信木を作るプロトコルが PIM(Protocol Independent Multicast)です。「Protocol Independent」は、経路情報を自分では集めず既存のユニキャスト経路表(OSPF などが作ったもの)をそのまま使うという意味です。 PIM を有効にしたルータ同士は Hello(224.0.0.13)で隣接を結びます。

ソース S R1 RPR2 R3 R4 レシーバ ① 最初は RP 経由  (共有木 (*,G)) ② ソースが分かったら最短経路へ (最短経路木 (S,G)) レシーバ側の R4 は最初ソースを知らないので RP に Join する。ソースが判明したら R1 へ直接 Join し直す
図4 PIM-SM は RP 経由で始まり、ソースが分かれば最短経路に切り替わる

PIM-SM(スパースモード)

受信者がまばらな前提で、要求があった方向にだけ木を伸ばします。問題は「レシーバ側のルータは、ソースがどこにいるか最初は知らない」ことです。そこでランデブーポイント RP という待ち合わせ場所のルータを決めておきます。

PIM-SSM(ソース指定マルチキャスト)

受信者が最初から「ソース S の グループ G」と (S,G) で要求すれば、ソースの場所を探す必要がなく、RP が不要になります。これが SSM で、IGMPv3 と組み合わせ、グループアドレスは 232.0.0.0/8 を使います。 RP という単一障害点が無く設定も簡単なので、ソースが決まっている社内の映像配信では SSM が第一候補です(令和5年 午後Ⅰ問2 はこの構成で、L3SW で SSM を有効化しています)。

PIM-DM(デンスモード)

受信者が密にいる前提で、まず全方向に流してから要らない枝を刈る(フラッド&プルーン)方式です。小規模向けで、午後の本文では比較用に一言出る程度です。

IGMP と PIM の分担 IGMP は「端末 ↔ 最寄りルータ」、PIM は「ルータ ↔ ルータ」。 設問で「どの機器に何を有効化するか」と聞かれたら、レシーバがぶら下がる L3SW のインタフェースには IGMP、ルータ間の全インタフェースには PIM と答えます。 令和5年 午後Ⅰ問2 設問4(1) は、PC でも映像を見るようになったとき、PC がつながる L2SW 向きの L3SW インタフェースに IGMPv3 を追加する、という設問でした(PIM-SM はすでに全インタフェースで有効)。

5. RPF チェックと設計の落とし穴

RPF チェック(ループ防止)

マルチキャストは 1 つのパケットが複製されて広がるので、ループすると爆発的に増えます。そこでルータは受信したマルチキャストパケットについて 「送信元アドレスに向かう最短経路の出口インタフェースと、実際に受信したインタフェースが同じか」をユニキャスト経路表で確認し、違えば捨てます。これが RPF(Reverse Path Forwarding)チェックです。 正規の経路からだけ受け取ることで、同じパケットが別の経路から回ってきても複製されません。

非対称経路で落ちる RPF はユニキャスト経路表を信じるので、行きと帰りの経路が違う(非対称な)設計や、経路表に無いソースからのパケットは RPF に失敗して配送されません。 「ユニキャストでは届くのにマルチキャストだけ届かない」障害の典型原因です。静的なマルチキャスト経路(mroute)で RPF の向きを教えて直します。

設計で問われる点

6. 用語集(午後で出る順)

用語意味午後でのポイント
グループアドレス224.0.0.0/4 のクラス D。受信者の集合を表す宛先送信元にはならない。組織内は 239/8、SSM は 232/8
ソース / レシーバ配信元 / 受信者設問で「ソースとレシーバという字句を用いて」と指定される
ディストリビューションツリーソースを根、レシーバを葉とする配信木令和5年の空欄で正答率が低かった語
マルチキャスト MAC01-00-5e + IP 下位 23 ビット32 対 1 で重複。学習されずフラッディングされる
IGMP端末が最寄りルータに参加・離脱を伝えるv2 は (*,G)、v3 は (S,G)
Join(Report)/ Leave / Query参加 / 離脱 / ルータからの生存確認クエリアは IP 最小のルータ 1 台
IGMP スヌーピングL2SW が IGMP を覗いてグループ↔ポート表を作る不要なポートへ流さない。クエリアが要る
PIMルータ間で配信木を作る。経路はユニキャスト経路表を使う全ルータ間インタフェースで有効化
PIM-SM / RP要求のある方向だけ配送。RP は待ち合わせ場所共有木 (*,G) → 最短経路木 (S,G) へ切替
PIM-SSM(S,G) で要求し RP 不要IGMPv3 とセット。232/8
(*,G) / (S,G)任意ソース / 特定ソースのグループv2/v3、SM/SSM の対応関係
RPF チェック送信元への最短経路の IF から来たパケットだけ受理ループ防止。非対称経路で失敗
BUMBroadcast / Unknown unicast / MulticastVXLAN でマルチキャストグループに乗せて配る

7. 午後での問われ方と答え方の型

設問の型答え方出た年度
L2SW がマルチキャストフレームをどう扱うか(空欄)フラッディング(送信元にならないので MAC 学習されない)R5 午後Ⅰ問2、H27 午後Ⅱ問2
ユニキャスト配信の欠点配信先のレシーバの数に応じてソースの通信量が増加するR5 午後Ⅰ問2
幹線の最大帯域(計算)流れる映像の本数(カメラ台数)×1 本の帯域。受信者数では増えないR5 午後Ⅰ問2
IGMPv2 にする場合のアドレス設計全てのカメラに個別の IP アドレスと個別のグループアドレスを使うR5 午後Ⅰ問2
IGMPv3(SSM)の利点グループアドレスの設計が容易になるR5 午後Ⅰ問2
IGMP スヌーピングが保持する情報グループアドレスとインタフェース(ポート)の対応R5 午後Ⅰ問2
受信者が増えたとき追加設定する機器と設定受信者がつながる L2SW 向きの L3SW インタフェースに IGMPv3 を追加(図で受信者の位置を正確に見る)R5 午後Ⅰ問2
IP グループアドレスに対応する MAC アドレス01-00-5e + 下位 23 ビットH27 午後Ⅱ問2
端末が受信を始めるために送るものグループ宛ての IGMP Join を最寄りの L3SW へ送るH27 午後Ⅱ問2
IGMP スヌーピング無しの問題不要なマルチキャストがネットワーク内に転送され、機器や回線の負荷が高まるH27 午後Ⅱ問2
VXLAN の BUM 配送先グループVNI に対応するマルチキャストグループ(239.0.0.1 など)R6 午後Ⅱ問1、H27 午後Ⅱ問2
書き方の型 帯域の計算は「何本の映像が流れるか」を先に数え、次に「本数×1 本の帯域」で出す。受信者数や分割画面数に引っ張られない。 機器を問われたら図で受信者がぶら下がっている L2SW を 1 つずつ確認して、その上流の L3SW インタフェースを答える。「全部の L2SW」と書くと誤り。 IGMP と PIM の役割を混ぜない(IGMP は端末〜ルータ、PIM はルータ〜ルータ)。

8. ミニ確認問題

クリックで答えが開きます。

Q1 マルチキャストがユニキャストより優れる点を「ソース」「レシーバ」を使ってレシーバの数が増えてもソースが送るストリームは 1 本のままで、ソースと上流回線の通信量がレシーバ数に比例して増えない。
Q2 239.1.1.1 のマルチキャスト MAC アドレスは。なぜ重複が起きるか01-00-5e-01-01-01。IP の下位 23 ビットだけを MAC に写すので、5 ビット分が捨てられて 32 個の IP グループが同じ MAC になる。
Q3 L2SW がマルチキャストフレームを全ポートに流してしまう理由と対策マルチキャスト MAC は送信元にならないので MAC テーブルに学習されず、宛先不明と同じくフラッディングされる。対策は IGMP スヌーピングで、Join を覗いてグループとポートの対応表を作り、要求のあったポートだけに流す。
Q4 IGMPv2 と IGMPv3 の要求の単位の違いv2 はグループだけ (*,G)、v3 はソースとグループ (S,G)。v3 なら全カメラが同じグループアドレスでもソースで区別できる。
Q5 PIM-SM で RP が必要な理由と、SSM で不要になる理由SM ではレシーバ側ルータがソースの場所を知らないので、待ち合わせ場所の RP に Join して最初のパケットを受ける。SSM では受信者が最初から (S,G) で要求するのでソースに直接 Join でき、RP が要らない。
Q6 共有木から最短経路木に切り替える理由RP 経由は迂回路で帯域と遅延の無駄になるから。ソースが分かった時点でソースに向かって直接 Join し直す。
Q7 RPF チェックとは。何のためか受信したマルチキャストパケットの送信元に向かう最短経路の出口インタフェースと、実際に受信したインタフェースが一致するかをユニキャスト経路表で確認し、一致しなければ廃棄する。複製によるループ防止。
Q8 カメラ 20 台(各 8Mbps)、レシーバ 6 台が各 4 画面表示。幹線の最大帯域は160Mbps。流れるのはカメラ台数分の 20 本まで。レシーバ側の 6×4=24 本と数えてはいけない。
Q9 同じセグメントに L3SW が 2 台ある。IGMP Query を出すのはIP アドレスが小さい方の 1 台(クエリア)。
Q10 IGMP と PIM はそれぞれどの区間で使うかIGMP は端末と最寄りのルータ(L3SW)の間。PIM はルータ同士の間で配信木を作る。

9. 実機で見るなら(任意)

Cisco(PIM-SSM の最小形。IGMPv3 と組み合わせる)
  ip multicast-routing
  interface Vlan10                      ← レシーバがいる VLAN
   ip pim sparse-mode
   ip igmp version 3
  interface GigabitEthernet0/1          ← ルータ間
   ip pim sparse-mode
  ip pim ssm default                    ← 232/8 を SSM として扱う

  show ip igmp groups        どのグループをどの IF で要求されているか
  show ip mroute             (*,G) と (S,G) のエントリ、受信 IF(RPF)と出力 IF リスト
  show ip igmp snooping groups   (L2SW 側)グループ ↔ ポートの表

Windows で受信側を見る
  netsh interface ipv4 show joins    PC が参加しているグループ(224.0.0.1、239.255.255.250 など)

用語の振り返り

このページの用語集(13 語)から作った確認問題です。「意味 → 用語」は意味の説明(用語そのものは__で伏せてある)を読んで用語を入力し、Enter で答え合わせします。 表記ゆれで × になったときは「合っていた」で直せます。「用語 → 意味」は口で説明してから答えを開いて自己採点します。結果はこのブラウザに保存され、「×だけ」で間違えた語だけを解き直せます。

← IPv6トップ(目次)へ拠点間VPN →

作成 2026-10-28。ネットワークスペシャリスト 科目B(午後)対策。出典の年度・設問番号は IPA 公開の解答例で確認したもの(令和5年春 午後Ⅰ問2、平成27年秋 午後Ⅱ問2、令和6年春 午後Ⅱ問1)。 関連: OSPF とは、VXLAN と EVPN とは。