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である必要があります。Loopback 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に登録メッセージを送信します。これで、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
また、詳細について『PIM および PIM6 の設定』を参照してください。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
07-Nov-2012 |
初版 |