IPv6マルチキャスト / PIM


PIM-SMv6
概要
基本設定
ブートストラップメカニズムによる動的RP
ランデブーポイント(RP)
ブートストラップルーター(BSR)
その他のルーター(非RP)
スタティック登録による静的RP
すべてのルーター(RPおよび非RP)
RPアドレスを埋め込んだ特殊なマルチキャストグループアドレスを使う方法(Embedded RP)
ランデブーポイント(RP)
その他のルーター(非RP)
その他
PIM-SSMv6
基本設定


PIM-SMv6

IPv6用のマルチキャスト経路制御プロトコルPIM-SMv6(Protocol Independent Multicast - Sparse Mode for IPv6)について解説します。

Note
PIM-SMv6、PIM-SSMv6を使用するにはフィーチャーライセンスが必要です。ただし、AT-IX5-28GPX用のフィーチャーライセンスではサポートされませんので、ご注意ください。

Note
VCS構成時はPIM-SMv6、PIM-SSMv6とRSTPを併用できません。

概要

PIM-SMv6は、明示的に要求を出したネットワークにだけトラフィックを届けるSparseモードのマルチキャスト経路制御プロトコルです。このプロトコルは、グループのメンバーがネットワーク上に広くまばらに分散しているような環境で最適な動作をするよう設計されています。グループへの参加を表明していないルーターにトラフィックが配送されることは原則としてありません。これを実現するため、グループのトラフィックをとりまとめるランデブーポイント(RP)というルーターを用意し、RPを起点とする共有木を作成してトラフィックを配送します。

PIM-SMv6では、次の役割を持つルーターが必要です。

■ DR(Designated Router:代表ルーター:各サブネットに最低1台のDR候補が必要)
各サブネットにおいて、実際にマルチキャストパケットの転送を担当するルーター。PIM-SMv6では、マルチキャストクライアントが存在するIPv6サブネットごとにDRが必要です。サブネット内に複数のPIM-SMv6ルーターが存在する場合、インターフェースに設定されたDR優先度の値がもっとも大きなルーターがDRとなります。DR優先度が同じときは、IPv6アドレスの大きなルーターがDRになります。同一サブネット上のPIM-SMv6ルーターは定期的にHelloパケットを送信して互いの状態を監視しており、DRがダウンした場合は次点のルーターがDRになります。

■ RP(Rendezvous Point:ランデブーポイント:各マルチキャストグループに最低1台のRP候補が必要)
PIM-SMv6ネットワークの中核をなす重要なルーター。マルチキャストグループごとに用意します。マルチキャストパケットの送信者が接続されているネットワークのDR(FHR:ファーストホップルーター)と、受信者が接続されているネットワークのDR(LHR:ラストホップルーター)は、送受信を始めるにあたってRPにメッセージを送り、このような送信者・受信者が存在するということを伝えます。最初、ファーストホップルーターはマルチキャストパケットをRPにユニキャストします。すると、RPは通知のあったラストホップルーターに向けてのみ、パケットをマルチキャストで転送します。RP候補(C-RP)が複数存在する場合、RP優先度値のもっとも小さいルーターがRPに選出されます。

■ BSR(Bootstrap Router:ブートストラップルーター:PIM-SMv6ネットワークに最低1台のBSR候補が必要)
PIM-SMv6ネットワークにおいて、RP候補とマルチキャストグループの一覧、および、各グループのRP候補(C-RP)一覧を管理・広告するルーター。複数のBSR候補(C-BSR)が存在するときは、BSR優先度値のもっとも大きいルーターがBSRに選出されます。ネットワーク上のPIM-SMv6ルーターは、BSRから受信した情報をもとに計算を行って各グループのRPを決定します。

次に、PIM-SMv6の基本的な設定手順について説明します。

なお、以下の各例では、VLANとIPv6ユニキャストルーティングの設定までは完了しているものとします。

Note
PIM-SMv6では、マルチキャスト経路の制御に必要なユニキャスト経路情報は交換しないため、あらかじめ何らかの手段で各ルーター上にユニキャスト経路表を構築しておく必要があります。通常、そのためには、RIPng、OSPFv3などの設定を行っておく必要があります。

