Commutateurs : Commutateurs de la gamme Cisco Catalyst 6500

Le multicast ne fonctionne pas dans le même VLAN dans les commutateurs Catalyst

19 octobre 2014 - Traduction automatique
Autres versions: PDFpdf | Anglais (19 septembre 2014) | Commentaires


Contenu


Introduction

Ce document aborde un problème courant qui se pose quand vous déployez l'application multicast pour la première fois sur un réseau de commutateurs Cisco Catalyst et le multicast ne fonctionne pas. En outre, quelques serveurs/applications qui utilisent des paquets multicast pour l'opération de cluster/hautement disponible peuvent échouer si vous ne configurez pas les commutateurs convenablement. Le document couvre aussi ce problème.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

  • Catalyst 6500 avec Supervisor Engine 720 qui exécute la version 12.2(18)SXD5 de Cisco IOS®

  • Catalyst 3750 qui exécute une image de la version du logiciel Cisco IOS 12.2(25)SEB2

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Produits connexes

Ce document peut également être utilisé avec les versions de matériel et de logiciel suivantes :

Conventions

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

Problème

Le trafic multicast ne semble pas passer par les commutateurs Catalyst, même dans le même VLAN. La figure 1 décrit un scénario typique :

Figure 1 - Configuration réseau avec source multicast et récepteurs

cat_multicast_prob.gif

La source multicast est connectée au commutateur 1, qui est un commutateur Catalyst 6500 avec Supervisor Engine 720 qui exécute le logiciel Cisco IOS. Le récepteur 1 est connecté au commutateur 1, et le récepteur 2 est connecté au commutateur 2, qui est un commutateur Catalyst 3750. Il y a une liaison de couche 2, accès ou agrégation, entre le commutateur 1 et le commutateur 2.

Dans cette configuration, vous voyez que le récepteur 1, qui est sur le même commutateur que la source, obtient le flux multicast sans problème. Cependant, le récepteur 2 n'obtient aucun trafic multicast. Ce document vise à résoudre ce problème.

Revoyez les concepts principaux du multicast

Avant d'explorer la solution et les différentes options disponibles, vous devez comprendre clairement certains concepts clés du multicast de couche 2. Cette section définit ces concepts.

Remarque: Cette section fournit une explication très simple et directe ciblée uniquement sur cette question particulière. Consultez la section Informations connexes de ce document pour de plus amples explications sur ces termes.

IGMP

IGMP est un protocole qui permet à des hôtes finaux (récepteurs) d'informer un routeur multicast (requérant IGMP) de l'intention d'hôte final de recevoir un trafic multicast particulier. C'est donc un protocole qui s'exécute entre un routeur et des hôtes finaux et qui permet :

  • aux routeurs de demander aux hôtes finaux s'ils ont besoin d'un flux multicast particulier (requête IGMP) ;

  • aux hôtes finaux de dire ou de répondre au routeur qu'ils recherchent un flux multicast particulier (rapports IGMP).

IGMP Snooping

IGMP Snooping est un mécanisme permettant de contraindre le trafic multicast seulement aux ports qui ont des récepteurs attachés. Le mécanisme permet plus d'efficacité car grâce à lui, un commutateur de couche 2 peut envoyer sélectivement des paquets multicast seulement sur les ports qui en ont besoin. Sans IGMP Snooping, le commutateur sature les paquets sur chaque port. Le commutateur « écoute » l'échange de messages IGMP entre le routeur et les hôtes finaux. De cette façon, le commutateur construit une table de routage IGMP Snooping qui liste tous les ports qui ont demandé un groupe multicast particulier.

Port Mrouter

Le port mrouter est simplement le port du point de vue du commutateur qui se connecte à un routeur multicast. La présence d'au moins un port mrouter est absolument essentielle pour que l'opération IGMP Snooping fonctionne entre les commutateurs. La section Comprendre le problème et ses solutions de ce document discute de cette condition plus en détail.

Multicast à L2

N'importe quel trafic IP version 4 (IPv4) avec un IP de destination entre 224.0.0.0 et 239.255.255.255 est un flux multicast. Tous les paquets multicast IPv4 mappent à une adresse MAC IEEE prédéfinie qui a le format 01.00.5e.xx.xx.xx.

Remarque: IGMP Snooping fonctionne seulement si une adresse MAC multicast mappe à cette plage MAC compatible IEEE. Quelques plages multicast réservées sont exclues du snooping par conception. Si un paquet multicast non conforme est originaire d'un réseau commuté, le paquet est saturé dans tout ce VLAN, ce qui signifie qu'il est traité comme un trafic de diffusion.

Comprendre le problème et ses solutions

