一种支持非单一vlan的组播实现方法及装置的制作方法

文档序号:7921159阅读:130来源:国知局
专利名称:一种支持非单一vlan的组播实现方法及装置的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种支持非单一 VLAN(Virtual Local Area Network,虚拟局域网)的组播实现方法及装置。
背景技术
一、单播、广播、组播单播方式是一种点到点的传输方式,以单播方式进行信息传输时,对每个需求该信息的用户都需要单独建立一个数据传送通路,并为该用户发送一份独立的拷贝信息。任意两点之间的通信不会干扰网内其他通信点(共享信道争夺情况除外)。与单播方式不同,广播方式是一种点到所有点的传输方式,以广播方式进行的信息传输,网络中的所有用户不论是否需要,都会接收到广播来的信息。这样无疑会增加对广播信息不感兴趣的用户的处理负荷。广播的传输方式在信息保密性、有偿性等方面表现较差,另如果网络中需求该信息的用户很小时,网络资源利用率会很低,严重浪费带宽,也可能由于路由回环引起严重的广播风暴。从单播和广播的信息传输特点来看,单播方式适合用户较少的网络,广播方式则适合用户稠密的网络。而当网络中需求某信息的用户量不确定时,这两种方式的效率就显得比较低了,也即传统的单播和广播方式都不能有效地解决单点发送多点接收的问题。组播技术应运而生,它能够有效地解决这个问题,实现IP网络中点到多点的高效数据传送。组播是一种点到多点的传输方式,当网络中的某些用户需要特定信息时,组播源仅发送一次信息(该信息中的目的地址为组播地址),则这个组播组中的所有接收用户都能接收到同样的信息拷贝,网络上不在该组播组中的其他用户则接收不到。与传统的单播和广播方式相比,组播的优点显而易见,首先,不论接收者有多少,相同的组播数据流在每一条链路上最多仅有一份,用户数量的增加不会显著增加网络的负载。其次,组播数据流仅会发送到要求数据的接收者,合理的利用了带宽。单播和广播其实也可以理解为组播的特殊形式,即当网络中仅一个用户或所有用户都请求相同的信息时。随着互联网迅猛发展,各种新兴业务层出不穷,组播的重要性日益凸显。人们可以充分地利用网络的组播特性来提供各种各样的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等等。二、二层组播、三层组播IGMP Snooping是 Internet Group Management Protocol Snooping (互联网组管理协议窥探)的简称,它是运行在二层设备上的组播约束机制,用于管理和控制组播组。运行IGMP Snooping的二层设备通过对收到的IGMP报文进行分析,为端口和 MAC (Medium/Media Access Control,介质访问控制)组播地址建立起映射关系,并根据这样的映射关系转发组播数据。当二层设备没有运行IGMPSnooping时,组播数据在二层被广播;当二层设备运行了 IGMP Snooping后,已知组播组的组播数据不会在二层被广播,而在二层被组播给指定的接收者。
IGMP Snooping和IGMP(互联网组管理协议)协议一样,两者都用于组播组的管理和控制,它们都使用IGMP报文。IGMP协议运行在网络层,即三层,而IGMP Snooping则运行在链路层,即二层,当二层以太网交换机收到主机和路由器之间传递的IGMP报文时,IGMP Snooping分析IGMP报文所带的信息,在二层建立和维护MAC表,以后从路由器下发的组播报文就根据MAC表进行转发。IGMP Snooping只有在收到某一端口的IGMP离开报文或者某一端口的老化时间定时器超时的时候才会主动向端口发IGMP特定组查询报文,除此之外, 它不会向端口发任何IGMP报文。通常,我们习惯上把运行在链路层上的组播Sn00ping(窥探)称为二层组播, 组播 snooping 是对 IGMP, MLD(Multicast Listener Discover,组播侦听发现协议)、 PIM(Protocol Independent Multicast,协议无关组播)、PIMv6等四种组播协议的 snooping的统称;把运行在网络层上的组播协议(包括以上四种组播协议)称为三层组播。三、supervlansupervlan 又称为 VLAN 聚合(VLAN Aggregation),是一种节省 VLAN 接口及 IP 地址的三层VLAN技术,其原理是一个supervlan包含多个子VLAN,每个子VLAN是一个广播域,不同子VLAN之间二层相互隔离。supervlan配置三层接口,子VLAN不能配置三层接口。 当子VLAN内的用户需要进行三层通信时,将使用supervlan三层接口的IP地址作为网关地址,这样多个子VLAN共用一个IP网段,从而节省了 IP地址资源。supervlan没有自己的成员端口,端口都是指定在子VLAN中。子VLAN作为 supervlan的成员,并没有自己的IP地址,而是使用supervlan的IP地址作为自己的路由接口地址。supervlan可以实现同一个VLAN内的端口间的隔离,实质上不同的子VLAN仍保留各自独立的广播域,而一个或多个子VLAN同属于一个supervlan,并且都使用supervlan 的接口地址为默认网关IP地址。一旦我们使用VLAN聚合功能,就允许客户端在同一子网里使用不同的广播域,但是这些客户端使用的还是同一个路由接口,从而达到增强IP地址利用率的目的。四、supervlan 下的组播组播Snooping 支持二层 VLAN (Virtual Local Area Network,虚拟局域网) 和VPLS(VirtuaPrivateLar^ervice,虚拟专用局域网业务)环境,目前业界暂无组播 Snooping支持supervlan环境的标准。supervlan是个三层接口,三层接口是指需要配置IP地址的,供三层协议使用的接口。三层组播把流量推送到三层supervlan接口后,如果没有Snooping支持,只能在所有子VLAN以广播方式发送组播流量,这就大大降低了带宽利用率,同时缺少安全性,因而尚无厂商支持supervlan 口的组播业务。如果存在Snooping支持,组播数据流仅会发送到要求数据的接收者,没有接收者时,三层组播不再把流量推送到三层supervlan接口。综上所述,现有技术中缺乏一种有效的支持supervlan等非单一 VLAN的组播实现方法。

