一种trill网络互连的方法和系统的制作方法

文档序号:7589111阅读:112来源:国知局
专利名称:一种trill网络互连的方法和系统的制作方法
技术领域
本发明涉及网络通信技木,特别是指一种多链接透明互连(TRILL)网络互连的方法和系统。
背景技术
多链接透明互连(TRILL,Transparent Interconnection over Lots of Links)是互联网工程任务组(IETF, Internet Engineering Task Force)推荐的连接层(L2)网络标准,用于解决大型数据中心(DC, Data Center)中生成树协议(STP, Spanning Treeprotocol)的不足。在L2网络中,STP通过阻塞冗余链路来避免环路,但同时也造成了冗余链路带宽的浪费。TRILL通过将中间系统到中间系统(IS-IS, Intermediate System toIntermediate System)的路由协议引入L2网络,解决了 L2环路问题,同时保留了 L2多路径(或称为等价多路径(ECMP, Equivalent Cost Multiple Path))。在TRILL网络中,运行TRILL协议的设备称为路由网桥(RB,RBridge)。在TRILL网络的入口,负责将端系统(End System)的单播数据帧封装成TRILL格式(即在原始数据帧前面添加TRILL报文头和内层MAC帧头,封装后的数据帧称为TRILL数据帧,如图3所示)并注入TRILL网络的RB称为Ingress ;而在TRILL网络的出口,负责将TRILL数据帧解封为原始数据巾贞并转发给端系统的RB称为Egress。除了 Ingress和Egressタト,其他RB负责将TRILL数据帧从Ingress —跳一跳地传送到Egress,称为传输RB。TRILL的应用场景主要是大型DC,在云计算中,DC之间的互通是在所难免的,因此TRILL网络之间的互连也是个无法回避的问题。目前TRILL协议对ー个TRILL网络内部的控制面和数据面的技术进行了详细描述,但尚未涉足不同TRILL网络之间的互通领域。TRILL网络之间的互连是目前TRILL工作组讨论的热点,尚处在草案讨论和提交阶段。在目前的DC 互连技术中,OTV(Overlay Transport Virtualization)技术具有代表性,它采用了 MAC in IP的封装技术实现了 DC之间的互连。为了实现DC之间的互通,DC的边界设备需要存储到达其他DC内的设备的MAC信息(DC间的MAC信息表),随着互连的DC不断增多以及DC规模的不断増大,这张MAC信息表会迅速膨胀到难以承受的程度。因此,OTV技术在DC的互连规模上存在不足。结合TRILL网络互连的需求以及OTV技术的不足,本专利提出了一种新的TRILL网络互连的解决方案。

