一种组播流传输方法和系统的制作方法

文档序号:7695406阅读:173来源:国知局
专利名称:一种组播流传输方法和系统的制作方法
技术领域
本发明涉及IP组播技术领域,尤指一种组播流传输方法、系统以及一 种二层交换机和一种三层设备。
背景技术
目前,IP组播技术得到了越来越广泛的应用。IP组播技术是指组播 源(S, Source )发送组播IP报文,此报文的目的P地址是组播组(G, Group ) 地址,是一个D类地址,只有加入到该组播组的主机才能接收到该组纟番IP 报文。
要想在一个实际网络中实现IP组播报文的转发,即组播流的传输,必 须在各个互连的设备上运行可互才喿作的IP组播路由协议。IP组播J各由协议 包括因特网组管理协议(IGMP, Internet Group Management Protocol)、 密集模式协议无关组播(PIM-DM)、稀疏模式协议无关组播(PIM-SM) 等。在IGMP协议中,当主机希望加入指定的组播组时,会发送携带该组播 组地址的IGMP report报文;当主机希望离开该组播组时,会发送携带该组 播组地址的IGMP leave报文。目前IGMP协议有vl 、 v2和v3三个版本。 PIM-DM和PIM-SM协议主要是规定组播流在源和接受者之间通过何种路径 传输的协议,其中PIM-DM属于密集模式协议,采用"扩散/剪枝"机制,而 PIM-SM是基于显式加入模型的。
为了解决组播流在二层交换机上泛洪的问题,发展出了 IGMP监听 (IGMP-Snooping)协议。IGMP - Snooping协议包括二层以太网交换机 通过监听三层设备和组播接受者之间传递的组播协议报文(如IGMP报文 等),分析组播协议报文中的信息,并在二层建立和维护MAC组播地址表,以后接收到的组播才艮文就根据MAC组播地址表进行转发,/人而避免组播流
在二层交换机上泛洪。二层以太网交换机上端口可分为路由器端口和组播成 员端口,其中,路由器端口是二层以太网交换机上直接和组播路由器相连的 端口,组播成员端口是二层以太网交换机上与组播成员相连的端口,此处组 播成员是加入某个组播组的主机。
但是,在当前的IGMP - Snooping的实现中,对于三层设备的PIM协议 报文监听偏弱,仅维护路由器端口。对于连接组播源的二层交换机,如果没 有该组播的接收者直接连接,则该组播为未知组播,且IGMP - Snooping的 转发表项为空,仅维护路由器端口;当二层交换机接收到该未知组播的组播 流后会进行广播处理,或者,如果二层交换机具有未知组播丟弃功能,则该 二层交换机只将所接收的未知组播往路由器端口转发。下面以图示进行说 明。
图l是一个特定组播组网场景示意图。在图1中以IPTV业务部署为例 进行说明,IPTV服务提供商部署了大量的组播服务器(组播源),在图1 中称之为组播服务器群,各组播服务器连接到二层交换机上,该二层交换机 的端口 1和端口 2分别与三层设备L3-l和L3-2连接,L3-l和L3-2通过三 层网络分别与作为组播接收者的主机1和主机2连接。二层交换机使能IGMP -Snooping,通过监听L3-l和L3-2的三层组播协议报文,维护自身的端口 1和端口 2为^各由器端口 。
在图1中,二层交换机没有与组播接收者直接连接,因此来自组播服务 器群中的任一组播服务器的组播流都是未知组播流,对应的IGMP-Snooping转发表项为空,此时,根据现有的方案二层交换机会在除接收该未 知组播流的端口以外的所有端口上广播该组播流,从而占用各端口的数据发 送带宽,存在带宽浪费的情况。即使二层交换机使能未知组播丢弃功能,也 会向所有的路由器端口转发该未知组播流,但并非所有与路由器端口连接的 三层设备都需要此组播流,从而额外占用了那些连接不需要此组播流的三层 设备的路由器端口的数据发送带宽,因此也存在一定的带宽浪费。综上所述,在现有技术中,当二层交换机接收到未知组播流后会一直进 行广播处理或者向所有的路由器端口转发该未知组播流,而从二层交换机接 收到该未知组播流的设备未必都需要此组播流,因此存在带宽浪费的情况。

