目錄

簡介

開始之前

慣例

必要條件

採用元件

背景資訊

多點傳送位址

網際網路群組管理通訊協定

IGMPv1

IGMPv2

IGMPv3

IGMPv1和IGMPv2之間的互操作性

IGMPv1/IGMPv2和IGMPv3之間的互操作性

路由器上的IGMP

路由器上的實用示例

思科群組管理通訊協定

CGMP訊框和訊息型別

學習路由器埠

使用CGMP加入組

使用CGMP離開組

CGMP和純原始碼網路

配置Cisco路由器和交換機以啟用CGMP

CGMP使用和Debug命令及輸出的例項

IGMP窺探

IGMP監聽概述

學習路由器埠

使用IGMP監聽加入組

IGMP/CGMP互動

組播源專用網路

限制

在Cisco交換器上設定IGMP窺探

IGMP監聽的例項

相關資訊

簡介

思科群組管理通訊協定(CGMP)和網際網路群組管理通訊協定(IGMP)窺探的目的是在交換網路中限制多點傳播流量。預設情況下，LAN交換機在廣播域內泛洪組播流量，如果許多組播伺服器向網段傳送流，這會消耗大量頻寬。

開始之前

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

必要條件

本文件沒有特定先決條件。

採用元件

本文件所述內容不限於特定軟體和硬體版本。

背景資訊

組播流量會泛洪，因為交換機通常通過檢視收到的所有幀的源地址欄位來獲取MAC地址。組播MAC地址從不用作資料包的源地址。此類地址不會顯示在MAC地址表中，而且交換機沒有方法獲知這些地址。

此問題的第一個解決方案是為每個組和每個客戶端配置靜態MAC地址。此解決方案運行良好，但它既不可擴展，也不具有動態性。通過在Catalyst 4000、5000或6000交換機上發出以下命令之一，可以使用此解決方案：

- set cam static

- set cam permanent

這兩個指令具有相同的效果，除了靜態專案會在重新開機時消失，而永久專案不會消失。

第二個解決方案是使用CGMP，它是在多點傳送路由器和交換器之間執行的一個Cisco專有通訊協定。CGMP使思科組播路由器能夠瞭解主機傳送的IGMP消息，並將包含在IGMP資料包中的資訊通知交換機。

最後（也是最有效的）解決方案是使用IGMP監聽。透過IGMP窺探，交換器會攔截來自主機本身的IGMP訊息，並相應地更新其MAC表。需要高級硬體才能支援IGMP監聽。

本文中提供的CGMP配置適用於執行CatOS的Catalyst 4000和5000交換器（Catalyst 6000交換器不支援CGMP），而IGMP窺探配置適用於執行CatOS的Catalyst 5000和6000交換器。

以下部分簡要描述組播地址，說明IGMP的功能，並提供有關CGMP和IGMP監聽的更多詳細資訊。

多點傳送位址

1. 組播IP地址是D類IP地址。因此，從224.0.0.0到239.255.255.255的所有IP地址都是組播IP地址。它們也稱為組目標地址(GDA)。

2. 每個GDA都有一個關聯的MAC地址。此MAC地址由01-00-5e組成，後跟GDA的最後23位轉換為十六進位制，如下所示。

- 239.20.20.20對應於MAC 01-00-5e-14-14-14。

- 239.10.10.10對應於MAC 01-00-5e-0a-0a-0a。

因此，這不是一對一對映，而是一對多對映。從這兩個位址中，可以看到在MAC位址中未使用第一個八位元(239)。因此，具有相同的最後三個二進位制八位數，但不同第一個二進位制八位數的組播地址具有重疊的MAC地址。

3. 某些組播IP地址保留供特殊使用，如下所示。

- 224.0.0.1 — 所有支援組播的主機。

- 224.0.0.2 — 所有支援組播的路由器。

- 224.0.0.5和224.0.0.6由開放最短路徑優先(OSPF)使用。

一般來說，從224.0.0.1到224.0.0.255的地址是由各種協定(標準協定或專有協定，如熱待命路由器協定(HSRP))保留和使用的。 思科建議您不要在組播網路中將其用於GDA。CGMP和IGMP監聽無法使用此保留地址範圍。

網際網路群組管理通訊協定

IGMP是在IGMPv1的RFC1112、IGMPv2的RFC2236和IGMPv3的RFC3376中定義的標準。IGMP指定主機如何向路由器註冊以接收特定組播流量。下一節將簡要介紹IGMP。

IGMPv1

IGMP第1版(IGMPv1)消息在IP資料包中傳輸並包含以下欄位：

- 版本:1

- Type:有兩種型別的IGMP消息：成員查詢和成員報告。

- 校驗和

- GDA

希望接收特定組播組(GDA)的主機發佈成員報告。 路由器會定期發出成員資格查詢，以檢查該網段中是否仍有主機對GDA感興趣。

主機成員身份報告是未經請求的（當主機希望首先接收GDA流量時）或響應成員身份查詢發出的。它們使用以下欄位傳送：

L2資訊

- 來源 MAC:主機MAC地址

- 目的地 MAC:GDA的目標MAC

L3資訊

- 來源 IP:主機的IP地址

- 目的地 IP:GDA

IGMP資料包

- 此外，IGMP資料包含GDA和一些其他欄位。

路由器將主機成員查詢傳送到所有組播地址：224.0.0.1。這些查詢使用IGMP GDA欄位中的0.0.0.0。每個組的主機必須響應此查詢，或者路由器停止將該GDA的流量轉發到該網段（三次嘗試後）。 路由器為每個源保留組播路由條目，並將其連結到傳出介面（IGMP報告來自的介面）清單。 在三次無應答的IGMP查詢嘗試後，該介面將從連結到該GDA的所有條目的傳出介面清單中刪除。

附註：IGMPv1沒有離開機制。如果主機不想再接收流量，便會退出。如果它是子網上的最後一個主機，則路由器不會收到對其查詢的任何響應，並刪除該子網的GDA。

IGMPv2

在IGMP版本2(IGMPv2)中，版本欄位已被刪除，並且型別欄位現在可以接受不同的值。型別如下所示。

- 成員查詢

- IGMPv1成員身份報告

- 版本2成員報告

- 退出組

下面列出了IGMPv2中新增的最重要新功能的說明。

- IGMP留言：當主機想離開組時，它應該將離開組IGMP消息傳送到目標224.0.0.2（而不是像IGMPv1中那樣靜默離開）。

- 現在，路由器可以通過向組GDA傳送成員查詢來傳送組特定查詢，而不是將其傳送到0.0.0.0。

IGMPv3

在IGMP版本3(ICMPv3)中，有一個型別欄位可以具有以下值：

- 成員查詢

- 版本3成員報告

IGMPv3的實現還必須支持以下三種消息型別，以便與以前版本的IGMP進行互操作：