Par défaut, les commutateurs Catalyst ont IGMP Snooping activé. Avec IGMP Snooping, le commutateur surveille (ou écoute) les messages IGMP sur tous les ports. Le commutateur construit une table IGMP Snooping qui mappe fondamentalement un groupe multicast à tous les ports de commutateur qui l'ont demandé.

Supposez que, sans configuration préalable, le récepteur 1 et le récepteur 2 ont signalé leur intention de recevoir un flux multicast pour 239.239.239.239 qui mappe à l'adresse MAC multicast L2 de 01.00.5e.6f.ef.ef. Le commutateur 1 et le commutateur 2 créent une entrée dans leurs tables de snooping pour ces récepteurs en réponse aux rapports IGMP générés par les récepteurs. Le commutateur 1 entre le port Gigabit Ethernet 2/48 dans sa table, et le commutateur 2 entre le port Fast Ethernet 1/0/47 dans sa table.

Remarque: À ce stade, la source multicast n'a pas commencé son trafic et aucun des commutateurs ne connaît le port mrouter du commutateur.

Quand la source sur le commutateur 1 commence à diffuser le trafic multicast, le commutateur 1 « a vu » le rapport IGMP du récepteur 1. En conséquence, le commutateur 1 fournit le port de sortie multicast Gigabit Ethernet 2/48. Mais, puisque le commutateur 2 « a absorbé » le rapport IGMP du récepteur 2 en tant qu'élément du procédé IGMP Snooping, le commutateur 1 ne voit pas de rapport IGMP (requête multicast) sur le port Gigabit Ethernet 2/46. En conséquence, le commutateur 1 n'envoie aucun trafic multicast au commutateur 2. Par conséquent, le récepteur 2 n'obtient aucun trafic multicast, même si le récepteur 2 est dans le même VLAN, mais simplement sur un commutateur différent que la source multicast.

La raison de ce problème est que IGMP Snooping n'est vraiment pris en charge sur aucune plate-forme Catalyst sans un mrouter. Le mécanisme ne fonctionne pas sans un port mrouter. Si vous voulez un correctif, vous devez faire en sorte que les commutateurs apprennent ou connaissent un port mrouter. La section Solutions de ce document explique la procédure. Comment la présence d'un port mrouter sur les commutateurs peut-elle remédier à la situation ?

Fondamentalement, quand les commutateurs apprennent ou connaissent statiquement un port mrouter, deux choses se produisent :

  • Le commutateur « relaye » les rapports IGMP des récepteurs au port mrouter, ce qui signifie que les rapports IGMP vont vers le routeur multicast. Le commutateur ne relaye pas tous les rapports IGMP. Au lieu de cela, le commutateur envoie seulement quelques uns des rapports au port mrouter. Pour les besoins de cette discussion, le nombre de rapports n'est pas important. Le routeur multicast doit juste savoir s'il y a au moins un récepteur qui est toujours intéressé par un flux en aval multicast. Pour déterminer cela, le routeur multicast reçoit les rapports périodiques IGMP en réponse à ses requêtes IGMP.

  • Dans un scénario multicast avec source unique, dans lequel aucun récepteur ne s'est encore « joint », le commutateur envoie seulement le flux multicast à son port mrouter.

Quand les commutateurs connaissent leur port mrouter, le commutateur 2 relaie le rapport IGMP reçu du récepteur 2 à son port mrouter. Ce port est Fast Ethernet 1/0/33. Le commutateur 1 obtient ce rapport IGMP sur son port Gigabit Ethernet 2/46. Du point de vue du commutateur 1, le commutateur a reçu simplement autre rapport IGMP. Le commutateur ajoute ce port dans sa table IGMP Snooping et commence à envoyer le trafic multicast aussi sur ce port. À ce stade, les deux récepteurs reçoivent le trafic multicast demandé et l'application fonctionne comme prévu.

Mais comment les commutateurs identifient-ils leur port mrouter de sorte que IGMP Snooping fonctionne comme prévu dans un environnement de routage simple comme celui-ci ? La section Solutions apporte quelques réponses.

Solutions

Utilisez ces solutions pour résoudre le problème.

Solution 1 : Activez PIM sur l'interface VLAN/routeur de couche 3

Toutes les plates-formes Catalyst ont la capacité de se renseigner dynamiquement sur le port mrouter. Les commutateurs écoutent passivement les Hellos PIM (Protocol Independent Multicast) ou les messages de requête IGMP qu'un routeur multicast envoie périodiquement.

Cet exemple configure l'interface virtuelle basculée VLAN 1 (SVI) sur le Catalyst 6500 avec ip pim sparse-dense-mode.

Switch1#show run interface vlan 1
!
interface Vlan1
 ip address 1.1.1.1 255.255.255.0
 ip pim sparse-dense-mode
end

Switch 1 now reflects itself (Actually the internal router port) as an Mrouter port. 

