引言
三層的IGMP協(xié)議廣泛用于IPv4網(wǎng)絡(luò)組播。在二層網(wǎng)絡(luò)中,IGMP協(xié)議使用資源效率低下,例如:即使少數(shù)幾個(gè)接收者(receivers)連接到交換機(jī)的幾個(gè)端口,交換機(jī)仍然需要將組播流量泛洪到所有端口。
為了修復(fù)這種問題,人們提出了IGMP Snooping協(xié)議,但當(dāng)接收者(receivers)被放置在不同VLAN的時(shí)候,IGMP Snooping卻無能為力(IGMP Snooping通常只在單個(gè)VLAN中配置與生效)。組播局域網(wǎng)注冊(cè)(MVR)功能解決接收者處于不同VLAN時(shí)的泛洪問題,它使用一個(gè)專用的、手工配置的VLAN--組播VLAN,在二層網(wǎng)絡(luò)中去轉(zhuǎn)發(fā)組播流量,它同時(shí)能與IGMP Snooping 協(xié)同使用。
MVR像IGMP Snooping協(xié)議一樣,允許二層交換機(jī)去監(jiān)聽I(yíng)GMP 控制協(xié)議,這兩種協(xié)議彼此獨(dú)立運(yùn)作,可同時(shí)配置在交換機(jī)上。如果同時(shí)開啟兩種特性,MVR將只監(jiān)聽靜態(tài)配置到其MVR功能上面的組的john和report信息,而其它的組的仍然由IGMP Snooping進(jìn)行管理。
下圖展示了MVR的配置應(yīng)用

配置MVR功能時(shí),有兩種類型的MVR端口:源端口和接收端口
源端口: 源端口是指組播VLAN中的組播流經(jīng)過的端口。
接收端口:是一臺(tái)監(jiān)聽組播主機(jī)連接到的交換機(jī)的端口。它可以被放置在除組播vlan外任何的VLAN或無VLAN(無VLAN通常指VLAN1,不打標(biāo)記的流量)。這暗示著:開啟MVR功能的交換機(jī)執(zhí)行VLAN標(biāo)簽替換工作,將組播接收端口的VLAN標(biāo)簽替換為源端口VLAN標(biāo)簽。
組播VLAN是指需要手動(dòng)配置在具體網(wǎng)絡(luò)中的、MVR專用的VLAN,對(duì)于所有的源端口,它需要被明確配置,它常用于在網(wǎng)絡(luò)中傳輸組播流,同時(shí)避免組播流在不同VLAN中的重復(fù)。
MVR有兩種配置模式:兼容模式和動(dòng)態(tài)模式
兼容模式(compatible mode):兼容模式下,MVR交換機(jī)的CPU正常轉(zhuǎn)發(fā)路由器的查詢報(bào)文以及處理客戶端的join報(bào)文,形成動(dòng)態(tài)學(xué)習(xí)的組播轉(zhuǎn)發(fā)表,但是cpu不會(huì)將join報(bào)文轉(zhuǎn)發(fā)到路由器端口,從而上層路由器不會(huì)收到下面的join報(bào)文,導(dǎo)致路由器的數(shù)據(jù)無法正常轉(zhuǎn)發(fā)到交換機(jī)上,這種模式下需要手動(dòng)去配置路由器的組播轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)數(shù)據(jù)到交換機(jī)。
動(dòng)態(tài)模式(dynamic mode):動(dòng)態(tài)模式與兼容模式的唯一區(qū)別就在于動(dòng)態(tài)模式下cpu可以將join報(bào)文轉(zhuǎn)發(fā)到路由器端口,從而上層路由器也可以動(dòng)態(tài)學(xué)習(xí)到組播轉(zhuǎn)發(fā)表,不需要手動(dòng)去配置路由器的組播轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)數(shù)據(jù)到交換機(jī)。
RTK web smart switch for MVR功能測(cè)試
拓?fù)鋱D

上圖中,rtk switch為MVR交換機(jī)
vlan2為MVR vlan
prot1為源端口(上接路由器或者組播源)vlan為tag 2,port2和port3為接收端口(下接客戶端)vlan分別為pvid 3和pvid 4。
路由器上配置
[H3C]igmp-snooping
[H3C-igmp-snooping]drop-unknown
[H3C-igmp-snooping]quit
[H3C]vlan 2
[H3C-vlan2]igmp-snooping enable
[H3C-vlan2]igmp-snooping querier
[H3C-vlan2]igmp-snooping general-query source-ip 70.1.1.2
[H3C-vlan2]igmp-snooping special-query source-ip 70.1.1.2
[H3C-vlan2]igmp-snooping version 2
[H3C-vlan2]quit
[H3C]interface GigabitEthernet 1/0/23
[H3C-GigabitEthernet1/0/23]igmp-snooping host-join 239.0.0.1 vlan 2
MVR rtk switch上配置
Switch# configure
Switch(config)# vlan 2-4
Switch(config-vlan)# *Jan 01 2000 08:02:01: %VLAN-5: VLAN 2 is added, default name is VLAN0002
*Jan 01 2000 08:02:01: %VLAN-5: VLAN 3 is added, default name is VLAN0003
*Jan 01 2000 08:02:01: %VLAN-5: VLAN 4 is added, default name is VLAN0004
Switch(config-vlan)# exit
Switch(config)# interface GigabitEthernet 1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 2
Switch(config-if)# exit
Switch(config)# interface GigabitEthernet 2
Switch(config-if)# switchport access vlan 3
Switch(config-if)# exit
Switch(config)# interface GigabitEthernet 3
Switch(config-if)# switchport access vlan 4
Switch(config)# mvr
The operation will delete groups of VLAN ID is MVR VLAN include static groups. Continue? [yes/no]:y
Switch(config)# mvr vlan 2
The operation will delete the old and new MVR VLAN groups include static MVR groups.Continue? [yes/no]:y
Switch(config)# mvr group 239.0.0.1
The operation will delete the MVR VLAN groups include static MVR groups.Continue? [yes/no]:y
Switch(config)# mvr mode dynamic
Switch(config)# interface GigabitEthernet 1
Switch(config-if)# mvr type source
Switch(config-if)# exit
Switch(config)# interface GigabitEthernet 2
Switch(config-if)# mvr type receiver
Switch(config-if)# exit
Switch(config)# interface GigabitEthernet 3
Switch(config-if)# mvr type receiver
Switch(config-if)# exit
Switch(config)# do show mvr interface
Port? |? Type? | Immediate Leave
--------+---------+-----------------
gi1? ? |? Source|? ? Disabled
gi2? ? | Receiver|? ? Disabled
gi3? ? | Receiver|? ? Disabled
--More--
web頁面上配置




igmp snooping與MVR together work test