- 版本1成員報告[RFC1112]

- 版本2成員報告[RFC2236]

- 版本2離開組[RFC2236]

IGMPv3增加了對源過濾的支援，即系統能夠報告對從特定源地址或從除特定源地址外傳送到特定組播地址的接收資料包的興趣。此功能也稱為來源特定多點傳送(SSM)。

為了讓電腦支援SSM，它必須支援IGMPv3。但是支援IGMPv3的作業系統相對較少。Windows XP支援IGMPv3，並且有IGMPv3支援補丁可用於FreeBSD和Linux。

管理員必須區分路由器級別的IGMPv3支援和交換機級別的IGMPv3監聽。它們是兩個不同的特徵。

在Catalyst交換器(L2)上支援IGMPv3

- 運行混合模式軟體(Supervisor上為CatOS，MSFC上為Cisco IOS®軟體)的Catalyst 6000正式支援7.5(1)版開始的IGMPv3監聽。

- 在7.5(1)之前的版本中，Catalyst 6000交換器沒有正式支援IGMPv3，但通常應該能夠處理IGMPv3封包。

- 從版本12.1(8a)E開始，運行整合IOS軟體的Catalyst 6000在路由器級別（L3介面）支援IGMPv3。

- Catalyst 4000僅支援Supervisor III和IV上路由器級別的IGMPv3。它不支援IGMPv3監聽。

思科路由器(L3)支援IGMPv3

所有運行Cisco IOS®軟體版本12.1(5)T和更新版本的平台都支援IGMPv3。

注意事項

當交換器執行IGMP窺探時，會攔截IGMP封包並根據所擷取封包的內容填充靜態第2層(L2)轉送表。當網路中存在IGMPv1或v2主機時，交換機讀取IGMP加入和離開，以確定哪些主機想要接收哪個組播流，或停止接收組播流。

IGMPv3更為複雜，因為它不僅使用組地址（組播地址），而且使用預期流量的來源。除了執行CatOS 7.5或更新版本和原生IOS版本12.1(8a)E或更新版本的Catalyst 6000交換器外，目前沒有其他交換器能有效監聽這些封包並根據此資訊建立轉送表。因此，當交換機上有IGMPv3主機時，應關閉IGMP監聽。關閉IGMP監聽後，交換機無法動態構建組播流的L2轉發表。換句話說，交換機將泛洪組播流。

當禁用IGMP監聽時，一種解決方案是手動配置組播動態內容可定址儲存器(CAM)條目，以避免用組播流量泛洪子網。但是，這是一個行政負擔，不是一個動態的解決方案。當客戶端不再希望接收流量時，CAM條目不會從交換機中刪除（除非通過手動干預），因此網路流量仍然以主機為目標。

此外，當在網路中使用IGMPv3時，使用CGMP的交換機正常工作，不同於CGMP快速離開不起作用。如果需要CGMP Fastleave，最好恢復到IGMPv2。

各個交換機的版本說明中提供了針對特定平台的未解決警告。

IGMPv1和IGMPv2之間的互操作性

使用IGMPv1和IGMPv2時，每個IP子網只能有一個路由器傳送查詢。此路由器稱為查詢路由器。在IGMPv1中，查詢路由器是在組播路由協定的幫助下選擇的。在IGMPv2中，它被路由器中最小的IP地址選擇。以下是幾種可能性：

案例 1:混合使用IGMPv1和IGMPv2主機的IGMPv1路由器

路由器不理解IGMPv2報告，因此所有主機只能使用IGMPv1報告。

案例 2:混合使用IGMPv2和IGMPv3主機的IGMPv2路由器

IGMPv1主機不理解IGMPv2查詢或IGMPv2組成員查詢。路由器必須僅使用IGMPv1，並暫停離開操作。

案例 3:位於同一網段上的IGMPv1路由器和IGMPv2路由器

IGMPv1路由器無法檢測IGMPv2路由器。因此，管理員必須將IGMPv2路由器配置為IGMPv1路由器。在任何情況下，他們可能不同意查詢路由器。

IGMPv1/IGMPv2和IGMPv3之間的互操作性

在所有版本的IGMP中，每個IP子網只能有一個路由器傳送查詢。此路由器稱為查詢路由器。在IGMPv1中，查詢路由器是在組播路由協定的幫助下選擇的。在IGMPv2和IGMPv3中，它被路由器中最小的IP地址選擇。以下是幾個互通性選項。

案例 1:混合使用IGMPv1/IGMPv2和IGMPv3主機的IGMPv1/IGMPv2路由器

由於路由器不瞭解IGMPv3報告，因此所有主機都使用IGMPv1/IGMPv2報告。

案例 2:混合使用IGMPv1/IGMPv2和IGMPv3主機的IGMPv3路由器

IGMPv1/IGMPv2主機無法理解IGMPv3查詢或IGMPv3成員查詢。路由器必須僅使用與存在的最低IGMP客戶端版本對應的IGMP版本。如果存在IGMPv3和IGMPv2客戶端，路由器使用IGMPv2。如果存在IGMPv1、IGMPv2和IGMPv3客戶端，路由器使用IGMPv1。

案例 3:同一網段上的不同版本路由器

當不同版本的路由器存在於同一個網段上時，較低版本的路由器無法檢測到較高版本的路由器。因此，管理員必須將不同的路由器配置為同一版本。此版本必須與任何查詢路由器上的最低版本匹配。

路由器上的IGMP

預設情況下，如果沒有使用者註冊到子網中的特定組，則路由器不會將該組的組播流量轉發到該子網中。這意味著路由器需要收到GDA的IGMP報告，才能將其新增到組播路由表，並開始轉發該組的流量。

在路由器上，您需要執行以下操作：

1. 在全域性模式下啟用組播路由，如下所示。

ip multicast-routing

2. 在相關介面上配置組播路由協定，如下所示。

ip pim dense-mode

3. 監控IGMP，如下所示。

show ip igmp interface

show ip igmp group

show ip mroute

4. 配置路由器以傳送IGMP報告（在介面上），如下所示。

ip igmp join-group [GDA_ip_address]

ip igmp version [1 | 2 | 3]

路由器上的實用示例

路由器配置為在兩個子介面（快速乙太網0.2和快速乙太網0.3）之間進行路由。兩個介面還配置為運行IGMP。在下面的輸出中，您可以看到IGMP版本、已加入的組等。

組態

ip multicast-routing

interface FastEthernet0

no ip address

no ip directed-broadcast

!

interface FastEthernet0.2

encapsulation isl 2

ip address 10.2.2.1 255.255.255.0

no ip redirects

no ip directed-broadcast

ip pim dense-mode

!

interface FastEthernet0.3

encapsulation isl 3

ip address 10.3.3.1 255.255.255.0

no ip redirects

no ip directed-broadcast

ip pim dense-mode

