发送组播报文的方法及交换机的制作方法

文档序号:9238055阅读:1151来源:国知局
发送组播报文的方法及交换机的制作方法
【技术领域】
[0001]本发明涉及网络技术领域,特别是涉及一种发送组播报文的方法及交换机。
【背景技术】
[0002]多链接透明互联(英文!TransparentInterconnect1n of Lots of Links,缩写:TRILL)是一种新的用于构建大规模二层网络的协议,在TRILL双活的场景下,用户设备(英文:Customer Edge,缩写CE)连接两台路由桥(英文:Routing Bridge,缩写:RB)RB1和RB2,进行双活组网。此时,CE发出的组播报文经过RBl封装后,有可能会被RBl发送到RB2,并由RB2解封装后再发送到CE设备。这样CE设备会收到自己发送的报文,这会引起组播报文在网络中的循环,造成网络资源的浪费。因此,需要避免这种情况发生。
[0003]为了避免上述情况发生,现有技术采用虚拟昵称(nickname)的方案,具体是:如果CE连接两台路由桥,该两台路由桥组成了一个边缘组,该边缘组中的多个路由桥具有共同的虚拟nickname,则边缘组中的路由桥在对该CE发送的组播报文进行TRILL协议封装时,TRILL头中的源路由桥的nickname为该虚拟nickname ;如果CE仅连接一台路由桥,路由桥对该CE发送的组播报文进行TRILL封装时,TRILL头中的源交换机nickname是该路由桥真实的nickname ο如图1所示=CEl连接RBI, CE2连接RBl和RB2, CE3连接RB2, CE2发送组播报文给RB1,RBl对该组播报文进行TRILL封装时,TRILL头中的源路由桥nickname是虚拟nickname,RB2收到该TRILL封装后的组播报文之后,根据该组播报文的TRILL头中的源路由桥nickname进行判断,当确定该源nickname为虚拟nickname时,只在对该TRILL报文解封装得到原始组播报文后,将该原始组播报文转发一份给CE3,但不转发给CE2,从而防止CE2发送的组播报文又返回给CE2。
[0004]但是,本申请的发明人在研发中发现,上述方案要求RB可以基于源端口在对组播报文进行TRILL封装时在TRILL头的源路由桥nickname中封装不同的nickname,这对芯片有特殊的要求,当双归组(即一台CE连接两台RB的情况)较多的时候,要求RB支持的nickname也较多,当前商用芯片很难支持。

【发明内容】

