《MPLS在Cisco IOS上的配置》一1.5 MPLS操作

本节书摘来自异步社区《MPLS在Cisco IOS上的配置》一书中的第1章,第1.5节,作者 【美】Lancy Lobo, CCIE #4690 , Umesh Lakshman,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.5 MPLS操作

MPLS在Cisco IOS上的配置
LSR利用MPLS实现数据转发需要完成以下4个步骤。

1.每个LSR执行标签分配。

2.LSR之间建立LDP或TDP会话。

3.使用某种标签分发协议实现分发标签。

4.标签保留。

在典型的MPLS操作过程中,LSR首先为网络前缀分配本地标签;然后,相邻LSR之间建立LDP会话;最后,LSR使用LDP会话交换标签和网络前缀的映射关系。此时,LSR分别为IP转发表、标签表和标签转发表生成了信息,已经可以基于这些信息转发数据。

1.5.1 MPLS标签分配

标签分配指LSR为网络前缀分配标签,分为静态标签和动态标签。静态标签是通过手工配置LSR的方式,为网络前缀指定固定的标签值;而动态标签是通过协议为目标网络分配动态的标签值。显而易见,动态标签可以大大减少配置路由器的命令行数量。多种协议都可以分配动态标签,例如LDP、MP-BGP(详见第3章)和RSVP-TE(详见第9章)。LDP可以为所有直连路由、静态路由和IGP路由分配标签;MP-BGP可以为BGP路由分配标签;而RSVP-TE为MPLS TE隧道的端点分配标签。标签通常在路由器内部全局有效,但有时只在接口下有效。

1.5.2 建立LDP会话

如果相邻LSR的互联接口都支持MPLS转发,那么相邻LSR需要将本地标签和网络前缀的映射通告给对方。可以通告标签映射信息的协议可以是LDP(Label Distribution Protocol)或TDP(Tag Distribution Protocol)。TDP的应用已经越来越少,路由器默认使用LDP。如果需要切换成TDP,或者默认协议不是LDP,那么命令mpls label protocol {ldp | tdp}可以指定协议。该命令可以配置在全局模式下,也可以配置在接口下,并且接口下的配置可以覆盖全局配置。

TDP和LDP的功能相同,但是无法兼容。请读者注意,不同IOS版本的Cisco路由器可能选择LDP或TDP作为默认协议;当使用不同厂商的设备部署MPLS网络时,更应注意LDP或TDP的选择问题。TDP工作在TCP 711端口,而LDP工作在TCP 646端口。LSR可以在接口下同时运行LDP和TDP,这样不论对端LSR使用哪种协议,都可以完成标签分发的功能。RFC 3036定义了LDP,相邻LDP对端之间可以建立LDP会话,类似于相邻OSPF对端可以建立OSPF会话,称为直连的LDP会话;在某些情况下,远端LDP对端也可以建立LDP会话,称为非直连的LDP会话(详见第11章和第12章)。

LDP主要有4种消息类型。

Discovery消息:LSR使用Discovery消息向其他LSR宣布自己的存在。
Session消息:LSR使用Session消息建立、维持和拆除LDP会话。

Advertisement消息:LSR使用Advertisement消息通告标签和FEC的映射关系1。

Notification消息:标识错误信息。


b6591aac6417c59964e6077bfbb85fcda24f0a8c

所有LDP消息都遵循类型(Type)、长度(Length)和值(Value)的TLV格式。LDP使用TCP 646端口,负责建立LDP会话的LSR使用高端口向LDP对端的TCP 646端口发起连接请求(见图1.10),步骤如下。

1.LSR的端口开启了MPLS功能以后,可以周期性地发送Hello消息(使用UDP多播,地址是224.0.0.2),作为LDP会话的初始消息。如果LDP对端的接口也开启了MPLS功能,那么两台LSR就尝试使用Hello中通告的LDP Router-ID建立LDP会话。LDP Router-ID大的LSR是主动(active)LSR,另一端LSR是被动(passive)LSR。主动LSR使用高端口向被动LSR的646端口发起TCP连接请求。