发明内容
有鉴于此,本发明的主要目的在于提供ー种TRILL网络互连的方法和系统,能够满足TRILL网络互连的需求以及解决OTV技术在DC的互连规模上存在的不足。为达到上述目的,本发明的技术方案是这样实现的本发明提供了ー种TRILL网络互连的方法,该方法包括第一多链接透明互连(TRILL)网络的边界路由网桥(BRB)接收第二 TRILL网络发送的TRILL数据帧,并转发;第一 TRILL网络的路由网桥(RB)接收所述BRB发送的TRILL数据帧,通过所述BRB发布的TLV格式的控制信息或者通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息,并将解封装后的原始数据帧转发给目的MAC对应的设备;所述RB根据学习的所述路径信息封装TRILL数据帧,并通过所述BRB发送给所述第二 TRILL网络。其中,所述BRB为TRILL网络的出口和入口 ;并且所述BRB的至少ー个接ロ位于TRILL网络中、以及至少ー个接ロ位于其他非TRILL 网络中;并且所述BRB具有至少ー个全球卩隹ー标识,所述全球卩隹ー标识为IP地址或MAC地址或Nickname。该方法还包括在所述TRILL数据帧的TRILL报文头中携带本地TRILL网络的出ロ信息和/或远端TRILL网络的入口信息。第一 TRILL网络的RB通过所述BRB发布的TLV格式的控制信息学习到达所述第ニ TRILL网络的路径信息吋,在所述TRILL数据帧的TRILL报文头中的Egress携带远端TRILL网络的入口信息;当TRILL数据帧离开本地TRILL网络时,所述的BRB在所述TRILL数据帧的TRILL报文头中的Ingress携带本地TRILL网络的出ロ信息。第一 TRILL网络的RB通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息时,通过TRILL报文头的选项域携带本地TRILL网络的出ロ信息和/或远端TRILL网络的入口信息。该方法还包括所述BRB周期性地、或者在接收到本地TRILL网络内其他RB的请求后,将产生的包含自身所知的其他TRILL网络的入口 BRB的TLV格式的控制信息进行发布,用于将自身所知的所有其他TRILL网络的入ロ BRB通告给本地TRILL网络的其他RB ;RB接收到所述TLV格式的控制信息后,计算自身到达TLV中包含的BRB的等价多路径(ECMP)信息,并存储在自身的ECMP表中。该方法还包括所述第二 TRILL网络向第一 TRILL网络发送TRILL数据帧,包括所述第二 TRILL网络的BRB接收到离开本地TRILL网络的TRILL数据帧吋,对接收到的TRILL数据帧重新封装,在TRILL数据帧的TRILL报文头中携带本地TRILL网络的出ロ信息,并将重新封装后的TRILL数据帧通过其他非TRILL网络传送给所述第一 TRILL网络的BRB。所述第一 TRILL网络的BRB转发接收到的TRILL数据帧,包括所述第一 TRILL网络的BRB接收TRILL数据帧进行解封装后,根据TRILL数据帧中的目的MAC查找自身的MAC信息表,确定目的MAC可达时,获取与目的MAC相连的RB ;第一 TRILL网络的BRB对接收TRILL数据帧重新封装,将重新封装后的TRILL数据帧转发给所述与目的MAC相连的RB。通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息时,所述第一TRILL网络的BRB对接收的TRILL数据帧重新封装,包括将Ingress设置为自身,将Egress设置为所述与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变;
通过所述BRB发布的TLV格式的控制信息学习到达所述第二 TRILL网络的路径信息吋,所述第一 TRILL网络的BRB对接收的TRILL数据帧重新封装,包括=Ingress保持不变;将Egress设置为所述与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变。所述第一 TRILL网络的RB根据学习的所述路径信息封装TRILL数据巾贞,包括所述第一 TRILL网络的RB为Ingress时,在TRILL报文头中携带远端TRILL网络的入口信息。所述第一 TRILL网络的RB根据学习的所述路径信息将封装后的TRILL数据帧发送给所述第一 TRILL网络的BRB,并通过其他非TRILL网络传送给所述第二 TRILL网络的 BRB。本发明还提供了ー种TRILL网络互连的系统,该系统包括BRB和RB,其中,所述BRB位于第一 TRILL网络时,用于接收第二 TRILL网络发送的TRILL数据帧并转发;所述RB位于第一 TRILL网络时,用于接收所述BRB发送的TRILL数据帧,通过所述BRB发布的TLV格式的控制信息或者通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息,并将解封装后的原始数据帧转发给目的MAC对应的设备;还用于根据学习的所述路径信息封装TRILL数据帧,并通过所述BRB发送给所述第二 TRILL网络。其中,所述BRB为TRILL网络的出口和入口 ;并且所述BRB的至少ー个接ロ位于TRILL网络中、以及至少ー个接ロ位于其他非TRILL网络中;并且所述BRB具有至少ー个全球卩隹ー标识,所述全球卩隹ー标识为IP地址或MAC地址或Nickname。所述BRB位于第二 TRILL网络时,还用于接收到离开本地TRILL网络的TRILL数据帧时,对接收到的TRILL数据帧重新封装,在TRILL数据帧的TRILL报文头中携帯本地TRILL网络的出ロ信息,并将重新封装后的TRILL数据帧通过其他非TRILL网络传送给所述第一 TRILL网络的BRB ;所述本地TRILL网络的出口信息为本地TRILL网络的出口 BRB的全球唯一标识。所述BRB位于第一 TRILL网络时,还用于接收第二网络发送的TRILL数据帧进行解封装后,根据TRILL数据帧中的目的MAC查找自身的MAC信息表,确定目的MAC可达时,获取与目的MAC相连的RB ;还用于对接收TRILL数据帧重新封装,并将重新封装后的TRILL数据帧转发给所述与目的MAC相连的RB。在第一 TRILL网络的RB通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息时,位于第一 TRILL网络的所述BRB对接收的TRILL数据帧重新封装吋,还用于将Ingress设置为自身,将Egress设置为所述与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变;在第一 TRILL网络的RB通过所述BRB发布的TLV格式的控制信息学习到达所述第二 TRILL网络的路径信息时,位于第一 TRILL网络的所述BRB对接收的TRILL数据帧重新封装时,还用于将Ingress保持不变;将Egress设置为所述与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变。
所述RB位于第一 TRILL网络、且为Ingress吋,还用于根据学习的所述路径信息封装TRILL数据帧,在TRILL报文头中携带远端TRILL网络的入口信息;所述远端TRILL网络的入口信息为所述第二 TRILL网络的入口 BRB的全球唯一标识;并根据学习的所述路径信息将封装后的TRILL数据帧发送给所述第一 TRILL网络的BRB ;相应的,BRB位于第一 TRILL网络时,还用于通过其他非TRILL网络将接收的TRILL数据帧传送给所述第二 TRILL网络的BRB。在所述TRILL数据帧的TRILL报文头中携带本地TRILL网络的出口信息、远端TRILL网络的入口信息,包括第一 TRILL网络的RB通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息时,在所述TRILL数据帧的TRILL报文头的选项域中携帯本地TRILL网络的出ロ信息和/或远端TRILL网络的入口信息;或者,第一 TRILL网络的RB通过所述BRB发布的TLV格式的控制信息学习到达所述第ニTRILL网络的路径信息时,通过TRILL报文头的Egress携带远端TRILL网络的入口信息;在TRILL数据帧离开本地网络时,所述BRB通过TRILL报文头的Ingress携带本地TRILL网络的出口信息。所述BRB还用于,周期性地、或者在接收到本地TRILL网络内其他RB的请求后,将产生的包含自身所知的其他TRILL网络的入口 BRB的TLV格式的控制信息进行发布,用于将自身所知的所有其他TRILL网络的入口 BRB通告给本地TRILL网络的其他RB ;所述RB,还用于接收到所述TLV格式的控制信息后,计算自身到达TLV中包含的BRB的ECMP信息,并存储在自身的ECMP表中。由此可见,本发明通过在TRILL报文头中添加本地TRILL网络的出ロ信息和远端TRILL网络的入口信息,引入BRB,解决了跨越传统网络互连多个TRILL网络的问题。与OTV技术相比,本发明中BRB只需要在本地维护到达其他TRLL网络的BRB的信息即可,而无需维护到达其他TRILL网络内各设备的MAC信息,解决了大量TRILL网络互连时MAC信息的
海量问题。


图I为跨越其他网络时TRILL数据帧的封装格式示意图;图2为多个TRILL网络互连的结构示意图;图3为TRILL报文头封装格式示意图;图4为扩展的TRILL报文头的选项域中添加的选项示意图。
具体实施例方式本发明TRILL网络互连方案的基本思想为通过在TRILL报文头中添加本地TRILL网络的出ロ信息和远端TRILL网络的入口信息,引入BRB,解决了跨越传统网络互连多个TRILL网络的问题,具体的第一 TRILL网络的BRB接收第二 TRILL网络发送的TRILL数据巾贞,并转发;第一 TRILL网络的RB接收BRB发送的TRILL数据巾贞,通过BRB发布的TLV格式的控制信息或者通过TRILL数据帧学习到达第二 TRILL网络的路径信息,并将解封装 后的原始数据帧转发给目的MAC对应的设备;RB根据学习的所述路径信息封装TRILL数据帧,并通过BRB发送给第二 TRILL网络。下面通过具体的实施例来说明本发明的技术方案,其中第一 TRILL网络、第二TRILL网络在后续的实施例中根据具体的情况可以变换为远端TRILL网络或本地TRILL网络。如图I所示,ー个TRILL数据帧由TRILL报文头、内层MAC帧头(包含源MAC和目的MAC)和原始数据组成,当TRILL数据帧需要跨越其他非TRILL网络吋,需要在TRILL报文头前面添加对应的报文头,其他非TRILL网络对该TRILL数据帧进行透传,则可以将其他非TRILL网络称为透传网络。例如,透传网络为IP网络时,需要在TRILL报文头前面添加IP报文头进行IP封装;如果透传网络是MPLS网络,则需要在TRILL报文头前面添加MPLS标签信息。