发明内容
本发明提供了 一种组播流传输方法,该方法能够避免带宽的浪费。 本发明提供了 一种组播流传输系统,该系统能够避免带宽的浪费。 本发明还提供了一种二层交换机和一种三层设备,该二层交换机和三层 设备能够避免带宽的浪费。
为达到上述目的,本发明的技术方案具体是这样实现的
本发明公开了 一种组播流传输方法,该方法应用于组播源的组播流依次
经过二层交换机和三层设备到达组播接收者的组网中,该方法包括
当所述二层交换机接收到一组播流且该组播流为未知组播流时,向预先
规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交
换^/L的一个以上的端口;
与所述二层交换机直接相连的三层设备接收到二层交换机转发的所述
组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流
的端口发送请求消息,以请求接收所述组播流;
二层交换机将接收到所述请求消息的端口添加到与所述组播流对应的
组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播
转发列表中;
二层交换机向所述二层组播转发列表中的端口转发所述组播流。 本发明公开了 一种组播流传输系统,该系统包括连接的二层交换机和三
层设备,且组播源的组播流依次经过所述二层交换机和所述三层设备到达组
播接收者,其中,
所述二层交换机,用于在接收到一组播流且该组播流为未知组播流时, 向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;之后,在接收到请求所述组播流的请求消息 时,将接收所述请求消息的端口添加到与所述组播流对应的组播成员端口列 表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;然 后向所述二层组播转发列表中的端口转发所述组播流。
所述三层设备,用于在接收到二层交换机转发的所述组播流时,判断自 身是否有该组播流的出接口 ,是则向自身接收所述组播流的端口发送请求消 息,以请求接收所述组#番流。
本发明公开了一种二层交换机,该二层交换机包括组播流转发模块、 二层组播转发列表存储模块和二层组播转发列表配置模块,其中,
所述组播流转发模块,用于在接收到一组播流且该组播流为未知组播流 时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括 所述二层交换机的一个以上的端口;之后,当所述二层组播转发列表存储模 块中的与所述组播流对应的二层组播转发列表为非空时,向所述二层组播转 发列表中的端口转发所述组播流;
二层组播转发列表存储模块,用于保存二层组播转发列表;
所述二层组播转发列表配置模块,用于在所述二层交换机接收到表示请 求所述组播流的请求消息时,将接收到所述请求消息的端口添加到组播成员 端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表 存储模块中的与所述组播流对应的二层组播转发列表中。
本发明还公开了 一种三层设备,该设备包括判断模块和消息发送模块, 其中,
所述判断模块,用于在所述三层设备接收到来自二层交换机的组播流
时,判断所述三层设备是否有该组播流的出接口,是则向消息发送模块发送 第一指示信息;
所述消息发送模块,用于在收到所述第一指示信息后,通过所述三层设 备接收所述组播流的端口向所述二层交换机发送表示请求接收所述组播流 的请求消息。由上述技术方案可见,本发明这种当二层交换机接收到未知组播流时,
向预先规定的一组端口转发所述组播流;而与所述二层交换机直接相连的三 层设备接收到所述组播流时,判断自身是否有该组播流的出接口,是则向自 身接收所述组播流的端口发送请求消息,以请求接收所述组播流;二层交换 机将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口 列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中, 然后向所述二层组播转发列表中的端口转发所述组播流的技术方案,可以使 得二层交换机上未知组播流可以变为已知组播流,从而二层交换机只向有需 要的端口转发该组播流,避免向没有需要的端口转发该组播流,从而避免了 带宽的浪费。


