实现组播流跨vlan转发的三层网络设备及方法

文档序号:7974845阅读:301来源:国知局
专利名称:实现组播流跨vlan转发的三层网络设备及方法
技术领域
本发明涉及通信系统中的组播技术,尤其指一种实现组播流跨VLAN转发的三层网络设备及方法。
背景技术
随着网络中流媒体、视频点播以及视频会议等多媒体业务的不断发展,IP组播技术已经成为互联网中的一项重要内容。现有技术中利用IGMP(InternetGroup Management Protocol,互联网组播管理协议)维护组播组关系。IGMP运行于网络末端与用户终端直连的路由器等三层网络设备上,用于对组播用户终端加入或离开组播组进行动态管理,并建立三层组播组地址转发表项。
同时,利用IGMP Snooping(IGMP Snooping,互联网组播管理协议窥探)对二层设备或三层网络设备上用户终端与配置了IGMP协议的路由器之间的IGMP报文进行窥探,建立组播转发表项,维护组播组与VLAN(Virtual LocalArea Network,虚拟局域网)和成员端口的关系,只把组播流复制到需要接收该组播流的端口。
上述方法的应用场景如图1所示,具有IGMP Snooping功能的二层交换设备的端口1、端口2、端口3与用户相连接,端口4连接支持IGMP协议的路由器,四个端口都属于同一个VLAN100;当与端口1相连的用户终端1希望加入组播组230.1.1.1时,发送组播组230.1.1.1的IGMP报告报文给路由器;该报告报文首先经过二层交换设备,该二层交换设备根据该报告报文窥探到VLAN100的端口1上连接了一个加入组播组230.1.1.1的用户,这样当路由器转发的组播组230.1.1.1的组播流到达该二层交换设备的时候,根据自身维护的组播转发表项,将组播组230.1.1.1的组播流向端口1转发,而不需要向其他端口转发该组播流。
IGMP Snooping协议解决了组播流VLAN内广播的问题,同时也把IGMPSnooping的转发功能限制在了VLAN内,难以跨VLAN的组播流转发。在二层交换设备为了解决跨VLAN的组播流转发问题,中国专利申请(申请号03123053.9;申请日2003年4月29日;发明名称跨虚拟局域网组播的实现方法)提出了一种解决方案当二层交换设备侦听到每个用户终端带不同VLAN ID的组播请求时,将组播的目的MAC地址及对应的VLAN ID添加到组播转发表项中,同时将VLAN ID添加到上行端口缺省VLAN中,形成跨VLAN的组播转发表。此时必须按照所对应组播转发表项转发组播数据报文,有组播请求的用户才能收到组播数据报文。任何一个不带VLAN ID的报文进入二层交换机后,都会自动加上对应端口的缺省VLAN ID,二层交换机根据缺省的VLAN ID及报文的组播MAC地址,将组播数据报文转发到对应的用户。
现有技术中的三层网络设备跨VLAN的组播流转发,是通过组播路由协议PIM-DM(Protocol Independent Multicast-Dense Mode,独立多播协议密集模式)/PIM-SM(Protocol Independent Multicast-Sparse Mode,独立多播稀疏模式协议)实现的。相同VLAN的城域网内部运行PIM-SM,各个不相同VLAN的城域网的RP节点与其他城域网的RP节点之间通过隧道构成虚拟网络,在此虚拟网络中运行PIM-DM。
然而,在三层网络设备中配置PIM-SM、PIM-DM、DVMRP之类的三层组播路由协议非常复杂,使得在三层网络设备中实现跨VLAN的组播流转发比较困难,使得实际工作中的跨VLAN的组播转发难于实现且不易控制。