!

show ip igmp interface

Fa0.2 is up, line protocol is up

Internet address is 10.2.2.1/24

IGMP is enabled on interface

Current IGMP version is 2

CGMP is disabled on interface

IGMP query interval is 60 seconds

IGMP querier timeout is 120 seconds

IGMP max query response time is 10 seconds

Inbound IGMP access group is not set

IGMP activity: 3 joins, 2 leaves

Multicast routing is enabled on interface

Multicast TTL threshold is 0

Multicast designated router (DR) is 10.2.2.1 (this system)

IGMP querying router is 10.2.2.1 (this system)

Multicast groups joined: 224.0.1.40

Fa0.3 is up, line protocol is up

Internet address is 10.3.3.1/24

IGMP is enabled on interface

Current IGMP version is 2

CGMP is disabled on interface

IGMP query interval is 60 seconds

IGMP querier timeout is 120 seconds

IGMP max query response time is 10 seconds

Inbound IGMP access group is not set

IGMP activity: 1 joins, 1 leaves

Multicast routing is enabled on interface

Multicast TTL threshold is 0

Multicast designated router (DR) is 10.3.3.1 (this system)

IGMP querying router is 10.3.3.1 (this system)

No multicast groups joined

show ip mroute and show ip igmp group

Router_A#show ip mroute

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

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.10.10.10), 00:01:15/00:02:59, RP 0.0.0.0, flags: DJC

Incoming interface: Null, RPF nbr 0.0.0.0

Outgoing interface list:

FastEthernet0.3, Forward/Dense, 00:01:16/00:00:00

(10.2.2.2, 239.10.10.10), 00:00:39/00:02:20, flags: CT

Incoming interface: FastEthernet0.2, RPF nbr 0.0.0.0

Outgoing interface list:

FastEthernet0.3, Forward/Dense, 00:00:39/00:00:00

Router_A#show ip igmp groups

IGMP Connected Group Membership

Group Address    Interface            Uptime    Expires   Last Reporter

239.10.10.10     Fa0.3                00:02:48  00:02:04  10.3.3.2

Router_A#

思科群組管理通訊協定

有關Catalyst交換機上的CGMP支援，請參閱組播Catalyst交換機支援表。

CGMP訊框和訊息型別

CGMP最初由Cisco實現，目的是在L2網路中限制組播流量。由於交換機本質上無法檢視L3資料包，因此它無法區分IGMP資料包。藉由CGMP，路由器提供主機之間的介面。路由器「說」IGMP，交換機「說」CGMP。

CGMP幀是目的MAC地址為01-00-0c-dd-dd-dd且子網訪問協定(SNAP)報頭值為0x2001的乙太網幀。CGMP幀包含以下欄位：

- 版本:1或2。

- 消息型別：加入或離開。

- 計數：消息中的組播/單播地址對數。

- GDA:組播組的48位MAC地址。

- 單播源地址（美國）：要加入GDA的裝置的48位MAC單播地址。

附註：計數欄位的值決定了最後兩個欄位的顯示次數。

預設情況下，交換機（在Catalyst中稱為NMP）的處理器僅在以下情況下偵聽組播地址： show cam system 發出命令。在交換機上啟用CGMP時，地址01-00-0c-dd-dd-dd將新增到 show cam system 命令輸出。

下表列出了所有可能的CGMP消息。

GDA

美國

加入/離開

含義

多點傳送MAC

客戶端MAC

加入

向組新增埠。

多點傳送MAC

客戶端MAC

離開

從組中刪除埠。

00-00-00-00-00-00

路由器MAC

加入

分配路由器埠。

00-00-00-00-00-00

路由器MAC

離開

取消分配路由器埠。

多點傳送MAC

00-00-00-00-00-00

離開

刪除組。

00-00-00-00-00-00

00-00-00-00-00-00

離開

刪除所有組。

學習路由器埠

交換機需要知道所有路由器埠，以便自動將其新增到任何新建立的組播條目中。當交換機收到帶有路由器MAC USA（表中的第三類消息）的CGMP Join to GDA 00-00-00-00-00-00-00時，會獲知路由器埠。 這些消息由路由器在配置為運行CGMP的所有介面上生成。但是，在交換機上配置路由器埠也有一個靜態方法。

使用CGMP加入組

- 新客戶端請求接收GDA流量，因此客戶端傳送IGMP成員身份報告消息。

- 路由器收到IGMP報告，對其進行處理，然後向交換機傳送CGMP消息。路由器將目的MAC地址複製到CGMP連線的GDA欄位，並將源MAC地址複製到CGMP連線的美國。然後將其傳送回交換器。

- 啟用CGMP的交換機需要偵聽CGMP 01-00-0c-dd-dd-dd地址。交換機的處理器查詢美國的CAM表。在CAM表中看到USA後，交換機就會知道美國位於哪個埠，並執行以下操作之一：

- 為GDA建立一個新的靜態條目，並將美國埠與所有路由器埠一起連結到它。

- 將USA埠新增到此GDA的埠清單中（如果靜態條目已存在）。

使用CGMP離開組

通過CGMP獲知的靜態條目是永久性的，除非VLAN中發生生成樹拓撲更改，或者路由器傳送上表中最後一個CGMP離開消息之一。

當IGMPv1是主機時，不要傳送IGMP離開消息。如果路由器沒有收到對三個連續IGMP查詢的回覆，則僅傳送離開消息。這意味著，如果有任何使用者仍對該組感興趣，則不會從該組中刪除任何埠。

隨著IGMPv2的推出和IGMP Leave的出現，思科將之新增到原始CGMP規範(CGMPv2)中。 此新增稱為CGMP快速離開。

CGMP快速離開處理允許交換機檢測任何Supervisor引擎模組埠上的主機傳送到全路由器組播地址(224.0.0.2)的IGMPv2離開消息。當Supervisor引擎模組收到離開消息時，它啟動查詢響應計時器，並在接收離開的埠上傳送消息，以確定該埠上是否仍有主機願意接收該組播組。如果此計時器在收到CGMP加入消息之前過期，則將從原始離開消息中指定的組播組的組播樹中修剪埠。如果它是組播組中的最後一個埠，則會將IGMP離開消息轉發到所有路由器埠。然後，路由器通過傳送組特定查詢啟動正常的刪除過程。由於未收到響應，路由器會從該介面的組播路由表中刪除此組。它還會向交換機傳送CGMP離開消息，清除靜態表中的組。快速離開處理確保交換網路上所有主機的最佳頻寬管理，即使同時使用多個組播組。

啟用CGMP Leave後，兩個條目將新增到 show cam system 命令輸出，如下所示。

01-00-5e-00-00-01

01-00-5e-00-00-02

IGMP Leave使用224.0.0.2,IGMP Query使用224.0.0.1。

使用以下步驟對CGMP進行故障排除：

