IP マルチキャスト:PIM コンフィギュレーション ガイド、Cisco IOS XE Release 3S(Cisco ASR 1000)
IPv6 マルチキャスト:PIM Source-Specific Multicast
IPv6 マルチキャスト:PIM Source-Specific Multicast
発行日;2013/07/26   |   ドキュメントご利用ガイド   |   ダウンロード ;   この章 pdf   ,   ドキュメント全体 pdf    |   フィードバック

目次

IPv6 マルチキャスト:PIM Source-Specific Multicast

PIM Source Specific Multicast(SSM)ルーティング プロトコルは、PIM-SM から派生したものであり、SSM の実装をサポートしています。 ただし、PIM-SM では PIM join を受けてすべてのマルチキャスト送信元からデータが送信されるのに対し、SSM 機能では、受信側が明示的に加入しているマルチキャスト送信元だけからその受信側にデータグラム トラフィックが転送されます。これにより、帯域利用率が最適化され、不要なインターネット ブロードキャスト トラフィックが拒否されます。

機能情報の確認

ご使用のソフトウェア リリースでは、このモジュールで説明されるすべての機能がサポートされているとは限りません。 最新の機能情報および警告については、Bug Search Tool およびプラットフォームとソフトウェア リリースのリリース ノートを参照してください。 このモジュールに記載されている機能の詳細を検索し、各機能がサポートされているリリースのリストを確認する場合は、このモジュールの最後にある機能情報の表を参照してください。

プラットフォームのサポートおよびシスコ ソフトウェア イメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。 Cisco Feature Navigator にアクセスするには、www.cisco.com/​go/​cfn に移動します。 Cisco.com のアカウントは必要ありません。

IPv6 マルチキャストの前提条件:PIM Source-Specific Multicast

  • Source Specific Multicast(SSM)を動作させるには、マルチキャスト リスナー検出(MLD)バージョン 2 が必要です。
  • MLD を使用して SSM を動作させるには、Cisco IPv6 デバイス、アプリケーションが実行されているホスト、およびアプリケーション自体で SSM がサポートされている必要があります。

IPv6 マルチキャストについて:PIM Source-Specific Multicast

IPv6 マルチキャスト ルーティングの実装

Cisco ソフトウェアでは、IPv6 マルチキャスト ルーティングを実装するため、次のプロトコルがサポートされています。

  • MLD は、直接接続されているリンク上のマルチキャスト リスナー(特定のマルチキャスト アドレスを宛先としたマルチキャスト パケットを受信するために使用するノード)を検出するために IPv6 デバイスで使用されます。 MLD には 2 つのバージョンがあります。
    • MLD バージョン 1 は、バージョン 2 の Internet Group Management Protocol(IGMP)for IPv4 をベースとしています。
    • MLD バージョン 2 は、バージョン 3 の IGMP for IPv4 をベースとしています。
  • Cisco ソフトウェアの IPv6 マルチキャストでは、MLD バージョン 2 と MLD バージョン 1 の両方が使用されます。 MLD バージョン 2 は、MLD バージョン 1 と完全な下位互換性があります(RFC 2710 で規定)。 MLD バージョン 1 だけをサポートするホストは、MLD バージョン 2 を実行しているデバイスと相互運用します。 MLD バージョン 1 ホストと MLD バージョン 2 ホストの両方が混在する LAN もサポートされています。
  • PIM-SM は、相互に転送されるマルチキャスト パケット、および直接接続されている LAN に転送されるマルチキャスト パケットを追跡するためにデバイス間で使用されます。
  • PIM in Source Specific Multicast(PIM-SSM)は PIM-SM と類似していますが、IP マルチキャスト アドレスを宛先とした特定の送信元アドレス(または特定の送信元アドレスを除くすべてのアドレス)からのパケットを受信する対象をレポートする機能を別途備えています。

下の図に、MLD と PIM-SM が IPv6 マルチキャスト環境で動作する場所を示します。

図 1. IPv6 でサポートされている IPv6 マルチキャスト ルーティング プロトコル

