U kunt redundantie hebben voor Rendezvous Point (RP) door protocollen uit te voeren zoals auto-RP en Bootstrap. In geval van mislukking is hun convergentie echter niet zo snel. Er is een concept van Anycast RP waar hetzelfde IP adres (rp-adres) is geconfigureerd op twee of meer routers die u wilt dienen als RP. Adverteer vervolgens deze IP in IGP. Andere routers zullen om het even welk van deze routers selecteren die op beste weg aan het rp-adres worden gebaseerd. In het geval van een storing is de convergentie gelijk aan Interior Gateway Protocol (IGP).
Met dit concept doet zich een probleem voor. Informatie moet worden gesynchroniseerd tussen de verschillende RP's omdat weinig zenders en ontvangers zich zouden kunnen aansluiten bij router 1 die dient als een RP, en weinigen zich zouden kunnen aansluiten bij router 2 die dient als een RP. Deze routers zouden geen volledige informatie van alle bronnen hebben en multicast zou worden gebroken. De oplossing voor dit probleem is het hebben van een mechanisme om informatie met betrekking tot bronnen te synchroniseren tussen alle routers die fungeren als een RP. Hiervoor zijn twee protocollen nodig:
Multicast-brondetectieprotocol (MSDP)
PIM
MSDP bestaat al een tijdje. De bron Actieve berichten worden verzonden naar andere routers wanneer een bron aan een RP registreert. Er is een verbetering aan PIM die in dit document gedetailleerd is. Momenteel is deze verbetering alleen beschikbaar voor Nexus.
Cisco raadt kennis van de volgende onderwerpen aan:
Anycast RP's
PIM (Nexus)
Dit document is niet beperkt tot specifieke software- en hardware-versies.
Dit is een voorbeeldtopologie:
Afzender(172.16.1.1)-----------(9/3)Nexus-1(9/2)---------------(9/2)Nexus-2
Nexus 1 relevante configuratie:
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 configuratie:
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
Er zijn twee Nexus-boxen: Nexus-1 en Nexus-2. Beide worden gebruikt als de RP. Het RP-adres moet 10.1.1.1 zijn. Loopback 7 is op beide Nexus-boxen die deze IP geconfigureerd hebben. Deze loopback wordt vervolgens geadverteerd in Open Shortest Path First (OSPF) zodat verschillende routers in het netwerk Nexus-1 of Nexus-2 zullen bereiken voor de RP. Dit is afhankelijk van de beste metriek pad.
Voor beide Nexussen is 10.1.1.1 gedefinieerd als de RP met behulp van deze opdracht:
IP-pim rp-adres 10.1.1.1 groepslijst 24.0.0.0/4
Nu moet je iets definiëren dat de RP-set wordt genoemd. Dit is de set van alle routers die zou fungeren als RP. Je moet een loopback hebben op elke prospectieve RP router, die anders is dan de loopback die wordt gebruikt als het RP-adres. In dit voorbeeld, loopback 1 is op beide Nexuses die IP adres 192.168.1.1/32 en 192.168.2.2/32, respectievelijk hebben. Deze loopback 1 wordt gebruikt om de RP-set te definiëren. De opdracht om dit ook te doen is:
IP-premieanycast-rp <rp-adres> <ip-adres-of-prospective-RP>
De opdrachten voor beide Nexuses voor de installatie zijn:
ip-pim anycast-rp 10.1.1.1 192.168.1.1
ip-pim anycast-rp 10.1.1.1 192.168.2.2
Een ding om hier op te merken is dat je je eigen IP moet definiëren, evenals in de RP-set. Daarom moeten beide commando's op beide Nexus vakjes gezet worden.
Zodra de RP-set is gedefinieerd, is dit de uitvoer die u ziet voor RP mapping:
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
U ontvangt bijvoorbeeld een registerbericht op een van de routers die deel uitmaakt van de RP-set. Deze router zal S,G voor deze bron in zijn lijst toevoegen. Ook zal de router een PIM-registratiebericht verzenden naar alle andere leden van de RP-set. De bron IP van dit registerbericht zou het adres van deze router zijn die in de RP-set zit, en de bestemming zou het adres van elke router in de RP-set zijn.
In dit voorbeeld, wanneer bron 172.16.1.1 multicast pakket dat bestemd is voor 239.1.1.1 naar Nexus-1 verzendt, registreert Nexus-1 eerst deze bron als de RP en stuurt een registerbericht naar Nexus-2 voor bron 172.16.1.1 en groep 239.1.1.1. Wanneer Nexus-2 dit register ontvangt, voegt het S,G ingang voor 172.16.1.1, 239.1.1 toe in de mroute tabel. Zowel RP Nexus-1 als Nexus-2 kennen deze bron. Het registerbericht dat van Nexus-1 naar Nexus-2 werd verzonden, had IP-bron 192.168.1.1 en voorbestemd IP 192.168.2.2 zoals gedefinieerd in de RP-reeks.
Mroute-vermeldingen op beide Nexus-vakken na het registratieproces:
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 van een dergelijk registerbericht op 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]
U kunt dit filter gebruiken om PIM-pakketten op te nemen in de band van de Nexus:
ethanalyzer lokale interface in band opname-filter "ip proto 103" limiet-opgenomen-frames 0 schrijven logflash: pim.pcap
Dit zal beginnen PIM pakketten oneindig te vangen tot cnCtrl+c wordt gedrukt. De pakketten worden weergegeven op het scherm en worden geschreven naar het bestand pim.pcap in logflash. U kunt ook het IP-adres opnemen om pakketten vanuit een bepaalde PIM-buur op te nemen ("IP-protocol 103 en host <ip_address>").
Dit zijn de twee debugs die nuttig zijn om het registratieproces op Nexus te controleren:
debug ip pim data-register verzenden
debug ip pim data-register ontvangen
Nexus 3000-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 3000-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
Deze RFC biedt meer informatie over het PIM-registratieproces: http://tools.ietf.org/rfc/rfc4610.txt
Raadpleeg ook PIM en PIM6 configureren voor meer informatie.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
25-Oct-2012 |
Eerste vrijgave |