VLANの設定については「L2スイッチング」の「バーチャルLAN」をご覧ください。また、IPv6インターフェースの基本設定については「IPv6」の「IPv6インターフェース」を、静的な経路設定については「IPv6」の「経路制御」を、RIPngについては「IPv6」の「経路制御(RIPng)」を、OSPFv3については「IPv6」の「経路制御(OSPFv3)」をご覧ください。

基本設定

PIM-SMv6では、ランデブーポイント(RP)が重要な役割を果たします。
PIM-SMv6の基本設定は、RPの指定方法によって次の3種類があります。


以下ではそれぞれの基本設定について解説します。

ブートストラップメカニズムによる動的RP

ここでは、ブートストラップメカニズムを利用して、RPを動的に決定する設定を示します。
この場合は、少なくともRP、BSR、その他の3種類のルーターが必要となり、基本設定もRP、BSR、その他の3種類に分かれます(RPとBSRは同じルーターにしてもかまいません)。

ランデブーポイント(RP)
  1. IPv6マルチキャストルーティングを有効化します。これにはipv6 multicast-routingコマンドを使います。
    awplus(config)# ipv6 multicast-routing
    

  2. マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMv6とMLD機能を有効にします。これにはipv6 pim sparse-modeコマンドとipv6 mldコマンドを使います。
    awplus(config)# interface vlan10,vlan20,vlan30
    awplus(config-if)# ipv6 pim sparse-mode
    awplus(config-if)# ipv6 mld
    awplus(config-if)# exit
    

  3. ランデブーポイントとして動作するよう設定します。これにはipv6 pim rp-candidateコマンドを使います。
    ここでは、すべてのマルチキャストグループに対するランデブーポイント候補(C-RP)として自らを広告するよう設定しています。広告時のアドレスとしては、vlan10のIPv6アドレスを使います。
    awplus(config)# ipv6 pim rp-candidate vlan10
    

設定は以上です。

■ 特定のマルチキャストグループ範囲に対してのみ、C-RPとして動作させるには、名前付き標準IPv6アクセスリストを使って対象マルチキャストグループを指定します。たとえば、ff1e::1:2:3:0000~ff1e::1:2:3:ffffのランデブーポイント候補として動作させる場合は次のようにします。
awplus(config)# ipv6 access-list standard mc1 permit ff1e::1:2:3:0/112
awplus(config)# ipv6 pim rp-candidate vlan10 group-list mc1

ブートストラップルーター(BSR)
  1. IPv6マルチキャストルーティングを有効化します。これにはipv6 multicast-routingコマンドを使います。
    awplus(config)# ipv6 multicast-routing
    

  2. マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMv6とMLD機能を有効にします。これにはipv6 pim sparse-modeコマンドとipv6 mldコマンドを使います。
    awplus(config)# interface vlan10,vlan20,vlan30
    awplus(config-if)# ipv6 pim sparse-mode
    awplus(config-if)# ipv6 mld
    awplus(config-if)# exit
    

  3. ブートストラップルーターとして動作するよう設定します。これにはipv6 pim bsr-candidateコマンドを使います。
    ここでは、ブートストラップルーター候補(C-BSR)として自らを広告するよう設定しています。広告時のアドレスとしては、vlan10のIPv6アドレスを使います。
    awplus(config)# ipv6 pim bsr-candidate vlan10
    

設定は以上です。

その他のルーター(非RP)
  1. IPv6マルチキャストルーティングを有効化します。これにはipv6 multicast-routingコマンドを使います。
    awplus(config)# ipv6 multicast-routing
    

  2. マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMv6とMLD機能を有効にします。これにはipv6 pim sparse-modeコマンドとipv6 mldコマンドを使います。
    awplus(config)# interface vlan10,vlan20,vlan30
    awplus(config-if)# ipv6 pim sparse-mode
    awplus(config-if)# ipv6 mld
    awplus(config-if)# exit
    

設定は以上です。

スタティック登録による静的RP

本製品では、BSRを使わずに、RPを静的設定する方法もサポートしています。

この方法では、すべてのルーターに対し、特定のルーターがランデブーポイント(RP)であるということを静的に設定します。
静的RPの構成ではブートストラップルーター(BSR)を使用しないため、ルーターの役割はRPとその他の2種類になりますが、基本設定はすべてのルーターで同じになります。