1. 由於與HSRP衝突，CGMP離開處理預設處於禁用狀態。HSRP使用MAC地址01-00-5e-00-00-02，與IGMP版本2中的IGMP Leave相同。使用CGMP Fast-Leave時，所有HSRP資料包都將傳送到交換機CPU。由於HSRP消息不是IGMP資料包，因此交換機重新生成所有此類消息並將其傳送到所有路由器埠。接收hsrp hello或hsrp peers的路由器會失去連線。因此，在調試HSRP問題時，請嘗試禁用CGMP Fast-Leave。

要啟用CGMP離開處理，請發出 set cgmp leave enable 指令。

2. 啟用CGMP Leave處理後，Catalyst 5000系列交換機通過PIM-v1、HSRP和CGMP Self-Join消息學習路由器埠。當CGMP離開處理被禁用時，Catalyst 5000系列交換機只通過CGMP自加入消息獲知路由器埠。

3. CGMP不會為對映到MAC地址範圍01-00-5E-00-00-00到01-00-5E-00-00-FF的任何IP組播地址修剪組播流量。保留的IP組播地址（範圍為224.0.0.0到224.0.0.255）用於在單個L3躍點中轉發本地IP組播流量。

CGMP和純原始碼網路

純源網路是只有源組播的網段，沒有真正的客戶端。因此，該網段中可能未生成IGMP報告。但是，CGMP仍需要限制此來源的泛洪（僅用於路由器）。如果路由器在一個沒有IGMP報告的介面上檢測到組播流量，則將其標識為組播源專用網路。路由器為自身生成CGMP加入消息，而交換機只新增此組（僅使用路由器埠）。

配置Cisco路由器和交換機以啟用CGMP

以下命令僅對Catalyst 4000和5000系列（以及2901、2902、2926、2948G和4912）有效。

- 多點傳送路由器

啟用IP組播（全域性命令）：

- ip multicast-routing

使用以下命令啟用每個運行CGMP（介面模式）的介面：

- ip pim

- ip igmp

- ip cgmp

使用以下命令調試L2組播問題：

- debug ip igmp

- debug ip cgmp

- Catalyst 4000或5000系列

使用以下命令啟用/禁用CGMP:

- set cgmp

使用以下命令啟用/禁用CGMP快速離開：

- set cgmp leave

使用以下命令配置組播路由器（靜態）：

- set multicast router

使用以下命令清除組播路由器：

- clear multicast router

下面列出了用於驗證CGMP操作的各種命令。

- show cam static

- show cgmp statistic

- show cgmp leave

- show multicast router

- show multicast group

- show multicast group cgmp

- show multicast group count

CGMP使用和Debug命令及輸出的例項

這是Cisco路由器和Catalyst交換機的實際配置示例。

此組態顯示主機加入群組時涉及的作業。此組態也顯示當主機離開已啟用快速離開的群組時的作業。還提供監聽器跟蹤以及交換機和路由器的配置。

使用CGMP加入組

使用CGMP加入組時，請參閱以下步驟。

1. 在交換機上啟用CGMP，如下所示。

Switch_B (enable) set cgmp en

MCAST-CGMP: Set CGMP Sys Entrie

MCAST-CGMP: Set CGMP Sys Entrie

MCAST-CGMP: Set CGMP Sys Entrie

CGMP support for IP multicast enabled.

Switch_B (enable)

如下圖所示，條目01-00-0c-dd-dd-dd包含在 show cam system 命令輸出。此外，由於網路正在運行CGMP Fast-Leave，您可以看到01-00-5e-00-00-01和01-00-5e-00-00-02的條目。

Switch_B (enable) show cgmp leave

CGMP:       enabled

CGMP leave: enabled

Switch_B (enable) show cam system

* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.

X = Port Security Entry

VLAN  Dest MAC/Route Des [CoS]  Destination Ports or VCs / [Protocol Type]

----  ------------------ -----  -------------------------------------------

1     00-10-2f-00-14-00  #          7/1

1     00-e0-fe-4b-f3-ff  #          1/9

1     01-00-0c-cc-cc-cc  #          1/9

1     01-00-0c-cc-cc-cd  #          1/9

1     01-00-0c-dd-dd-dd  #          1/9

1     01-00-0c-ee-ee-ee  #          1/9

1     01-80-c2-00-00-00  #          1/9

1     01-80-c2-00-00-01  #          1/9

2     00-10-2f-00-14-00  #          7/1

2     01-00-0c-cc-cc-cc  #          1/9

2     01-00-0c-cc-cc-cd  #          1/9

2     01-00-0c-dd-dd-dd  #          1/9

2     01-80-c2-00-00-00  #          1/9

2     01-80-c2-00-00-01  #          1/9

3     01-00-0c-cc-cc-cc  #          1/9

3     01-00-0c-cc-cc-cd  #          1/9

3     01-00-0c-dd-dd-dd  #          1/9

3     01-80-c2-00-00-00  #          1/9

3     01-80-c2-00-00-01  #          1/9

Total Matching CAM Entries Displayed = 19

2. 路由器向GDA 00-00-00-00-00-00-00傳送CGMP加入消息，其中包含路由器的USA MAC。因此，路由器埠會新增到路由器埠清單中（參見以下第一個示例）。

在路由器上

6d01h: CGMP: Sending self Join on Fa0.3

6d01h:       GDA 0000.0000.0000, USA 0060.70cd.83c9

在交換機上

MCAST-CGMP-JOIN: recvd CGMP JOIN msg on port 3/1 vlanNo 2

MCAST-CGMP-JOIN: join GDA 00-00-00-00-00-00 MCAST-CGMP-JOIN:USA

00-60-70-cd-83-c9

MCAST-ROUTER: Adding QUERIER port 3/1, vlanNo 2

MCAST-ROUTER: Creating RouterPortTimer for  port 3/1, vlanNo 2

Switch_B (enable) show multi router

CGMP enabled

IGMP disabled

Port       Vlan

---------  ----------------

3/1       2-3

Total Number of Entries = 1

'*' - Configured

3. 3/1上的PC向IGMP傳送包含GDA的報告：239.10.10.10（參見以下第2幀）。 下面顯示的是 show ip igmp group  路由器Router_A上的命令輸出。

這顯示路由器現在將指向224.10.10.10的流量轉發到fa0.3。這是從客戶端PC 10.3.3.2接收IGMP報告的結果。

Router_A#show ip igmp groups

IGMP Connected Group Membership

Group Address    Interface            Uptime    Expires   Last Reporter

239.10.10.10     Fa0.3                00:02:48  00:02:04  10.3.3.2

Router_A#

4. 路由器收到報告並傳送CGMP加入消息以及以下資訊：

- 來源 MAC:路由器的MAC地址

- 目的MAC:01-00-cc-dd-dd-dd

