CN103841013A - Trill网络中的报文转发方法及设备 - Google Patents

Trill网络中的报文转发方法及设备 Download PDF

Info

Publication number
CN103841013A
CN103841013A CN201210478960.XA CN201210478960A CN103841013A CN 103841013 A CN103841013 A CN 103841013A CN 201210478960 A CN201210478960 A CN 201210478960A CN 103841013 A CN103841013 A CN 103841013A
Authority
CN
China
Prior art keywords
clean culture
tunnel
label
message
forwarding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201210478960.XA
Other languages
English (en)
Other versions
CN103841013B (zh
Inventor
郜忠华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210478960.XA priority Critical patent/CN103841013B/zh
Priority to US14/443,914 priority patent/US9479420B2/en
Priority to PCT/CN2013/087546 priority patent/WO2014079369A1/en
Publication of CN103841013A publication Critical patent/CN103841013A/zh
Application granted granted Critical
Publication of CN103841013B publication Critical patent/CN103841013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种TRILL网络中的报文转发方法及设备,该TRILL网络中包括多个RB,该方法包括:第一RB根据控制平面的NickName路由表中各个RB的NickName,以NickName作为FEC分配单播隧道标签,建立与TRILL网络中的其他RB之间的P2P LSP隧道;第一RB通过建立的P2P LSP隧道接收和/或发送报文。本申请中,硬件转发芯片不需要支持NickName转发,只需支持MPLS LSP隧道转发即可,这样,在网络升级改造时,硬件转发芯片不需要同时进行升级,节约了经济成本以及降低了网络部署的难度。

Description

TRILL网络中的报文转发方法及设备
技术领域
本申请涉及通信网络技术领域,特别涉及一种TRILL网络中的报文转发方法及设备。 
背景技术
随着服务器和交换机数量的不断增加,数据中心网络越来越倾向于扁平化的网络架构,以便于维护管理,这就要求构建一个大型的二层网络。传统的二层网络通过生成树协议来消除环路,但是,生成树协议本身所固有的一些缺陷使其不再适用于数据中心网络,例如: 
(1)生成树协议通过阻塞冗余链路来消除环路,但是数据中心网络难以承受这种带宽浪费; 
(2)生成树协议要求所有的数据必须经由根桥转发,这样会影响转发效率; 
(3)生成树协议无法携带TTL(Time To Live,生存时间)参数,这样,一旦出现二层环路,会造成整网瘫痪; 
(4)生成树协议收敛速度较慢,重新收敛对数据流有较大的影响。 
为了解决生成树协议的上述问题,IETF(Internet Engineering Task Force,互联网工程任务组)通过制定TRILL(TRansparent Interconnection of Lots of Links,多链路透明互联)协议将三层路由技术IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)的设计思路引入二层网络,并对其进行了必要的改造。从而将二层的简单、灵活性与三层的稳定、可扩展和高性能有机地融合起来。 
一、TRILL协议中的一些基本概念 
RB(Routing Bridge,路由桥):运行TRILL协议的Bridge设备称为RB,也写作RBridge。根据在TRILL网络中的位置,RB又可分为Ingress RB、Transit RB和EgressRB三种,分别表示报文进入TRILL网络的入节点、在TRILL网络中经过的中间节点以及离开TRILL网络的出节点,如图1所示。 
TRILL网络:由RB构成的二层网络称为TRILL网络,如图1和2所示。 
NickName(昵称):RB在TRILL网络中的地址,也是RB在TRILL网络中的唯 一标识。Nickname由系统自动分配,无需配置。 
LSDB(Link State DataBase,链路状态数据库):TRILL网络中所有链路的状态组成了链路状态数据库。 
LSPDU(Link State Protocol Data Unit,链路状态协议数据单元):简称LSP,用于描述链路状态并在邻居设备间进行扩散。 
AVF(Appointed VLAN-x Forwarder,指定VLAN转发者)和指定端口:TRILL协议是与VLAN相关的,为了防止环路,一个网段上一个VLAN中的所有本地流量必须从同一RB上的同一端口出、入TRILL网络,该RB称为该VLAN的AVF,相应的端口称为指定端口。 
DRB(Designated Routing Bridge,指定路由桥):与IS-IS中的DIS(Designated IS,指定中间系统)相对应,TRILL网络中也存在一个DRB。除了可以简化网络拓扑外,DRB还负责为TRILL网络中各RB上的VLAN分配AVF。 
二、TRILL协议的基本运行原理 
RB通过运行自己的链路状态协议(通过IS-IS扩展的)认知TRILL网络的拓扑,并使用最短路径树算法生成从本RB到达TRILL网络中的其他各个RB的路由转发表,称之为NickName转发表。RB又通过ESADI(End Station AddressDistribution Information终端地址交互协议)交互学习各自连接的终端的Mac地址,保存在本地的用户MAC转发表中,这样,RB就可以知道一个终端Mac属于哪一个RB。因此,一个RB上保存的由TRILL信令协议计算出来的列表主要包括以下两类: 
(1)计算出控制平面的NickName路由表,下发转发引擎形成数据平面的NickName转发表,如表1所示: 
表1 
Figure BDA00002441947200021
(2)计算出用户终端MAC地址所对应的Egress RB NickName,下发转发引擎形成数据平面的用户MAC转发表,如表2所示: 
表2 
用户MAC Egress RB NickName
因此,RB在接收到普通的单播的以太网报文后,在用户MAC转发表中查找与该 以太网报文中的Inner(用户或内层)D-MAC(目的MAC)相对应的Egress RBNickName,然后在NickName转发表中查找与该Egress RB NickName相匹配的表项,使用查找到的表项中的信息将该以太网报文封装成TRILL报文在TRILL网络中转发。因为RB上具有记录了到达各个RB的路由信息的NickName转发表,因此,RB在接收到TRILL报文后,可以按照NickName转发表对TRILL报文进行转发。当一个RB接收到一个TRILL报文后,如果该TRILL报文中的Egress RB NickName为自身的NickName,则对该TRILL报文进行解封装,获得最初进入TRILL网络的以太网报文,然后再进行转发。 
另外,TRILL协议对组播报文、广播报文和Inner D-MAC未知的单播报文的转发设计了分发树(distribution tree)的多播转发操作,它的分发树类似于STP的生成树,也有一个分发树的树根,称为DRB,与STP的生成树算法不同的是TRILL的分发树是从IS-IS的网络拓扑中计算产生的,并为整个TRILL网络生成一棵分发树。当一个RB收到一个广播以太网报文、组播以太网报文或Inner D-MAC未知的单播以太网报文后,该RB除了向自己的其它普通VLAN口分发该报文外,还要将该报文封装为TRILL报文,TRILL报文中的Egress RB NickName为该VLAN分发树的DRB的NickName,通过该DRB将该TRILL报文分发到分发树的其它叶子RB上。 
图3是TRILL报文的格式示意图,TRILL报文中的Outer(外层)Destination MACAddress(简称为Outer D-MAC)和Outer Source MAC Address(简称为Outer S-MAC)分别指示TRILL报文发出的源RB和接收的目的RB,这两个字段在TRILL报文的逐跳转发过程中是会发生变化的。TRILL报头中包括:出口RB(Egress RB)Nickname,入口RB(Ingress RB)Nickname等,其中,出口RB为该TRILL报文的目标RB,即该报文要从该目标RB离开TRILL网络,入口RB为该TRILL报文是从该RB进入TRILL网络的。TRILL报文中的Outer VLAN和Inner VLAN分别对应于TRILL转发使用的VLAN和进入TRILL网络时生成的VLAN。 
下面分别以如图1和图2所示的网络为例,对单播报文以及组播、广播和InnerD-MAC未知的单播报文的转发过程进行说明。 
如图1所示,Host(主机)S1发出一个单播的以太网报文要到Host S2,它们之间是一个TRILL网络,具体的转发流程如下:首先,S1发送单播的以太网报文给RB1,该报文中的Inner S-MAC和Inner D-MAC地址分别为S1和S2;RB1接收到该以太网报文后,在本地的户MAC转发表中查找到与该报文中的Inner D-MAC:S2相对应的Egress RB为RB3,即,获知S2属于RB3,于是RB1为该以太网报文封装TRILL头,其中的Ingress RB为RB1、Egress RB为RB3,然后RB1在Nickname转发表中查找 与RB3相匹配的表项,找到要到达RB3的下一跳为RB2,于是RB1填充Outer D-MAC为RB2的Mac,并填充Outer S-MAC为其自身RB1的Mac,并将得到的TRILL报文发送给RB2;RB2接收到该TRILL报文后发现是TRILL单播报文,其Egress RB为RB3,不是自己,因此,RB2直接查找本地的Nickname转发表,找到RB3就是自己某接口上的邻居,于是修改Outer D-MAC为RB3的Mac,同时修改Outer S-MAC为自身RB2的Mac,并转发该TRILL报文;RB3收到该TRILL报文后,发现该报文中的Egress RB是自己,则解封装该TRILL报文,解封装后的报文继续进行二层转发,转发给了Host S2。 
如图2所示,在TRILL网络中创建有一棵分发树,该分发树中具有一个DRB。图2中的虚线表示VLAN 10的分发树,RB2为DRB。Host S1发出一个组播报文,RB1接收到该组播报文后,通过报文中的Inner VLAN知道其为组播报文,于是查看VLAN10的分发树,该分发树的DRB为RB2,然后打上TRILL头,其中的Ingress RB为自身RB1,Egress RB为RB2,然后填充Outer D-MAC为RB2、Outer S-MAC为RB1,将该TRILL报文发送给RB2;RB2接收到该TRILL报文后,将该报文中的Outer D-MAC修改为All RB,同时修改Outer S-MAC为自身RB2的Mac,将得到的TRILL报文沿着分发树分发到其他的叶子节点,从而能够分发给RB4和RB3;RB3接收到该组播TRILL报文后,对该报文进行解封装后分发到自己的用户网络,从而Host S2能够接收到该组播报文。 
由上可知,在TRILL网络中,RB需要根据用户MAC转发表和/或NickName转发表对报文进行封装、转发,而这些表中均包含有RB的NickName,RB中的硬件转发芯片,如ASIC和NP等,都需要支持NickName转发。这样,在对网络进行升级改造时,不仅需要升级控制平面协议软件,硬件转发芯片也需要升级,从而增加了经济负担以及网络部署的难度。 
发明内容
本申请提供了一种TRILL网络中的报文转发方法及设备,以解决现有技术中存在的在网络升级改造时,硬件转发芯片也需要升级,从而增加了经济负担以及网络部署的难度的问题。 
本申请的技术方案如下: 
一方面,提供了一种TRILL网络中的报文转发方法,该TRILL网络中包括多个RB,该方法包括:第一RB根据控制平面的NickName路由表中各个RB的NickName,以NickName作为FEC分配单播隧道标签,建立与TRILL网络中的其他RB之间的 P2P LSP隧道;第一RB通过建立的P2P LSP隧道接收和/或发送报文。 
另一方面,还提供了一种TRILL网络中的RB,包括:隧道建立模块,用于根据控制平面的NickName路由表中各个RB的NickName,以NickName作为FEC分配单播隧道标签,建立本RB与TRILL网络中的其他RB之间的P2P LSP隧道;收发模块,用于通过隧道建立模块建立的P2P LSP隧道接收和/或发送报文。 
本申请的技术方案中,通过在TRILL网络中的RB之间建立MPLS LSP隧道,在报文转发时使用MPLS LSP隧道进行转发,替代了NickName转发,从而,使得硬件转发芯片不需要支持NickName转发,只需支持MPLS LSP隧道转发即可,这样,在网络升级改造时,硬件转发芯片不需要同时进行升级,节约了经济成本以及降低了网络部署的难度。 
附图说明
图1是现有技术的TRILL网络中的单播报文的转发示意图; 
图2是现有技术的TRILL网络中的多播报文的转发示意图; 
图3是现有技术的TRILL报文的格式示意图; 
图4是本申请实施例的TRILL网络中的报文转发方法的流程图; 
图5是本申请实施例的TRILL网络中的单播报文的转发示意图; 
图6是本申请实施例的TRILL网络中的组播报文的转发示意图; 
图7是本申请实施例的TRILL网络中的RB的一种结构示意图; 
图8是本申请实施例的TRILL网络中的RB的另一种结构示意图。 
具体实施方式
为了解决现有技术中,由于TRILL网络中的RB中的硬件转发芯片都需要支持NickName转发,从而导致在网络升级改造时,硬件转发芯片也需要升级,从而增加了经济负担以及网络部署的难度的问题,本申请的以下实施例提供了一种TRILL网络中的报文转发方法以及能够应用该方法的RB。本申请的实施例中,通过在TRILL网络中的RB之间建立MPLS(Multiprotocol Label Switching,多协议标签交换)LSP隧道,包括用于单播报文转发的P2P LSP隧道和用于广播/组播/InnerD-MAC未知的单播报文转发的P2MP LSP隧道,在报文转发时使用MPLS LSP隧道进行转发,替代了NickName转发。从而,使得硬件转发芯片不需要支持NickName转发,只需支持MPLS LSP隧道转发即可,这样,在网络升级改造时, 硬件转发芯片不需要同时进行升级,节约了经济成本以及降低了网络部署的难度。 
需要注意的是:下文中的第一RB可以是TRILL网络中的任意一个RB,并不特指某一个RB,只是为了描述方便而做出的命名而已。 
本申请实施例的TRILL网络中的报文转发方法,可以由TRILL网络中的任意一个RB执行,如图4所示,该方法包括以下步骤: 
步骤S402,第一RB根据控制平面的NickName路由表中各个RB的NickName,以NickName作为FEC(Forwarding Equivalence Class,转发等价类)分配单播隧道标签,建立与TRILL网络中的其他RB之间的P2P(Point to Point,点到点)LSP(LabelSwitched Path,标签交换路径)隧道; 
在本申请实施例中,控制平面的NickName路由表并不下发到数据平面,而是利用该NickName路由表,通过类似于LDP的信令协议,或者静态配置的方式,以NickName作为FEC创建RB间的P2P LSP隧道。 
在实际实施的过程中,建立第一RB与其他RB之间的P2P LSP隧道的方法可以有多种,本申请对此不做限定。例如,可以在TRILL网络中建立类似于LDP的信令协议,以RB的NickName作为FEC来分配单播隧道标签并创建P2P LSP隧道;这种类似于LDP的信令协议与标准的LDP的区别仅在于以NickName作为FEC。也可以采用静态配置的方式,配置单播隧道标签,建立第一RB与其他RB之间的P2P LSP隧道。 
具体的,采用类似于LDP的信令协议创建P2P LSP隧道的具体流程包括以下步骤1-3: 
步骤1:第一RB以NickName作为FEC,为控制平面的NickName路由表中的每一个RB的NickName分配一个唯一的单播隧道标签; 
其中,每一个RB也包括第一RB自己,因此,第一RB也会为自身的NickName分配一个唯一的单播隧道标签。 
步骤2:第一RB将分配的单播隧道标签与作为FEC的NickName之间的绑定关系通过LDP消息发送给相邻的邻居RB; 
第一RB会将每一个作为FEC的NickName与为其分配的单播隧道标签之间的绑定关系发送给自己的邻居。 
步骤3:第一RB接收邻居RB发来的LDP消息,该LDP消息中携带有该邻居RB分配的单播隧道标签与作为FEC的NickName之间的绑定关系。 
同样,第一RB也会接收到邻居发来的携带有每一个作为FEC的NickName与该邻居为该NickName分配的单播隧道标签之间的绑定关系的LDP消息。 
这样,通过上述步骤1-3,第一RB与TRILL网络中的其他RB之间的P2P LSP隧道就创建好了。 
步骤S404,第一RB通过建立的P2P LSP隧道接收和/或发送报文。 
在第一RB与TRILL网络中的其他RB之间的P2P LSP隧道建立好了之后,第一RB就可以使用P2P LSP隧道来转发单播报文,从而替代了NickName的转发。 
本申请实施例中,通过在TRILL网络中的RB之间建立P2P LSP隧道,在报文转发时使用P2P LSP隧道进行转发,替代了NickName转发,从而,使得硬件转发芯片不需要支持NickName转发,只需支持MPLS LSP隧道转发即可,这样,在网络升级改造时,硬件转发芯片不需要同时进行升级,节约了经济成本以及降低了网络部署的难度。 
下面分别对第一RB作为Ingress(入口)RB、Transit(中间)RB和Egress(出口)RB时的具体转发情况进行详细地介绍。 
1、第一RB为Ingress RB时 
在第一RB建立好了与TRILL网络中的其他RB之间的P2P LSP隧道之后,并且在步骤S404之前,该方法还包括以下步骤11-13: 
步骤11,第一RB根据控制平面的NickName路由表中各个RB的NickName,以NickName作为FEC,为除了自己的NickName以外的每一个NickName分配一个Token(令牌); 
Token是Ingress隧道的标记,为除了自己的NickName以外的每一个NickName分配一个Token,也就是为到一个作为FEC的NickName的Ingress隧道分配一个Token。 
步骤12,第一RB将控制平面的NickName路由表的每一个表项中的NickName,替换成出标签、操作和该NickName对应的Token,下发到数据平面的第一单播隧道转发表,如表3所示。第一RB不再将NickName路由表下发到数据平面。 
表3 
Figure BDA00002441947200071
在如表1所示的第一单播隧道转发表中,每一个单播隧道转发表项中包括:Token、出标签、出接口、OuterVLAN、下一跳的MAC和操作,该Token为该NickName(即被替换的NickName)对应的Token,该出标签为该下一跳为该NickName分配的单播隧道标签,该操作为Push(压标签)。 
步骤13,第一RB将Inner MAC对应的Egress RB NickName,替换成该NickName 对应的Token,下发到数据平面的用户MAC转发表,如表4所示。 
表4 
Inner MAC Token
在如表4所示的用户MAC转发表中,每一个MAC转发表项中包括:Inner MAC和Token,该Token为该Inner MAC对应的Egress RB NickName所对应的Token。 
从表3和表4中可以看出,本申请实施例中,Ingress RB下发到数据平面的用户MAC转发表和第一单播隧道转发表中不再存在NickName,硬件转发芯片(即转发引擎或数据平面)在转发报文时,不再需要支持NickName转发,只需要支持MPLS LSP隧道转发即可。 
这样,在步骤S404中,第一RB通过建立的P2P LSP隧道接收和/或发送报文的具体流程可以包括以下步骤: 
步骤S4042,在接收到来自用户网络的单播的以太网报文之后,第一RB在该用户MAC转发表中查找与该以太网报文中的Inner D-MAC相匹配的MAC转发表项; 
步骤S4044,若在步骤S4042中查找到了相匹配的MAC转发表项,则第一RB在第一单播隧道转发表中查找与该MAC转发表项中的Token相匹配的单播隧道转发表项; 
步骤S4046,若在步骤S4044中查找到的单播隧道转发表项中的操作为Push,则第一RB将该单播隧道转发表项中的出标签压入该以太网报文,并使用该单播隧道转发表项中的其他内容对该以太网报文进行MPLS封装得到MPLS报文,将该MPLS报文通过该单播隧道转发表项中的出接口转发到该下一跳。 
具体的,第一RB将该单播隧道转发表项中的出标签压入该以太网报文,并将OuterD-MAC填充为该单播隧道转发表项中的下一跳的MAC,将Outer S-MAC填充为自身的MAC,将Outer VLAN填充为该单播隧道转发表项中的Outer VLAN。 
2、第一RB为Transit RB时 
在第一RB建立好了与TRILL网络中的其他RB之间的P2P LSP隧道之后,并且在步骤S404之前,该方法还包括以下步骤21: 
步骤21,第一RB将控制平面的NickName路由表的每一个表项中的NickName,替换成入标签、出标签和操作,下发到数据平面的第二单播隧道转发表,如表5所示。第一RB不再将NickName路由表下发到数据平面。 
表5 
Figure BDA00002441947200091
在如表5所示的第二单播隧道转发表中,每一个单播隧道转发表项中包括:入标签、出标签、出接口、Outer VLAN、下一跳的MAC和操作,该入标签为第一RB为该NickName(即被替换的NickName)分配的单播隧道标签,该出标签为具有该NickName的RB为该NickName分配的单播隧道标签,该操作为Swap(交换标签)。 
这样,在步骤S404中,第一RB通过建立的P2P LSP隧道接收和/或发送报文的具体流程可以包括以下步骤: 
步骤S4041,在接收到MPLS报文之后,第一RB在第二单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项; 
步骤S4043,若在步骤S4041中查找到的单播隧道转发表项中的操作为Swap,则第一RB将该MPLS报文中的单播隧道标签替换为该单播隧道转发表项中的出标签,并使用该单播隧道转发表项中的其他内容对该MPLS报文中的相应内容进行替换,将该MPLS报文通过该单播隧道转发表项中的出接口转发到该下一跳。 
具体的,第一RB将该MPLS报文中的单播隧道标签替换为该单播隧道转发表项中的出标签,并将该MPLS报文中的Outer D-MAC修改为该单播隧道转发表项中的下一跳的MAC,将该MPLS报文中的Outer S-MAC修改为自身的MAC,将该MPLS报文中的Outer VLAN填充为该单播隧道转发表项中的Outer VLAN。 
3、第一RB为Egress RB时 
在第一RB建立好了与TRILL网络中的其他RB之间的P2P LSP隧道之后,并且在步骤S404之前,该方法还包括以下步骤31: 
步骤31,第一RB将控制平面的NickName路由表的每一个表项中的NickName,替换成入标签和操作,下发到数据平面的第三单播隧道转发表,如表6所示。第一RB不再将NickName路由表下发到数据平面。 
表6 
入标签 操作
在如表6所示的第三单播隧道转发表中,每一个单播隧道转发表项中包括:入标签和操作,该入标签为第一RB为该NickName(即被替换的NickName)分配的单播隧道标签,该操作为Pop(弹出标签); 
这样,在步骤S404中,第一RB通过建立的P2P LSP隧道接收和/或发送报文的 具体流程可以包括以下步骤: 
步骤S4031,在接收到MPLS报文之后,第一RB在第三单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项; 
步骤S4032,若在步骤S4031中查找到的单播隧道转发表项中的操作为Pop,则第一RB弹出该MPLS报文中的单播隧道标签,并解封装该MPLS报文得到以太网报文; 
步骤S4033,第一RB在用户MAC转发表中查找与该以太网报文中的Inner D-MAC相匹配的MAC转发表项,并将该以太网报文通过该MAC转发表项中的出接口转发出去,即转发到用户网络中的MAC地址为该Inner D-MAC的主机。 
由上述方法可知,本申请只是在数据平面使用MPLS LSP隧道转发来替代NickName转发,但是在控制平面,即TRILL协议中,仍然保留NickName,仍然具有控制平面的NickName路由表,以及用户MAC对应的Egress RB NickName。但是,在数据平面,用户MAC转发表和包括第一单播隧道转发表、第二单播隧道转发表和第三单播隧道转发表在内的单播隧道转发表中已经不存在NickName了。 
在实际实施过程中,由于第一RB可能会既是Ingress RB,同时也是Transit RB和Egress RB,这样,第一RB的数据平面上就会同时存在第一单播隧道转发表、第二单播隧道转发表和第三单播隧道转发表这三个表。那么,可以使用一张表来同时记录这三张表中的内容,此时,这张表可以如表7所示。 
表7 
Figure BDA00002441947200101
这样,由于第一单播隧道转发表中不存在入标签,那么在第一单播隧道转发表的单播隧道转发表项中,出标签即为空;同样,由于第二单播隧道转发表中不存在Token,则在第二单播隧道转发表的单播隧道转发表项中,Token即为空;由于第三单播隧道转发表中不存在Token、出标签、出接口、Outer VLAN和下一跳的MAC,则在第三单播隧道转发表的单播隧道转发表项中,这些内容即为空。 
以图5所示的TRILL网络为例,说明上述实施例的单播报文转发流程。S1要通过TRILL网络发送单播以太网报文到S2,此时,RB1为Ingress RB,RB2为TransitRB,RB3为Egress RB。 
利用上述步骤S402中的方法,RB1、RB2和RB3以NickName作为FEC,为各个RB的NickName分配单播隧道标签,创建与其他RB之间的P2P LSP隧道。 RB1、RB2和RB3分配的单播隧道标签可以分别如表8-10所示。 
表8RB1分配的单播隧道标签 
FEC 单播隧道标签
RB1的NickName L11
RB2的NickName L12
RB3的NickName L13
表9RB2分配的单播隧道标签 
FEC 单播隧道标签
RB1的NickName L21
RB2的NickName L22
RB3的NickName L23
表10RB3分配的单播隧道标签 
FEC 单播隧道标签
RB1的NickName L31
RB2的NickName L32
RB3的NickName L33
按照上述的方法,作为Ingress RB的RB1为除了自己的NickName以外的各个NickName分配的Token可以如表11所示: 
表11 
FEC Token
RB2的NickName 0
RB3的NickName 1
此时,RB1上的用户MAC转发表可以如表12所示,第一单播隧道转发表可以如表13所示: 
表12 
用户MAC Token
S2 1(对应RB3的NickName)
[0119] 表13 
Figure BDA00002441947200121
作为Transit RB的RB2上的第二单播隧道转发表可以如表14所示: 
表14 
Figure BDA00002441947200122
作为Egress RB的RB3上的第三单播隧道转发表可以如表15所示: 
表15 
入标签 operation
L33 Pop
这样,当RB1接收到S1发来的单播以太网报文后,首先在如表12所示的用户MAC转发表中查找与该以太网报文中携带的Inner D-MAC:S2相匹配的MAC转发表项,该MAC转发表项中与该S2对应的Token为1,然后,在如表13所示的第一单播隧道转发表中查找与该Token:1相匹配的单播隧道转发表项,该单播隧道转发表项中出标签为L23、出接口为Ethernet0、Outer VLAN为VLAN 200、下一跳的MAC为RB2MAC、operation为Push,因此,将L23压入该以太网报文中,对该以太网报文进行MPLS封装,其中,Outer D-MAC填充为RB2MAC(图5中用RB2表示)、Outer S-MAC填充为自己的MAC(图5中用RB 1表示)、Outer VLAN填充为VLAN 200(图5中用200表示),最终,RB1将封装得到的MPLS报文通过Ethernet0转发给RB2。 
RB2接收到该MPLS报文之后,在如表14所示的第二单播隧道转发表中查找与该MPLS报文中携带的单播隧道标签L23相匹配的单播隧道转发表项,该单播隧道转发表项中入标签为L23、出标签为L33、出接口为Ethernet1、Outer VLAN为VLAN 300、下一跳的MAC为RB3MAC、operation为Swap,然后,RB2将该MPLS报文中携带的L23替换为L33、Outer D-MAC修改为RB3MAC(图5中用RB3表示)、Outer S-MAC填充为自己的MAC(图5中用RB2表示)、Outer VLAN填充为VLAN 300(图5中用300表示),最终,RB2将修改后的MPLS报文通过 Ethernetl转发给RB3。 
RB3接收到该MPLS报文后,在如表15所示的第三单播隧道转发表中查找与该MPLS报文中携带的单播隧道标签L33相匹配的单播隧道转发表项,该单播隧道转发表项中入标签为L33、operation为Pop,然后,RB3将该MPLS报文中携带的L33弹出,并解封装该MPLS报文,得到其中的原始的单播以太网报文,之后,在用户MAC转发表中查找与该以太网报文中携带的Inner D-MAC:S2相匹配的MAC转发表项,该MAC转发表项中的出接口例如为Interface3,从而,最终将该以太网报文通过Interface3发送给主机S2。 
可以看出,在Transit RB上,直接做LSP的标签交换转发即可,用户的以太网报文并不从P2P LSP隧道中暴露出来,直到到达Egress RB,才露出用户的以太网报文。 
在本申请实施例中,TRILL网络中的MPLS LSP隧道,是不支持倒数第二跳弹出的(PHP)。 
上述的实施例描述了单播报文转发的具体处理过程,下面将对组播、广播和Inner D-MAC地址未知的单播报文的转发的具体处理过程加以介绍。同样,也可以通过类似LDP的信令协议或者静态配置的方式,创建以一棵分发树的DRB为根的P2MP(Point to Muti-Point,点到多点)LSP隧道,具体过程同上,这里不再赘述。 
这样,当第一RB为TRILL网络的一棵分发树的叶子节点时,本申请实施例的方法还包括如下步骤: 
步骤S502,第一RB为该分发树的DRB的NickName分配一个唯一的组播隧道标签,建立与DRB之间的P2MP LSP隧道; 
步骤S504,第一RB下发组播隧道转发表项到数据平面,其中,组播隧道转发表项中包括:组播隧道标签和操作,该组播隧道标签为第一RB为DRB分配的组播隧道标签,该操作为Pop; 
步骤S506,第一RB在接收到以下以太网报文之一:广播以太网报文、组播以太网报文、Inner D-MAC未知的单播以太网报文后,将该以太网报文广播到用户网络,同时,在第一单播隧道转发表中查找与DRB对应的Token相匹配的单播隧道转发表项;若查找到的单播隧道转发表项中的操作为Push,则第一RB将该单播隧道转发表项中的出标签压入该以太网报文,并使用该单播隧道转发表项中的其他内容对该以太网报文进行MPLS封装得到MPLS报文,将该MPLS报文通过该单播隧道转发表项中的出接口转发到DRB; 
该步骤S506与单播报文的转发相同。 
步骤S508,第一RB在接收到MPLS报文之后,按照组播隧道转发表项中的操作Pop,弹出该MPLS报文中的组播隧道标签,并解封装该MPLS报文得到以太网报文;在确定该以太网报文为以下报文之一:广播以太网报文、组播以太网报文、InnerD-MAC未知的单播以太网报文后,第一RB将该以太网报文广播到用户网络。 
另外,当第一RB为该分发树的DRB时,本申请实施例的方法还包括以下步骤: 
步骤S602,第一RB接收该分发树的叶子节点为自己的NickName分配的组播隧道标签,建立与各个叶子节点之间的P2MP LSP隧道; 
步骤S604,第一RB下发该分发树的转发项到数据平面,其中,该分发树的转发项中包括:该分发树的各个叶子节点的MAC地址及其对应的出接口和出标签,该出标签为该叶子节点为所述DRB分配的组播隧道标签; 
步骤S606,第一RB在接收到MPLS报文之后,在第三单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项;若查找到的单播隧道转发表项中的操作为Pop,则弹出该MPLS报文中的单播隧道标签,并解封装该MPLS报文得到以太网报文; 
该步骤S606与单播报文的转发相同。 
步骤S608,第一RB按照该分发树的转发项,将该以太网报文进行MPLS封装,并将封装得到的多个MPLS报文分别转发给该分发树的其他叶子节点。 
通过上述的方法,就可以实现通过P2MP LSP隧道对组播以太网报文、广播以太网报文和Inner D-MAC地址未知的单播以太网报文进行转发。 
由上可以看出,对于组播、广播和Inner D-MAC地址未知的单播以太网报文的转发,要通过P2P LSP隧道先送到DRB上,然后再由DRB通过P2MP LSP隧道送到其他叶子节点上。 
以如图6所示的TRILL网络为例说明组播报文的转发流程。图6中,TRILL网络中有一棵分发树,该分发树的树根即DRB为RB2,其他的RB:RB1、RB3和RB4为该分发树的叶子节点。同样,RB1、RB2、RB3和RB4以NickName作为FEC,为作为DRB的RB2的NickName分配一个唯一的组播隧道标签,创建与RB2之间的P2MP LSP隧道。RB1、RB3和RB4为RB2分配的组播隧道标签可以分别为:L102、L302和L402。RB1、RB3和RB4在为RB2分配了组播隧道标签后,下发组播隧道转发表项到数据平面,分别如表16-18所示,并且,RB1为RB2的NickName分配的Token为1,RB1上的第一单播隧道转发表可以如表19所示;RB2接收到RB1、RB3和RB4为自己分配的组播隧道标签后,下发该分发树的转 发项到数据平面,如表20所示,另外,RB2上的第三单播隧道转发表可以如表21所示。 
表16RB1上的组播隧道转发表项 
组播隧道标签 操作
L102 Pop
表17RB3上的组播隧道转发表项 
组播隧道标签 操作
L302 Pop
表18RB4上的组播隧道转发表项 
组播隧道标签 操作
L402 Pop
表19 
Figure BDA00002441947200151
表20RB2上的该分发树的转发项 
表21 
入标签 操作
L22 Pop 
  …   …
