虚拟组播域受控认证方法及路由器的参与方法

文档序号:7624539阅读:144来源:国知局
专利名称:虚拟组播域受控认证方法及路由器的参与方法
技术领域
本发明涉及网络通信技术,特别是涉及一种虚拟组播域受控认证方法及路由器的参与方法。
背景技术
传统的互联网应用都是用点对点的IP传输(单播技术),而点对多点的IP传输(广播技术)只限于局域网内部应用,组播技术则在广域网内实现点至多点的IP传输技术。
20世纪80年代,在斯坦福大学的一篇名为《在一种数据报文网络里的组播》的博士论文中描述了组播组管理IGMP协议,成功的把组播技术推进到IP层。关于IP组播技术的探索一直在进行,人们在此基础上完成了独立组播协议(PIM,Protocol Independent Multicast)等组播路由协议,从而将组播协议推向整个互联网。组播路由技术的基本思路是在离接收者最近的地方才复制组播数据,所以可以节省大量重复数据传输时的网络带宽。在今后的宽带互联网应用中,组播技术将成为多媒体数据通信的主要路由协议之一。
目前,比较常用的三层组播路由协议PIM,包括密集模式的组播路由协议(PIM-DM,Protocol Independent Multicast-Dense Mode)和稀疏模式的组播路由协议(PIM-SM,Protocol Independent Multicast-Sparse Mode)两种模式。所述PIM-DM是一种与单播路由选择协议无关的组播路由协议,它不依赖于特定的单播路由协议,是一种密集模式的组播路由协议,比较适合应用于接收站点分布密集的网络。所述PIM-DM路由器通过PIM HELLO报文来发现和维护邻居信息,PIM-DM路由器通过上游主动泛洪建立转发树。
所述PIM-SM是一种与单播路由选择协议无关的组播路由协议,它不依赖于特定的单播路由协议,是一种稀疏模式的组播路由协议,比较适合应用于接收站点分布稀疏的网络,是目前应用最为广泛的组播路由协议。所述PIM-SM使用单播路由表来实现反向路径检查,它通过设置汇聚点路由器和自举路由器来向所有PIM-SM路由器通告汇聚点集合的信息;PIM-SM路由器通过显式的发送加入/剪枝信息建立起基于汇聚点的共享树,组播数据沿着共享树流到加入到该组播组的网段。
但无论是PIM-DM还是PIM-SM,都通过握手(PIM HELLO)报文来发现和维护邻居信息,只要邻居信息合法,其它后续的报文都认为是合法的,即没有一个较好的受控认证机制;只要支持PIM协议的攻击者和组播域中的PIM路由器建立起PIM邻居,都可以对组播域中的PIM路由器发起攻击,包括非法接收组播流、欺骗上游路由器进行剪枝等等。
然而,现有的受控认证机制主要是利用接入控制列表(ACL,AccessControl List)的过滤来对PIM邻居进行限制。所述接入控制列表为进行网络流量高级控制提供过滤功能,使管理员可以根据应用程序类型、协议、IP地址、MAC地址等来转发、阻止或重定向数据包。其实现过程为对于一个组播域中的PIM路由器接口,设置PIM邻居相关的ACL过滤规则来进行PIM邻居过滤。所述ACL过滤规则由管理员配置基于接口的过滤列表,对源地址IP进行过滤。因此,管理员要为每一个PIM路由器接口手工配置过滤列表,但是在PIM路由器比较多的情况下,对于每台PIM路由器的ACL都需要用户手工配置,其工作量较大,且改动时比较麻烦,也不便于管理和维护。