- 目錄:客戶端PC的MAC地址（美國）：00-00-0c-07-ac-00組播組的MAC地址：01-00-5e-0a-0a-0a（參見下面的第3幀）

在路由器上

6d01h: IGMP: Received v2 Report from 10.3.3.2 (Fa0.3) for 239.10.10.10

6d01h: CGMP: Received IGMP Report on Fa0.3

6d01h:       from 10.3.3.2 for 239.10.10.10

6d01h: CGMP: Sending Join on Fa0.3

5. 中帶有01-00-cc-dd-dd-dd的交換機 show cam system 命令輸出已啟用CGMP。交換器能夠處理封包。

交換機在動態CAM表中查詢以確定客戶端PC的MAC地址位於哪個埠。該地址位於埠3/2上，交換機在CAM表中為01-00-5e-0a-0a-0a建立一個靜態條目，該條目被繫結到埠3/2。交換機還將路由器埠3/1新增到該GDA的靜態條目。

在交換機上

MCAST-CGMP-JOIN: recvd CGMP JOIN msg on port 3/1 vlanNo 3

MCAST-CGMP-JOIN: join GDA 01-00-5e-0a-0a-0a MCAST-CGMP-JOIN:USA 00-60-5c-f4-bd-e2

MCAST-CGMP-JOIN: 3/2/3: index 81

MCAST-CGMP-JOIN: recvd CGMP JOIN msg on port 3/1 vlanNo 2

MCAST-CGMP-JOIN: join GDA 01-00-5e-00-01-28 MCAST-CGMP-JOIN:USA 00-60-70-cd-83-c9

MCAST-CGMP-JOIN: 3/1/2: index 80

6. 組播組239.10.10.10的所有後續流量僅轉發到此VLAN中的此埠。以下是Catalyst交換器中的靜態專案，其中3/1是路由器連線埠，3/2是使用者端連線埠。

Switch_B (enable) show cam static

* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.

X = Port Security Entry

VLAN  Dest MAC/Route Des    [CoS]  Destination Ports or VCs / [Protocol Type]

----  ------------------    -----  -------------------------------------------

3     01-00-5e-0a-0a-0a             3/1-2

Total Matching CAM Entries Displayed = 3

Switch_B (enable)

保留已啟用CGMP快速離開的組

以下範例要求使用者端是IGMP版本2使用者端，且交換器上啟用快速離開。

1. 以下過程啟用CGMP快速離開。請檢視 show cgmp leave 命令輸出以確定是否已啟用。此外，請檢視 show cam system 命令輸出以確定交換機是否正在偵聽01-00-5e-00-00-01和01-00-5e-00-00-02（用於離開的地址）。

Switch_B (enable) show cgmp leave

CGMP:       enabled

CGMP leave: enabled

Switch_B (enable) show cam sys

* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.

X = Port Security Entry

VLAN  Dest MAC/Route Des    [CoS]  Destination Ports or VCs / [Protocol Type]

----  ------------------    -----  -------------------------------------------

1     00-10-2f-00-14-00  #          7/1

1     00-e0-fe-4b-f3-ff  #          1/9

1     01-00-0c-cc-cc-cc  #          1/9

1     01-00-0c-cc-cc-cd  #          1/9

1     01-00-0c-dd-dd-dd  #          1/9

1     01-00-0c-ee-ee-ee  #          1/9

1     01-80-c2-00-00-00  #          1/9

1     01-80-c2-00-00-01  #          1/9

2     00-10-2f-00-14-00  #          7/1

2     01-00-0c-cc-cc-cc  #          1/9

2     01-00-0c-cc-cc-cd  #          1/9

2     01-00-0c-dd-dd-dd  #          1/9

2     01-00-5e-00-00-01  #          1/9

2     01-00-5e-00-00-02  #          1/9

2     01-80-c2-00-00-00  #          1/9

2     01-80-c2-00-00-01  #          1/9

3     01-00-0c-cc-cc-cc  #          1/9

3     01-00-0c-cc-cc-cd  #          1/9

3     01-00-0c-dd-dd-dd  #          1/9

3     01-00-5e-00-00-01  #          1/9

3     01-00-5e-00-00-02  #          1/9

3     01-80-c2-00-00-00  #          1/9

Do you wish to continue y/n [n]?  y

Total Matching CAM Entries Displayed = 22

2. 客戶端向224.0.0.2傳送IMPG離開消息。交換機擷取該消息，並在接收離開的埠上傳送IGMP查詢。以下是 debug switch:

MCAST-IGMP-LEAVE:Recvd leave on port 3/2 vlanNo 3

MCAST-IGMP-LEAVE:router_port_tbl[vlanNo].QueryTime = 0

MCAST-IGMP-LEAVE:deletion_timer = 1

MCAST-SEND:Transmitting IGMP Mac Based GS Query msg on port 3/2 vlanNo 3

MCAST-SEND:  Transmit Succeeded for IGMP Group Specific Query msg on port 3/2 vlanNo 3

3. 由於未收到響應，Catalyst將IGMP離開消息轉發到路由器，如下所示。

MCAST-TIMER:IGMPLeaveTimer expired on port 3/2 vlanNo 3 GDA 01-00-5e-0a-0a-0a

MCAST-TIMER:IGMPLeaveTimer expiry: Transmit IGMP Leave on port 3/1 vlanNo 3

MCAST-SEND:Transmitting IGMP Leave msg on port 3/1 vlanNo 3

MCAST-SEND: Inband Transmit Succeeded for IGMP Leave Message on port 3/1 vlanNo 3

4. 路由器收到IGMP Leave消息，因此它向交換機傳送CGMP Leave消息，並將該組從其IGMP組清單中刪除。以下是 debug  命令輸出。

在路由器上

IGMP: Received Leave from 10.200.8.108 (Fa0.3) for 239.10.10.10

IGMP: Send v2 Query on Fa0.3 to 239.10.10.10

IGMP: Send v2 Query on Fa0.3 to 239.10.10.10

CGMP: Sending Leave on Fa0.3

GDA 0100.5e0a.0a0a, USA 0000.0000.0000

IGMP: Deleting 239.10.10.10 on Fa0.3

CGMP跟蹤和配置

第1幀

第1幀是通向GDA 00-00-00-00-00-00的CGMP加入幀。它用於將路由器埠新增到路由器埠清單中。

ISL: ----- ISL Protocol Packet -----

ISL:

ISL: Destination Address               = 01000C0000

ISL: Type                              = 0 (Ethernet)

ISL: User                              = 0 (Normal)

ISL: Source Address                    = 8C958B7B1000

ISL: Length                            = 76

ISL: Constant value                    = 0xAAAA03

ISL: Vendor ID                         = 0x8C958B

ISL: Virtual LAN ID (VLAN)             = 2

ISL: Bridge Protocol Data Unit (BPDU)  = 0