プロトコル独立マルチキャスト

プロトコル独立マルチキャスト(PIM)は、相互に転送されるマルチキャスト パケット、および直接接続されている LAN に転送されるマルチキャスト パケットを追跡するためにデバイス間で使用されます。 PIM は、ユニキャスト ルーティング プロトコルとは独立して動作し、他のプロトコルと同様に、マルチキャスト ルート アップデートの送受信を実行します。 ユニキャスト ルーティング テーブルに値を入力するために LAN でどのユニキャスト ルーティング プロトコルが使用されているかどうかにかかわらず、Cisco IOS PIM では、独自のルーティング テーブルを構築および管理する代わりに、既存のユニキャスト テーブル コンテンツを使用して、リバース パス転送(RPF)チェックを実行します。

PIM スパース モード(SM)または PIM 送信元固有マルチキャスト(SSM)動作のいずれかを使用するように IPv6 マルチキャストを設定することも、ネットワークで PIM-SM と PIM-SSM の両方を使用することもできます。

PIM 送信元固有マルチキャスト

PIM-SSM は、SSM の実装をサポートするルーティング プロトコルであり、PIM-SM から派生したものです。 ただし、PIM-SM では PIM join を受けてすべてのマルチキャスト送信元からデータが送信されるのに対し、SSM 機能では、受信側が明示的に加入しているマルチキャスト送信元だけからその受信側にデータグラム トラフィックが転送されます。これにより、帯域利用率が最適化され、不要なインターネット ブロードキャスト トラフィックが拒否されます。 さらに、SSM では、RP と共有ツリーを使用する代わりに、マルチキャスト グループの送信元アドレスで見つかった情報を使用します。 この情報は、MLD メンバーシップ レポートによってラストホップ デバイスにリレーされる送信元アドレスを通して受信側から提供されます。その結果として、送信元に直接つながる最短パス ツリーが得られます。

SSM では、データグラムは(S, G)チャネルに基づいて配信されます。 1 つの(S, G)チャネルのトラフィックは、IPv6 ユニキャスト送信元アドレス S とマルチキャスト グループ アドレス G を IPv6 宛先アドレスとして使用するデータグラムで構成されます。 システムは、(S, G)チャネルのメンバになることによって、このトラフィックを受信します。 シグナリングは不要ですが、受信側は特定の送信元からのトラフィックを受信する場合は(S, G)チャネルに加入し、トラフィックを受信しない場合はチャネルから脱退する必要があります。

SSM を動作させるには、MLD バージョン 2 が必要です。 MLD を使用すると、ホストが送信元の情報を提供できるようになります。 MLD を使用して SSM を動作させるには、Cisco IPv6 デバイス、アプリケーションが実行されているホスト、およびアプリケーション自体で SSM がサポートされている必要があります。

PIM 共有ツリーおよび送信元ツリー(最短パス ツリー)

デフォルトでは、グループのメンバは、RP をルートとする単一のデータ配布ツリーを通じて、送信側からグループへのデータを受信します。 このタイプの配布ツリーは、共有ツリーまたはランデブー ポイント ツリー(RPT)と呼ばれます(下の図を参照)。 送信側からのデータは、RP に配信され、その共有ツリーに加入しているグループ メンバに配布されます。

図 2. 共有ツリーおよび送信元ツリー(最短パス ツリー)

データしきい値で保証される場合、共有ツリー上のリーフ デバイスは、送信元をルートとするデータ配布ツリーへの切り替えを開始できます。 このタイプの配布ツリーは、最短パス ツリーまたは送信元ツリーと呼ばれます。 デフォルトでは、ソフトウェアが送信元から最初のデータ パケットを受信すると、送信元ツリーに切り替わります。