すべてのルーター(RPおよび非RP)
  1. IPv6マルチキャストルーティングを有効化します。これにはipv6 multicast-routingコマンドを使います。
    awplus(config)# ipv6 multicast-routing
    

  2. マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMv6とMLD機能を有効にします。これにはipv6 pim sparse-modeコマンドとipv6 mldコマンドを使います。
    awplus(config)# interface vlan10,vlan20,vlan30
    awplus(config-if)# ipv6 pim sparse-mode
    awplus(config-if)# ipv6 mld
    awplus(config-if)# exit
    

  3. ランデブーポイント(RP)を静的に設定します。これにはipv6 pim rp-addressコマンドを使います。
    ここでは、すべてのマルチキャストグループに対して、ランデブーポイント2001:db8:10:10::1を使うよう設定しています。
    awplus(config)# ipv6 pim rp-address 2001:db8:10:10::1
    
    Note
    ランデブーポイントの指定は、ランデブーポイントとして動作させるルーター(ここでは2001:db8:10:10::1)にも、そうでないルーターにも同じように行います。

設定は以上です。

■ 特定のマルチキャストグループ範囲ごとにランデブーポイントを設定するには、名前付き標準IPv6アクセスリストを使って対象マルチキャストグループを指定します。たとえば、ff1e::1:2:3:10 ~ ff1e::1:2:3:1f のランデブーポイントとして2001:db8:10:10::1を、ff1e::1:2:3:20 ~ ff1e::1:2:3:2f のランデブーポイントとして2001:db8:10:20::1を使う場合は次のようにします。
awplus(config)# ipv6 access-list standard mc1 permit ff1e::1:2:3:10/124
awplus(config)# ipv6 access-list standard mc2 permit ff1e::1:2:3:20/124
awplus(config)# ipv6 pim rp-address 2001:db8:10:10::1 mc1
awplus(config)# ipv6 pim rp-address 2001:db8:10:20::1 mc2

RPアドレスを埋め込んだ特殊なマルチキャストグループアドレスを使う方法(Embedded RP)

RFC3956では、RPのアドレスを埋め込むことのできる特殊なマルチキャストグループアドレス(Embedded RPマルチキャストグループアドレス。以下、Embedded RPグループアドレス)の範囲 ff70::/12 を定義しています。

PIM-SMv6ネットワーク上のすべてのルーターがEmbedded RPグループアドレスをサポートしていれば、この範囲のアドレスを使用することで、ブートストラップメカニズムやRPのスタティック登録を行わなくても各ルーターはRPのアドレスを知ることができます。
本製品は Embedded RPグループアドレスをサポートしており、初期設定で有効になっています。

■ Embedded RPグループアドレスを使用する場合の注意点をまとめます。


次に、前記のEmbedded RPマルチキャストグループアドレスを使うための設定を示します。
Embedded RPの構成ではブートストラップルーター(BSR)を使用しないため、ルーターの役割はRPとその他の2種類になり、基本設定もRPとその他の2種類に分かれます。

ランデブーポイント(RP)
  1. IPv6マルチキャストルーティングを有効化します。これにはipv6 multicast-routingコマンドを使います。
    awplus(config)# ipv6 multicast-routing
    

  2. マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMv6とMLD機能を有効にします。これにはipv6 pim sparse-modeコマンドとipv6 mldコマンドを使います。
    awplus(config)# interface vlan10,vlan20,vlan30
    awplus(config-if)# ipv6 pim sparse-mode
    awplus(config-if)# ipv6 mld
    awplus(config-if)# exit
    

  3. Embedded RPを有効にします。これには、ipv6 pim rp embeddedコマンドを使います。
    awplus(config)# ipv6 pim rp embedded
    
    Note
    初期状態ではEmbedded RPが有効に設定されているため、特に設定を変更していない場合本手順は省略できます。

  4. Embedded RPマルチキャストグループアドレスに対するランデブーポイント(RP)を静的に設定します。これにはipv6 pim rp-addressコマンドを使います。
    ここでは、ff7e:140:2001:db8:10:10:0000:0000 ~ ff7e:140:2001:db8:10:10:ffff:ffff のランデブーポイントとして、これらのアドレスに埋め込まれた 2001:db8:10:10::1 を使うように設定しています。
    awplus(config)# ipv6 access-list standard embedded permit ff7e:140:2001:db8:10:10::/96
    awplus(config)# ipv6 pim rp-address 2001:db8:10:10::1 embedded
    
    Note
    Embedded RPマルチキャストグループアドレスを使う場合はグループアドレスからRPアドレスを抽出できるため、非RPのPIM-SMv6ルーターでは ipv6 pim rp-addressコマンドによる静的 RP の設定は不要です。ただし、RPとして動作させるルーター(ここでは2001:db8:10:10::1)にだけは、ipv6 pim rp-addressコマンドで自身のインターフェースアドレスを指定する必要があります。これを忘れるとEmbedded RPが動作しないためご注意ください。