发明内容
本发明要解决的问题是提供一种实现组播流跨VLAN转发的三层网络设备及方法,以解决现有技术中配置复杂的缺陷。
为了实现以上目的,本发明提供了一种三层网络设备的组播流跨VLAN转发方法,包括以下步骤配置三层网络设备的组播流入VLAN和组播流接收VLAN;所述三层网络设备根据所接收的请求消息和所述配置的入VLAN和接收VLAN建立组播转发表项;所述三层网络设备根据所述组播转发表项进行组播流转发。
所述入VLAN与网络侧上层设备连接;所述接收VLAN与用户侧连接。
所述三层网络设备根据所接收的请求消息和配置的入VLAN和接收VLAN建立组播转发表项具体包括所述三层网络设备接收用户终端发送的接收请求消息;所述三层网络设备通过相关协议对所述请求消息进行解析;所述三层网络设备根据解析到的协议报文内容和所述配置的入VLAN和接收VLAN建立组播转发表项。
所述通过相关协议解析到的协议报文的内容包括发出所述请求消息的用户终端的端口号、所属VLAN的标识;与所述用户终端所属VLAN连接的入VLAN的端口号和入VLAN的标识;及组播组目的地址。
所述相关协议包括窥探协议和组播组管理协议,所述窥探协议包括互联网组播管理窥探协议IGMP Snooping和多播侦听器探索协议MLD Snooping。
所述建立组播转发表项具体包括当接收VLAN的端口收到消息报文时,将收到消息报文的端口地址加入到接收VLAN的出端口集合;当入VLAN的端口收到消息报文时,将收到消息报文的端口地址加入到入VLAN的出端口集合;并建立所述出端口集合、入VLAN、上层设备连接端口的对应关系。
建立组播转发表项后还包括当确定入VLAN内的所有端口和接收VLAN内的所有端口全部离开时,删除所述组播转发表项。
所述确定入VLAN和接收VLAN的端口离开情况包括收到用户终端发送的离开消息报文;或一定时间内没收到用户终端发送的消息报文。
所述三层网络设备根据所述组播转发表项进行组播流转发过程进一步包括VLAN的标识更改当消息报文从入VLAN转发给上层设备时,将所述消息报文接收VLAN标识替换为入VLAN标识;
当上层设备向接收VLAN转发查询报文时,将VLAN标识替换为对应的接收VLAN标识。
本发明还提供一种组播流跨VLAN转发的三层网络设备,还包括VLAN配置单元和组播管理单元;所述VLAN配置单元,连接所述组播管理单元,并配置三层网络设备的组播流入VLAN和组播流接收VLAN;所述组播管理单元,与所述VLAN配置单元相连,对经过入VLAN和接收VLAN的请求消息进行解析,并根据解析到的协议报文内容和所述配置的入VLAN和接收VLAN建立组播转发表项。
还包括VLAN标识转换单元,连接所述组播管理单元,当消息报文从入VLAN转发给上层设备时,将所述消息报文接收VLAN标识替换为入VLAN标识;当上层设备向接收VLAN转发查询报文时,将VLAN标识替换为对应的接收VLAN标识。
还包括组播转发表项注销单元,连接所述组播管理单元,当确定接收VLAN的所有端口均离开时,将所述接收VLAN从所述组播管理单元的出接口信息中删除;当入VLAN内的所有端口和接收VLAN全部离开时,从所述组播管理单元中删除所述组播转发表项。
所述组播管理单元通过相关协议对经过入VLAN和接收VLAN的请求消息进行解析。
所述相关协议包括窥探协议和组播组管理协议,所述窥探协议包括互联网组播管理窥探协议IGMP Snooping和多播侦听器探索协议MLD Snooping。
与现有技术相比,本发明具有以下优点本发明通过配置组播流的入VLAN和组播流的接收VLAN,根据解析到的协议报文维护组播转发表项,实现组播流转发。使得组播转发表项的维护更加简单,原则也更加简洁明了,配置简单,而且能够降低跨VLAN组播流转发的资源消耗。


