Quidway NetEngine20 系列路由器 操作手册 MPLS分册
第2章 MPLS配置
2.1.4 MPLS对TTL的处理
1. TTL复制
MPLS标签中包含一个8位的TTL域,其含义与IP头中的TTL域相同。TTL除了用于防止产生路由环路外,也用于实现tracert功能。
根据RFC3031中的描述,LSR节点在对分组打标签时,需要将原IP分组或上层标签中的TTL值拷贝到新增加标签的TTL域。LSR在转发标签分组时,对栈顶标签的TTL域作减一操作。标签出栈时,再将栈顶的TTL值拷贝回IP分组或下层标签。
如果LSP穿越由ATM-LSR或FR-LSR构成的非TTL LSP段时,由于域内的LSR无法处理TTL域,需要在进入非TTL LSP段时,对TTL进行统一处理。即,一次性减去反映该非TTL LSP段长度的值。
对于VPN应用,可能需要隐藏MPLS骨干网的结构,VRP支持对VPN报文和公网报文分别设置不同的TTL复制方式。 2. ICMP响应报文
在MPLS VPN网络中,P路由器无法对MPLS承载的VPN报文进行路由。当MPLS报文的TTL超时时,ICMP响应报文将按照LSP继续传送,到达LSP终点路由器后,再根据IP路由转发ICMP响应报文。这种处理方式增加了网络流量和报文转发时延。
对于仅有一层标签的MPLS报文,VRP支持用户配置当TTL超时时,直接使用IP路由返回ICMP响应报文。
2.1.5 MPLS Ping/Traceroute
在MPLS中,如果LSP转发数据失败,负责建立LSP的MPLS控制平面将无法检测到这种错误,这会给网络维护带来困难。
MPLS Ping/Traceroute为用户提供了发现LSP错误、并及时定位失效节点的机制。 类似于普通IP的Ping/Traceroute,MPLS Ping/Traceroute使用MPLS echo request和MPLS echo reply检测LSP的可用性。这两种消息以UDP报文格式发送,端口号为3503。
MPLS echo request中携带需要检测的FEC信息,和其他属于此FEC的报文一样沿LSP发送,从而实现对LSP的检测。
z
对于MPLS Ping,echo request消息应该达到LSP的Egress节点,由Egress节点的控制平面确认本LSR是否是该FEC的出口。
z
对于MPLS TraceRoute,echo request消息应被发送到每一个Transit节点,由Transit节点的控制平面确认本LSR是否是此路径的中间节点。
2-4
Quidway NetEngine20 系列路由器 操作手册 MPLS分册
第2章 MPLS配置
为了防止消息到达Egress节点后又被转发给其他节点,echo request消息的IP头中目的地址需要设置为127/8网段的任意地址(本机环回地址),IP头中的TTL值设置为1。
2.1.6 LDP基本概念
LDP协议规定标签分发过程中的各种消息以及相关的处理进程。
通过LDP,LSR可以把网络层的路由信息直接映射到数据链路层的交换路径上,进而建立起网络层上的LSP。LSP既可以建立在两个相邻的LSR之间,也可以终止于网络出口节点,从而在网络中所有中间节点上都使用标签交换。 关于LDP的详细介绍可以参考RFC3036(LDP Specification)。 1. LDP对等体
LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签/FEC映射关系的两个LSR。
LDP对等体通过它们之间的LDP会话获得对方的标签映射消息。 2. LDP会话
LDP会话用于在LSR之间交换标签映射、释放等消息。LDP会话分为两种类型:
z z
本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的; 远端LDP会话(Remote LDP Session):建立会话的两个LSR之间是非直连的;
3. LDP消息类型
LDP协议主要使用四类消息:
z z z z
发现(Discovery)消息:用于通告和维护网络中LSR的存在;
会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话; 通告(Advertisement)消息:用于创建、改变和删除标记—FEC绑定; 通知(Notification)消息:用于提供建议性的消息和差错通知。
为保证LDP消息的可靠发送,除了发现阶段使用UDP外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP传输。 4. 标签空间与LDP标识符
LDP对等体之间分配标签的范围称为标签空间(Label space)。可以为LSR的每个接口指定一个标签空间(per interface label space),也可以整个LSR使用一个标签空间(per platform label space)。
LDP标识符(LDP Identifier)用于标识特定LSR的标签空间范围,是一个六字节的数值,格式如下:
2-5
Quidway NetEngine20 系列路由器 操作手册 MPLS分册
第2章 MPLS配置
其中,LSR ID占四字节,标签空间序号占两字节。
2.1.7 LDP工作过程
下图为LDP标签分发示意。
LSP1IngressEgressABCDLSP2Label RequestELabel MappingFMPLS边缘路由器(LER)LDP会话GMPLS核心交换机(LSR)H
图2-2 标签分发过程
在一条LSP上,沿数据传送的方向,相邻的LSR分别称为上游LSR和下游LSR。例如,上图中的LSP1上,LSR B为LSR C的上游LSR。
本章前面提到,标签的分发过程有两种模式,主要区别在于标签映射的发布是上游请求(DoD)还是下游主动发布(DU)。下面分别描述这两种模式的标签分发过程:
(1) DoD(downstream-on-demand)模式
上游LSR向下游LSR发送标签请求消息(Label Request Message),包含FEC的描述信息。下游LSR为此FEC分配标签,并将绑定的标签通过标签映射消息(Label Mapping Message)反馈给上游LSR。
下游LSR何时反馈标签映射消息,取决于该LSR采用的标签控制方式。采用Ordered方式时,只有收到它的下游返回的标签映射消息后,才向其上游发送标签映射消息;采用Independent方式时,不管有没有收到它的下游返回的标签映射消息,都立即向其上游发送标签映射消息。
上游LSR一般是根据其路由表中的信息来选择下游LSR。在图2-2中,LSP1沿途的LSR都采用Ordered方式,LSP2上的LSR F则采用Independent方式。 (2) DU(downstream unsolicited)模式
2-6
Quidway NetEngine20 系列路由器 操作手册 MPLS分册
第2章 MPLS配置
下游LSR在LDP会话建立成功后,主动向其上游LSR发布标签映射消息。上游LSR保存标签映射信息,并根据路由表信息来处理收到的标签映射信息。
2.1.8 LDP基本操作
按照先后顺序,LDP的操作主要包括以下四个阶段:
z z z z
发现阶段 会话建立与维护 LSP建立与维护 会话撤销
1. 发现阶段
在这一阶段,希望建立会话的LSR向相邻LSR周期性地发送Hello消息,通知相邻节点本地对等关系。通过这一过程,LSR可以自动发现它的LDP对等体,而无需进行手工配置。 LDP有两种发现机制: (1) 基本发现机制
基本发现机制用于发现本地的LDP对等体,即通过链路层直接相连的LSR,建立本地LDP会话。
这种方式下,LSR周期性以UDP报文形式从接口发送LDP链路Hello消息(LDP Link Hello),发往标识“子网内所有路由器”的组播地址。
LDP链路Hello消息带有接口的LDP标识符及其他相关信息,如果LSR在某个接口收到了LDP链路Hello消息,则表明在该接口(链路层)可能存在LDP对等体。 (2) 扩展发现机制
扩展发现机制用于发现远端的LDP对等体,即不通过链路层直接相连的LSR,建立远端LDP会话。
这种方式下,LSR周期性以UDP报文形式向指定的IP地址发送LDP目标Hello消息(LDP Targeted Hello)。
LDP目标Hello消息带有LSR的LDP标识符及其他相关信息,如果LSR收到LDP目标Hello消息,则表明在网络层可能存在LDP对等体。
LSR之间在LDP发现阶段建立Hello邻接关系,之后通过进一步的消息交换建立LDP会话。 2. 会话建立与维护
对等关系建立之后,LSR开始建立会话。这一过程又可分为两步。
z
建立传输层连接,即,在LSR之间建立TCP连接
2-7
Quidway NetEngine20 系列路由器 操作手册 MPLS分册
z
第2章 MPLS配置
随后对LSR之间的会话进行初始化,协商会话中涉及的各种参数,如LDP版本、标签分发方式、定时器值、标签空间等。
3. LSP建立与维护
LSP的建立过程实际就是将FEC和标签进行绑定,并将这种绑定通告LSP上相邻LSR。这个过程是通过LDP实现的,主要步骤如下:
(1) 当网络的路由改变时,如果有一个边缘节点发现自己的路由表中出现了新的
目的地地址,并且这一地址不属于任何现有的FEC,则该边缘节点需要为这一目的地址建立一个新的FEC。边缘LSR决定该FEC将要使用的路由,向其下游LSR发起标签请求消息,并指明是要为哪个FEC分配标签; (2) 收到标签请求消息的下游LSR记录这一请求消息,根据本地的路由表找出对
应该FEC的下一跳,继续向下游LSR发出标签请求消息;
(3) 当标签请求消息到达目的节点或MPLS网络的出口节点时,如果这些节点尚
有可供分配的标签,并且判定上述标签请求消息合法,则该节点为FEC分配标签,并向上游发出标签映射消息,标签映射消息中包含分配的标签等信息; (4) 收到标签映射消息的LSR检查本地存储的标签请求消息状态。对于某一FEC
的标签映射消息,如果数据库中记录了相应的标签请求消息,LSR将为该FEC进行标签分配,并在其标签转发表中增加相应的条目,然后向上游LSR发送标签映射消息;
(5) 当入口LSR收到标签映射消息时,它也需要在标签转发表中增加相应的条
目。这时,就完成了LSP的建立,接下来就可以对该FEC对应的数据分组进行标签转发了。 4. 会话撤销
LDP通过检测会话连接上传输的LDP PDU来判断会话的完整性。
LSR为每个会话建立一个“生存状态”定时器,每收到一个LDP PDU时刷新该定时器。如果在收到新的LDP PDU之前定时器超时,LSR认为会话中断,对等关系失效。LSR将关闭相应的传输层连接,终止会话进程。 5. LDP使用的定时器
LDP使用不同的定时器来维持LDP邻接关系和LDP会话:
z
Hello保持定时器:建立了Hello邻接关系的LDP对等体之间,通过周期性发送Hello报文表明自己希望继续维持这种邻接关系。如果Hello保持定时器超时时没有收到新的Hello报文,则拆除Hello邻接关系。
z
会话保持定时器:LDP对等体之间通过LDP会话连接上传送的LDP协议报文(PDU)维持LDP会话,如果会话保持定时器超时时没有收到任何LDP PDU,则关闭连接,结束LDP会话。
2-8