组播转发表项的下发方法及设备的制作方法

文档序号:7866994阅读:155来源:国知局
专利名称:组播转发表项的下发方法及设备的制作方法
技术领域
本申请涉及通信网络技术领域,特别涉及一种组播转发表项的下发方法及设备。
背景技术
随着服务器和交换机数量的不断增加,数据中心网络越来越倾向于扁平化的网络架构,以便于维护管理,这就要求构建一个大型的二层(Layer 2,L2)网络。传统的二层网络通过生成树协议(Spanning Tree Protocol, STP)来消除环路,但是,生成树协议本身所固有的一些缺陷使其不再适用于数据中心网络,例如(I)生成树协议通过阻塞冗余链路来消除环路,但是数据中心网络难以承受这种
带宽浪费;(2)生成树协议要求所有的数据必须经由根桥转发,这样会影响转发效率;(3)生成树协议无法携带TTL (Time To Live,生存时间)参数,这样,一旦出现二层环路,会造成整网瘫痪;(3)生成树协议收敛速度较慢,重新收敛对数据流有较大的影响。为了解决生成树协议的上述问题,IETF (Internet Engineering Task Force,互联网工程任务组)通过制定 TRILL (TRansparent Interconnection of Lots of Links,多链路透明互联)协议将三层路由技术IS-IS (Intermediate System-to-IntermediateSystem,中间系统到中间系统)的设计思路引入二层网络,并对其进行了必要的改造。从而将二层的简单、灵活性与三层的稳定、可扩展和高性能有机地融合起来。图I和图2是典型的TRILL网络的架构示意图。TRILL网络是由RB(RoutingBridge,路由桥)构成的二层网络。运行TRILL协议的Bridge设备称为RB,也写作RBridge0 根据在 TRILL 网络中的位置,RB 又可分为 Ingress RB、Transit RB 和 EgressRB三种,分别表示报文进入TRILL网络的入节点、在TRILL网络中经过的中间节点以及离开TRILL网络的出节点,如图I所示。RB在TRILL网络中的地址由NickName (昵称)表示,NickName是RB在TRILL网络中的唯一标识。Nickname由系统自动分配,无需配置。在TRILL网络中,存在两类转发表项单播转发表项和组播转发表项。其中,单播转发表项用于指导目的MAC地址已知的单播报文的转发,组播转发表项用于指导多目的报文的转发,多目的报文包括目的MAC地址未知的单播报文、广播报文和组播报文。TRILL网络中的每一个RB设备会根据LSDB (Link State Database,链路状态数据库)中的信息计算和选择组播树的树根。为了提高数据流的转发效率,在每一个组播树上可以按照每一个VLAN(VirtualLocal Area Network,虚拟局域网)或每一个组播 MAC (Media Access Control,媒体访问控制)地址建立组播转发表项,实现多目的报文按照根RB+VLAN或根RB+VLAN+MAC的剪枝转发。因此,根据key (关键词)的不同,组播转发表项分为A类组播转发表项、B类组播转发表项和C类组播转发表项,其中,A类组播转发表项为基于根RB (即为组播树的树根)的组播转发表项,B类组播转发表项为基于根RB (即为组播树的树根)和VLAN的组播转发表项,C类组播转发表项为基于根RB (即为组播树的树根)、VLAN和MAC (组播MAC)的组播转发表项。这样,在报文转发过程中,RB接收到多目的报文后,会按照C->B->A的查表顺序查找匹配的组播转发表项,即,先在C类转发表中查找,若查找不到,则继续在B类转发表中查找,还查找不到,则在A类转发表中查找,在查找到匹配的组播转发表项后,根据匹配或命中的组播转发表项中的内容对接收到的多目的报文进行转发。 在一个大型的TRILL网络中,可能会存在多个组播树,每一个组播树上存在多个VLAN,每一个VLAN内存在多个组播MAC地址。这样,在RB设备中的包括A类、B类和C类组播转发表项在内的组播转发表项的个数就非常多。当TRILL网络的网络拓扑发生变化时,需要更新下发的组播转发表项的数量就可能很多,下发这些大量的组播转发表项所需要的时间就比较长,组播转发表项下发的效率较低,并且,将数据流切换到正确链路上的时间也会比较长。