設定は以上です。

その他のルーター(非RP)
  1. IPv6マルチキャストルーティングを有効化します。これにはipv6 multicast-routingコマンドを使います。
    awplus(config)# ipv6 multicast-routing
    

  2. マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMv6とMLD機能を有効にします。これにはipv6 pim sparse-modeコマンドとipv6 mldコマンドを使います。
    awplus(config)# interface vlan10,vlan20,vlan30
    awplus(config-if)# ipv6 pim sparse-mode
    awplus(config-if)# ipv6 mld
    awplus(config-if)# exit
    

  3. Embedded RPを有効にします。これには、ipv6 pim rp embeddedコマンドを使います。
    awplus(config)# ipv6 pim rp embedded
    
    Note
    初期状態ではEmbedded RPが有効に設定されているため、特に設定を変更していない場合本手順は省略できます。

設定は以上です。

その他

■ マルチキャスト受信者(ホスト)だけが接続されており、PIM-SMv6ルーターが存在しない末端ネットワークのインターフェースでは、ipv6 pim sparse-modeコマンドでPIM-SMv6を有効化するときにpassiveオプションを指定することにより、PIM-SMv6パケットの送信を抑制できます。
たとえば、前記の各例において、vlan30にPIM-SMv6ルーターが存在しないのであれば、vlan30のみ次のような設定に変更することが可能です。
awplus(config)# interface vlan30
awplus(config-if)# ipv6 pim sparse-mode passive
awplus(config-if)# ipv6 mld

PIM-SSMv6

PIM-SSM(PIM Source Specific Multicast)v6はPIM-SMv6を拡張して送信元指定マルチキャスト(SSM = Source-Specific Multicast)に対応したIPv6マルチキャスト経路制御プロトコルです。

PIM-SSMv6では、マルチキャスト受信者(ホスト)が送信元サーバーのアドレスを明示的に指定することで、ランデブーポイント(RP)を経由する共有ツリーを使わずに、送信元から受信者への最短ツリーによる直接配送を実現します。


■ PIM-SSMv6を使用する場合の注意点をまとめます。

次に、PIM-SSMv6の基本的な設定手順について説明します。

なお、以下の各例では、VLANとIPユニキャストルーティングの設定までは完了しているものとします。


Note
PIM-SSMv6では、マルチキャスト経路の制御に必要なユニキャスト経路情報は交換しないため、あらかじめ何らかの手段で各ルーター上にユニキャスト経路表を構築しておく必要があります。通常、そのためには、RIPng、OSPFv3などの設定を行っておく必要があります。

Note
ECMP環境でマルチキャストルーティングを行う場合は、マルチキャストトラフィックが通過するすべてのECMP経路上でマルチキャストルーティングの設定を行ってください。

Note
PIM-SSMv6使用時でも、本製品のMLD Snooping機能はSSM動作を行いません。すなわち、マルチキャスト受信者(ホスト)による送信元の指定を考慮せずにマルチキャストパケットを転送します。


VLANの設定については「L2スイッチング」の「バーチャルLAN」をご覧ください。また、IPインターフェースの基本設定については「IP」の「IPインターフェース」を、静的な経路設定については「IPv6」の「経路制御」を、RIPngについては「IPv6」の「経路制御(RIPng)」を、OSPFv3については「IPv6」の「経路制御(OSPFv3)」をご覧ください。

基本設定

標準SSMレンジ「ff3x::/32」内のマルチキャストグループにおいてPIM-SSMを使用するための基本設定を示します。
ここでは、SSMレンジ外のアドレスは使わない、すなわち、通常のPIM-SMの動作は行わないものと仮定します。

