[go: up one dir, main page]

CN1777149A - 在三层交换机上实现组播转发的方法 - Google Patents

在三层交换机上实现组播转发的方法 Download PDF

Info

Publication number
CN1777149A
CN1777149A CNA2005101276490A CN200510127649A CN1777149A CN 1777149 A CN1777149 A CN 1777149A CN A2005101276490 A CNA2005101276490 A CN A2005101276490A CN 200510127649 A CN200510127649 A CN 200510127649A CN 1777149 A CN1777149 A CN 1777149A
Authority
CN
China
Prior art keywords
port
interface
multicast
igmp
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005101276490A
Other languages
English (en)
Other versions
CN100442776C (zh
Inventor
吕琳
周迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou Huawei 3Com Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Huawei 3Com Technology Co Ltd filed Critical Hangzhou Huawei 3Com Technology Co Ltd
Priority to CNB2005101276490A priority Critical patent/CN100442776C/zh
Publication of CN1777149A publication Critical patent/CN1777149A/zh
Application granted granted Critical
Publication of CN100442776C publication Critical patent/CN100442776C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种在三层交换机上实现组播转发的方法,其特征在于,包括:当三层交换机收到与其相连主机发送的互联网组管理协议IGMP成员关系报告报文时,检查收到该报文的端口属性;如果该端口不是连接其所属接口网段上指定路由器的端口,则当三层交换机收到该端口下组播组的组播数据流后,通过该端口将组播数据流直接转发给所述主机。利用本发明,可以有效地节省带宽消耗,提高组播流转发效率。

Description

在三层交换机上实现组播转发的方法
技术领域
本发明涉及网络通信技术领域,具体涉及一种在三层交换机上实现组播转发的方法。
背景技术
随着网络的飞速发展以及网络应用的日益普及,在Internet(因特网)上,多媒体业务诸如:流媒体,视频会议和视频点播等,正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特性,即单点发送多点接收,因为服务器必须为每一个接收者提供一个相同内容的IP(因特网协议)报文拷贝,同时网络上也重复地传输相同内容的报文,占用了大量资源。虽然IP广播允许一个主机将一个IP报文发送给同一个网络的所有主机,但是由于不是所有的主机都需要这些报文,因而浪费了网络资源。在这种情况下组播应运而生,它的出现解决了一个主机向特定的多个接收者发送消息的方法。
IP组播是指一个IP报文向一个“主机组”的传送,这个包含零个或多个主机的主机组由一个单独的IP地址标识。主机组地址也称为“组播地址”,或者D类地址。IP组播分组在互联网上的转发由支持组播的路由器来处理。主机发出的IP组播分组在本子网内被所有主机组成员接收,同时与该子网直接相连的组播路由器会把组播报文转发到所有包含该主机组成员的网络上。组播传输可在数据链路层(第二层)和网络层(第三层)实现。IP组播技术有效地解决了单点发送多点接收、多点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。
随着组播业务的迅速发展,要求网络设备也要能够支持组播功能,目前的三层交换机不仅可以支持IGMP(互联网组管理协议),而且可以支持PIM-SM/DM(协议无关组播-稀疏模式/密集模式)、DVMRP(距离向量组播路由协议)等组播路由协议,使得三层交换机既可以部署在网络的边缘,又可以在汇聚层或核心层提供组播业务的支持。
三层交换机是一种兼具三层转发和二层交换功能的设备。三层转发用于VLAN(虚拟局域网)接口之间的报文转发,而二层交换用于VLAN内部端口之间的报文转发。
例如,图1所示的典型组播组网中,路由器Rtr为DR(指定路由器),负责发起PIM协议的加入动作,通常由一个网段中IP地址最大的那台路由器作为指定路由器。主机S1通过三层交换机L3Sw接入组网网络,三层交换机L3Sw的端口port1和port2同属于vlan30。
当主机S1想加入某一个组播组时,发送IGMP成员关系报告报文,该报文被三层交交换机L3Sw接收,同时会经过L3Sw的vlan30从port1二层转发到port2被路由器Rtr接收;由于此时路由器Rtr为DR,所以按照PIM协议的规定,作为DR的路由器会负责发起PIM加入,于是当三层交交换机L3Sw接收到组播源S0发送的组播报文后,会出现下面两种情况:
1、当vlanif40所在逻辑链路的IP地址比vlanif30所在逻辑链路的IP地址大时,路由器Rtr会从vlanif40发送PIM加入报文,于是在三层交换机L3Sw上就会出现一条出接口为vlanif40的组播路由转发表项,组播流会先经过L3Sw经链路vlanif40到Rtr,Rtr再将其从vlanif30转发给L3Sw,然后经L3Sw的vlan30从port2二层转发到port1,从而传递给主机。
2、当vlanif40所在逻辑链路的IP地址比vlanif30所在逻辑链路的IP地址小时,路由器Rtr会从vlanif30发送PIM加入报文,于是在三层交换机L3Sw上就会出现一条出接口为vlanif30的组播路由转发表项,组播流会在vlan30内的两个端口转发,一份转发给Rtr,另一份转发给主机。
可见,在这类通用组网情况下:即主机通过三层交换机接入组网网络,并且通过该三层交换机的一个具有三层接口并包含多个端口的vlan与多台三层设备(包括该三层交换机)连接于一个共享网络时,组播流由该三层交换机负责从上行网络接收并往下行转发,但该共享网络的DR却不是该三层交换机。三层交换机收到组播流后,要么组播流需要从其他组播路由器绕一圈回来再从二层转发给自己所连接的主机,要么除了转发给自己所连接的主机外,还要发送一份不必要的组播流去冲击其他组播路由器。这两种方式均会造成对网络带宽的浪费。
发明内容
本发明的目的是提供一种在三层交换机上实现组播转发的方法,以克服现有技术中三层交换机对组播流转发时会造成网络带宽浪费的缺点,有效地节省带宽消耗,提高组播流转发效率。
为此,本发明提供如下的技术方案:
一种在三层交换机上实现组播转发的方法,包括以下步骤:
A、当三层交换机收到互联网组管理协议IGMP成员关系报告报文时,检查收到该报文的端口属性;
B、如果该端口不是连接其所属接口网段上指定路由器的端口,则当三层交换机收到该端口下组播组的组播数据流后,通过该端口将组播数据流直接转发出去。
优选地,所述方法进一步包括:
C、如果所述端口不是连接其所属接口网段上指定路由器的端口,则三层交换机禁止转发该端口下组播组的IGMP成员关系报告报文和IGMP离开报文。
优选地,所述方法进一步包括:
D、如果所述端口不是连接其所属接口网段上指定路由器的端口,则三层交换机向连接三层设备的各端口分别发送一份对应所述端口下组播组的IGMP离开报文。
优选地,所述方法还包括:
E、当三层交换机收到IGMP离开报文时,检查收到该报文的端口属性;
F、如果该端口不是连接其所属接口网段上指定路由器的端口,则向该端口发送至少一个IGMP指定组查询报文。
所述步骤B包括:
B1、根据端口配置关系获取收到IGMP成员关系报告报文的端口所属的接口;
B2、当所述接口为其对应组播组的组播转发表项的反向路径转发RPF接口时,三层交换机将收到的所述端口下组播组的组播数据流在入虚拟局域网VLAN内做二层转发;
B3、否则,将所述接口作为其对应组播组的组播转发表项的出接口加入到组播转发表中,三层交换机将收到的所述端口下组播组的组播数据流按照该组播转发表进行三层转发。
可选地,在所述步骤A前还包括:
在三层交换机保存的组播组表中增加接口属性字段。
在所述步骤B1和步骤B2之间还包括:
如果该端口不是连接其所属接口网段上指定路由器的端口,则在所述组播组表中增加对应表项的同时,将其接口属性填写为“非指定路由器连接IGMP接口”;
如果该端口是连接其所属接口网段上指定路由器的端口,则在所述组播组表中增加对应表项的同时,将其接口属性填写为“指定路由器连接IGMP接口”。
优选地,所述方法进一步包括:
G、如果三层交换机在预定时间内未收到该端口下组播组的IGMP成员关系报告报文,则删除所述组播组表中的对应表项。
一种在三层交换机上实现组播转发的方法,包括以下步骤:
I.在三层交换机保存的组播组表中设置接口属性;
II.当三层交换机收到互联网组管理协议IGMP成员关系报告报文时,检查收到该报文的端口的属性;
III.如果该端口不是连接其所属接口网段上指定路由器的端口,则当三层交换机收到该端口下组播组的组播数据流后,通过该端口将组播数据流直接转发出去。
在所述步骤I中接口属性按照以下标准进行设置:
如果该端口不是连接其所属接口网段上指定路由器的端口,其接口属性为“非指定路由器连接IGMP接口”;
如果该端口是连接其所属接口网段上指定路由器的端口,其接口属性为“指定路由器连接IGMP接口”。
由以上本发明提供的技术方案可以看出,本发明在三层交换机收到IGMP成员关系报告时,通过检查收到该报文的端口属性来决定该端口下组播组的组播数据流的转发方式。如果该端口不是连接其所属接口网段上DR(指定路由器)的端口,当三层交换机收到该端口下组播组的组播数据流后,通过该端口将组播数据流直接转发出去;否则,即可按照现有的转发方式转发。通过这种转发方式,有效地避免了组播流绕行其他组播路由器的过程,以及对其他组播路由器造成的不必要的组播流冲击,节省了网络带宽消耗,提高了转发效率,而且无需对现有标准协议做任何修改,不会带来兼容性问题。
附图说明
图1是组播组网示意图;
图2是本发明方法的第一实施例实现流程图;
图3是IGMP报告和查询报文示意图;
图4是本发明方法的第二实施例实现流程图。
具体实施方式
本发明的核心是在三层交换机收到IGMP成员关系报告时,通过检查收到该报文的端口属性来决定该端口下组播组的组播数据流的转发方式。如果该端口不是连接其所属接口网段上DR(指定路由器)的端口,当三层交换机收到该端口下组播组的组播数据流后,通过该端口将组播数据流直接转发给主机;否则,即可按照现有的转发方式转发。具体实现时,可以在三层交换机保存的组播组表中增加接口属性字段,利用该字段标明三层交换机收到IGMP成员报告关系报告报文的接口网段上并非DR,并且该IGMP成员关系报告不是来自连接DR的端口。当三层交换机收到组播流后,对于具有这种接口属性的接口,当该接口为对应组的组播转发表项的RPF接口时,则直接将组播流在RPF接口内作二层转发,当该接口不是对应组的组播转发表项的RPF接口时,则将该接口作为组播转发表项的出接口,通过三层转发将组播流直接发送到该接口。
本技术领域人员知道,每个VLAN对应一个IP网段,在二层上,VLAN之间是隔离的,不同IP网段之间的访问要跨越VLAN,要使用三层转发引擎提供的VLAN间路由功能。三层交换机的工作原理是:假设两个使用IP协议的站点A、B通过第三层交换机进行通信,发送站A在开始发送时,把自己的IP地址与B站的IP地址比较,判断B站是否与自己在同一子网内,若目的站B与发送站A在同一子网内,则进行二层的转发,若两个站点不在同一子网内,如发送站A要与目的站B通信,发送站A要向三层交换机的三层交换模块发出ARP(地址解析)封包。当发送站A对三层交换模块的IP地址广播出一个ARP请求时,如果三层交换模块在以前的通信过程中已经知道B站的MAC地址,则向发送站A回复B的MAC地址,否则三层交换模块根据路由信息向B站广播一个ARP请求,B站得到此ARP请求后向三层交换模块回复其MAC地址,三层交换模块保存此地址并回复给发送站A,同时将B站的MAC地址发送到二层交换引擎的MAC地址表中。从这以后,A向B发送的数据包便全部交给二层交换处理,信息得以高速交换。即所谓的一次选路,多次交换。
一个三层交换机的一个三层接口可能包含多个端口,由于每个VLAN对应一个IP网段,因此这些端口中可能有多个端口属于同个VLAN。
正因如此,所以当三层交换机在组播组网中不是DR时,如果通过该三层交换机转发组播流到与其相连的主机时会出现不必要的带宽消耗,并且会对其他组播路由器产生不必要的组播流冲击。为了避免这种情况,在本发明中,让三层交换机收到组播流后,直接转发给自己所连接的主机,并且不发送不必要的组播流流去冲击其他路由器。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图2,图2示出了本发明方法的实现流程,包括以下步骤:
步骤201:三层交换机接收到IGMP(互联网组管理协议)成员关系报告报文后,检查并记录收到该报文的端口属性。
组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系协议包括IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播路由协议包括PIM-SM(协议无关组播-稀疏模式)、PIM-DM(协议无关组播-密集模式)、DVMRP(距离向量组播路由协议)等协议,域间组播路由协议包括MBGP(组播协议边界网关协议)、MSDP(组播源发现协议)等协议。
其中IGMP负责建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发。域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息,以使组播数据在域间进行转发。
组播路由器使用IGMP报文来记录与该路由器相连网络中组成员的变化情况。使用规则如下:
1)当第一个进程加入一个组时,对于IGMP v1的主机发送一个IGMP成员关系报告报文。如果一个主机的多个进程加入同一组,只发送一个IGMP成员关系报告报文。这个报告被发送到进程加入组所在的同一接口上。对于IGMPv2的主机会发送IGMP离开报文。
2)进程离开一个组时,主机不发送IGMP成员关系报告报文,即便是组中的最后一个进程离开。主机知道在确定的组中已不再有组成员后,在随后收到的IGMP查询中就不再发送报告报文。
3)组播路由器在收到IGMP离开报文后会发送IGMP特定组查询报文来了解是否还有任何主机包含有属于组播组的进程。组播路由器必须向每个接口发送一个IGMP特定组查询报文。因为路由器希望主机对它加入的每个组播组均发回一个报告,因此IGMP特定组查询报文中的组地址被设置为该组播组地址。
4)主机通过发送IGMP成员关系报告报文来响应一个IGMP查询,对每个至少还包含一个进程的组均要发回IGMP成员关系报告报文。
使用这些查询和报告报文,组播路由器对每个接口保持一个表,表中记录接口上至少还包含一个主机的组播组。当路由器收到要转发的组播数据流时,它只将该数据流转发到拥有属于那个组主机的接口上。
图3示出了两个IGMP报文,一个是主机发送的成员关系报告报文,另一个是路由器发送的特定组查询报文。该路由器要求那个接口上的每个主机说明它加入的每个多播组。
在主机通过三层交换机接入组播组网络时,向三层交换机发送IGMP成员关系报告报文,而且该三层交换机在收到IGMP成员关系报告报文的接口网段上并非DR(指定路由器)。如果按照现有技术的处理,则三层交换机不需要检查该报文是否来自连接DR的端口,而是直接向DR转发收到的IGMP成员关系报告报文,由DR向三层交换机发送PIM加入报文,三层交换机根据收到PIM加入报文的接口建立组播路由转发表项,当三层交换机收到组播流后,根据建立的组播路由表项进行组播流的转发。而在本发明方法中,为了避免对网络带宽的浪费及对其他组播路由器产生不必要的组播流冲击,当三层交换机收到IGMP成员关系报告报文时,检查收到该报文的端口属性。然后根据该端口的属性决定是否向DR转发收到的IGMP成员关系报告报文,并建立相应的组播路由转发表项,使三层交换机收到相应的组播流后,直接转发出去,并且不会发送不必要的组播流去冲击其他路由器。
步骤202:判断该端口是否为连接其所属接口网段上指定路由器的端口。
如果是,则进到步骤203:当三层交换机收到该端口下组播组的组播数据流后,进行正常的转发流程。然后,进到步骤205。
比如,可以建立一个接口属性列表,在该表中,包含端口号、端口属性等信息。当三层交换机收到IGMP成员关系报告报文时,根据检查结果将端口属性信息填写到该表项中。当三层交换机收到组播流时,根据该端口属性以及其保存的组播组表、组播转发表项中的信息,建立相应的转发表项(可能是二层转发,也可能是三层转发),完成组播数据流的转发。
否则,进到步骤204:当三层交换机收到该端口下组播组的组播数据流后,通过该端口将组播数据流直接转发出去。
根据现有协议,三层交换机收到主机发送的IGMP成员关系报告报文后,需要将其再转发给DR。
当三层交换机收到IGMP成员关系报告报文的端口不是连接其所属接口网段上指定路由器的端口时,为了防止其他路由器再收到该IGMP成员关系报告报文,则三层交换机需要拦截其对应组播组的IGMP成员关系报告报文和IGMP离开报文,也就是说,当三层交换机收到这种端口发来的IGMP成员关系报告报文和IGMP离开报文后,不再对这些报文进行二层转发。同时,因为已经有IGMP成员关系报告报文经过二层转发给了其他三层设备,还需要往连接三层设备的端口发送一份对应组播组的IGMP离开报文。如有多个端口连接三层设备,则每个端口都需要发送一份对应组播组的IGMP离开报文。
步骤205:三层交换机接收到IGMP离开报文时,检查记录的该报文的端口属性。
步骤206:判断该端口是否为连接其所属接口网段上指定路由器的端口。
如果是,则进到步骤207:进行正常的转发流程。通常,由DR负责组播数据流的转发。
否则,进到步骤208:向该端口发送至少一个IGMP指定组查询报文。
步骤209:如果在预定时间内未收到该端口下组播组的IGMP成员关系报告报文,则删除记录的该端口及其对应的属性信息;否则,不删除该端口及对应的属性信息。
通常,在三层交换机中保存有组播组表,在该表中,三层交换机将收到的IGMP成员关系报告报文中的组播组记录在某个VLAN的端口下,以表明该端口是否有转发某个组播组的必要。
在组播组表中,包含VLANif接口(VLAN三层接口)、该VLAN内的端口号、该端口下组播组等信息。
在本发明中,也可以将满足以下条件的接口定义为IGMP-NonDR接口:
如果三层交换机在收到IGMP成员关系报告报文的接口网段上并非DR,并且该IGMP成员关系报告报文不是来自连接DR的端口。则该端口所属的VLANif接口为IGMP-NonDR接口。
在组播组表中增加IGMP-NonDR接口属性字段。当三层交换机从接口收到来自主机的IGMP成员关系报告报文时,首先判断该接口是否满足IGMP-NonDR接口的条件,如果不满足,则在组播组表中添加相应表项的同时,将IGMP-NonDR接口属性字段填写为“否”;如果满足,则在组播组表中添加相应表项的同时,将IGMP-NonDR接口属性字段填写为“是”。
当三层交换机接收到该端口下组播组的组播数据流后,根据组播组表中对应表项中的IGMP-NonDR接口属性决定对组播数据流的转发方式。
参照图4,图4示出了本发明方法的第二实施例的实现流程,包括以下步骤:
步骤401:在组播组表中增加IGMP-NonDR接口属性。
例如,下表1所示:
表1:
  vlanif接口   IGMP-NonDR接口属性   该vlan内的端口号   该端口下组播组
  30   是   Port1   225.1.1.1
  …   …   …   …
