Skip to content

マルチキャスト

マルチキャストアドレス一覧

IPv4 Well-known マルチキャストアドレス

アドレス用途プロトコル
224.0.0.1All Hosts(そのセグメントの全ホスト)全般
224.0.0.2All Routers(そのセグメントの全ルータ)全般
224.0.0.5All OSPF RoutersOSPFv2
224.0.0.6All OSPF DR RoutersOSPFv2
224.0.0.9All RIP RoutersRIPv2
224.0.0.10All EIGRP RoutersEIGRP
224.0.0.13All PIM RoutersPIM
224.0.0.18VRRPVRRP
224.0.0.22IGMP v3IGMPv3
224.0.0.102HSRP v2HSRPv2
224.0.1.1NTPNTP
232.0.0.0/8SSM 専用範囲PIM-SSM
239.0.0.0/8Admin Scope(プライベート用)組織内限定

覚え方: .5 = OSPF全員、.6 = OSPF DR向け、.9 = RIP、.10 = EIGRP、.13 = PIM、.18 = VRRP、.102 = HSRPv2

HSRPのアドレス詳細

バージョンマルチキャストアドレスUDP/ポート
HSRPv1224.0.0.2UDP 1985
HSRPv2224.0.0.102UDP 1985

覚え方: HSRPv1 = All Routersアドレス(224.0.0.2)、HSRPv2 = 専用アドレス(224.0.0.102)

VRRPのアドレス詳細

プロトコルマルチキャストアドレス仮想MACアドレス
VRRP224.0.0.1800-00-5E-00-01-

重要: VRRP の仮想MAC は 00-00-5E-00-01-XX(XX = グループID)。HSRP とは異なる。

IPv6 マルチキャストアドレス(OSPFv3 / EIGRPv6)

アドレス用途
FF02::1All Nodes
FF02::2All Routers
FF02::5All OSPFv3 Routers
FF02::6All OSPFv3 DR Routers
FF02::AAll EIGRPv6 Routers
FF02:😄All PIM Routers

マルチキャストの基本概念

項目内容
目的1対多の通信を効率化(全ホストへのコピーを最小化)
経路制御RPF (Reverse Path Forwarding) チェックで逆流を防ぐ
受信者管理IGMP (Internet Group Management Protocol)
ルータ間管理PIM (Protocol Independent Multicast)

RPF(Reverse Path Forwarding)チェック

マルチキャストパケットがソースへの最短経路にあるIFから届いた場合のみ転送する仕組み。

チェック動作
RPFチェック成功下流IFへ転送する
RPFチェック失敗パケットを廃棄する(ループ防止)

重要: RPFはユニキャストルーティングテーブルを参照する。ソースへの経路がなければRPFチェック失敗 → 廃棄。

マルチキャストのツリー種別

ツリー種別説明使われるプロトコル
SPT (Shortest Path Tree)ソースから各受信者への最短経路ツリー(ソースツリー)PIM-DM、PIM-SM(切替後)
RPT (Rendezvous Point Tree)RPを根とする共有ツリーPIM-SM(初期)

PIM-DM(Dense Mode)

動作概念

「まず全員に転送し、不要な枝を刈り取る」方式。

フェーズ動作
Flood全インタフェースへマルチキャストを転送
Prune受信者がいないIFへはPruneメッセージを送信して転送を止める
Graft後から受信者が現れたらGraftメッセージで再度転送再開

覚え方: PIM-DM = 「まき散らして、いらない枝は切る」

特徴内容
RP不要
適用場面受信者が密集しているネットワーク
ツリーSPT(ソースから直接)
デメリット受信者が少ない場合、不要なトラフィックが発生する

PIM-DM の主要メッセージ

メッセージ方向目的
Hello双方向ネイバー検出
Prune上流へ転送停止を要求
Graft上流へ転送再開を要求
Graft-Ack下流へGraftへの確認応答
Assert同セグメント内複数ルータがいる場合の転送ルータ決定

PIM-SM(Sparse Mode)

動作概念

「受信者が明示的に参加したIFにのみ転送する」方式。RP(Rendezvous Point)を中心に動く。

フェーズ動作
1. Join受信者からIGMP Joinが届く → ルータがRP方向へPIM Joinを送信
2. 共有ツリー構築RPを根としたRPT(共有ツリー)が確立される
3. ソース登録ソースがマルチキャスト送信開始 → 最初のホップルータがRegisterメッセージをRPへ送信
4. SPTへ切替RPまたは受信者側ルータがソースへ直接Joinすることでより効率的なSPTへ移行

