Sie können für Rendezvous Point (RP) Redundanz erzielen, indem Sie Protokolle wie Auto-RP und Bootstrap ausführen. Bei einem Ausfall ist die Konvergenz jedoch nicht so schnell. Es gibt ein Konzept für Anycast RP, bei dem dieselbe IP-Adresse (RP-Adresse) auf zwei oder mehr Routern konfiguriert wird, die Sie als RP verwenden möchten. Diese IP-Adresse wird dann im IGP angekündigt. Andere Router wählen einen dieser Router basierend auf dem besten Pfad zur RP-Adresse aus. Bei einem Ausfall entspricht die Konvergenz dem Interior Gateway Protocol (IGP).
Mit diesem Konzept entsteht ein Problem. Die Informationen müssen zwischen den verschiedenen RPs synchronisiert werden, da nur wenige Absender und Empfänger Router 1 als RP beitreten und nur wenige Router 2 als RP anschließen. Diese Router verfügen nicht über vollständige Informationen zu allen Quellen, und Multicast wird beschädigt. Die Lösung für dieses Problem ist ein Mechanismus zur Synchronisierung von Informationen in Bezug auf Quellen zwischen allen Routern, die als RP fungieren. Zu diesem Zweck gibt es zwei Protokolle:
Multicast Source Discovery Protocol (MSDP)
PIM
MSDP gibt es schon seit einer Weile. Quell-Aktive Nachrichten werden an andere Router gesendet, wenn sich eine Quelle bei einem RP registriert. Eine PIM-Erweiterung ist in diesem Dokument beschrieben. Diese Erweiterung ist derzeit nur für Nexus verfügbar.
Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:
Anycast RPs
PIM (Nexus)
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps zu Konventionen von Cisco).
Dies ist eine Beispieltopologie:
Absender(172.16.1.1)—(9/3)Nexus-1(9/2)—(9/2)Nexus-2
Für Nexus 1 relevante Konfiguration:
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
Für Nexus 2 relevante Konfiguration:
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
Es gibt zwei Nexus-Boxen: Nexus-1 und Nexus-2. Beide werden als RP verwendet. Die RP-Adresse muss 10.1.1.1 lauten. Loopback 7 befindet sich auf beiden Nexus-Feldern, für die diese IP-Adresse konfiguriert ist. Dieses Loopback wird dann in Open Shortest Path First (OSPF) angekündigt, sodass verschiedene Router im Netzwerk entweder Nexus-1 oder Nexus-2 für den RP erreichen. Dies hängt von der besten Pfadmetrik ab.
Auf beiden Nexus wird 10.1.1.1 als RP definiert, der diesen Befehl verwendet:
ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4
Jetzt müssen Sie etwas definieren, das RP-Set genannt wird. Dies ist der Satz aller Router, die als RP fungieren. Sie benötigen für jeden potenziellen RP-Router ein Loopback, das sich von dem Loopback unterscheidet, das als RP-Adresse verwendet wird. In diesem Beispiel befindet sich Loopback 1 auf beiden Nexus-Geräten mit der IP-Adresse 192.168.1.1/32 bzw. 192.168.2.2/32. Dieser Loopback 1 wird zur Definition des RP-Satzes verwendet. Der folgende Befehl führt die folgenden Schritte aus:
ip pim anycast-rp <rp-address> <ip-address-of-prospective-RP>
Die Befehle für beide Nexus für die Einrichtung sind:
ip pim anycast-rp 10.1.1.1 192.168.1.1
ip pim anycast-rp 10.1.1.1 192.168.2.2
Beachten Sie, dass Sie Ihre eigene IP-Adresse sowie den RP-Satz definieren müssen. Aus diesem Grund müssen beide Befehle auf beide Nexus-Felder angewendet werden.
Sobald der RP-Satz definiert ist, sehen Sie hier die Ausgabe für die RP-Zuordnung:
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
Beispielsweise erhalten Sie eine Registrierungsmeldung auf einem der Router, der Teil des RP-Satzes ist. Dieser Router fügt S,G für diese Quelle in seine Tabelle ein. Außerdem sendet der Router eine PIM-Registernachricht an alle anderen Mitglieder des RP-Satzes. Die Quell-IP dieser Registernachricht ist die Adresse dieses Routers, der sich im RP-Satz befindet, und das Ziel ist die Adresse jedes Routers im RP-Satz.
Wenn in diesem Beispiel die Quelle 172.16.1.1 Multicast-Paket für 239.1.1.1 an Nexus-1 sendet, registriert Nexus-1 diese Quelle zuerst als RP und sendet eine Registrierungsnachricht an Nexus-2 für die Quelle 172.16.1.1 und die Gruppe 239.1.1.1. Wenn Nexus-2 dieses Register empfängt, fügt es S,G-Eintrag für 172.16.1.1, 239.1.1.1 in die mroute-Tabelle ein. Jetzt kennen sowohl RP Nexus-1 als auch Nexus-2 diese Quelle. Die Registrierungsnachricht, die von Nexus-1 an Nexus-2 gesendet wurde, hatte die Quell-IP 192.168.1.1 und war für IP 192.168.2.2 bestimmt, wie im RP-Satz definiert.
Weiterleiten von Einträgen in beiden Nexus-Feldern nach dem Registrierungsprozess:
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)
Packet Dump einer solchen Registernachricht wurde auf Nexus-2 aufgenommen:
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]
Mithilfe dieses Filters können Sie PIM-Pakete in der In-Band-Struktur des Nexus erfassen:
Ethanalyzer Local Interface In Band Capture-Filter "ip proto 103" limitierte erfasste Frames 0 Schreiblogflash: pim.pcap
Dies beginnt, PIM-Pakete unbegrenzt zu erfassen, bis Strg+c gedrückt wird. Die Pakete werden auf dem Bildschirm angezeigt und in die Datei pim.pcap in logflash geschrieben. Sie können auch die IP-Adresse angeben, um Pakete von einem bestimmten PIM-Nachbarn zu erfassen ("ip proto 103 and host <ip_address>").
Dies sind die beiden Debug-Prozesse, die beim Überprüfen des Registrierungsprozesses auf Nexus hilfreich sind:
debug ip pim data register send
debug ip pim data register empfänger
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
Diese RFC enthält weitere Informationen zum PIM-Registrierungsprozess: http://tools.ietf.org/rfc/rfc4610.txt
Weitere Informationen finden Sie außerdem unter Konfigurieren von PIM und PIM6.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
07-Nov-2012 |
Erstveröffentlichung |