在该表中,vlanif30这个接口属于IGMP-NonDR接口,在vlan的端口port1下有225.1.1.1这个组播组。说明该端口所连接的主机曾经发送过225.1.1.1的成员关系报告。
步骤402:当三层交换机收到IGMP成员关系报告报文后,在组播组表中添加相应表项,并检查接收IGMP成员关系报告报文的端口,根据检查结果填写组播组表项中的IGMP-NonDR接口属性。
例如,图1所示的组网方式中,L3Sw从接口vlanif30的端口port2收到226.1.1.1组播组的IGMP成员关系报告报文,但port2连接着DR,所以该接口并不满足IGMP-NonDR接口的条件,则在组播组表中添加表项:
  vlanif接口   IGMP-NonDR接口属性   该vlan内的端口号   该端口下组播组
  30   否   Port2   226.1.1.1
三层交换机从接口vlanif30的端口port1收到组播组224.1.1.1的IGMP成员关系报告报文,由于port1没连接DR,所以vlanif30满足IGMP-NonDR接口的条件。则在组播组表中添加表项如下:
  vlanif接口   IGMP-NonDR接口属性   该vlan内的端口号   该端口下组播组
  30   是   Port1   224.1.1.1
步骤403:当组播组表中的IGMP-NonDR接口属性不满足IGMP-NonDR接口条件时,三层交换机收到该端口下组播组的组播流后,进行正常的转发。
步骤404:当组播组表中的IGMP-NonDR接口属性满足IGMP-NonDR接口条件时,检查该接口是否为对应组的组播转发表项的RPF(反向路径转发)接口。
本技术领域人员知道,在三层交换机中,为了正确地对组播数据流进行转发,需要建立相应的组播转发表项,该表项通常包括:组播流源地址、组地址、RPF接口、出接口等信息。
RPF是组播路由协议中组播数据转发过程的基础,其工作机制是当组播信息通过有源树时,组播路由器检查到达的组播数据包的组播源地址,以确定该组播数据包所经过的接口是否在有源的分支上,如果在,则RPF检查成功,组播数据包被转发;如果RPF检查失败,则丢弃该组播数据包。其中,RPF接口相当于组播路由表项的入接口。三层交换机收到组播数据流后,查找相应的表项,将组播数据流通过三层转发到出接口下收到IGMP加入报文的端口中。
如果该接口为对应组的组播转发表项的RPF接口,则进到步骤405:将组播数据流在入VLAN内作二层转发。
如果该接口不是对应组的组播转发表项的RPF接口,则进到步骤406:将该接口作为组播转发表项的出接口。在进行组播数据流转发时,再根据组播组表将其转发到该出接口下收到IGMP成员关系报告报文的端口中。
同样,对于来自IGMP-NonDR接口的IGMP成员关系报告报文及IGMP离开报文,为了保证不再让其他路由器收到这些报文,需要三层交换机不再对这些报文进行二层转发。
即步骤407:拦截该组播组的IGMP成员关系报告报文和IGMP离开报文,同时,往连接三层设备的端口发送一份对应组播组的IGMP离开报文。
例如,该接口刚好是对应组的组播转发表项(例如,(1.1.1.1,224.1.1.1))的RPF接口,则将端口port1加入到vlan30的二层转发表项的端口列表中,此时组播流从port2转发到port1;如果该接口不是RPF接口,则将它作为对应组的组播转发表项例如(1.1.1.1,224.1.1.1)的出接口加入,这样组播流就会由vlan30的端口port1直接转发给主机,而不会由其他端口进行复制转发。同时拦截来自主机的224.1.1.1的IGMP成员关系报告报文,使这些报文不会从port2转发出去;此外,需要往port2发送组播组224.1.1.1的IGMP离开报文。
步骤408:当三层交换机收到IGMP离开报文时,查找组播组表。
步骤409:判断主机要离开的组是否存在于组播组表中对应接口的对应端口下。
如果不存在,则进到步骤410:不进行处理。
如果存在,则进到步骤411:进一步判断该VLAN接口属性是否为IGMP-NonDR。
如果不是,则进到步骤412:按照现有的正常流程进行处理。通常,由DR负责向其他路由器转发IGMP离开报文。
如果是,则进到步骤413:向该端口发送多个IGMP指定组查询报文,以查询该端口连接的网络中是否还有主机需要加入该组播组。
步骤414:等待预定时间没收到该组播组下的IGMP成员关系报告报文,从组播组表中删除对应表项。
例如:三层交换机从vlan30的端口port1收到224.1.1.1的IGMP离开报文,需要往端口port1发送若干个IGMP指定组查询报文,在一定时间内没收到224.1.1.1的IGMP成员关系报告报文,则将该表项从组播组表中删除。若收到,则保留该表项。
可见,利用本发明,在图1所示的网络中,三层交换机可以控制组播流直接转发到与其相连的主机上。
下面参照图1所示网络,进一步说明本发明与现有技术的区别。
假如有一个组播转发表项(1.1.1.1,224.1.1.1),其入接口为vlanifl0,此时L3Sw从vlan30的端口port1收到来自主机的IGMP成员关系报告(224.1.1.1)。
使用现有的技术,由于Rtr为DR,所以需要由DR负责转发组播流,IGMP成员关系报告从port1二层转发到port2,Rtr收到IGMP成员关系报告后,向L3Sw发送PIM加入报文,于是就会出现前面提到的现有技术存在的问题:
a、如果vlanif40的网段地址比vlanif30的地址大,则从vlanif40接口往L3Sw发送PIM加入报文,LWSw则将vlanif40作为出接口加入到组播转发表项(1.1.1.1,224.1.1.1)的出接口列表中去。于是L3Sw将组播流从vlanif40转发给Rtr,Rtr再将组播流从vlanif30转发给L3Sw,从L3Sw的vlan30的port2二层转发给port1。
b、如果vlanif30的网段地址比vlanif40的地址大,则从vlanif30接口往L3Sw发送PIM加入报文,LWSw则将vlanif30作为出接口加入到组播转发表项(1.1.1.1,224.1.1.1)的出接口列表中去。于是L3Sw将组播流从vlanif30的端口port2转发给Rtr,也会从vlan30的port1转发给主机。
利用本发明方案,L3Sw发现vlanif30是IGMP-NonDR接口,于是拦截了IGMP成员关系报告,自己直接作为出接口加入到组播转发表项(1.1.1.1,224.1.1.1)的出接口列表中去。于是L3Sw将组播流从vlanif30的端口port1转发给主机。Rtr则不会收到不必要的组播流。
本发明中对于报文的处理与标准协议相同,因此也不会带来兼容性问题,可方便实现。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