图1是一个特定组播组网场景示意图2是本发明实施例一种组播流传输方法的流程图3是本发明实施例一种组播流传输系统的组成結构框图4是本发明实施例一种二层交换机的组成结构框图5是本发明实施例一种三层设备的组成结构框图。
具体实施例方式
图2是本发明实施例一种组播流传输方法的流程图。如图2所示的方法 适用于组播源的组播流依次经过二层交换机和三层设备到达组播接收者的 组网中,该包括以下步骤
步骤201,当二层交换机接收到一组播流且该组播流为未知组播流时, 向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述 二层交换^U的一个以上的端口 。
本步骤中,所述预先规定的一组端口可以是二层交换机的除接收未知组 播流的端口以外的所有端口,即二层交换机对未知组播流进行广播处理;或者所述预先规定的一组端口是所述二层交换机的路由器端口;或者,所述预 先规定的一组端口是所述二层交换机的指定路由器(DR, Designated Router) 端口 。
步骤202,与所述二层交换机直接相连的三层设备接收到二层交换机转 发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所 述组播流的端口发送请求消息,以请求接收所述组播流。
步骤203, 二层交换机将接收到所述请求消息的端口添加到与所述组播 流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到 二层组播转发列表中;
步骤204, 二层交换机向所述二层组播转发列表中的端口转发所述组播
流o
在图2所述的上述方案中,对相连的二层交换机和三层设备都做出了改 进。其中,对于三层设备在连接组播源的端口上能够模拟组播接收者发送请 求组播流的请求消息,从而可以告知二层交换机哪些端口上需要转发未知组 播流,而哪些端口上其实不需要转发所述未知组播流;而对于二层交换机来 说,将接收到所述请求消息的端口维护为所述未知组播流的组播成员端口 , 即所述未知组播变为已知组播,从而可以有方向性地转发组播流,避免了不 必要的带宽浪费。
为使本发明的目的、技术方案及优点更加清楚明白,以下仍以图1所示 的组网场景为例,对本发明进一步详细说明。 .
参见图1,并设当前运行PIM-SM协议,且L3-1为DR,则本发明的具 体实施例包括以下的步骤1至步骤5:
步骤1、组播服务器群中的某个组播源S (组播服务器)向二层交换机 发送组播组为G的组播流。由于二层交换机上没有直连的组播接收者,所 以该组播流对于二层交换机来说是未知组播流,IGMP-Snooping表项是空 的,即不存在组播成员端口,而仅存在路由器端口。此时,如果二层交换机 未启动未知组播丢弃功能,则该组播流将在二层交换机上泛洪,即二层交换机对该组播流进行广播处理;如果该二层交换机启动未知组播丟弃功能,则 只向路由器端口转发当前的未知组播流。这里以后者为例进行说明,则二层 交换机将所接收的未知组播流复制两份,向端口 1和端口 2转发(端口 1和 端口 2都为路由器端口 )。
分别与二层交换机的端口 l和端口 2相连的三层设备L3-1和L3-2接收 到组播流后生成(S, G)表项,此时的(S, G)表项的出接口列表为空, 并按照正常的PIM-SM协议进行处理。
步骤2、当主机1发送IGMP report报文,希望接收组播组G的组播流 时,L3-l会接收到表示请求组播组G的组播流的请求消息;这里,如果L3-l 与主机1直接相连,则L3-l接收到的请求消息即为IGMP report报文,如果 L3-l与主机1通过其他的三层设备间接相连,则L3-l接收到的请求消息为 PIM join报文,该PIM join报文是L3-l与主机1之间的所述其他三层设备 在接收到主机1的IGMP report报文后向L3-l发送的。此时,根据PIM SM 协议生成L3-1到主机1的组播转发路径,L3-1上的(S, G)表项的出接口 列表由空变为非空,即当L3-l接收到表示请求组播组G的组播流的请求消 息时,接收所述请求消息的端口会被添加到所述(S, G)表项的出接口列 表中。L3-l有了组播组G的组播流的出接口,通过单播路由判断组播源S 是否为自身的直连设备(这里的直连并非指物理上的直连,而是指忽略二层 设备时组播源S和L3-l是否直连,即L3-l是否是与组播源S连接的第一个 三层设备),如果是,贝'J L3-l生成IGMP模拟主机表项,在直连S的端口 (即接收组播组G的组播流的端口 )上周期性的发送请求消息,如IGMP report消息,以请求接收(S, G)的组播流。
二层交换机/人端口 1接收到IGMP report消息后,生成相应的
IGMP-Snooping v3表项,将端口 1添加到(S, G)的组播成员端口列表中,
并将(S, G)组播成员端口列表中的端口和连接DR的指定路由器端口加入
到二层组播转发列表中。此时,由于端口 2不是PIM DR端口 ,因此端口2
不加入的二层组播转发表中。二层交换机向二层组播转发列表中的端口转发(S, G)组播流,即二层交换机停止向端口 2转发(S, G)组播流,而只 向端口 l转发(S, G)的组播流。
步骤3 、当主机2发送IGMP report报文,希望接收组播组G的组播流 时,L3-2会接收到表示请求组播组G的组播流的请求消息;这里,如果L3-2 与主机2直接相连,则L3-2接收到的请求消息即为IGMP report报文,如果 L3-2与主机2通过其他的三层设备间接相连,则L3-2接收到的请求消息为 PIMjoin才艮文。此时,才艮据PIM SM协议生成L3-2到主才几2的组!番转发3各 径,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)的组播成员端口加入到二 层组播转发列表中。此时,二层交换才几同时向端口 l和端口 2转发(S, G) 组播流。
步骤4、当主机1不再接收组播组G的组播流时,发送IGMP leave报 文,从而剪枝从L3-1到主机1的组播转发路径,L3-l的(S, G)表项的出 接口列表由非空变为空。L3-l没有了组播组G的组播流的出接口后,向连 接S的端口(即接收组播组G的组播流的端口 )发送拒绝消息,如IGMP leave 报文,以拒绝收(S, G)组播流。
二层交换机从端口 1接收到IGMP leave报文后,从组纟番组G的组播成 员端口列表中删除端口 1,但由于端口 1所连接的路由器L3-l为DR,即端 口 1为指定路由器端口,所以二层交换机并不会从底层芯片的二层组播转发 表项中删除端口 1。此时,二层交换机仍然向端口 l和端口 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发送的组播流对于二层交换才几来"i兌又变为未 知组播流,按照现有的IGMP-Snooping处理方法,二层交换机向作为路由器 端口的端口 1和端口 2转发(S, G)组播流。
在上述实施例的步骤2中,如果L3-l在接收到组播组G的组播流之前, 就已经接收到表示请求组播组G的组播流的请求消息,则当L3-l接收到组 播组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-l和L3-2可以是三层的路由器,也可以是三层的 交换机。
上述实施例中方案适用于IGMP的vl、 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)表项 的出接口列表非空,则判断自身有该组播流的出接口 d
在图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,用于在收到所述第二指示信息后,通过所述三层设备接收所述组播流 的端口向所述二层交换机发送表示拒绝接收所述组播流的拒绝消息。
由上述实施例可见,本发明这种当二层交换机接收到未知组播流时,向 预先规定的一组端口转发所述组播流;而与所述二层交换机直接相连的三层 设备接收到所述组播流时,判断自身是否有该组播流的出接口 ,是则向自身 接收所述组播流的端口发送请求消息,以请求接收所述组播流;二层交换机 将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口列 表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;然 后向所述二层组播转发列表中的端口转发所述组播流的技术方案,可以使得 二层交换机上未知组播流可以变为已知组播流,从而二层交换机只向有需要 的端口转发该组播流,避免向不必要的端口转发该组播流,从而避免了带宽 的浪费。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护 范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种组播流传输方法,其特征在于,该方法应用于组播源的组播流依次经过二层交换机和三层设备到达组播接收者的组网中,该方法包括当所述二层交换机接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述二层交换机的一个以上的端口;与所述二层交换机直接相连的三层设备接收到二层交换机转发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流;二层交换机将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;二层交换机向所述二层组播转发列表中的端口转发所述组播流。
2、 如权利要求l所述的方法,其特征在于,所述三层设备判断自身是 否有该组播流的出接口包括如果所述三层设备已保存了与所述组播流匹配的(S, G)表项,且该 (S, G)表项的出接口列表非空,则所述三层设备判断自身有该组播流的 出接口 。
3、 如权利要求1所述的方法,其特征在于,该方法在上述所有步骤之 后进一步包括当所述三层设备判断出自身不再有所述组播流的出接口时, 向自身接收所述组播流的端口发送拒绝消息,以拒绝接收所述组播流;二层交换机将接收到所述拒绝消息的端口从所述组播成员端口列表中 删除;并且,二层交换机将所述接收拒绝消息的端口从所述二层组播转发列 表中删除。
4、 一种组播流传输系统,其特征在于,该系统包括连接的二层交换机 和三层设备,且组播源的组播流依次经过所述二层交换机和所述三层设备到达组播接收者,其中,所述二层交换机,用于在接收到一组播流且该组播流为未知组播流时,向预先规定的一组端口转发所述组播流;所述预先规定的一组端口包括所述 二层交换机的一个以上的端口;之后,在接收到请求所述组播流的请求消息 时,将接收所述请求消息的端口添加到与所述组播流对应的组播成员端口列 表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;然 后向所述二层组播转发列表中的端口转发所述组播流。所述三层设备,用于在接收到二层交换机转发的所述组播流时,判断自 身是否有该组播流的出接口 ,是则向自身接收所述组播流的端口发送请求消 息,以请求接收所述组播流。
5、 如权利要求4所述的系统,其特征在于,所述三层设备,在接收到二层交换机转发的所述组播流时,如果已保存 了与所述组播流匹配的(S, G)表项,且该(S, G)表项的出接口列表非 空,则判断自身有该组播流的出接口。
6、 如权利要求4所述的系统,其特征在于,所述三层设备,进一步用于在判断出自身不再有所述组播流的出接口 时,向自身接收所述组播流的端口发送拒绝消息,以拒绝接收所述組播流;所述二层交换机,进一步用于将接收到所述拒绝消息的端口从所述组播 成员端口列表中删除;并且进一步用于将所述接收拒绝消息的端口从所述二 层组播转发列表中删除。
7、 一种二层交换机,其特征在于,该二层交换机包括组播流转发模 块、二层组播转发列表存储模块和二层组播转发列表配置模块,其中,所述组播流转发模块,用于在接收到一组播流且该组播流为未知组播流 时,向预先规定的一組端口转发所述组播流;所述预先规定的一组端口包括 所述二层交换机的一个以上的端口;之后,当所述二层组播转发列表存储模 块中的与所述组播流对应的二层组播转发列表为非空时,向所述二层组播转 发列表中的端口转发所述组播流;二层组播转发列表存储模块,用于保存二层组播转发列表; 所述二层组播转发列表配置模块,用于在所述二层交换机接收到表示请 求所述组播流的请求消息时,将接收到所述请求消息的端口添加到组播成员 端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表 存储模块中的与所述组播流对应的二层组播转发列表中。
8、 如权利要求7所述的二层交换机,其特征在于, 所述二层组播转发列表配置模块,进一步用于在所述二层交换机接收到表示拒绝接收所述组播流的拒绝消息时,将接收到所述拒绝消息的端口从组 播成员端口列表中删除;并且,进一步用于将所述接收拒绝消息的端口从所 述二层组播转发列表存储模块中的与所述组播流对应的二层组播转发列表 中删除。
9、 一种三层设备,其特征在于,该设备包括判断模块和消息发送模 块,其中,所述判断模块,用于在所述三层设备接收到来自二层交换机的组播流 时,判断所述三层设备是否有该组播流的出接口 ,是则向消息发送模块发送 第一指示信息;所述消息发送模块,用于在收到所述第一指示信息后,通过所述三层设 备接收所述组播流的端口向所述二层交换机发送表示请求接收所述组播流 的请求消息。
10、 如权利要求9所述的三层设备,其特征在于, 所述判断模块,用于在判断出所述三层设备不再有所述组播流的出接口时,向所述消息发送模块发送第二指示信息;所述消息发送模块,用于在收到所述第二指示信息后,通过所述三层设 备接收所述组播流的端口向所述二层交换机发送表示拒绝接收所述组播流 的拒绝消息。
全文摘要
本发明公开了一种组播流传输方法,包括当二层交换机接收到一组播流且该组播流为未知组播流时向预先规定的一组端口转发所述组播流;与所述二层交换机直接相连的三层设备接收到二层交换机转发的所述组播流时,判断自身是否有该组播流的出接口,是则向自身接收所述组播流的端口发送请求消息,以请求接收所述组播流;二层交换机将接收到所述请求消息的端口添加到与所述组播流对应的组播成员端口列表中,并将所述组播成员端口列表中的端口添加到二层组播转发列表中;二层交换机向所述二层组播转发列表中的端口转发所述组播流。本发明还公开了一种组播流传输系统。本发明的技术方案能够避免带宽的浪费。
文档编号H04L12/56GK101291240SQ20081011525
公开日2008年10月22日 申请日期2008年6月19日 优先权日2008年6月19日
发明者迪 周, 杨 王 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1