指定源组播协议无关组播模式下跨虚拟局域网组播的方法和系统的制作方法

文档序号:7965007阅读:273来源:国知局
专利名称:指定源组播协议无关组播模式下跨虚拟局域网组播的方法和系统的制作方法
技术领域
本发明涉及网络通信系统中跨虚拟局域网组播的技术,尤其涉及一种指定源组播协议无关组播模式下跨虚拟局域网组播的方法和系统。
背景技术
组播是一种信源主机将信息发送到某些确定接收主机的点到多点的通信方法。组播源发送组播数据报文,该组播数据报文的目的IP地址是一个组播组的地址,只有加入所述组播组的用户才能接收到该组播报文。加入同一个组播组的用户可以处于不同的虚拟局域网(VLAN,Virtual Local AreaNetwork),当不同VLAN的用户请求同一组播组的组播数据报文时,可以采用跨VLAN组播的方法,以节省系统的带宽资源。
图1为跨VLAN组播方法的示意图。在图1中,二层交换机包括3个下行端口,为端口1、端口2和端口3,以及1个缺省的上行端口,为端口25。端口1、2、3和25的缺省虚拟局域网标志(VLAN ID)分别为vlan1、vlan2、vlan3和vlan25,vlan25为组播VLAN,当vlan1、vlan2和vlan3的用户请求同一组播组的组播数据报文时,启用因特网组管理监听协议(IGMP-Snooping,Internet Group Management Protocol-Snooping)的二层交换机侦听到所述请求消息,分别将vlan1、vlan2和vlan3以及所述组播组的组播介质访问控制(MAC,Media Access Control)地址添加到组播地址表的相应VLAN中,同时将其添加到上行端口缺省VLAN中,形成跨VLAN的组播地址表。如果组播MAC地址为01005E7FFFFF,则所述跨VLAN的组播地址表如图2所示。
当三层设备收到来自vlan1、vlan2和vlan3的请求后,将不含有VLAN ID的组播数据报文下发到二层交换机。二层交换机收到不含有VLAN ID的组播数据报文后,将上行端口缺省的VLAN ID,即端口25,添加在该组播数据报文中,再从跨VLAN组播地址表中查找到该组播地址。vlan25对应的端口号为1、2和3,将组播数据报文复制3份,分别转发到端口1、端口2和端口3所对应的用户,完成组播数据报文的转发。
在指定源组播协议无关组播(PIM SSM,Protocol Independent MulticastSource Specific Multicast)的模式下,允许一个组播组中包括多个组播源,例如组播组1中可以包括组播源1、组播源2和组播源3,组播组1的组播MAC地址为01005E7FFFFF。当vlan1的用户向组播源1请求组播组1的组播数据报文,而vlan2的用户向组播源3请求组播组1的组播数据报文时,启用了IGMP-Snooping的二层交换机将侦听到他们的请求,并生成相应的跨VLAN组播地址表。
在PIM SSM模式下,当采用跨VLAN组播的方法时,组播源1和组播源3都会下发不含有VLAN ID的组播数据报文。三层设备将不含有VLAN ID的组播数据报文下发到二层交换机。二层交换机收到不含有VLAN ID的组播数据报文后,将上行端口缺省的VLAN ID,即端口25,添加在该组播数据报文中,再查找跨VLAN组播地址表,可以获知vlan25对应的端口号为1和2,然后二层交换机将该组播数据报文复制2份,分别转发到端口1和端口2,完成组播数据报文的转发。vlan1的用户和vlan2的用户,将收到相同的组播数据报文,该数据报文既包括组播源1发送的数据报文又包括组播源2发送的数据报文。
由上述可知,在PIM SSM的模式下,当一个组播组包括多个组播源时,采用跨VLAN组播的方法,将使向该组播组的不同组播源请求组播数据报文的用户无法准确接收其请求的组播数据报文。