ISL: Port Index                        = 193

ISL: Reserved

ISL:

ETHER: ----- Ethernet Header -----

ETHER:

ETHER: Destination = Multicast 01000CDDDDDD

!--- Send to the CGMP !--- macaddress present in show cam sys !--- command output.

ETHER: Source      = Station Cisco11411E1

ETHER: 802.3 length = 24

ETHER:

LLC:  ----- LLC Header -----

LLC:

LLC:  DSAP Address = AA, DSAP IG Bit = 00 (Individual Address)

LLC:  SSAP Address = AA, SSAP CR Bit = 00 (Command)

LLC:  Unnumbered frame: UI

LLC:

SNAP: ----- SNAP Header -----

SNAP:

SNAP: Vendor ID = Cisco1

SNAP: Type = 2001 (CGMP)

SNAP:

CGMP: ----- CGMP -----

CGMP:

CGMP: Version   = 16

CGMP: Type      = 0 (Join)

CGMP: Reserved

CGMP: Count     = 1

CGMP:

CGMP: Group Destination Address and Unicast Source Address

CGMP:

CGMP:    GDA    =0000.0000.0000

CGMP:    USA    =0000.0C14.11E1

!--- MAC address of the router.

CGMP:

第1幀的結果出現在交換機上，3/1是連線到路由器的埠：

第2幀

第2幀是主機傳送的IGMP成員報告，用於請求（或確認）使用者希望接收組239.10.10.10的流量。

ISL: ----- ISL Protocol Packet -----

ISL:

ISL: Destination Address               = 01000C0000

ISL: Type                              = 0 (Ethernet)

ISL: User                              = 0 (Normal)

ISL: Source Address                    = 8C958B7B1000

ISL: Length                            = 76

ISL: Constant value                    = 0xAAAA03

ISL: Vendor ID                         = 0x8C958B

ISL: Virtual LAN ID (VLAN)             = 2

ISL: Bridge Protocol Data Unit (BPDU)  = 0

ISL: Port Index                        = 195

ISL: Reserved

ISL:

ETHER: ----- Ethernet Header -----

ETHER:

ETHER: Destination = Multicast 01005E0A0A0A

!--- Destination is the GDA MAC.

ETHER: Source      = Station Cisco176DCCA

!--- Sourced by the PC connected in 3/1.

ETHER: Ethertype  = 0800 (IP)

ETHER:

IP: ----- IP Header -----

IP:

IP: Version = 4, header length = 20 bytes

IP: Type of service = C0

IP:       110. ....   = internetwork control

IP:       ...0 .... = normal delay

IP:       .... 0... = normal throughput

IP:       .... .0.. = normal reliability

IP: Total length    = 28 bytes

IP: Identification  = 0

IP: Flags           = 0X

IP:       .0.. .... = may fragment

IP:       ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live    = 1 seconds/hops

IP: Protocol        = 2 (IGMP)

IP: Header checksum = CC09 (correct)

IP: Source address      = [10.1.1.2]

IP: Destination address = [224.10.10.10]

IP: No options

IP:

IGMP: ----- IGMP header -----

IGMP:

IGMP: Version       = 1

IGMP: Type          = 6 (Ver2 Membership Report)

IGMP: Unused        = 0x00

IGMP: Checksum      = FFEA (correct)

IGMP: Group Address = [224.10.10.10]

IGMP:

第3幀

第3幀是路由器傳送到交換機的CGMP幀，用於指示交換機為01-00-5e-0a-0a-0a新增靜態條目。

ISL: ----- ISL Protocol Packet -----

ISL:

ISL: Destination Address               = 01000C0000

ISL: Type                              = 0 (Ethernet)

ISL: User                              = 0 (Normal)

ISL: Source Address                    = 8C958B7B1000

ISL: Length                            = 76

ISL: Constant value                    = 0xAAAA03

ISL: Vendor ID                         = 0x8C958B

ISL: Virtual LAN ID (VLAN)             = 2

ISL: Bridge Protocol Data Unit (BPDU)  = 0

ISL: Port Index                        = 193

ISL: Reserved

ISL:

ETHER: ----- Ethernet Header -----

ETHER:

ETHER: Destination = Multicast 01000CDDDDDD

ETHER: Source      = Station Cisco11411E1

ETHER: 802.3 length = 24

ETHER:

LLC:  ----- LLC Header -----

LLC:

LLC:  DSAP Address = AA, DSAP IG Bit = 00 (Individual Address)

LLC:  SSAP Address = AA, SSAP CR Bit = 00 (Command)

LLC:  Unnumbered frame: UI

LLC:

SNAP: ----- SNAP Header -----

SNAP:

SNAP: Vendor ID = Cisco1

SNAP: Type = 2001 (CGMP)

SNAP:

CGMP: ----- CGMP -----

CGMP:

CGMP: Version   = 16

CGMP: Type      = 0 (Join)

CGMP: Reserved

CGMP: Count     = 1

CGMP:

CGMP: Group Destination Address and Unicast Source Address

CGMP:

CGMP:    GDA    =0100.5E0A.0A0A

!--- GDA MAC added in show cam static !--- command output.

CGMP:    USA    =0000.0C76.DCCA

!--- MAC of the PC in 3/1.

CGMP:

下面是路由器和交換機的配置。

Router_A (router) Configuration:

Router_A#write terminal

Building configuration...

Current configuration:

!

version 12.0

service timestamps debug uptime

service timestamps log uptime

no service password-encryption

!

hostname Router_A

!

!

ip subnet-zero

ip multicast-routing

ip dvmrp route-limit 20000

interface FastEthernet0

no ip address

no ip directed-broadcast

!

interface FastEthernet0.1

encapsulation isl 1

ip address 10.1.1.1 255.255.255.0

no ip redirects

no ip directed-broadcast

!

interface FastEthernet0.2

encapsulation isl 2

ip address 10.2.2.1 255.255.255.0

no ip redirects

no ip directed-broadcast

ip pim dense-mode

ip cgmp

!

interface FastEthernet0.3

encapsulation isl 3

ip address 10.3.3.1 255.255.255.0

no ip redirects

no ip directed-broadcast

ip pim dense-mode

ip cgmp

!

Switch_B configuration for CGMP:

#cgmp

set cgmp enable

set cgmp leave enable

!

CGMP statistics for VLAN 3:

Switch_B (enable) show cgmp sta 3

CGMP enabled

CGMP statistics for vlan 3:

valid rx pkts received           109

invalid rx pkts received         0

valid cgmp joins received        108

valid cgmp leaves received       1

valid igmp leaves received       1

valid igmp queries received      63

igmp gs queries transmitted      1

igmp leaves transmitted          1

failures to add GDA to EARL      0

topology notifications received  0

Switch_B (enable)

IGMP窺探

