Vous pouvez avoir une redondance pour Rendezvous Point (RP) en exécutant des protocoles tels que auto-RP et Bootstrap. Cependant, en cas d'échec, leur convergence n'est pas si rapide. Il y a un concept de RP Anycast où la même adresse IP (rp-address) est configurée sur deux routeurs ou plus que vous voulez servir comme RP. Ensuite, annoncez cette adresse IP dans IGP. Les autres routeurs sélectionneront l’un de ces routeurs en fonction du meilleur chemin vers l’adresse IP. En cas de panne, la convergence est la même que celle du protocole IGP (Interior Gateway Protocol).
Ce concept pose un problème. Les informations doivent être synchronisées entre les différents RP, car peu d'expéditeurs et de récepteurs peuvent rejoindre le routeur 1 servant de RP, et peu peuvent rejoindre le routeur 2 servant de RP. Ces routeurs ne disposeraient pas d’informations complètes sur toutes les sources et la multidiffusion serait interrompue. La solution à ce problème est d'avoir un mécanisme pour synchroniser les informations par rapport aux sources entre tous les routeurs qui agissent comme un RP. Deux protocoles peuvent remplir cette fonction :
Protocole MSDP (Multicast Source Discovery Protocol)
PIM
Le protocole MSDP existe depuis un certain temps. Source Les messages actifs sont envoyés aux autres routeurs chaque fois qu'une source s'enregistre auprès d'un RP. Le PIM a été amélioré et est détaillé dans ce document. Actuellement, cette amélioration est uniquement disponible pour Nexus.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
RP Anycast
PIM (Nexus)
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Voici un exemple de topologie :
Expéditeur(172.16.1.1)-----------(9/3)Nexus-1(9/2)---------------(9/2)Nexus-2
Configuration pertinente de 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
Configuration pertinente de 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
Il existe deux boîtiers Nexus : Nexus-1 et Nexus-2. Les deux seront utilisés comme RP. L'adresse RP doit être 10.1.1.1. Le bouclage 7 se trouve sur les deux modules Nexus pour lesquels cette adresse IP est configurée. Ce bouclage est ensuite annoncé dans Open Shortest Path First (OSPF) afin que différents routeurs du réseau atteignent Nexus-1 ou Nexus-2 pour le RP. Cela dépend de la meilleure métrique de chemin.
Sur les deux Nexus, 10.1.1.1 est défini comme RP à l'aide de cette commande :
ip pim rp-address 10.1.1.1 group-list 24.0.0.0/4
Maintenant, vous devez définir quelque chose appelé l'ensemble RP. Il s'agit de l'ensemble de tous les routeurs qui agiraient comme RP. Vous devez avoir un bouclage sur chaque routeur RP potentiel, qui est différent du bouclage qui est utilisé comme adresse RP. Dans cet exemple, le bouclage 1 est sur les deux Nexus qui ont l'adresse IP 192.168.1.1/32 et 192.168.2.2/32, respectivement. Ce bouclage 1 est utilisé pour définir l'ensemble RP. La commande pour faire la même chose est :
ip pim anycast-rp <adresse-rp> <adresse-ip-de-prospective-RP>
Les commandes pour les deux Nexus pour la configuration sont les suivantes :
ip pim anycast-rp 10.1.1.1 192.168.1.1
ip pim anycast-rp 10.1.1.1 192.168.2.2
Une chose à noter ici est que vous devez définir votre propre IP, ainsi que dans l'ensemble RP. Par conséquent, ces deux commandes doivent être placées sur les deux boîtes Nexus.
Une fois le jeu RP défini, voici la sortie que vous voyez pour le mappage 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
Par exemple, vous recevez un message d'enregistrement sur l'un des routeurs qui fait partie de l'ensemble RP. Ce routeur ajoute S, G pour cette source dans sa table. En outre, le routeur envoie un message de registre PIM à tous les autres membres du RP set. L'adresse IP source de ce message de registre serait l'adresse de ce routeur qui est dans l'ensemble RP, et la destination serait l'adresse de chaque routeur dans l'ensemble RP.
Dans cet exemple, lorsque la source 172.16.1.1 envoie un paquet de multidiffusion destiné à 239.1.1.1 vers Nexus-1, Nexus-1 enregistre d'abord cette source en tant que RP et envoie un message de registre à Nexus-2 pour la source 172.16.1.1 et le groupe 239.1.1.1. Lorsque Nexus-2 reçoit ce registre, il ajoute une entrée S, G pour 172.16.1.1, 239.1.1.1 dans la table mroute. Maintenant RP Nexus-1 et Nexus-2 connaissent cette source. Le message de registre qui a été envoyé de Nexus-1 à Nexus-2 avait l'IP source 192.168.1.1 et l'IP de destination 192.168.2.2 comme défini dans l'ensemble RP.
Entrées Mroute sur les deux boîtes Nexus après le processus d'enregistrement :
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)
Vidage de paquets d'un tel message de registre sur 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]
Vous pouvez utiliser ce filtre pour capturer des paquets PIM sur l'intrabande du Nexus :
ethanalyzer local interface inband capture-filter "ip proto 103" limit-capture-frames 0 write logflash: pim.pcap
Cette opération commence à capturer les paquets PIM indéfiniment jusqu'à ce que cntrl+c soit enfoncé. Les paquets sont affichés à l'écran et sont écrits dans le fichier pim.pcap dans logflash. Vous pouvez également inclure l'adresse IP pour capturer les paquets d'un voisin PIM particulier ("ip proto 103 and host <ip_address>").
Voici les deux débogages qui sont utiles pour vérifier le processus d'enregistrement sur Nexus :
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
Cette RFC fournit plus d'informations sur le processus d'enregistrement PIM : http://tools.ietf.org/rfc/rfc4610.txt
Référez-vous également à Configuration de PIM et PIM6 pour plus d'informations.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
25-Oct-2012 |
Première publication |