发明内容
有鉴于此,本发明所要解决的技术问题是提供一种指定源组播协议无关组播模式下跨虚拟局域网组播的方法和系统,当一个组播组包括多个组播源时,可以使向该组播组的不同组播源请求组播数据报文的用户准确接收其请求的组播数据报文。
本发明包括一种指定源组播协议无关组播模式下跨虚拟局域网组播的方法,包括二层交换机根据组播数据报文请求消息中的组播源信息,为该请求消息添加组播虚拟局域网VLAN的标志,将所述请求信息发送到三层设备;所述三层设备收到组播数据报文,根据该组播数据报文中的组播组信息和组播源信息为该组播数据报文添加相应的组播VLAN标志,将所述组播数据报文发送到所述二层交换机;二层交换机根据所述组播数据报文携带的组播VLAN标志,将所述组播数据报文发送给相应的用户。
其中,二层交换机按下述步骤根据组播数据报文请求消息中的组播源信息,为该请求消息添加VLAN标志用户向同一组播组的不同组播源发送组播数据报文请求消息,二层交换机分别为各组播源分配组播VLAN;二层交换机建立所述组播VLAN与组播源的对应关系,建立所述组播VLAN与用户VLAN的对应关系,在各请求消息中添加相应的组播VLAN的标志。
其中,所述用户属于预先设置的用户VLAN群,所述组播VLAN属于预先设置的组播VLAN池。
其中,所述预先设置的组播VLAN池中的每个组播VLAN都映射到所述预先设置的用户VLAN群。
其中,所述二层交换机建立组播VLAN与用户VLAN的对应关系,具体包括二层交换机将所述组播组的组播MAC地址、以及所述不同用户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中,并被转发给相应的用户,进而可以使向同一组播组的不同组播源请求组播数据报文的用户准确接收其请求的组播数据报文。


