IP : IP マルチキャスト

PIM を使用したエニーキャスト RP(Nexus)

2013 年 7 月 10 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2012 年 11 月 7 日) | フィードバック

概要

Auto-RP やブートストラップなどのプロトコルを実行することで、ランデブー ポイント(RP)の冗長性を確保できます。ただし、障害発生時のコンバージェンスはそれほど高速ではありません。RP として機能させる複数のルータで同じ IP アドレス(rp-address)が設定されているエニーキャスト RP の概念が存在します。次に、この IP を IGP でアドバタイズします。その他のルータは、rp-address への最適パスに基づいてこれらのいずれかのルータを選択します。障害が発生した場合、コンバージェンスは内部ゲートウェイ プロトコル(IGP)と同じです。

この概念によって、問題が発生します。RP として機能するルータ 1 に加入できる発信側と受信側はほとんどなく、RP として機能するルータ 2 に加入できるものはほとんどないため、さまざまな RP 間で情報を同期する必要があります。これらのルータには、すべての送信元の完全な情報がなく、マルチキャストは破損しています。この問題の解決策は、RP として機能しているすべてのルータ間で送信元に関する情報を同期するメカニズムを使用することです。この目的を果たすことができるプロトコルには次の 2 つがあります。

  • Multicast Source Discovery Protocol(MSDP)

  • PIM

MSDP はしばらくの間存在しています。送信元が RP に登録されるたびに、「Source Active」メッセージが他のルータに送信されます。PIM には拡張機能があり、このドキュメントで詳細に説明しています。現在、この拡張機能は Nexus のみで使用可能です。

前提条件

要件

次の項目に関する知識があることが推奨されます。

  • エニーキャスト RP

  • PIM(Nexus)

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

登録プロセス

次にトポロジの例を示します。

Sender(172.16.1.1)-----------(9/3)Nexus-1(9/2)---------------(9/2)Nexus-2

関連する実行コンフィギュレーション

Nexus 1 関連コンフィギュレーション:

ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4
ip pim anycast-rp 10.1.1.1 192.168.1.1
ip pim anycast-rp 10.1.1.1 192.168.2.2

interface loopback1
  ip address 192.168.1.1/32
  ip router ospf 1 area 0.0.0.0
  ip pim sparse-mode
  
interface loopback7
  ip address 10.1.1.1/32
  ip router ospf 1 area 0.0.0.0
  ip pim sparse-mode

interface Ethernet9/2
  ip address 10.7.7.1/24
  ip router ospf 1 area 0.0.0.0
  ip pim sparse-mode

interface Ethernet9/3
  ip address 172.16.1.2/24
  ip router ospf 1 area 0.0.0.0
  ip pim sparse-mode

Nexus 2 関連コンフィギュレーション:

ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4
ip pim ssm range 232.0.0.0/8
ip pim anycast-rp 10.1.1.1 192.168.1.1
ip pim anycast-rp 10.1.1.1 192.168.2.2

interface loopback1
  ip address 192.168.2.2/32
  ip router ospf 1 area 0.0.0.0
  ip pim sparse-mode
  
interface loopback7
  ip address 10.1.1.1/32
  ip router ospf 1 area 0.0.0.0
  ip pim sparse-mode
  
interface Ethernet9/2
  ip address 10.7.7.2/24
  ip router ospf 1 area 0.0.0.0
  ip pim sparse-mode

次の 2 つの Nexus ボックスがあります。Nexus-1 と Nexus-2。両方が RP として使用されます。RP アドレスは 10.1.1.1 でなければなりません。ループバック 7 は、この IP が設定されている両方の Nexus ボックス上にあります。このループバックは、Open Shortest Path First(OSPF)でアドバタイズされるため、ネットワーク内のさまざまなルータが RP の Nexus-1 または Nexus-2 のいずれかに到達します。これは、最適パス メトリックによって異なります。

両方の Nexus で、次のコマンドを使用して、10.1.1.1 が RP になるよう定義されます。

ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4

次に、RP セットと呼ばれるものを定義する必要があります。これは、RP として機能するすべてのルータのセットです。それぞれの候補の RP ルータでループバックが必要です。これは、RP アドレスとして使用されているループバックとは異なります。この例では、ループバック 1 は、それぞれ IP アドレスが 192.168.1.1/32 と 192.168.2.2/32 の両方の Nexuse 上にあります。このループバック 1 は、RP セットを定義するために使用されます。同じことを行うためのコマンドは次のとおりです。

ip pim anycast-rp <rp-address> <ip-address-of-prospective-RP>

両方の Nexuse で設定を行うためのコマンドは次のとおりです。

  • ip pim anycast-rp 10.1.1.1 192.168.1.1

  • ip pim anycast-rp 10.1.1.1 192.168.2.2