IGMP偵聽是允許您直接捕獲IGMP幀的另一項功能。有關Catalyst交換機上的IGMP監聽支援，請參閱組播Catalyst交換機支援清單。

IGMP監聽概述

名稱中隱含的IGMP偵聽功能允許交換機在主機和路由器之間的IGMP會話中「偵聽」。當交換機從主機聽到給定組播組的IGMP報告時，交換機將主機的埠號新增到該組的GDA清單中。並且，當交換機聽到IGMP Leave時，它將從CAM表條目中刪除主機的埠。

學習路由器埠

交換器會監聽以下訊息，以便偵測使用IGMP窺探的路由器連線埠：

- 傳送至01-00-5e-00-00-01的IGMP成員資格查詢

- PIMv1 hello傳送到01-00-5e-00-00-02

- PIMv2 hello傳送到01-00-5e-00-00-0d

- 傳送到01-00-5e-00-04的DVMRP探測器

- 傳送到01-00-5e-00-05或06的MOSPF消息

通過在交換機上啟用IGMP監聽，所有上述MAC條目都會新增到 show cam system 監聽交換器的指令輸出。檢測到路由器埠後，該埠將新增到該VLAN中所有GDA的埠清單中。

使用IGMP監聽加入組

以下是兩種加入方案：

案例A:主機A是第一個加入網段中組的主機。

1. 主機A傳送未經請求的IGMP成員報告。

2. 交換機會攔截由要加入該組的主機傳送的IGMP成員報告。

3. 交換機為該組建立一個組播條目，並將其連結到收到報告的埠和所有路由器埠。

4. 交換機將IGMP報告轉發到所有路由器埠。因此，路由器也會收到IGMP報告，並相應地更新其組播路由表。

案例B:現在，主機B是加入同一組的第二台主機。

1. 主機B傳送未經請求的IGMP成員報告。

2. 交換機會攔截由要加入該組的主機傳送的IGMP成員報告。

3. 交換機不必將IGMP報告轉發到所有路由器埠。實際上，交換機使用代理報告將IGMP報告轉發到路由器埠，並且在10秒內每個組只轉發一個報告。

附註：為了保持組成員身份，組播路由器每60秒傳送一次IGMP查詢。交換器會攔截此查詢，並將其轉送到交換器上的所有連線埠。組成員的所有主機都會回答該查詢。但是，由於交換機也會截獲應答報告，因此另一台主機不會看到其他每個報告，因此所有主機都會傳送一個報告（而不是每個組傳送一個）。 然後，交換機也使用代理報告，在所有收到的響應中每個組只轉發一個報告。

假設主機A要離開組，但主機B仍要接收組。

- 交換機從主機A捕獲IGMP離開消息。

- 交換機在該埠（且僅在該埠）上為組發出組特定的IGMP查詢。

- 如果交換器沒有收到報告，則會從專案捨棄此連線埠。如果收到來自該埠的響應，則不執行任何操作並放棄該離開。

- 主機B仍對該交換器上該群組感興趣。這不是條目中的最後一個非路由器埠。因此，交換機不會轉發離開消息。

現在，假設主機B要離開組，而主機B是此組在此網段中感興趣的最後一個使用者。

- 交換機從主機A捕獲IGMP離開消息。

- 交換機在該埠上為該組發出組特定的IGMP查詢。

- 如果交換器沒有收到報告，則會從專案捨棄此連線埠。

- 這是該GDA的最後一個非路由器埠。交換機將IGMP離開消息轉發到所有路由器埠，並從表中刪除條目。

IGMP/CGMP互動

在某些網路中，由於硬體限制，您可能無法在所有交換機上運行IGMP監聽。在這種情況下，您可能需要在同一網路中的某些交換機上運行CGMP。

請注意，這是一個特殊情況。運行IGMP監聽的交換機檢測CGMP消息，並檢測網路中的某些交換機正在運行CGMP。因此，它會移動到特殊的IGMP-CGMP模式並禁用代理報告。這是正確運行CGMP的絕對必要，因為路由器使用IGMP報告的源MAC地址來建立CGMP連線。運行CGMP的路由器需要檢視所有IGMP報告，因此必須禁用代理報告。傳送到路由器的任何報告應該僅是IGMP監聽嚴格需要的那些報告。

組播源專用網路

如果網段僅包含一個組播伺服器（組播源）且沒有客戶端，最終可能會出現這樣的情況：在該網段中沒有任何IGMP資料包，但您有大量的組播流量。在這種情況下，交換器只會將來自該組的流量轉送到網段中的所有人。幸運的是，運行IGMP監聽的交換機能夠檢測這些組播流，並為該組新增一個僅包含路由器埠的組播條目。這些條目在內部標籤為mcast_source_only，並且每5分鐘或路由器埠斷開時過期。請注意，即使在此老化之後，如果流量繼續，也會在幾秒鐘內重新獲取地址。在重新學習期間，VLAN中可能會發生瞬時泛濫。為了避免這種情況並保留條目，請使用 set igmp flooding enable | disable 指令。在泛洪停用後，交換器不會使僅來源專案老化。

限制

與CGMP一樣，對映到01-00-5e-00-00-xx範圍內的MAC的GDA不會被IGMP監聽修剪。

在Cisco交換器上設定IGMP窺探

要啟用/禁用IGMP監聽，請發出以下命令：

- set igmp

要配置組播路由器（靜態），請發出以下命令：

- set multicast router

- clear multicast router

|

port | all>

要監控和檢查IGMP統計資訊，請發出以下命令：

- show igmp statistics

- show multicast router

IGMP監聽的例項

此示例的設定與本文檔前面使用的CGMP測試類似。唯一的區別是，埠3/2和3/3都連線到同一個VLAN，並且均通過客戶端配置為加入組224.10.10.10。

以下示例介紹了幾個操作，觀察了交換機的操作，並檢查了生成的輸出。在以下範例中，Switch_B是執行IGMP窺探的Catalyst 5500,Router_A是連線到連線埠3/1的多播路由器。

1. 在交換機上啟用IGMP監聽，並通過發出 debug 指令。請注意，每組條目已新增到 show cam sys 命令輸出，允許通過PIM、MOSPF等檢測路由器埠。

Switch_B (enable)  set igmp en

MCAST-IGMP: Set Sys Entries

MCAST-SYS-ENTRIES: Add system Entries in vlan 1

MCAST-IGMP: Set Sys Entries

MCAST-SYS-ENTRIES: Add system Entries in vlan 2

MCAST-IGMP: Set Sys Entries

MCAST-SYS-ENTRIES: Add system Entries in vlan 3

IGMP feature for IP multicast enabled

Switch_B (enable) show cam sys

* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.

X = Port Security Entry

VLAN  Dest MAC/Route Des [CoS]  Destination Ports or VCs / [Protocol Type]

----  ------------------ -----  -------------------------------------------