图1是跨VLAN组播方法的示意图;图2是跨VLAN的组播地址表;图3是本发明实施例的流程图;图4是包括两个组播源的跨VLAN组播方法的示意图;图5是实施例中组播源与组播VLAN对应关系示意图;图6是实施例中vlan25的组播地址表示意图;图7是实施例中vlan35的组播地址表示意图。
具体实施例方式
在本发明中,当用户向同一组播组的不同组播源请求组播数据报文时,二层交换机根据组播数据报文请求消息中的组播源信息,为该请求消息添加组播虚拟局域网VLAN的标志,将所述请求信息发送到三层设备;三层设备根据所述请求信息中的组播组信息、组播源信息以及组播VLAN标志,建立三者之间的对应关系。当三层设备收到组播数据报文后,将根据该组播数据报文中的组播组信息和组播源信息为该组播数据报文添加相应的组播VLAN标志,将所述组播数据报文发送到所述二层交换机;二层交换机可以根据所述组播数据报文携带的组播VLAN标志,将所述组播数据报文发送给相应的用户,从而使不同组播源下发的组播数据报文被发送到相应的组播VLAN中,并被转发给相应的用户,进而可以使向同一组播组的不同组播源请求组播数据报文的用户准确接收其请求的组播数据报文。
下面结合具体实施例对本发明的方法做进一步具体说明。
参见图3,一种指定源组播协议无关组播模式下跨虚拟局域网组播的方法,包括步骤301建立组播VLAN池,将该组播VLAN池中多个组播VLAN映射到同一个用户VLAN群,结合图4,其具体过程包括vlan25和vlan35都是组播VLAN,vlan1、vlan2、vlan3是一个用户VLAN群。建立组播VLAN池,该组播VLAN池中包括两个VLAN ID,即vlan25和vlan35,将vlan25和vlan35统一映射到vlan1、vlan2和vlan3。
其中,图4是包括两个组播源的跨VLAN组播方法的示意图。
步骤302当用户VLAN群中的用户向同一组播组的不同组播源请求该组播组的组播数据报文时,启用了IGMP-Snooping的二层交换机将为该组播源分配组播VLAN,结合图4,其具体过程包括当vlan1的用户向组播源1请求组播组1的组播数据报文时,而vlan3的用户向组播源2请求组播组1的组播数据报文时,启用了IGMP-Snooping的二层交换机将会侦听到来自vlan1和vlan3的用户的请求信息。其中,组播源1的IP地址为10.1.1.1,组播源2的IP地址为20.1.1.1,组播组1的组播MAC地址为01005E7FFFFF。
二层交换机判断组播源1是否已经被分配过组播VLAN,如果是,则不再为组播源1分配组播VLAN;否则,二层交换机为组播源1分配vlan25。
同理,二层交换机为组播源2分配组播VLAN。
其中,不能将同一个组播VLAN分配给不同的组播源,即如果二层交换机为组播源1分配vlan25,则不能再为组播源2分配vlan25,只能将还未分配的VLAN,即vlan35,分配给组播源2。
二层交换机为组播源1和组播源2分配完组播VLAN后,将保留分配结果,如图5所示。图5记录了组播源与组播VLAN的对应关系。
步骤303二层交换机将所述组播组的组播MAC地址添加到分配的各组播VLAN的组播地址表中,如果所述组播地址表中已经存在该组播MAC地址,则不用再添加。同时将连接用户的端口添加到相应的组播地址表中,如果组播地址表中已经存在相应端口,则不用再添加。
结合图4,其过程具体包括在vlan1的用户和vlan3的用户向组播组1的组播源1和组播源2请求组播组1的组播数据报文,且二层交换机为组播源1分配vlan25、为组播源2分配vlan35后,二层交换机判断组播组1的组播MAC地址,即01005E7FFFFF,是否已经存在于vlan25的组播地址表中,如果不存在,则将所述组播MAC地址添加到vlan25的组播地址表中;否则,不添加。
二层交换机判断01005E7FFFFF是否已经存在于vlan35的组播地址表中,如果不存在,则将01005E7FFFFF添加到vlan35的组播地址表中;否则,不添加。
二层交换机判断vlan1用户的端口,即端口1,是否已经存在于vlan25的组播地址表中,如果不存在,则将端口1添加到vlan25的组播地址表中;否则,不添加。
二层交换机判断vlan3用户的端口,即端口3,是否已经存在于vlan35的组播地址表中,如果不存在,则将端口3添加到vlan35的组播地址表中;否则,不添加。
添加了组播组1的组播MAC地址、以及vlan1用户端口号的vlan25的组播地址表,可以如图6所示。
添加了组播组1的组播MAC地址、以及vlan3用户端口号的vlan35的组播地址表,可以如图7所示。
结合图5和图6可以看出,组播源1不仅属于组播组1而且还属于组播MAC地址为01006E7FFFFF的组播组,vlan2的用户为该组播组的成员,并向组播源1请求该组播组的组播数据报文。
结合图5和图7可以看出,组播源2不仅属于组播组1而且还属于组播MAC地址为01006E8FFFFF的组播组,vlan2的用户为该组播组的成员,并向组播源1请求该组播组的组播数据报文。
步骤304二层交换机将各用户的组播数据报文请求消息添加相应的组播VLAN的tag,将所述请求信息发送到三层设备,其具体过程包括二层交换机将vlan1用户的组播数据报文请求消息添加vlan25的tag,将vlan3用户的组播数据报文请求消息添加vlan35的tag,将所述两个请求消息发送到三层设备。
步骤305三层设备从二层交换机接收到组播数据报文请求信息后,根据所述请求信息中的组播组信息,组播源信息以及其携带的组播VLAN的tag,可以建立组播组、组播源以及组播VLAN这三者的对应关系。
步骤306三层设备收到组播数据报文后,可以获得所述组播数据报文中的组播组信息和组播源信息,并根据组播组、组播源以及组播VLAN这三者的对应关系,为该组播数据报文添加相应组播VLAN的tag。然后,将添加组播VLAN的tag的组播数据报文发送到二层交换机。
步骤307二层交换机接收到来自三层设备的组播数据报文后,可以根据该组播数据报文所携带的tag获知该组播数据所对应的组播VLAN,通过查询相应组播VLAN的组播地址表,将该组播数据报文转发给相应的用户,其具体过程包括二层交换机接收到来自三层设备的组播数据报文后,如果该组播数据报文的tag为vlan25,则二层交换机在vlan25的组播地址表中查询,即在图6中查询。vlan25对应的端口号为1,二层交换机将该组播数据报文发送给端口1对应的用户,完成组播数据报文的转发。
二层交换机接收到来自三层设备的组播数据报文后,如果该组播数据报文的tag为vlan35,则二层交换机在vlan35的组播地址表中查询,即在图7中查询。vlan35对应的端口号为3,二层交换机将该组播数据报文发送给端口3对应的用户,完成组播数据报文的转发。
步骤308当用户离开组播组时,二层交换机将在本机的组播地址表中删除连接该用户的端口;当该组播组的组播MAC地址所包含的用户端口为空时,删除该组播MAC地址;当组播VLAN包含的组播MAC地址为空时,将该组播VLAN的VLAN ID回收到组播VLAN池中。其具体过程包括结合图6,当端口1的用户离开组播组1时,二层交换机将删除端口1;当组播MAC地址01005E7FFFFF所包含的用户端口为空时,删除该组播MAC地址,此时vlan25中还包含组播MAC地址01006E7FFFFF。当端口2的用户也离开时,将删除端口2;当组播MAC地址01006E7FFFFF所包含的用户端口也为空时,删除该组播MAC地址,此时vlan25中包含的组播MAC地址为空,则将vlan25回收到组播VLAN池中。
结合图7,同理,可以将vlan35回收到组播VLAN池中,这里不再重复说明。
基于上述方法,本发明还提供一种指定源组播协议无关组播模式下跨虚拟局域网组播的系统,包括二层交换机和三层设备,其中,二层交换机根据来自各用户的组播数据报文请求消息中的组播源信息,为该请求消息添加组播VLAN的标志,将所述请求信息发送到三层设备;还将根据组播数据报文携带的组播VLAN标志,将所述组播数据报文发送给相应的用户;所述三层设备根据收到的组播数据报文中的组播组信息和组播源信息为该组播数据报文添加相应的组播VLAN标志,将所述组播数据报文发送到所述二层交换机。
其中,二层交换机包括添加标志单元、消息发送单元和组播数据发送单元。
当二层交换机收到各用户的组播数据报文请求消息后,可以获得所述请求消息中的组播源信息,并通过添加标志单元为所述请求消息添加组播VLAN的标志,然后通过消息发送单元将添加组播VLAN的标志的请求消息发送到三层设备。
当二层交换机收到来自三层设备的组播数据时,可以获得该数据报文所携带的组播VLAN标志,并通过组播数据发送单元将所述组播数据报文发送给相应的用户。
其中,三层设备包括添加标志单元和组播数据发送单元。
当三层设备收到组播数据报文后,可以获得该组播数据报文中的组播组信息和组播源信息,并通过添加标志单元为该组播数据报文添加相应的组播VLAN标志,然后通过组播数据发送单元将添加组播VLAN标志的组播数据报文发送到二层交换机。
权利要求
1.一种指定源组播协议无关组播模式下跨虚拟局域网组播的方法,其特征在于,包括二层交换机根据组播数据报文请求消息中的组播源信息,为该请求消息添加组播虚拟局域网VLAN的标志,将所述请求消息发送到三层设备;所述三层设备收到组播数据报文,根据该组播数据报文中的组播组信息和组播源信息为该组播数据报文添加相应的组播VLAN标志,将所述组播数据报文发送到所述二层交换机;二层交换机根据所述组播数据报文携带的组播VLAN标志,将所述组播数据报文发送给相应的用户。
2.根据权利要求1所述的方法,其特征在于,二层交换机按照下述步骤根据组播数据报文请求消息中的组播源信息,为该请求消息添加VLAN标志用户向同一组播组的不同组播源发送组播数据报文请求消息,二层交换机分别为各组播源分配组播VLAN;二层交换机建立所述组播VLAN与组播源的对应关系,建立所述组播VLAN与用户VLAN的对应关系,在各请求消息中添加相应的组播VLAN的标志。
3.根据权利要求2所述的方法,其特征在于,所述用户属于预先设置的用户VLAN群,所述组播VLAN属于预先设置的组播VLAN池。
4.根据权利要求3所述的方法,其特征在于,所述预先设置的组播VLAN池中的每个组播VLAN都映射到所述预先设置的用户VLAN群。
5.根据权利要求2所述的方法,其特征在于,所述二层交换机按照下述步骤建立组播VLAN与用户VLAN的对应关系二层交换机将所述组播组的组播介质访问控制MAC地址、以及所述不同用户VLAN中的用户的端口号添加到相应的组播VLAN的组播地址表中。
6.根据权利要求2所述的方法,其特征在于,所述二层交换机按照下述步骤根据所述组播数据报文携带的组播VLAN标志,将所述组播数据报文发送给相应的用户二层交换机根据组播数据报文携带的组播VLAN标志获知该组播数据报文所对应的组播VLAN,根据所述组播VLAN与用户VLAN的对应关系,将该组播数据报文发送给相应的用户VLAN的用户。
7.根据权利要求6所述的方法,其特征在于,进一步包括当用户离开所述组播组时,二层交换机将在该组播组删除该用户的信息;当所述组播组中的用户为空时,二层交换机将删除所属组播组的信息;当组播VLAN所对应的组播组为空时,将该组播VLAN回收到组播VLAN池中。
8.根据权利要求2所述的方法,其特征在于,进一步包括如果组播源已经被分配过组播VLAN,则二层交换机不再为该组播源重新分配组播VLAN。
9.根据权利要求1所述的方法,其特征在于,三层设备按照下述步骤为组播数据报文添加相应的组播VLAN标志三层设备根据来自二层交换机的请求消息中的组播组信息、组播源信息以及组播VLAN标志,建立三者之间的对应关系;根据组播数据报文中的组播组信息和组播源信息,为该组播数据报文添加相应的组播VLAN标志。
10.根据权利要求1至9任意一项所述的方法,其特征在于,所述二层交换机启用因特网组管理监听协议。
11.一种指定源组播协议无关组播模式下跨虚拟局域网组播的系统,包括二层交换机和三层设备,其特征在于,所述二层交换机根据组播数据报文请求消息中的组播源信息,为该请求消息添加组播VLAN的标志,将所述请求信息发送到所述三层设备;还将根据组播数据报文携带的组播VLAN标志,将所述组播数据报文发送给相应的用户;所述三层设备根据接收到的组播数据报文中的组播组信息和组播源信息为该组播数据报文添加相应的组播VLAN标志,将所述组播数据报文发送到所述二层交换机。
12.根据权利要求11所述的方法,其特征在于,所述二层交换机包括添加标志单元,用于根据组播数据报文请求消息中的组播源信息,为该请求消息添加组播VLAN的标志;消息发送单元,用于将添加组播VLAN的标志的请求消息发送到三层设备;组播数据发送单元,用于根据组播数据报文携带的组播VLAN标志,将所述组播数据报文发送给相应的用户。
13.根据权利要求11所述的方法,其特征在于,所述三层设备包括添加标志单元,用于根据接收到的组播数据报文中的组播组信息和组播源信息为该组播数据报文添加相应的组播VLAN标志;组播数据发送单元,用于将添加组播VLAN标志的组播数据报文发送到二层交换机。
全文摘要
本发明公开一种指定源组播协议无关组播模式下跨虚拟局域网组播的方法,包括二层交换机根据组播数据报文请求消息中的组播源信息,为该请求消息添加组播虚拟局域网VLAN的标志,将所述请求信息发送到三层设备;所述三层设备收到组播数据报文,根据该组播数据报文中的组播组信息和组播源信息为该组播数据报文添加相应的组播VLAN标志,将所述组播数据报文发送到所述二层交换机;二层交换机根据所述组播数据报文携带的组播VLAN标志,将所述组播数据报文发送给相应的用户。本发明同时公开一种指定源组播协议无关组播模式下跨虚拟局域网组播的系统。
文档编号H04L29/06GK1889448SQ20061010330
公开日2007年1月3日 申请日期2006年7月18日 优先权日2006年7月18日
发明者周迪, 王杨, 张利岗 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1