Sie können Redundanz für Rendezvous Point (RP) erreichen, indem Sie Protokolle wie auto-RP und Bootstrap ausführen. Bei einem Ausfall ist die Konvergenz jedoch nicht so schnell. Es gibt ein Anycast RP-Konzept, bei dem dieselbe IP-Adresse (RP-Adresse) auf zwei oder mehr Routern konfiguriert wird, die als RP verwendet werden sollen. Geben Sie diese IP dann im IGP an. Andere Router wählen einen dieser Router aus, basierend auf dem besten Pfad zur RP-Adresse. Bei einem Ausfall entspricht die Konvergenz dem Interior Gateway Protocol (IGP).
Mit diesem Konzept ergibt sich ein Problem. Die Informationen müssen zwischen den verschiedenen RPs synchronisiert werden, da nur wenige Sender und Empfänger Router 1 als RP beitreten können, und nur wenige Router 2 als RP. Diese Router verfügen nicht über vollständige Informationen zu allen Quellen, und Multicast ist defekt. Die Lösung für dieses Problem besteht in einem Mechanismus zur Synchronisierung von Informationen bezüglich Quellen zwischen allen Routern, die als RP fungieren. Hierfür können zwei Protokolle verwendet werden:
Multicast Source Discovery Protocol (MSDP)
PIM
Die MSDP gibt es schon eine Weile. Source Active-Meldungen werden an andere Router gesendet, wenn sich eine Quelle bei einem RP registriert. Es gibt eine Erweiterung von PIM, die in diesem Dokument beschrieben wird. Derzeit ist diese Erweiterung nur für Nexus verfügbar.
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Anycast RPs
PIM (Nexus)
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Dies ist eine Beispieltopologie:
Absender(172.16.1.1)-----------(9/3)Nexus-1(9/2)---------------(9/2)Nexus-2
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
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 Switches: Nexus-1 und Nexus-2. Beide werden als RP verwendet. Die RP-Adresse muss 10.1.1.1 lauten. Loopback 7 ist auf beiden Nexus-Geräten vorhanden, auf denen diese IP 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.
Für beide Nexus wird 10.1.1.1 mit dem folgenden Befehl als RP definiert:
ip pim rp-address 10.1.1.1, Gruppenliste 224.0.0.0/4
Nun müssen Sie einen so genannten RP-Satz definieren. Dies ist der Satz aller Router, die als RP fungieren würden. Sie benötigen ein Loopback auf jedem potenziellen RP-Router, 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. Mit diesem Loopback 1 wird der RP-Satz definiert. Der Befehl zum Durchführen derselben lautet:
ip pim anycast-rp <rp-address> <ip-address-of-prospective-RP>
Die Befehle für beide Nexus-Switches für die Konfiguration lauten:
ip pim anycast-rp 10.1.1.1 192.168.1.1
ip pim anycast-rp 10.1.1.1 192.168.2.2
Hierbei ist zu beachten, dass Sie Ihre eigene IP-Adresse sowie den RP-Satz definieren müssen. Aus diesem Grund müssen beide Befehle auf beiden Nexus-Geräten ausgeführt werden.
Nach der Definition des RP-Satzes sehen Sie diese 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
Sie erhalten beispielsweise 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-Registrierungsmeldung an alle anderen Mitglieder des RP-Satzes. Die Quell-IP dieser Registernachricht ist die Adresse dieses Routers im RP-Satz, und das Ziel ist die Adresse jedes Routers im RP-Satz.
Wenn in diesem Beispiel die Quelle 172.16.1.1 ein Multicast-Paket mit der Zieladresse 239.1.1.1 an Nexus-1 sendet, registriert Nexus-1 diese Quelle zuerst als RP und sendet eine Registernachricht an Nexus-2 für die Quelle 172.16.1.1 und die Gruppe 239.1.1.1. Wenn Nexus exus-2 erhält dieses Register und fügt S,G-Einträge für 172.16.1.1, 239.1.1.1 in die mroute-Tabelle ein. Sowohl RP Nexus-1 als auch Nexus-2 kennen diese Quelle. Die von Nexus-1 an Nexus-2 gesendete Registernachricht hatte die Quell-IP 192.168.1.1 und die Ziel-IP 192.168.2.2, wie im RP-Set definiert.
Einträge auf beiden Nexus-Geräten nach dem Registrierungsprozess weiterleiten:
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)
Paketabbild einer solchen Registernachricht auf 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]
Sie können diesen Filter verwenden, um PIM-Pakete in Band des Nexus zu erfassen:
ethanalyzer local interface inband capture-filter "ip proto 103" limit-captured-frames 0 write logflash: pim.pcap
Dadurch werden PIM-Pakete unbegrenzt erfasst, bis STRG+C gedrückt wird. Die Pakete werden auf dem Bildschirm angezeigt und würden 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 Fehlerbehebungen, die zur Überprüfung des Registrierungsprozesses auf Nexus hilfreich sind:
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
Diese RFC bietet weitere Informationen zum PIM-Registrierungsprozess: http://tools.ietf.org/rfc/rfc4610.txt
Weitere Informationen finden Sie unter Configuring PIM and PIM6 (Konfigurieren von PIM und PIM6).
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
25-Oct-2012 |
Erstveröffentlichung |