次に、共有ツリーから送信元ツリーに切り替わるプロセスの詳細を示します。

  1. 受信側がグループに加入します。リーフ デバイス C が RP に join メッセージを送信します。
  2. RP がデバイス C へのリンクを発信インターフェイス リストに登録します。
  3. 送信元がデータを送信します。デバイス A が register にデータをカプセル化し、それを RP に送信します。
  4. RP が共有ツリーの下位方向のデバイス C にデータを転送し、送信元に join メッセージを送信します。 この時点で、データはデバイス C に 2 回(カプセル化された状態で 1 回、ネイティブの状態で 1 回)着信する可能性があります。
  5. データがネイティブの(カプセル化されていない)状態で RP に着信すると、RP はデバイス A に register-stop メッセージを送信します。
  6. デフォルトでは、デバイス C は、最初のデータ パケットを受信した時点で、送信元に join メッセージを送信します。
  7. デバイス C が(S, G)でデータを受信すると、デバイス C は共有ツリーの上位方向にある送信元に prune メッセージを送信します。
  8. RP が(S, G)の発信インターフェイスからデバイス C へのリンクを削除します。
  9. RP が送信元への prune メッセージをトリガーします。

送信元および RP に join および prune メッセージが送信されます。 これらのメッセージはホップ単位で送信され、送信元または RP へのパス上にある各 PIM デバイスで処理されます。 register および register-stop メッセージは、ホップバイホップで送信されません。 これらのメッセージは、送信元に直接接続されている指定ルータ(DR)によって送信され、グループの RP によって受信されます。

リバース パス転送

リバース パス転送は、マルチキャスト データグラムの転送に使用されます。 これは、次のように機能します。

  • デバイスで送信元へのユニキャスト パケットの送信に使用しているインターフェイスでデータグラムを受信すると、パケットは RPF インターフェイスに着信しています。
  • パケットが RPF インターフェイスに着信した場合、デバイスは、マルチキャスト ルーティング テーブル エントリの発信インターフェイス リストに存在するインターフェイスにパケットを転送します。
  • パケットが RPF インターフェイスに着信しない場合、パケットはループを回避するためにサイレントにドロップされています。

PIM では、送信元ツリーと RP をルートとする共有ツリーの両方を使用してデータグラムを転送します。RPF チェックは、次のようにそれぞれ異なる方法で実行されます。

  • PIM デバイスが送信元ツリー ステートである場合(つまり、(S, G)エントリがマルチキャスト ルーティング テーブル内にある場合)、マルチキャスト パケットの送信元の IPv6 アドレスに対して RPF チェックが実行されます。
  • PIM デバイスが共有ツリー ステートである場合(および送信元ツリー ステートが明示されていない場合)、(メンバがグループに加入している場合は既知である)RP のアドレスに対して RPF チェックが実行されます。

空間モード PIM では、RPF ルックアップ機能を使用して、join および prune の送信先を決定します。 (S, G)join(送信元ツリー ステート)は送信元に向けて送信されます。 (*, G)join(共有ツリー ステート)は RP に向けて送信されます。

IPv6 マルチキャストの設定方法:PIM Source-Specific Multicast

PIM オプションの設定

手順の概要

    1.    enable

    2.    configure terminal

    3.    ipv6 pim [vrf vrf-name] spt-threshold infinity [group-list access-list-name]

    4.    ipv6 pim [vrf vrf-name] accept-register {list access-list | route-map map-name}

    5.    interface type number

    6.    ipv6 pim dr-priority value

    7.    ipv6 pim hello-interval seconds

    8.    ipv6 pim join-prune-interval seconds

    9.    exit

    10.    show ipv6 pim [vrf vrf-name] join-prune statistic [interface-type]