RB 1在接收到Host S1发来的以太网报文后,通过该报文中的Inner D-MAC为组播MAC地址Multi,判断出该以太网报文是组播以太网报文,则RB1在如表19所示的第一单播隧道转发表中查找与作为DRB的RB2对应的Token:1相匹配的单播隧道转发表项,该单播隧道转发表项中出标签为L22、出接口为Ethernet0、Outer VLAN为VLAN 200、下一跳的MAC为RB2MAC、operation为Push,然后,RB 1将L22压入该以太网报文中,并将该以太网报文进行MPLS封装得到MPLS报文,其中,Outer D-MAC填充为RB2MAC、Outer S-MAC填充为自身的MAC、Outer VLAN填充为200,并将该MPLS报文通过Ethernet0发送给RB2。 
RB2接收到该MPLS报文后,在如表21所示的第三单播隧道转发表中查找到与该MPLS报文中携带的单播隧道标签相匹配的单播隧道转发表项,该单播隧道转发表项中入标签为L22、操作为Pop,于是,RB2弹出该MPLS报文中的单播隧道标签L22,并解封装该MPLS报文得到以太网报文;RB2按照如表20所示的该分发树的转发项,将该以太网报文进行MPLS封装,并将封装得到的多个MPLS报文分别转发给该分发树的其他叶子节点。 
RB3(或RB4)接收到该MPLS报文之后,按照如表17(或表18)所示的组播隧道转发表项中的操作Pop,弹出该MPLS报文中的组播隧道标签L302(或L402),并解封装该MPLS报文得到以太网报文,然后,在确定该以太网报文为组播以太网报文后,RB3将该以太网报文广播到用户网络。 
针对上述实施例的方法,本申请实施例还提供了一种可以应用该方法的TRILL网络中的RB,如图7所示,该RB包括以下模块:隧道建立模块10和收发模块20,其中: 
隧道建立模块10,用于根据控制平面的NickName路由表中各个RB的NickName,以NickName作为FEC分配单播隧道标签,建立本RB与TRILL网络中的其他RB之间的P2P LSP隧道;具体的分配单播隧道标签和建立P2P LSP隧道的方法可以参见上述实施例的方法,这里不再赘述。 
收发模块20,用于通过隧道建立模块10建立的P2P LSP隧道接收和/或发送报文。 
当该RB为Ingress RB时,如图8所示,该RB中还可以包括:Token分配模块30和表项下发模块40,其中, 
Token分配模块30用于根据NickName路由表中各个RB的NickName,以NickName作为FEC,为除了本RB的NickName以外的每一个NickName分配一个Token; 
表项下发模块40用于将NickName路由表的每一个表项中的NickName,替换成出标签、操作和该NickName对应的Token,下发到数据平面的第一单播隧道转发表,而不再将NickName路由表下发到数据平面,其中,第一单播隧道转发表的每一个单播隧道转发表项中包括:Token、出标签、出接口、Outer VLAN、下一跳的MAC和操作,该出标签为该下一跳为该NickName分配的单播隧道标签,该操作为Push;还用于将Inner MAC对应的Egress RB NickName,替换成该NickName对应的Token,下发到数据平面的用户MAC转发表,其中,该用户MAC转发表的每一个MAC转发表项中包括:Inner MAC和Token; 
收发模块20中进一步包括:接收单元、查找单元、处理单元和发送单元,其中, 
接收单元,用于接收来自用户网络的单播的以太网报文; 
查找单元,用于在接收单元接收到单播的以太网报文之后,在该用户MAC转发表中查找与该以太网报文中的Inner D-MAC相匹配的MAC转发表项,以及在第一单播隧道转发表中查找与查找到的MAC转发表项中的Token相匹配的单播隧道转发表项; 
处理单元,用于在查找单元查找到的单播隧道转发表项中的操作为Push时,将该单播隧道转发表项中的出标签压入该以太网报文,并使用该单播隧道转发表项中的其他内容对该以太网报文进行MPLS封装得到MPLS报文; 
发送单元,用于将处理单元封装得到的MPLS报文通过该单播隧道转发表项中的出接口转发到该下一跳。 
当该RB为Transit RB时,表项下发模块还用于将NickName路由表的每一个表项中的NickName,替换成入标签、出标签和操作,下发到数据平面的第二单播隧道转发表,而不再将NickName路由表下发到数据平面,其中,第二单播隧道转发表中的每一个单播隧道转发表项中包括:入标签、出标签、出接口、Outer VLAN、下一跳的MAC和操作,该入标签为第一RB为该NickName分配的单播隧道标签,该出标签为具有该NickName的RB为该NickName分配的单播隧道标签,该操作为交换标签Swap;接收单元还用于接收MPLS报文;查找单元还用于在接收单元 接收到MPLS报文之后,在第二单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项;处理单元还用于在查找单元查找到的单播隧道转发表项中的操作为Swap时,将该MPLS报文中的单播隧道标签替换为该单播隧道转发表项中的出标签,并使用该单播隧道转发表项中的其他内容对该MPLS报文中的相应内容进行替换;发送单元还用于将该MPLS报文通过该单播隧道转发表项中的出接口转发到该下一跳。 
另外,当该RB为Egress RB时,表项下发模块还用于将NickName路由表的每一个表项中的NickName,替换成入标签和操作,下发到数据平面的第三单播隧道转发表,而不再将NickName路由表下发到数据平面,其中,第三单播隧道转发表中的每一个单播隧道转发表项中包括:入标签和操作,该入标签为第一RB为该NickName分配的单播隧道标签,该操作为弹出标签Pop;查找单元还用于在接收单元接收到MPLS报文之后,在第三单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项;处理单元还用于在查找单元查找到的单播隧道转发表项中的操作为Pop时,弹出该MPLS报文中的单播隧道标签,并解封装该MPLS报文得到以太网报文;发送单元还用于在用户MAC转发表中查找与该以太网报文中的Inner D-MAC相匹配的MAC转发表项,并将该以太网报文通过该MAC转发表项中的出接口转发出去。 
在组播、广播和Inner D-MAC未知的单播报文的转发过程中,该RB可能是分发树中的根节点:DRB,也可能是叶子节点,这样,当该RB为TRILL网络的一棵分发树的叶子节点时,该RB中的各个模块和单元的功能如下: 
隧道建立模块,还用于为该分发树的指定路由桥DRB的NickName分配一个唯一的组播隧道标签,建立与DRB之间的P2MP LSP隧道; 
表项下发模块,还用于下发组播隧道转发表项到数据平面,该组播隧道转发表项中包括:组播隧道标签和操作,该组播隧道标签为本RB为DRB分配的组播隧道标签,该操作为Pop; 
接收单元,还用于接收以下以太网报文之一:广播以太网报文、组播以太网报文、Inner D-MAC未知的单播以太网报文; 
查找单元,还用于在接收单元接收到以下以太网报文之一:广播以太网报文、组播以太网报文、Inner D-MAC未知的单播以太网报文后,在第一单播隧道转发表中查找与DRB对应的Token相匹配的单播隧道转发表项; 
处理单元,还用于在查找单元查找到的单播隧道转发表项中的操作为Push时,将该单播隧道转发表项中的出标签压入该以太网报文,并使用该单播隧道转发表项中的 其他内容对该以太网报文进行MPLS封装得到MPLS报文,将该MPLS报文通过该单播隧道转发表项中的出接口转发到DRB;还用于在接收单元接收到MPLS报文之后,按照该组播隧道转发表项中的操作Pop,弹出该MPLS报文中的组播隧道标签,并解封装该MPLS报文得到以太网报文; 
发送单元,还用于在接收单元接收到的以太网报文或处理单元解封装得到的以太网报文是以下以太网报文之一:广播以太网报文、组播以太网报文、Inner D-MAC未知的单播以太网报文时,将该以太网报文广播到用户网络。 
另外,当该RB为该分发树的DRB时,各个模块和单元的功能如下: 
隧道建立模块,还用于接收该分发树的叶子节点为本RB的NickName分配的组播隧道标签,建立与各个叶子节点之间的P2MP LSP隧道; 
表项下发模块,还用于下发该分发树的转发项到数据平面,其中,该分发树的转发项中包括:该分发树的各个叶子节点的MAC地址及其对应的出接口和出标签,该出标签为该叶子节点为DRB分配的组播隧道标签; 
处理单元,还用于在接收单元接收到MPLS报文之后,在第三单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项,若查找到的单播隧道转发表项中的操作为Pop,则弹出该MPLS报文中的单播隧道标签,并解封装该MPLS报文得到以太网报文,然后,按照该分发树的转发项,将该以太网报文进行MPLS封装,并将封装得到的多个MPLS报文分别转发给该分发树的其他叶子节点。 
综上,本发明以上实施例可以达到以下技术效果: 
(1)通过在TRILL网络中的RB之间建立P2P LSP隧道,在报文转发时使用P2P LSP隧道进行转发,替代了NickName转发,从而,使得硬件转发芯片不需要支持NickName转发,只需支持MPLS LSP隧道转发即可,这样,在网络升级改造时,硬件转发芯片不需要同时进行升级,节约了经济成本以及降低了网络部署的难度。 
(2)由于MPLS LSP隧道转发的应用较广,本申请实施例中在TRILL网络中通过MPLS LSP隧道转发报文,使得TRILL网络在部署时,不用更新硬件转发芯片。 
(3)使用MPLS LSP隧道转发报文,仍然可以实现NickName转发中的携带TTL参数,实现负载分担等功能,因此,本申请的实施例中,在TRILL网络中通过MPLS LSP隧道转发报文,并不会影响TRILL网络原有的功能。 
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明 的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。 

