Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Processus d'inscription

Configurations en cours pertinentes

Débogues pertinents

Informations connexes

Introduction

Vous pouvez disposer d'une redondance pour le point de rendez-vous (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 existe un concept de RP Anycast où la même adresse IP (rp-address) est configurée sur deux routeurs ou plus que vous souhaitez utiliser comme RP. Ensuite, annoncez cette adresse IP dans IGP. D’autres routeurs sélectionneront l’un de ces routeurs en fonction du meilleur chemin vers l’adresse rp. En cas de défaillance, la convergence est identique au protocole IGP (Interior Gateway Protocol).

Avec ce concept, un problème se pose. 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 en tant que RP et peu peuvent rejoindre le routeur 2 en tant que RP. Ces routeurs ne disposeraient pas d’informations complètes sur toutes les sources et la multidiffusion serait interrompue. La solution à ce problème consiste à disposer d'un mécanisme permettant de synchroniser les informations relatives aux sources entre tous les routeurs qui agissent en tant que RP. Deux protocoles peuvent servir à cette fin :

- Protocole MSDP (Multicast Source Discovery Protocol)

- PIM

MSDP existe depuis un certain temps. Les messages Source Active sont envoyés à d'autres routeurs chaque fois qu'une source s'enregistre sur un RP. Il y a une amélioration à PIM qui est détaillée dans ce document. Actuellement, cette amélioration n'est disponible que pour Nexus.

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- RP Anycast

- PIM (Nexus)

Components Used

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Processus d'inscription

Voici un exemple de topologie :

Expéditeur(172.16.1.1)—(9/3)Nexus-1(9/2)—(9/2)Nexus-2

Configurations en cours pertinentes

Configuration Nexus 1 appropriée :

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 Nexus 2 appropriée :

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îtes 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 boîtes Nexus pour lesquelles cette adresse IP est configurée. Ce bouclage est ensuite annoncé dans le protocole OSPF (Open Shortest Path First) 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 étant le RP à l'aide de cette commande :

ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4

Maintenant, vous devez définir ce qu'on appelle le jeu RP. Il s’agit de l’ensemble de tous les routeurs qui agiraient en tant que RP. Vous devez disposer d'un bouclage sur chaque routeur RP potentiel, qui est différent du bouclage utilisé comme adresse RP. Dans cet exemple, le bouclage 1 se trouve sur les deux Nexus dont l'adresse IP est 192.168.1.1/32 et 192.168.2.2/32, respectivement. Ce bouclage 1 est utilisé pour définir le jeu RP. La commande permettant de faire la même chose est la suivante :

ip pim anycast-rp <rp-address> <ip-address-of-prospective-RP>

Les commandes des 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

Il est important de noter ici que vous devez définir votre propre adresse IP, ainsi que dans le jeu 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 le résultat 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 du jeu 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 jeu RP. L'adresse IP source de ce message de registre est l'adresse de ce routeur qui se trouve dans le jeu RP et l'adresse de destination est celle de chaque routeur du jeu RP.

Dans cet exemple, lorsque la source 172.16.1.1 envoie un paquet de multidiffusion destiné à 239.1.1.1 à Nexus-1, Nexus-1 enregistre d'abord cette source comme RP et envoie un message de registre à Nexus-2 pour la source 172.16.1.1 et le groupe 239.1.1.1.1. Lorsque Nexus-2 reçoit ce registre, il ajoute l'entrée S, G pour 172.16.1.1, 239.1.1.1 dans la table mroute. Maintenant, les RP Nexus-1 et Nexus-2 connaissent cette source. Le message d'enregistrement envoyé de Nexus-1 à Nexus-2 avait l'adresse IP source 192.168.1.1 et l'adresse IP de destination 192.168.2.2 telles que définies dans le jeu RP.

Mrouter les entrées des 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)

Déchargement 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

Cela commencera à capturer les paquets PIM indéfiniment jusqu'à ce que cntrl+c soit appuyé. 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>").

Débogues pertinents

Voici les deux débogages qui permettent de 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 de PIM6 pour plus d'informations.

Informations connexes

- Support et documentation techniques - Cisco Systems