PIM-SSMv6はPIM-SMv6を拡張したプロトコルであるため、各インターフェースで通常のPIM-SMv6を有効にする必要がありますが、PIM-SSMv6の動作に限定した場合はRPやBSRといった特殊なルーターを使わないため、基本的にすべてのルーターで同じ設定となります。

  1. IPマルチキャストルーティングを有効化します。これにはipv6 multicast-routingコマンドを使います。
    awplus(config)# ipv6 multicast-routing
    

  2. マルチキャストルーティングを行うすべてのインターフェースで、PIM-SMv6とMLD Querier機能を有効にします。これにはipv6 pim sparse-modeコマンドとipv6 mldコマンドを使います。
    awplus(config)# interface vlan10,vlan20,vlan30
    awplus(config-if)# ipv6 pim sparse-mode
    awplus(config-if)# ipv6 mld
    

  3. SSMレンジを指定してPIM-SSMv6を有効化します。これには、ipv6 pim ssmコマンドを使います。
    defaultキーワードを指定した場合は、標準のSSMレンジ(ff3x::/32)に対してPIM-SSMv6の動作が有効になります。
    awplus(config)# ipv6 pim ssm default
    

設定は以上です。


■ SSMレンジ外のマルチキャストグループも併用する場合、SSMレンジ外のグループに対してはPIM-SMv6の動作を行うため、RPやBSRの設定が必要となります。本章の「PIM-SMv6」を参照して、RPやBSRの設定(あるいは静的RPの設定)を追加してください。

■ MLDバージョン2をサポートしていないマルチキャスト受信者(ホスト)が存在する場合は、MLDのSSMマッピング機能を併用してください。

SSMマッピング機能は、MLD Querier側でマルチキャストグループアドレスとマルチキャスト送信者の対応表を用意しておくことにより、マルチキャスト受信者(ホスト)がMLDバージョン1にしか対応していない場合でも、SSMレンジ内のアドレスへの参加を可能とする機能です。

MLDバージョン1ではSSMレンジへの参加に必要な送信者アドレスを指定できません(これを(*,G)Joinと呼びます)が、SSMマッピング機能によりグループと送信者の対応表(S -> G)を作っておくことにより、MLDバージョン1の(*,G)Join をMLDバージョン2の(S,G)Join として登録することができます。


次にSSMマッピング機能の設定例を示します。
ここでは、PIM-SSMv6の基本設定は完了しているものとします。

  1. MLDのSSMマッピング機能を有効にします。これにはipv6 mld ssm-map enableコマンドを使います。
    awplus(config)# ipv6 mld ssm-map enable
    

  2. MLDのSSMマッピングテーブルにエントリーを追加します。これには、ipv6 mld ssm-map staticコマンドを使います。
    ここでは、マルチキャストグループff3e::1/128 ~ ff3e::3/128をマルチキャスト送信者2001:db8:ffff::1に関連付けるSSMマッピングエントリーを作成しています。
    awplus(config)# ipv6 access-list standard MLD-SSM-MAP permit ff3e::1/128 
    awplus(config)# ipv6 access-list standard MLD-SSM-MAP permit ff3e::2/128
    awplus(config)# ipv6 access-list standard MLD-SSM-MAP permit ff3e::3/128
    awplus(config)# ipv6 access-list standard MLD-SSM-MAP deny any
    awplus(config)# ipv6 mld ssm-map static MLD-SSM-MAP 2001:db8:ffff::1
    

    これにより、MLDバージョン1による ff3e::X(Xは1~3)へのグループ参加要求 (*,ff3e::.X)Join は、MLDバージョン2の送信元指定付きグループ参加要求 (2001:db8:ffff::1, ff3e::.X)Joinとして扱われるようになります。

設定は以上です。


■ ここまでの例ではすべて標準SSMレンジ(ff3x::/32(xは任意の値))を使っていましたが、標準外のSSMレンジを使用する場合はipv6 pim ssmコマンドで任意のマルチキャストグループアドレス範囲を指定します。

awplus(config)# ipv6 access-list standard IPv6-PIM-SSM-RANGE permit ff0e:1::/32
awplus(config)# ipv6 pim ssm range IPv6-PIM-SSM-RANGE


(C) 2012 - 2020 アライドテレシスホールディングス株式会社

PN: 613-001763 Rev.AK