发明内容
4
本发明提供一种支持非单一 VLAN的组播实现方法及装置,以解决现有技术中缺少支持非单一 VLAN的组播实现方案的问题。本发明提供一种支持非单一 VLAN的组播实现方法,包括将组播协议运行于网络层,将组播snooping运行于链路层;创建由两个以上的VLAN封装或聚合而成的三层接口 ;将组播数据流量通过所述三层接口下发到组播数据接收者对应的二层VLAN,再通过所述二层VLAN下发到组播数据接收者对应的物理口。进一步地,所述三层接口为supervlan接口,或VLAN range子接口,或VLAN QinQ range 子接口。进一步地,所述网络层(即三层组播)负责和上游的协议交互并把组播数据流量引到接收上游组播数据流量的三层接口,所述链路层(即二层组播)负责下游用户管理及指定用户对应的VLAN和物理口。更进一步地,所述网络层还负责定时向所述由两个以上的VLAN封装或聚合而成的三层接口的下游设备发送通用查询报文。进一步地,组播数据流量是通过采用整合表项转发或二级查表转发的方式被发送到组播数据接收者的。本发明还提供了一种支持非单一 VLAN的组播实现装置,包括协议运行模块,用于将组播协议运行于网络层,将组播snooping运行于链路层;三层接口创建模块,用于创建由两个以上的VLAN封装或聚合而成的三层接口 ;流量下发模块,用于将组播数据流量通过所述三层接口下发到组播数据接收者对应的二层VLAN,再通过所述二层VLAN下发到组播数据接收者对应的物理口。进一步地,所述三层接口为supervlan接口,或VLAN range子接口,或VLAN QinQ range 子接口。本发明有益效果如下通过采用本发明提供的组播实现方法及装置,解决了现有技术中组播方法不支持在supervlan等非单一 VLAN环境中进行组播的问题,能够在supervlan接口、VLAN range 子接口、VLAN QinQ range子接口等非单一 VLAN环境中,通过将组播数据流量经由网络层创建的三层接口下发到组播数据接收者对应的二层VLAN和物理口,实现将组播数据流量组播到接收者。采用本发明提供的组播方案,不仅解决了针对非单一 VLAN环境的组播实现问题,而且具有带宽利用率高,通信数据安全等优点。