发明内容
本发明解决的技术问题是提供一种虚拟组播域受控认证方法及路由器的参与方法,以解决现有技术中由于无法控制组播数据的流向而使组播网络的PIM路由器受到外界非法组播流攻击的技术问题。
为解决上述问题,本发明提供一种路由器参与虚拟组播域受控认证方法,包括步骤A、向相邻路由器发送携带虚拟组播域标识符的握手报文;B、接收其他路由器发送的握手报文,并判断该报文所携带的虚拟组播域标识符是否属于本域,如是,则处理该握手报文,建立邻居关系;若不是,则不建立邻居关系。
所述握手报文为PIM HELLO报文,所述虚拟组播域标识符设于PIMHELLO报文的附加选项中。
所述附加选项的内容还包括类型和长度。
所述路由器属于至少两个虚拟组播域,其发送的握手报文中至少携带两个虚拟组播域标识符。
所述方法还包括步骤C、所述PIM路由器删除握手报文中的虚拟组播域标识符,并再次发送以离开其所属的虚拟组播域。
另外,本发明还提供一种虚拟组播域受控认证方法,包括步骤A、将组播域划分为多个虚拟组播域,每一虚拟组播域均有相应的虚拟组播域标识符;B、上游PIM路由器接收下游PIM路由器发送的PIM HELLO报文,获取所述PIM HELLO报文中携带下游PIM路由器所加入虚拟组播域的虚拟组播域标识符;C、判断所获取的虚拟组播域标识符与该上游PIM路由器的虚拟组播域标识符是否相同,若相同,则所述下游PIM路由器属于该受控的虚拟组播域。
所述PIM HELLO报文的附加选项中包括虚拟组播域标识符。
当PIM路由器加入到至少两个虚拟组播域时,所述PIM路由器发出的PIM HELLO报文的附加选项中包括至少两个虚拟组播域标识符。
根据组播的虚拟域,将多台PIM路由器划分到一个组播域中,形成虚拟组播域;所述虚拟组播域标识符是用于区分不同的虚拟组播域。
与现有技术相比,本发明具有以下有益效果管理员根据网络拓扑将组播域划分成多个虚拟组播域;并将指定的下游PIM路由器加入到指定的虚拟组播域中,且所述下游PIM路由器周期性发送带有附加选项的虚拟组播域标识符的PIM HELLO报文;当上游PIM路由器收到下游PIM路由器发送的PIMHELLO报文时,通过判断所述PIM HELLO报文的合法性,来检测所述下游PIM路由器是否属于该控制虚拟组播域,若是,则将组播流从上游PIM路由器流向下游PIM路由器。否则,不对所述PIM HELLO报文进行处理。由此可见,本发明所述方案较好地解决了组播网络中PIM路由器受到外界非法攻击的问题,屏蔽了非虚拟组播域中的PIM路由器信息,较好的控制了PIM路由器的权限及组播流的流向;同时,PIM路由器可以动态的加入或离开虚拟组播域,便于集中管理和维护。另外,也解决了组播网络中PIM路由器的组播流处理权限的问题,有效地控制组播流向及下游PIM路由器的接收权限,同时加强对PIM路由器节点的安全认证。并且,可以动态地改变PIM路由器的访问权限,便于集中管理和维护。