Claims (12)

1.一种多链路透明互联TRILL网络中的报文转发方法,所述TRILL网络中包括多个路由桥RB,其特征在于,所述方法包括:
第一RB根据控制平面的昵称NickName路由表中各个RB的NickName,以NickName作为转发等价类FEC分配单播隧道标签,建立与所述TRILL网络中的其他RB之间的点到点P2P标签交换路径LSP隧道;
第一RB通过建立的P2P LSP隧道接收和/或发送报文。
2.根据权利要求1所述的方法,其特征在于,当第一RB为入口Ingress RB时,
在所述第一RB通过建立的P2P LSP隧道接收和/或发送报文之前,还包括:第一RB根据所述NickName路由表中各个RB的NickName,以NickName作为FEC,为除了自己的NickName以外的每一个NickName分配一个令牌Token;第一RB将所述NickName路由表的每一个表项中的NickName,替换成出标签、操作和该NickName对应的Token,下发到数据平面的第一单播隧道转发表,而不再将所述NickName路由表下发到数据平面,其中,第一单播隧道转发表的每一个单播隧道转发表项中包括:Token、出标签、出接口、外层Outer VLAN、下一跳的MAC和操作,该出标签为该下一跳为该NickName分配的单播隧道标签,该操作为压标签Push;第一RB将用户Inner MAC对应的出口Egress RB NickName,替换成该NickName对应的Token,下发到数据平面的用户MAC转发表,其中,该用户MAC转发表的每一个MAC转发表项中包括:Inner MAC和Token;
所述第一RB通过建立的P2P LSP隧道接收和/或发送报文包括:在接收到来自用户网络的单播以太网报文之后,第一RB在该用户MAC转发表中查找与该以太网报文中的Inner目的D-MAC相匹配的MAC转发表项;第一RB在第一单播隧道转发表中查找与查找到的MAC转发表项中的Token相匹配的单播隧道转发表项;若查找到的单播隧道转发表项中的操作为Push,则第一RB将该单播隧道转发表项中的出标签压入该以太网报文,并使用该单播隧道转发表项中的其他内容对该以太网报文进行MPLS封装得到MPLS报文,将该MPLS报文通过该单播隧道转发表项中的出接口转发到该下一跳。
3.根据权利要求1所述的方法,其特征在于,当第一RB为中间Transit RB时,
在所述第一RB通过建立的P2P LSP隧道接收和/或发送报文之前,还包括:第一RB将所述NickName路由表的每一个表项中的NickName,替换成入标签、出标签和操作,下发到数据平面的第二单播隧道转发表,而不再将所述NickName路由表下发到数据平面,其中,第二单播隧道转发表中的每一个单播隧道转发表项中包括:入标签、出标签、出接口、Outer VLAN、下一跳的MAC和操作,该入标签为第一RB为该NickName分配的单播隧道标签,该出标签为具有该NickName的RB为该NickName分配的单播隧道标签,该操作为交换标签Swap;
所述第一RB通过建立的P2P LSP隧道接收和/或发送报文包括:在接收到MPLS报文之后,第一RB在第二单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项;若查找到的单播隧道转发表项中的操作为Swap,则第一RB将该MPLS报文中的单播隧道标签替换为该单播隧道转发表项中的出标签,并使用该单播隧道转发表项中的其他内容对该MPLS报文中的相应内容进行替换,将该MPLS报文通过该单播隧道转发表项中的出接口转发到该下一跳。
4.根据权利要求2所述的方法,其特征在于,当第一RB为出口Egress RB时,
在所述第一RB通过建立的P2P LSP隧道接收和/或发送报文之前,还包括:第一RB将所述NickName路由表的每一个表项中的NickName,替换成入标签和操作,下发到数据平面的第三单播隧道转发表,而不再将所述NickName路由表下发到数据平面,其中,第三单播隧道转发表中的每一个单播隧道转发表项中包括:入标签和操作,该入标签为第一RB为该NickName分配的单播隧道标签,该操作为弹出标签Pop;
所述第一RB通过建立的P2P LSP隧道接收和/或发送报文包括:在接收到MPLS报文之后,第一RB在第三单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项;若查找到的单播隧道转发表项中的操作为Pop,则第一RB弹出该MPLS报文中的单播隧道标签,并解封装该MPLS报文得到以太网报文;第一RB在用户MAC转发表中查找与该以太网报文中的Inner D-MAC相匹配的MAC转发表项,并将该以太网报文通过该MAC转发表项中的出接口转发出去。
5.根据权利要求4所述的方法,其特征在于,当第一RB为所述TRILL网络的一棵分发树的叶子节点时,所述方法还包括:
第一RB为该分发树的指定路由桥DRB的NickName分配一个唯一的组播隧道标签,建立与所述DRB之间的点到多点P2MP LSP隧道;
第一RB下发组播隧道转发表项到数据平面,其中,该组播隧道转发表项中包括:组播隧道标签和操作,该组播隧道标签为第一RB为所述DRB分配的组播隧道标签,该操作为Pop;
第一RB在接收到以下以太网报文之一:广播以太网报文、组播以太网报文、InnerD-MAC未知的单播以太网报文后,将该以太网报文广播到用户网络,同时,在第一单播隧道转发表中查找与所述DRB对应的Token相匹配的单播隧道转发表项;若查找到的单播隧道转发表项中的操作为Push,则第一RB将该单播隧道转发表项中的出标签压入该以太网报文,并使用该单播隧道转发表项中的其他内容对该以太网报文进行MPLS封装得到MPLS报文,将该MPLS报文通过该单播隧道转发表项中的出接口转发到所述DRB;
第一RB在接收到MPLS报文之后,按照组播隧道转发表项中的操作Pop,弹出该MPLS报文中的组播隧道标签,并解封装该MPLS报文得到以太网报文;在确定该以太网报文为以下报文之一:广播以太网报文、组播以太网报文、Inner D-MAC未知的单播以太网报文后,第一RB将该以太网报文广播到用户网络。
6.根据权利要求5所述的方法,其特征在于,当第一RB为该分发树的DRB时,所述方法还包括:
第一RB接收该分发树的叶子节点为自己的NickName分配的组播隧道标签,建立与各个叶子节点之间的P2MP LSP隧道;
第一RB下发该分发树的转发项到数据平面,其中,该分发树的转发项中包括:该分发树的各个叶子节点的MAC地址及其对应的出接口和出标签,该出标签为该叶子节点为所述DRB分配的组播隧道标签;
第一RB在接收到MPLS报文之后,在第三单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项;若查找到的单播隧道转发表项中的操作为Pop,则弹出该MPLS报文中的单播隧道标签,并解封装该MPLS报文得到以太网报文;
第一RB按照该分发树的转发项,将该以太网报文进行MPLS封装,并将封装得到的多个MPLS报文分别转发给该分发树的其他叶子节点。
7.一种多链路透明互联TRILL网络中的路由桥RB,其特征在于,包括:
隧道建立模块,用于根据控制平面的昵称NickName路由表中各个RB的NickName,以NickName作为转发等价类FEC分配单播隧道标签,建立本RB与所述TRILL网络中的其他RB之间的点到点P2P标签交换路径LSP隧道;
收发模块,用于通过所述隧道建立模块建立的P2P LSP隧道接收和/或发送报文。
8.根据权利要求7所述的RB,其特征在于,当所述RB为入口Ingress RB时,所述RB还包括:令牌Token分配模块和表项下发模块,其中,
所述Token分配模块,用于根据所述NickName路由表中各个RB的NickName,以NickName作为FEC,为除了本RB的NickName以外的每一个NickName分配一个Token;
所述表项下发模块,用于将所述NickName路由表的每一个表项中的NickName,替换成出标签、操作和该NickName对应的Token,下发到数据平面的第一单播隧道转发表,而不再将所述NickName路由表下发到数据平面,其中,第一单播隧道转发表的每一个单播隧道转发表项中包括:Token、出标签、出接口、外层Outer VLAN、下一跳的MAC和操作,该出标签为该下一跳为该NickName分配的单播隧道标签,该操作为压标签Push;还用于将用户Inner MAC对应的出口Egress RB NickName,替换成该NickName对应的Token,下发到数据平面的用户MAC转发表,其中,该用户MAC转发表的每一个MAC转发表项中包括:Inner MAC和Token;
所述收发模块包括:接收单元,用于接收来自用户网络的单播以太网报文;查找单元,用于在所述接收单元接收到单播以太网报文之后,在该用户MAC转发表中查找与该以太网报文中的Inner目的D-MAC相匹配的MAC转发表项,以及在第一单播隧道转发表中查找与查找到的MAC转发表项中的Token相匹配的单播隧道转发表项;处理单元,用于在所述查找单元查找到的单播隧道转发表项中的操作为Push时,将该单播隧道转发表项中的出标签压入该以太网报文,并使用该单播隧道转发表项中的其他内容对该以太网报文进行MPLS封装得到MPLS报文;发送单元,用于将所述处理单元封装得到的MPLS报文通过该单播隧道转发表项中的出接口转发到该下一跳。
9.根据权利要求7所述的RB,其特征在于,当所述RB为中间Transit RB时,
所述表项下发模块,还用于将所述NickName路由表的每一个表项中的NickName,替换成入标签、出标签和操作,下发到数据平面的第二单播隧道转发表,而不再将所述NickName路由表下发到数据平面,其中,第二单播隧道转发表中的每一个单播隧道转发表项中包括:入标签、出标签、出接口、Outer VLAN、下一跳的MAC和操作,该入标签为第一RB为该NickName分配的单播隧道标签,该出标签为具有该NickName的RB为该NickName分配的单播隧道标签,该操作为交换标签Swap;
所述接收单元,还用于接收MPLS报文;
所述查找单元,还用于在所述接收单元接收到MPLS报文之后,在第二单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项;
所述处理单元,还用于在所述查找单元查找到的单播隧道转发表项中的操作为Swap时,将该MPLS报文中的单播隧道标签替换为该单播隧道转发表项中的出标签,并使用该单播隧道转发表项中的其他内容对该MPLS报文中的相应内容进行替换;
所述发送单元,还用于将该MPLS报文通过该单播隧道转发表项中的出接口转发到该下一跳。
10.根据权利要求8所述的RB,其特征在于,当所述RB为出口Egress RB时,
所述表项下发模块,还用于将所述NickName路由表的每一个表项中的NickName,替换成入标签和操作,下发到数据平面的第三单播隧道转发表,而不再将所述NickName路由表下发到数据平面,其中,第三单播隧道转发表中的每一个单播隧道转发表项中包括:入标签和操作,该入标签为第一RB为该NickName分配的单播隧道标签,该操作为弹出标签Pop;
所述查找单元,还用于在所述接收单元接收到MPLS报文之后,在第三单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项;
所述处理单元,还用于在所述查找单元查找到的单播隧道转发表项中的操作为Pop时,弹出该MPLS报文中的单播隧道标签,并解封装该MPLS报文得到以太网报文;
所述发送单元,还用于在用户MAC转发表中查找与该以太网报文中的InnerD-MAC相匹配的MAC转发表项,并将该以太网报文通过该MAC转发表项中的出接口转发出去。
11.根据权利要求10所述的RB,其特征在于,当所述RB为所述TRILL网络的一棵分发树的叶子节点时,
所述隧道建立模块,还用于为该分发树的指定路由桥DRB的NickName分配一个唯一的组播隧道标签,建立与所述DRB之间的点到多点P2MP LSP隧道;
所述表项下发模块,还用于下发组播隧道转发表项到数据平面,该组播隧道转发表项中包括:组播隧道标签和操作,该组播隧道标签为本RB为所述DRB分配的组播隧道标签,该操作为Pop;
所述接收单元,还用于接收以下以太网报文之一:广播以太网报文、组播以太网报文、Inner D-MAC未知的单播以太网报文;
所述查找单元,还用于在所述接收单元接收到以下以太网报文之一:广播以太网报文、组播以太网报文、Inner D-MAC未知的单播以太网报文后,在第一单播隧道转发表中查找与所述DRB对应的Token相匹配的单播隧道转发表项;
所述处理单元,还用于在所述查找单元查找到的单播隧道转发表项中的操作为Push时,将该单播隧道转发表项中的出标签压入该以太网报文,并使用该单播隧道转发表项中的其他内容对该以太网报文进行MPLS封装得到MPLS报文,将该MPLS报文通过该单播隧道转发表项中的出接口转发到所述DRB;还用于在所述接收单元接收到MPLS报文之后,按照该组播隧道转发表项中的操作Pop,弹出该MPLS报文中的组播隧道标签,并解封装该MPLS报文得到以太网报文;
所述发送单元,还用于在所述接收单元接收到的以太网报文或所述处理单元解封装得到的以太网报文是以下以太网报文之一:广播以太网报文、组播以太网报文、InnerD-MAC未知的单播以太网报文时,将该以太网报文广播到用户网络。
12.根据权利要求11所述的RB,其特征在于,当所述RB为该分发树的DRB时,
所述隧道建立模块,还用于接收该分发树的叶子节点为本RB的NickName分配的组播隧道标签,建立与各个叶子节点之间的P2MP LSP隧道;
所述表项下发模块,还用于下发该分发树的转发项到数据平面,其中,该分发树的转发项中包括:该分发树的各个叶子节点的MAC地址及其对应的出接口和出标签,该出标签为该叶子节点为所述DRB分配的组播隧道标签;
所述处理单元,还用于在所述接收单元接收到MPLS报文之后,在第三单播隧道转发表中查找与该MPLS报文中的单播隧道标签相匹配的单播隧道转发表项,若查找到的单播隧道转发表项中的操作为Pop,则弹出该MPLS报文中的单播隧道标签,并解封装该MPLS报文得到以太网报文,然后,按照该分发树的转发项,将该以太网报文进行MPLS封装,并将封装得到的多个MPLS报文分别转发给该分发树的其他叶子节点。
CN201210478960.XA 2012-11-21 2012-11-21 Trill网络中的报文转发方法及设备 Active CN103841013B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210478960.XA CN103841013B (zh) 2012-11-21 2012-11-21 Trill网络中的报文转发方法及设备
US14/443,914 US9479420B2 (en) 2012-11-21 2013-11-21 Forwarding a packet in a network
PCT/CN2013/087546 WO2014079369A1 (en) 2012-11-21 2013-11-21 Forwarding a packet in a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210478960.XA CN103841013B (zh) 2012-11-21 2012-11-21 Trill网络中的报文转发方法及设备