覚え方: PIM-SM = 「RPに集まってから、後で最短に切り替える」

PIM-SMのメッセージ

メッセージ送信元目的
Hello全PIMルータネイバー検出
Join/Prune下流ルータ転送ツリーの参加/離脱
Register最初のホップルータソース情報をRPへ通知
Register-StopRPRegister受信後、SPTが構築されたら送信して停止要求
Assert同セグメント内転送ルータ決定
BootstrapBSRRP情報の配布(Auto-RP / BSRメカニズム)

RPの選出方法

方法特徴
静的 RPip pim rp-address で手動指定。シンプルだが冗長性なし
Auto-RPCisco独自。Candidate RP と MA(Mapping Agent)を選出
BSR(Bootstrap Router)標準規格(RFC)。Candidate RP と BSR を選出

PIM-SM vs PIM-DM 比較

項目PIM-DMPIM-SM
RP不要必要
初期動作Flood & PruneJoinのみ
ツリーSPTRPT → SPT
適用場面受信者が密集受信者がまばら
オーバーヘッド初期に大(Flood)低い

PIM-SM / SSM / bidir / MSDP の整理

ソース数RPユースケース
PIM-SM汎用必要一般的なマルチキャスト
SSM少数・明確不要映像配信、IPTV
bidir大量必要(共有ツリーのみ)金融データ、多対多
MSDP-RP間連携マルチドメイン/AS間

覚え方: PIM-SMを中心に「ソースが明確ならSSM」「ソースが大量ならbidir」「ドメインまたぐならMSDP」

各方式の詳細

SSM (Source-Specific Multicast)

  • 受信者がソースを指定して直接受け取る → RPが不要
  • IGMPv3で「このソースからのこのグループが欲しい」と明示的に要求
  • ソースへ直接最短パスツリー(SPT)を構築
  • アドレス範囲: 232.0.0.0/8

bidir (Bidirectional PIM)

  • ソースが大量にいるケース向け
  • (S,G)ステートを一切作らない → ステート爆発を防ぐ
  • トラフィックは常にRPを経由する共有ツリー上を双方向に流れる

MSDP (Multicast Source Discovery Protocol)

  • RP間の連携プロトコル
  • 複数のPIMドメイン間でマルチキャストソース情報を共有
  • RP同士がMSDPピアリングしてSA (Source Active) メッセージを交換
  • BGPのマルチキャスト版みたいなイメージ

IGMP(Internet Group Management Protocol)

バージョン特徴対応PIM
IGMPv1基本的なグループ参加・離脱PIM-DM / PIM-SM
IGMPv2Leave Group メッセージ追加(離脱が速くなる)PIM-SM
IGMPv3ソース指定(INCLUDE/EXCLUDE)が可能SSM

鉄板の出題パターン: 「SSMに必要な条件は?」→ IGMPv3

覚え方:

  • IGMPv2 → ソース指定不可 → RP必須 → PIM-SM
  • IGMPv3 → ソース指定可能 → RP不要にできる → SSM

IGMP Snooping

L2スイッチがIGMPメッセージを覗き見(Snooping)して、不要なポートへのマルチキャスト転送を抑制する機能。

項目内容
目的不要なポートへのマルチキャストフラッド抑制
動作IGMPのJoin/Leaveを監視し、グループ参加ポートだけへ転送
デフォルトほとんどのCatalyst系スイッチで有効

マルチキャスト設定コマンド

設定目的コンフィグモードコマンド例
マルチキャストルーティング有効化Global configip multicast-routing
PIM-SM有効化Interface configip pim sparse-mode
PIM-DM有効化Interface configip pim dense-mode
静的RP指定Global configip pim rp-address 10.1.1.1
Auto-RP Candidate RPGlobal configip pim send-rp-announce Lo0 scope 10
Auto-RP Mapping AgentGlobal configip pim send-rp-discovery Lo0 scope 10
IGMP バージョン変更Interface configip igmp version 3

確認コマンド

コマンド見るポイント
show ip pim neighborPIMネイバー一覧
show ip pim rp mappingRPの割り当てとグループ範囲
show ip mrouteマルチキャストルーティングテーブル((S,G)エントリ)
show ip igmp groupsIGMPグループ参加情報
show ip igmp interfaceIFごとのIGMP設定・バージョン
show ip multicastマルチキャストルーティングの状態