Claims (10)

1、一种在三层交换机上实现组播转发的方法,其特征在于,包括以下步骤:
A、当三层交换机收到互联网组管理协议IGMP成员关系报告报文时,检查收到该报文的端口属性;
B、如果该端口不是连接其所属接口网段上指定路由器的端口,则当三层交换机收到该端口下组播组的组播数据流后,通过该端口将组播数据流直接转发出去。
2、根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
C、如果所述端口不是连接其所属接口网段上指定路由器的端口,则三层交换机禁止转发该端口下组播组的IGMP成员关系报告报文和IGMP离开报文。
3、根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
D、如果所述端口不是连接其所属接口网段上指定路由器的端口,则三层交换机向连接三层设备的各端口分别发送一份对应所述端口下组播组的IGMP离开报文。
4、根据权利要求1所述的方法,其特征在于,所述方法还包括:
E、当三层交换机收到IGMP离开报文时,检查收到该报文的端口属性;
F、如果该端口不是连接其所属接口网段上指定路由器的端口,则向该端口发送至少一个IGMP指定组查询报文。
5、根据权利要求1至4任一项所述的方法,其特征在于,所述步骤B包括:
B1、根据端口配置关系获取收到IGMP成员关系报告报文的端口所属的接口;
B2、当所述接口为其对应组播组的组播转发表项的反向路径转发RPF接口时,三层交换机将收到的所述端口下组播组的组播数据流在入虚拟局域网VLAN内做二层转发;
B3、否则,将所述接口作为其对应组播组的组播转发表项的出接口加入到组播转发表中,三层交换机将收到的所述端口下组播组的组播数据流按照该组播转发表进行三层转发。
6、根据权利要求5所述的方法,其特征在于,在所述步骤A前还包括:
在三层交换机保存的组播组表中增加接口属性字段。
7、根据权利要求6所述的方法,其特征在于,在所述步骤B1和步骤B2之间还包括:
如果该端口不是连接其所属接口网段上指定路由器的端口,则在所述组播组表中增加对应表项的同时,将其接口属性填写为“非指定路由器连接IGMP接口”;
如果该端口是连接其所属接口网段上指定路由器的端口,则在所述组播组表中增加对应表项的同时,将其接口属性填写为“指定路由器连接IGMP接口”。
8、根据权利要求6所述的方法,其特征在于,所述方法进一步包括:
G、如果三层交换机在预定时间内未收到该端口下组播组的IGMP成员关系报告报文,则删除所述组播组表中的对应表项。
9、一种在三层交换机上实现组播转发的方法,其特征在于,包括以下步骤:
I.在三层交换机保存的组播组表中设置接口属性;
II.当三层交换机收到互联网组管理协议IGMP成员关系报告报文时,检查收到该报文的端口的属性;
III.如果该端口不是连接其所属接口网段上指定路由器的端口,则当三层交换机收到该端口下组播组的组播数据流后,通过该端口将组播数据流直接转发出去。
10、根据权利要求9所述的方法,其特征在于,在所述步骤I中接口属性按照以下标准进行设置:
如果该端口不是连接其所属接口网段上指定路由器的端口,其接口属性为“非指定路由器连接IGMP接口”;
如果该端口是连接其所属接口网段上指定路由器的端口,其接口属性为“指定路由器连接IGMP接口”。
CNB2005101276490A 2005-12-06 2005-12-06 在三层交换机上实现组播转发的方法 Expired - Fee Related CN100442776C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101276490A CN100442776C (zh) 2005-12-06 2005-12-06 在三层交换机上实现组播转发的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101276490A CN100442776C (zh) 2005-12-06 2005-12-06 在三层交换机上实现组播转发的方法

Publications (2)

Publication Number Publication Date
CN1777149A true CN1777149A (zh) 2006-05-24
CN100442776C CN100442776C (zh) 2008-12-10

Family

ID=36766461

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101276490A Expired - Fee Related CN100442776C (zh) 2005-12-06 2005-12-06 在三层交换机上实现组播转发的方法

Country Status (1)

Country Link
CN (1) CN100442776C (zh)

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008009188A1 (fr) * 2006-07-13 2008-01-24 Zte Corporation Système, procédé et dispositif pour réaliser une transmission d'informations optique par un canal de surveillance
WO2008055427A1 (fr) * 2006-11-07 2008-05-15 Huawei Technologies Co., Ltd. Procédé et échangeur pour le furetage de protocole de gestion de groupe internet
CN101291240B (zh) * 2008-06-19 2010-08-25 杭州华三通信技术有限公司 一种组播流传输方法和系统
CN101388788B (zh) * 2008-10-29 2011-03-30 杭州华三通信技术有限公司 二层组播管理方法、系统及二层交换机
CN101360062B (zh) * 2008-09-17 2011-05-11 中兴通讯股份有限公司 实现带根节点的多点对多点以太网业务的方法和系统
CN102082720A (zh) * 2009-12-01 2011-06-01 杭州华三通信技术有限公司 一种转发组播流量的方法和装置
CN102255808A (zh) * 2011-07-08 2011-11-23 福建星网锐捷网络有限公司 拥塞通告方法、装置、系统及网络设备
CN101436945B (zh) * 2008-12-25 2012-05-23 中兴通讯股份有限公司 一种组播业务故障保护的方法、系统及装置
CN101459596B (zh) * 2007-12-14 2012-07-04 华为技术有限公司 一种发送组播数据的方法、系统和设备
CN102739532A (zh) * 2012-06-21 2012-10-17 上海斐讯数据通信技术有限公司 防止三层组播数据流洪泛的方法
CN104937885A (zh) * 2012-08-21 2015-09-23 博科通讯系统有限公司 用于结构交换机的全局vlan
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US9807017B2 (en) 2013-01-11 2017-10-31 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9848040B2 (en) 2010-06-07 2017-12-19 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9871676B2 (en) 2013-03-15 2018-01-16 Brocade Communications Systems LLC Scalable gateways for a fabric switch
US9887916B2 (en) 2012-03-22 2018-02-06 Brocade Communications Systems LLC Overlay tunnel in a fabric switch
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US9942173B2 (en) 2010-05-28 2018-04-10 Brocade Communications System Llc Distributed configuration management for virtual cluster switching
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US9998365B2 (en) 2012-05-18 2018-06-12 Brocade Communications Systems, LLC Network feedback in software-defined networks
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US10044568B2 (en) 2014-05-13 2018-08-07 Brocade Communications Systems LLC Network extension groups of global VLANs in a fabric switch
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US10075394B2 (en) 2012-11-16 2018-09-11 Brocade Communications Systems LLC Virtual link aggregations across multiple fabric switches
US10164883B2 (en) 2011-11-10 2018-12-25 Avago Technologies International Sales Pte. Limited System and method for flow management in software-defined networks
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
US10355879B2 (en) 2014-02-10 2019-07-16 Avago Technologies International Sales Pte. Limited Virtual extensible LAN tunnel keepalives
US10419276B2 (en) 2010-06-07 2019-09-17 Avago Technologies International Sales Pte. Limited Advanced link tracking for virtual cluster switching
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US10462049B2 (en) 2013-03-01 2019-10-29 Avago Technologies International Sales Pte. Limited Spanning tree in fabric switches
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US10673703B2 (en) 2010-05-03 2020-06-02 Avago Technologies International Sales Pte. Limited Fabric switching
CN111600800A (zh) * 2020-04-01 2020-08-28 武汉迈威通信股份有限公司 一种跨网段拓扑发现的方法及设备
CN112152943A (zh) * 2020-09-07 2020-12-29 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于处理器拟态交换机控制执行体的方法及系统
CN116055387A (zh) * 2022-12-29 2023-05-02 苏州盛科通信股份有限公司 组播报文处理方法、装置、服务器和介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115385A (en) * 1998-03-11 2000-09-05 Cisco Technology, Inc. Method and system for subnetting in a switched IP network
CN100372292C (zh) * 2003-08-11 2008-02-27 华为技术有限公司 三层交换机上实现组播精确到端口转发的方法
CN100365987C (zh) * 2003-12-31 2008-01-30 华为技术有限公司 注销路由器上失效的因特网组管理协议组播端口的方法

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008009188A1 (fr) * 2006-07-13 2008-01-24 Zte Corporation Système, procédé et dispositif pour réaliser une transmission d'informations optique par un canal de surveillance
WO2008055427A1 (fr) * 2006-11-07 2008-05-15 Huawei Technologies Co., Ltd. Procédé et échangeur pour le furetage de protocole de gestion de groupe internet
CN101459596B (zh) * 2007-12-14 2012-07-04 华为技术有限公司 一种发送组播数据的方法、系统和设备
CN101291240B (zh) * 2008-06-19 2010-08-25 杭州华三通信技术有限公司 一种组播流传输方法和系统
CN101360062B (zh) * 2008-09-17 2011-05-11 中兴通讯股份有限公司 实现带根节点的多点对多点以太网业务的方法和系统
CN101388788B (zh) * 2008-10-29 2011-03-30 杭州华三通信技术有限公司 二层组播管理方法、系统及二层交换机
CN101436945B (zh) * 2008-12-25 2012-05-23 中兴通讯股份有限公司 一种组播业务故障保护的方法、系统及装置
CN102082720B (zh) * 2009-12-01 2013-04-03 杭州华三通信技术有限公司 一种转发组播流量的方法和装置
CN102082720A (zh) * 2009-12-01 2011-06-01 杭州华三通信技术有限公司 一种转发组播流量的方法和装置
US10673703B2 (en) 2010-05-03 2020-06-02 Avago Technologies International Sales Pte. Limited Fabric switching
US9942173B2 (en) 2010-05-28 2018-04-10 Brocade Communications System Llc Distributed configuration management for virtual cluster switching
US10419276B2 (en) 2010-06-07 2019-09-17 Avago Technologies International Sales Pte. Limited Advanced link tracking for virtual cluster switching
US11438219B2 (en) 2010-06-07 2022-09-06 Avago Technologies International Sales Pte. Limited Advanced link tracking for virtual cluster switching
US10924333B2 (en) 2010-06-07 2021-02-16 Avago Technologies International Sales Pte. Limited Advanced link tracking for virtual cluster switching
US9848040B2 (en) 2010-06-07 2017-12-19 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US11757705B2 (en) 2010-06-07 2023-09-12 Avago Technologies International Sales Pte. Limited Advanced link tracking for virtual cluster switching
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US10348643B2 (en) 2010-07-16 2019-07-09 Avago Technologies International Sales Pte. Limited System and method for network configuration
CN102255808A (zh) * 2011-07-08 2011-11-23 福建星网锐捷网络有限公司 拥塞通告方法、装置、系统及网络设备
CN102255808B (zh) * 2011-07-08 2014-04-23 福建星网锐捷网络有限公司 拥塞通告方法、装置、系统及网络设备
US10164883B2 (en) 2011-11-10 2018-12-25 Avago Technologies International Sales Pte. Limited System and method for flow management in software-defined networks
US9887916B2 (en) 2012-03-22 2018-02-06 Brocade Communications Systems LLC Overlay tunnel in a fabric switch
US9998365B2 (en) 2012-05-18 2018-06-12 Brocade Communications Systems, LLC Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
CN102739532A (zh) * 2012-06-21 2012-10-17 上海斐讯数据通信技术有限公司 防止三层组播数据流洪泛的方法
CN104937885A (zh) * 2012-08-21 2015-09-23 博科通讯系统有限公司 用于结构交换机的全局vlan
CN104937885B (zh) * 2012-08-21 2019-02-22 安华高科技股份有限公司 用于结构交换机的全局vlan
US10075394B2 (en) 2012-11-16 2018-09-11 Brocade Communications Systems LLC Virtual link aggregations across multiple fabric switches
US9807017B2 (en) 2013-01-11 2017-10-31 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US10462049B2 (en) 2013-03-01 2019-10-29 Avago Technologies International Sales Pte. Limited Spanning tree in fabric switches
US9871676B2 (en) 2013-03-15 2018-01-16 Brocade Communications Systems LLC Scalable gateways for a fabric switch
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US10355879B2 (en) 2014-02-10 2019-07-16 Avago Technologies International Sales Pte. Limited Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US10044568B2 (en) 2014-05-13 2018-08-07 Brocade Communications Systems LLC Network extension groups of global VLANs in a fabric switch
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US10284469B2 (en) 2014-08-11 2019-05-07 Avago Technologies International Sales Pte. Limited Progressive MAC address learning
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
CN111600800A (zh) * 2020-04-01 2020-08-28 武汉迈威通信股份有限公司 一种跨网段拓扑发现的方法及设备
CN112152943A (zh) * 2020-09-07 2020-12-29 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于处理器拟态交换机控制执行体的方法及系统
CN112152943B (zh) * 2020-09-07 2022-06-14 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于拟态交换机处理器控制执行体的方法及系统
CN116055387A (zh) * 2022-12-29 2023-05-02 苏州盛科通信股份有限公司 组播报文处理方法、装置、服务器和介质