Publications (2)

Publication Number Publication Date
CN103841013A true CN103841013A (zh) 2014-06-04
CN103841013B CN103841013B (zh) 2017-06-16

Family

ID=50775549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210478960.XA Active CN103841013B (zh) 2012-11-21 2012-11-21 Trill网络中的报文转发方法及设备

Country Status (3)

Country Link
US (1) US9479420B2 (zh)
CN (1) CN103841013B (zh)
WO (1) WO2014079369A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119795A (zh) * 2015-07-14 2015-12-02 中国联合网络通信集团有限公司 一种组播隧道的建立方法及装置
CN105323084A (zh) * 2014-07-01 2016-02-10 中兴通讯股份有限公司 三层网管管理trill网络的方法、装置及系统
CN107528781A (zh) * 2016-06-22 2017-12-29 中兴通讯股份有限公司 组播报文的转发方法及装置、路由器
CN107612824A (zh) * 2016-07-12 2018-01-19 迈普通信技术股份有限公司 一种组播指定路由器的确定方法及组播设备
CN108173765A (zh) * 2017-12-28 2018-06-15 新华三技术有限公司 一种报文转发方法和装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107888436A (zh) * 2016-09-30 2018-04-06 郑州云海信息技术有限公司 一种p2p网络路由表采集方法、流程及设备
TWI738972B (zh) * 2018-02-14 2021-09-11 智邦科技股份有限公司 支援多連結透明互聯協議的裝置及其通訊方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728777B1 (en) * 1999-06-02 2004-04-27 Nortel Networks Limited Method for engineering paths for multicast traffic
US7027453B2 (en) * 2000-10-13 2006-04-11 General Instrument Corporation Spanning tree alternate routing bridge protocol
CN1214582C (zh) * 2002-06-28 2005-08-10 华为技术有限公司 一种基于多协议标签交换网络的数据报文的转发方法
CN100372336C (zh) * 2004-07-13 2008-02-27 华为技术有限公司 多协议标签交换虚拟专用网及其控制和转发方法
CN100563182C (zh) * 2004-08-31 2009-11-25 华为技术有限公司 一种在多层标签交换网络中实现虚拟专网业务的方法
US7450527B2 (en) * 2004-11-23 2008-11-11 Nortel Networks Limited Method and apparatus for implementing multiple portals into an Rbridge network
CN100433691C (zh) * 2005-11-02 2008-11-12 华为技术有限公司 一种虚拟专用网络的路由方法
US7656792B2 (en) * 2006-11-02 2010-02-02 Nortel Networks Limited Method and apparatus for computing alternate multicast/broadcast paths in a routed network
CN101035081B (zh) * 2007-04-28 2010-04-21 杭州华三通信技术有限公司 一种基于隧道的报文转发方法和标签交换路由器
US8964571B2 (en) * 2007-07-06 2015-02-24 Alcatel Lucent Method and apparatus for simultaneous support of fast restoration and native multicast in IP networks
CN101729361B (zh) * 2008-10-22 2012-05-02 华为技术有限公司 报文处理的方法和装置
US8634289B2 (en) * 2009-12-31 2014-01-21 Alcatel Lucent Efficient protection scheme for MPLS multicast
US8509087B2 (en) * 2010-05-07 2013-08-13 Cisco Technology, Inc. Per-graph link cost assignment in layer 2 multipath networks
US9231851B2 (en) * 2011-01-31 2016-01-05 Futurewei Technologies, Inc. System and method for computing point-to-point label switched path crossing multiple domains
CN102075446A (zh) * 2011-03-01 2011-05-25 杭州华三通信技术有限公司 多链接透明互联网络异地互联方法及运营商边缘设备
CN102185782B (zh) * 2011-05-17 2014-04-02 福建星网锐捷网络有限公司 多链接透明传输互连网络的数据发送方法及其装置
US9246838B1 (en) * 2011-05-27 2016-01-26 Juniper Networks, Inc. Label switched path setup using fast reroute bypass tunnel
US8885643B2 (en) * 2011-11-04 2014-11-11 Futurewei Technologies, Inc. Method for multicast flow routing selection

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105323084A (zh) * 2014-07-01 2016-02-10 中兴通讯股份有限公司 三层网管管理trill网络的方法、装置及系统
CN105323084B (zh) * 2014-07-01 2020-03-10 中兴通讯股份有限公司 三层网管管理trill网络的方法、装置及系统
CN105119795A (zh) * 2015-07-14 2015-12-02 中国联合网络通信集团有限公司 一种组播隧道的建立方法及装置
CN105119795B (zh) * 2015-07-14 2019-04-30 中国联合网络通信集团有限公司 一种组播隧道的建立方法及装置
CN107528781A (zh) * 2016-06-22 2017-12-29 中兴通讯股份有限公司 组播报文的转发方法及装置、路由器
CN107612824A (zh) * 2016-07-12 2018-01-19 迈普通信技术股份有限公司 一种组播指定路由器的确定方法及组播设备
CN107612824B (zh) * 2016-07-12 2020-07-28 迈普通信技术股份有限公司 一种组播指定路由器的确定方法及组播设备
CN108173765A (zh) * 2017-12-28 2018-06-15 新华三技术有限公司 一种报文转发方法和装置
CN108173765B (zh) * 2017-12-28 2020-09-15 新华三技术有限公司 一种报文转发方法和装置