图1是一种现有技术中同VLAN内组播转发结构示意图;图2是本发明一种三层网络设备的组播流跨VLAN转发方法的实施例流程图;图3是本发明实现组播流入VLAN/接收VLAN设置示意图;图4是本发明建立的组播转发表项示意图;图5是本发明中实现协议报文透传结构图;图6是本发明一种组播流跨VLAN转发的三层网络设备的实施例结构图。
具体实施例方式
本发明提供一种三层网络设备的组播流跨VLAN转发方法的实施例,为窥探协议实现组播流跨VLAN转发的情况,但本发明的实施例并不局限于此协议,例如组播组管理协议同样可实现本发明的组播流跨VLAN转发。
如图2所示,包括以下步骤步骤s201,配置三层网络设备的组播流入VLAN和组播流接收VLAN。
配置VLAN的方法为将与网络侧路由器相连的VLAN设置为入VLAN,将与连接用户侧相连的VLAN设置为接收VLAN。
其中,入VLAN和接收VLAN必须在转发组播流之前确定,比如在组网规划时就确定入VLAN和接收VLAN。
此外,每个组播转发表项只能有一个入VLAN。只有从该入VLAN进入的组播流会被转发,其他VLAN即使与网络侧路由器相连,但由于其未被设置为入VLAN,因此由这些VLAN进入的组播流被丢弃。本实施例的这种方法类似于三层组播路由协议的RPF(Reversal Path Forwarding,反向路径转发)检查,防止接收者收到同组的多份组播流。
每个组播转发表项可以有多个接收VLAN,组播流从入VLAN进入三层网络设备,转发到所有的接收VLAN的成员端口。
如图3所示,与三层网络设备连接的路由器的接口上配置了IGMP和PIM(PIM-SM/PIM-DM),三层网络设备通过VLAN100与路由器连接,通过VLAN200与用户终端1连接、通过VLAN300与用户终端3和用户终端4连接、通过VLAN400与用户终端2连接。
根据入VLAN和接收VLAN的确定原则,对于图3所示的各个VLAN,将VLAN100设置为入VLAN,将VLAN200、VLAN300、VLAN400设置为接收VLAN。假设用户终端1通过VLAN200、用户终端2通过VLAN400向三层网络设备发送请求消息,要求加入某一组播组;路由器接收到该请求后,转发相应的组播流通过VLAN100进入三层网络设备,向有用户终端加入的VLAN200和VLAN400转发所需要的组播流,VLAN300中的用户终端3和用户终端4均没有向三层网络设备发送请求消息,即没有VLAN300的用户加入组播,因此组播流不向VLAN300转发。
步骤s202,三层网络设备根据窥探协议和配置的入VLAN和接收VLAN建立组播转发表项。
三层网络设备接收用户终端发送的接收请求消息;三层网络设备通过窥探协议对所接收请求消息进行窥探,根据所窥探到的协议报文内容和配置的入VLAN和接收VLAN建立组播转发表项,如图4所示。其中,窥探协议包括IGMP Snooping协议或MLD Snooping(Multicast Listener Discovery,多播侦听器探索)协议。
当窥探协议为IGMP Snooping协议时,由于转发表项的维护是根据IGMP协议报文完成,对于Version1和Version2的IGMP,由于协议报文中未指定组播流的源地址,所以生成的组播流转发表项同样也不能确定组播流的源地址,只能创建(*,G)转发表项,组播流的转发按照(*,G)转发;对于Version3的IGMP,协议报文中指定了加入或者离开组播组的源地址,所以可以生成包含源地址信息的转发表项,组播流的转发可以按照(S,G)精确转发。
以Version1和Version2的IGMP为例,从接收VLAN/入VLAN的某一个端口收到IGMP的report报文;创建report报文报告的组播组对应的组播组的(*,G)转发表项;将入VLAN添加到(*,G)转发表项的入接口,将接收VLAN添加到(*,G)转发表项的出接口;如果从入VLAN的端口收到report报文,将接收到report报文的端口加入到入VLAN的出端口集合中;如果从接收VLAN的端口收到report报文,将收到report报文的端口添加到接收VLAN的出端口集合中。进而建立出端口集合与入VLAN与上层设备连接端口的对应关系,形成组播转发表项。
当窥探协议为MLD Snooping协议时,当接收VLAN的端口收到多播侦听器报告消息报文时,将收到多播侦听器报告消息报文的端口地址加入到接收VLAN的出端口集合中;当入VLAN的端口收到多播侦听器报告消息报文时,将收到多播侦听器报告消息报文的端口地址加入到入VLAN的出端口集合中;并建立出端口集合、入VLAN、上层设备连接端口之间的对应关系,形成组播转发表项。
步骤s203,三层网络设备根据组播转发表项进行组播流转发。
三层网络设备进行组播流转发时,需要将组播流从上游的路由器引下来,因此需要将从接收VLAN收到的窥探报文通过入VLAN透传给上游的三层交换机或者路由器。
在进行组播转发的过程中,还需要维持组播组的正常加入和离开,因此需要将从入VLAN收到的查询报文透传到所有的接收VLAN中去,相当于直接从接收VLAN收到查询报文一样。
在进行组播转发的过程中需要在上层设备、入VLAN以及接收VLAN间转发报文,在转发报文时需要修改报文的VLAN标识,其具体修改方法如下在将窥探协议报文从入VLAN转发给上层设备时,需要将报文接收VLAN标识替换为入VLAN标识;当上层设备向接收VLAN转发查询报文时,将VLAN标识替换为对应的接收VLAN标识。如图5所示,当窥探协议报文从入VLAN100转发给上层设备时,将报文接收VLAN200标识替换为入VLAN100的标识;当上层设备向接收VLAN200转发查询报文时,将VLAN100标识替换为对应的接收VLAN200标识。
在步骤s202中建立组播转发表项后还可以包括当接收VLAN的所有成员端口全部离开时,从组播转发表项的出接口中删除该接收VLAN;当入VLAN内的所有端口和接收VLAN全部离开时,删除组播转发表项。其中,入VLAN和接收VLAN的端口离开情况包括当窥探协议为IGMP Snooping协议时,收到用户终端发送的离开消息报文;或一定时间内没收到用户终端发送的报告消息报文;当窥探协议为MLD Snooping协议时,收到用户终端发送的多播侦听器完成消息报文;或一定时间内没收到用户终端发送的多播侦听器报告消息报文。
本发明还提供了一种组播流跨VLAN转发的三层网络设备的实施例,该实施例中实现组播流跨VLAN转发的三层网络设备为三层交换机。如图6所示,包括VLAN配置单元100、组播管理单元200、VLAN标识转换单元400和组播转发表项注销单元300。
VLAN配置单元100,用于配置三层网络设备的组播流入VLAN和接收VLAN,其入VLAN和接收VLAN的确定原则为与网络侧上层设备相连的VLAN应该设置为入VLAN,连接用户侧的VLAN应该设置为接收VLAN。
组播管理单元200,与VLAN配置单元100相连,用于通过相关协议对所接收的请求消息进行解析,根据解析到的协议报文内容和配置的入VLAN和接收VLAN建立组播转发表项。该解析到的协议报文内容包括发出所述请求消息的用户终端的端口号、所属VLAN标识、与用户终端所属VLAN连接的入VLAN的端口号、所属VLAN标识及组播组目的地址。
VLAN标识转换单元400,连接组播管理单元200,当消息报文从入VLAN转发给上层设备时,将报文接收VLAN标识替换为入VLAN标识;当上层设备向组播流的接收VLAN转发查询报文时,将VLAN标识替换为对应的组播流的接收VLAN标识。
组播转发表项注销单元300,连接组播管理单元200,用于当接收VLAN的所有端口离开时,将该接收VLAN从组播管理单元200的出接口信息中删除;当入VLAN内的所有端口和接收VLAN全部离开时,从组播管理单元200中删除组播转发表项信息。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种三层网络设备的组播流跨虚拟局域网VLAN转发方法,其特征在于,包括以下步骤配置三层网络设备的组播流入VLAN和组播流接收VLAN;所述三层网络设备根据所接收的请求消息和所述配置的入VLAN和接收VLAN建立组播转发表项;所述三层网络设备根据所述组播转发表项进行组播流转发。
2.如权利要求1所述三层网络设备的组播流跨VLAN转发方法,其特征在于,所述入VLAN与网络侧上层设备连接;所述接收VLAN与用户侧连接。
3.如权利要求1所述三层网络设备的组播流跨VLAN转发方法,其特征在于,所述三层网络设备根据所接收的请求消息和配置的入VLAN和接收VLAN建立组播转发表项具体包括所述三层网络设备接收用户终端发送的接收请求消息;所述三层网络设备通过相关协议对所述请求消息进行解析;所述三层网络设备根据解析到的协议报文内容和所述配置的入VLAN和接收VLAN建立组播转发表项。
4.如权利要求3所述三层网络设备的组播流跨VLAN转发方法,其特征在于,所述通过相关协议解析到的协议报文的内容包括发出所述请求消息的用户终端的端口号、所属VLAN的标识;与所述用户终端所属VLAN连接的入VLAN的端口号和入VLAN的标识;及组播组目的地址。
5.如权利要求3或4所述三层网络设备的组播流跨VLAN转发方法,其特征在于,所述相关协议包括窥探协议和组播组管理协议,所述窥探协议包括互联网组播管理窥探协议IGMP Snooping和多播侦听器探索协议MLDSnooping。
6.如权利要求1所述三层网络设备的组播流跨VLAN转发方法,其特征在于,所述建立组播转发表项具体包括当接收VLAN的端口收到消息报文时,将收到消息报文的端口地址加入到接收VLAN的出端口集合;当入VLAN的端口收到消息报文时,将收到消息报文的端口地址加入到入VLAN的出端口集合;并建立所述出端口集合、入VLAN、上层设备连接端口的对应关系。
7.如权利要求1所述三层网络设备的组播流跨VLAN转发方法,其特征在于,建立组播转发表项后还包括当确定入VLAN内的所有端口和接收VLAN内的所有端口全部离开时,删除所述组播转发表项。
8.如权利要求7所述三层网络设备的组播流跨VLAN转发方法,其特征在于,所述确定入VLAN和接收VLAN的端口离开情况包括收到用户终端发送的离开消息报文;或一定时间内没收到用户终端发送的消息报文。
9.如权利要求1所述三层网络设备的组播流跨VLAN转发方法,其特征在于,所述三层网络设备根据所述组播转发表项进行组播流转发过程进一步包括VLAN的标识更改当消息报文从入VLAN转发给上层设备时,将所述消息报文接收VLAN标识替换为入VLAN标识;当上层设备向接收VLAN转发查询报文时,将VLAN标识替换为对应的接收VLAN标识。
10.一种组播流跨VLAN转发的三层网络设备,其特征在于,还包括VLAN配置单元和组播管理单元;所述VLAN配置单元,连接所述组播管理单元,并配置三层网络设备的组播流入VLAN和组播流接收VLAN;所述组播管理单元,与所述VLAN配置单元相连,对经过入VLAN和接收VLAN的请求消息进行解析,并根据解析到的协议报文内容和所述配置的入VLAN和接收VLAN建立组播转发表项。
11.如权利要求10所述组播流跨VLAN转发的三层网络设备,其特征在于,还包括VLAN标识转换单元,连接所述组播管理单元,当消息报文从入VLAN转发给上层设备时,将所述消息报文接收VLAN标识替换为入VLAN标识;当上层设备向接收VLAN转发查询报文时,将VLAN标识替换为对应的接收VLAN标识。
12.如权利要求10所述组播流跨VLAN转发的三层网络设备,其特征在于,还包括组播转发表项注销单元,连接所述组播管理单元,当确定接收VLAN的所有端口均离开时,将所述接收VLAN从所述组播管理单元的出接口信息中删除;当入VLAN内的所有端口和接收VLAN全部离开时,从所述组播管理单元中删除所述组播转发表项。
13.如权利要求10所述组播流跨VLAN转发的三层网络设备,其特征在于,所述组播管理单元通过相关协议对经过入VLAN和接收VLAN的请求消息进行解析。
14.如权利要求13所述组播流跨VLAN转发的三层网络设备,其特征在于,所述相关协议包括窥探协议和组播组管理协议,所述窥探协议包括互联网组播管理窥探协议IGMP Snooping和多播侦听器探索协议MLD Snooping。
全文摘要
本发明公开了一种三层网络设备的组播流跨VLAN转发方法,包括以下步骤配置三层网络设备的组播流入VLAN和组播流接收VLAN;三层网络设备根据所接收的请求消息和配置的入VLAN和接收VLAN建立组播转发表项;三层网络设备根据所述组播转发表项进行组播流转发。本发明还提供了一种组播流跨VLAN转发的三层网络设备。本发明通过配置组播流的入VLAN和组播流的接收VLAN,根据解析到的协议报文内容维护组播转发表项,实现组播流转发。使得组播转发表项的维护更加简单,原则也更加简洁明了,配置简单,而且能够降低跨VLAN组播流转发的资源消耗。
文档编号H04L29/06GK1996956SQ200610167738
公开日2007年7月11日 申请日期2006年12月20日 优先权日2006年12月20日
发明者哈达, 贺雪飞 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1