发明内容
本申请提供了一种组播转发表项的下发方法及设备,以解决现有技术中存在的在网络拓扑发生变化时,下发组播转发表项所需要的时间较长,组播转发表项下发的效率较低,并且,将数据流切换到正确链路上的时间也较长的问题。本申请的技术方案如下一方面,提供了一种组播转发表项的下发方法,应用于TRILL网络中的RB,该方法包括计算出组播转发表项,其中,组播转发表项中包括A类组播转发表项和B类组播转发表项;将计算出的A类组播转发表项下发到数据平面;对于计算出的每一个B类组播转发表项,仅在该B类组播转发表项的表项内容与第一 A类组播转发表项的表项内容不同时,将该B类组播转发表项下发到数据平面,其中,第一 A类组播转发表项为计算出的A类组播转发表项中与该B类组播转发表项的根RB相同的组播转发表项。另一方面,还提供了一种TRILL网络中的RB,包括计算模块,用于计算出组播转发表项,其中,组播转发表项中包括A类组播转发表项和B类组播转发表项;比较模块,用于对于计算模块计算出的每一个B类组播转发表项,比较该B类组播转发表项的表项内容与第一 A类组播转发表项的表项内容是否相同,其中,第一 A类组播转发表项为计算出的A类组播转发表项中与该B类组播转发表项的根RB相同的组播转发表项;下发模块,用于将计算模块计算出的A类组播转发表项下发到数据平面;还用于对于计算模块计算出的每一个B类组播转发表项,仅在比较模块的比较结果为该B类组播转发表项的表项内容与第一A类组播转发表项的表项内容不同时,将该B类组播转发表项下发到数据平面。在本申请的技术方案中,当基于相同的根RB的B类和A类组播转发表项的表项内容相同时,不再下发该B类组播转发表项,只有在不同时,才下发该B类组播转发表项,从而,通过B类组播转发表项和与其根RB相同的A类组播转发表项的复用,可以有效地减少下发的组播转发表项的个数,缩短下发组播转发表项所需要的时间,提高网络拓扑变化时组播转发表项的下发效率,并且,有效缩短将数据流切换到正确链路上的时间,同时也没有 造成组播数据流的多发。


