组播报文穿越非组播网络的方法及其应用的网络系统的制作方法

文档序号:7622852阅读:103来源:国知局
专利名称:组播报文穿越非组播网络的方法及其应用的网络系统的制作方法
技术领域
本发明涉及网络与通信的组播领域,尤其涉及一种组播报文穿越非组播网络的方法及应用该方法的网络设备。
背景技术
随着组播业务的日益流行,特别是IPTV(Internet Protocol Television,交互式网络电视)等新兴业务的日益红火,跨区域的组播业务也日渐流行。但是Internet(互联网)发展了几十年,实际的组网存在各种各样的网络,其中也包括不支持组播的非组播网络。
由于组播报文具有不同与单播报文的D类地址,当组播报文通过非组播网络时,组播报文将以广播的形式在该网络范围内到处泛滥,对其中的网络设备造成冲击,造成其中带宽资源的无谓消耗。并且,如果遇到不支持组播路由协议的路由设备,组播报文还不能被正确转发。
在现有技术中,为了使组播报文穿越非组播网络,通常采用以下几种方法改变单播路由表这会涉及到网络拓扑的各个方面,极少被采用;采用静态组播路由表和MBGP(Multiprotocol Border Gateway Protocol,多协议边缘网关协议)路由表这种方法需要在组播报文经过的各台路由设备上作相关的配置,工作量较大,而且必须仔细考虑拓扑结构;此外,只要其中一台路由设备不支持静态组播或者MBGP协议,就不能采用这种方法;采用DVMRP(Distance Vector Multicast Routing Protocol,距离矢量组播路由协议)路由表这种方法需要组播报文经过的路由设备支持DVMRP组播路由协议,不具有通用性;
采用隧道将组播报文在非组播网络的入口重新封装成一个IP报文,在穿过非组播网络后进行拆封再恢复为组播报文,这是现有技术中采用最多的方法。组播数据报文通常承载的是影视流,报文长度通常较大。而在重新封装时还需要增加报文的附加字段,导致组播数据报文超大,当报文的长度超过设备出接口允许的最大传输单元长度时必须将报文分片。这种方法非常容易导致报文的分片,而对于设置了不允许分片的报文则会导致传输失败。

发明内容
本发明要解决的是组播报文穿越非组播网络时依赖于非组播网络中路由设备的功能、或造成组播报文分片的问题。
本发明所述的组播报文穿越非组播网络的方法,组播报文从第一边缘网络设备到达第二边缘网络设备,穿过二者之间的非组播网络,其中边缘网络设备连接组播网络和非组播网络,所述方法包括以下步骤第一边缘网络设备将组播报文中的组播地址映射为单播地址;所述单播地址为第二边缘网络设备的地址;第一边缘网络设备将映射后具有单播地址的报文通过非组播网络转发至第二边缘网络设备;第二边缘网络设备将所述报文中的单播地址逆映射为原来的组播地址。
优选地,所述方法还包括在第一边缘网络设备上设置组播地址与单播地址的映射关系;在第二边缘网络设备上设置单播地址与组播地址的逆映射关系。
优选地,所述方法还包括第一边缘网络设备接收到组播报文后,向第二边缘网络设备发送单播地址分配请求,其中携带组播报文的组播地址;第二边缘网络设备为该组播地址分配单播地址,并将单播地址发送至第一边缘网络设备。
优选地,所述组播报文以第一边缘网络设备与非组播网络连接的接口为出接口;所述单播地址具体为第二边缘网络设备的Loopback环回接口地址。
优选地,所述边缘网络设备为网络层设备;所述接口包括网络层设备的逻辑接口。
优选地,所述组播报文包括组播协议报文和组播数据报文;所述方法还包括第一边缘网络设备修改组播协议报文中的存活时间TTL字段的值,使其不小于在非组播网络中从第一边缘网络设备至第二边缘网络设备所经过的网络层设备数目。
本发明提供的一种网络系统,包括连接组播网络和非组播网络的第一边缘网络设备和第二边缘网络设备,其中非组播网络将所述两个边缘网络设备连接起来,其特征在于第一边缘网络设备用来将组播报文中的组播地址映射为第二边缘网络设备的单播地址后发送;所述组播报文以第一边缘网络设备与非组播网络的接口为出接口;非组播网络用来将地址映射后的报文转发至第二边缘网络设备;第二边缘网络设备用来将所述报文中的单播地址逆映射为原来的组播地址。
本发明还提供了一种网络设备,包括分别连接组播网络和非组播网络的接口,其特征在于,还包括地址映射模块和地址存储模块,其中地址存储模块用来设置并存储组播地址与单播地址的对应关系;地址映射模块用来将以连接非组播网络的接口为出接口的组播报文中的组播地址映射为对应的单播地址,并将其发送至出接口。
优选地,所述网络设备还包括协议地址逆映射模块,用来将以连接非组播网络的接口为入接口的协议报文中的单播地址逆映射为地址存储模块中对应的组播地址。
本发明提供的另一种网络设备,包括分别连接组播网络和非组播网络的接口,其特征在于,还包括地址逆映射模块和地址存储模块,其中地址存储模块用来设置并存储组播地址与单播地址的对应关系;地址逆映射模块用来将以地址存储模块存储的单播地址为入接口的单播报文中的单播地址映射为对应的组播地址,并将其转发至与组播网络连接的接口。
优选地,所述网络设备还包括协议地址映射模块,用来将以连接非组播网络的接口为出接口的组播协议报文中的组播地址映射为地址存储模块中对应的单播地址,并将该协议报文发送至出接口。
本发明中,在通过非组播网络前,将组播报文的组播地址映射为单播地址,在该报文到达非组播网络的出口时,再将单播地址恢复为原来的组播地址,从而使得组播报文在不改变报文长度的条件下可以穿越所有的非组播网络,同时本发明不涉及标准协议和处理流程的修改,实现简单方便,适用于任何类型的网络。


