Ce document explique pourquoi les paquets de multidiffusion ne sont pas transférés lorsque vous configurez une route statique vers l'adresse HSRP (Hot Standby Router Protocol) d'un voisin en mode intermédiaire PIM (Protocol Independent Multicast).
Les lecteurs de ce document devraient avoir connaissance des sujets suivants :
HSRP
mode intermédiaire PIM
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.
Dans la figure ci-dessus, les routeurs 2 et 3 parlent du protocole HSRP sur le sous-réseau 10.1.3.0 et le routeur 2 est le routeur actif. Les routeurs 1, 2 et 3 parlent EIGRP (Enhanced Interior Gateway Routing Protocol) et le routeur 4 a une route statique par défaut vers l'adresse virtuelle HSRP.
Routeur 1 | Routeur 2 |
---|---|
Current configuration: ! ip multicast-routing ! ! interface Loopback0 ip address 10.10.10.10 255.255.255.255 no ip directed-broadcast ! interface Ethernet0 no ip address no ip directed-broadcast shutdown ! interface Ethernet1 ip address 10.1.1.1 255.255.255.0 no ip directed-broadcast ip pim sparse-mode ! interface Serial1 no ip address no ip directed-broadcast encapsulation frame-relay ! interface Serial1.1 point-to-point ip address 10.1.2.1 255.255.255.252 no ip directed-broadcast ip pim sparse-mode frame-relay interface-dlci 612 ! ! interface Serial1.2 point-to-point ip address 10.1.2.5 255.255.255.252 no ip directed-broadcast ip pim sparse-mode frame-relay interface-dlci 613 ! router eigrp 1 network 10.0.0.0 no auto-summary ! ip classless no ip http server ip pim rp-address 10.10.10.10 ! end |
Current configuration: ! ip multicast-routing ip dvmrp route-limit 20000 ! ! interface Ethernet1 ip address 10.1.3.1 255.255.255.0 no ip redirects ip pim sparse-mode standby 1 priority 110 preempt standby 1 ip 10.1.3.3 ! interface Serial1 no ip address encapsulation frame-relay ! interface Serial1.1 point-to-point ip address 10.1.2.2 255.255.255.252 ip pim sparse-mode frame-relay interface-dlci 621 ! router eigrp 1 network 10.0.0.0 no auto-summary ! ip classless ip pim rp-address 10.10.10.10 ! end |
Routeur 3 | Routeur 4 |
Current configuration: ! ip multicast-routing ip dvmrp route-limit 20000 ! interface Ethernet1 ip address 10.1.3.2 255.255.255.0 no ip redirects ip pim sparse-mode standby 1 priority 100 preempt standby 1 ip 10.1.3.3 ! interface Serial1 no ip address encapsulation frame-relay ! interface Serial1.2 point-to-point ip address 10.1.2.6 255.255.255.252 ip pim sparse-mode frame-relay interface-dlci 631 ! router eigrp 1 network 10.0.0.0 no auto-summary eigrp log-neighbor-changes ! ip classless no ip http server ip pim rp-address 10.10.10.10 ! end |
Current configuration: ip multicast-routing ip dvmrp route-limit 20000 ! ! ! interface Ethernet0 ip address 10.1.4.1 255.255.255.0 no ip directed-broadcast ip igmp join-group 239.1.2.3 ! interface Ethernet1 ip address 10.1.3.4 255.255.255.0 no ip directed-broadcast ip pim sparse-mode ! no ip http server ip classless ip route 0.0.0.0 0.0.0.0 10.1.3.3 ip pim rp-address 10.10.10.10 ! end |
Afin de simuler un hôte sur Ethernet 0, la commande ip igmp join-group a été configurée sur cette interface sur le routeur 4 :
router4# ip igmp join-group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 224.0.1.40 Ethernet1 4d23h never 10.1.3.1 239.1.2.3 Ethernet0 4d23h never 10.1.4.1
Le routeur 4 peut également envoyer une requête ping à l’adresse du point de rendez-vous (RP) :
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.10, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 60/61/68 ms
Examinez la table de route de multidiffusion (mroute) :
Router4# show ip mroute 239.1.2.3 IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT X - Proxy Join Timer Running Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.1.2.3), 00:04:28/00:00:00, RP 10.10.10.10, flags: SJCL Incoming interface: Ethernet1, RPF nbr 10.1.3.3 Outgoing interface list: Ethernet0, Forward/Sparse, 00:02:12/00:02:53
Comme il existe un récepteur pour ce groupe (en raison de la commande ip igmp join-group utilisée dans le routeur 4), créez une entrée (*, G) dans la table mroute. Notez que le voisin RPF (Reverse Path Forwarding) de l'entrée (*, G) est 10.1.3.3, qui est l'adresse de secours HSRP. Cependant, il n'y a pas d'entrée (S, G), ce qui signifie que le trafic n'est pas reçu de la source.
Puisque le routeur 4 a un destinataire intéressé pour le groupe, il doit maintenant envoyer un message PIM Join/Prune à ses voisins PIM. Utilisez la commande show ip pim neighbor pour afficher les voisins PIM du routeur 4, comme indiqué ci-dessous :
Router4# show ip pim neighbor PIM Neighbor Table Neighbor Address Interface Uptime Expires Ver Mode 10.1.3.1 Ethernet1 4d23h 00:01:41 v2 10.1.3.2 Ethernet1 4d23h 00:01:36 v2
Si la commande debug ip pim 239.1.2.3 est activée, le routeur 4 crée ce message PIM Join/Prune, mais il ne l'envoie pas :
*Mar 6 18:32:48: PIM : Reçu RP-Reachable sur Ethernet1 à partir de 10.10.10.10 *6 mars 18:32:48 : pour le groupe 239.1.2.3 *Mar 6 18:33:14 : PIM : Message de jointure/élingue pour 239.1.2.3 *6 mars 18:34:13 : PIM : Création d'un message de jointure/élingue pour 239.1.2.3
Pourquoi le routeur n’envoie-t-il pas le message Joindre/Élaguer ? RFC 2362 indique qu'« un routeur envoie un message de jointure/élingue périodique à chaque voisin RPF distinct associé à chaque entrée (S, G), (*, G) et (*,*, RP). Les messages Join/Prune sont envoyés uniquement si le voisin RPF est un voisin PIM. »
Dans l'exemple, le voisin RPF est 10.1.3.3, qui est l'adresse de secours HSRP utilisée par la route statique par défaut. Cependant, cette adresse n'est pas répertoriée en tant que voisin PIM. La raison pour laquelle l'adresse de secours HSRP n'est pas répertoriée en tant que voisin PIM est que les deux routeurs exécutant HSRP (routeurs 2 et 3) ne vont pas source les messages de voisinage PIM à partir de l'adresse de secours HSRP.
Pour résoudre le problème, modifiez la configuration du routeur 4 de sorte que le voisin RPF soit également un voisin PIM. Pour ce faire, incluez le routeur 4 dans le processus EIGRP afin qu’il apprenne maintenant l’adresse RP via EIGRP.
Remarque : étant donné que le routeur 4 est capable d'exécuter un protocole de routage, il ne doit pas avoir besoin d'une adresse de secours HSRP pour la connectivité. Le développement de HSRP était destiné à offrir aux hôtes un moyen d'obtenir une redondance ou un basculement rapides et efficaces.
Vous trouverez ci-dessous la nouvelle configuration du routeur 4 avec le protocole EIGRP activé.
ip multicast-routing ip dvmrp route-limit 20000 ! ! ! interface Ethernet0 ip address 10.1.4.1 255.255.255.0 no ip directed-broadcast ip igmp join-group 239.1.2.3 ! interface Ethernet1 ip address 10.1.3.4 255.255.255.0 no ip directed-broadcast ip pim sparse-mode ! router eigrp 1 network 10.0.0.0 no auto-summary ! no ip http server ip classless ip route 0.0.0.0 0.0.0.0 10.1.3.3 ip pim rp-address 10.10.10.10 ! end
Remarque : au lieu d'inclure le routeur 4 dans le processus EIGRP (méthode préférée), ajoutez des routes statiques au routeur 4 pour en faire RPF aux adresses IP réelles des routeurs, car les routes sont préférées à la table de routage de monodiffusion dans les contrôles RPF. Par exemple, ajoutez ip mroute 0.0.0.0 0.0.0.0 10.1.3.2.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
10-Aug-2005 |
Première publication |