In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird beschrieben, wie die IGMP-Funktion (Internet Group Management Protocol) auf Catalyst Switches der Serie 9K mit Debugging-Anwendungen funktioniert.
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Ohne IGMP-Funktionen leitet ein Layer-2-Switch einen Multicast-Frame an alle Ports weiter (mit Ausnahme des Eingangsports), was zu einer Verschwendung von Switch-Ressourcen führt.
IGMP-Snooping ermöglicht dem Switch, Multicast-Daten-Frames nur an Empfänger zu senden, die einer bestimmten Gruppe angehören, indem er auf Berichte wartet oder Nachrichten von den Hosts hinterlässt. Standardmäßig ist diese Funktion auf einem Cisco Layer-2-Switch aktiviert. Wenn Sie die Funktion nur für ein bestimmtes VLAN aktivieren möchten, können Sie sie global deaktivieren und mit der erforderlichen VLAN-ID konfigurierenip igmp snooping vlan vlan-id.
Wenn der mit dem L2-Switch verbundene Client Multicast-Datenverkehr anfordert, tastet der Switch diese Informationen ab und erstellt die Multicast-Tabelle, sodass der Switch den Datenverkehr an die vorgesehenen Empfängerports weiterleiten kann, anstatt alle Ports des Switches zu fluten.
Topologie
Erläuterung
Um ein umfassendes Verständnis der IGMP-Signalisierung und des Datenverkehrsflusses bei der Multicast-Kommunikation zu gewinnen, ist es wichtig, diese sowohl aus der Empfänger- als auch aus der Quellperspektive zu untersuchen.
Empfängerseitige Weiterleitung
Um den IGMP-Prozess zu verstehen, müssen Sie das Konzept von Router-Port und IGMP Querier verstehen.
Wenn PIM an einer Router-Schnittstelle oder der SVI des Switches aktiviert ist, beginnt das System in der Regel damit, IGMP-Abfragen regelmäßig in die entsprechende VLAN-Broadcast-Domäne zu senden. Die Router-Schnittstelle, die die Abfragen sendet, ist nichts anderes als der IGMP Querier. Die Switch-Schnittstelle, die die Abfragen empfängt, ist der Router-Port des Switches für dieses VLAN.
Jedes Gerät in einer bestimmten Broadcast-Domäne verfügt nur über einen Router-Port. Der Switch beginnt mit der Erstellung der IGMP-Snooping-Gruppentabelle unter dem entsprechenden Router-Port.
Hinweis: Bei mehreren Abfragen in derselben Broadcast-Domäne findet der Auswahlprozess statt.
SW1 und SW2 sind reine Layer-2-Switches ohne Routing.
Mit Debugs können wir den IGMP-Snooping-Prozess verstehen.
#debug ip igmp snooping
PC21, der mit Gi 1/0/17 von SW2 verbunden ist, benötigt einen 239.1.2.3-Multicast-Stream. PC21 sendete daraufhin den Join-Bericht an den Switch.
SW2 erhielt den gemeinsamen Bericht über Gi am 1.01.2017.
*Apr 2 15:49:54.353: IGMPSN: Received IGMPv2 Report for group 239.1.2.3 received on Vlan 2717, port Gi1/0/17
*Apr 2 15:49:54.353: IGMPSN: NEW report: Call process_report port:Gi1/0/17 Querier is IGMPv1, Vlan 2717, quer_ver numeric 0.
*Apr 2 15:49:54.353: IGMPSN: Group: Received IGMPv2 report for mcast group 239.1.2.3 from Client 172.16.1.1. Received on Vlan 2717, port Gi1/0/17.
*Apr 2 15:49:54.353: IGMPSN: group: Adding client ip 172.16.1.1, port_id Gi1/0/17, on vlan 2717
In diesem Fall gibt es keinen Router-Port am Switch für das VLAN, da in der Broadcast-Domäne kein Querier vorhanden ist.
Der Switch hat also keine andere Wahl, als den IGMP-Bericht aus Gi 1/0/17 zu löschen.
*Apr 2 15:49:54.353: IGMPSN: No mroute detected: Drop IGMPv2 report for group 239.1.2.3 from client 172.16.1.1 received on Vlan 2717, port Gi1/0/17
Wenn ein IGMP V2-Client die Abbestellung eines Multicast-Streams beenden möchte, kann er dies tun, indem er dem Switch eine IGMP-Leave-Nachricht sendet.
Das IGMP-Leave-Berichtsbeispiel wird hier erwähnt.
Im Allgemeinen entfernt der Switch den Eintrag aus der IGMP-Snooping-Gruppentabelle, wenn er den IGMP-Status erhält.
*Apr 2 15:52:11.237: IGMPSN: Received IGMP Leave for group 239.1.2.3 received on Vlan 2717, port Gi1/0/17
*Apr 2 15:52:11.238: IGMPSN: group: Leave for group 239.1.2.3 from Client 172.16.1.1 received on Vlan 2717, port Gi1/0/17, mvr group (No)
*Apr 2 15:52:11.238: IGMPSN: group: Skip client info adding - src_addr 172.16.1.1, client_addr 172.16.1.1, port_id Gi1/0/17, on vlan 2717
*Apr 2 15:52:11.238: IGMPSN: MCAST IP address 239.1.2.3, MAC address 0100.5e01.0203
Da der Switch nicht über den Router-Port verfügt, kann er keine IGMP-Snooping-Gruppentabelle erstellen. Daher verfügt er nicht über den IGMP-Eintrag für Port Gi 1/0/17. Daher kann es nicht das gleiche zu finden.
*Apr 2 15:52:11.238: IGMPSN: Can not Locate gce 0100.5e01.0203, on Vlan 2717
*Apr 2 15:52:11.238: IGMPSN: group: Group does not exist - Leave for group 239.1.2.3 from Client 172.16.1.1 received on Vlan 2717, port Gi1/0/17 send to router port
*Apr 2 15:52:11.238: IGMPSN: Call platform_l2mc_snoop_send_mrouter
Die Router-Port-Erstellung ist der erste und entscheidende Schritt für den Switch, um das IGMP-Snooping erfolgreich zu starten.
Wie bereits erwähnt, hängen allgemeine IGMP-Abfragen vom PIM ab. Daher wurde der PIM Dense Mode auf R2 G1/0/45 aktiviert (Interface Configuration Mode Command ip pim dense-mode ).
*Apr 2 15:53:30.730: IGMPSN: router: Received non igmp pak on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.730: IGMPSN: router: PIMV2 Hello packet received in 2717
*Apr 2 15:53:30.730: IGMPSN: l2mc_mrd_learn_router_port_internal Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.730: IGMPSN: router: Is not a router port on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.730: IGMPSN: router: Is not a router port on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.730: IGMPSN: router: Created router port on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.730: IGMPSN: mgt: Reverting flood mode to only multicast router ports for Vlan 2717.
*Apr 2 15:53:30.730: IGMPSN: Adding router port Gi1/0/1 to all GCEs in Vlan 2717
*Apr 2 15:53:30.730: IGMPSN: added rport Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: Notify others Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: After l2mcm_rport_add-1 Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: router: Calling HA mrouter sync Iport:Gi1/0/1 p_type:1 mrt_enable:0
*Apr 2 15:53:30.734: IGMPSN: igmpsn_ha_sync_mrouter_port_info enter Port Gi1/0/1 in vlan 2717
*Apr 2 15:53:30.734: IGMPSN: router: Learning port: Gi1/0/1 as rport on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: router: Received IGMP pak on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.734: IGMPSN: l2mc_mrd_learn_router_port_internal Gi1/0/1 on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: router: Is a router port on Vlan 2717, port Gi1/0/1
*Apr 2 15:53:30.734: IGMPSN: router: Learning port: Gi1/0/1 as rport on Vlan 2717
*Apr 2 15:53:30.734: IGMPSN: Received IGMP Query for group 0.0.0.0 received on Vlan 2717, port Gi1/0/1 *****
*Apr 2 15:53:30.734: IGMPSN: IGMPv2 General Query received on Vlan 2717, port Gi1/0/1 Resp time 2500 (25 100) msecs, LLQ interval 2000 (2, 1000)
*Apr 2 15:53:30.734: IGMPSN: IGMP general queries received on Vlan 2717 updates all groups
*Apr 2 15:53:30.734: IGMPSN: timer: start report_timer 2500 msecs of vlan 2717
Der Switch erstellt den Router-Port für das jeweilige VLAN, in dem er die allgemeine Abfrage von dem abgefragten Gerät empfängt.
SW2#show ip igmp snooping vlan 2717
Vlan 2717:
--------
IGMP snooping : Enabled
Pim Snooping : Disabled
IGMPv2 immediate leave : Enabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
CGMP interoperability mode : IGMP_ONLY
Robustness variable : 2
Last member query count : 2
Last member query interval : 1000
SW2#show ip igmp snooping querier
Vlan IP Address IGMP Version Port
-------------------------------------------------------------
2717 172.17.1.254 v2 Gi1/0/1
SW2#show ip igmp snooping mrouter
Vlan ports
---- -----
2717 Gi1/0/1(dynamic)
Der Abfrager sendet alle 60 Sekunden eine allgemeine IGMP-Abfrage.
~
*Apr 6 10:37:02.793: IGMPSN: Received IGMP Query for group 0.0.0.0 received on Vlan 2717, port Gi1/0/1
*Apr 6 10:37:02.793: IGMPSN: IGMPv2 General Query received on Vlan 2717, port Gi1/0/1 Resp time 10000 (100 100) msecs, LLQ interval 2000 (2, 1000)
*Apr 6 10:37:02.793: IGMPSN: IGMP general queries received on Vlan 2717 updates all groups
~
~
*Apr 6 10:38:02.793: IGMPSN: Received IGMP Query for group 0.0.0.0 received on Vlan 2717, port Gi1/0/1
*Apr 6 10:38:02.793: IGMPSN: IGMPv2 General Query received on Vlan 2717, port Gi1/0/1 Resp time 10000 (100 100) msecs, LLQ interval 2000 (2, 1000)
*Apr 6 10:38:02.793: IGMPSN: IGMP general queries received on Vlan 2717 updates all groups
~
Der Host, der mit Port Gi 1/0/17 (PC21) verbunden ist, benötigt den Multicast-Stream, der für 239.1.2.3 bestimmt ist. PC21 sendet daher den Bericht für 239.1.2.3, der für Abfrage 172.17.1.254 bestimmt ist.
Der Switch tastet dasselbe Paket ab und erstellt einen Eintrag in der IGMP-Snooping-Tabelle.
*Apr 6 10:38:03.714: IGMPSN: Received IGMPv2 Report for group 239.1.2.3 received on Vlan 2717, port Gi1/0/17
*Apr 6 10:38:03.714: IGMPSN: NEW report: Call process_report port:Gi1/0/17 Querier is IGMPv1, Vlan 2717, quer_ver numeric 2.
*Apr 6 10:38:03.714: IGMPSN: Group: Received IGMPv2 report for mcast group 239.1.2.3 from Client 172.17.1.1. Received on Vlan 2717, port Gi1/0/17.
*Apr 6 10:38:03.714: IGMPSN: group: Adding client ip 172.17.1.1, port_id Gi1/0/17, on vlan 2717
*Apr 6 10:38:03.714: IGMPSN: MCAST IP address 239.1.2.3, MAC address 0100.5e01.0203
*Apr 6 10:38:03.714: IGMPSN: Locate gce 0100.5e01.0203, on Vlan 2717
*Apr 6 10:38:03.714: IGMPSN: locate group 239.1.2.3, on Vlan 2717
*Apr 6 10:38:03.714: IGMPSN: Add v2 group 239.1.2.3 member port Gi1/0/17, on Vlan 2717
*Apr 6 10:38:03.714: IGMPSN: group: Added port Gi1/0/17 to group 239.1.2.3
*Apr 6 10:38:03.714: TIMER_START for group239.1.2.3 for time 10000 * 100
*Apr 6 10:38:03.714: IGMPSN: group: Forwarding 239.1.2.3 report to router ports
*Apr 6 10:38:03.714: IGMPSN: Call platform_l2mc_snoop_send_mrouter
SW2#show ip igmp snooping group
Vlan Group Type Version Port List
-----------------------------------------------------------------------
2717 239.1.2.3 igmp v2 Gi1/0/17
Wenn der Switch Datenverkehr, der an die Multicast-Gruppe 239.1.2.3 gerichtet ist, entweder vom Uplink Gi1/0/1 oder von einem anderen Port im VLAN 2717 empfängt, leitet der Switch diesen nur an die Schnittstelle Gi 1/0/17 weiter und leitet ihn nicht an einen anderen Port im VLAN 2717 weiter.
Außerdem erreicht der IGMP-Bericht den Querier (R2) vom Router-Port von SW2, und Querier erstellt den entsprechenden IGMP-Gruppeneintrag für denselben. Empfängt R2 Multicast-Datenverkehr für 239.1.2.3, wird er an SW2 weitergeleitet.
Absender-/Quellseitige Weiterleitung
PC11, 172.16.1.1 ist mit SW1 Gi 1/0/3 verbunden und sendet Multicast-Datenverkehr an den 239.1.2.3 UDP-Port 1234.
SW1#show int gigabitEthernet 1/0/3
GigabitEthernet1/0/3 is up, line protocol is up (connected)
Hardware is Gigabit Ethernet, address is 2416.9d7a.1083 (bia 2416.9d7a.1083)
~
~
5 minute input rate 1857000 bits/sec, 170 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
9410 packets input, 12890025 bytes, 0 no buffer
Received 9394 broadcasts (9394 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 9394 multicast, 0 pause input
0 input packets with dribble condition detected
~
~
SW1#show int gigabitEthernet 1/0/3 counters
Port InOctets InUcastPkts InMcastPkts InBcastPkts
Gi1/0/3 12890593 17 9396 0
!
SW1#show int te 1/1/1 counters
Port InOctets InUcastPkts InMcastPkts InBcastPkts
Te1/1/1 1166336 3940 1251 14
Port OutOctets OutUcastPkts OutMcastPkts OutBcastPkts
Te1/1/1 3229106605 2731 2358824 6
!
SW1#show ip igmp snooping querier
Vlan IP Address IGMP Version Port
-------------------------------------------------------------
2716 172.16.1.254 v2 Te1/1/1
!
SW1#show ip igmp snooping mrouter
Vlan ports
---- -----
2716 Te1/1/1(dynamic)
Auf SW1 ist IGMP-Snooping aktiviert, und der Switch verfügt bereits über einen Router-Port. Der Switch leitet den empfangenen Multicast-Datenverkehr auf dem Router-Port standardmäßig an den Abfrager weiter.
EPC an der Quellschnittstelle Gi 1/0/3.
SW1#show monitor capture file flash:mycap1.pcap
Starting the packet display ........ Press Ctrl + Shift + 6 to exit
1 0.000000 172.16.1.1 -> 239.1.2.3 RTCP 102 Sender Report Source description
2 0.000100 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
3 0.000140 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
4 0.000178 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
5 0.000234 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
Multicast-Daten-Streaming, das in den Switch SW1 eingeht und von Te 1/1/1 in Richtung PIM-Router oder Querier 172.16.1.254 weitergeleitet wird.
Multicast-Routing und PIM sind für 10.0.10.0/24, 10.0.20.0/24,172.16.1.0/24 und 172.17.1.0/24 auf Core, R1 und R2 aktiviert. Das Multicast-Routing stellt sicher, dass der Multicast-Stream im L3-Netzwerk weitergeleitet wird und schließlich R2 erreicht. Da R2 über den IGMP-Gruppentabelleneintrag verfügt, der zuvor über den IGMP-Berichtsprozess gelernt wurde, leitet R2 den Stream an SW2 weiter.
SW2#show int gigabitEthernet 1/0/17 counters
Port InOctets InUcastPkts InMcastPkts InBcastPkts
Gi1/0/17 200 1709 103 0
Port OutOctets OutUcastPkts OutMcastPkts OutBcastPkts
Gi1/0/17 3661503 3 2667 0
Schließlich empfängt PC21 den Multicast-Stream. OutMcastPakete auf Gi 1/0/17 inkrementieren.
EPC an Schnittstelle Gi 1/0/17 von SW2.
SW2#show monitor capture file flash:mycap1.pcap
Starting the packet display ........ Press Ctrl + Shift + 6 to exit
~
~
14 18.002140 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
15 18.002178 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
16 18.002234 172.16.1.1 -> 239.1.2.3 UDP 1370 59218 -> 1234 Len=1328
~
~
Multicast-Daten-Streaming, das in den Switch SW2 von Gi 1/0/1 eingeht und von Gi 1/0/17 an den Host weitergeleitet wird, der den Multicast-Stream anfordert.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
30-Jul-2024 |
Erstveröffentlichung |