ここで注意すべき 1 つの点は、RP セットのみではなく独自の IP を定義する必要があることです。そのため、これらの両方のコマンドを両方の Nexus ボックスに適用する必要があります。

RP セットの定義後に、RP マッピングでは次の出力が表示されます。

Nexus-1# show ip pim rp 
PIM RP Status Information for VRF "default"
BSR disabled
Auto-RP disabled
BSR RP Candidate policy: None
BSR RP policy: None
Auto-RP Announce policy: None
Auto-RP Discovery policy: None

Anycast-RP 10.1.1.1 members:
  192.168.1.1*  192.168.2.2                          

RP: 10.1.1.1*, (0), uptime: 00:00:58, expires: never,
  priority: 0, RP-source: (local), group ranges:
      224.0.0.0/4   
      
      
Nexus-2# show ip pim rp 
PIM RP Status Information for VRF "default"
BSR disabled
Auto-RP disabled
BSR RP Candidate policy: None
BSR RP policy: None
Auto-RP Announce policy: None
Auto-RP Discovery policy: None

Anycast-RP 10.1.1.1 members:
  192.168.1.1  192.168.2.2*  

RP: 10.1.1.1*, (0), uptime: 02:46:54, expires: never,
  priority: 0, RP-source: (local), group ranges:
      224.0.0.0/4 

たとえば、RP セットに属するいずれかのルータで登録メッセージを受信します。このルータは、この送信元の S,G をそのテーブル内に追加します。また、ルータは、PIM 登録メッセージを RP セットのその他すべてのメンバーに送信します。この登録メッセージの送信元 IP は、RP セット内にあるこのルータのアドレスで、宛先は、RP セット内の各ルータのアドレスです。

この例では、送信元 172.16.1.1 が 239.1.1.1 宛のマルチキャスト パケットを Nexus-1 に送信すると、Nexus-1 は最初にこの送信元を RP として登録して、送信元 172.16.1.1 とグループ 239.1.1.1 の登録メッセージを Nexus-2 に送信します。Nexus-2 は、この登録を受信すると、172.16.1.1 と 239.1.1.1 の S,G エントリを mroute テーブルに追加します。これで、RP Nexus-1 と Nexus-2 の両方がこの送信元を認識します。Nexus-1 から Nexus-2 に送信された登録メッセージには、RP セットで定義された送信元 IP 192.168.1.1 と宛先 IP 192.168.2.2 があります。

登録プロセス後の両方の Nexus ボックスでの mroute エントリ:

Nexus-1# sh ip mroute 239.1.1.1
IP Multicast Routing Table for VRF "default"

(172.16.1.1/32, 239.1.1.1/32), uptime: 00:00:22, ip pim 
  Incoming interface: Ethernet9/3, RPF nbr: 172.16.1.1, internal
  Outgoing interface list: (count: 0)


Nexus-2# sh ip mroute 239.1.1.1
IP Multicast Routing Table for VRF "default"

(172.16.1.1/32, 239.1.1.1/32), uptime: 00:00:17, pim ip 
  Incoming interface: Ethernet9/2, RPF nbr: 10.7.7.1, internal
  Outgoing interface list: (count: 0)

Nexus-2 で行われるそのような登録メッセージのパケット ダンプ:

Ethernet II, Src: d8:67:d9:04:5f:41 (d8:67:d9:04:5f:41), Dst: d8:67:d9:02:3b:41 
(d8:67:d9:02:3b:41)
    Destination: d8:67:d9:02:3b:41 (d8:67:d9:02:3b:41)
        Address: d8:67:d9:02:3b:41 (d8:67:d9:02:3b:41)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory
 default)
    Source: d8:67:d9:04:5f:41 (d8:67:d9:04:5f:41)
        Address: d8:67:d9:04:5f:41 (d8:67:d9:04:5f:41)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory
 default)
    Type: IP (0x0800)
Internet Protocol, Src: 192.168.1.1 (192.168.1.1), Dst: 192.168.2.2 (192.168.2.2)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 128
    Identification: 0x1b27 (6951)
    Flags: 0x00
        0.. = Reserved bit: Not Set
        .0. = Don't fragment: Not Set
        ..0 = More fragments: Not Set
    Fragment offset: 0
    Time to live: 254
    Protocol: PIM (0x67)
    Header checksum: 0x9aea [correct]
        [Good: True]
        [Bad : False]
    Source: 192.168.1.1 (192.168.1.1)
    Destination: 192.168.2.2 (192.168.2.2)