Also Published As

Publication number Publication date
US20150295811A1 (en) 2015-10-15
CN103841013B (zh) 2017-06-16
WO2014079369A1 (en) 2014-05-30
US9479420B2 (en) 2016-10-25

Similar Documents

Publication Publication Date Title
CN103841013A (zh) Trill网络中的报文转发方法及设备
CN104038417A (zh) 应用于mpls网络的服务实例
CN102037685B (zh) 通过链路状态协议控制的以太网的ip转发
CN102957616B (zh) 在asic中转发trill网络报文的方法及系统
CN106341327A (zh) 一种bier报文的传输方法及系统
CN106603413B (zh) 通过指定路径传输流量的方法和装置
CN102075438B (zh) 单播数据帧传输方法及装置
CN103858391A (zh) 在转发层面针对无连接的mpls网络使mpls路径环回
CN102150148A (zh) 层2拓扑中针对单播帧和多播帧的差别化服务
CN101960786A (zh) 使用链路状态协议受控以太网网络的mpls p节点替换
CN103873373A (zh) 一种组播数据报文转发方法及设备
CN104954265B (zh) 发送组播报文的方法及交换机
CN102075446A (zh) 多链接透明互联网络异地互联方法及运营商边缘设备
CN103685022A (zh) 报文转发方法及服务提供商网络边缘设备
CN103346968A (zh) 用于路由组播数据的方法和装置
CN101106507B (zh) 一种实现分层虚拟专用局域网服务的方法
CN106603407A (zh) 组播地址的传输方法和装置
CN101656663B (zh) 一种mpls多播报文的转发方法、装置及系统
CN107623630B (zh) 一种位索引显式复制信息传递方法和装置
CN102868614A (zh) Trill网络中的报文转发方法和路由网桥
CN109246624A (zh) 一种组播转发方法及相关设备
CN105144639A (zh) 在覆盖网络中至双重连接(vpc)的主机的有效组播传送
CN107566265A (zh) 一种对称转发模型下的evpn vxlan 网关esi 冗余接入方法
WO2017177756A1 (zh) 一种信息传递方法、装置及系统
CN103716169B (zh) 点到多点的组播实现方法、网络节点和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant