CN101291240B - 一种组播流传输方法和系统 - Google Patents

一种组播流传输方法和系统 Download PDF

Info

Publication number
CN101291240B
CN101291240B CN2008101152519A CN200810115251A CN101291240B CN 101291240 B CN101291240 B CN 101291240B CN 2008101152519 A CN2008101152519 A CN 2008101152519A CN 200810115251 A CN200810115251 A CN 200810115251A CN 101291240 B CN101291240 B CN 101291240B
Authority
CN
China
Prior art keywords
layer
multicast
data flow
port
multicast data
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.)
Expired - Fee Related
Application number
CN2008101152519A
Other languages
English (en)
Other versions
CN101291240A (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 H3C Technologies 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 H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008101152519A priority Critical patent/CN101291240B/zh
Publication of CN101291240A publication Critical patent/CN101291240A/zh
Application granted granted Critical
Publication of CN101291240B publication Critical patent/CN101291240B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种组播流传输方法,包括:当二层交换机接收到一组播流且该组播流为未知组播流时向预先规定的一组端口转发所述组播流;与所述二层交换机直接相连的三层设备接收到二层交换机转发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流;二层交换机将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;二层交换机向所述二层组播转发列表中的端口转发所述组播流。本发明还公开了一种组播流传输系统。本发明的技术方案能够避免带宽的浪费。

Description

一种组播流传输方法和系统
技术领域
本发明涉及IP组播技术领域,尤指一种组播流传输方法、系统以及一种二层交换机和一种三层设备。
背景技术
目前,IP组播技术得到了越来越广泛的应用。IP组播技术是指:组播源(S,Source)发送组播IP报文,此报文的目的IP地址是组播组(G,Group)地址,是一个D类地址,只有加入到该组播组的主机才能接收到该组播IP报文。
要想在一个实际网络中实现IP组播报文的转发,即组播流的传输,必须在各个互连的设备上运行可互操作的IP组播路由协议。IP组播路由协议包括:因特网组管理协议(IGMP,Internet Group Management Protocol)、密集模式协议无关组播(PIM-DM)、稀疏模式协议无关组播(PIM-SM)等。在IGMP协议中,当主机希望加入指定的组播组时,会发送携带该组播组地址的IGMP report报文;当主机希望离开该组播组时,会发送携带该组播组地址的IGMP leave报文。目前IGMP协议有v1、v2和v3三个版本。PIM-DM和PIM-SM协议主要是规定组播流在源和接受者之间通过何种路径传输的协议,其中PIM-DM属于密集模式协议,采用“扩散/剪枝”机制,而PIM-SM是基于显式加入模型的。
为了解决组播流在二层交换机上泛洪的问题,发展出了IGMP监听(IGMP-Snooping)协议。IGMP-Snooping协议包括:二层以太网交换机通过监听三层设备和组播接受者之间传递的组播协议报文(如IGMP报文等),分析组播协议报文中的信息,并在二层建立和维护MAC组播地址表,以后接收到的组播报文就根据MAC组播地址表进行转发,从而避免组播流在二层交换机上泛洪。二层以太网交换机上端口可分为路由器端口和组播成员端口,其中,路由器端口是二层以太网交换机上直接和组播路由器相连的端口,组播成员端口是二层以太网交换机上与组播成员相连的端口,此处组播成员是加入某个组播组的主机。
但是,在当前的IGMP-Snooping的实现中,对于三层设备的PIM协议报文监听偏弱,仅维护路由器端口。对于连接组播源的二层交换机,如果没有该组播的接收者直接连接,则该组播为未知组播,且IGMP-Snooping的转发表项为空,仅维护路由器端口;当二层交换机接收到该未知组播的组播流后会进行广播处理,或者,如果二层交换机具有未知组播丢弃功能,则该二层交换机只将所接收的未知组播往路由器端口转发。下面以图示进行说明。
图1是一个特定组播组网场景示意图。在图1中以IPTV业务部署为例进行说明,IPTV服务提供商部署了大量的组播服务器(组播源),在图1中称之为组播服务器群,各组播服务器连接到二层交换机上,该二层交换机的端口1和端口2分别与三层设备L3-1和L3-2连接,L3-1和L3-2通过三层网络分别与作为组播接收者的主机1和主机2连接。二层交换机使能IGMP-Snooping,通过监听L3-1和L3-2的三层组播协议报文,维护自身的端口1和端口2为路由器端口。
在图1中,二层交换机没有与组播接收者直接连接,因此来自组播服务器群中的任一组播服务器的组播流都是未知组播流,对应的IGMP-Snooping转发表项为空,此时,根据现有的方案二层交换机会在除接收该未知组播流的端口以外的所有端口上广播该组播流,从而占用各端口的数据发送带宽,存在带宽浪费的情况。即使二层交换机使能未知组播丢弃功能,也会向所有的路由器端口转发该未知组播流,但并非所有与路由器端口连接的三层设备都需要此组播流,从而额外占用了那些连接不需要此组播流的三层设备的路由器端口的数据发送带宽,因此也存在一定的带宽浪费。
综上所述,在现有技术中,当二层交换机接收到未知组播流后会一直进行广播处理或者向所有的路由器端口转发该未知组播流,而从二层交换机接收到该未知组播流的设备未必都需要此组播流,因此存在带宽浪费的情况。
发明内容
本发明提供了一种组播流传输方法,该方法能够避免带宽的浪费。
本发明提供了一种组播流传输系统,该系统能够避免带宽的浪费。
本发明还提供了一种二层交换机和一种三层设备,该二层交换机和三层设备能够避免带宽的浪费。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明公开了一种组播流传输方法,该方法应用于组播源的组播流依次经过二层交换机和三层设备到达组播接收者的组网中,该方法包括:
当所述二层交换机接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;
与所述二层交换机直接相连的三层设备接收到二层交换机转发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流;
二层交换机将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;
二层交换机向所述二层组播转发列表中的端口转发所述组播流。
本发明公开了一种组播流传输系统,该系统包括连接的二层交换机和三层设备,且组播源的组播流依次经过所述二层交换机和所述三层设备到达组播接收者,其中,
所述二层交换机,用于在接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;之后,在接收到请求所述组播流的请求消息时,将接收所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;然后向所述二层组播转发列表中的端口转发所述组播流。
所述三层设备,用于在接收到二层交换机转发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流。
本发明公开了一种二层交换机,该二层交换机包括:组播流转发模块、二层组播转发列表存储模块和二层组播转发列表配置模块,其中,
所述组播流转发模块,用于在接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;之后,当所述二层组播转发列表存储模块中的与所述组播流对应的二层组播转发列表为非空时,向所述二层组播转发列表中的端口转发所述组播流;
二层组播转发列表存储模块,用于保存二层组播转发列表;
所述二层组播转发列表配置模块,用于在所述二层交换机接收到表示请求所述组播流的请求消息时,将接收到所述请求消息的端口添加到组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表存储模块中的与所述组播流对应的二层组播转发列表中。
本发明还公开了一种三层设备,该设备包括:判断模块和消息发送模块,其中,
所述判断模块,用于在所述三层设备接收到来自二层交换机的组播流时,判断所述三层设备是否有该组播流的出接口,是则向消息发送模块发送第一指示信息;
所述消息发送模块,用于在收到所述第一指示信息后,通过所述三层设备接收所述组播流的端口向所述二层交换机发送表示请求接收所述组播流的请求消息。
由上述技术方案可见,本发明这种当二层交换机接收到未知组播流时,向预先规定的一组端口转发所述组播流;而与所述二层交换机直接相连的三层设备接收到所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流;二层交换机将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中,然后向所述二层组播转发列表中的端口转发所述组播流的技术方案,可以使得二层交换机上未知组播流可以变为已知组播流,从而二层交换机只向有需要的端口转发该组播流,避免向没有需要的端口转发该组播流,从而避免了带宽的浪费。
附图说明
图1是一个特定组播组网场景示意图;
图2是本发明实施例一种组播流传输方法的流程图;
图3是本发明实施例一种组播流传输系统的组成结构框图;
图4是本发明实施例一种二层交换机的组成结构框图;
图5是本发明实施例一种三层设备的组成结构框图。
具体实施方式
图2是本发明实施例一种组播流传输方法的流程图。如图2所示的方法适用于组播源的组播流依次经过二层交换机和三层设备到达组播接收者的组网中,该包括以下步骤:
步骤201,当二层交换机接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口。
本步骤中,所述预先规定的一组端口可以是二层交换机的除接收未知组播流的端口以外的所有端口,即二层交换机对未知组播流进行广播处理;或者所述预先规定的一组端口是所述二层交换机的路由器端口;或者,所述预先规定的一组端口是所述二层交换机的指定路由器(DR,Designated Router)端口。
步骤202,与所述二层交换机直接相连的三层设备接收到二层交换机转发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流。
步骤203,二层交换机将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;
步骤204,二层交换机向所述二层组播转发列表中的端口转发所述组播流。
在图2所述的上述方案中,对相连的二层交换机和三层设备都做出了改进。其中,对于三层设备在连接组播源的端口上能够模拟组播接收者发送请求组播流的请求消息,从而可以告知二层交换机哪些端口上需要转发未知组播流,而哪些端口上其实不需要转发所述未知组播流;而对于二层交换机来说,将接收到所述请求消息的端口维护为所述未知组播流的组播成员端口,即所述未知组播变为已知组播,从而可以有方向性地转发组播流,避免了不必要的带宽浪费。
为使本发明的目的、技术方案及优点更加清楚明白,以下仍以图1所示的组网场景为例,对本发明进一步详细说明。
参见图1,并设当前运行PIM-SM协议,且L3-1为DR,则本发明的具体实施例包括以下的步骤1至步骤5:
步骤1、组播服务器群中的某个组播源S(组播服务器)向二层交换机发送组播组为G的组播流。由于二层交换机上没有直连的组播接收者,所以该组播流对于二层交换机来说是未知组播流,IGMP-Snooping表项是空的,即不存在组播成员端口,而仅存在路由器端口。此时,如果二层交换机未启动未知组播丢弃功能,则该组播流将在二层交换机上泛洪,即二层交换机对该组播流进行广播处理;如果该二层交换机启动未知组播丢弃功能,则只向路由器端口转发当前的未知组播流。这里以后者为例进行说明,则二层交换机将所接收的未知组播流复制两份,向端口1和端口2转发(端口1和端口2都为路由器端口)。
分别与二层交换机的端口1和端口2相连的三层设备L3-1和L3-2接收到组播流后生成(S,G)表项,此时的(S,G)表项的出接口列表为空,并按照正常的PIM-SM协议进行处理,其中,所述(S,G)表项为描述S和G的表项。
步骤2、当主机1发送IGMP report报文,希望接收组播组G的组播流时,L3-1会接收到表示请求组播组G的组播流的请求消息;这里,如果L3-1与主机1直接相连,则L3-1接收到的请求消息即为IGMP report报文,如果L3-1与主机1通过其他的三层设备间接相连,则L3-1接收到的请求消息为PIM join报文,该PIM join报文是L3-1与主机1之间的所述其他三层设备在接收到主机1的IGMP report报文后向L3-1发送的。此时,根据PIM SM协议生成L3-1到主机1的组播转发路径,L3-1上的(S,G)表项的出接口列表由空变为非空,即当L3-1接收到表示请求组播组G的组播流的请求消息时,接收所述请求消息的端口会被添加到所述(S,G)表项的出接口列表中。L3-1有了组播组G的组播流的出接口,通过单播路由判断组播源S是否为自身的直连设备(这里的直连并非指物理上的直连,而是指忽略二层设备时组播源S和L3-1是否直连,即L3-1是否是与组播源S连接的第一个三层设备),如果是,则L3-1生成IGMP模拟主机表项,在直连S的端口(即接收组播组G的组播流的端口)上周期性的发送请求消息,如IGMPreport消息,以请求接收(S,G)的组播流。
二层交换机从端口1接收到IGMP report消息后,生成相应的IGMP-Snooping v3表项,将端口1添加到(S,G)的组播成员端口列表中,并将(S,G)组播成员端口列表中的端口和连接DR的指定路由器端口加入到二层组播转发列表中。此时,由于端口2不是PIM DR端口,因此端口2不加入的二层组播转发表中。二层交换机向二层组播转发列表中的端口转发(S,G)组播流,即二层交换机停止向端口2转发(S,G)组播流,而只向端口1转发(S,G)的组播流。
步骤3、当主机2发送IGMP report报文,希望接收组播组G的组播流时,L3-2会接收到表示请求组播组G的组播流的请求消息;这里,如果L3-2与主机2直接相连,则L3-2接收到的请求消息即为IGMP report报文,如果L3-2与主机2通过其他的三层设备间接相连,则L3-2接收到的请求消息为PIM join报文。此时,根据PIM SM协议生成L3-2到主机2的组播转发路径,L3-2上的(S,G)表项的出接口列表由空变为非空。L3-2有了组播组G的组播流的出接口,通过单播路由判断组播源S是否为自身的直连设备,如果是,则L3-2生成IGMP模拟主机表项,在直连S的端口上周期性的发送请求消息,如IGMP report消息,以请求接收(S,G)组播流。
二层交换机从端口2接收到IGMP report消息后,生成相应的IGMP-Snooping v3表项,将端口2作为(S,G)的组播成员端口加入到二层组播转发列表中。此时,二层交换机同时向端口1和端口2转发(S,G)组播流。
步骤4、当主机1不再接收组播组G的组播流时,发送IGMP leave报文,从而剪枝从L3-1到主机1的组播转发路径,L3-1的(S,G)表项的出接口列表由非空变为空。L3-1没有了组播组G的组播流的出接口后,向连接S的端口(即接收组播组G的组播流的端口)发送拒绝消息,如IGMP leave报文,以拒绝收(S,G)组播流。
二层交换机从端口1接收到IGMP leave报文后,从组播组G的组播成员端口列表中删除端口1,但由于端口1所连接的路由器L3-1为DR,即端口1为指定路由器端口,所以二层交换机并不会从底层芯片的二层组播转发表项中删除端口1。此时,二层交换机仍然向端口1和端口2转发(S,G)组播流。这里,向DR转发组播流是由IP组播路由协议中DR本身的性质所决定的。
步骤5、当主机2不再接收组播组G的组播流时,发送IGMP leave报文,从而剪枝从L3-2到主机2的组播转发路径,L3-2的(S,G)表项的出接口列表由非空变为空。L3-2没有了组播组G的组播流的出接口后,向连接S的端口(即接收组播组G的组播流的端口)发送拒绝消息,如IGMP leave报文,以拒绝收(S,G)组播流。
二层交换机从端口2接收到IGMP leave报文后,从组播组G的组播成员端口列表中删除端口2,由于端口2所连接的路由器L3-2并非DR,即端口2不是指定路由器端口,所以二层交换机会从底层芯片的二层组播转发表项中删除端口2。此时,IGMP-Snooping表项的组播成员端口为空,IGMP-Snooping表项被删除,S发送的组播流对于二层交换机来说又变为未知组播流,按照现有的IGMP-Snooping处理方法,二层交换机向作为路由器端口的端口1和端口2转发(S,G)组播流。
在上述实施例的步骤2中,如果L3-1在接收到组播组G的组播流之前,就已经接收到表示请求组播组G的组播流的请求消息,则当L3-1接收到组播组G的组播流时,(S,G)表项已存在,且该(S,G)表项的出接口列表非空,此时L3-1可以直接判断自身有(S,G)组播流的出接口,向在直连S的端口(即接收组播组G的组播流的端口)上周期性的发送请求消息,如IGMPv3 report消息,以请求接收(S,G)的组播流。同样,在上述步骤3中,如果L3-2在接收到组播组G的组播流之前,就已经接收到表示请求组播组G的组播流的请求消息,则当L3-2接收到组播组G的组播流时,(S,G)表项已存在,且该(S,G)表项的出接口列表非空,此时L3-2可以直接判断自身有(S,G)组播流的出接口,向在直连S的端口(即接收组播组G的组播流的端口)上周期性的发送请求消息,如IGMPv3 report消息,以请求接收(S,G)的组播流。
在上述实施例中,L3-1和L3-2可以是三层的路由器,也可以是三层的交换机。
上述实施例中方案适用于IGMP的v1、v2和v3三个版本。
上述实施例中,以IPv4网络为例进行了说明(IGMP以及PIM等协议都是IPv4中的组播协议)。但上述实施例中的方案同样适用于IPv6网络,此时IGMP对应于MLD、IGMP-Snooping对应于MLD-Snooping,而PIM对应于PIM6即可。
基于上述实施例接下来给出本发明一种组播流传输系统、一种二层交换机和一种三层设备的组成结构。
图3是本发明实施例一种组播流传输系统的组成结构框图。该系统包括连接的二层交换机301和三层设备302,且组播源的组播流依次经过二层交换机301和三层设备302到达组播接收者,其中:
二层交换机301,用于在接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;之后,在接收到请求所述组播流的请求消息时,将接收所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;然后向所述二层组播转发列表中的端口转发所述组播流。
三层设备302,用于在接收到二层交换机301转发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流。
在图3中,三层设备302,在接收到二层交换机301转发的所述组播流时,如果已保存了与所述组播流匹配的(S,G)表项,且该(S,G)表项的出接口列表非空,则判断自身有该组播流的出接口。
在图3中,三层设备302,进一步用于在判断出自身不再有所述组播流的出接口时,向自身接收所述组播流的端口发送拒绝消息,以拒绝接收所述组播流。二层交换机301,进一步用于将接收到所述拒绝消息的端口从所述组播成员端口列表中删除;并且进一步用于将所述接收拒绝消息的端口从所述二层组播转发列表中删除。这里,如果考虑所述接收拒绝消息的端口是否是指定路由器端口的情况,则二层交换机301,可以在所述接收拒绝消息的端口不是指定路由器端口时,将所述接收拒绝消息的端口从所述二层组播转发列表中删除,反之,当所述接收拒绝消息的端口是指定路由器端口时,不从所述二层组播转发列表中删除所述接收拒绝消息的端口。
图4是本发明实施例一种二层交换机的组成结构框图。如图4所示,该二层交换机包括:组播流转发模块401、二层组播转发列表存储模块402和二层组播转发列表配置模块403,其中:
组播流转发模块401,用于在接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;之后,当所述二层组播转发列表存储模块402中的与所述组播流对应的二层组播转发列表为非空时,向所述二层组播转发列表中的端口转发所述组播流;
二层组播转发列表存储模块402,用于保存二层组播转发列表;
二层组播转发列表配置模块403,用于在所述二层交换机接收到表示请求所述组播流的请求消息时,将接收到所述请求消息的端口添加到组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表存储模块402中与所述组播流对应的二层组播转发列表中。
在图4中,二层组播转发列表配置模块403,进一步用于在接收到表示拒绝接收所述组播流的拒绝消息时,将接收到所述拒绝消息的端口从所述组播成员端口列表中删除;并且,进一步用于将所述接收拒绝消息的端口从所述二层组播转发列表存储模块中的与所述组播流对应的二层组播转发列表中删除。同样,如果考虑所述接收拒绝消息的端口是否是指定路由器端口的情况,则二层组播转发列表配置模块403,可以在所述接收拒绝消息的端口不是指定路由器端口时,将所述接收拒绝消息的端口从所述二层组播转发列表存储模块402中的与所述组播流对应的二层组播转发列表中删除,反之,当所述接收拒绝消息的端口是指定路由器端口时,不从所述二层组播转发列表中删除所述接收拒绝消息的端口。
图5是本发明实施例一种三层设备的组成结构框图。如图5所示,该设备包括:判断模块501和消息发送模块502,其中:
判断模块501,用于在所述三层设备接收到来自二层交换机的组播流时,判断所述三层设备是否有该组播流的出接口,是则向消息发送模块502发送第一指示信息。
消息发送模块502,用于在收到所述第一指示信息后,通过所述三层设备接收所述组播流的端口向所述二层交换机发送表示请求接收所述组播流的请求消息。
在图5中,判断模块501,用于在判断出所述三层设备不再有所述组播流的出接口时,向所述消息发送模块502发送第二指示信息;消息发送模块502,用于在收到所述第二指示信息后,通过所述三层设备接收所述组播流的端口向所述二层交换机发送表示拒绝接收所述组播流的拒绝消息。
由上述实施例可见,本发明这种当二层交换机接收到未知组播流时,向预先规定的一组端口转发所述组播流;而与所述二层交换机直接相连的三层设备接收到所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流;二层交换机将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;然后向所述二层组播转发列表中的端口转发所述组播流的技术方案,可以使得二层交换机上未知组播流可以变为已知组播流,从而二层交换机只向有需要的端口转发该组播流,避免向不必要的端口转发该组播流,从而避免了带宽的浪费。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种组播流传输方法,其特征在于,该方法应用于组播源的组播流依次经过二层交换机和三层设备到达组播接收者的组网中,该方法包括:
当所述二层交换机接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;
与所述二层交换机直接相连的三层设备接收到二层交换机转发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流;
二层交换机将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;
二层交换机向所述二层组播转发列表中的端口转发所述组播流。
2.如权利要求1所述的方法,其特征在于,所述三层设备判断自身是否有该组播流的出接口包括:
如果所述三层设备已保存了与所述组播流匹配的(S,G)表项,且该(S,G)表项的出接口列表非空,则所述三层设备判断自身有该组播流的出接口。
3.如权利要求1所述的方法,其特征在于,该方法在上述所有步骤之后进一步包括:当所述三层设备判断出自身不再有所述组播流的出接口时,向自身接收所述组播流的端口发送拒绝消息,以拒绝接收所述组播流;
二层交换机将接收到所述拒绝消息的端口从所述组播成员端口列表中删除;并且,二层交换机将所述接收拒绝消息的端口从所述二层组播转发列表中删除。
4.一种组播流传输系统,其特征在于,该系统包括连接的二层交换机和三层设备,且组播源的组播流依次经过所述二层交换机和所述三层设备到达组播接收者,其中,
所述二层交换机,用于在接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;之后,在接收到请求所述组播流的请求消息时,将接收所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;然后向所述二层组播转发列表中的端口转发所述组播流;
所述三层设备,用于在接收到二层交换机转发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流。
5.如权利要求4所述的系统,其特征在于,
所述三层设备,在接收到二层交换机转发的所述组播流时,如果已保存了与所述组播流匹配的(S,G)表项,且该(S,G)表项的出接口列表非空,则判断自身有该组播流的出接口。
6.如权利要求4所述的系统,其特征在于,
所述三层设备,进一步用于在判断出自身不再有所述组播流的出接口时,向自身接收所述组播流的端口发送拒绝消息,以拒绝接收所述组播流;
所述二层交换机,进一步用于将接收到所述拒绝消息的端口从所述组播成员端口列表中删除;并且进一步用于将所述接收拒绝消息的端口从所述二层组播转发列表中删除。
7.一种二层交换机,其特征在于,该二层交换机包括:组播流转发模块、二层组播转发列表存储模块和二层组播转发列表配置模块,其中,
所述组播流转发模块,用于在接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;之后,当所述二层组播转发列表存储模块中的与所述组播流对应的二层组播转发列表为非空时,向所述二层组播转发列表中的端口转发所述组播流;
二层组播转发列表存储模块,用于保存二层组播转发列表;
所述二层组播转发列表配置模块,用于在所述二层交换机接收到表示请求所述组播流的请求消息时,将接收到所述请求消息的端口添加到组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表存储模块中的与所述组播流对应的二层组播转发列表中。
8.如权利要求7所述的二层交换机,其特征在于,
所述二层组播转发列表配置模块,进一步用于在所述二层交换机接收到表示拒绝接收所述组播流的拒绝消息时,将接收到所述拒绝消息的端口从组播成员端口列表中删除;并且,进一步用于将所述接收拒绝消息的端口从所述二层组播转发列表存储模块中的与所述组播流对应的二层组播转发列表中删除。
9.一种三层设备,其特征在于,该设备包括:判断模块和消息发送模块,其中,
所述判断模块,用于在所述三层设备接收到来自二层交换机的组播流时,判断所述三层设备是否有该组播流的出接口,是则向消息发送模块发送第一指示信息;
所述消息发送模块,用于在收到所述第一指示信息后,通过所述三层设备接收所述组播流的端口向所述二层交换机发送表示请求接收所述组播流的请求消息。
10.如权利要求9所述的三层设备,其特征在于,
所述判断模块,用于在判断出所述三层设备不再有所述组播流的出接口时,向所述消息发送模块发送第二指示信息;
所述消息发送模块,用于在收到所述第二指示信息后,通过所述三层设备接收所述组播流的端口向所述二层交换机发送表示拒绝接收所述组播流的拒绝消息。
CN2008101152519A 2008-06-19 2008-06-19 一种组播流传输方法和系统 Expired - Fee Related CN101291240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101152519A CN101291240B (zh) 2008-06-19 2008-06-19 一种组播流传输方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101152519A CN101291240B (zh) 2008-06-19 2008-06-19 一种组播流传输方法和系统

Publications (2)

Publication Number Publication Date
CN101291240A CN101291240A (zh) 2008-10-22
CN101291240B true CN101291240B (zh) 2010-08-25

Family

ID=40035335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101152519A Expired - Fee Related CN101291240B (zh) 2008-06-19 2008-06-19 一种组播流传输方法和系统

Country Status (1)

Country Link
CN (1) CN101291240B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136988A (zh) * 2010-01-25 2011-07-27 华为技术有限公司 组播数据报文传送方法和装置
CN102316083B (zh) * 2010-07-06 2014-05-07 杭州华三通信技术有限公司 一种在ip网络中实现组播业务的方法和装置
CN102377639B (zh) * 2010-08-10 2015-03-11 杭州华三通信技术有限公司 组播剪枝方法及协议无关组播路由器、组管理窥探交换机
CN102075417B (zh) * 2010-09-30 2013-11-06 杭州华三通信技术有限公司 组播剪枝方法及协议无关组播路由器
CN102025796B (zh) * 2010-11-23 2014-06-11 中兴通讯股份有限公司 一种mac地址更新方法及装置、组播方法及装置
CN103780503B (zh) * 2012-10-18 2017-12-29 新华三技术有限公司 一种负载均衡的实现方法和设备
CN103475591B (zh) * 2013-08-28 2016-12-28 杭州华三通信技术有限公司 一种组播数据转发的方法、装置、软件定义网络控制器
CN104202174B (zh) * 2014-08-13 2017-12-19 上海斐讯数据通信技术有限公司 一种精确转发ip特定源组播数据的实现方法
CN105656792A (zh) * 2014-11-12 2016-06-08 中兴通讯股份有限公司 组播设备及因特网组管理协议侦听组播流带宽管理方法
CN104539545B (zh) * 2014-12-31 2018-01-12 新华三技术有限公司 Trill网络中的组播报文转发方法和设备
CN107612809B (zh) * 2017-10-31 2021-01-01 新华三技术有限公司 一种组播表项同步方法以及设备

Citations (4)

* 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
EP1480405A1 (en) * 2002-01-30 2004-11-24 Huawei Technologies Co., Ltd. System and implementation method of controlled multicast
CN1744572A (zh) * 2005-08-31 2006-03-08 杭州华为三康技术有限公司 控制组播数据转发的交换设备及方法
CN1777149A (zh) * 2005-12-06 2006-05-24 杭州华为三康技术有限公司 在三层交换机上实现组播转发的方法

Patent Citations (4)

* 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
EP1480405A1 (en) * 2002-01-30 2004-11-24 Huawei Technologies Co., Ltd. System and implementation method of controlled multicast
CN1744572A (zh) * 2005-08-31 2006-03-08 杭州华为三康技术有限公司 控制组播数据转发的交换设备及方法
CN1777149A (zh) * 2005-12-06 2006-05-24 杭州华为三康技术有限公司 在三层交换机上实现组播转发的方法

Also Published As

Publication number Publication date
CN101291240A (zh) 2008-10-22

Similar Documents

Publication Publication Date Title
CN101291240B (zh) 一种组播流传输方法和系统
CN100442776C (zh) 在三层交换机上实现组播转发的方法
Ballardie Core based trees (CBT) multicast routing architecture
JP4799008B2 (ja) ローカルエリアネットワークでマルチポイントストリームを伝送する方法及びその方法を実施する接続装置
CN101459606B (zh) 一种组播虚拟私有网络的外联网组网方法、系统和装置
US7570635B2 (en) Multicast network unit, multicast network system, and multicast method
CN101247253A (zh) Ip网络中基于虚拟分发网的多播传送方法
CN100477635C (zh) 一种域间组播的传输方法及边缘设备
CN102075422A (zh) 一种组播管理方法及二层设备
CN102598586A (zh) 处理组播的方法和装置
EP2083534A1 (en) Transmission of multicast and broadcast content and method thereof
KR20110027683A (ko) 단말기의 멀티캐스트 상태를 얻기 위한 방법
CN109981308A (zh) 报文传输方法及装置
CN104579981B (zh) 一种组播数据报文转发方法及设备
CN1996956A (zh) 实现组播流跨vlan转发的三层网络设备及方法
CN101141383A (zh) 一种实现二层组播转发路径快速收敛的方法、系统及二层设备
CN102316083B (zh) 一种在ip网络中实现组播业务的方法和装置
CN101262446A (zh) 一种Hello报文的生成方法及装置
CN101388788B (zh) 二层组播管理方法、系统及二层交换机
CN102025517A (zh) 一种组播数据的传输方法及装置
CN101610200A (zh) 组播路由的切换方法及装置
CN101247541A (zh) 移动通信网络多媒体组播业务的实现方法
CN102843303B (zh) Pim中的组播报文处理方法及装置
CN100508467C (zh) 一种转发层代理pim的方法及路由设备
KR101279790B1 (ko) 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: Xinhua three Technology 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: Huasan Communication Technology Co., Ltd.

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

Granted publication date: 20100825

Termination date: 20200619

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