图I是现有技术中一种典型的TRILL网络的架构示意图;图2是现有技术中另一种典型的TRILL网络的架构示意图;图3是本申请的实施例一的组播转发表项的下发方法的流程示意图;图4是本申请的实施例二的组播转发表项的下发方法的流程示意图;图5是本申请的实施例三的TRILL网络中的RB的结构示意图。
具体实施例方式为了解决现有技术中存在的在网络拓扑发生变化时,下发组播转发表项所需要的时间较长,组播转发表项下发的效率较低,并且,将数据流切换到正确链路上的时间也较长的问题,本申请的以下实施例提供了一种TRILL网络中的组播转发表项的下发方法以及可以应用该方法的RB。对于A类组播转发表项、B类组播转发表项和C类组播转发表项这三类组播转发表项,其表项内容主要包括两部分本地网络中是否存在组播接收者的标识,该标识用于判断是否需要将收到的TRILL数据报文解封装后进行本地转发,以及,一个用于TRILL数据报文转发的端口列表。其中,端口列表中可能包含有一个或多个端口(目前最多支持255个端口),每一个端口都有端口索引等信息。接入层的RB接入TRILL网络中的端口数量相当有限,因此,大量组播转发表项的内容可能是完全相同的。所以,当基于相同的根RB的B类和A类组播转发表项的表项内容相同(本地网络中是否存在组播接收者的标识相同,且端口列表相同)时,不再需要下发该B类组播转发表项;同样,当基于相同的根RB和VLAN的C类和B类组播转发表项的表项内容相同(本地网络中是否存在组播接收者的标识相同,且端口列表相同)时,不再需要下发该C类组播转发表项。从而,通过组播转发表项的复用,即,B类组播转发表项和与其根RB相同的A类组播转发表项复用,C类组播转发表项和与其根RB、VLAN相同的B类组播转发表项复用,可以有效地减少下发的组播转发表项的个数,缩短了下发组播转发表项所需要的时间,提高了网络拓扑变化时组播转发表项的下发效率,并且,有效缩短了将数据流切换到正确链路上的时间,同时也没有造成组播数据流的多发。实施例一本申请的实施例一的组播转发表项的下发方法可以由TRILL网络中的任意一个RB来执行。如图3所示,该方法包括以下步骤步骤S301,计算出组播转发表项,其中,计算出的组播转发表项中包括A类组播转发表项和B类组播转发表项;其中,A类组播转发表项的格式可以如表I所示,B类组播转发表项的格式可以如表2所不表I
根 RB 的 NickName表 2
本地网络中是否存在组播接收者的标识
端口列表
权利要求
1.一种组播转发表项的下发方法,应用于多链路透明互联TRILL网络中的路由桥RB,其特征在于,所述方法包括计算出组播转发表项,其中,组播转发表项中包括:A类组播转发表项和B类组播转发表项;将计算出的A类组播转发表项下发到数据平面;对于计算出的每一个B类组播转发表项,仅在该B类组播转发表项的表项内容与第一A类组播转发表项的表项内容不同时,将该B类组播转发表项下发到数据平面,其中,第一 A类组播转发表项为所述计算出的A类组播转发表项中与该B类组播转发表项的根RB相同的组播转发表项。
2.根据权利要求I所述的方法,其特征在于,组播转发表项中还包括C类组播转发表项;则,所述方法还包括对于计算出的每一个C类组播转发表项,仅在该C类组播转发表项的表项内容与第一B类组播转发表项的表项内容不同时,将该C类组播转发表项下发到数据平面,其中,第一 B类组播转发表项为所述计算出的B类组播转发表项中与该C类组播转发表项的根RB和虚拟局域网VLAN相同的组播转发表项。
3.根据权利要求2所述的方法,其特征在于,A类组播转发表项为基于组播树的根RB的组播转发表项,B类组播转发表项为基于组播树的根RB和VLAN的组播转发表项,C类组播转发表项为基于组播树的根RB、VLAN和组播媒体访问介质MAC地址的组播转发表项。
4.根据权利要求I至3中任一项所述的方法,其特征在于,表项内容中包括端口列表和本地网络中是否存在组播接收者的标识。
5.一种多链路透明互联TRILL网络中的路由桥RB,其特征在于,包括计算模块,用于计算出组播转发表项,其中,组播转发表项中包括:A类组播转发表项和B类组播转发表项;比较模块,用于对于所述计算模块计算出的每一个B类组播转发表项,比较该B类组播转发表项的表项内容与第一 A类组播转发表项的表项内容是否相同,其中,第一 A类组播转发表项为所述计算出的A类组播转发表项中与该B类组播转发表项的根RB相同的组播转发表项;下发模块,用于将所述计算模块计算出的A类组播转发表项下发到数据平面;还用于对于所述计算模块计算出的每一个B类组播转发表项,仅在所述比较模块的比较结果为该B类组播转发表项的表项内容与第一 A类组播转发表项的表项内容不同时,将该B类组播转发表项下发到数据平面。
6.根据权利要求5所述的RB,其特征在于,所述计算模块计算出的组播转发表项中还包括C类组播转发表项;则,所述比较模块,还用于对于所述计算模块计算出的每一个C类组播转发表项,比较该C类组播转发表项的表项内容与第一B类组播转发表项的表项内容是否相同,其中,第一B类组播转发表项为所述计算出的B类组播转发表项中与该C类组播转发表项的根RB和虚拟局域网VLAN相同的组播转发表项;所述下发模块,还用于对于所述计算模块计算出的每一个C类组播转发表项,仅在所述比较模块的比较结果为该C类组播转发表项的表项内容与第一B类组播转发表项的表项内容不同时,将该C类组播转发表项下发到数据平面。
7.根据权利要求6所述的RB,其特征在于,A类组播转发表项为基于组播树的根RB的组播转发表项,B类组播转发表项为基于组播树的根RB和VLAN的组播转发表项,C类组播转发表项为基于组播树的根RB、VLAN和组播媒体访问介质MAC地址的组播转发表项。
8.根据权利要求5至7中任一项所述的RB,其特征在于,表项内容中包括 端口列表和本地网络中是否存在组播接收者的标识。
全文摘要
本申请公开了一种组播转发表项的下发方法及设备,其中,该方法包括计算出组播转发表项,其中,组播转发表项中包括A类组播转发表项和B类组播转发表项;将计算出的A类组播转发表项下发到数据平面;对于计算出的每一个B类组播转发表项,仅在该B类组播转发表项的表项内容与第一A类组播转发表项的表项内容不同时,将该B类组播转发表项下发到数据平面,其中,第一A类组播转发表项为计算出的A类组播转发表项中与该B类组播转发表项的根RB相同的组播转发表项。本申请可以有效地减少下发的组播转发表项的个数,缩短下发组播转发表项所需的时间,提高网络拓扑变化时组播转发表项的下发效率,并且,有效缩短将数据流切换到正确链路上的时间。
文档编号H04L12/761GK102946357SQ20121049866
公开日2013年2月27日 申请日期2012年11月28日 优先权日2012年11月28日
发明者邹文宇 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1