Switch1#show ip igmp snooping mrouter 
vlan            ports
-----+----------------------------------------
   1  Router

Switch 2 receives the same PIM hellos on its Fa 1/0/33 interface. So it assigns that 
port as its Mrouter port.

Switch2#show ip igmp snooping mrouter 
Vlan    ports
----    -----
   1    Fa1/0/33(dynamic)

Solution 2 : Activez la fonctionnalité de requérant IGMP sur un commutateur Catalyst de couche 2

Le requérant IGMP est une fonctionnalité relativement nouvelle sur les commutateurs de couche 2. Quand un réseau/VLAN n'a pas de routeur qui peut prendre le rôle de routeur multicast et fournir la détection du mrouter sur les commutateurs, vous pouvez activer la fonctionnalité de requérant IGMP. La fonctionnalité permet au commutateur de couche 2 de trouver un routeur multicast et d'envoyer des requêtes périodiques IGMP dans ce réseau. Cette action pousse le commutateur à se considérer lui-même comme un port mrouter. Les autres commutateurs dans le réseau définissent simplement leurs ports respectifs mrouter comme l'interface sur laquelle ils ont reçu cette requête IGMP.

Switch2(config)#ip igmp snooping querier

Switch2#show ip igmp snooping querier 
Vlan      IP Address     IGMP Version   Port               
-------------------------------------------------------------
1         1.1.1.2        v2             Switch

Le commutateur 1 voit maintenant la liaison de port Gig 2/46 au commutateur 2 comme un port mrouter.

Switch1#show ip igmp snooping mrouter 
vlan            ports
-----+----------------------------------------
   1  Gi2/46

Quand la source sur le commutateur 1 commence à diffuser le trafic multicast, le commutateur 1 fait suivre le trafic multicast au récepteur 1 trouvé par l'intermédiaire d'IGMP Snooping (c.-à-d., le port de sortie Gig 2/48) et au port mrouter (c.-à-d., le port de sortie Gig 2/46).

Solution 3 : Configurez le port statique Mrouter sur le commutateur

Le trafic multicast échoue dans le même VLAN de couche 2 en raison de l'absence d'un port mrouter sur les commutateurs, comme la section Comprendre le problème et ses solutions l'explique. Si vous configurez statiquement un port mrouter sur tous les commutateurs, des rapports IGMP peuvent être relayés dans ce VLAN à tous les commutateurs. En conséquence, le multicast est possible. Ainsi, dans l'exemple, vous devez statiquement configurer le commutateur Catalyst 3750 pour avoir Fast Ethernet 1/0/33 comme port mrouter.

Dans cet exemple, vous avez besoin d'un port statique mrouter seulement sur le commutateur 2 :

Switch2(config)#ip igmp snooping vlan 1 mrouter interface fastethernet 1/0/33

Switch2#show ip igmp snooping mrouter
Vlan    ports
----    -----
   1    Fa1/0/33(static)

Solution 4 : Configurez les entrées statiques MAC Multicast sur tous les commutateurs

Vous pouvez créer une entrée de mémoire de contenu adressable (CAM) statique pour l'adresse MAC multicast sur tous les commutateurs pour tous les ports de récepteur et les ports de commutation en aval. N'importe quel commutateur se conforme aux règles d'entrée CAM statique et envoie le paquet à toutes les interfaces qui sont spécifiées dans la table CAM. C'est la solution la moins extensible pour un environnement qui a beaucoup d'applications multicast.

Switch1(config)#mac-address-table static 0100.5e6f.efef vlan 1 interface 
gigabitethernet 2/46 gigabitethernet 2/48

!--- Note: This command should be on one line.

Switch1#show mac-address-table multicast vlan 1

 vlan   mac address     type   learn qos             ports
-----+---------------+--------+-----+---+--------------------------------
   1  0100.5e6f.efef    static  Yes          -   Gi2/46,Gi2/48


Switch2(config)#mac-address-table static 0100.5e6f.efef vlan 1 interface 
fastethernet 1/0/47

!--- Note: This command should be on one line.

Switch2#show mac-address-table multicast vlan 1
Vlan    Mac Address       Type       Ports
----    -----------       ----       -----
   1    0100.5e6f.efef    USER        Fa1/0/47

Solution 5 : Désactiver IGMP Snooping sur tous les commutateurs

Si vous désactivez IGMP Snooping, tous les commutateurs traitent le trafic multicast comme trafic de diffusion. Cela sature le trafic sur tous les ports dans ce VLAN, indépendamment du fait que les ports ont des récepteurs intéressés à ce flux multicast.

Switch1(config)#no ip igmp snooping

Switch2(config)#no ip igmp snooping

Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Informations connexes


Document ID: 68131