SSMとは
SSM(Source-Specific Multicast) は、マルチキャストの送信元(Source)を指定して、特定の送信元からのマルチキャストトラフィックのみを受信する方式です。SSMは、PIM-SM(Protocol Independent Multicast – Sparse Mode)の特定のモードであり、よりシンプルでセキュアなマルチキャスト通信を提供します。
SMの特徴と仕組み
SSMは、従来のPIM-SMと比較して以下の特徴を持っています。
- 送信元を指定できる:
受信者は、どの送信元からマルチキャストトラフィックを受信するかを明示的に指定できます。これにより、任意の送信元からではなく、特定の送信元からのトラフィックのみを受信します。 - RP(Rendezvous Point)が不要:
SSMではRPを必要としません。通常のPIM-SMでは、マルチキャストトラフィックはRPを通じて送信者と受信者が接続されますが、SSMでは直接送信元から受信者にトラフィックが送られます。 - IGMPv3(Internet Group Management Protocol Version 3)を使用:
SSMでは、受信者が特定の送信元を指定するためにIGMPv3を使用します。IGMPv3では、どのマルチキャストグループに参加するかだけでなく、どの送信元からのトラフィックを受け取るかも指定できます。 - トラフィックのセキュリティと効率向上:
SSMは、特定の送信元からのみトラフィックを受信するため、セキュリティが向上し、不要なトラフィックがネットワークを通過しなくなります。
SSMのアドレス範囲
SSMで使用されるマルチキャストアドレスの範囲は 232.0.0.0/8 です。この範囲のアドレスは、SSM専用に予約されています。
- SSMマルチキャストグループ範囲: 232.0.0.0 ~ 232.255.255.255
このアドレス範囲内で、送信元とマルチキャストグループのペアを使用してトラフィックが識別されます。
SSMの動作
SSMの動作は、従来のPIM-SMに比べてシンプルです。具体的な動作の流れは以下の通りです。
1. 受信者が特定の送信元からのトラフィックをリクエスト
受信者は、IGMPv3を使用して、特定の送信元(Source)とマルチキャストグループ(Group)のペアを指定してトラフィックを要求します。これを**(S,G) Join**と言います。Sは送信元のIPアドレス、Gはマルチキャストグループのアドレスです。
- 送信元(Source): 192.168.1.1
- マルチキャストグループ(Group): 232.1.1.1
例: 受信者が「192.168.1.1からの232.1.1.1に対するトラフィック」を要求。
2. 受信側ルータが送信元に向かってPIM Joinを送信
受信者のルータは、PIMのShortest Path Tree(SPT)メカニズムを使用して、送信元に向かってPIM Joinメッセージを送信し、直接送信元からトラフィックを受け取るようにします。ここではRPを経由せず、直接送信元と接続します。
3. 送信元から直接トラフィックが受信者に配信
受信者は、特定の送信元からのトラフィックを受信し始めます。SSMでは、常に送信元から受信者への最短経路を使用してトラフィックが配信されます。
SSM の設定
基本構文
1.IPマルチキャストルーティングの有効化
ルータでIPマルチキャストルーティングを有効にします。
Switch(config)# ip multicast-routing
2.各インターフェースでPIMスパースモードを有効化
マルチキャストルーティングに参加するインターフェースでPIMスパースモードを有効にします。
Switch(config)# interface interface-id
Switch(config-if)# ip pim sparse-mode
3.SSM範囲の指定
IP マルチキャスト アドレスの SSM 範囲を定義します。
Switch(config)#ip pim ssm [default | range access-list]
コマンド 内容 default 232.0.0.0/8の範囲を使用します。 range access-list AClで指定した特定のマルチキャストアドレスを使用します。
4.IGMPv3の設定
受信側でIGMPv3を有効化して、送信元指定によるマルチキャスト受信を行います。
Switch(config)#interface type number
Switch(config-if)#ip igmp version 3
設定例

Router2(config)#ip multicast-routing
Router2(config)#interface range Gi0/1,Gi0/3-4
Router2(config-if-range)#ip pim sparse-mode
Router2(config-if-range)#exit
Router3(config)#ip multicast-routing
Router3(config)#interface range Gi0/2,Gi0/4
Router3(config-if-range)#ip pim sparse-mode
Router3(config-if-range)#exit
Router4(config)#ip multicast-routing
Router4(config)#ip pim ssm default
Router4(config)#interface range Gi0/2-3
Router4(config-if-range)#ip pim sparse-mode
Router4(config-if-range)#exit
Router4(config)#interface Gi0/5
Router4(config-if)#ip pim sparse-mode
Router4(config-if)#ip igmp version 3
Router4(config-if)#ip igmp join-group 232.1.1.1 source 192.168.12.1
Router5(config)#interface Gi0/4
Router5(config-if)#ip igmp join-group 232.1.1.1
設定完了後、マルチキャストアドレスにpingを実行してリプライが返ってきます。

SSMの設定(オプション)
静的 SSM マッピングの設定
古いホストやデバイスがまだ IGMPv2 を使用している場合、SSMの送信元指定ができません。このとき、SSMマッピングを使うことで、IGMPv2でも特定のマルチキャスト送信元をマップできるようになります。
設定された SSM 範囲内のグループに対して SSM マッピングを有効にします。
Switch(config)#ip igmp ssm-map enable
静的 SSM マッピングを設定します。
Switch(config)#ip igmp ssm-map static access-list source-address
DNS ベースの SSM マッピングの設定
通常、SSM(Source-Specific Multicast)は、IGMPv3を使用して送信元とグループのペア(S, G)を指定しますが、DNSを利用したSSMマッピングでは、特定のマルチキャストグループに対して送信元を事前に指定するのではなく、DNSクエリを使って動的に送信元のIPアドレスを解決します。
設定された SSM 範囲内のグループの SSM マッピングを有効にします。
Switch(config)#ip igmp ssm-map enable
DNS ベースの SSM マッピングを有効にします。
Switch(config)#ip igmp ssm-map query dns
DNS ベースの SSM マッピングに使用されるドメイン プレフィックスを変更します。
Switch(config)#ip domain multicast domain-prefix
名前とアドレスの解決に使用する 1 つ以上のネーム サーバーのアドレスを指定します。
Switch(config)#ip name-server server-address1 [server-address2 …server-address6 ]
SSM マッピングによる静的トラフィック転送の設定
インターフェイスから (S, G) チャネルを静的に転送するように SSM マッピングを設定します。
Switch(config)#interface interface-id
Switch(config-if)#ip igmp static-group group-address source ssm-map