图2为多个TRILL网络互连的结构示意图,其中多个TRILL网络通过IP网络互连,当然本发明的互连技术并不局限于通过IP网络互连TRILL网络,还可以通过MPLS网络等互连TRILL网络。下面结合图I和图2对本发明的互连方案进行说明。为了实现不同TRILL网络之间的互连,解决运行TRILL协议的DC之间的互通问题,本发明采用如下的技术手段一、在 TRILL 网络中定义了边界 RB(BRB,Border RBridge)。满足如下条件的RB才可以被指定为BRB :BRB是ー个TRILL网络的出入口,它至少有ー个接ロ位于指定的TRILL网络中,并且至少有另外的一个接ロ位于其他非TRILL网络中;另外,BRB逻辑上代表了ー个TRILL网络,因此,BRB必须具有至少ー个全球唯一标识,比如IP地址或MAC地址或Nickname等。在满足上述条件的RB中指定BRB时,可通过手工配置的方式。如图2中,在TRILL网络I中RB2的ー个接ロ位于IP网络中,其他接ロ位于TRILL网络I中,则可以指定RB2为TRILL网络I的BRB ;同理,在TRILL网络2中指定RB6为BRB ;在TRILL网络3中可以指定RB3和RB5为BRB.对于不同TRILL网络的BRB之间的互连,可以通过手工配置和/或借助动态路由的分发机制等方式,实现不同TRILL网络的BRB之间的连通性。BRB相对于RB其功能主要做了如下扩展I)对离开本地TRILL网络的TRILL数据帧(即该TRILL数据帧的内层MAC帧头中的目的MAC不在本地TRILL网络中),本地TRILL网络的BRB对该TRILL数据帧重新封装,在TRILL报文头中携带本地TRILL网络的出口信息(当TRILL数据帧从该BRB出本地TRILL网络时,此处的出ロ信息即为该BRB的全球唯一标识),并将封装后的TRILL数据帧转发给(此处,一般的RB则是丢弃该TRILL数据帧)远端TRILL网络的BRB ;2)BRB解封装来自远端TRILL网络的TRILL数据巾贞,根据目的MAC查找自身的MAC信息表,确定继续转发还是丢弃该TRILL数据帧,如果需要继续转发,则重新进行封装后继续转发。3)另外,BRB需要了解本地TRILL网络的所有MAC地址信息。ニ、在TRILL报文头中的选项域(如图3所示options字段)增加选项,用于记录TRILL网络的出口信息和入口信息。其中,当TRILL数据帧通过某ー BRB进入TRILL网络吋,则该TRILL网络的入口信息为该BRB的全球唯一标识。如图4所示为在选项域中增加的两个选项本地TRILL网络的出口选项和远端TRILL网络的入口选项,分别存储本地TRILL网络的出ロ信息和远端TRILL网络的入口信息。这两个选项为逐跳(hop-by-hop)的非必遵(non-critical)选项,即不支持该选项的RB只需透明传输该选项即可。TRILL网络的出ロ信息或入口信息为BRB的全球唯一标识,可以是IP地址、或MAC地址、或Nickname,具体的,可以根据TRILL数据帧跨越的网络从IP地址、MAC地址和Nickname中灵活选取一种作为出ロ信息或入口信息,并根据所选择的出ロ信息或入口信息定义对应的选项域的值域的类型和长度。三、扩充用于TRILL网络的IS-IS协议,使之能扩散BRB信息。为IS-IS协议扩展ー个或ー些TLV (type-1 ength-value),扩展TLV格式的控制信 息一般是由本地TRILL网络的BRB产生,用于将自身所知的所有其他TRILL网络的入口 BRB通告给本地TRILL网络的其他RB。对于支持扩展TLV的RB,将利用该扩展TLV计算自身到达TLV中包含的BRB的等价多路径(ECMP, Equal-Cost Multipath Routing)信息,并存储在自身的ECMP表中。扩展TLV是路由器能力TLV的子TLV,具有非必遵属性(一台设备,比如RB不支持扩展TLV,则必须透传该TLV,透传后可以通过手工配置的方式解决连通性)。四、增强Ingress和Egress的TRILL数据巾贞的封装和解封装、以及路由学习能力,主要包括Ingress在对原始数据帧进行封装时,如果发现ECMP表中到达目的MAC的表项中含有远端TRILL网络的入口信息,则必须把该入口信息添加到TRILL报文头中的远端TRILL网络的入口选项中,否则TRILL报文头不能包含该选项。作为BRB的Ingress,在对来自其他TRILL网络的TRILL数据帧重新进行封装吋,必须将原TRILL报文头中的选项域拷贝到新的TRILL报文头中。Egress在接收到Ingress发送来的TRILL数据帧后,解封装该TRILL数据帧,如果发现目的MAC是与自身相连的设备,那么除了进行正常的源MAC学习外,还需要学习到达源MAC所在的TRILL网络的入口信息。作为BRB的Egress,还需要根据TRILL报文头的选项域中的远端TRILL网络的入口信息重新封装TRILL数据帧(在TRILL报文头中增加本地TRILL网络的出ロ信息),并将TRILL数据帧发送到远端TRILL网络的BRB。其中,本发明的RB可以通过BRB发布的TLV格式的控制信息,或者接收的TRILL数据帧学习到路径信息。另外,在TRILL报文头中携带本地TRILL网络的出ロ信息和/或远端TRILL网络的入口信息的具体实现手段包括RB通过BRB发布的TLV格式的控制信息学习到远端网络的路径信息吋,通过TRILL报文头的Egress携带远端TRILL网络的入口信息,当TRILL数据帧离开本地网络吋,本地网络的BRB通过TRILL报文头的Ingress携带本地TRILL网络的出ロ信息;RB通过接收的TRILL数据帧学习到路径信息时,本发明通过TRILL报文头的选项域携帯本地TRILL网络的出ロ信息和/或远端TRILL网络的入口信息。由此可见,BRB只需维护需要到达其他TRILL网络的BRB的信息,不需要维护到达其他TRILL网络内各设备的MAC信息;另外,当ー个TRILL网络内存在多个BRB时,本发明还可以指定多个BRB为不同的VLAN的转发者,这样可以减少每个BRB维护的到达其他TRILL网络的BRB的信息,同时实现出入本地TRILL网络的负荷分担。下面结合附图对TRILL数据帧跨越传统IP网络进行传输的过程进行说明,但本发明的互连技术并不局限于通过IP网络互连TRILL网络。如图2所示为多个TRILL网络互连的结构示意图,其中,主机H1、H2、H3位于TRILL网络I中,主机H4、H5位于TRILL网络2中,在该实施例中,RB通过TRILL数据帧学习路径 信息,通过在TRILL报文头的选项域携带本端TRILL网络的入口信息和/或远端TRILL网络的出ロ信息,在Hl和H4之间跨越IP网络发送单播数据帧的过程包括步骤I,Hl生成目的MAC为H4、源MAC为自身的原始数据帧(单播数据帧),发送给 RBl ;步骤2,RBl对接收到的原始数据帧进行解析,并查找自身的MAC信息表,发现目的MAC、即H4是未知目的地,则将该原始数据帧封装为未知目的地的TRILL数据帧(此时,RBl为Ingress ;Egress为ー个到达该TRILL网络中所有RB的某棵分发树的树根;由于目的网络未知,RBl无法在ECMP表中找到到达目的MAC的表项,因此,TRILL报文头的选项域中不能包含远端TRILL网络的入口信息,并且由于RBl不是BRB,因此TRILL报文头的选项域中也不包含本端TRILL网络的出ロ信息;内层MAC帧头包含源MAC为H1、目的MAC为H4),然后,RBl在TRILL网络I中组播该TRILL数据帧;步骤3,TRILL网络I内除RBl的其他RB (图4中为RB2)收到该TRILL数据帧后,如果自身不是TRILL网络I的BRB,除了向分发树的下游继续分发该TRILL数据帧外不作任何处理;如果自身是TRILL网络I的BRB,执行步骤4 ;步骤4,假设图4中TRILL网络I的RB2为BRB,那么RB2收到该TRILL数据帧进行解封装后,查找自身的MAC信息表,发现目的MAC、即H4是未知目的地,RB2对原始数据帧重新进行封装(RB2为Ingress ;Egress未知;并在TRILL报文头的选项域中携带本地TRILL网络的出ロ信息、即RB2的全球唯一标识,且TRILL报文头的选项域中不包含远端TRILL网络的入口信息;内层MAC帧头包含源MAC为H1、目的MAC为H4);另外,由于跨越的网络为IP网络,因此需要对TRILL数据帧进行IP封装、即在TRILL报文头的前面添加IP报文头,然后RB2将IP封装后的IP报文转发给自身所知的所有其他TRILL网络的BRB(比如图4中TRILL网络2的RB3、RB5和TRILL网络3的RB6);步骤5,IP报文跨越IP网络被透传到其他TRILL网络的BRB,在该实施例中,IP报文被透传到TRILL网络2的RB3、RB5和TRILL网络3的RB6。其他TRILL网络的BRB收到该IP报文后,通过解析发现是内层封装的是TRILL数据帧,则进一歩解封装该TRILL数据帧,根据目的MAC查找自身的MAC信息表,对于TRILL网络3中的RB6,发现目的MAC不可达,则丢弃该数据帧;对于TRILL网络2中的RB3或RB5,发现目的MAC可达,则根据目的MAC查找自身的ECMP表,找出与目的MAC、即H4相连的RB4,并重新对原始数据帧进行封装(Ingress为RB3或RB5 ;Egress为RB4 ;拷贝TRILL报文头中的选项域),然后将重新封装后的TRILL数据帧转发给RB4 ;步骤6,RB4收到TRILL数据帧后,对TRILL报文头和内层MAC帧头进行解封装。RB4通过接收到的TRILL数据帧可以学习到如下路径信息源MACHl在远端TRILL网络的入口为RB2,通过RB3或RB5可以到达RB2、并到达Hl所在的TRILL网络(RB4通过接收到的RB3或RB5发送的TRILL数据帧获知);另外,Egress、即RB4还会将解析后得到的原始数据帧转发给H4 ;
步骤7,H4收到原始数据帧后,会将回复给Hl的原始数据帧发送给RB4,步骤6中RB4通过RB3或RB5发送的TRILL数据帧已经学习到了到达RB2的路径,RB4将根据学习到的路径信息对该回复的原始数据帧进行封装(此时Ingress为RB4 ;Egress为RB3或BR5 ;RB4作为Ingress已经学习了到达目的MAC、即Hl的信息,因此必须在TRILL报文头的选项域中携带远端TRILL网络的入口信息,用于存储RB2的全球唯一标识;内层MAC帧头包含源MAC为H4、目的MAC为Hl),然后将封装后的TRILL数据帧发送给RB3或RB5 (根据TRILL数据中贞中Egress为RB3或BR5决定);步骤8,RB3或RB5接收RB4发送来的TRILL数据帧进行TRILL解封装后,根据选项域中的远端TRILL网络的入口信息可以确定目的网络在远端,需要转发TRILL数据帧,则RB3或RB5对原始数据帧重新进行封装(Ingress为RB3或RB5 ;Egress为RB2 ;拷贝TRILL报文头中选项域,并且在选项域中携带本地TRILL网络的出口信息、即为RB3或RB5的全球唯一标识;内层MAC帧头不变),然后查找到达RB2的IP路径并对TRILL数据帧进行IP封装后转发给RB2 (根据TRILL数据帧中Egress为RB2决定);步骤9,RB2收到RB3或RB5发送来的IP报文,解析后发现内层封装的是TRILL数据帧,继续对TRILL数据帧进行解封装,根据目的MAC (即Hl)查找自身的MAC信息表,发现目的MAC可达,并根据目的MAC (即Hl)查找自身的ECMP表,找出与目的MAC、即Hl相连的RB1,则RB2对原始数据帧重新进行封装(Ingress为RB2 ;RB1为Egress ;拷贝TRILL报文头中的选项域;内层MAC帧头不变),发送给RBl (根据TRILL数据帧中Egress为RBl决定);步骤10,RBl收到RB2发送来的TRILL数据帧后,通过解封装,学习到如下路径信息H4在远端TRILL网络,其入ロ为RB3或RB5,通过RB2可以到达H4所在的远端TRILL网络的RB3或RB5 (RBl通过接收到的RB2发送的TRILL数据帧获知);然后,将解封装后的原始数据帧发送给Hl。通过上述的报文发送和回复,RBl和RB4通过自学习的方式获取了到达远端TRILL网络中的H4和Hl的路由,后续将根据学习到的路由完成Hl和H4之间的报文转发,学习到路径后的报文转发流程类似于H4回复给Hl的原始数据帧的转发过程,此处不再赘述。由此可见,该实施例通过在TRILL报文头的选项域中携带本地TRILL网络的出ロ信息和远端TRILL网络的入口信息,引入BRB,解决了跨越传统网络互连多个TRILL网络的问题。下面再次结合图2,说明ー下在Hl和H4之间跨越IP网络发送单播数据帧的过程的另ー实施例。在该实施例中,首先在控制面上需要作如下的操作每个TRILL网络的BRB周期性地、或者在接收到本地TRILL网络内其他RB的请求后,发送包含自身所知的其他TRILL网络的入ロ的TLV(TLV中包含了其他TRILL网络的入口对应的BRB信息、即全球唯一标识)格式的控制信息,本地TRILL网络内其他RB收到这些TLV格式的控制信息后,根据TLV格式的控制信息中包含的BRB信息计算并维护到达这些BRB的ECMP信息,并存储在自身的ECMP表中。则RB可以通过BRB发布的TLV格式的控制信息学习到路径信息。另外,在该实施例中,通过TRILL报文头中的Ingress携带本地TRILL网络的出口信息,通过TRILL报文头中的Egress来携带远端TRILL网络的入口信息。基于上述控制面的操作,数据面上在Hl和H4之间跨越IP网络发送单播数据帧的过程如下
步骤1,Hl生成目的MAC为H4、源MAC为自身的原始数据帧(单播数据帧),发送给 RBl ;步骤2,RBl对接收到的原始数据帧进行解析,并查找自身的MAC信息表,发现目的MAC、即H4是未知目的地,则将该原始数据帧封装为未知目的地的TRILL数据帧(RBl为Ingress ;Egress为ー个到达本地TRILL网络中所有RB的某棵分发树的树根;由于RBl无法在MAC表中找到到达目的MAC的表项,目的MAC未知,因此,该数据帧只能以组播方式发送,TRILL报文头中无法包含远端TRILL网络的入口信息,并且由于RBl不是BRB,因此TRILL报文头中也不包含本端TRILL网络的出口信息;内层MAC帧头包含源MAC为H1、目的MAC为H4),然后,RBl在TRILL网络I中组播该TRILL数据帧;步骤3,TRILL网络I内除RBl的其他RB (图4中为RB2)收到该TRILL数据帧后,如果自身不是TRILL网络I的BRB,除了向分发树的下游继续分发该TRILL数据帧外不作任何处理;如果自身是TRILL网络I的BRB,执行步骤4 ;步骤4,假设图4中TRILL网络I的RB2为BRB,那么RB2收到该TRILL数据帧进行解封装后,查找自身的MAC信息表,发现目的MAC、即H4是未知目的地,RB2对原始数据帧重新进行封装(Ingress为RB2的某个全球卩隹一标识、如Nickname (即携带本地TRILL网络的出口信息);EgreSS未知;内层MAC帧头包含源MAC为H1、目的MAC为H4);另外,由于跨越的网络为IP网络,因此需要对TRILL数据帧进行IP封装、即在TRILL报文头的前面添加IP报文头,然后RB2将IP封装后的IP报文转发给自身所知的所有其他TRILL网络的BRB (比如图4中TRILL网络2的RB3、RB5和TRILL网络3的RB6);步骤5,IP报文跨越IP网络被透传到其他TRILL网络的BRB,在该实施例中,IP报文被透传到TRILL网络2的RB3、RB5和TRILL网络3的RB6。其他TRILL网络的BRB收到该IP报文后,通过解析发现内层封装的是TRILL数据帧,则进一歩解封装该TRILL数据帧,根据目的MAC查找自身的MAC信息表,如果发现目的MAC不可达(比如TRILL网络3中的RB6),则丢弃该数据帧;如果目的MAC可达(比如TRILL网络2中的RB3和RB5),则RB3或RB5根据目的MAC查找自身的ECMP表,找出与目的MAC、即H4相连的RB4,并重新对原始数据帧进行封装(Ingress保持不变仍然为RB2 ;Egress为RB4 ;拷贝TRILL报文头中的选项域),然后将重新封装后的TRILL数据帧转发给RB4 ;步骤6,RB4收到TRILL数据帧后,对TRILL报文头和内层MAC帧头进行解封装,并结合控制面RB3或RB5发布的TLV格式的控制信息可以学习到如下路径信息源MAC Hl所在的远端TRILL网络的入ロ为RB2 (将该信息存储在自身的MAC表中),并且计算得到通过RB3或RB5可以到达RB2 (把该计算出的到达RB2的路径存储在自身的ECMP表中);另外,Egress、即RB4还会将解析后得到的原始数据帧转发给H4 ;步骤7,H4收到原始数据帧后,会将回复给Hl的原始数据帧发送给RB4,RB4将根据步骤6学习到的路由信息对该回复的原始数据帧进行封装(Ingress为RB4 ;RB4作为Ingress能够在自身的MAC表中查找到达到Hl的出口为RB2,则Egress为RB2 (远端TRILL网络的入口信息);内层MAC帧头包含源MAC为H4、目的MAC为Hl),然后将封装后的TRILL数据帧逐跳发送给RB3或RB5 (RB4根据自身的ECMP表中到达RB2的ECMP表项决定);步骤8,RB3或RB5接收RB4发送来的TRILL数据帧进行TRILL解封装后,发现Egress (即RB2)是远端TRILL网络的入ロ,需要转发TRILL数据帧,则RB3或RB5对原始数据帧重新进行封装(Ingress为RB3或RB5 ;Egress不变,为RB2 ;拷贝TRILL报文头中选项域;内层MAC帧头不变),然后查找到达RB2的IP路径并对TRILL数据帧进行IP封装后转发给RB2 ;
步骤9,RB2收到RB3或RB5发送来的IP报文,解析后发现内层封装的是TRILL数据帧,继续对TRILL数据帧进行解封装,发现Egress是自己,根据目的MAC (即Hl)查找自身的MAC信息表,发现目的MAC可达,并根据目的MAC (即Hl)查找自身的MAC表,找出与目的MAC、即Hl相连的RBl,则RB2对原始数据帧重新进行封装(Ingress不变,为RB3或RB5 ;Egress为RBl ;拷贝TRILL报文头中的选项域;内层MAC帧头不变),发送给RBl ;步骤10,RBl收到RB2发送来的TRILL数据帧后解封装,并结合控制面RB2发布的TLV格式的控制信息学习到如下路径信息H4所在的远端TRILL网络的入口为RB3或RB5 (将该信息存储在自身的MAC表中),并且计算得到通过RB2可以到达RB3或RB5 (把该计算出的到达RB3或RB5的路径存储在自身的ECMP表中);然后,将解封装后的原始数据帧发送给Hl。通过上述的控制面通告和/或报文发送/回复,RBl和RB4通过自学习的方式获取了到达到远端TRILL网络中的H4和Hl的路径,后续将根据学习到的路径完成Hl和H4之间的报文转发,学习到路径后的报文转发流程类似于H4回复给Hl的原始数据帧的转发过程,此处不再赘述。在该实施例中,通过TRILL报文头中的Ingress携带本地TRILL网络的出口信息,通过TRILL报文头中的Egress来携带远端TRILL网络的入口信息,引入BRB,解决了跨越传统网络互连多个TRILL网络的问题。通过上述的实施例可知,本发明中BRB只需要在本地维护到达其他TRLL网络的BRB的信息即可,而无需维护到达其他TRILL网络内各设备的MAC信息,解决了大量TRILL网络互连时MAC信息的海量问题。另外,本发明的技术方案还具有如下优点I)在TRILL网络的互连中引入了分层的概念(至少是两层)可以把所有BRB组成的网络看成一个超级TRILL网络,每个BRB下面下挂普通的TRILL网络,通过超级TRILL网络,普通TRILL网络实现了互连;2)保持了每个TRILL网络的独立性在逻辑上TRILL网络之间是独立的,ー个TRILL网络内部的RB信息不会泄漏到其他TRILL网络中去,有利于网络安全;3)具有非常好的扩充性通过TRILL网络入口信息的嵌套(在选项域中添加选项),还可以实现多层TRILL网络互连;还可以通过在选项域中携帯其他服务类型等信息,可以实现诸如服务类型(TOS, Type of Service)等多种转发控制;4)网络互连规模得以扩大,通过引入分层概念,可以实现众多TRILL网络的大规模互连,而且BRB的转发负担不会显著加重;
5)可以实现跨越多种网络实现TRILL网络的互连,如果是跨越IP网络,可以用BRB的公有IP作为TRILL网络的出入口信息;如果是VPLS网络,可以用BRB的MAC信息作为TRILL网络的出入口信息;为了跨越多种异构网络,可以用BRB的全球唯一的Nickname作为TRILL网络的出入口信息。为了实现上述互连方法本发明提供了ー种TRILL网络互连的系统包括BRB和RB,其中,BRB位于第一 TRILL网络时,用于接收第二 TRILL网络发送的TRILL数据帧并转发;
RB位于第一 TRILL网络时,用于接收BRB发送的TRILL数据帧,通过BRB发布的TLV格式的控制信息或者通过TRILL数据帧学习到达第二 TRILL网络的路径信息,并将解封装后的原始数据帧转发给目的MAC对应的设备;还用于根据学习的路径信息封装TRILL数据帧,并通过BRB发送给第二 TRILL网络。其中,BRB为TRILL网络的出口和入口 ;并且BRB的至少ー个接ロ位于TRILL网络中、以及至少ー个接ロ位于其他非TRILL网络中;并且BRB具有至少ー个全球卩隹ー标识,全球卩隹ー标识为IP地址或MAC地址或Nickname。BRB位于第二 TRILL网络时,还用于接收到离开本地TRILL网络的TRILL数据帧吋,对接收到的TRILL数据帧重新封装,在TRILL数据帧的TRILL报文头中携帯本地TRILL网络的出口信息,并将重新封装后的TRILL数据帧通过其他非TRILL网络传送给第一 TRILL网络的BRB ;本地TRILL网络的出ロ信息为本地TRILL网络的出口 BRB的全球唯一标识。BRB位于第一 TRILL网络时,还用于接收第二网络发送的TRILL数据帧进行解封装后,根据TRILL数据帧中的目的MAC查找自身的MAC信息表,确定目的MAC可达时,获取与目的MAC相连的RB ;还用于对接收TRILL数据帧重新封装,并将重新封装后的TRILL数据帧转发给与目的MAC相连的RB。在第一 TRILL网络的RB通过TRILL数据帧学习到达第二 TRILL网络的路径信息时,位于第一 TRILL网络的BRB对接收的TRILL数据帧重新封装时,还用于将Ingress设置为自身,将Egress设置为与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变;在第一 TRILL网络的RB通过BRB发布的TLV格式的控制信息学习到达第二 TRILL网络的路径信息时,位于第一 TRILL网络的BRB对接收的TRILL数据帧重新封装吋,还用于将Ingress保持不变;将Egress设置为与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变。RB位于第一 TRILL网络、且为Ingress吋,还用于根据学习的路径信息封装TRILL数据帧,在TRILL报文头中携带远端TRILL网络的入口信息;远端TRILL网络的入口信息为第二 TRILL网络的入口 BRB的全球唯一标识;并根据学习的路径信息将封装后的TRILL数据帧发送给第一 TRILL网络的BRB ;相应的,BRB位于第一 TRILL网络时,还用于通过其他非TRILL网络将接收的TRILL数据帧传送给第二 TRILL网络的BRB。在TRILL数据帧的TRILL报文头中携带本地TRILL网络的出口信息、远端TRILL网络的入口信息,包括第一 TRILL网络的RB通过BRB发布的TLV格式的控制信息学习到达第二 TRILL网络的路径信息时,在TRILL数据帧的TRILL报文头的Egress中携带远端TRILL网络的入ロ信息,当TRILL数据帧离开第一网络吋,BRB在TRILL报文头的Ingress中携带本地TRILL网络的出口信息;第一 TRILL网络的RB通过TRILL数据帧学习到达第二 TRILL网络的路径信息吋,通过TRILL报文头的选项域携带远端TRILL网络的入口信息,或者本地TRILL网络的出ロ 信息。BRB还用于,周期性地、或者在接收到本地TRILL网络内其他RB的请求后,将产生的包含自身所知的其他TRILL网络的入ロ BRB的TLV格式的控制信息进行发布,用于将自身所知的所有其他TRILL网络的入口 BRB通告给本地TRILL网络的其他RB ;RB,还用于接收到TLV格式的控制信息后,计算自身到达TLV中包含的BRB的ECMP信息,并存储在自身的ECMP表中。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.ー种TRILL网络互连的方法,其特征在于,该方法包括 第一多链接透明互连(TRILL)网络的边界路由网桥(BRB)接收第二 TRILL网络发送的TRILL数据帧,并转发; 第一 TRILL网络的路由网桥(RB)接收所述BRB发送的TRILL数据巾贞,通过所述BRB发布的TLV格式的控制信息或者通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息,并将解封装后的原始数据帧转发给目的MAC对应的设备; 所述RB根据学习的所述路径信息封装TRILL数据帧,并通过所述BRB发送给所述第二TRILL网络。
2.根据权利要求I所述TRILL网络互连的方法,其特征在干, 所述BRB为TRILL网络的出口和入口 ;并且 所述BRB的至少ー个接ロ位于TRILL网络中、以及至少ー个接ロ位于其他非TRILL网络中;并且 所述BRB具有至少ー个全球卩隹ー标识,所述全球卩隹ー标识为IP地址或MAC地址或Nickname。
3.根据权利要求2所述TRILL网络互连的方法,其特征在干,该方法还包括在所述TRILL数据帧的TRILL报文头中携带本地TRILL网络的出ロ信息和/或远端TRILL网络的入口信息。
4.根据权利要求3所述TRILL网络互连的方法,其特征在干, 第一 TRILL网络的RB通过所述BRB发布的TLV格式的控制信息学习到达所述第二TRILL网络的路径信息时,在TRILL数据帧的TRILL报文头中的Egress携带远端TRILL网络的入口信息;当TRILL数据帧离开本地TRILL网络时,本地TRILL网络的BRB在TRILL数据帧的TRILL报文头中的Ingress携带本地TRILL网络的出ロ信息。
第一 TRILL网络的RB通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息时,通过TRILL报文头的选项域携带本地TRILL网络的出ロ信息和/或远端TRILL网络的入口信息。
5.根据权利要求2所述TRILL网络互连的方法,其特征在于,该方法还包括所述BRB周期性地、或者在接收到本地TRILL网络内其他RB的请求后,将产生的包含自身所知的其他TRILL网络的入口 BRB的TLV格式的控制信息进行发布,用于将自身所知的所有其他TRILL网络的入口 BRB通告给本地TRILL网络的其他RB ; RB接收到所述TLV格式的控制信息后,计算自身到达TLV中包含的BRB的等价多路径(ECMP)信息,并存储在自身的ECMP表中。
6.根据权利要求3或5所述TRILL网络互连的方法,其特征在干,该方法还包括所述第ニ TRILL网络向第一 TRILL网络发送TRILL数据帧,包括 所述第二 TRILL网络的BRB接收到离开本地TRILL网络的TRILL数据帧时,对接收到的TRILL数据帧重新封装,在TRILL数据帧的TRILL报文头中携带本地TRILL网络的出ロ信息,并将重新封装后的TRILL数据帧通过其他非TRILL网络传送给所述第一 TRILL网络的 BRB。
7.根据权利要求6所述TRILL网络互连的方法,其特征在于,所述第一TRILL网络的BRB转发接收到的TRILL数据帧,包括所述第一 TRILL网络的BRB接收TRILL数据帧进行解封装后,根据TRILL数据帧中的目的MAC查找自身的MAC信息表,确定目的MAC可达时,获取与目的MAC相连的RB ; 第一 TRILL网络的BRB对接收TRILL数据帧重新封装,将重新封装后的TRILL数据帧转发给所述与目的MAC相连的RB。
8.根据权利要求7所述TRILL网络互连的方法,其特征在干, 通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息时,所述第一 TRILL网络的BRB对接收的TRILL数据帧重新封装,包括将Ingress设置为自身,将Egress设置为所述与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变; 通过所述BRB发布的TLV格式的控制信息学习到达所述第二 TRILL网络的路径信息时,所述第一 TRILL网络的BRB对接收的TRILL数据帧重新封装,包括=Ingress保持不变;将Egress设置为所述与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变。
9.根据权利要求7所述TRILL网络互连的方法,其特征在于,所述第一TRILL网络的RB根据学习的所述路径信息封装TRILL数据帧,包括 所述第一 TRILL网络的RB为Ingress时,在TRILL报文头中携带远端TRILL网络的入ロ信息。
10.根据权利要求9所述TRILL网络互连的方法,其特征在于,所述第一TRILL网络的RB根据学习的所述路径信息将封装后的TRILL数据帧发送给所述第一 TRILL网络的BRB,并通过其他非TRILL网络传送给所述第二 TRILL网络的BRB。
11.ー种TRILL网络互连的系统,其特征在于,该系统包括BRB和RB,其中, 所述BRB位于第一 TRILL网络时,用于接收第二 TRILL网络发送的TRILL数据帧并转发; 所述RB位于第一 TRILL网络时,用于接收所述BRB发送的TRILL数据帧,通过所述BRB发布的TLV格式的控制信息或者通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息,并将解封装后的原始数据帧转发给目的MAC对应的设备;还用于根据学习的所述路径信息封装TRILL数据帧,并通过所述BRB发送给所述第二 TRILL网络。
12.根据权利要求11所述TRILL网络互连的方法,其特征在干, 所述BRB为TRILL网络的出口和入口 ;并且 所述BRB的至少ー个接ロ位于TRILL网络中、以及至少ー个接ロ位于其他非TRILL网络中;并且 所述BRB具有至少ー个全球卩隹ー标识,所述全球卩隹ー标识为IP地址或MAC地址或Nickname。
13.根据权利要求12所述TRILL网络互连的方法,其特征在干, 所述BRB位于第二 TRILL网络时,还用于接收到离开本地TRILL网络的TRILL数据帧吋,对接收到的TRILL数据帧重新封装,在TRILL数据帧的TRILL报文头中携帯本地TRILL网络的出ロ信息,并将重新封装后的TRILL数据帧通过其他非TRILL网络传送给所述第一TRILL网络的BRB ; 所述本地TRILL网络的出ロ信息为本地TRILL网络的出口 BRB的全球唯一标识。
14.根据权利要求13所述TRILL网络互连的方法,其特征在干, 所述BRB位于第一 TRILL网络吋,还用于接收第二网络发送的TRILL数据帧进行解封装后,根据TRILL数据帧中的目的MAC查找自身的MAC信息表,确定目的MAC可达时,获取与目的MAC相连的RB ;还用于对接收TRILL数据帧重新封装,并将重新封装后的TRILL数据帧转发给所述与目的MAC相连的RB。
15.根据权利要求14所述TRILL网络互连的方法,其特征在干, 在第一 TRILL网络的RB通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息时,位于第一 TRILL网络的所述BRB对接收的TRILL数据帧重新封装时,还用于将Ingress设置为自身,将Egress设置为所述与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变; 在第一 TRILL网络的RB通过所述BRB发布的TLV格式的控制信息学习到达所述第二TRILL网络的路径信息吋,位于第一 TRILL网络的所述BRB对接收的TRILL数据帧重新封装时,还用于将Ingress保持不变;将Egress设置为所述与目的MAC相连的RB,保持TRILL数据帧中TRILL报文头的选项域不变,保持TRILL数据帧中的内层MAC帧头不变。
16.根据权利要求14所述TRILL网络互连的方法,其特征在干, 所述RB位于第一 TRILL网络、且为Ingress吋,还用于根据学习的所述路径信息封装TRILL数据帧,在TRILL报文头中携带远端TRILL网络的入口信息;所述远端TRILL网络的入口信息为所述第二 TRILL网络的入口 BRB的全球唯一标识;并根据学习的所述路径信息将封装后的TRILL数据帧发送给所述第一 TRILL网络的BRB ; 相应的,BRB位于第一 TRILL网络时,还用于通过其他非TRILL网络将接收的TRILL数据帧传送给所述第二 TRILL网络的BRB。
17.根据权利要求13或16所述TRILL网络互连的方法,其特征在于,在所述TRILL数据帧的TRILL报文头中携带本地TRILL网络的出口信息、远端TRILL网络的入口信息,包括 第一 TRILL网络的RB通过所述TRILL数据帧学习到达所述第二 TRILL网络的路径信息时,在所述TRILL数据帧的TRILL报文头的选项域中携带本地TRILL网络的出ロ信息和/或远端TRILL网络的入口信息;或者, 第一 TRILL网络的RB通过所述BRB发布的TLV格式的控制信息学习到达所述第二TRILL网络的路径信息时,通过TRILL报文头的Egress携带远端TRILL网络的入口信息;在TRILL数据帧离开本地网络时,所述BRB通过TRILL报文头的Ingress携带本地TRILL网络的出口信息。
18.根据权利要求11所述TRILL网络互连的方法,其特征在干, 所述BRB还用于,周期性地、或者在接收到本地TRILL网络内其他RB的请求后,将产生的包含自身所知的其他TRILL网络的入口 BRB的TLV格式的控制信息进行发布,用于将自身所知的所有其他TRILL网络的入口 BRB通告给本地TRILL网络的其他RB ; 所述RB,还用于接收到所述TLV格式的控制信息后,计算自身到达TLV中包含的BRB的ECMP信息,并存储在自身的ECMP表中。
全文摘要
本发明公开了一种TRILL网络互连的方法和系统,包括第一多链接透明互连(TRILL)网络的边界路由网桥(BRB)接收第二TRILL网络发送的TRILL数据帧,并转发;第一TRILL网络的路由网桥(RB)接收BRB发送的TRILL数据帧,通过BRB发布的TLV格式的控制信息或者通过TRILL数据帧学习到达第二TRILL网络的路径信息,并将解封装后的原始数据帧转发给目的MAC对应的设备;RB根据学习的路径信息封装TRILL数据帧,并通过BRB发送给第二TRILL网络。通过本发明解决了跨越传统网络互连多个TRILL网络的问题、以及大量TRILL网络互连时MAC信息的海量问题。
文档编号H04L12/46GK102647324SQ201110041930
公开日2012年8月22日 申请日期2011年2月21日 优先权日2011年2月21日
发明者吕二春, 成明江, 翟洪军, 肖敏, 赵静静, 金利忠 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1