1     00-10-2f-00-14-00  #          7/1

1     00-e0-fe-4b-f3-ff  #          1/9

1     01-00-0c-cc-cc-cc  #          1/9

1     01-00-0c-cc-cc-cd  #          1/9

1     01-00-0c-dd-dd-dd  #          1/9

1     01-00-0c-ee-ee-ee  #          1/9

1     01-00-5e-00-00-01  #          1/9

1     01-00-5e-00-00-04  #          1/9

1     01-00-5e-00-00-05  #          1/9

1     01-00-5e-00-00-06  #          1/9

1     01-00-5e-00-00-0d  #          1/9

1     01-80-c2-00-00-00  #          1/9

1     01-80-c2-00-00-01  #          1/9

2     00-10-2f-00-14-00  #          7/1

2     01-00-0c-cc-cc-cc  #          1/9

2     01-00-0c-cc-cc-cd  #          1/9

2     01-00-0c-dd-dd-dd  #          1/9

2     01-00-5e-00-00-01  #          1/9

2     01-00-5e-00-00-04  #          1/9

2     01-00-5e-00-00-05  #          1/9

2     01-00-5e-00-00-06  #          1/9

2     01-00-5e-00-00-0d  #          1/9

2. 交換器從路由器Router_A收到PIMv2封包並新增路由器連線埠。

MCAST-IGMPQ:recvd a PIM V2 packet of type HELLO on the port 3/1 vlanNo 2

MCAST-ROUTER: Adding port 3/1, vlanNo 2

MCAST-ROUTER: Creating RouterPortTimer for  port 3/1, vlanNo 2

MCAST-IGMPQ:recvd a PIM V2 packet of type HELLO on the port 3/1 vlanNo 3

MCAST-ROUTER: Adding port 3/1, vlanNo 3

MCAST-ROUTER: Creating RouterPortTimer for  port 3/1, vlanNo 3

Switch_B (enable) show multi router

CGMP disabled

IGMP enabled

Port       Vlan

---------  ----------------

3/1       2-3

Total Number of Entries = 1

'*' - Configured

Switch_B (enable)

3. 連線組224.10.10.10中的新主機（在埠3/2上）。 此主機傳送IGMP成員報告。報告被交換機接收並監聽，條目被新增，IGMP報告被轉發到路由器。

在Switch_B上

MCAST-IGMPQ:recvd an IGMP V2 Report on the port 3/2 vlanNo 3

GDA 224.10.10.10

MCAST-RELAY:Relaying packet on port 3/1 vlanNo 3

MCAST-SEND: Inband Transmit Succeeded for IGMP RELAY msg on port 3/1

vlanNo 3

Switch_B (enable) show cam static

* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.

X = Port Security Entry

VLAN  Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]

----  ------------------ ----- -------------------------------------------

3     01-00-5e-0a-0a-0a         3/1-2

4. 在連線埠3/3的VLAN 3中再新增一個使用者，如下所示。

Switch_B (enable) show cam static

* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.

X = Port Security Entry

VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]

---- ------------------ ----- -------------------------------------------

3    01-00-5e-0a-0a-0a         3/1-3

5. 移除連線埠3/2。連線埠3/2傳送IGMP離開訊息；交換器在連線埠3/2上傳回特定於IGMP組的查詢，並啟動計時器。當計時器到期時沒有收到響應時，它會從組中刪除埠。

MCAST-IGMPQ:recvd an IGMP Leave on the port 3/2 vlanNo 3 GDA 224.10.10.10

MCAST-IGMPQ-LEAVE:router_port_tbl[vlanNo].QueryTime = 0

MCAST-DEL-TIMER: Deletion Timer Value set to Random Value  1

MCAST-SEND:Transmitting IGMP Mac Based GS Query msg on port 3/2 vlanNo 3

MCAST-SEND:  Transmit Succeeded for IGMP Group Specific Query msg on port 3/2 vlanNo 3

MCAST-TIMER:IGMPLeaveTimer expired on port 3/2 vlanNo 3 GDA 01-00-5e-0a-0a-0a

MCAST-TIMER:IGMPLeaveTimer:delete leave timer

Switch_B (enable) show cam static

* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.

X = Port Security Entry

VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]

---- ------------------ ----- -------------------------------------------

3    01-00-5e-0a-0a-0a         3/1,3/3

6. 埠3/3上的主機離開組並傳送IGMP離開消息。與上一點的唯一區別是IGMP離開消息最終轉發到路由器埠。

MCAST-IGMPQ:recvd an IGMP Leave on the port 3/3 vlanNo 3 GDA 224.10.10.10

MCAST-SEND:Transmitting IGMP Mac Based GS Query msg on port 3/3 vlanNo 3

MCAST-SEND:  Transmit Succeeded for IGMP Group Specific Query msg on

port 3/3 vlanNo 3

MCAST-TIMER:IGMPLeaveTimer expired on port 3/3 vlanNo 3 GDA

01-00-5e-0a-0a-0a

MCAST-TIMER:IGMPLeaveTimer expiry: Transmit IGMP Leave on port 3/1

vlanNo 3

MCAST-SEND:Transmitting IGMP Leave msg on port 3/1 vlanNo 3

MCAST-SEND: Inband Transmit Succeeded for IGMP Leave Message on port 3/1

vlanNo 3

MCAST-TIMER:IGMPLeaveTimer:delete leave timer

現在，子網配置又回到了起點，其狀態在步驟1中。組播條目已從中消失 show cam static 命令輸出。

要完成，請檢視 show igmp static 命令輸出，如下所示。

Switch_B (enable) show igmp stat 2

IGMP enabled

IGMP statistics for vlan 2:

Total valid pkts rcvd:           329

Total invalid pkts recvd         0

General Queries recvd            82

Group Specific Queries recvd     0

MAC-Based General Queries recvd  0

Leaves recvd                     0

Reports recvd                    82

Queries  Xmitted                 0

GS Queries Xmitted               0

Reports Xmitted                  0

Leaves Xmitted                   0

Failures to add GDA to EARL      0

Topology Notifications rcvd      0

Switch_B (enable) show igmp stat 3

IGMP enabled

IGMP statistics for vlan 3:

Total valid pkts rcvd:           360

Total invalid pkts recvd         0

General Queries recvd            93

Group Specific Queries recvd     6

MAC-Based General Queries recvd  0

Leaves recvd                     11

Reports recvd                    64

Queries  Xmitted                 0

GS Queries Xmitted               14

Reports Xmitted                  0

Leaves Xmitted                   10

Failures to add GDA to EARL      0

Topology Notifications rcvd      1

Switch_B (enable)

相關資訊

- 多點傳送Catalyst交換器支援清單

- IP多點傳送支援頁面

- 思科技術支援

- 思科產品支援

- 技術支援與文件 - Cisco Systems