图1是本发明所述路由器参与虚拟组播域受控认证方法的流程图;图2是本发明所述路由器参与虚拟组播域受控认证方法的一实施例;图3是本发明所述虚拟组播域受控认证方法的流程图。
具体实施例方式
本发明的核心是管理者根据网络拓扑将组播域划分为多个虚拟组播域,并为每一个虚拟组播域分配全局唯一的虚拟组播标识符;将指定的下游PIM路由器加入指定的虚拟组播域中,且所述下游PIM路由器周期性发送带有附加选项的虚拟组播域标识符的PIM HELLO报文;当上游PIM路由器收到PIMHELLO报文时,通过判断PIM HELLO报文的合法性,来检测所加入的下游PIM路由器是否属于该上游PIM路由器所在的虚拟组播域。并根据判断结果对所述下游PIM路由器进行相应的认证和管理。通过本发明所述方案,可以较好的解决组播网络中PIM路由器受到外界非法攻击的问题,通过判断PIMHELLO报文中携带的附加选项的虚拟组播标识与本身的标识是否相同,可以屏蔽虚拟组播域中的非法的PIM路由器信息,较好的控制了PIM路由器的权限及组播流的流向。同时,PIM路由器可以动态的加入或离开虚拟组播域,便于集中管理和维护。
下面结合附图,对本发明做进一步的说明。
请参阅图1,为本发明所述路由器参与虚拟组播域受控认证方法的流程图。所述方法包括步骤步骤S10向相邻路由器发送携带虚拟组播域标识符的握手报文;步骤S11接收其他路由器发送的握手报文,并判断该报文所携带的虚拟组播域标识符是否属于本域;步骤S12如是,则处理该握手报文,建立邻居关系;步骤S13若不是,则不建立邻居关系。
在介绍本发明之前,请先参考下述几个概念虚拟组播域、虚拟组播域标识符、PIM HELLO选项和PIM HELLO报文。
所述虚拟组播域是管理员人为划分定义的一个针对组播的虚拟域,将多台组播PIM路由器划分到一个虚拟组播域中;比如虚拟组播域可以用Domain1、Domain2等等来表示;所述虚拟组播域标识符是唯一标识每一个虚拟组播域的标识符,用来区分每个不同的虚拟组播域,如果一个虚拟组播域用Domain1或Domain2来表示,则虚拟组播域标识符则为1或2。
所述PIM HELLO选项是指附加在PIM HELLO报文中,且用来标识PIM路由器相关信息的选项,一个PIM HELLO报文中可能带有多个不同的附加选项,其中所述附加选项的格式如下所示0 1230 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 类型字段(Type) | 长度(Length) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 虚拟组播域标识符(Value ID) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-所述附加选项的内容至少包括类定、长度和虚拟组播域标识符。
所述PIM HELLO报文指PIM路由器使能PIM功能后周期性发出的握手报文,用来发现和维护邻居信息。也就是说,PIM路由器收到PIM HELLO报文后,取出该报文中的源地址,即该PIM HELLO的发送者的IP地址,PIM路由器在本设备的邻居列表中查找该发送者的IP地址是否存在,如果存在说明已经学习到该邻居;如果没有,则将该IP地址加入到邻居列表中。
在标准的组播中,接收者(比如下游PIM路由器)可以任意的加入组播组,也就是说,组播树的分枝是不可控的,组播源并不了解组播树的范围与方向,安全性较低,即不能有效的阻止非法的PIM路由器信息。也就是说,在组播流进入组播网络之前,组播业务控制设备应负责区分非法的PIM路由器,转发合法的组播流信息,阻断非法的组播流信息。特别是随着组播网络规模的扩大,手工配信息源的管理信息的工作将变得非常的复杂,阻碍网络的发展。因此,为了屏蔽虚拟组播域中的非法的PIM路由器信息,较好的控制了PIM路由器的权限及组播流的流向。本发明所先将组播域划分为多个虚拟组播域,再将指定的PIM路由器加入指定的虚拟组播域,通过检测组播域信息,来控制组播树的范围与方向,即控制PIM路由器的权限及组播流的流向。其具体的实现过程为管理员先根据网络拓扑将组播域划分成多个虚拟组播域;并为每一个虚拟组播域分配全局唯一的虚拟组播域标识符。所述划分组播域,这是由管理员自己定义的,可以根据具体情况进行划分。即管理员可以根据核心设备建立的拓扑结构为基础,挑选出自己认定合法的节点设备,根据这些节点设备将网络划分成多个不同的虚拟组播域。所述拓扑中存放节点设备的成员的相关信息(如成员ID、IP地址、配置文件路径等)。需要说明的是,在标准拓扑中存放的信息并不是固定的,这里只是举例说明。这些信息是管理员可以任意的配置,也可以是设备厂商自定义的。所述分配全局唯一的组播虚拟标识符也是由管理员来分配的,使人为规定的,只要组播域中各个虚拟组播域标识符不相同即可。比如,管理员将组播域划分为两个不同的虚拟组播域,即Domain1和Domain2,其虚拟组播域标识符分别为1和2。
管理员通过用户界面指定的命令设置将指定的下游PIM路由器加入指定的虚拟组播域。所述下游PIM可路由器一旦加入虚拟组播域,则将发送带有附加选项的PIM HELLO报文。所述附加选项中至少包括虚拟组播域标识符、类型和长度等,且所述虚拟组播域标识符是本下游PIM路由器所在虚拟组播域的标识符。而所述PIM HELLO报文是周期性发出的,一般的周期为35秒,但并不限于该周期。在发送PIM HELLO报文前,需先获得下游PIM路由器所属的虚拟组播域标识,并将其加到发送的PIM HELLO报文中。另外,一台下游PIM路由器可以加入到多个不同的虚拟组播域中,其发送的PIM HELLO报文则携带多个附加项。即附加PIM路由器所属所有的虚拟组播域标识符,表示该PIM路由器已经加入了多个不同的虚拟组播域。
还请参考图2,为本发明所述路由器参与虚拟组播域受控认证方法的一实施例。如图2所示,PIM路由器R1、R2、R3、R4和R5都在一个组播网络中,S是组播源,管理员将组播域划分为两个虚拟组播域Domain1和Domain2,所述PIM路由器R1和R2在Domain1中;所述PIM路由器R3和R4在Domain2中;而R5是一个非法的组播PIM路由器,它不在任何虚拟组播域中。
如果将PIM路由器R2加入到虚拟组播域Domain1中,且所述类型字段为65001,则所述PIM路由器R2发出的PIM HELLO报文中所带的附加选项如下所示,即类型字段为65001、长度为4个字节以及虚拟组播标识符为1。其中,所述类型字段可用65001-65535中的任一类型,可由管理员任意约定。
0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|65001|4 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 1|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+PIM路由器R1只能与Domain1中的PIM路由器R2建立邻居关系,因为二者属于同一虚拟组播域。也就是说,对于虚拟组播域Domain1中PIM路由器R1来说,加入PIM路由器R2是合法的;但是,对于加入Domain2的PIM路由器R3或R4来说,所述PIM路由器R3和R4对于Domain1来说都是非法的PIM路由器。同样,所述PIM路由器R3和R4对于Domain2来说是合法的,但对于Domain1的PIM路由器R1和R2来说,都是非法PIM路由器。而PIM路由器R5即不属于Domain1,也不属于Domain2,因此,所述PIM路由器R5对于Domain1和Domain2来,是非法的PIM路由器。
另外,如果将PIM路由器R2既加入到虚拟组播域Domain1中,也加入到虚拟组播域Domain2中,则PIM路由器R2所发出的PIM HELLO报文中所携带的附加选项至少包括加入两个虚拟组播域的虚拟组播标识符,其具体的附加选项的格式如下所示0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 65001|4 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|1 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 65001 | 4 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 2 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+也就是说,所述PIM路由器R2既能与Domain1中的其它PIM路由器(比如R1)建立邻居关系,也能与Domain2中的其它PIM路由器(比如R3或R4)建立邻居关系,因此,对于虚拟组播域Domain1和Domain2中的所有PIM路由器来说,R2是合法的。而对于不属于虚拟组播域Domain1和Domain2的R5来说是非法的。
上游PIM路由器接收到下游PIM路由器发送的PIM HELLO报文,通过判断所述PIM HELLO报文的合法性,来检测所述下游PIM路由器是否属于该虚拟组播域中的受控PIM路由器。首先,当上游PIM路由器收到下游发送的PIM HELLO报文后,取出其附加选项中的虚拟组播域标识符信息,即从PIM HELLO报文中的附加选项中,找出虚拟组播域的类型字段,然后取出其中的值;也就是说,上游PIM路由器从所述PIM HELLO报文中获取下游PIM路由器所属虚拟组播域标识符,并将其与自身所属的虚拟组播域标识符相比较;如果上游PIM路由器自身所属的虚拟组播域标识符与收到的PIMHELLO报文选项中所带的虚拟组播域标识符相符,则所述下游PIM路由器所发送的PIM HELLO是合法的,即下游PIM路由器对于该虚拟组播域来说是合法的,则,所述上游PIM路由器将组播流发送给所述下游PIM路由器进行处理;否则,如果所述二者的虚拟组播标识符不相同,则认为所述下游PIM路由器所发送的PIM HELLO是非法的,则对所述组播报文流不进行处理。
下面还以图2为例,为例便于描述,分别下述将PIM路由器R2、R3和R5简称为R2、R3和R5。如果R2收到R3发送的PIM HLLO文,R3的PIMHELLO附加选项中带有所属虚拟组播域1和2的信息,即带有虚拟组播域1和2的虚拟组播标识符。因此对于R2来说,R3是合法的,则组播流从R2流向R3。而如果R2收到R5发送的PIM HELLO报文,由于R5不属于任何虚拟组播域,所以R5的PIM HELLO报文中不带有任何虚拟组播域的附加选项,因此,R2不处理R5所发送的PIM HELLO报文的信息,即R5不会收到R2发送的组播流。
由此可见,在本发明所述的方案中,所述PIM路由器可以动态的加入或离开虚拟组播域,这是根据管理员的指令来实施的。如果PIM路由器离开虚拟组播域,则周期性发出的PIM HELLO报文中的附加选项中将不再带有本虚拟组播域的标识符信息,则该虚拟组播域中其它的PIM路由器在接收到所述离开PIM路由器发送的PIM HELLO报文时,通过检测该报文中的选项字段,如果检测不到与本身相同的虚拟域标识符,说明该PIM路由器已不属于该虚拟组播域了。因此,动态的加入或离开虚拟组播域,可以让管理员方便的管理和维护组播网络。
如果将下游PIM路由器加入该虚拟组播域,但是如果由于网络阻塞、网络故障等事件的发生,上游PIM路由器在一定的周期内没有接收到下游PIM路由器发送的PIM HELLO报文,则不对PIM路由器发送的PIM HELLO报文进行处理。
上述方案较好地解决了组播网络中PIM路由器受到外界非法攻击的问题,屏蔽了非虚拟组播域中的PIM路由器信息,较好的控制了PIM路由器的权限及组播流的流向;同时,PIM路由器可以动态的加入或离开虚拟组播域,便于集中管理和维护。另外,也解决了组播网络中PIM路由器的组播流处理权限的问题,有效地控制组播流向及下游PIM路由器的接收权限,同时加强对PIM路由器节点的安全认证。并且,可以动态地改变PIM路由器的访问权限,便于集中管理和维护。
另外,本发明还提供一种虚拟组播域受控认证方法,其流程图详见图3。
所述方法包括步骤步骤M10将组播域划分为多个虚拟组播域,每一虚拟组播域均有相应虚拟组播域标识符;
步骤M11上游PIM路由器接收下游PIM路由器发送的PIM HELLO报文,获取所述PIM HELLO报文中携带下游PIM路由器所加入虚拟组播域的虚拟组播域标识符;步骤M12判断所获取的虚拟组播域标识符与该上游PIM路由器的虚拟组播域标识符是否相同,若相同,则所述下游PIM路由器属于该受控的虚拟组播域。
所述PIM HELLO报文的附加选项中包括虚拟组播域标识符。
当PIM路由器加入至少两个虚拟组播域时,所述PIM路由器发出的PIMHELLO报文的附加选项中包括至少两个虚拟组播域标识符。
根据组播的虚拟域,将多台PIM路由器划分到一个组播域中,形成虚拟组播域;所述虚拟组播域标识符是用于区分不同的虚拟组播域。
上述各步骤的具体实现可参照前面所述方法的实现过程,在此不再赘述。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种路由器参与虚拟组播域受控认证方法,其特征在于,包括A、向相邻路由器发送携带虚拟组播域标识符的握手报文;B、接收其他路由器发送的握手报文,并判断该报文所携带的虚拟组播域标识符是否属于本域,如是,则处理该握手报文,建立邻居关系;若不是,则不建立邻居关系。
2.根据权利要求1所述路由器参与虚拟组播域受控认证方法,其特征在于,所述握手报文为PIM HELLO报文,所述虚拟组播域标识符设于PIMHELLO报文的附加选项中。
3.根据权利要求2所述路由器参与虚拟组播域受控认证方法,其特征在于,所述附加选项的内容还包括类型和长度。
4.根据权利要求1所述路由器参与虚拟组播域受控认证方法,其特征在于,所述路由器属于至少两个虚拟组播域,其发送的握手报文中至少携带两个虚拟组播域标识符。
5.根据权利要求1所述路由器参与虚拟组播域受控认证方法,其特征在于,所述方法还包括步骤C、所述PIM路由器删除握手报文中的虚拟组播域标识符符,并再次发送以离开其所属的虚拟组播域。
6.一种虚拟组播域受控认证方法,其特征在于,包括步骤A、将组播域划分为多个虚拟组播域,每一虚拟组播域均有相应的虚拟组播域标识符;B、上游PIM路由器接收下游PIM路由器发送的PIM HELLO报文,获取所述PIM HELLO报文中携带下游PIM路由器所加入虚拟组播域的虚拟组播域标识符;C、判断所获取的虚拟组播域标识符与该上游PIM路由器的虚拟组播域标识符是否相同,若相同,则所述下游PIM路由器属于该受控的虚拟组播域。
7.根据权利要求6所述路由器参与虚拟组播域受控认证方法,其特征在于,所述PIM HELLO报文的附加选项中包括虚拟组播域标识符。
8.根据权利要求7所述路由器参与虚拟组播域受控认证方法,其特征在于,当PIM路由器加入到至少两个虚拟组播域时,所述PIM路由器发出的PIMHELLO报文的附加选项中包括至少两个虚拟组播域标识符。
9.根据权利要求5所述路由器参与虚拟组播域受控认证方法,其特征在于,根据组播的虚拟域,将多台PIM路由器划分到一个组播域中,形成虚拟组播域;所述虚拟组播域标识符是用于区分不同的虚拟组播域。
全文摘要
本发明涉及一种路由器参与虚拟组播域受控认证方法,包括A、向相邻路由器发送携带虚拟组播域标识的握手报文;B、接收其他路由器发送的握手报文,并判断该报文所携带的虚拟组播域标识是否属于本域,如是,则处理该握手报文,建立邻居关系;若不是,则不建立邻居关系。本发明以解决现有技术中由于无法控制组播数据的流向而使组播网络的PIM路由器受到外界非法组播流攻击的技术问题。同时,也解决了组播网络中PIM路由器的组播流处理权限的问题,有效地控制下游PIM路由器的接收权限,并且可以动态地改变PIM路由器的访问权限,便于集中管理和维护。
文档编号H04L12/56GK1764188SQ20051010585
公开日2006年4月26日 申请日期2005年9月23日 优先权日2005年9月23日
发明者孙广新 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1