2.主动LSR向被动LSR发送初始化消息,初始化消息中包含了LDP会话的参数,例如会话保活时间、标签分发策略、PDU最大长度、接收方的LDP ID和是否需要环路检测。

3.如果被动LSR可以接受LDP参数,那么向主动LSR回复初始消息;否则,被动LSR回复Notification消息指示错误信息。

4.假设被动LSR接受了LDP参数,那么发送了初始消息以后,再次向主动LSR发送保活消息。

5.主动LSR向被动LSR发送保活消息,此时,LSR1和LSR2之间已经建立了LDP会话,然后,LSR1和LSR2开始交换标签和网络前缀的映射。

1.5.3 LDP的标签分发

在MPLS网络中,相邻LSR之间需要建立LDP会话。对于一个网络前缀,每台路由器都运行IGP扩散其路由信息并安装在IP转发表中,然后为此网络前缀分配本地标签。LSR通过LDP将本地标签和网络前缀的映射分发给上游LDP邻居路由器。上游路由器将收集到的标签与网络前缀的映射保存在标签表中,结合IP转发表的信息,最终计算得到标签转发表的信息。因此,标签转发表保存了目前网络的本地标签和出向标签(来自下游路由器)。LSR可以使用以下两种方式分发标签。

下游按需方式:在下游按需(Downstream on demand)方式中,下游路由器只有接收到上游路由器针对特定网络前缀的映射请求时,才会将相应的标签和网络前缀的映射分发给上游路由器。因此,下游路由器是“按需”地执行分发标签操作。
下游主动方式:在下游主动(Unsolicited demand)方式中,下游路由器无需接收到上游路由器的请求,可以主动地相应的标签和网络前缀的映射分发给上游路由器。
图1-11使用E-LSR R1和LSR R2描述了两种标签分发方式。在下游按需方式中,R2向R1请求网络前缀172.16.10.0的标签;R1接受请求以后,将本地标签17与网络前缀172.16.10.0的映射分发给R2。在下游主动方式中,R1主动将本地标签17与网络前缀172.16.10.0的映射分发给R2。


e6732296dbd3f13ea10c804b637660742b07a0a5

1.5.4 MPLS标签保持

MPLS网络的所有LSR都可以使用路由协议获得网络前缀的路由信息,并为网络前缀分配标签。假设MPLS网络的所有LSR都使用下游主动方式分发标签,LSR1的相邻LSR是LSR2、LSR3和LSR4。那么,对于某个网络前缀,LSR1可以从所有相邻LSR,即LSR2、LSR3和LSR4,接收标签映射。在不考虑多链路负载分担的情况下,假设LSR2是LSR1向此目的网络转发数据的下一跳路由器,那么LSR1只需将LSR2分发的标签作为出向标签,而暂时不使用来自LSR3和LSR4的标签。

如果LSR1支持自由模式(Liberal Mode)标签保留,那么LSR1可以保留其所有相邻LSR(LSR2、LSR3和LSR4)分发的标签;如果LSR1支持保守模式(Conservative Mode)标签保留,那么LSR1只保留下一跳路由器LSR2分发的标签,丢弃LSR3和LSR4分发的标签。因此,LSR配置了自由式标签保留以后,可以在网络拓扑发生变化时更快地恢复数据包转发功能;但是,LSR需要耗费较多的存储资源保存标签映射信息。对于保守式标签保留,LSR无法实现转发功能的快速恢复,但是可以节省存储资源。

1根据RFC 3031的定义,LSR为FEC分配标签,而不是为网络前缀分配标签。通常,每条直连路由、静态路由或IGP路由都属于独立的FEC,而具有相同下一跳的BGP路由属于相同的FEC,因此为这些路由所属的FEC分配标签,等同于为这些路由分配标签。在实际应用中,人们常常略过FEC,直接认为LSR为网络前缀或路由分配标签。—译者注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值