CN102143033B - 一种组播流控制方法和设备 - Google Patents
一种组播流控制方法和设备 Download PDFInfo
- Publication number
- CN102143033B CN102143033B CN201010105304.6A CN201010105304A CN102143033B CN 102143033 B CN102143033 B CN 102143033B CN 201010105304 A CN201010105304 A CN 201010105304A CN 102143033 B CN102143033 B CN 102143033B
- Authority
- CN
- China
- Prior art keywords
- mld
- terminal
- message
- group
- equipment
- 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.)
- Active
Links
Abstract
本发明公开了一种组播流控制方法和设备,其中,该方法应用于包含汇聚层设备和接入层设备的网络中;其特征在于,该方法包括以下步骤:A,所述汇聚层设备接收到用户点播组播组时发送的请求报文后,判断该用户是否已通过自身的认证,如果是,生成所述用户对应的组播转发表项,以根据该组播转发表项控制组播流转发;B,所述接入层设备侦听到所述请求报文时生成侦听表项,以根据该侦听表项控制组播流转发。采用本发明,能够节省网络资源。
Description
技术领域
本发明涉及组播技术,特别涉及一种组播(Multicast)流控制方法和设备。
背景技术
与单播(Unicast)和广播(Broadcast)相比,组播技术由于能够有效解决单点发送多点接收问题、实现网络中点到多点的高效数据传送、以及节约大量网络带宽、降低网络负载等诸多优点而得到广泛应用。在组播技术中,组播流控制主要是使经过认证的终端接收被授权的组播流,而使没有经过认证的终端不能接收被授权的组播流。为了实现接入控制,现有技术公开了组播接入控制方法。
现有的组播流控制方法是由处于接入层中的接入层设备实现的,具体为:接入层设备结合现有认证协议比如802.1x协议或者门户(Portal)协议对终端(PC)进行认证,针对认证通过的PC,接入层设备在下连该PC的端口上配置该PC对应的组播权限(即该PC被授权加入的组播组信息),之后,接入层设备即可根据配置的组播权限控制组播流的转发。以接入层设设备为如图1所示的接入交换机为例,则接入交换机通过端口1接收到PC1发送的认证报文(比如http请求)后,结合现有的认证协议对PC1进行认证,当认证通过后,接入交换机获取预设的PC1对应的组播权限,在端口1上配置该PC1对应的组播权限。之后,即可根据配置的组播权限转发后续发送给PC1的组播流。
可以看出,现有的组播流控制都是集中在接入层设备上的,即当接入层设备接收到组播流后,根据已配置的组播权限控制组播流给对应的终端;而处于接入层之上的汇聚层并不具有组播接入控制的功能,也就是说,当汇聚层设备向终端转发组播流时,其向所有的接入层设备转发组播流,可以看出,这显然大大浪费了网络资源。
发明内容
本发明提供了一种组播流控制方法和设备,以便节省网络资源。
本发明提供的技术方案是这样实现的:
一种组播流控制方法,该方法应用于接入层设备和汇聚层设备的网络中;该方法包括以下步骤:
A,汇聚层设备接收到终端在点播组播组时发送的请求报文后,判断该终端是否已通过自身的认证,如果是,生成所述终端对应的组播转发表项,以根据生成的组播转发表项控制后续向该终端转发的组播流;
B,所述接入层设备侦听到所述请求报文时生成所述终端对应的侦听表项,以根据生成的侦听表项控制后续转发给该终端的组播流。
一种组播流控制设备,该设备为处于汇聚层中的汇聚层设备,所述设备包含:
接收单元,用于接收终端在点播组播组时发送的请求报文;
认证单元,用于判断所述终端是否已通过自身的认证,如果是,生成所述终端对应的组播转发表项;
控制单元,用于根据所述组播转发表项控制后续向该终端转发的组播流,其中,所述控制单元向终端发送的组播流是经由接入层设备根据侦听到所述终端发送的请求报文生成的该终端对应的侦听表项转发给终端的。
一种组播流控制设备,该设备为处于接入层中的接入层设备,所述设备包含:
侦听单元,用于侦听终端在点播组播组时向汇聚层设备发送的请求报文;
表项生成单元,用于在所述侦听单元侦听到所述请求报文时,生成所述终端对应的侦听表项,以根据生成的侦听表项控制后续来自汇聚层设备转发给该终端的组播流。
由以上技术方案可以看出,本发明中,汇聚层设备接收到终端点播组播组时发送的请求报文后,如果该终端已通过自身的认证,则生成所述终端对应的组播转发表项,以根据生成的组播转发表项控制后续向该终端转发的组播流;也就是说,本发明中,并非现有技术中汇聚层设备向所有的接入层设备转发控制流,而是由汇聚层设备对组播流进行控制,即,根据生成的组播转发表项只向能够将组播流转发给对应终端的接入层设备发送,这大大节省了网络资源;
并且,本领域技术人员知道,接入层设备处于直接面向用户的接入层,与汇聚层设备相比,其性能比较低。而本发明中不使所有的组播流控制完全集中在接入层设备上,而是仅让处于接入层设备来配合汇聚层设备执行的上述控制操作,即,接入层设备侦听到所述请求报文时生成侦听表项,以根据生成的侦听表项控制后续转发给该终端的组播流,这大大减少了现有技术中接入层设备进行控制所带来的管理开销。
附图说明
图1为现有技术中组播流控制的网络示意图;
图2为本发明实施例提供的基本流程图;
图3a为本发明实施例提供的第一流程图;
图3b为本发明实施例提供的方法所应用的场景示意图;
图4为本发明实施例提供的第二流程图;
图5为本发明实施例提供的报文格式示意图;
图6为本发明实施例提供的设备的结构图;
图7为本发明实施例提供的另一设备的结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图2,图2为本发明实施例提供的基本流程图。这里,本实施例应用于包含接入层设备和汇聚层设备的网络中;其中,所述接入层设备处于所述网络的接入层中,所述汇聚层设备处于所述网络的汇聚层中;基于此,如图2所示,该流程可包括以下步骤:
步骤201,汇聚层设备接收到PC在点播组播组时发送的请求报文后,判断该PC是否已通过自身的认证,如果是,生成所述PC对应的组播转发表项,以根据生成的组播转发表项控制后续向该PC转发的组播流。
这里,如果该终端未通过自身的认证,则直接丢弃该接收的请求报文。
步骤202,接入层设备侦听到所述请求报文时生成所述PC对应的侦听表项,以根据生成的侦听表项控制后续转发给该PC的组播流。
至此,实现了本发明实施例提供的基本流程。
这里,图2所应用的上述网络具体实现时可为IPv4网络或者为IPv6网络,这里不进行限定。为使本发明更加清楚,下面以上述网络为IPv6网络为例进行详述。其他情况与本例类似,这里不再一一详述。
实施例一:
本实施例应用于IPv6网络下的小型园区网络场景,其中,在规划该网络场景时,可设置该网络中的所有PC共享同一VLAN,具体如图3a所示。
以图3a所示的网络架构为例,则按照本发明提供的方法可以如图3b所示,包括以下步骤:
步骤301b,汇聚层设备通过一下行端口比如图3a所示的端口0接收到PC比如PC1发送的认证报文(比如http请求等)后对该PC认证。
本步骤301b中,汇聚层设备实质上和图3a所示的Radius服务器配合,使用PORTAL协议或802.1x认证协议配合RADIUS协议对发送认证报文的PC进行认证,具体与现有技术类似,这里不再赘述。
步骤302b,当认证通过后,获取该PC对应的组播权限,将获取的组播权限设置在接收到该认证报文的端口上。
本步骤302b中,PC对应的组播权限具体为该PC被授权可以点播的组播组信息,实质上以ACL形式存在,其可预先设置在汇聚层设备上,也可设置在服务器比如Radius服务器上。其中,如果设置在服务器上,则汇聚层设备还需和设置了PC对应的组播权限的服务器进行交互,以获取对应的组播权限。
从上述步骤301b至步骤302b可以看出,本实施例并非现有技术中由接入层设备对PC进行认证,而是由接入层之上即汇聚层中的汇聚层设备对PC进行认证,这样,可以大大减少接入层设备的负荷。
步骤303b,如果一PC比如图3a所示的PC1需要点播某一组播组(记为组播组1),则该PC1发送携带了组播组1的请求(MLD Report)报文给接入层设备。
步骤304b,接入层设备接收到MLD Report报文后,将该MLD Report报文透传给汇聚层设备。
步骤305b,汇聚层设备接收到MLD Report报文后,判断发送该MLDReport报文的PC1是否已通过自身的认证,如果是,执行步骤306b;否则,丢弃该接收的MLD Report报文。
上述步骤302b中,汇聚层设备通过对PC的认证后,会记录该PC的标识,比如该PC的源IP地址、源MAC地址等。如此,本步骤305b中的判断具体为:判断当前是否存在接收的MLD Report报文所携带的PC1标识,如果是,确定PC1已通过认证,否则,确定PC1未通过认证。
步骤306b,判断MLD Report报文携带的组播组1是否存在PC1对应的组播权限中,如果是,执行步骤307b;否则,丢弃该MLD Report报文。
步骤307b,汇聚层设备向PC1单播查询(MLD Group-Specific Query)报文。
因为汇聚层设备处于上层,其有可能会收到伪造的报文,这对网络安全造成负面作用。基于这种情况,本步骤307b中,由汇聚层设备向已发送MLD Report报文的PC1单播MLD Group-Specific Query报文,以验证PC1是否确实存在,以及PC1是否确实点播组播组1,具体发送操作包括:汇聚层设备先单播MLDGroup-Specific Query报文至接入层设备,由接入层设备向该MLDGroup-Specific Query报文携带的目的地址(具体为PC1的地址)转发该MLDGroup-Specific Query报文。
步骤308b,汇聚层设备如果在预设的MLD_DELAY时间内收到PC1返回的携带了要点播的组播组1的MLD Report报文,则确定PC1存在,且确实需要点播组播组1。之后,执行步骤309b。
这里,PC1接收到单播MLD Group-Specific Query报文后,如果自身确实点播了组播组1,则根据MLD Group-Specific Query报文中携带的最大响应时间(Maximum Response Delay)返回MLD Report报文,该返回的MLD Report报文与接收的MLD Group-Specific Query报文对应。这里,为了便于使汇聚层设备区分出当前接收的MLD Report报文为PC1返回的与MLD Group-SpecificQuery报文对应的报文,本实施例中可在MLD Report报文的类型字段中设置对应的标识信息,比如,类型字段中为标识1时,表示该类型字段所在的MLDReport报文为与MLD Group-Specific Query报文对应的报文,当为标识2时,表示该类型字段所在的MLD Report报文为PC1点播组播组时所发送的报文等,如此,汇聚层设备即可正确区分出当前接收的MLD Report报文。
需要说明的是,为了使PC1尽快返回MLD Report报文,缩短延时,可设置MLD Group-Specific Query报文中携带的最大响应时间最小,比如为1秒。
步骤309b,生成PC1对应的组播转发表项,以根据生成的组播转发表项控制后续转发给PC1的组播流。
这里,上述步骤308b中PC1返回的MLD Report报文与上述步骤303b中PC1首次发送的MLD Report报文都携带了PC1标识和要点播的组播组1,并且这两个报文到达汇聚层设备的端口也一致。基于此,本步骤309b中PC1对应的组播转发表项包含了接收到PC1发送的MLD Report报文的端口、PC1标识和MLD Report报文携带的组播组1,其中,PC1标识为PC1的源IP地址和源MAC地址。如此,当后续有组播组1的组播流需要经由汇聚层设备转发给PC1时,汇聚层设备从PC1对应的组播转发表项中查找组播组1对应的端口,通过该查找到的端口发送组播组1的组播流。
步骤310b,接入层设备使用MLD Snooping进行侦听,当在预设的MLD_DELAY时间内完整侦听到步骤303b中PC1首次发送的MLD Report报文、步骤307b中汇聚层设备单播的MLD Group-Specific Query报文和步骤308b中PC1返回的MLD Report报文时,生成PC1对应的侦听表项,以根据生成的侦听表项控制后续转发给PC1的组播流。
这里,上述步骤308b中PC1返回的MLD Report报文与上述步骤303b中PC1首次发送的MLD Report报文都携带了PC1标识和要点播的组播组1,并且接入层设备通过同一端口侦听到这两个报文,基于此,本步骤310b中PC1对应的侦听表项包含了接收到MLD Report报文的端口、MLD Report报文携带的组播组1和PC1标识,其中,PC1标识为PC1的源IP地址和源MAC地址。如此,当后续有组播组1的组播流需要经由接入层设备转发给PC1时,接入层设备从PC1对应的侦听表项中查找组播组1对应的端口,通过该查找到的端口发送组播组1的组播流。
至此,通过上述操作实现了本发明实施例提供的组播接入控制。
需要说明的是,上述实施例中,之所以执行步骤307b至步骤308b,主要是为了避免汇聚层设备收到伪造报文的可能。优选地,作为本发明另一实施例,在一些可靠性比较好的网络中,还可以不执行步骤307b至步骤308b,具体替换为:在步骤306b中,如果判断出MLD Report报文携带的组播组1存在PC1对应的组播权限中,则直接执行步骤309b;如此,步骤310b相应替换为:接入层设备使用MLD Snooping进行侦听,当在预设的MLD_DELAY时间内完整侦听到步骤303b中PC1首次发送的MLD Report报文时,生成PC1对应的侦听表项,以根据生成的侦听表项控制后续转发给PC1的组播流。其他步骤类似,不再详述。可以看出,替代后的技术方案相比于上述图3b所示的方案,比较简单,但是,要求网络的可靠性比较高。
实施例二:
本实施例与上述实施例一应用的网络场景不同,本实施例主要应用于IPv6网络下较大型网络场景,并且,在规划该网络场景时,设置该网络中的每一PC独享一个用户VLAN。基于此,本实施例提供的方法具体如图4所示。
参见图4,图4为本发明实施例提供的第二流程图。如图4所示,该流程可包括以下步骤:
步骤401至步骤406与实施例一中的步骤301b至步骤306b类似,这里不再详述。
步骤407,汇聚层设备先单播MLD Group-Specific Query报文至接入层设备,由该接入层设备转发MLD Group-Specific Query报文至PC1。
步骤408,PC1接收到MLD Group-Specific Query报文时,返回携带了要点播的组播组1的MLD Report报文给接入层设备。
步骤409,接入层设备接收到PC1返回的MLD Report报文时,判断当前是否存在用于为该MLD Report报文携带的组播组1传输组播流的组播VLAN,如果是,执行步骤410;否则,执行步骤411。
步骤410,将该MLD Report报文携带的用户VLAN加入到存在的组播VLAN。之后,执行步骤412。
步骤411,配置用于为该MLD Report报文携带的组播组1传输组播流的组播VLAN,将已点播组播组1的PC所处的用户VLAN和该MLD Report报文携带的用户VLAN加入到配置的组播VLAN中。之后,执行步骤412。
这里,之所以执行步骤411和步骤412,主要是为了避免后续多个不同用户VLAN中的PC同时点播同一组播组时汇聚层设备需要在在各个用户VLAN中分别复制一份组播组中的组播流所带来的浪费带宽资源、增加汇聚设备负担等问题,而步骤411和步骤412,能够动态地将点播同一组播组的PC所处的用户VLAN加入到组播VLAN中,这样,后续多个处于不同用户VLAN中的PC同时点播同一组播组时,汇聚层设备只需要在在组播VLAN中复制一份组播组中的组播流发送给接入层设备即可,这大大节省了带宽资源,并减轻汇聚设备的负担。
步骤412,接入层设备将当前加入的组播VLAN携带在该MLD Report报文中发送至汇聚层设备。
现有的MLD报文主要包含类型字段(Type)、编码字段(Code)、校验字段(Checksum)、最大响应时间字段、保留字段(Reserved)和组播地址(Multicast Address),具体如图5所示。这里,步骤412是通过对现有MLD报文的格式进行扩展实现的,具体为将编码字段设置为11111111,用于标识该MLD Report报文为携带了组播VLAN的报文,并将组播VLAN的标识添加在保留字段中,如此,即可实现步骤412中将当前加入的组播VLAN携带在该MLD Report报文中发送至汇聚层设备。
步骤413,汇聚层设备如果在预设的MLD_DELAY时间内收到PC1返回的携带了要点播的组播组1的MLD Report报文,则确定PC1存在,且确实需要点播组播组1。
步骤414,生成PC1对应的组播转发表项,以根据生成的组播转发表项控制后续转发给PC1的组播流。
这里,步骤414中PC1对应的组播转发表项包含了接收到MLD Report报文的端口、组播组1和PC1的标识,具体地,由于本实施例中不同的PC处于不同的用户VLAN中,因此,本实施例中PC1的标识具体为PC1所处的用户VLAN、PC1的源IP地址、源MAC地址。
步骤415,接入层设备使用MLD Snooping进行侦听,当在预设的MLD_DELAY时间内完整侦听到PC1首次发送的MLD Report报文、汇聚层设备单播的MLD Group-Specific Query报文和PC1返回的MLD Report报文时,生成PC1对应的侦听表项,以根据生成的侦听表项控制后续转发给PC1的组播流。
这里,步骤415中PC1对应的侦听表项包含了接收到MLD Report报文的端口、组播组1和PC1的标识,其中,本步骤415中PC1的标识与步骤414中的标识相同
至此,通过上述操作,实现了本发明实施例提供的流程。
本实施例中,为了减轻接入层设备转发报文的负荷,上述步骤407中将MLD Group-Specific Query报文转发给PC1的具体操作为:根据接收的MLDGroup-Specific Query报文携带的最大响应时间启动对应的定时器,之后,将该MLD Group-Specific Query报文转发给PC1。基于此,本步骤409中的判断具体为:判断是否在启动的定时器超时之前收到PC1返回的携带了要点播的组播组1的MLD Report报文,如果是,执行所述判断;否则,抑制该接收的MLD Report报文,并触发PC1返回执行步骤403。
还有,本实施例中,为了避免PC发送的MLD Report报文给接入层设备和汇聚层设备带来比较大的冲击,本实施例还可在接入层设备上可选地增加MLD Report报文抑制功能,具体为:当接入层设备上已存在PC1对应的侦听表项后,该侦听表项为侦听到PC1先前在点播组播组1时发送的MLDReport报文、汇聚层设备单播的MLD Group-Specific Query报文和PC1返回的MLD Report报文时生成的;如果再次接收到PC1在点播组播组1时发送的MLD Report报文,则禁止该MLD Report报文向汇聚层设备转发。基于此,上述步骤404可替换为:接入层设备当前接收到PC1在点播组播组1发送的MLD Report报文后,判断是否已生成所述PC1对应的侦听表项,该侦听表项为侦听到PC1先前在点播组播组1时发送的MLD Report报文、汇聚层设备单播的MLD Group-Specific Query报文和PC1返回的MLD Report报文时生成的;如果否,将该MLD Report报文透传给汇聚层设备;如果是,抑制该MLD Report报文。这样,保证了在PC1点播组播组1的时间内不会重复发送来自PC1的MLD Report报文,避免了PC1发送的MLD Report报文给接入层设备和汇聚层设备带来的冲击。
需要说明的是,目前,QinQ技术由于能够缓解公网VLAN ID资源日益紧缺、便于用户规划自己的私网VLAN等诸多优点得到广泛应用,这里,QinQ是802.1Q in802.1Q的简称,它是基于IEEE802.1Q技术的一种二层隧道协议,其能够将PC发送的来自私网VLAN(即用户VLAN)的报文封装上公网VLAN的标签,如此,报文携带了两层VLAN Tag(即私网VLAN标签和外层VLAN标签)穿越公网。采用QinQ技术,能够使运营商利用一个VLAN为包含多个VLAN的用户提供服务成为了可能。如果本实施例还使用了QinQ技术,则该流程与图4所示的流程类似,只不过有两点区别。
其中一个区别就是:在图4中的接入层设备将MLD Report报文发送给汇聚层设备时,需要接入层设备根据该MLD Report报文携带的目的地址信息确定要使用的公网VLAN,将确定的公网VLAN携带在所述第一MLDReport报文中发送至汇聚层设备(具体为:在该MLD Report报文上打上确定的公网VLAN的标签,并发送至汇聚层设备);以及接入层设备在接收到汇聚层设备单播的MLD Group-Specific Query报文时,剥离该MLDGroup-Specific Query报文携带的公网VLAN标签,之后,向剥离后的MLDGroup-Specific Query报文携带的目的地址PC1发送该剥离后的MLDGroup-Specific Query报文。
另一个区别是:由于本实施例中不同的PC处于不同的用户VLAN中,且使用了QinQ技术,基于此,图4中汇聚层设备生成的PC1对应的组播转发表项携带的PC1标识具体为接收到PC1发送的MLD Report报文携带的公网VLAN、该PC1所处的用户VLAN、该PC1的源IP地址和源MAC地址,相应地,图4中接入层设备生成的PC1对应的侦听表项携带的PC1标识具体替换为发送PC1给汇聚层设备要使用的公网VLAN、PC1所处的用户VLAN、PC1的源IP地址和源MAC地址。
另外,本实施例中,为了便于组播流的转发,上述步骤414中,汇聚层设备在生成组播转发表项时进一步生成第一组播表项,所述第一组播表项包含了汇聚层设备接收的MLD Report报文携带的组播VLAN和该MLDReport报文携带的用户VLAN的对应关系;如此,当汇聚层设备需要向PC转发组播流时,根据第一组播表项记录的该PC所处的用户VLAN对应的组播VLAN进行组播流转发。相应地,上述步骤415中接入层设备在生成组播转发表项时,进一步生成第二组播表项,所述第二组播表项包含了侦听到MLD Report报文携带的用户VLAN和该MLD Report报文携带的组播VLAN和的对应关系。如此,当接入层设备接收到汇聚层设备通过组播VLAN发送的组播流时,根据第二组播表项记录的组播VLAN对应的用户VLAN进行组播流转发。
上述两个实施例都是以IPv6为例进行描述的,优选地,本发明也可应用与IPv4网络中,其流程类似,只需要将上述的MLD替换为IGMP即可,这里不再详述。
以上对本发明实施例提供的方法进行了描述,下面结合具体实施例对本发明提供的设备进行描述。
参见图6,图6为本发明实施例提供的设备的结构图。该设备为处于汇聚层中的汇聚层设备;如图6所示,所述设备包含:
接收单元601,用于接收终端在点播组播组时发送的请求报文;
认证单元602,用于判断所述终端是否已通过自身的认证,如果是,生成所述终端对应的组播转发表项;
控制单元603,用于根据所述组播转发表项控制后续向该终端转发的组播流,其中,控制单元603向终端发送的组播流是经由接入层设备根据侦听到所述终端发送的请求报文生成的该终端对应的侦听表项转发给终端的。
其中,所述网络为IPv6网络,所述请求报文为第一MLD Report报文;如图6所示,认证单元602可包含:
报文查询子单元6021,用于在所述终端已通过认证时,向所述终端单播MLD Group-Specific Query报文;
表项生成子单元6022,用于在第一预设时间内接收到所述终端发送的所述MLD Group-Specific Query报文对应的第二MLD Report报文时,生成终端对应的组播转发表项。
具体地,报文查询子单元6021向所述终端单播MLD Group-Specific Query报文的操作具体为:判断接收的第一MLD Report报文携带的组播组是否满足发送所述第一MLD Report报文的终端对应的组播权限,所述组播权限为所述设备在该终端通过认证时为该终端配置的;如果是,继续执行向所述终端单播MLD Group-Specific Query报文的操作。
优选地,本实施例还提供了另一种设备的结构,该设备不同于图6所示的设备,其具体为处于接入层中的接入层设备,如图7所示,该设备包含:
侦听单元701,用于侦听终端在点播组播组时向汇聚层设备发送的请求报文;
表项生成单元702,用于在所述侦听单元侦听到所述请求报文时,生成所述终端对应的侦听表项,以根据生成的侦听表项控制后续来自汇聚层设备转发给该终端的组播流。
这里,所述网络为IPv6网络,所述请求报文为第一MLD Report报文;其中,侦听单元701还用于侦听所述汇聚层设备向所述终端单播的查询MLDGroup-Specific Query报文;以及所述终端发送的所述MLD Group-Specific Query报文对应的第二MLD Report报文;
优选地,如果侦听单元701在第二预设时间内完整侦听到所述终端发送的第一MLD Report报文、所述汇聚层设备单播的MLD Group-Specific Query报文和所述终端返回的第二MLD Report报文,则表项生成单元702生成侦听表项。
本实施例中,图7所示的设备为处于接入层中的接入层设备,所述汇聚层设备为处于接入层之上汇聚层中的汇聚层设备;如图7所示,侦听单元702包括:
判断子单元7021,用于在所述IPv6网络中不同终端处于不同用户VLAN时,如果当前侦听到终端发送的第二MLD Report报文,则判断当前是否存在用于为该第二MLD Report报文携带的组播组传输组播流的组播VLAN;
确定子单元7022,用于在判断子单元7021的判断结果为是时,将第二MLDReport报文携带的用户VLAN加入到所述组播VLAN;用于在判断子单元7021的判断结果为否时,配置用于为第二MLD Report报文携带的组播组传输组播流的组播VLAN,将已点播了所述组播组的终端所处的用户VLAN和所述第二MLD Report报文携带的用户VLAN加入到配置的组播VLAN中;
转发子单元7023,用于将所述组播VLAN携带在第二MLD Report报文,并发送携带了组播VLAN的第二MLD Report报文至汇聚层设备。
优选地,侦听单元702还包括:
控制子单元7024,用于接收到所述汇聚层设备单播的MLD Group-SpecificQuery报文时,根据所述MLD Group-Specific Query报文携带的最大响应时间启动定时器;并转发所述MLD Group-Specific Query报文给终端,以使终端发送对应的第二MLD Report报文;
如此,判断子单元7021检查当前接收到与MLD Group-Specific Query报文对应的第二MLD Report报文的时间是否在所述定时器超时之前,如果是,继续执行判断当前是否存在用于为该第二MLD Report报文携带的组播组传输组播流的组播VLAN的操作。
由于目前QinQ技术被广泛应用,本实施例中,如果所述IPv6网络还支持QinQ技术,则转发子单元7023还用于根据第二MLD Report报文携带的目的地址信息确定要使用的公网VLAN,将确定的公网VLAN携带在所述第二MLDReport报文中发送至汇聚层设备;以及在接收到向汇聚层设备发送的第一MLDReport报文时,根据第一MLD Report报文携带的目的地址信息确定要使用的公网VLAN,将确定的公网VLAN携带在所述第一MLD Report报文中发送至汇聚层设备;以及在接收到汇聚层设备向终端单播的MLD Group-Specific Query报文时,剥离出该MLD Group-Specific Query报文携带的公网VLAN的标签,根据所述MLD Group-Specific Query报文携带的目的地址信息确定出对应的终端,之后,将MLD Group-Specific Query报文发送至该确定的终端。
由以上技术方案可以看出,本发明中,汇聚层设备接收到终端点播组播组时发送的请求报文后,如果该终端已通过自身的认证,则生成所述终端对应的组播转发表项,以根据生成的组播转发表项控制后续向该终端转发的组播流;也就是说,本发明中,并非现有技术中汇聚层设备向所有的接入层设备转发控制流,而是由汇聚层设备对组播流进行控制,即,根据生成的组播转发表项只向能够将组播流转发给对应终端的接入层设备发送,这大大节省了网络资源;
并且,本领域技术人员知道,接入层设备处于直接面向用户的接入层,与处于汇聚层中的汇聚层设备相比,其性能比较低。而本发明中不使所有的组播流控制完全集中在接入层设备上,而是仅让该接入层设备来配合汇聚层设备的控制操作,即,接入层设备侦听到所述请求报文时生成侦听表项,以根据生成的侦听表项控制后续转发给该终端的组播流,这大大减少了现有技术中接入层设备进行控制所带来的管理开销。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (15)
1.一种组播流控制方法,该方法应用于包含接入层设备和汇聚层设备的网络中,所述接入层设备处于所述网络的接入层中,所述汇聚层设备处于所述网络的汇聚层中;其特征在于,该方法包括以下步骤:
A,汇聚层设备接收到终端在点播组播组时发送的第一请求报文后,判断该终端是否已通过自身的认证,如果是,向所述终端单播查询报文,并在第一预设时间内接收到所述终端返回的所述查询报文对应的第二请求报文时,生成所述终端对应的组播转发表项,以根据生成的组播转发表项控制后续向该终端转发的组播流;
B,接入层设备在第二预设时间内完整侦听到所述终端发送的第一请求报文、所述汇聚层设备单播的查询报文和所述终端返回的与所述查询报文对应的第二请求报文时,生成所述终端对应的侦听表项,以根据生成的侦听表项控制后续转发给该终端的组播流。
2.根据权利要求1所述的方法,其特征在于,所述网络为IPv6网络,所述第一请求报文为第一MLD Report报文;所述第二请求报文为第二MLDReport报文;所述查询报文为MLD Group-Specific Query报文;
所述步骤A中生成组播转发表项包括:向所述终端单播MLDGroup-Specific Query报文;在第一预设时间内接收到所述终端发送的所述MLDGroup-Specific Query报文对应的第二MLD Report报文时,生成终端对应的组播转发表项;
所述步骤B中生成侦听表项包括:当在第二预设时间内完整侦听到所述终端发送的第一MLD Report报文、所述汇聚层设备单播的MLD Group-SpecificQuery报文和所述终端返回的与所述MLD Group-Specific Query报文对应的第二MLD Report报文时,生成所述终端对应的侦听表项。
3.根据权利要求2所述的方法,其特征在于,所述向终端单播MLDGroup-Specific Query报文包括:
判断接收的第一MLD Report报文携带的组播组是否满足发送所述第一MLD Report报文的终端对应的组播权限,所述组播权限为所述汇聚层设备在该终端通过认证时为该终端配置的;如果是,继续执行向所述终端单播MLDGroup-Specific Query报文的操作。
4.根据权利要求2或3所述的方法,其特征在于,所述步骤A中,汇聚层设备接收的第二MLD Report报文是经由接入层设备发送的,具体包括:
A1,如果所述IPv6网络中不同终端处于不同用户VLAN,当接入层设备接收到终端发送的第二MLD Report报文时,判断当前是否存在用于为第二MLDReport报文携带的组播组传输组播流的组播VLAN,如果是,执行步骤A2;否则,执行步骤A3;
A2,将第二MLD Report报文携带的用户VLAN加入到所述组播VLAN;并执行步骤A4;
A3,配置用于为第二MLD Report报文携带的组播组传输组播流的组播VLAN,将已点播了所述组播组的终端所处的用户VLAN和所述第二MLDReport报文携带的用户VLAN加入到配置的组播VLAN中;并执行步骤A4;
A4,将所述组播VLAN携带在第二MLD Report报文,并发送携带了组播VLAN的第二MLD Report报文至汇聚层设备。
5.根据权利要求4所述的方法,其特征在于,所述MLD Group-SpecificQuery报文是经由接入层设备发送给终端的,具体包括:所述接入层设备接收到所述汇聚层设备单播的MLD Group-Specific Query报文时,根据所述MLDGroup-Specific Query报文携带的最大响应时间启动定时器;并转发所述MLDGroup-Specific Query报文给终端,以使终端发送对应的第二MLD Report报文;
所述步骤A1中的判断包括:检查当前接收到与MLD Group-Specific Query报文对应的第二MLD Report报文的时间是否在所述定时器超时之前,如果是,继续执行所述判断。
6.根据权利要求4所述的方法,其特征在于,如果所述IPv6网络还支持QinQ技术,则所述步骤A4中发送携带了组播VLAN的第二MLD Report报文至汇聚层设备包括:根据第二MLD Report报文携带的目的地址信息确定要使用的公网VLAN,将确定的公网VLAN携带在所述第二MLD Report报文中发送至汇聚层设备;
所述汇聚层设备接收的第一MLD Report报文是经由接入层设备发送的,具体包括:接入层设备根据第一MLD Report报文携带的目的地址信息确定要使用的公网VLAN,将确定的公网VLAN携带在所述第一MLD Report报文中发送至汇聚层设备;
所述向终端单播MLD Group-Specific Query报文包括:所述接入层设备剥离出所述MLD Group-Specific Query报文携带的公网VLAN的标签,根据所述MLD Group-Specific Query报文携带的目的地址信息确定出对应的终端,之后,将MLD Group-Specific Query报文发送至该确定的终端。
7.根据权利要求1所述的方法,其特征在于,所述步骤A中,汇聚层设备接收的请求报文是经由接入层设备发送的,具体包括:
所述接入层设备当前侦听到所述终端在点播所述组播组时发送的请求报文,判断是否已存在该终端对应的侦听表项,该侦听表项为所述接入层设备先前在侦听到该终端点播所述组播组时生成的;如果是,抑制当前接收的请求报文;否则,向所述汇聚层设备转发请求报文。
8.一种组播流控制设备,该设备为处于汇聚层中的汇聚层设备;其特征在于,所述设备包含:
接收单元,用于接收终端在点播组播组时发送的第一请求报文;
认证单元,用于判断所述终端是否已通过自身的认证,如果是,向所述终端单播查询报文,并在第一预设时间内接收到所述终端返回的所述查询报文对应的第二请求报文时,生成所述终端对应的组播转发表项;
控制单元,用于根据所述组播转发表项控制后续向该终端转发的组播流,其中,所述控制单元向终端发送的组播流是经由接入层设备根据在第二预设时间内完整侦听到所述终端发送的第一请求报文、所述汇聚层设备单播的查询报文和所述终端返回的与所述查询报文对应的第二请求报文时生成的该终端对应的侦听表项转发给终端的。
9.根据权利要求8所述的设备,其特征在于,所述网络为IPv6网络,所述第一请求报文为第一MLD Report报文;所述第二请求报文为第二MLDReport报文;所述查询报文为MLD Group-Specific Query;所述认证单元包含:
报文查询子单元,用于在所述终端已通过认证时,向所述终端单播MLDGroup-Specific Query报文;
表项生成子单元,用于在第一预设时间内接收到所述终端发送的所述MLDGroup-Specific Query报文对应的第二MLD Report报文时,生成终端对应的组播转发表项。
10.根据权利要求9所述的设备,其特征在于,所述报文查询子单元还用于判断接收的第一MLD Report报文携带的组播组是否满足发送所述第一MLDReport报文的终端对应的组播权限,所述组播权限为所述设备在该终端通过认证时为该终端配置的;如果是,继续执行向所述终端单播MLD Group-SpecificQuery报文的操作。
11.一种组播流控制设备,该设备为处于接入层中的接入层设备,其特征在于,所述设备包含:
侦听单元,用于侦听终端在点播组播组时向汇聚层发送的第一请求报文;所述汇聚层设备单播的查询报文;所述终端返回的用于所述查询报文对应的第二请求报文;
表项生成单元,用于在第二预设时间内完整侦听到所述第一请求报文、所述查询报文和所述第二请求报文时,生成所述终端对应的侦听表项,以根据生成的侦听表项控制后续转发给该终端的组播流。
12.根据权利要求11所述的设备,其特征在于,所述网络为IPv6网络,所述请求报文为第一MLD Report报文;所述第二请求报文为第二MLD Report报文;所述查询报文为MLD Group-Specific Query报文;
所述侦听单元还用于侦听所述汇聚层设备向所述终端单播的MLDGroup-Specific Query报文;以及所述终端发送的所述MLD Group-Specific Query报文对应的第二MLD Report报文;
如果所述侦听单元在第二预设时间内完整侦听到所述终端发送的第一MLD Report报文、所述汇聚层设备单播的MLD Group-Specific Query报文和所述终端返回的第二MLD Report报文,则所述表项生成单元生成侦听表项。
13.根据权利要求12所述的设备,其特征在于,所述侦听单元包括:
判断子单元,用于在所述IPv6网络中不同终端处于不同用户VLAN时,如果当前侦听到终端发送的第二MLD Report报文,则判断当前是否存在用于为该第二MLD Report报文携带的组播组传输组播流的组播VLAN;
确定子单元,用于在所述判断子单元的判断结果为是时,将第二MLDReport报文携带的用户VLAN加入到所述组播VLAN;用于在所述判断子单元的判断结果为否时,配置用于为第二MLD Report报文携带的组播组传输组播流的组播VLAN,将已点播了所述组播组的终端所处的用户VLAN和所述第二MLD Report报文携带的用户VLAN加入到配置的组播VLAN中;
转发子单元,用于将所述组播VLAN携带在第二MLD Report报文,并发送携带了组播VLAN的第二MLD Report报文至汇聚层设备。
14.根据权利要求13所述的设备,其特征在于,所述侦听单元还包括:
控制子单元,用于接收到所述汇聚层设备单播的MLD Group-Specific Query报文时,根据所述MLD Group-Specific Query报文携带的最大响应时间启动定时器;并转发所述MLD Group-Specific Query报文给终端,以使终端发送对应的第二MLD Report报文;
所述判断子单元检查当前接收到与MLD Group-Specific Query报文对应的第二MLD Report报文的时间是否在所述定时器超时之前,如果是,继续执行判断当前是否存在用于为该第二MLD Report报文携带的组播组传输组播流的组播VLAN的操作。
15.根据权利要求13所述的设备,其特征在于,如果所述IPv6网络还支持QinQ技术,则所述转发子单元还用于根据第二MLD Report报文携带的目的地址信息确定要使用的公网VLAN,将确定的公网VLAN携带在所述第二MLDReport报文中发送至汇聚层设备;以及在接收到向汇聚层设备发送的第一MLDReport报文时,根据第一MLD Report报文携带的目的地址信息确定要使用的公网VLAN,将确定的公网VLAN携带在所述第一MLD Report报文中发送至汇聚层设备;以及在接收到汇聚层设备向终端单播的MLD Group-Specific Query报文时,剥离出该MLD Group-Specific Query报文携带的公网VLAN的标签,根据所述MLD Group-Specific Query报文携带的目的地址信息确定出对应的终端,之后,将MLD Group-Specific Query报文发送至该确定的终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010105304.6A CN102143033B (zh) | 2010-02-02 | 2010-02-02 | 一种组播流控制方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010105304.6A CN102143033B (zh) | 2010-02-02 | 2010-02-02 | 一种组播流控制方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102143033A CN102143033A (zh) | 2011-08-03 |
CN102143033B true CN102143033B (zh) | 2014-07-30 |
Family
ID=44410272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010105304.6A Active CN102143033B (zh) | 2010-02-02 | 2010-02-02 | 一种组播流控制方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102143033B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333099B (zh) * | 2011-10-27 | 2014-09-10 | 杭州华三通信技术有限公司 | 一种安全控制方法和设备 |
CN102546670B (zh) * | 2012-03-01 | 2016-05-04 | 神州数码网络(北京)有限公司 | 安全的组播侦听者发现协议窥探方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155046A (zh) * | 2006-09-25 | 2008-04-02 | 华为技术有限公司 | 实现组播控制的网络控制系统和方法 |
CN101184044A (zh) * | 2007-12-05 | 2008-05-21 | 中兴通讯股份有限公司 | 一种组播监听发现协议的报文处理方法 |
CN101414919A (zh) * | 2007-10-19 | 2009-04-22 | 上海贝尔阿尔卡特股份有限公司 | 上行组播业务的控制方法及装置 |
CN101562613A (zh) * | 2009-05-26 | 2009-10-21 | 杭州华三通信技术有限公司 | 一种控制组播源的方法和一种网络接入服务器 |
CN101610254A (zh) * | 2009-06-23 | 2009-12-23 | 杭州华三通信技术有限公司 | 组播用户权限控制方法、组播认证服务器和接入设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207473B (zh) * | 2006-12-18 | 2011-07-13 | 中兴通讯股份有限公司 | 一种iptv系统中接入层网络实现组播的方法 |
JP4775716B2 (ja) * | 2007-06-18 | 2011-09-21 | Necアクセステクニカ株式会社 | 中継装置、中継方法および中継プログラム |
EP2129037A1 (en) * | 2008-05-29 | 2009-12-02 | THOMSON Licensing | Method and apparatus for multicast group management |
-
2010
- 2010-02-02 CN CN201010105304.6A patent/CN102143033B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155046A (zh) * | 2006-09-25 | 2008-04-02 | 华为技术有限公司 | 实现组播控制的网络控制系统和方法 |
CN101414919A (zh) * | 2007-10-19 | 2009-04-22 | 上海贝尔阿尔卡特股份有限公司 | 上行组播业务的控制方法及装置 |
CN101184044A (zh) * | 2007-12-05 | 2008-05-21 | 中兴通讯股份有限公司 | 一种组播监听发现协议的报文处理方法 |
CN101562613A (zh) * | 2009-05-26 | 2009-10-21 | 杭州华三通信技术有限公司 | 一种控制组播源的方法和一种网络接入服务器 |
CN101610254A (zh) * | 2009-06-23 | 2009-12-23 | 杭州华三通信技术有限公司 | 组播用户权限控制方法、组播认证服务器和接入设备 |
Non-Patent Citations (1)
Title |
---|
JP特开2008-312095A 2008.12.25 |
Also Published As
Publication number | Publication date |
---|---|
CN102143033A (zh) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7698455B2 (en) | Method for providing scalable multicast service in a virtual private LAN service | |
JP3845086B2 (ja) | 制御されたマルチキャストのシステム及び実行方法 | |
EP1692814B1 (en) | System and method for grouping multiple vlans into a single 802.11 ip multicast domain | |
EP2378720B1 (en) | Extranet networking method, system and device for multicast virtual private network | |
CN101299671B (zh) | 用于组播数据包发送与接收的方法和装置 | |
US6640251B1 (en) | Multicast-enabled address resolution protocol (ME-ARP) | |
CN101102265B (zh) | 用于多业务接入的控制和承载分离系统和实现方法 | |
CN108307355A (zh) | 一种lpwan物联网的组播实现方法 | |
CN101001264B (zh) | L1vpn地址分配的方法、装置、网络边沿设备和编址服务器 | |
CN102201999A (zh) | 一种实现组播业务负荷分担的方法和系统 | |
CN103117935A (zh) | 应用于多归属组网的组播数据转发方法和装置 | |
CN101610254B (zh) | 组播用户权限控制方法、组播认证服务器和接入设备 | |
CN102045250B (zh) | Vpls中组播报文的转发方法和服务提供商边缘设备 | |
EP3116196A1 (en) | Secure group communication | |
EP2892196B1 (en) | Method, network node and system for implementing point-to-multipoint multicast | |
CN102143033B (zh) | 一种组播流控制方法和设备 | |
EP2439876B1 (en) | Method and device for requesting multicasting, processing multicasting requests and assisting in the aforementioned process | |
CN102368707B (zh) | 一种组播控制的方法、设备及系统 | |
CN101304328A (zh) | 组播认证的方法、认证设备和组播认证服务器 | |
CN102045239A (zh) | 点到多点伪线保护网络的实现方法及装置 | |
CN103312514B (zh) | 基于单播转发模式的组播接收者接入验证方法 | |
CN105898720B (zh) | 一种短消息的处理方法、装置及系统 | |
CN103780503B (zh) | 一种负载均衡的实现方法和设备 | |
CN102263834A (zh) | 网络设备自动获得IPv6地址的方法、网络设备及系统 | |
CN102905268B (zh) | 一种提高组播安全性的方法 |
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 |