专利名称:基于虚拟局域网的组播实现方法
技术领域:
本发明涉及网络通信技术领域,尤其涉及一种基于虚拟局域网的组播实现方法。
背景技术:
随着网络通信技术的日益发展,组播技术在网络通信中得到了广泛的应用,组播技术的实现大大提高了网络中报文的转发效率。比如在目前的宽带网络通信中,便经常需要在同一VLAN(虚拟局域网)内部或不同的VLAN之间开展组播业务。
现有宽带网络的组网通常包括三层以太网交换机、二层以太网交换机、综合接入设备以及路由器等网络设备。根据网络设备本身或者网络设备的组合在网络通信中完成的功能可能将其分为三层网络部分和二层网络部分,某一具体的网络设备也可以包含三层网络部分和二层网络部分,所述的二层网络主要用于直接于用户端相连,所述的三层网络则主要作为国际互联网和其他私有的三层网络的一部分,网络中发送组播业务的组播源通常位于三层网络中。
为了在网络中开展组播业务,需要在网络设备间运行组播协议,目前在三层网络之间运行的组播协议包括PIM-SM(稀疏模式协议无关组播)协议和PM-DM(密集模式协议无关组播)协议等,三层网络与用户端之间通常运行的是IGMP V1(因特网组管理协议V1)或者IGMP V2(因特网组管理协议V2),在二层网络上运行的组播协议通常为IGMP SNOOPING(IGMP侦听协议)等。
在网络中基于效率、安全和管理等原因,通常还将二层网络分别进一步划分为或配置为多个VLAN。在网络通信过程中,二层网络无法实现不同VLAN间组播报文的传送,通常二层网络的各个VLAN分别对应三层网络中的不同的IP(互联网协议)网段地址,所以不同的VLAN间实现组播可以由三层网络进行组播报文的复制,并将复制之后的组播报文在不同的VLAN内进行发送,如图1所示,图中的箭头线表示复制分别发送给不同VLAN的组播报文。因此,当网络需要向二层网络连接的用户端发送组播报文时,比如二层网络中不同VLAN的用户点播了相同的组播组(即相同的组播报文组),三层网络与二层网络间的连接端口就需要同时传输数据相同但VLAN ID不同的组播报文,即三层网络必需向三层网络与二层网络间的每一个端口复制属于同一个组播组但属于不同VLAN(即不同IP地址网段)的组播报文,以保证组播报文的正常转发。
对于上述组播实现方法,如果三层网络不支持将组播报文的复制到不同VLAN的功能,则所述的组播业务根本无法开展,无法实现组播功能的网络是网络运营所不能接受的。
然而,即使三层网络支持组播报文在不同的VLAN之间的的复制功能,在网络通信中同样存在着另外的一个问题,即带宽资源的占用问题。当三层网络需要向二层网络发送组播报文时,三层网络需要根据与其相连的二层网络配置的VLAN数量进行组播报文的复制,大量复制后的组播报文到达二层网络后,再由二层网络分别发送给不同的端口。在网络中,二层网络可以配置系统最大允许建立4096个VLAN,所以最坏情况是相同的组播报文需要被同步复制4096份,很容易想象这样大量的组播报文将占用多少带宽资源,因此这种组播实现方法将导致带宽资源的大量浪费,对于三层网络和二层网络之间的物理连接接口的带宽要求大大增加,同时对二层网络和三层网络的处理业务数据的能力的要求也大大提高,导致网络通信成本大幅上升。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种基于虚拟局域网的组播实现方法,以减少组播业务开展对带宽资源的占用,保证宽带网络通信中带宽资源的有效利用。
本发明所述的目的是通过以下方案实现的一种基于虚拟局域网的组播实现方法,包括以下步骤a、在网络中配置组播专用VLAN(虚拟局域网);b、当需要发送组播报文时,三层网络将发送到二层网络不同VLAN的组播报文集中到组播专用VLAN内;c、二层网络收到上述组播报文后,根据二层组播转发表进行组播报文的转发。
所述的步骤a可以为在网络中,配置区别于网络中已经配置VLAN的组播专用VLAN,并将网络中的二层网络的所有端口及三层网络用于和二层网络互联的端口均加入组播专用VLAN中。
所述的步骤a还可以包括将二层网络中连接用户端的端口对组播专用VLAN的VLAN ID(虚拟局域网标识)配置成UNTAGED,所述的配置成UNTAGED为组播专用VLAN内的报文从该端口出去时VLAN TAG(虚拟局域网标签)将被剥离;将二层网络中和三层网络之间的所有的互联端口对组播专用VLAN的VLAN ID配置成TAGED,所述的配置成TAGED为该端口可以直接通过承载着组播专用VLAN的VLAN TAG的报文。
所述的步骤a还可以包括当三层网络直接与用户端相连时,将三层网络与用户端连接的端口对组播专用VLAN的VLAN ID配置成UNTAGED。
所述的步骤a还可以包括当将三层网络和二层网络间的用于互联的端口对组播专用VLAN的VLAN ID配置成UNTAGED时,将二层网络的上行端口的PVID(缺省VLAN标识)修改为该组播专用VLAN的VLAN ID即可。
所述的步骤b可以为当需要发送组播报文到二层网络时,首先三层网络根据三层组播转发表确定组播报文的出端口;然后将组播报文的VLAN ID填写成组播专用VLAN的VLAN ID;最后,将组播报文从该端口发送出去。
所述的步骤c可以包括
c1、二层网络收到VLAN ID为组播专用VLAN的组播报文后,根据二层网络中的二层组播转发表确定该组播报文的转发目的端口;c2、通过确定的转发端口将该组播报文发送给用户端。
所述的步骤a还可以包括将所述的二层组播转发表配置于组播专用VLAN中;将所述的三层组播转发表中的出端口报文的VLAN ID填写为组播专用VLAN的VLAN ID。
由上述本发明所提供的技术方案可以看出,本发明的实现对于三层网络与二层网络间的同一个物理接口来说,只需要转发一份组播报文,便可以满足三层网络向二层网络所有不同VLAN内用户发送组播报文的需要。对于二层网络来说,只需要接收一份来自于三层网络中同一组播源的组播报文,便可以同时满足最大4095个不同VLAN内的用户的点播需要,大大节省了了二层网络和三层网络间物理连接接口上的带宽资源,即达到最大节省量时,组播所占用的带宽资源仅为原来占用带宽资源的1/4095。同时,本发明是基于现有网络运行的组播协议实现,即本发明可以很好地支持现有的标准协议,这样在实施过程中无需对现有网络设备的配置等作大量的修改调整。综上所述,本发明的实现既保证了网络中组播业务的正常开展,又大大降低了在网络中开展组播业务所需要的成本。
图1为现有技术中组播实现过程示意图;
图2为本发明中组播实现过程示意图;图3为本发明的具体实施方式
流程图。
具体实施例方式
本发明所述的基于虚拟局域网的组播实现方法的具体实施方式
如图2、图3所示,具体包括以下步骤步骤301本发明的实现首先需要在二层网络和三层网络配置一个组播专用VLAN,即在建立VLAN时为组播专用VLAN分配一个VLAN资源,组播专用VLAN要求和网络中的其他VLAN不发生冲突,对于所配置的组播专用VLAN还需要将所有的二层网络端口都加入组播专用VLAN中,将三层网络和二层网络所有用于互联的端口都加入组播专用VLAN中;如果三层网络下直接带用户端PC(主机),则将三层网络和用户端PC连接的端口对组播专用VLAN的VLAN ID配置成UNTAGED,所述的配置成UNTAGED为组播专用VLAN内的报文从该端口出去时VLAN TAG(虚拟局域网标签)将被剥离,因为用户端PC不识别该标签;VLAN TAG共16位,其中VLAN ID占用12位,其他位给QOS(服务质量)等使用;如果三层网络下连接着二层网络,则将三层网络与二层网络相连接的端口,以及二层网络的上行端口对组播专用VLAN的VLAN ID配置成TAGED,所述的配置成TAGED为该端口可以直接通过承载着组播专用VLAN的VLAN TAG的报文;而对于二层网络连接用户端PC的端口对组播专用VLAN的VLAN ID配置成UNTAGED,原因同上
本发明中还可以为当如果三层网络和二层网络用于互联的端口对组播专用VLAN的VLAN ID配置成TAGED,则将二层网络的上行端口的PVID(缺省VLAN标识)修改为组播专用VLAN的VLAN ID,所述的缺省的VLAN标识为未带TAG的报文进入该端口以后,将以该缺省VLAN标识作为报文的TAG,即从网络外接收到不带VLAN TAG的报文时会自动打上该VLAN ID。
建立了所述的组播专用VLAN后,便可以基于该建立的组播专用VLAN开展组播业务,参见步骤302,当用户端点播了组播业务,或其它原因网络需要向二层网络中多个VLAN的用户端发送相同的组播报文时,位于三层网络的组播源首先确定需要向那些连接二层网络的端口发送的组播报文,然后由三层网络根据三层组播转发表确定待发送组播报文的下行端口,执行步骤303。
步骤303将经过三层网络转发的组播报文的VLAN ID填写为组播专用VLAN的VLAN ID,为此二层网络总是从组播专用VLAN中接收组播报文,所以对于同一个组播流在三层网络上仅需要产生一份组播专用VLAN的组播数据流发送给二层网络即可满足二层网络中不同VLAN的用户端点播相同组播报文的需要;也就是说支持三层组播业务的网络设备向二层网络发送组播数据的时候,只需向组播专用VLAN发送一份组播报文,而省略了向所有的VLAN发送组播报文;本发明的实现是将三层网络配置为当三层网络根据源IP地址、目的组播组、目的端口进行组播报文的转发时,将所有的出端口的组播报文的VLAN均填写为组播专用VLAN的VLAN ID,在组播专用VLAN内将组播报文的转发给点播组播业务的用户端,这样使得来自于三层网络的组播报文仅作为组播专用VLAN的一个数据流发送给二层网络的多个不同VLAN中的用户端,与现有技术相比减少了开展相同的组播业务对带宽资源的占用,有效地节省了网络通信中的带宽资源。
步骤304将待发送的组播报文通过三层网络确定的下行端口发送给二层网络,以保证二层网络连接的用户端可以收到组播报文;即三层网络根据三层组播转发表确定组播报文的出端口,并将组播报文通过三层网络相应的端口发送给二层网络。
步骤305二层网络收到上述组播专用VLAN的组播报文后,根据二层网络中的二层组播转发表确定转发该组播报文的二层网络的下行端口,即确定点播该组播报文的用户端所在的端口,也可以称为组播报文的转发目的端口。
步骤306将该组播报文通过确定的二层网络的下行端口发送给用户端;如图2所示,根据不同的组网结构,该组播报文可以由二层网络通过确定的下行端口直接发送给与其连接的用户端,也可以由二层网络通过确定的下行端口发送其他的二层网络,再由其他的二层网络根据其自身的二层组播转发表将该组播报文发送给与其连接的用户端。
通过上述本发明的具体实施方式
可以看出,本发明的实现使得由三层网络向二层网络发送的目的VLAN为多个VLAN的多个数据流简化为一个基于组播专用VLAN的数据流,以减少组播报文对带宽资源的占用,如图2所示,图中的箭头线表示一个基于组播专用VLAN的数据流,相比图1所示的三层网络和二层网络间传送的多个内容完全相同且同步的数据流,本发明有效地节约了有限的带宽资源。
在IP通信网络中,三层网络的三层组播转发表的配置为基于三层组播协议完成,二层网络的二层组播转发表的配置是基于二层组播协议完成,但为实施本发明二层组播转发表需要配置于组播专用VLAN中,三层组播转发表中的出端口报文的VLAN ID也需要填写为组播专用VLAN的VLAN ID,以保证组播专用VLAN根据所述的二、三层组播转发表进行组播报文的转发。
本发明的实现对于三层组播协议来说,只需要在调用底层函数对三层网络与二层网络连接的所有端口添加三层组播转发表时替换所有的VLAN ID为组播专用VLAN的VLAN ID;对于二层组播协议,也只需要在调用底层函数对所有二层端口添加二层组播转发表时替换所有的VLAN ID为组播专用VLAN的VLAN ID。
权利要求
1.一种基于虚拟局域网的组播实现方法,其特征在于包括a、在网络中配置组播专用VLAN(虚拟局域网);b、当需要发送组播报文时,发送端将待发送的组播报文在组播专用VLAN内发送给接收端;c、接收端收到上述组播报文后,根据接收端的组播转发表进行组播报文的转发。
2.根据权利要求1所述的基于虚拟局域网的组播实现方法,其特征在于所述的步骤a为在网络中,配置区别于网络中已经配置VLAN的组播专用VLAN,并将网络中的作为接收端的二层网络的所有端口及作为发送端的三层网络与二层网络间的所有互联端口均加入组播专用VLAN中。
3.根据权利要求2所述的基于虚拟局域网的组播实现方法,其特征在于所述的步骤a还包括将二层网络中连接用户端的端口对组播专用VLAN的VLAN ID(虚拟局域网标识)配置成UNTAGED(未打标签),当组播专用VLAN内的报文从该端口出去时剥离VLAN TAG(虚拟局域网标签);将二层网络中的其它端口和三层网络与二层网络之间所有的互联端口对组播专用VLAN的VLAN ID配置成TAGED(打标签),VLAN ID为组播专用VLAN的带VLAN TAG的报文可以直接通过所述端口。
4.根据权利要求2所述的基于虚拟局域网的组播实现方法,其特征在于所述的步骤a还包括当三层网络直接与用户端相连时,将三层网络与用户端连接的端口对组播专用VLAN的VLAN ID配置成UNTAGED。
5.根据权利要求2所述的基于虚拟局域网的组播实现方法,其特征在于所述的步骤a还包括将三层网络和二层网络间的所有互联端口对组播专用VLAN的VLAN ID配置成UNTAGED时,将二层网络的上行端口的PVID(缺省VLAN标识)修改为该组播专用VLAN的VLAN ID。
6.根据权利要求2、3、4或5所述的基于虚拟局域网的组播实现方法,其特征在于所述的步骤b为当需要发送组播报文到二层网络时,三层网络根据三层组播转发表确定组播报文的出端口,然后将组播报文的VLAN ID填写成组播专用VLAN的VLAN ID,最后将报文从该端口发送出去。
7.根据权利要求6所述的基于虚拟局域网的组播实现方法,其特征在于所述的步骤c包括二层网络在接收到组播报文后,根据二层组播转发表在二层网络的组播专用VLAN内部实现二层组播。
8.根据权利要求7所述的基于虚拟局域网的组播实现方法,其特征在于所述的步骤c包括c1、二层网络收到VLAN ID为组播专用VLAN的组播报文后,根据二层网络中的二层组播转发表确定该组播报文的转发目的端口;c2、通过确定的转发目的端口将该组播报文发送给用户端。
9.根据权利要求8所述的基于虚拟局域网的组播实现方法,其特征在于所述的步骤a还包括将所述的二层组播转发表配置于组播专用VIAN中;将所述的三层组播转发表中的出端口报文的VLAN ID填写为组播专用VLAN的VLAN ID。
全文摘要
本发明涉及一种基于虚拟局域网的组播实现方法,该方法为在网络中配置组播专用VLAN(虚拟局域网);当三层网络向二层网络发送组播报文时,将待发送的组播报文在组播专用VLAN内发送给二层网络。本发明的实现对于三层网络与二层网络间的同一个物理接口来说,只需要转发一份组播报文,便可以满足三层网络向二层网络不同VLAN内用户发送相同组播报文的需要,节省了二层网络和三层网络本身的和两者之间物理连接接口上的带宽资源。同时,本发明是基于现有网络运行的组播协议实现,在实施过程中无需对现有网络设备的配置等作大量的修改调整。
文档编号H04L12/16GK1536837SQ0310998
公开日2004年10月13日 申请日期2003年4月9日 优先权日2003年4月9日
发明者殷俊杰 申请人:华为技术有限公司