網路管理員經常會問:當組播源和組播接收器都位於同一個VLAN上時,是否有可能在交換機上限制組播流量,以及實現這一目標需要什麼 — 特別是是否需要路由器。
答案是肯定的,這是可能的,而且大多數情況下都需要路由器。
注意:從Catalyst 6500/6000系列交換器上的CatOS 7.1和更新版本開始,提供稱為網際網路群組管理通訊協定(IGMP)窺探查詢器的新功能。使用此功能,當組播源和所有接收器位於同一個VLAN中時,不再需要路由器來限制組播流量。IGMP監聽查詢器可在未配置協定無關組播(PIM)和IGMP的VLAN內啟用IGMP監聽,因為組播流量不需要路由。
本文檔的讀者應瞭解以下內容:
當組播源和所有接收器位於同一個VLAN中時,限制交換機上組播流量的基本要求如下:
交換器必須啟用思科群組管理通訊協定(CGMP)或網際網路群組管理通訊協定(IGMP)窺探。GARP多點傳送註冊通訊協定(GMRP)是限制第2層裝置上多點傳送的另一個機制,此處不作考慮。
路由器必須在來源和接收器所在的VLAN中連線的介面上啟用協定無關多點傳送(PIM)。
如果您使用的是CGMP,則路由器必須在來源和接收器所在的VLAN中連線的介面上啟用CGMP。
注意:如果您只想限制單個VLAN上的組播,並且不打算將組播流量轉發到其他介面或子網,則無需在路由器上啟用組播路由(使用ip multicast-routing global configuration命令)(路由器將抱怨您在路由器介面上啟用PIM時必須啟用組播路由,但此警告在此應用程式中可安全忽略)。
本檔案將說明在執行CatOS的Catalyst交換器上限制多點傳播流量。請參閱以下檔案,限制執行Cisco IOS®系統軟體(原生模式)的Catalyst 4000和6000交換器上的多點傳播流量:
若要建立本檔案中的範例,實驗室環境中已使用下列裝置:
執行Cisco IOS 12.0(7)W5(15d)的Catalyst 4908G-L3交換器 — 路由器
執行Catalyst OS 5.5(2)的Catalyst 4003交換器
執行Catalyst OS 5.5(2)的Catalyst 6009交換器
執行Catalyst OS 5.5(2)的Catalyst 5509交換器
針對IGMP窺探查詢器功能,兩台執行8.1(3)和7.6(2a)的catalyst 6500/6000系列交換器
充當組播接收器(主機)的另外兩台路由器(本例中為Catalyst 2948G-L3和Cisco 7000)
一種能夠傳輸IP多點傳送流的流量產生器(SmartBits 2000)
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
Catalyst交換器支援CGMP和IGMP窺探,如下所示:
Catalyst 4000系列:僅限CGMP
Catalyst 6000系列:僅限IGMP窺探
Catalyst 5000系列:IGMP窺探(搭載Supervisor Engine III/IIIF和NFFC II或搭載Supervisor Engine IIG/IIIG)和CGMP
如需詳細資訊(包括特定硬體和軟體需求),請參閱Catalyst 4000/5000和Catalyst 6000的多點傳送檔案。
本文檔中的配置是在隔離的實驗室環境中實施的。使用前,請確認您已瞭解任何組態或指令可能對網路造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
此範例顯示一個基本網路環境,其中多點傳送來源和多點傳送接收者位於同一個VLAN中。所需的行為是交換機將組播轉發限製為僅請求組播流的埠。
此示例的網路拓撲如圖1所示。
圖1:CGMP示例第1部分
流量生成器正在向VLAN 50(Catalyst 4003的連線埠3/19)上的群組位址239.10.10.10傳送1 Mbps多點傳送UDP封包流。
4908G-L3路由器連線到VLAN 50中埠3/1上的Catalyst 4003。在GigabitEthernet1介面上應用了以下配置(請注意,由於路由器沒有在其介面上路由組播流量,因此沒有全域性配置ip multicast-routing命令):
interface GigabitEthernet1 ip address 192.168.50.11 255.255.255.0 ip pim dense-mode ip cgmp
Catalyst 4003交換器已啟用CGMP和CGMP快速離開(set cgmp enable 和set cgmp leave enable )。
有兩個主機(多點傳送接收器)連線到Catalyst 4003。主機A連線到VLAN 50中的連線埠3/3。主機B連線到VLAN 50中的連線埠3/12。這些主機實際上是設定為終端站的路由器(也就是說,未設定路由或其他類似功能)。 主機A的介面配置了IP地址192.168.50.13/24,而主機B的介面配置了IP地址192.168.50.75/24。在本示例的稍後部分,主機將使用ip igmp join-group 介面配置命令加入組播組。
以下輸出來自Catalyst 4908G-L3,此時流量發生器正在向VLAN 50中的組地址239.10.10.10傳輸流量,但交換機上沒有接收器:
4908g-l3# show ip pim interface Address Interface Version/Mode Nbr Query DR Count Intvl 192.168.50.11 GigabitEthernet1 v2/Dense 0 30 192.168.50.11 4908g-l3#show ip igmp interface gig 1 GigabitEthernet1 is up, line protocol is up Internet address is 192.168.50.11/24 IGMP is enabled on interface Current IGMP version is 2 CGMP is enabled on interface IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Last member query response interval is 1000 ms Inbound IGMP access group is not set IGMP activity: 2 joins, 1 leaves Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is 192.168.50.11 (this system) IGMP querying router is 192.168.50.11 (this system) Multicast groups joined: 224.0.1.40 queue_counter 2579 periodic_counter 77065 dmvrp_counter 0 timer_couter 77065 ast ray 0 4908g-l3# 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 X - Proxy Join Timer Running Outgoing Interface Flags: H - Hardware switched Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.10.10.10), 00:02:15/00:02:59, RP 0.0.0.0, flags: DJC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: GigabitEthernet1, Forward/Dense, 00:02:15/00:00:00 (192.168.50.50, 239.10.10.10), 00:02:16/00:00:43, flags: PCT Incoming interface: GigabitEthernet1, RPF nbr 0.0.0.0 Outgoing interface list: Null 4908g-l3#
注意粗體型別的輸出:
show ip pim interface 輸出顯示IP位址為192.168.50.11的GigabitEthernet1介面正在執行PIM-DenseMode(PIM-DM)。
show ip igmp interface gig 1 命令顯示介面上啟用了IGMP和CGMP,並且PIM正在介面上運行。
show ip mroute 命令顯示路由器具有源自流量生成器192.168.50.50的239.10.10.10(來源、群組)專案。 請注意,傳出介面清單為空。這是因為路由器實際上並未在其介面上執行組播路由。它只用於監控VLAN 50中的IGMP加入和離開,並傳送CGMP消息到交換機。
以下輸出來自Catalyst 4003交換機,該交換機上的流量生成器正在向VLAN 50中的組地址239.10.10.10傳輸流量,但交換機上沒有接收器:
4003> (enable) show cgmp leave CGMP: enabled CGMP leave: enabled 4003> (enable) show multicast router Port Vlan ---------- ---------------- 3/1 50 Total Number of Entries = 1 '*' - Configured '+' - RGMP-capable 4003> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 3/1 50 01-00-5e-0a-0a-0a 3/1 Total Number of Entries = 2 4003> (enable)
注意粗體型別的輸出:
show cgmp leave 輸出顯示交換器上已啟用CGMP和CGMP快速離開。
show multicast router 命令顯示交換器知道VLAN 50(4908G-L3)中連線埠3/1上有一個多點傳送路由器。
show multicast group命令顯示交換機正在將目的地為VLAN 50中MAC地址01-00-5e-0a-0a-0a(239.10.10.10對映到的多播MAC地址)的流量限制到僅埠3/1(組播路由器埠)。
現在,將主機A和主機B配置為組地址239.10.10.10的組播接收器。這是使用ip igmp join-group介面配置命令完成的。
主機A(在FastEthernet13介面上連線的Catalyst 2948G-L3):
HostA# configure terminal Enter configuration commands, one per line. End with CNTL/Z. HostA(config)# interface fastethernet13 HostA(config-if)# ip igmp join-group 239.10.10.10 HostA(config-if)# ^Z HostA# show ip igmp group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 239.10.10.10 FastEthernet13 00:00:05 never 192.168.50.13 HostA#
主機B(在Ethernet1/0介面上連線的Cisco 7000):
HostB# configure terminal Enter configuration commands, one per line. End with CNTL/Z. HostB(config)# interface ethernet1/0 HostB(config-if)# ip igmp join-group 239.10.10.10 HostB(config-if)# ^Z HostB# show ip igmp group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 239.10.10.10 Ethernet1/0 00:00:10 never 192.168.50.75 HostB#
主機A和主機B加入組播組239.10.10.10後,Catalyst 4003交換機的輸出如下:
4003> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 3/1 50 01-00-5e-0a-0a-0a 3/1,3/3,3/12 Total Number of Entries = 2 4003> (enable)
請注意,交換器現在正在VLAN 50中的連線埠3/3(主機A)和3/12(主機B)上轉送01-00-5e-0a-0a-0a(239.10.10.10)的流量。
現在,主機A離開組播組:
HostA# configure terminal Enter configuration commands, one per line. End with CNTL/Z. HostA(config)# interface fastethernet13 HostA(config-if)# no ip igmp join-group 239.10.10.10 HostA(config-if)# ^Z HostA#
交換機從01-00-5e-0a-0a-0a的組播轉發表中刪除埠3/3:
4003> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 3/1 50 01-00-5e-0a-0a-0a 3/1,3/12 Total Number of Entries = 2 4003> (enable)
現在,流量發生器開始傳送另一個目的地為239.85.85.85(MAC地址01-00-5e-55-55-55)的1 Mbps組播流。 請參見圖2。
圖2:CGMP示例第2部分
以下輸出顯示Catalyst 4908G-L3上的組播路由表:
4908g-l3# 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 X - Proxy Join Timer Running Outgoing Interface Flags: H - Hardware switched Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.85.85.85), 00:01:35/00:02:59, RP 0.0.0.0, flags: DP Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Null (192.168.50.50, 239.85.85.85), 00:01:36/00:01:23, flags: PT Incoming interface: GigabitEthernet1, RPF nbr 0.0.0.0 Outgoing interface list: Null (*, 239.10.10.10), 00:01:36/00:02:59, RP 0.0.0.0, flags: DP Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Null (192.168.50.50, 239.10.10.10), 00:01:36/00:01:23, flags: PT Incoming interface: GigabitEthernet1, RPF nbr 0.0.0.0 Outgoing interface list: Null 4908g-l3#
請注意,每個組播流都有一個(S,G)和一個(*,G)條目。
在Catalyst 4003上,多點傳送轉送表如下所示:
4003> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 3/1 50 01-00-5e-0a-0a-0a 3/1,3/12 50 01-00-5e-55-55-55 3/1 Total Number of Entries = 3 4003> (enable)
請注意,交換器在VLAN 50中的連線埠3/1(路由器連線埠)上新增了01-00-5e-55-55專案。
現在,主機A和主機B都使用ip igmp join-group 239.85.85.85介面配置命令加入239.85.85.85組。以下是在主機A和主機B加入組後的交換器多點傳送轉送表:
4003> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 3/1 50 01-00-5e-0a-0a-0a 3/1,3/12 50 01-00-5e-55-55-55 3/1,3/3,3/12 Total Number of Entries = 3 4003> (enable)
請注意,交換器在VLAN 50中的01-00-5e-55-55條目中新增了連線埠3/3和3/12。
此範例顯示另一個基本網路環境,其中多點傳送來源和多點傳送接收者都位於同一個VLAN中。所需的行為是交換機將組播轉發限製為僅請求組播流的埠。
此示例的網路拓撲如圖3所示。
圖3:IGMP監聽範例第1部分
流量發生器正在向VLAN 50(Catalyst 6009埠3/13)上的組地址239.10.10.10傳送1 Mbps的組播UDP資料包流。
4908G-L3路由器連線到埠1/1上的Catalyst 6009。該鏈路配置為VLAN中繼。以下配置應用於GigabitEthernet1.50子介面(注意,由於路由器沒有在其介面上路由組播流量,因此沒有全域性配置ip multicast-routing命令):
interface GigabitEthernet1.50 encapsulation isl 50 ip address 192.168.50.11 255.255.255.0 ip pim dense-mode
請注意,當在第2層交換機上僅使用IGMP監聽時,不需要使用ip cgmp介面配置命令。
Catalyst 6009和Catalyst 5509交換器已啟用IGMP窺探和IGMP快速離開(set igmp enable 和set igmp fastleave enable )。 Catalyst 6009通過埠4/1上的中繼鏈路連線到埠2/1上的Catalyst 5509。
本範例中有兩個主機(多點傳送接收器)。主機A連線到VLAN 50中連線埠3/37上的Catalyst 6009。主機B連線到VLAN 50中連線埠3/9上的Catalyst 5509。與CGMP範例一樣,這些主機實際上是設定為終端站的路由器(也就是說,未設定路由或其他類似功能)。 主機A的介面配置了IP地址192.168.50.13/24,而主機B的介面配置了IP地址192.168.50.75/24。在本示例的稍後部分,主機將使用ip igmp join-group介面配置命令加入組播組。
以下輸出來自Catalyst 4908G-L3,此時流量發生器正在向VLAN 50中的組地址239.10.10.10傳輸流量,但交換機上沒有接收器:
4908g-l3# show ip pim interface Address Interface Version/Mode Nbr Query DR Count Intvl 192.168.50.11 Gi1.50 v2/Dense 0 30 192.168.50.11 4908g-l3# show ip igmp interface gig1.50 Gi1.50 is up, line protocol is up Internet address is 192.168.50.11/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 Last member query response interval is 1000 ms 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 192.168.50.11 (this system) IGMP querying router is 192.168.50.11 (this system) Multicast groups joined: 224.0.1.40 queue_counter 85 periodic_counter 4777 dmvrp_counter 0 timer_couter 4777 astray 0 4908g-l3# 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 X - Proxy Join Timer Running Outgoing Interface Flags: H - Hardware switched Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.10.10.10), 00:02:10/00:02:59, RP 0.0.0.0, flags: DP Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Null (192.168.50.50, 239.10.10.10), 00:02:11/00:00:48, flags: PT Incoming interface: GigabitEthernet1.50, RPF nbr 0.0.0.0 Outgoing interface list: Null 4908g-l3#
下面將更詳細地解釋以粗體顯示的輸出。
show ip pim interface輸出顯示IP位址為192.168.50.11的GigabitEthernet1介面正在執行PIM-DenseMode(PIM-DM)。
show ip igmp interface gig 1.50命令顯示介面上啟用了IGMP並禁用了CGMP,並且PIM正在介面上運行。
show ip mroute命令顯示路由器具有源自流量生成器192.168.50.50的239.10.10.10(來源、群組)專案。 請注意,傳出介面清單為空。這是因為路由器實際上並未在其介面上執行組播路由。它只用於監控VLAN 50中的IGMP加入和離開。
以下輸出來自Catalyst 6009交換機,該交換機上的流量生成器正在向VLAN 50中的組地址239.10.10.10傳輸流量,但交換機上沒有接收器:
Cat6009> (enable) show multicast protocols status IGMP enabled IGMP fastleave enabled RGMP disabled GMRP disabled Cat6009> (enable) show multicast router Port Vlan ---------- ---------------- 1/1 50 Total Number of Entries = 1 '*' - Configured '+' - RGMP-capable Cat6009> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 1/1 50 01-00-5e-0a-0a-0a 1/1 Total Number of Entries = 2 Cat6009> (enable)
下面將更詳細地解釋以粗體顯示的輸出。
show multicast protocols status 輸出顯示交換器上已啟用IGMP和IGMP快速離開。
show multicast router命令顯示交換器知道VLAN 50(4908G-L3)中連線埠1/1上有一台多點傳送路由器。
show multicast group命令顯示交換機正在將目的地為VLAN 50中MAC地址01-00-5e-0a-0a-0a(239.10.10.10對映到的多播MAC地址)的流量限制到僅埠1/1(組播路由器埠)。
以下輸出來自Catalyst 5509交換機,該交換機上的流量生成器正在向VLAN 50中的組地址239.10.10.10傳輸流量,但交換機上沒有接收器:
Cat5509> (enable) show multicast protocols status CGMP disabled IGMP enabled IGMP fastleave enabled RGMP disabled GMRP disabled Cat5509> (enable) show multicast router Port Vlan ---------- ---------------- 2/1 50 Total Number of Entries = 1 '*' - Configured '+' - RGMP-capable Cat5509> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- Total Number of Entries = 0 Cat5509> (enable)
下面將更詳細地解釋以粗體顯示的輸出。
show multicast protocols status輸出顯示交換器上已啟用IGMP和IGMP快速離開。
show multicast router命令會顯示交換器知道VLAN 50中連線埠2/1上有一台多點傳送路由器(這是6009交換器的中繼線)。
show multicast group命令顯示交換機不知道任何組播組。這是因為6009已經將多點傳播流量限製為僅路由器連線埠,因此5509不會接收目的地為VLAN 50中MAC位址01-00-5e-0a-0a-0a的流量。
現在,輸入ip igmp join-group 239.10.10.10介面配置命令,將主機A(連線到埠3/37上VLAN 50中的6009)配置為組地址239.10.10.10的組播接收器。
主機A加入組播組239.10.10.10後,Catalyst 6009交換機的輸出如下:
Cat6009> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 1/1 50 01-00-5e-0a-0a-0a 1/1,3/37 Total Number of Entries = 2 Cat6009> (enable)
請注意,埠3/37已新增到組播組的組播轉發表中。Catalyst 5509上的轉送表沒有變更(沒有多點傳播專案),因為Catalyst 6009仍然阻止多點傳播流量通過中繼鏈路到達5509。
現在,輸入ip igmp join-group 239.10.10.10.10介面配置命令,將主機B(連線到埠3/9上VLAN 50中的5509)配置為組地址239.10.10.10的組播接收器。
主機B加入組播組239.10.10.10後,Catalyst 6009交換機的輸出如下:
Cat6009> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 1/1 50 01-00-5e-0a-0a-0a 1/1,3/37,4/1 Total Number of Entries = 2 Cat6009> (enable)
請注意,Catalyst 6009已將連線埠4/1(Catalyst 5509的中繼連線埠)新增到多點傳送組的轉送表中。
主機B加入組播組239.10.10.10後,Catalyst 5509交換機的輸出如下:
Cat5509> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-0a-0a-0a 2/1,3/9 Total Number of Entries = 1 Cat5509> (enable)
請注意,Catalyst 5509為組播組(MAC 01-00-5e-0a-0a-0a)新增了一個組播轉發條目,並包括中繼埠(2/1)和主機B埠(3/9)。
現在,主機A離開組播組(使用no ip igmp join-group 239.10.10.10介面配置命令)。
6009從01-00-5e-0a-0a-0a的組播轉發表中刪除埠3/37:
Cat6009> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 1/1 50 01-00-5e-0a-0a-0a 1/1,4/1 Total Number of Entries = 2 Cat6009> (enable)
5509組播轉發表保持不變。
現在,流量發生器開始將第二個1 Mbps的組播UDP資料包流傳輸到組地址239.85.85.85(MAC地址01-00-5e-55-55-55)。 請參見圖4。
圖4:IGMP監聽範例第2部分
4908G-L3為新組地址建立一個(*,G)和一個(S,G)條目:
4908g-l3# 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 X - Proxy Join Timer Running Outgoing Interface Flags: H - Hardware switched Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.85.85.85), 00:00:37/00:02:59, RP 0.0.0.0, flags: DP Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Null (192.168.50.50, 239.85.85.85), 00:00:38/00:02:21, flags: PT Incoming interface: GigabitEthernet1.50, RPF nbr 0.0.0.0 Outgoing interface list: Null (*, 239.10.10.10), 00:13:44/00:02:59, RP 0.0.0.0, flags: DJC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: GigabitEthernet1.50, Forward/Dense, 00:13:44/00:00:00 (192.168.50.50, 239.10.10.10), 00:00:38/00:02:21, flags: PCT Incoming interface: GigabitEthernet1.50, RPF nbr 0.0.0.0 Outgoing interface list: Null 4908g-l3#
6009會為新的多點傳送MAC位址建立僅來源轉送專案,該專案僅包括VLAN 50中的多點傳送路由器連線埠(1/1):
t6009> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 1/1 50 01-00-5e-0a-0a-0a 1/1,4/1 50 01-00-5e-55-55-55 1/1 Total Number of Entries = 3 Cat6009> (enable)
現在,主機A和主機B使用ip igmp join-group 239.85.85.85介面配置命令加入239.85.85.85組。
主機A和主機B加入組播組239.85.85.85後,Catalyst 6009交換機的輸出如下:
Cat6009> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-00-01-28 1/1 50 01-00-5e-0a-0a-0a 1/1,4/1 50 01-00-5e-55-55-55 1/1,3/37,4/1 Total Number of Entries = 3 Cat6009> (enable)
請注意,交換器在VLAN 50中的01-00-5e-55-55-55條目中新增了連線埠3/37(主機A)和4/1(5509的中繼線)。
主機A和主機B加入組播組239.85.85.85後,Catalyst 5509交換機的輸出如下:
Cat5509> (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 50 01-00-5e-0a-0a-0a 2/1,3/9 50 01-00-5e-55-55-55 2/1,3/9 Total Number of Entries = 2 Cat5509> (enable)
請注意,交換器已在VLAN 50中新增了01-00-5e-55-55專案,並已新增連線埠2/1(6009的中繼線)和連線埠3/9(主機B)。
以前,當源和接收器位於同一個VLAN上,並且您希望確保組播流量僅傳送到對流量感興趣的接收器時,需要在與VLAN對應的路由器介面上啟用PIM,並且需要使用CGMP或IGMP監聽。
自Catalyst 6500/6000系列交換器上的CatOS版本7.1起,有一個稱為IGMP窺探查詢器的新功能。此功能在未配置PIM和IGMP的VLAN內啟用IGMP監聽,因為組播流量不需要傳送到任何其他VLAN。如果VLAN上沒有您希望組播流量在源和接收器之間通過的組播路由器,您需要啟用IGMP監聽查詢器功能才能使此功能正常工作。
當為某個VLAN配置了IGMP查詢器功能時,交換機每125秒傳送一次IGMP常規查詢,並偵聽來自其他交換機的其他常規查詢。當有幾台交換機為某個VLAN啟用了IGMP查詢器時,會執行選擇過程以確定哪台交換機將繼續充當查詢器。其他在選舉中失敗的交換機將啟動計時器,如果在該時間內沒有聽到任何查詢,將會重新選舉新的查詢器。
兩台Catalyst 6000交換器(一台執行CatOS軟體版本8.1(3),另一台執行CatOS軟體版本7.6(2a))用於測試此功能。拓撲如下所示。
圖5:IGMP查詢器示例
源裝置和接收器都在VLAN 9上。兩台交換機上都啟用了IGMP查詢器。
Didju (enable) set igmp querier enable 9 IGMP querier is enabled for VLAN(s) 9 Cust (enable) set igmp querier enable 9 IGMP querier is enabled for VLAN(s) 9
此配置已經足以使此功能正常工作,但是仍然可以進行一些微調。
Cust (enable) set igmp querier 9 ? qi Query Interval for the vlan(s) oqi Other Querier Interval for the vlan(s)
查詢間隔(預設情況下為125秒)指定被選為查詢器的交換機傳送IGMP常規查詢的頻率。
其他查詢器間隔(預設情況下為300秒)指定處於非查詢器狀態的交換機等待來自查詢器交換機的常規查詢的時間量。如果在配置的時間間隔內沒有從所選查詢器交換機接收到常規查詢,則候選查詢器交換機成為查詢器交換機。此功能類似於「死計時器」。
要檢查兩台交換機上的IGMP查詢器的當前狀態:
Cust (enable) show igmp querier information 9 VLAN Querier State Query Tx Count QI (seconds) OQI (seconds) ---- --------------------- -------------- ------------ ------------- 9 QUERIER 4 125 300 Cust (enable) Didju (enable) show igmp querier information VLAN Querier Address Querier State Query Tx Count QI (sec) OQI (sec) ---- --------------- --------------------- -------------- -------- -------- 9 0.0.0.0 NON-QUERIER 0 125 300 Didju (enable)
從上面的輸出中,您可以看到名為「Cust」的交換機已選擇查詢器,查詢間隔為125秒,非查詢器上的「dead timer」為300秒。
在本示例中,組播源將流量傳送到組239.10.10.10,該組在第2層對應於MAC地址01-00-5E-0A-0A-0A。
現在檢查由IGMP新增到組播組的埠。
Didju (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 9 01-00-5e-0a-0a-0a 2/7-8 Total Number of Entries = 1 Didju (enable) !--- Port 2/7 is the port connected to PC 1 and !--- Port 2/8 connects to Cust, the second 6000.
在Cust上,您將看到以下內容:
Cust (enable) show multicast group VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 9 01-00-5e-0a-0a-0a 3/13-14 Total Number of Entries = 1 Cust (enable) !--- Port 3/13 connects to PC 2 and 3/14 to Didju.
在show multicast router命令中,您會收到執行IGMP查詢的路由器所在的指示。
在Cust上,被選為IGMP查詢器的交換機未顯示輸出,如下所示。
Cust (enable) show multicast router Port Vlan -------------- ---------------- Total Number of Entries = 0 '*' - Configured '+' - RGMP-capable '#' - Channeled Port '$' - IGMP-V3 Router '@' - IGMP-Querier Router Cust (enable)
在第二個交換器Didju上,可以看到以下內容:
Didju (enable) show multicast router Port Vlan -------------- ---------------- 2/7 @ 9 Total Number of Entries = 1 '*' - Configured '+' - RGMP-capable '#' - Channeled Port '$' - IGMP-V3 Router '@' - IGMP-Querier Router Didju (enable)
這裡,多點傳送路由器連線埠是連線埠2/7(連線到客戶機的連線埠),而且通過@'sign告知正在使用IGMP查詢器功能。