专利名称:建立标签交换路径的方法、系统及网络节点的制作方法
技术领域:
本发明涉及通信领域,特别涉及一种建立标签交换路径的方法、系统及网络节点。
背景技术:
多协议标签交换(MPLS, Multi-Protocol Label Switching)属于第三代网络架构,是新一代的IP高速骨干网络交换标准,由因特网工程任务组(IETF, InternetEngineering Task Force)提出。MPLS集成了 IP路由技术和2层交换,在面向无连接的IP网络中增加了 MPLS的面向连接的属性,将面向无连接的IP业务移植到面向连接的标签交换业务之上,实现路由选择层面与数据转发层面分离。 MPLS网络中,在入口标签交换路由器(LSR, Label Switch Router)处,将进入网络的分组按照不同转发要求划分成转发等价类(FEC, Forward Equivalence Class),并将每个特定FEC映射到下一跳,即进入网络的每一特定分组都被指定到某个特定的FEC中。每一特定FEC都被编码为一个短而定长的值,称为标签,将标签加在分组前成为标签分组,再转发到下一跳。在后续的每一跳上,不再需要分析分组头,而是用标签作为指针,指向下一跳的输出端口和一个新的标签,标签分组用新标签替代旧标签后经指定的输出端口转发。在出口 LSR上,去除标签使用IP路由机制将分组向目的地转发。与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,节约了处理时间。 MPLS标签转发路径的建立,即通过标签分配协议将标签与FEC进行绑定。目前有多种标签分配协议,其中标签分发协议(LDP, Label Distribution Protocol)是专门为标签发布而制定的协议。LDP是LSR之间协商标签含义的过程。通过LDP协议,LSR可以把网络层的路由信息直接映射到数据链路层的交换路径上,进而建立起网络层上的标签交换路径(LSP, LabelSwitch Path) 。 LSR之间将依据本地转发表中对应于一个特定FEC的入标签、下一跳节点、出标签等信息连接在一起,LSP既可以建立在两个相邻的LSR之间,也可以终止于网络出口节点,从而在网络中所有中间节点上都使用标签交换,形成跨越整个MPLS域的LSP。 LDP建立标签交换路径依赖于现有的路由协议,即LDP和传统路由协议(如OSPF、ISIS等) 一起,在各个LSR中为有业务需求的FEC建立路由表和标签映射表。主要依据路由表,根据路由表中的信息向LSR发送标签请求(Label Request)或标签映射(LabelMapping)消息。 由前所述,LDP建立LSP将依据路由协议发现的路由,只要存在路由,LDP就会向对应的邻居发送hello消息建立邻接关系进而建立LDP会话,建立对等体关系。当路由表中存在等值路由时,LDP将为同一FEC的数据流建立等值路径。等值多路径路由(ECMP,Equal-CostMultiPath Routing),是指到达同一 目的地有多条路由存在,且每条路由的度量值和优先级相等,数据包在等值路由的转发一般根据本地策略应用不同ECMP算法,使数据包分别通过不同的路径到达目的地,各条路径在互为备份的同时实现了负载分担。
本发明的发明人发现等值路径的存在虽然在一定程度上增加了用户的使用带 宽、故障切换灵活性以及链路的负载均衡能力,但也为MPLS网络,特别是面向传输型的 MPLS网络带来了一些负面的影响 等值路径的存在增加了节点设备对IP/MPLS报头的处理要求。由于度量值和优先 级都相等,数据包对于等值路径的选取根据本地策略,大多通过根据IP/MPLS报头的信息 应用不同的ECMP算法,选取其中的一条路径进行转发。由此增加了设备对数据包的处理开 销,提高了对数据包的处理要求。 等值路径的存在可能使同一数据流的报文到达目的时出现乱序。面对等值路径, 数据包选取其中的一条路径进行转发,而每条路径转发数据包时可能出现的网络延时不同 的,因此可能导致到达目的地时数据包出现乱序,这对于某些特殊要求的服务是不能接受 的。 由于当前负载分担算法的缺陷,ECMP的存在使部分链路出现了拥塞或软瘫痪。当 前的负载分担算法实现效果不理想,致使其中的部分个别链路出现拥塞或软瘫痪,而网管 系统可能并没有意识到,从而造成链路的使用效率低下。 网络的管理和维护比较困难,操作管理维护(OAM, Operation Administration Maintenance)很难实现。MPLS网络管理平面和数据转发平面分离,控制平面无法感知数据 平面的故障;而由于数据流所经过ECMP路径的不确定性,应用传统的MPLS检测工具很难 检测数据平面的故障,为网络的运行、管理和维护带来了一定的困难,不利于OAM功能的实 现。 另外,在现有技术中,RFC4928是针对MPLS网络中ECMP路径的存在造成同一流的 数据包乱序问题提出的一种解决方案。在此方案中,通过调查报文的IP协议字段或MPLS 标签栈进行不同的ECMP算法,从而使同一数据流的报文经过一条路径进行转发,避免ECMP 路径造成数据包的乱序问题。该方案的问题是先建立ECMP路径,转发时查询数据包IP协 议字段或标签栈,应用ECMP算法,而不走ECMP路径,此种技术实现在一定程度上增加了网 络处理的开销及网络设备对数据包的处理要求。
发明内容
有鉴于此,本发明实施例提供了建立标签交换路径的方法、系统及网络节点。所述 技术方案如下 —方面,本发明实施例提供了一种建立标签交换路径的方法,所述方法包括
入口边缘节点向其下游节点发送标签请求报文,所述标签请求报文携带转发等价 类的等值多路径路由的属性标志信息; 收到所述标签请求报文的下游节点根据所述属性标志信息向其下一跳节点发送 所述标签请求报文; 收到所述标签请求报文的节点根据所述标签请求报文的路径进行标签映射,为所 述转发等价类进行标签绑定,建立标签交换路径。 另一方面,本发明实施例还提供了一种建立标签交换路径的方法,所述方法包 括 出口边缘节点向其上游节点发送标签映射报文,所述标签映射报文携带转发等价类的等值多路径路由的属性标志信息; 收到所述标签映射报文的上游节点根据所述属性标志信息为所述转发等价类进 行标签绑定,并继续向其上游节点发送所述标签映射报文; 当入口边缘节点收到所述标签映射报文后,为所述转发等价类进行标签绑定,建 立标签交换路径。 再一方面,本发明实施例提供了一种网络节点,所述网络节点包括 第一接收模块,用于接收标签请求报文,所述标签请求报文携带转发等价类的等
值多路径路由的属性标志信息; 请求报文处理模块,用于根据所述属性标志信息向下一跳节点发送所述标签请求 报文; 映射处理模块,用于根据所述标签请求报文的路径进行标签映射,为所述转发等 价类进行标签绑定,建立标签交换路径。 又一方面,本发明实施例提供了一种网络节点,所述网络节点包括 第二接收模块,用于接收标签映射报文,所述标签映射报文携带转发等价类的等
值多路径路由的属性标志信息; 处理模块,用于根据所述属性标志信息为所述转发等价类进行标签绑定;
发送模块,用于发送所述标签映射报文。
又一方面,本发明实施例提供了一种边缘网络节点,所述边缘网络节点包括 获取模块,用于获取转发等价类的等值多路径路由的属性标志信息; 报文发送模块,用于发送标签请求报文/标签映射报文,所述标签请求报文/标签
映射报文携带所述转发等价类的等值多路径路由的属性标志信息; 标签绑定模块,用于为所述转发等价类进行标签绑定。 又一方面,本发明实施例提供一种系统,所述系统包括 边缘网络节点,获取转发等价类的等值多路径路由的属性标志信息;还用于发送 标签请求报文/标签映射报文,所述标签请求报文/标签映射报文携带所述转发等价类的 等值多路径路由的属性标志信息;还用于为所述转发等价类进行标签绑定;
中间网络节点,用于接收所述标签请求报文/标签映射报文,所述标签请求报文/ 标签映射报文携带转发等价类的等值多路径路由的属性标志信息;还用于根据所述属性标 志信息向下一跳节点发送所述标签请求报文/标签映射报文;还用于根据所述标签请求报 文的路径进行标签映射,为所述转发等价类进行标签绑定,建立标签交换路径。
本发明实施例提供的技术方案的有益效果是 通过对LDP协议报文进行扩展,标签映射报文与标签请求报文携带允许或不允许 建立ECMP路径的标志信息,为对乱序、0AM等具有特殊要求的FEC在建立LSP的过程中,实 现避免建立ECMP路径;在建立LSP的过程中,通过报文发送ECMP路径的属性标志信息,无 需对LSP上的每个LSR进行设置,能够实现自动避免建立ECMP路径,从而避免了 ECMP带来 的数据包乱序、部分链路拥塞以及操作管理维护难以实现等问题,有利于满足MPLS网络的 管理和维护。
图1是本发明实施例提供的LDP标签分发过程; 图2是本发明实施例1提供的DoD方式下避免建立ECMP路径拓扑结构图; 图3是本发明实施例1提供的建立标签交换路径的方法流程示意图; 图4是本发明实施例2提供的DU order方式下避免建立ECMP路径拓扑结构图; 图5是本发明实施例2提供的建立标签交换路径的方法流程示意图; 图6是本发明实施例3提供的DU ind印endent方式下避免建立ECMP路径拓扑结
构图; 图7是本发明实施例3提供的建立标签交换路径的方法流程示意图; 图8是本发明实施例4提供的网络节点结构示意图; 图9是本发明实施例5提供的网络节点结构示意图; 图10是本发明实施例6提供的边缘网络节点结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。 本发明实施例通过扩展LDP协议报文,在报文中携带ECMP属性标志信息,根据该 ECMP属性标志信息,决定是否为FEC建立ECMP路径。 本发明实施例通过对LDP协议进行扩展,LDP协议在标签请求报文和标签映射报 文中携带ECMP属性标志信息,即建立ECMP路径标志信息或不建立ECMP路径标志信息;LSR 通过判断收到的标签请求报文以及标签映射报文中包含的ECMP属性标志信息,决定是否 发送标签请求报文,或者是否绑定标签,并将该ECMP属性标志信息逐级传递到整个MPLS网 络,为特定的FEC避免建立ECMP。其中,特定的FEC可以是在实际环境中对乱序、OAM等有 特殊要求的FEC。例如,对OAM要求比较高的FEC ;或者在面向传输的MPLS中,对乱序、OAM 等要求比较高,明确提出不建立ECMP路径的FEC。 LDP协议报文采用TLV(Type, Length, Value,类型,长度,值)方式携带各种信息, 现有FECTLV的格式如下 0 12 3 01234567890123456789012345678901
+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
|0|0|FEC(0x0100) | Length +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
I FEC Element 1 I
I +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
I FEC Element n
+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ 其中各个字段的含义如下 FEC :表示对象的类型,即TLV中的Type ; Length :FEC TLV的长度; FEC Element 1 FEC Element n :FEC TLV的取值。 本发明实施例扩展LDP协议报文,在标签请求报文和标签映射报文中携带ECMP属
性标志信息可以通过扩展现有TLV或新增TLV等方式实现,具体实现方式如下 (1)在FEC TLV中增加ECMP属性标志位,TLV格式如下 0 12 3 01234567890123456789012345678901 +_+_+_+_+_+- I 0 I 0 I F +_+_+_+_+_+-
+_+_+_+_+_+_+_+_+_+_+_+■
■+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+-
FEC (0x0100) ■+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+-FEC Element 1 ■+_+_+_+_+_+_+_+_+_+—
.+_+_+_+_+_+_+_+_+_+_+
Length .+_+_+_+_+_+_+_+_+_+_+
.+_+_+_+_+_+_+_+_+_+_+
+_+_+_+_+_+_+_+_+_+_+_+- +_+_+_+_+_+_+_+_+_+_+_+-
-+_+_+_+_+_+_+_+_+_+-
FEC Element n -+_+_+_+_+_+_+_+_+_+-
其中,在FEC TLV中增加F位,用来表示ECMP的属性。对F位的定义可具体为当F 位取值为0,标识NO-ECMP (即不建立ECMP);当F位取值为1 ,标识ECMP-OK (即建立ECMP)。
(2)在FEC TLV中扩展ECMP Sub-TLV,扩展后的TLV格式如下
0 12 3
01234567890123456789012345678901 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
Length
-+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
ECMP Sub-TLV -+_+_+_+_+_+_+_+_+-
FEC Element 1 -+_+_+_+_+_+_+_+_+-
o|o
FEC (0x0100)
.+_+_+_+_+_+_+_+_+—
FEC Element n .+_+_+_+_+_+_+_+_+—0102] 其中,ECMP Sub-TLV表示扩展的属性,具有以下格式
0103] 0 12 3
0104] 01234567890123456789012345678901
0105] +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
0106] I ECMP sub-Tlv(保留) | Length(保留)
0107] +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
0108] INO-ECMP/ECMP-OKI Reserved
0109] +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
0110]其中,ECMP Sub-Tlv (保留)表示i亥TLV是FEC TLV中扩展的ECMP属性子TLV,保
留表示其取值是可变的,根据分配获取;NO-ECMP/ECMP-OK表示对象的属性,取值可以为0
或1,表示不允许/允许建立ECMP ;Reserved表示保留字段。 0111 ] (3)新增ECMP标识TLV,新增的ECMP-TLV格式如下 0112] 0 12 3
0113] 01234567890123456789012345678901 0114] +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ 0115] |0|0|ECMP Tlv(保留) I Length(保留)
0116] +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ 0117] INO-ECMP/ECMP-OKI Reserved
0118] +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ 0119]其中,NO-ECMP/ECMP-OK表示不允许/允许建立ECMP路径。
0120] 与方法(2)中在现有FEC TLV基础上扩展ECMP Sub-TLV不同的是,本方法新增的 ECMP-TLV并非在现有FEC TLV格式的基础上扩展ECMP TLV,即新增ECMP-TLV与FECTLV是 并列关系而非包含关系。 需要说明的是,以上提到的扩展FEC TLV方式以及新增ECMP-TLV方式是本发明实 现在标签请求报文和标签映射报文中携带ECMP属性标志信息的几种方式,仅作为举例说 明,而并不对ECMP属性具体的携带方式以及TLV帧的具体组成形式形成限定,即ECMP属性 具体的携带方式以及TLV帧的具体组成形式还存在其他的变化。 本发明实施例提供了一种建立标签路径的方法,该方法通过网络节点传递LDP的 协议报文实现,包括 入口边缘节点向其下游节点发送标签请求报文,标签请求报文携带转发等价类的 等值多路径路由的属性标志信息; 收到标签请求报文的下游节点根据属性标志信息向其下一跳节点发送标签请求 报文; 收到标签请求报文的节点根据标签请求报文的路径进行标签映射,为转发等价类 进行标签绑定,建立标签交换路径。 本发明实施例还提供了一种建立标签路径的方法,该方法通过网络节点传递LDP 的协议报文实现,包括 出口边缘节点向其上游节点发送标签映射报文,标签映射报文携带转发等价类的 等值多路径路由的属性标志信息;
收到标签映射报文的上游节点根据属性标志信息为转发等价类进行标签绑定,并 继续向其上游节点发送标签映射报文; 当入口边缘节点收到标签映射报文后,为转发等价类进行标签绑定,建立标签交 换路径。 在LDP建立LSP的过程中,通过LDP的两种协议报文标签请求报文或标签映射报 文携带ECMP属性标志信息(即允许/不允许建立ECMP),将此属性标志信息逐步扩展到整 个MPLS网络,从而为相应的FEC建立或不建立ECMP路径。本发明实施例中网络节点以LSR 为例说明。 图1是本发明实施例提供的LDP标签分发过程。如图1所示,LDP建立LSP的方 式主要有两种下游按需方式(DoD, Downstream on Demond)方式和下游自主方式(DU, Downstreamunsolicited)方式。DoD方式下,上游LSR —般根据其路由表中的信息选择下 游LSR,并向下游LSR发送标签请求消息(Label Request Message),包含FEC的描述信息。 下游LSR根据收到的Label Request消息为此FEC分配标签,通过标签映射消息(Label Ma卯ing Message)将分配的标签反馈给上游LSR。 DU方式中,下游LSR在LDP会话建立成功后,主动向其上游LSR发布标签映射消 息,而不用等待上游发送标签请求消息。上游LSR保存标签映射信息,并根据路由表信息以 及采用的标签保持方式来处理收到的标签映射信息。当收到的标签属性有更新时,下游会 重新向上游发布携带新属性的标签映射消息。 DoD和DU方式又可根据LSR选择的标签控制方式即下游LSR何时反馈标签映射消 息分为独立(Ind印endent)和有序(Ordered)方式。采用Ind印endent方式,LSR不管有 没有收到它的下游LSR返回的标签映射消息,都立即向其上游LSR发送标签映射消息。采 用Ordered方式时,只有收到它的下游返回的标签映射消息后,才向其上游发送标签映射 消息。 图1中,LSP1沿途的LSR都采用Ordered方式,LSP2沿途的LSR则采用 Ind印endent方式。A I分别用来标识LSR ;ingress为入口边缘LSR ;egress为出口边缘 LSR。 下面通过具体实施例说明LDP在建立LSP的过程中如何对具有特殊要求的FEC避 免建立ECMP。
实施例1 本实施例以DoD方式说明LDP建立LSP的过程。在DoD方式下,由于上游LSR需 先向下游LSR请求标签映射,下游LSR收到上游LSR的标签请求报文后才向上游LSR发 送标签映射报文。因此DoD方式下,是否建立ECMP的命令或请求的发起主要由入口边缘 LSR(ingress)节点完成,发起的方式可以通过网管在ingress节点配置实现。
图2为本实施例提供的DoD方式下避免建立ECMP路径拓扑结构图。如图2所示, 假设FEC5. 5. 5. 5是不需要建立ECMP的特定FEC。在ingress节点配置关于FEC5. 5. 5. 5的 NO-ECMP(即不建立ECMP)命令,则ingress节点查询路由表决定该FEC需要使用的路由,并 向下游节点R2发起标签请求报文,以FEC5. 5. 5. 5为目的前缀,并为此目的前缀进行标签请 求,并在标签请求报文中携带FEC信息以及ECMP属性标志信息。图2中,Rl、 R2、 R3、 R4和 R5分别用来标识五个路由器;1、2、3用来表示标签请求报文的发送顺序;4、5、6用来表示标签映射报文的发送顺序;1024、1025、1026用来表示标签映射报文向上游发送的标签值; 1. 1. 1. 1和5. 5. 5. 5分别用来标识针对FEC5. 5. 5. 5的ingress和egress路由器,5. 5. 5. 5 还可以表示FEC5. 5. 5. 5的目的地址前缀。 下面结合图2所示的拓扑结构图,具体说明NO-ECMP路径建立的处理过程。参加 图3,为基于图2的本发明实施例提供的建立标签交换路径的方法流程示意图,包括
101 :在ingress节点配置关于FEC5. 5. 5. 5的NO-ECMP命令;
102 :ingress节点查询路由表决定该FEC需要使用的路由,并向下游LSR发送标 签请求报文,该请求报文中包含NO-ECMP标志信息; 在图2所示的拓扑图中,ingress节点(即R1节点)的下游LSR是R2节点,ingress 节点向R2节点发起标签请求报文,该请求报文中包含关于FEC5. 5. 5. 5的NO-ECMP标志信 息; 103 :收到标签请求报文的下游LSR,根据路由表查找对应FEC5. 5. 5. 5的下一跳节 点; 104 :下游LSR向其下一跳节点发送标签请求报文,该标签请求报文中包含 NO-ECMP标志信息; 下游LSR向其下一跳节点发送标签请求报文具体包含两种情况 (1)当下游LSR收到标签请求报文后,下游LSR根据自身存储的路由表找出对应
FEC5. 5. 5. 5的出接口 /下一跳节点,当对应该FEC5. 5. 5. 5有多个出接口 /下一跳,且下游
LSR收到的标签请求报文中携带的ECMP属性标志信息为NO-ECMP,则下游LSR根据本地策
略选择多个出接口 /下一跳中的一个发起标签请求报文进行标签请求,该标签请求报文携
带与收到的标签请求报文中相同的ECMP属性标志信息即NO-ECMP标志信息; (2)当下游LSR收到标签请求报文后,下游LSR根据自身存储的路由表找出对应
FEC5. 5. 5. 5的出接口 /下一跳节点,当对应该FEC5. 5. 5. 5的出接口 /下一跳仅有一个,则
下游LSR继续向其下游LSR发出标签请求报文,该标签请求报文携带与收到的标签请求报
文中相同的ECMP属性标志信息。 以图2为例,ingress节点(即Rl节点)的下游LSR是R2节点,当R2收到标签 请求报文后,R2节点根据自身存储的路由表找出对应FEC5. 5. 5. 5的出接口 /下一跳节点, 发现出接口 /下一跳节点不止一个,存在R3和R4两个出接口 /下一跳,且R2收到的标签 请求报文携带NO-ECMP标志信息,则R2根据本地策略,选择R3和R4中的一个发送标签请 求报文进行标签请求,在图2中,R2选择向R3发送标签请求报文;R2向下游发起的标签请 求报文中携带ECMP属性标志信息,该信息与R2收到的标签请求报文中包含的信息相同,即 NO-ECMP标志信息。其中,R2的本地策略包括R2根据自身需要或根据预先设置选择下一 跳节点。 若R2的出接口 /下一跳节点只有一个时,R2继续向这一个节点发出标签请求报 文。 下游LSR收到标签请求报文后,进行与103、 104中相同的处理,依次类推,上游LSR 向下游LSR发送标签请求报文,该报文通过携带的NO-ECMP标志信息,选择ECMP中的一条 路径进行标签请求。 105 :出口边缘LSR按照标签请求报文的路径进行标签映射,向其上游LSR回复标签映射报文。 出口边缘LSR即egress,是关于FEC5. 5. 5. 5的目的节点,当egress接收到其上游 LSR发来的标签请求报文后,向其上游LSR回复标签映射报文。 106 :标签交换路径中,所有接收到标签请求报文的下游LSR按照标签请求报文的 路径向其上游LSR反馈标签映射报文。 上游LSR向下游LSR发送标签请求报文,下游LSR为此FEC分配标签,并将绑定的 标签通过标签映射消息反馈给上游,由于上游LSR仅选择了一条路径进行标签请求,并且 由于DoD方式中标签映射是基于标签请求报文的,所以下游LSR发送的标签映射报文也将 在一条路径进行发送。 本实施例提供的建立标签交换路径的方法是基于DoD方式下的标签分发过程。通 过在ingress节点对特定FEC进行ECMP属性标识信息的预先设置,向下游LSR发送标签请 求报文,当该报文中含有NO-ECMP标志信息时,下游LSR根据其路由表中的信息和NO-ECMP 标志信息再选择下一跳节点,由于NO-ECMP标志信息的存在,使得下游LSR只选择一个下一 跳,因此在标签请求的过程中,上游LSR仅选择了一条路径进行标签请求;同时,由于DoD方 式中标签映射是基于标签请求报文的,所以下游LSR发送的标签映射报文也将在一条路径 进行发送,从而为相应的FEC建立了 NO-ECMP的LSP,即建立了非ECMP的标签交换路径。
实施例2 本实施例以DU方式说明LDP建立LSP的过程。在DU方式下,上游节点不需向下游 请求标签,下游LSR在LDP会话建立成功后,就主动向上游发送标签映射报文。因此DU方 式下,是否建立ECMP的命令或请求由egress节点发起,发起的方式可以通过网管在egress 节点配置实现。 对于DU方式下,当采用独立(ind印endent)方式或有序(order)方式时,二者在 下游LSR何时向上游LSR反馈标签映射消息方面有所不同,在DU order方式下,中间节点 在收到下游节点的标签映射报文后再向上游节点发送标签映射报文;而在DU ind印endent 方式下,中间节点可能先于收到下游节点发送的标签映射报文而已向上游节点发送标签映 射报文。因此,在这两种方式下,本发明实施例提供的建立标签交换路径的方法有不同,本 实施例以DUorder方式为例进行说明,DU ind印endent方式则在后叙实施例中说明。
图4为本实施例提供的DU order方式下避免建立ECMP路径拓扑结构图。如图4 所示,设FEC5. 5. 5. 8是不需要建立ECMP的特定FEC。 Rl、 R2、 R3、 R4和R5分别用来标识五 个路由器;1、2、3和4用来表示标签映射报文的发送顺序;1024、 1025、 1026和1027用来表 示标签映射报文向上游发送的标签值;5. 5. 5. 8标识针对FEC5. 5. 5. 8的egress路由器,还 可以表示FEC5. 5. 5. 8的目的地址前缀。 需要说明的是,本实施例中,在一条LSP上,沿数据传送的方向,相邻的LSR分别称 为上游LSR和下游LSR,因此,上游节点与下游节点是以数据在LSP中的传送方向为参考系。
下面结合图4所示的拓扑结构图,具体说明NO-ECMP路径建立的处理过程。参见 图5,为基于图4的本发明实施例提供的建立标签交换路径的方法流程示意图,包括
201 :在egress节点进行FEC的NO-ECMP的配置; 本实施例中,可以对转发过程中不需要ECMP路径存在的FEC5. 5. 5. 8在egress节 点配置NO-ECMP的命令。
202 :egress节点向上游LSR发送标签映射报文,该标签映射报文中包含NO-ECMP 标志信息; 203 :收到标签映射报文的上游LSR,检查路由表中是否存在关于FEC5. 5. 5. 8的标 签绑定,否,则执行204 ;是,则执行205 ; 以图4为例,egress节点向其上游LSR即R3、 R4发送标签映射报文,R3、 R4收 到该标签映射报文后,检查标签映射报文中的ECMP属性标志信息,如果属性标志信息是 ECMP-OK,则按照现有的RFC进行处理,此处不赘述;如果属性标志信息是NO-ECMP,则R3、R4 均查看各自存储的路由表,发现关于FEC5. 5. 5. 8的目的前缀5. 5. 5. 8在其路由表中,且收 到的标签映射报文是FEC5. 5. 5. 8对应路由中R3、 R4的下游节点发来的标签。R3、 R4检查 对应FEC5. 5. 5. 8是否进行了标签绑定,否,则执行204 ;是,则执行205。
204 :收到标签映射报文的上游LSR将标签与FEC5. 5. 5. 8进行绑定,之后,执行 206 ; 图4中,收到标签映射报文的上游LSR以R3为例说明,R3的下游节点仅有一个 即R5 ;当R2收到标签映射报文后,首先检查到目的地址前缀5. 5. 5. 8在其路由表中;再根 据路由表查找该标签映射报文是否从其下游节点R5发来;R3收到R5发送来的标签映射报 文,查找路由表,发现不存在关于此FEC的标签绑定,则R3将标签与FEC进行绑定。
205 :收到标签映射报文的上游LSR不再绑定此标签或选择绑定此标签而释放已 经绑定过的标签; 图4中,收到标签映射报文的上游LSR以R2为例说明,R2的下游节点有两个,即 R3、R4 ;因此,当R2收到标签映射报文后,首先检查到目的地址前缀5. 5. 5. 8在其路由表中; 再根据路由表查找该标签映射报文是否从其下游节点R3或R4发来;当R2收到从R3发送 来的标签映射报文并进行关于FEC5. 5. 5. 8的标签绑定后,又收到从R4发送来的标签映射 报文,则R2查找路由表发现已存在关于FEC5. 5. 5. 8的标签绑定,说明对应5. 5. 5. 8此目的 前缀有多个出标签/出接口 ,即对应此FEC存在等值路由路径,则R2根据本地策略不再绑 定由R4发来的标签,或选择绑定由R4发来的标签而释放已经绑定过的由R3发来的标签, 保证了只选择一条路由进行标签绑定。 206 :继续向上游LSR发送标签映射报文,直到ingress节点,结束。发送的标签映 射报文中携带了与收到的标签映射报文相同的ECMP属性标志信息。 收到标签映射报文的LSR经过203 205的处理后,继续向上游LSR发送标签映 射报文,上游LSR收到后仍进行与203 205同样的处理,依次类推,MPLS网络中的所有节 点都能够获得N0-ECMP属性标志信息,并根据此标志信息建立对应的非ECMP路径。
本实施例提供的建立标签交换路径的方法是基于DU order方式下的标签分发过 程。通过在egress节点对特定FEC进行ECMP属性标识信息的预先设置,向上游LSR发送 标签映射报文,当该报文中含有NO-ECMP标志信息时,上游LSR根据其路由表中的信息检查 自身是否与FEC进行过标签绑定,进而采取相应的处理过程,使得上游LSR只选择一条路由 进行标签绑定,从而为相应的FEC建立了 NO-ECMP的LSP,即建立了非ECMP的标签交换路 径。 实施例3 本实施例以DU方式下的独立方式说明LDP建立LSP的过程。在DU方式下,上游节点不需向下游请求标签,下游LSR在LDP会话建立成功后,就主动向上游发送标签映射报 文。 图6为本实施例提供的DU ind印endent方式下避免建立ECMP路径拓扑结构图。 如图6所示,设FEC5. 5. 5. 9是不需要建立ECMP的特定FEC。 R1、R2、R3、R4和R5分别用来 标识五个路由器;1、2、3和4用来表示标签映射报文的发送顺序;1024U025、1026和1027 用来表示标签映射报文向上游发送的标签值;5. 5. 5. 9标识针对FEC5. 5. 5. 9的egress路 由器,还可以表示FEC5. 5. 5. 9的目的地址前缀。 本实施例中,上游节点与下游节点是以数据在LSP中的传送方向为参考系。
下面结合图6所示的拓扑结构图,具体说明路径建立的处理过程。参加图7,为基 于图6的本发明实施例提供的建立标签交换路径的方法流程示意图,包括
301 :在egress节点进行FEC的N0-ECMP的配置; 本实施例中,可以对转发过程中不需要ECMP路径存在的FEC5. 5. 5. 9在egress节 点配置NO-ECMP的命令。 302 :中间LSR在收到下游LSR的标签映射报文之前,向上游LSR发送标签映射报 文; 如图6所示,中间节点R3和R4在收到下游节点egress (R5)发送的标签映射报文 之前已经向上游节点R2发送了标签映射报文,即发送了关于FEC5. 5. 5. 9的标签绑定1024 和1025。 303 :下游LSR向中间节点发起包含NO-ECMP属性标志信息的标签映射报文,并逐 级向上游LSR传递该标签映射报文; 图6中,在R3、R4向上游节点R2发送了标签映射报文之后,R5才向R3、R4发送包 含NO-ECMP属性标志信息的标签映射报文,该过程逐级向上游传递。 304 :中间LSR收到包含NO-ECMP属性标志信息的标签映射报文,更新路由表中记 录的信息,重新向上游LSR发送携带NO-ECMP属性标志信息的标签映射报文;
如图6所示,中间节点R3和R4收到由下游节点R5发送的标签映射报文,获知关 于FEC5. 5. 5. 9的ECMP属性标志信息为NO-ECMP,即不建立ECMP路径,则R3和R4均更新自 身记录的信息,包括将FEC5. 5. 5. 9的ECMP属性标志信息更新为NO-ECMP ;重新向上游节 点R2发送携带NO-ECMP属性标志信息的标签映射报文。 305 :上游LSR收到携带NO-ECMP属性标志信息的标签映射报文,在已经绑定的标 签中选择一个进行标签绑定,对其他的标签进行去绑定处理。 图6中,以上游LSR为R2举例说明。R2收到由R3和R4发送的携带NO-ECMP属性 标志信息的标签映射报文后,获知关于FEC5. 5. 5. 9的ECMP属性标志信息为NO-ECMP,并发 现自身存储的路由表中对应FEC5. 5. 5. 9已经绑定了两个标签(1024和1025),即发现等值 路径存在,则R2根据本地策略只选择其中的一个标签进行绑定,例如R2只选择1024标签 进行绑定;而对其他的标签进行去除绑定处理,例如R2对1025标签去除绑定,从而只选择 一条路径。 306 :继续向上游LSR发送标签映射报文,直到ingress节点,结束。发送的标签映 射报文中携带了与收到的标签映射报文相同的ECMP属性标志信息。 收到标签映射报文的LSR经过302 305的处理后,继续向上游LSR发送标签映射报文,上游LSR收到后仍进行与302 305同样的处理,依次类推,MPLS网络中的所有节 点都能够获得NO-ECMP属性标志信息,并根据此标志信息建立对应的非ECMP路径。
本实施例提供的建立标签交换路径的方法是基于DU ind印endent方式下的标签 分发过程。通过在egress节点对特定FEC进行ECMP属性标识信息的预先设置,中间LSR 可能先于收到下游LSR发送的标签映射报文而已向上游LSR发送标签映射报文;由于ECMP 属性标识信息是egress节点发起的,关于此FEC,中间LSR可能已经绑定了多个标签,在收 到下游LSR发送的包含NO-ECMP的标签映射报文后,只选择一个标签进行绑定,其他标签去 除绑定,从而只选择一条路由进行标签绑定,为相应的FEC建立了 NO-ECMP的LSP,即建立了 非ECMP的标签交换路径。
实施例4 参见图8,本实施例提供一种网络节点,包括 第一接收模块401,用于接收标签请求报文,标签请求报文携带转发等价类的等值 多路径路由的属性标志信息; 请求报文处理模块402,用于根据属性标志信息向下一跳节点发送标签请求报 文; 映射处理模块403,用于根据标签请求报文的路径进行标签映射,为转发等价类进
行标签绑定,建立标签交换路径。 在具体的实现过程中,网络节点可以是LSR。 进一步地,请求报文处理模块402可以包括第一处理单元,该第一处理单元用于 当属性标志信息为不允许建立等值多路径路由标志信息,并且存在多个下一跳节点时,选 择多个下一跳节点中的一个节点发送所述标签请求报文。
映射处理模块403可以包括 标签绑定单元,该单元用于当第一接收模块401收到包含不允许建立等值多路径 路由标志信息的标签请求报文时,为相应的转发等价类进行标签绑定;
发送单元,用于发送标签映射报文。 本实施例通过对LDP协议报文进行扩展,标签请求报文携带允许或不允许建立 ECMP路径的标志信息,为具有特殊要求的FEC在建立LSP的过程中,实现避免建立ECMP路 径;在建立LSP的过程中,通过报文发送ECMP路径的属性标志信息,无需对LSP上的每个 LSR进行设置,能够实现自动避免建立ECMP路径,从而避免了 ECMP带来的数据包乱序、部分 链路拥塞以及操作管理维护难以实现等问题,有利于满足MPLS网络的管理和维护。
实施例5 参见图9,本实施例提供一种网络节点,该网络节点包括 第二接收模块501,用于接收标签映射报文,标签映射报文携带转发等价类的等值 多路径路由的属性标志信息; 处理模块502,用于根据属性标志信息为转发等价类进行标签绑定;
发送模块503,用于发送标签映射报文。
在具体的实现过程中,网络节点可以是LSR。
进一步地,处理模块502可以包括 检查单元,用于当属性标志信息为不允许建立等值多路径路由标志信息时,检查路由表中是否存在关于转发等价类的标签绑定; 第二处理单元,当检查单元的检查结果为否,则对转发等价类进行标签绑定;
第三处理单元,当检查单元的检查结果为是,则将已存在的标签绑定作为转发等 价类的标签,或 释放已经绑定过的标签,并对该转发等价类重新进行标签绑定。
本实施例通过对LDP协议报文进行扩展,标签映射报文携带允许或不允许建立 ECMP路径的标志信息,为具有特殊要求的FEC在建立LSP的过程中,实现避免建立ECMP路 径;在建立LSP的过程中,通过报文发送ECMP路径的属性标志信息,无需对LSP上的每个 LSR进行设置,能够实现自动避免建立ECMP路径,从而避免了 ECMP带来的数据包乱序、部分 链路拥塞以及操作管理维护难以实现等问题,有利于满足MPLS网络的管理和维护。
实施例6 参见图IO,本实施例提供一种边缘网络节点,该边缘网络节点包括 获取模块601,用于获取转发等价类的等值多路径路由的属性标志信息; 报文发送模块602,用于发送标签请求报文/标签映射报文,所述标签请求报文/
标签映射报文携带所述转发等价类的等值多路径路由的属性标志信息; 标签绑定模块603,用于为所述转发等价类进行标签绑定。 在具体的实施过程中,可以通过网管在边缘网络节点配置,使边缘网络节点获取 转发等价类的等值多路径路由的属性标志信息;边缘网络节点可以是ingress节点,也可 以是egress 节点。 本实施例通过对LDP协议报文进行扩展,边缘网络节点获取允许或不允许建立 ECMP路径的标志信息,为具有特殊要求的FEC在建立LSP的过程中,实现避免建立ECMP路 径;在建立LSP的过程中,通过报文发送ECMP路径的属性标志信息,无需对LSP上的每个 LSR进行设置,能够实现自动避免建立ECMP路径,从而避免了 ECMP带来的数据包乱序、部分 链路拥塞以及操作管理维护难以实现等问题,有利于满足MPLS网络的管理和维护。
实施例7 本实施例提供一种系统,该系统包括 边缘网络节点,获取转发等价类的等值多路径路由的属性标志信息;还用于发送 标签请求报文/标签映射报文,标签请求报文/标签映射报文携带转发等价类的等值多路 径路由的属性标志信息;还用于为转发等价类进行标签绑定; 中间网络节点,用于接收标签请求报文/标签映射报文,标签请求报文/标签映 射报文携带转发等价类的等值多路径路由的属性标志信息;还用于根据属性标志信息向下 一跳节点发送标签请求报文/标签映射报文;还用于根据标签请求报文的路径进行标签映 射,为转发等价类进行标签绑定,建立标签交换路径。 本发明实施例提供的系统,通过对LDP协议报文进行扩展,标签映射报文与标签 请求报文携带允许或不允许建立ECMP路径的标志信息,为具有特殊要求的FEC在建立LSP 的过程中,实现避免建立ECMP路径;在建立LSP的过程中,通过报文发送ECMP路径的属性 标志信息,无需对LSP上的每个LSR进行设置,能够实现自动避免建立ECMP路径,从而避免 了 ECMP带来的数据包乱序、部分链路拥塞以及操作管理维护难以实现等问题,有利于满足 MPLS网络的管理和维护。
本发明实施例可以通过软件实现,相应的软件可以存储在可读取的存储介质中, 例如计算机的硬盘、光盘或软盘中。 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种建立标签交换路径的方法,其特征在于,所述方法包括入口边缘节点向其下游节点发送标签请求报文,所述标签请求报文携带转发等价类的等值多路径路由的属性标志信息;收到所述标签请求报文的下游节点根据所述属性标志信息向其下一跳节点发送所述标签请求报文;收到所述标签请求报文的节点根据所述标签请求报文的路径进行标签映射,为所述转发等价类进行标签绑定,建立标签交换路径。
2. 根据权利要求1所述的方法,其特征在于,所述等值多路径路由的属性标志信息包括允许建立等值多路径路由标志信息和不允许建立等值多路径路由标志信息。
3. 根据权利要求2所述的方法,其特征在于,所述根据所述属性标志信息向其下一跳节点发送所述标签请求报文包括当所述属性标志信息为不允许建立等值多路径路由标志信息,并且所述下游节点具有多个下一跳节点时,所述下游节点选择其多个下一跳节点中的一个节点发送所述标签请求报文。
4. 根据权利要求3所述的方法,其特征在于,所述收到所述标签请求报文的节点根据所述标签请求报文的路径进行标签映射,建立标签交换路径包括收到包含所述不允许建立等值多路径路由标志信息的标签请求报文的节点,为相应的转发等价类进行标签绑定,并将所述标签通过标签映射报文发送至其上游节点,进行标签映射,建立标签交换路径。
5. 根据权利要求1至4中任一权利要求所述的方法,其特征在于,所述方法还包括对入口边缘节点进行配置,所述入口边缘节点通过所述配置获得所述转发等价类的等值多路径路由的属性标志信息。
6. —种建立标签交换路径的方法,其特征在于,所述获取转发等价类的等值多路径路由的属性标志信息包括出口边缘节点向其上游节点发送标签映射报文,所述标签映射报文携带转发等价类的等值多路径路由的属性标志信息;收到所述标签映射报文的上游节点根据所述属性标志信息为所述转发等价类进行标签绑定,并继续向其上游节点发送所述标签映射报文;当入口边缘节点收到所述标签映射报文后,为所述转发等价类进行标签绑定,建立标签交换路径。
7. 根据权利要求6所述的方法,其特征在于,所述等值多路径路由的属性标志信息包括允许建立等值多路径路由标志信息和不允许建立等值多路径路由标志信息。
8. 根据权利要求7所述的方法,其特征在于,所述根据所述属性标志信息为所述转发等价类进行标签绑定包括当所述属性标志信息为不允许建立等值多路径路由标志信息时,收到所述标签映射报文的上游节点检查路由表中是否存在关于转发等价类的标签绑定,如果不存在,则对所述转发等价类进行标签绑定;如果存在,则将已存在的标签绑定作为所述转发等价类的标签,或释放已经绑定过的标签,并对所述转发等价类重新进行标签绑定。
9. 根据权利要求7所述的方法,其特征在于,所述方法还包括中间节点在收到其下游节点发送的标签映射报文之前,向其上游节点发送标签映射报文;所述上游节点对转发等价类进行标签绑定;所述中间节点收到所述下游节点发送的标签映射报文,重新向所述上游节点发送所述标签映射报文,所述标签映射报文中包含转发等价类的等值多路径路由的属性标志信息;所述上游节点获取所述转发等价类的等值多路径路由的属性标志信息;当所述属性标志信息是不允许建立等值多路径路由标志信息时,所述上游节点在已经绑定的标签中选择一个作为所述转发等价类的标签,对其它未选择的标签去除绑定。
10. 根据权利要求6至9中任一权利要求所述的方法,其特征在于,所述方法还包括对出口边缘节点进行配置,所述出口边缘节点通过所述配置获取转发等价类的等值多路径路由的属性标志信息。
11. 一种网络节点,其特征在于,所述网络节点包括第一接收模块,用于接收标签请求报文,所述标签请求报文携带转发等价类的等值多路径路由的属性标志信息;请求报文处理模块,用于根据所述属性标志信息向下一跳节点发送所述标签请求报文;映射处理模块,用于根据所述标签请求报文的路径进行标签映射,为所述转发等价类进行标签绑定,建立标签交换路径。
12. 根据权利要求11所述的网络节点,其特征在于,所述请求报文处理模块包括第一处理单元,用于当所述属性标志信息为不允许建立等值多路径路由标志信息,并且存在多个下一跳节点时,选择多个下一跳节点中的一个节点发送所述标签请求报文。
13. 根据权利要求11所述的网络节点,其特征在于,所述映射处理模块包括标签绑定单元,用于当所述第一接收模块收到包含所述不允许建立等值多路径路由标志信息的标签请求报文时,为相应的转发等价类进行标签绑定;发送单元,用于发送所述标签映射报文。
14. 一种网络节点,其特征在于,所述网络节点包括第二接收模块,用于接收标签映射报文,所述标签映射报文携带转发等价类的等值多路径路由的属性标志信息;处理模块,用于根据所述属性标志信息为所述转发等价类进行标签绑定;发送模块,用于发送所述标签映射报文。
15. 根据权利要求14所述的网络节点,其特征在于,所述处理模块包括检查单元,用于当所述属性标志信息为不允许建立等值多路径路由标志信息时,检查路由表中是否存在关于转发等价类的标签绑定;第二处理单元,当所述检查单元的检查结果为否,则对所述转发等价类进行标签绑定;第三处理单元,当所述检查单元的检查结果为是,则将已存在的标签绑定作为所述转发等价类的标签,或释放已经绑定过的标签,并对所述转发等价类重新进行标签绑定。
16. —种边缘网络节点,其特征在于,所述边缘网络节点包括获取模块,用于获取转发等价类的等值多路径路由的属性标志信息;报文发送模块,用于发送标签请求报文/标签映射报文,所述标签请求报文/标签映射报文携带所述转发等价类的等值多路径路由的属性标志信息;标签绑定模块,用于为所述转发等价类进行标签绑定。
17. —种系统,其特征在于,所述系统包括边缘网络节点,获取转发等价类的等值多路径路由的属性标志信息;还用于发送标签请求报文/标签映射报文,所述标签请求报文/标签映射报文携带所述转发等价类的等值多路径路由的属性标志信息;还用于为所述转发等价类进行标签绑定;中间网络节点,用于接收所述标签请求报文/标签映射报文,所述标签请求报文/标签映射报文携带转发等价类的等值多路径路由的属性标志信息;还用于根据所述属性标志信息向下一跳节点发送所述标签请求报文/标签映射报文;还用于根据所述标签请求报文的路径进行标签映射,为所述转发等价类进行标签绑定,建立标签交换路径。
全文摘要
本发明公开了一种建立标签交换路径的方法、系统及标签交换路由器,属于通信领域。方法包括入口边缘节点向其下游节点发送标签请求报文,标签请求报文携带转发等价类的等值多路径路由的属性标志信息;收到标签请求报文的下游节点根据属性标志信息向其下一跳节点发送标签请求报文;收到标签请求报文的节点根据标签请求报文的路径进行标签映射,为转发等价类进行标签绑定,建立标签交换路径。本发明通过在建立标签交换路径的过程中引进是否建立等价多路径路由的属性标志信息,实现为具有特殊要求的转发等价类避免建立等价多路径路由,从而有利于网络的管理和维护。
文档编号H04L29/06GK101741709SQ200810225578
公开日2010年6月16日 申请日期2008年11月6日 优先权日2008年11月6日
发明者国辛纯, 曹玮 申请人:华为技术有限公司