Protocol Independent Multicast
    Version: 2
    Type: Register (1)
    Checksum: 0xdeff [correct]
    PIM parameters
        Flags: 0x00000000
            0... .... .... .... .... .... .... .... = Not border
            .0.. .... .... .... .... .... .... .... = Not Null-Register
        Internet Protocol, Src: 172.16.1.1 (172.16.1.1), Dst: 239.1.1.1 (239.1.1.1)
            Version: 4
            Header length: 20 bytes
            Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
                0000 00.. = Differentiated Services Codepoint: Default (0x00)
                .... ..0. = ECN-Capable Transport (ECT): 0
                .... ...0 = ECN-CE: 0
            Total Length: 100
            Identification: 0x0000 (0)
            Flags: 0x00
                0.. = Reserved bit: Not Set
                .0. = Don't fragment: Not Set
                ..0 = More fragments: Not Set
            Fragment offset: 0
            Time to live: 254
            Protocol: ICMP (0x01)
            Header checksum: 0xa294 [correct]
                [Good: True]
                [Bad : False]
            Source: 172.16.1.1 (172.16.1.1)
            Destination: 239.1.1.1 (239.1.1.1)
        Internet Control Message Protocol
            Type: 8 (Echo (ping) request)
            Code: 0 ()
            Checksum: 0x9484 [correct]
            Identifier: 0x0000
            Sequence number: 0 (0x0000)
            Data (72 bytes)

0000  00 00 00 00 00 71 e9 54 ab cd ab cd ab cd ab cd   .....q.T........
0010  ab cd ab cd ab cd ab cd ab cd ab cd ab cd ab cd   ................
0020  ab cd ab cd ab cd ab cd ab cd ab cd ab cd ab cd   ................
0030  ab cd ab cd ab cd ab cd ab cd ab cd ab cd ab cd   ................
0040  ab cd ab cd ab cd ab cd                           ........
                Data: 000000000071E954ABCDABCDABCDABCDABCDABCDABCDABCD...
                [Length: 72]

次のフィルタを使用して、Nexus のインバンドで PIM パケットをキャプチャできます。

ethanalyzer local interface inband capture-filter "ip proto 103" limit-captured-frames 0 write logflash:pim.pcap

これによって、PIM パケットのキャプチャが Ctrl+C を押すまで無期限で開始されます。パケットは、logflash 内の pim.pcap ファイルに書き込まれるだけでなく、画面に表示されます。特定の PIM ネイバーからパケットをキャプチャするために、IP アドレスを含めることもできます(「ip proto 103 and host <ip_address>」)。

関連するデバッグ

次に、Nexus での登録プロセスの確認に役立つ 2 つのデバッグを示します。

  • debug ip pim data-register send

  • debug ip pim data-register receive

Nexus-1

2012 Sep 20 12:25:52.537472 pim: [6405] (default-base) Received Register from 172.16.1.2 for (172.16.1.1/32, 239.1.1.1/32) 
2012 Sep 20 12:25:52.537656 pim: [6405] (default-base) Create route for (172.16.1.1/32, 239.1.1.1/32) 
2012 Sep 20 12:25:52.537716 pim: [6405] (default-base) Add route (172.16.1.1/32, 239.1.1.1/32) to MRIB, multi-route TRUE 
2012 Sep 20 12:25:52.537745 pim: [6405] (default-base) RP 10.1.1.1 is an Anycast-RP 
2012 Sep 20 12:25:52.537771 pim: [6405] (default-base) Forward Register to Anycast-RP member 192.168.2.2 
2012 Sep 20 12:25:52.537825 pim: [6405] (default-base) Send Register-Stop to 172.16.1.2 for (172.16.1.1/32, 239.1.1.1/32) 
2012 Sep 20 12:25:52.538591 pim: [6405] (default-base) Received Register-Stop from 10.1.1.1 for (172.16.1.1/32, 239.1.1.1/32)

Nexus-2

2012 Sep 20 12:26:36.367862 pim: [7189] (default-base) Received Register from 192.168.1.1 for (172.16.1.1/32, 239.1.1.1/32) 
2012 Sep 20 12:26:36.368093 pim: [7189] (default-base) Create route for (172.16.1.1/32, 239.1.1.1/32) 
2012 Sep 20 12:26:36.368175 pim: [7189] (default-base) Add route (172.16.1.1/32, 239.1.1.1/32) to MRIB, multi-route FALSE 
2012 Sep 20 12:26:36.368223 pim: [7189] (default-base) RP 10.1.1.1 is an Anycast-RP 
2012 Sep 20 12:26:36.368240 pim: [7189] (default-base) Register received from Anycast-RP member 192.168.1.1

次の RFC には、PIM 登録プロセスの詳細情報が記載されています。http://tools.ietf.org/rfc/rfc4610.txt leavingcisco.com

また、詳細について『PIM および PIM6 の設定』を参照してください。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 115011