图1为本发明中典型网络系统的结构图;图2为本发明所述组播报文穿越非组播网络的方法的流程图;图3为本发明中第一边缘网络设备的一种示例结构图;图4为本发明中第二边缘网络设备的一种示例结构图。
具体实施例方式
在TCP/IP(Transfer Control Protocol/Internet Protocol,传输控制协议/互联网协议)协议中,将以二进制1110开头的32位IP地址规定为D类地址,专门用于组播业务。在网络中传输的组播协议报文和组播数据报文都具有D类的组播地址。
在图1所示的网络中,组播网络110和130之间为不支持组播的非组播网络120,其中组播网络110与非组播网络120以第一边缘网络设备210连接,组播网络130与非组播网络120以第二边缘网络设备220连接。第一边缘网络设备210和第二边缘网络设备220都支持组播。组播网络110中有一个组播源,而组播网络130中有与该组播源属于同一组播组的节点,则组播网络110发送的组播报文将会由第一边缘网络设备210转发至非组播网络120,试图通过非组播网络120到达第二边缘网络设备,再转发至组播网络130。
组播报文之所以不能直接通过非组播网络120,是因为非组播网络120中的网络设备只能根据单播地址来正确转发报文,而组播地址对其属于未知地址,而报文的内容则不影响转发过程。因而在本发明中,通过为组播报文配置正确的单播地址来使其通过非组播网络120。
任意两个通过非组播网络连接的组播网络都可以简化为图1所示的结构,所以在下文中将以图1所示的网络结构来说明本发明组播报文穿越非组播网络的方法。
图2所示为本发明所述方法的流程图。在步骤S010,为需要通过非组播网络转发的组播报文具有的组播地址配置对应的单播地址。由于组播报文应从第一边缘网络设备到达第二边缘网络设备,因而所配置的单播地址应当是第二边缘网络设备的本地接口地址。
在步骤S020,以第一边缘网络设备与非组播网络连接的接口为出接口的组播报文到达第一边缘网络设备。
在步骤S030,第一边缘网络设备将组播报文中的组播地址映射为对应的单播地址,换言之,第一边缘网络设备将组播地址修改为对应的单播地址。之后,将地址映射后的报文从与非组播网络连接的接口转发。
在通常情况下,第一边缘网络设备和第二边缘网络设备是网络层设备,并且二者之间通过非组播网络中的其他网络层设备连接。在TCP/IP报文的网络层报头中,有TTL(Time To Live,存活时间)字段,其中设置了该报文可以经过的网络层设备数目。报文每经过一个网络层设备,TTL值减1,当TTL值减到0时,该报文被丢弃。
组播报文中包括组播协议报文和组播数据报文,组播数据报文要通过的网络层设备数量相当大,TTL字段基本上都会设置为较大的数值;但有的组播协议报文只在相邻的网络层设备之间传输,其TTL字段通常为1。对于这样的组播协议报文,为了使其能够通过非组播网络,应执行步骤S040,由第一边缘网络设备修改地址映射后组播协议报文的TTL字段,使TTL字段的值不小于通过非组播网络时经过的网络层设备数目。
在步骤S050,地址映射后的报文根据其单播地址在非组播网络中被转发至第二边缘网络设备。如前所述,地址映射后的报文以第二边缘网络设备与非组播网络的接口为入接口,通过非组播网络的转发到达此接口。
在步骤S060,第二边缘网络设备将映射后报文中的单播地址逆映射为原来的组播地址。映射后的报文以第二边缘网络设备与非组播网络的接口为入接口,第二边缘网络设备对从该接口接收的报文进行地址逆映射,即将该报文的单播地址修改为原来的组播地址,此时该报文恢复为组播报文。
在步骤S070,第二边缘网络设备向组播网络转发该组播报文。
至此,该组播报文在不更改报文长度、不对报文进行分片、不修改非组播网络转发处理流程的条件下穿过了非组播网络。
与组播数据报文总是从组播源向接收组播数据的节点传输不同,组播协议报文经常需要在支持组播的网络设备之间传输。也就是说,可能有组播协议报文需要从第二边缘网络设备传输至第一边缘网络设备。其传输方法为在第二边缘网络设备要发送以其与非组播网络连接的接口为出接口的组播协议报文前,先将组播协议报文中的组播地址映射为协议单播地址;同样协议单播地址即为第一边缘网络设备的本地接口地址;第二边缘网络设备修改地址映射后协议报文的TTL字段,使其值不小于转发至第一边缘网络设备所经过的网络层设备的数目,并发送该协议报文;该协议报文通过非组播网络到达第一边缘网络设备;第一边缘网络设备将该协议报文中的协议单播地址逆映射为原来的组播地址。
从上述步骤中可以看出,两个边缘网络设备上组播地址与单播地址的映射关系应当是统一的,步骤S010实际上也是建立两个边缘网络设备上组播地址和单播地址对应关系的过程。在本发明中,推荐采用以下两种方法其一是静态配置分别在两个边缘网络设备上建立反向的映射关系,即在第一边缘网络设备上设置组播地址与单播地址的映射关系,在第二边缘网络设备上设置单播地址与组播地址的逆映射关系;其二是动态配置在第二边缘网络设备上设置动态分配的单播地址池;第一边缘网络设备在进行地址转换前向第二边缘网络设备发送单播地址分配请求,为了同时在第二边缘网络设备上建立单播地址与组播地址的对应关系,在地址分配请求中携带组播地址;第二边缘设备收到请求后为该组播地址分配单播地址池中的可用单播地址,保存该组播地址与分配的单播地址的对应关系,并将单播地址返回至第一边缘网络设备。
单播地址的动态配置可以通过现有的技术实现,如DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)等。
如前所述,单播地址为第二边缘网络设备的本地接口地址。由于通常第二边缘网络设备同时还用来将非组播网络的单播报文进行转发,为了便于第二边缘网络设备对要进行地址逆映射的报文进行识别和处理,可以将单播地址设置为Loopback(环回)接口地址,而令其他的单播报文通过硬件接口地址转发。Loopback接口地址是本地地址中的一种。
对于从第二边缘网络设备发送至第一边缘网络设备的组播协议报文,也可以采用上述两种方法建立单播地址与组播地址的对应关系,不再赘述。
需要说明的是,边缘网络设备与非组播网络的接口是逻辑接口;并且本发明支持所有的组播协议。
在应用上述能够使组播报文穿越非组播网络的方法后,图1所示的网络系统中,第一边缘网络设备接收到以其与非组播网络的连接接口为出接口的组播报文后,将该组播报文中的组播地址映射为第二边缘网络设备的单播地址后发送该报文;非组播网络将该报文转发至第二边缘网络设备;第二边缘网络设备对该报文进行地址逆映射,将该报文中的单播地址恢复为原来的组播地址后发送至组播网络。
图3所示为第一边缘网络设备的一种示例结构,组播网络接口310为第一边缘网络设备与组播网络连接的接口,非组播网络接口330为第一边缘网络设备与非组播网络连接的接口,地址映射模块320和协议地址逆映射模块350分别连接在组播网络接口310和非组播网络接口320之间,并且均与地址存储模块340相连接。
地址存储模块340用来设置和保存组播地址与单播地址的对应关系;地址映射模块320在接收到组播网络接口310传输的组播报文后,将组播报文中的组播地址映射为地址存储模块340中该组播地址对应的单播地址,并且将映射后的报文传输至非组播网络接口330,通过非组播网络接口330发送到非组播网络中。
当从非组播网络接口330接收到组播协议报文时,协议地址逆映射模块350将该协议报文中的单播地址逆映射为地址存储模块340中该单播地址对应的组播地址。
图4所示为第二边缘网络设备的一种示例结构,非组播网络接口410为第二边缘网络设备与非组播网络连接的接口,组播网络接口430为第二边缘网络设备与组播网络连接的接口,地址逆映射模块420和协议地址映射模块450分别连接在非组播网络接口410和组播网络接口430之间,并且均与地址存储模块440相连接。
地址存储模块440用来设置和保存组播地址与单播地址的对应关系;非组播网络接口410将具有地址存储模块440存储的单播地址的报文发送给地址逆映射模块420,地址逆映射模块420将报文中的单播地址逆映射为地址存储模块440中该单播地址对应的组播地址,并且将逆映射后的组播报文传输至组播网络接口430,通过组播网络接口430发送到组播网络中。
对要由非组播网络接口410发送的组播协议报文,协议地址映射模块450将该协议报文中的组播地址映射为地址存储模块440中该组播地址对应的单播地址,并传输至非组播网络接口410发送。
以下为本发明的一个优选实施例,其网络结构请参见图1。在组播网络110中有组播源,其发送的组播节目有两个,分别使用组播地址224.1.1.1和224.1.1.2。网络系统中运行的组播协议的组播地址为224.0.0.13。组播网络130中有接收上述两个组播节目的节点。第一边缘网络设备为网络层设备RTA,第二边缘网络设备为网络层设备RTB。
本发明在边缘网络设备的接口模式下提供二条命令第一条命令用于将指定的一个组播地址映射为指定的单播地址,该单播地址为不支持组播特性网络的另一侧边缘网络设备的一个本地接口地址;并且本条命名还可以设置更改TTL,以使本条命令可以同时用于组播协议报文。其命令行形式如下ip map multicast group-address unicast unicast-address[ttl<ttl>]
其中TTL值为可选项,对于组播数据报文,一般不用修改TTL值;对于组播协议报文,则可根据具体情况修改其TTL值。
第二条命令用于将指定的一个单播地址逆映射为指定的组播地址。其命令行形式如下ip antimap unicast unicast-address multicast group-address在RTB上涉及的组播地址共有三个。RTB需要使用对应的三个单播IP地址,RTA需要使用对应组播协议报文的一个单播IP地址。
在RTA上配置环回接口Loopback1,其IP地址为200.1.1.1/32;在RTB上配置环回接口Looback2,并配置3个IP地址200.2.1.1/32、200.2.1.2/32、200.2.1.3/32。同时在非组播网络120内进行单播路由的设置或运行单播路由协议,保证这些地址在非组播网络120中可达。
在RTA上对以其与非组播网络120连接的接口为出接口的组播报文配置如下映射关系1、224.0.0.13映射到200.2.1.1,并修改TTL,修改的数值可以根据实际网络而定,处理RTA发给RTB的组播协议报文ip map multicast 224.0.0.13 unicast 200.2.1.1 ttl 252、224.1.1.1映射到200.2.1.2,处理其中一个组播节目ip map multicast 224.1.1.1 unicast 200.2.1.23、224.1.1.2映射到200.2.1.3,处理其中另一个组播节目ip map multicast 224.1.1.2 unicast 200.2.1.3在RTA上对以Loopback1为入接口的单播报文配置如下逆映射关系200.1.1.1逆映射到224.0.0.13,以接收来自RTB的组播协议报文ip antimap unicast 200.1.1.1 multicast 224.0.0.13
在RTB上对以Loopback2为入接口的单播报文配置如下逆映射关系1、200.2.1.2逆映射到224.1.1.1,处理收到的其中一个组播节目ip antimap unicast 200.2.1.2 multicast 224.1.1.12、200.2.1.3逆映射到224.1.1.2,处理收到的其中另一个组播节目ip antimap unicast 200.2.1.3 multicast 224.1.1.23、200.1.1.2逆映射到224.0.0.13,以接收来自RTA的组播协议报文ip antimap unicast 200.2.1.1 multicast 224.0.0.13在RTB上对以其与非组播网络120连接的接口为出接口的组播报文配置如下映射关系224.0.0.13映射到200.1.1.1,并修改TTL,具体值可以根据实际网络而定,处理RTB发往RTA的组播协议报文ip map multicast 224.0.0.13 unicast 200.2.1.1 ttl 25于是,组播协议报文在RTA与RTB之间传递时,发送方先将组播地址变为单播地址再发送给对方;接收方则先将单播地址恢复为224.0.0.13的组播地址,再按该协议报文的组播路由协议处理。
RTA将两个组播节目流发送给RTB时,RTA先将组播地址变为单播地址,送达RTB时,RTB再将单播地址转变为对应的组播地址后进行转发。
可见,本发明具有以下优点本发明不涉及标准协议的修改,不需要修改原来的非组播网络的转发处理流程,只需增加组播地址向单播地址,或者单播地址向组播地址的转换即可,实现简单;本发明对用户而言,配置简单明了,不需要有相关复杂协议的知识;由于单播流到处可以运行,所以本发明适用于让组播报文穿越任何类型的非组播网络。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种组播报文穿越非组播网络的方法,组播报文从第一边缘网络设备到达第二边缘网络设备,穿过二者之间的非组播网络,其中边缘网络设备连接组播网络和非组播网络,其特征在于,包括以下步骤第一边缘网络设备将组播报文中的组播地址映射为单播地址;所述单播地址为第二边缘网络设备的地址;第一边缘网络设备将映射后具有单播地址的报文通过非组播网络转发至第二边缘网络设备;第二边缘网络设备将所述报文中的单播地址逆映射为原来的组播地址。
2.按照权利要求1所述组播报文穿越非组播网络的方法,其特征在于,所述方法还包括在第一边缘网络设备上设置组播地址与单播地址的映射关系;在第二边缘网络设备上设置单播地址与组播地址的逆映射关系。
3.按照权利要求1所述组播报文穿越非组播网络的方法,其特征在于,所述方法还包括第一边缘网络设备接收到组播报文后,向第二边缘网络设备发送单播地址分配请求,其中携带组播报文的组播地址;第二边缘网络设备为该组播地址分配单播地址,并将单播地址发送至第一边缘网络设备。
4.按照权利要求2或3所述组播报文穿越非组播网络的方法,其特征在于所述组播报文以第一边缘网络设备与非组播网络连接的接口为出接口;所述单播地址具体为第二边缘网络设备的Loopback环回接口地址。
5.按照权利要求4所述组播报文穿越非组播网络的方法,其特征在于所述边缘网络设备为网络层设备;所述接口包括网络层设备的逻辑接口。
6.按照权利要求5所述组播报文穿越非组播网络的方法,其特征在于所述组播报文包括组播协议报文和组播数据报文;所述方法还包括第一边缘网络设备修改组播协议报文中的存活时间TTL字段的值,使其不小于在非组播网络中从第一边缘网络设备至第二边缘网络设备所经过的网络层设备数目。
7.一种网络系统,包括连接组播网络和非组播网络的第一边缘网络设备和第二边缘网络设备,其中非组播网络将所述两个边缘网络设备连接起来,其特征在于第一边缘网络设备用来将组播报文中的组播地址映射为第二边缘网络设备的单播地址后发送;所述组播报文以第一边缘网络设备与非组播网络的接口为出接口;非组播网络用来将地址映射后的报文转发至第二边缘网络设备;第二边缘网络设备用来将所述报文中的单播地址逆映射为原来的组播地址。
8.一种网络设备,包括分别连接组播网络和非组播网络的接口,其特征在于,还包括地址映射模块和地址存储模块,其中地址存储模块用来设置并存储组播地址与单播地址的对应关系;地址映射模块用来将以连接非组播网络的接口为出接口的组播报文中的组播地址映射为对应的单播地址,并将其发送至出接口。
9.按照权利要求10所述的网络设备,其特征在于所述网络设备还包括协议地址逆映射模块,用来将以连接非组播网络的接口为入接口的协议报文中的单播地址逆映射为地址存储模块中对应的组播地址。
10.一种网络设备,包括分别连接组播网络和非组播网络的接口,其特征在于,还包括地址逆映射模块和地址存储模块,其中地址存储模块用来设置并存储组播地址与单播地址的对应关系;地址逆映射模块用来将以地址存储模块存储的单播地址为入接口的单播报文中的单播地址映射为对应的组播地址,并将其转发至与组播网络连接的接口。
11.按照权利要求10所述的网络设备,其特征在于所述网络设备还包括协议地址映射模块,用来将以连接非组播网络的接口为出接口的组播协议报文中的组播地址映射为地址存储模块中对应的单播地址,并将该协议报文发送至出接口。
全文摘要
本发明公开了一种组播报文穿越非组播网络的方法,包括第一边缘网络设备将组播报文中的组播地址映射为单播地址;所述单播地址为第二边缘网络设备的地址;第一边缘网络设备将映射后具有单播地址的报文通过非组播网络转发至第二边缘网络设备;第二边缘网络设备将所述报文中的单播地址逆映射为原来的组播地址。本发明还公开了一种应用上述方法的网络设备和网络系统。应用本发明后,组播报文在不改变报文长度的条件下可以穿越所有的非组播网络,同时本发明不涉及标准协议和处理流程的修改,实现简单方便,适用于任何类型的网络。
文档编号H04L12/46GK1744574SQ20051009584
公开日2006年3月8日 申请日期2005年9月2日 优先权日2005年9月2日
发明者周迪 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1