手順の詳細
     コマンドまたはアクション目的
    ステップ 1 enable


    例:
    Device> enable
     

    特権 EXEC モードをイネーブルにします。

    • パスワードを入力します(要求された場合)。
     
    ステップ 2 configure terminal


    例:
    Device# configure terminal
     

    グローバル コンフィギュレーション モードを開始します。

     
    ステップ 3 ipv6 pim [vrf vrf-name] spt-threshold infinity [group-list access-list-name]


    例:
    Device(config)# ipv6 pim spt-threshold infinity group-list acc-grp-1
     

    PIM リーフ デバイスが指定したグループの SPT に加入するタイミングを設定します。

     
    ステップ 4 ipv6 pim [vrf vrf-name] accept-register {list access-list | route-map map-name}


    例:
    Device(config)# ipv6 pim accept-register route-map reg-filter
     

    RP のレジスタを許可または拒否します。

     
    ステップ 5 interface type number


    例:
    Device(config)# interface FastEthernet 1/0
     

    インターフェイスのタイプと番号を指定し、デバイスをインターフェイス コンフィギュレーション モードにします。

     
    ステップ 6 ipv6 pim dr-priority value


    例:
    Device(config-if)# ipv6 pim dr-priority 3
     

    PIM デバイスの DR プライオリティを設定します。

     
    ステップ 7 ipv6 pim hello-interval seconds


    例:
    Device(config-if)# ipv6 pim hello-interval 45
     

    インターフェイスにおける PIM hello メッセージの頻度を設定します。

     
    ステップ 8 ipv6 pim join-prune-interval seconds


    例:
    Device(config-if)# ipv6 pim join-prune-interval 75
     

    指定したインターフェイスに対して join および prune の定期的な通知間隔を設定します。

     
    ステップ 9 exit


    例:
    Device(config-if)# exit
     

    このコマンドを 2 回入力して、インターフェイス コンフィギュレーション モードを終了し、特権 EXEC モードを開始します。

     
    ステップ 10 show ipv6 pim [vrf vrf-name] join-prune statistic [interface-type]


    例:
    Device# show ipv6 pim join-prune statistic
     

    各インターフェイスの最後の集約パケットに関する平均 join-prune 集約を表示します。

     

    PIM トラフィック カウンタのリセット

    PIM が誤動作する場合、または予想される PIM パケット数が送受信されていることを確認するために、PIM トラフィック カウンタをクリアします。 トラフィック カウンタがクリアされると、PIM が正しく動作していること、および PIM パケットが正しく送受信されていることを確認できます。

    手順の概要

      1.    enable

      2.    clear ipv6 pim [vrf vrf-name] traffic

      3.    show ipv6 pim [vrf vrf-name] traffic


    手順の詳細
       コマンドまたはアクション目的
      ステップ 1 enable


      例:
      Device> enable
       

      特権 EXEC モードをイネーブルにします。

      • パスワードを入力します(要求された場合)。
       
      ステップ 2 clear ipv6 pim [vrf vrf-name] traffic


      例:
      Device# clear ipv6 pim traffic
       

      PIM トラフィック カウンタをリセットします。

       
      ステップ 3 show ipv6 pim [vrf vrf-name] traffic


      例:
      Device# show ipv6 pim traffic
       

      PIM トラフィック カウンタを表示します。

       

      PIM トポロジ テーブルをクリアすることによる MRIB 接続のリセット

      MRIB を使用するのに設定は不要です。 ただし、特定の状況においては、ユーザは PIM トポロジ テーブルをクリアして MRIB 接続をリセットし、MRIB 情報を確認する必要がある場合があります。

      手順の概要

        1.    enable

        2.    clear ipv6 pim [vrf vrf-name] topology [group-name | group-address]

        3.    show ipv6 mrib [vrf vrf-name] client [filter] [name {client-name | client-name : client-id}]

        4.    show ipv6 mrib [vrf vrf-name] route [link-local| summary | [sourceaddress-or-name | *] [groupname-or-address [prefix-length]]]

        5.    show ipv6 pim [vrf vrf-name] topology [groupname-or-address [sourcename-or-address] | link-local | route-count [detail]]

        6.    debug ipv6 mrib [vrf vrf-name] client

        7.    debug ipv6 mrib [vrf vrf-name] io

        8.    debug ipv6 mrib proxy

        9.    debug ipv6 mrib [vrf vrf-name] route [group-name | group-address]

        10.    debug ipv6 mrib [vrf vrf-name] table


      手順の詳細
         コマンドまたはアクション目的
        ステップ 1 enable


        例:
        Device> enable
         

        特権 EXEC モードをイネーブルにします。

        • パスワードを入力します(要求された場合)。
         
        ステップ 2 clear ipv6 pim [vrf vrf-name] topology [group-name | group-address]


        例:
        Device# clear ipv6 pim topology FF04::10
         

        PIM トポロジ テーブルをクリアします。

         
        ステップ 3 show ipv6 mrib [vrf vrf-name] client [filter] [name {client-name | client-name : client-id}]


        例:
        Device# show ipv6 mrib client
         

        インターフェイスのマルチキャスト関連情報を表示します。

         
        ステップ 4 show ipv6 mrib [vrf vrf-name] route [link-local| summary | [sourceaddress-or-name | *] [groupname-or-address [prefix-length]]]


        例:
        Device# show ipv6 mrib route
         

        MRIB ルート情報を表示します。

         
        ステップ 5 show ipv6 pim [vrf vrf-name] topology [groupname-or-address [sourcename-or-address] | link-local | route-count [detail]]


        例:
        Device# show ipv6 pim topology
         

        特定のグループまたはすべてのグループの PIM トポロジ テーブル情報を表示します。

         
        ステップ 6 debug ipv6 mrib [vrf vrf-name] client


        例:
        Device# debug ipv6 mrib client
         

        MRIB クライアント管理アクティビティに対するデバッグをイネーブルにします。

         
        ステップ 7 debug ipv6 mrib [vrf vrf-name] io


        例:
        Device# debug ipv6 mrib io
         

        MRIB I/O イベントに対するデバッグをイネーブルにします。

         
        ステップ 8 debug ipv6 mrib proxy


        例:
        Device# debug ipv6 mrib proxy
         

        分散型ルータ プラットフォームにおけるルート プロセッサとラインカード間の MRIB プロキシ アクティビティに対するデバッグをイネーブルにします。

         
        ステップ 9 debug ipv6 mrib [vrf vrf-name] route [group-name | group-address]


        例:
        Device# debug ipv6 mrib route 
         

        MRIB ルーティング エントリ関連のアクティビティに関する情報を表示します。

         
        ステップ 10 debug ipv6 mrib [vrf vrf-name] table


        例:
        Device# debug ipv6 mrib table
         

        MRIB テーブル管理アクティビティに対するデバッグをイネーブルにします。

         

        IPv6 マルチキャストの設定例:PIM Source-Specific Multicast

        例:IPv6 PIM トポロジ情報の表示

        Device# show ipv6 pim topology
        
        IP PIM Multicast Topology Table
        Entry state:(*/S,G)[RPT/SPT] Protocol Uptime Info
        Entry flags:KAT - Keep Alive Timer, AA - Assume Alive, PA - Probe Alive,
            RA - Really Alive, LH - Last Hop, DSS - Don't Signal Sources,
            RR - Register Received, SR - Sending Registers, E - MSDP External,
            DCC - Don't Check Connected
        Interface state:Name, Uptime, Fwd, Info
        Interface flags:LI - Local Interest, LD - Local Dissinterest,
        II - Internal Interest, ID - Internal Dissinterest,
        LH - Last Hop, AS - Assert, AB - Admin Boundary
        
        (*,FF05::1)
        SM UP:02:26:56 JP:Join(now) Flags:LH 
        RP:2001:DB8:1:1:2
        RPF:Ethernet1/1,FE81::1 
          Ethernet0/1          02:26:56  fwd LI LH 
        
        (2001:DB8:1:1:200,FF05::1)
        SM UP:00:00:07 JP:Null(never) Flags:
        RPF:Ethernet1/1,FE80::30:1:4 
          Ethernet1/1          00:00:07  off LI 

        例:Join/Prune 集約の設定

        次に、イーサネット インターフェイス 0/0 で join/prune 集約を提供する例を示します。

        Device# show ipv6 pim join-prune statistic Ethernet0/0
        
        PIM Average Join/Prune Aggregation for last (1K/10K/50K) packets
        Interface             Transmitted             Received
        Ethernet0/0      0    / 0             1    / 0    
        

        例:PIM トラフィック情報の表示

        Device# show ipv6 pim traffic 
        
        PIM Traffic Counters
        Elapsed time since counters cleared:00:05:29
        
                                      Received     Sent
        Valid PIM Packets               22          22        
        Hello                           22          22        
        Join-Prune                      0           0         
        Register                        0           0         
        Register Stop                   0           0         
        Assert                          0           0         
        Bidir DF Election               0           0         
        
        Errors:
        Malformed Packets                           0         
        Bad Checksums                               0         
        Send Errors                                 0         
        Packet Sent on Loopback Errors              0         
        Packets Received on PIM-disabled Interface  0         
        Packets Received with Unknown PIM Version   0 

        その他の関連資料

        関連資料

        関連項目

        マニュアル タイトル

        IPv6 のアドレッシングと接続

        『IPv6 Configuration Guide』

        Cisco IOS コマンド

        『Cisco IOS Master Commands List, All Releases』

        IP マルチキャスト コマンド

        『Cisco IOS IP Multicast Command Reference』

        IPv6 コマンド

        『Cisco IOS IPv6 Command Reference』

        Cisco IOS IPv6 機能

        『Cisco IOS IPv6 Feature Mapping』

        標準および RFC

        標準/RFC

        タイトル

        IPv6 用 RFC

        『IPv6 RFCs』

        MIB

        MIB

        MIB のリンク

        選択したプラットフォーム、Cisco IOS リリース、およびフィーチャ セットに関する MIB を探してダウンロードするには、次の URL にある Cisco MIB Locator を使用します。

        http:/​/​www.cisco.com/​go/​mibs

        シスコのテクニカル サポート

        説明

        リンク

        シスコのサポートおよびドキュメンテーション Web サイトでは、ダウンロード可能なマニュアル、ソフトウェア、ツールなどのオンライン リソースを提供しています。 これらのリソースは、ソフトウェアをインストールして設定したり、シスコの製品やテクノロジーに関する技術的問題を解決したりするために使用してください。 この Web サイト上のツールにアクセスする際は、Cisco.com のログイン ID およびパスワードが必要です。

        http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

        IPv6 マルチキャストの機能情報:PIM Source-Specific Multicast

        次の表に、このモジュールで説明した機能に関するリリース情報を示します。 この表は、ソフトウェア リリース トレインで各機能のサポートが導入されたときのソフトウェア リリースだけを示しています。 その機能は、特に断りがない限り、それ以降の一連のソフトウェア リリースでもサポートされます。

        プラットフォームのサポートおよびシスコ ソフトウェア イメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。 Cisco Feature Navigator にアクセスするには、www.cisco.com/​go/​cfn に移動します。 Cisco.com のアカウントは必要ありません。

        表 1 IPv6 マルチキャストの機能情報:PIM Source-Specific Multicast

        機能名

        リリース

        機能情報

        IPv6 マルチキャスト:PIM Source-Specific Multicast

        12.0(26)S

        12.2(18)S

        12.2(25)SG

        12.2(33)SRA

        12.3(2)T

        12.4

        12.4(2)T

        Cisco IOS XE Release 2.1

        15.0(1)S

        PIM-SSM は、PIM-SM から派生したものであり、SSM の実装をサポートしています。 SSM 機能では、受信側が明示的に加入しているマルチキャスト送信元だけからその受信側にデータグラム トラフィックが転送されます。これにより、帯域利用率が最適化され、不要なインターネット ブロードキャスト トラフィックが拒否されます。

        次のコマンドが導入または変更されました。clear ipv6 pim topologydebug ipv6 pimdebug ipv6 pim neighboripv6 pimipv6 pim dr-priorityipv6 pim hello-intervalipv6 pim rp-addressipv6 pim spt-threshold infinityshow ipv6 mrouteshow ipv6 pim group-mapshow ipv6 pim interfaceshow ipv6 pim neighborshow ipv6 pim range-listshow ipv6 pim topologyshow ipv6 pim tunnel