Also Published As

Publication number Publication date
CN100442776C (zh) 2008-12-10

Similar Documents

Publication Publication Date Title
CN1777149A (zh) 在三层交换机上实现组播转发的方法
CN1791054A (zh) 一种虚拟路由器方式的虚拟专用网络的组播方法
CN100531040C (zh) 实现组播虚拟专用网绑定的方法及设备
CN101035009A (zh) 一种组播流量冗余保护的方法及设备
CN1863147A (zh) 在虚拟专用局域网业务中实现组播数据流转发的方法
CN101030943A (zh) 一种发送报文的方法和路由器
CN1929444A (zh) 运营商边界节点、虚拟专用局域网服务通信方法及系统
CN1758630A (zh) 二层交换器
CN101035057A (zh) 建立组播共享树的方法和数据传送的方法、通信网络
CN1946041A (zh) 基于arp侦听的vlan聚合方法、汇聚交换机及系统
CN1801711A (zh) 一种组播组成员认证方法和装置
CN103117935B (zh) 应用于多归属组网的组播数据转发方法和装置
CN1988507B (zh) 转发组播数据的方法、系统及路由器
CN1968183A (zh) 一种在MAC in MAC网络中实现组播的方法
CN1716904A (zh) 一种基于多业务传输平台的组播实现方法
CN1243430C (zh) 实现组播源到汇聚点注册的方法
WO2007054006A1 (fr) Station de base de système d’accès sans fil large bande et système pour réaliser un service de diffusion de groupe
CN1816010A (zh) 组播源过滤的处理方法
CN101052004A (zh) Ip网络中基于虚拟分发网的多播传送方法
CN1801783A (zh) 一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法
CN1315312C (zh) 一种大规模多媒体接入网关的方法
CN1744572A (zh) 控制组播数据转发的交换设备及方法
CN1889448A (zh) 指定源组播协议无关组播模式下跨虚拟局域网组播的方法和系统
CN101035088A (zh) 实现本地特定业务二层互通的方法、系统和接入设备
CN1747447A (zh) 区分服务网络域内支持不同服务质量的ip组播方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081210

CF01 Termination of patent right due to non-payment of annual fee