图1是本发明支持非单一 VLAN的组播实现方法流程示意图;图2作为一个具体实施例的本发明方法总体流程示意图;图3是本发明实施例的组网配置及二、三层组播职能划分示意图;图4是本发明实施例的流量转发基本步骤示意图;图5是本发明实施例的整合表项转发示意图;图6是本发明实施例的二级查表转发示意图;图7是本发明实施例的发送查询报文示意5
图8是本发明实施例的接收加入报文、离开报文示意图;图9是本发明实施例的发送特定查询报文示意图;图10是本发明实施例的通知三层组播添加、删除指向supervlan的三层路由示意图;图11是本发明支持非单一 VLAN的组播实现装置结构示意图。
具体实施例方式以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。方法实施例根据本发明的实施例,提供了一种支持非单一 VLAN的组播实现方法,图1是本发明支持非单一 VLAN的组播实现方法的流程示意图,如图1所示,本发明支持非单一 VLAN的组播实现方法,包括如下处理步骤101,将组播协议运行于网络层,将组播snooping运行于链路层;步骤102,创建由两个以上的VLAN封装或聚合而成的三层接口 ;步骤103,将组播数据流量通过步骤102创建的三层接口下发到组播数据接收者对应的二层VLAN,再通过该二层VLAN下发到组播数据接收者对应的物理口。其中,步骤102创建的三层接口可以为supervlan接口,也可以为VLANrange子接口,还可以为VLAN QinQ range子接口,当然,该三层接口可以为由两个以上的VLAN封装或聚合而成的任一种三层接口。下面具体以supervlan接口为例,对本发明支持非单一 VLAN 的组播实现方法做进一步详细说明。图2作为一个具体实施例的本发明方法总体流程示意图,如图2所示,本发明实施例中,三层组播负责和上游的协议交互并把流量引到上联的三层口,即接收上游组播数据流量的三层接口,二层组播负责下游用户管理及指定用户对应的VLAN和物理口,转发面 (即驱动或微码)按照二层组播和三层组播下发的表项进行组播数据流量的转发。具体地, 三层组播负责执行如下处理和上游的协议交互并把组播数据流量引到接收上游组播数据流量的三层接口,创建路由转发表项出接口为supervlan接口,以及向supervlan接口下的下游设备发送通用查询协议报文。二层组播负责执行如下处理二层组播snooping负责处理supervlan接口下的下游设备的加入、离开协议报文,负责发送特定查询协议报文; 二层组播snooping通知三层组播supervlan接口下的下游设备是否存在用户。图2中, 设备指三层设备,为三层交换机或者三层路由器,"*L3"指三层组播模块,指三层组播指向supervlan接口的组播路由转发条目,“*1”指二层组播指向supervlan接口下的指定 VLANl、物理口 1的组播转发条目。本发明实施例中,采用整合表项转发或二级查表转发的方式将组播数据流量发送到组播数据接收者。本发明方法运行于三层设备,包括三层交换机或三层路由器。图3是本发明实施例的组网配置及二、三层组播职能划分示意图,如图3所示,本发明实施例的组网配置包括1)通过物理口 9连接上游设备;
2)在物理口 9上启用三层接口供三层组播使用,如三层VLAN9 口,三层VLAN9 口是收流量的接口,即接收上游组播数据流量;3)创建三层接口 supervlanl,三层supervlan是出流量的接口,即将三层VLAN9 口接收的组播数据流量下发到二层VLAN,三层VLAN9 口和三层supervlan接口一起供三层组播使用;4) 二层 VLAN1、二层 VLAN 2、二层 VLAN 3 均绑定到 supervlanl ;5)物理口 1-3绑定到二层VLANl,物理口 4_6绑定到二层VLAN2,物理口 6_7绑定到二层VLAN3,其中物理口 6同时绑定到二层VLAN 2、二层VLAN3 ;6)物理口 1-7连接下游设备。如图3所示,本发明实施例中,二层组播和三层组播职能划分如下1)三层组播负责和上游的协议交互并把流量引到上联的三层口,即VLAN9 口 ;2)三层组播创建路由转发表项出接口为supervlan接口 ;3)三层组播负责向supervlan接口下的下游设备发送通用查询协议报文;4) 二层组播通知三层组播supervlan接口下的下游设备是否存在用户;5) 二层组播负责处理supervlan接口下的下游设备的加入、离开协议报文,并负责发送特定查询协议报文。图4是本发明实施例的流量转发基本步骤示意图,如图所示,本发明实施例中,组播数据流量的转发包括如下步骤步骤401,开始;步骤402,流量自上游发送到物理口 9 ;步骤403,查询三层组播路由表后找到出接口 supervlanl ;步骤404,只向supervlanl所绑定的需要转发流量的VLAN下发流量,VLAN再向其绑定的需要转发流量的物理口下发流量;这种以组播形式向下游设备转发流量的方法节省了带宽资源、降低了设备负荷;步骤405,结束。图5是本发明实施例的整合表项转发示意图,如图5所示,本发明实施例中,整合表项转发方式包括如下步骤
1)把二层组播、三层组播表项整合,整合后生成一张转发表项直接写芯片;2)驱动转发时,通过查整合表项直接找到三层supervlan接口、确定的VLAN和物理口 ;确定的VLAN和物理口即需要下发流量的VLAN和物理口,也即组播数据接收者对应的 VLAN和物理口。相对二级查表转发,采用整合表项转发方式硬件转发效率高。图6是本发明实施例的二级查表转发示意图,如图6所示,本发明实施例中,二级查表转发方式包括如下步骤1) 二层组播、三层组播把各自表项独立写驱动;2)驱动转发时先查三层组播转发表找到三层supervlan接口,再查二层组播转发表找到确定的VLAN、物理口,即需要下发流量的VLAN、物理口,也即组播数据接收者对应的 VLAN和物理口。二级查表转发不需要三层组播和二层组播表项整合,相对整合表项转发,采用二
7CN 102340450 A
说明书
6/7页
级查表转发方式实现简单、设备稳定性高。图7是本发明实施例的发送通用查询报文示意图,如图7所示,本发明实施例中, 发送通用查询报文包括如下步骤1)三层组播在supervlanl接口开启查询器,定时发送通用查询报文;2)向supervlanl接口的所有VLAN及物理口复制发送一份通用查询报文;3)以广播形式向下游设备发送通用查询报文。图8是本发明实施例的接收加入报文、离开报文示意图,如图8所示,本发明实施例中,接收加入报文、离开报文包括如下步骤1)本发明实施例中,二层组播不支持接收查询报文,不支持配置静态路由端口,所以收到加入报文、离开报文后不需要向上游路由端口转发;2)生成、更新或删除二层组播转发条目。图9是本发明实施例的发送特定查询报文示意图,如图9所示,本发明实施例中, 发送特定查询报文包括如下步骤1) 二层组播在supervlan接口下的确定VLAN、确定物理接口收到离开报文,根据当前是否开启快速离开功能,分别处理;2)当未配置快速离开时,会发送特定查询报文,避免当同VLAN、同物理接口下存在其他下游设备时,流量可能中断一个通用查询周期的问题;3)当配置快速离开时,直接删除二层组播转发条目。图10是本发明实施例的通知三层组播添加、删除指向supervlan的三层路由示意图,如图10所示,本发明实施例中,通知三层组播添加、删除指向supervlan的三层路由包括如下步骤步骤1001,收到加入报文后,生成二层组播转发条目1 ;步骤1002,如果是同组、同源、同supervlan接口下的第一个成员添加,通知三层组播添加指向supervlan的三层路由条目s ;步骤1003,收到加入报文后,更新二层组播转发条目1 ;同组、同源、同supervlan 接口下更新二层组播转发条目不需要再次通知三层组播;步骤1004,收到加入报文后,生成二层组播转发条目2 ;同组、同源、同supervlan 接口下再次添加二层组播转发条目,不需要再次通知三层组播;步骤1005,收到离开报文后,最终导致删除二层组播转发条目2 ;删除同组、同源、 同supervlan接口下非最后一个二层组播转发条目,不需要通知三层组播;步骤1006,收到离开报文后,最终导致删除二层组播转发条目1 ;步骤1007,删除同组、同源、同supervlan接口下的最后一个二层组播转发条目删除,通知三层组播删除指向supervlan的三层路由条目S。以上以supervlan接口为例对本发明支持非单一 VLAN的组播实现方法做了具体说明,当然本发明方法也适用于VLAN range子接口(为单层VLAN封装)场景、VLAN QinQ range子接口(为双层VLAN封装)场景,VLAN range模式时,二层组播基于VLAN和物理口管理下游用户;VLAN QinQ range模式时,二层组播基于内外层VLAN和物理口管理下游用户。具体实现方案参见上述对supervlan接口场景的描述,此处不再赘述。如果没有Snooping支持,这些场景下只能在所有VLAN range范围或VLAN QinQ
8range范围以广播方式发送组播流量。如果存在Snooping支持,即采用本发明提供的方法时,组播数据流仅会发送到要求数据的接收者,没有接收者时,三层组播不再把流量推送到这些场景下的三层接口。装置实施例根据本发明的实施例,提供了一种支持非单一 VLAN的组播实现装置,图11是本发明实施例的支持非单一 VLAN的组播实现装置结构示意图,如图11所示,根据本发明实施例的支持非单一 VLAN的组播实现装置,包括协议运行模块1101、三层接口创建模块1102和流量下发模块1103,以下对本发明实施例的各个模块进行详细的说明。具体地,协议运行模块1101,用于将组播协议运行于网络层,将组播snooping运行于链路层;三层接口创建模块1102,用于创建由两个以上的VLAN封装或聚合而成的三层接 Π ;流量下发模块1103,用于将组播数据流量通过三层接口创建模块1102创建的三层接口下发到组播数据接收者对应的二层VLAN,再通过二层VLAN下发到组播数据接收者对应的物理口。三层接口创建模块1102创建的三层接口可以为supervlan接口,也可以为VLAN range子接口,还可以为VLAN QinQ range子接口,当然,该三层接口可以为由两个以上的 VLAN封装或聚合而成的任一种三层接口。本发明支持非单一 VLAN的组播实现装置的具体实现方案参见上面对本发明支持非单一 VLAN的组播实现方法的描述,此处不再赘述。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
9
权利要求
1.一种支持非单一虚拟局域网VLAN的组播实现方法,其特征在于,包括将组播协议运行于网络层,将组播窥探snooping运行于链路层;创建由两个以上的VLAN封装或聚合而成的三层接口 ;将组播数据流量通过所述三层接口下发到组播数据接收者对应的二层VLAN,再通过所述二层VLAN下发到组播数据接收者对应的物理口。
2.如权利要求1所述的支持非单一VLAN的组播实现方法,其特征在于,所述三层接口为 supervlan 接口。
3.如权利要求1所述的支持非单一VLAN的组播实现方法,其特征在于,所述三层接口为 VLAN range 子接口。
4.如权利要求1所述的支持非单一VLAN的组播实现方法,其特征在于,所述三层接口为 VLAN QinQ range 子接口。
5.如权利要求1所述的支持非单一VLAN的组播实现方法,其特征在于,所述网络层负责和上游的协议交互并把组播数据流量引到接收上游组播数据流量的三层接口,所述链路层负责下游用户管理及指定用户对应的VLAN和物理口。
6.如权利要求5所述的支持非单一VLAN的组播实现方法,其特征在于,所述网络层还负责定时向所述由两个以上的VLAN封装或聚合而成的三层接口的下游设备发送通用查询报文。
7.如权利要求1至6中任一项所述的支持非单一VLAN的组播实现方法,其特征在于, 所述组播数据流量是通过采用整合表项转发或二级查表转发的方式被发送到组播数据接收者的。
8.一种支持非单一虚拟局域网VLAN的组播实现装置,其特征在于,包括协议运行模块,用于将组播协议运行于网络层,将组播窥探snooping运行于链路层;三层接口创建模块,用于创建由两个以上的VLAN封装或聚合而成的三层接口 ;流量下发模块,用于将组播数据流量通过所述三层接口下发到组播数据接收者对应的二层VLAN,再通过所述二层VLAN下发到组播数据接收者对应的物理口。
9.如权利要求8所述的支持非单一VLAN的组播实现装置,其特征在于,所述三层接口为 supervlan 接口。
10.如权利要求8所述的支持非单一VLAN的组播实现装置,其特征在于,所述三层接口为 VLAN range 子接口或 VLAN QinQ range 子接口。
全文摘要
本发明公开了一种支持非单一VLAN的组播实现方法,该方法包括将组播协议运行于网络层,将组播snooping运行于链路层;创建由两个以上的VLAN封装或聚合而成的三层接口;将组播数据流量通过所述三层接口下发到组播数据接收者对应的二层VLAN,再通过所述二层VLAN下发到组播数据接收者对应的物理口。所述三层接口为supervlan接口、VLAN range子接口或VLAN QinQ range子接口。借助于本发明的技术方案,解决了针对非单一VLAN的组播实现问题。本发明还公开了一种支持非单一VLAN的组播实现装置,该装置包括协议运行模块、三层接口创建模块和流量下发模块。
文档编号H04L12/46GK102340450SQ201110287918
公开日2012年2月1日 申请日期2011年9月26日 优先权日2011年9月26日
发明者于立元, 王恒, 金飞蔡 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1