[0005]本发明主要解决的技术问题是提供一种发送组播报文的方法及交换机,能够不需要特殊要求的芯片,实现多活接入的用户设备发送的报文不会通过环路返回自身,从而避免浪费网络资源。
[0006]第一方面,本发明提供一种发送组播报文的方法,包括:第一交换机接收来自第一用户设备或第二用户设备的组播报文,其中,所述第一用户设备单归接入所述第一交换机,所述第二用户设备多活接入包括所述第一交换机的N个交换机,所述N大于等于2 ;所述第一交换机确定所述第一交换机的指定组播树,所述指定组播树是从网络中已生成的N个组播树中预先指定的,所述N个交换机分别属于所述N个不同的指定组播树;所述第一交换机对所述组播报文进行封装,封装后的组播报文的头部中的目的交换机唯一标识地址是所述第一交换机的指定组播树的根的唯一标识地址;所述第一交换机通过所述第一交换机的指定组播树向网络侧转发所述封装后的组播报文。
[0007]在第一方面的第一种可能的实现方式中,所述网络侧连接的是多链接透明互联TRILL网络,所述指定组播树的根的唯一标识地址为所述根的昵称nickname。
[0008]结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述确定所述第一交换机的指定组播树,具体包括:所述第一交换机根据所述组播报文中携带的组播组标识以及所述第一交换机上预先配置的指定转发表,确定所述第一交换机的指定组播树,所述指定转发表的表项包括所述组播组标识以及所述指定组播树的标识;所述第一交换机通过所述第一交换机的指定组播树向网络侧转发所述封装后的组播报文包括:所述第一交换机通过根据所述租户标识对所述第一交换机的指定组播树进行剪枝后的组播树向网络侧转发所述封装后的组播报文,所述租户标识是根据所述组播组标识确定的,所述封装后的组播报文还包括所述租户标识。
[0009]第二方面,本发明提供一种发送组播报文的方法,包括:第一交换机接收来自网络侧的第一组播报文;所述第一交换机对所述第一组播报文进行解封装,从所述第一组播报文的头部中获得所述第一组播报文的目的交换机唯一标识地址;确定所述第一组播报文的目的交换机唯一标识地址是否是所述第一交换机的指定组播树的根的唯一标识地址;若所述第一组播报文的目的交换机唯一标识地址不是所述第一交换机的指定组播树的根的唯一标识地址,则所述第一交换机仅向所述组播组的所有用户侧端口中的单归端口组播发送解封装后的第一组播报文,所述所有用户侧端口包括至少一个单归端口和至少一个多归端口,所述至少一个多归端口连接的用户设备多活接入包括所述第一交换机的N个交换机,所述第一交换机的指定组播树是从网络中已生成的N个组播树中预先指定的,所述N个交换机分别属于N个不同的指定组播树,所述N大于等于2。
[0010]在第二方面的第一种可能的实现方式中,所述方法还包括:第一交换机接收来自网络侧的第二组播报文,所述第二组播报文和所述第一组播报文属于同一组播组;所述第一交换机对所述第二组播报文进行解封装,从所述第二组播报文的头部中获得所述第二组播报文的目的交换机唯一标识地址;确定所述第二组播报文的目的交换机唯一标识地址是否是所述第一交换机的指定组播树的根的唯一标识地址;若所述第二组播报文的目的交换机唯一标识地址是所述第一交换机的指定组播树的根的唯一标识地址,则所述第一交换机向所述指定组播树的所有用户侧端口组播发送解封装后的第二组播报文。
[0011]结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述网络侧连接的是多链接透明互联TRILL网络。
[0012]结合第二方面、第二方面的第一种或第二种中任意一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述确定所述第一组播报文的目的交换机唯一标识地址是否是所述第一交换机的指定组播树的根的唯一标识地址包括:根据所述第一组播报文的租户标识获取所述第一组播报文的组播组标识;根据所述第一组播报文的组播组标识以及目的交换机唯一标识地址查找所述第一交换机上预先设置的指定转发表;当查找到包括所述第一组播报文的组播组的标识以及目的交换机唯一标识地址的表项时,确定所述第一组播报文的目的交换机唯一标识地址是所述第一交换机的指定组播树的根的唯一标识地址,否则,确定所述第一组播报文的目的交换机唯一标识地址不是所述第一交换机的指定组播树的根的唯一标识地址。
[0013]第三方面,本发明提供一种交换机,所述交换机包括:接收模块、确定模块、封装模块以及转发模块,所述交换机为第一交换机;所述接收模块用于接收来自第一用户设备或第二用户设备的组播报文,其中,所述第一用户设备单归接入所述第一交换机,所述第二用户设备多活接入包括所述第一交换机的N个交换机,所述N大于等于2 ;所述确定模块用于确定所述第一交换机的指定组播树,所述指定组播树是从网络中已生成的N个组播树中预先指定的,所述N个交换机分别属于所述N个不同的指定组播树;所述封装模块用于对所述组播报文进行封装,封装后的组播报文的的头部中的目的交换机唯一标识地址是所述确定模块确定的所述第一交换机的指定组播树的根的唯一标识地址;所述转发模块用于通过所述第一交换机的指定组播树向网络侧转发所述封装模块封装后的组播报文。
[0014]在第三方面的第一种可能的实现方式中,所述网络侧连接的是多链接透明互联TRILL网络,所述指定组播树的根的唯一标识地址为所述根的昵称nickname。
[0015]结合第三方面、第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述确定模块具体用于根据所述组播报文中携带的组播组标识以及所述第一交换机上预先配置的指定转发表,确定所述第一交换机的指定组播树,所述指定转发表的表项包括所述组播组标识以及所述指定组播树的标识;所述转发模块具体用于通过根据所述租户标识对所述第一交换机的指定组播树进行剪枝后的组播树向网络侧转发所述封装后的组播报文,所述租户标识是根据所述组播组标识确定的,所述封装后的组播报文还包括所述租户标识。
[0016]第四方面,本发明提供一种交换机,所述交换机包括:接收模块、解封装模块、确定模块以及发送模块,所述交换机为第一交换机;所述接收模块用于接收来自网络侧的第一组播报文;所述解封装模块用于在所述接收模块接收来自网络侧的第一组播报文后,对所述第一组播报文进行解封装,从所述第一组播报文的头部中获得所述第一组播报文的目的交换机唯一标识地址;所述确定模块用于确定所述解封装模块解封装后的第一组播报文的目的交换机唯一标识地址是否是所述第一交换机的指定组播树的根的唯一标识地址;所述发送模块用于在所述确定模块的确定结果是所述第一组播报文的目的交换机唯一标识地址不是所述第一交换机的指定组播树的根的唯一标识地址时,仅向所述组播组的所有用户侧端口中的单归端口组播发送解封装后的第一组播报文,所述所有用户侧端口包括至少一个单归端口和至少一个多归端口,所述至少一个多归端口连接的用户设备多活接入包括所述第一交换机的N个交换机,所述第一交换机的指定组播树是从网络中已生成的N个组播树中预先指定的,所述N个交换机分别属于N个不同的指定组播树,所述N大于等于2。
[0017]在第四方面的第一种可能的实现方式中,所述接收模块还用于接收来自网络侧的第二组播报文,所述第二组播报文和所述第一组播报文属于同一组播组;所述解封装模块还用于在所述接收模块接收来自网络侧的第二组播报文后,对所述第二组播报文进行解封装,从所述第二组播报文的头部中获得所述第二组播报文的目的交换机唯一标识地址;所述确定模块还用于确定所述解封装模块解封装后的所述第二组播报文的目的交换机唯一标识地址是否是所述第一交换机的指定组播树的根的唯一标识地址;所述发送模块还用于在所述确定模块的确定结果是所述第二组播报文的目的交换机唯一标识地址是所述第一交换机的指定组播树的根的唯一标识地址时,向所述指定组播树的所有用户侧端口组播发送解封装后的第二组播报文。
[0018]结合第四方面、第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述网络侧连接的是多链接透明互联TRILL网络。
[0019]结合第四方面、第四方面的第一种或第二种中任意一种可能的实现方式,在第四方面的第三种可能的实现方式中,所述确定模块包括获取单元、查找单元以及确定单元;所述获取单元用于根据所述第一组播报文的租户标识获取所述第一组播报文的组播组标识;所述查找单元用于根据所述获取单元获得的第一组播报文的组播组标识以及目的交换机唯一标识地址查找所述第一交换机上预先设置的指定转发表;所述
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1