MPLS TE快速重路由技术白皮书
关键词:MPLS,MPLS TE,RSVP TE,FRR,Detour,Facility
摘 要:MPLS TE快速重路由是一项实现MPLS网络局部保护的技术,在布署了MPLS TE快速重路由的MPLS网络中,当某处出现链路或节点失效时,经过失效的链路或节点的LSP上承载的流量将重新快速地切换到保护链路上。本文结合H3C公司的MPLS TE FRR实现,对MPLS TE FRR技术的各个方面进行了介绍,并给出了相关的应用组网。
缩略语:
缩略语 | 英文全名 | 中文解释 |
MPLS | Multiprotocol Label Switching | 多协议标签交换 |
MPLS TE | MPLS Traffic Engineering | 多协议标签交换流量工程 |
RSVP | Resource reSerVation Protocol | 资源预留协议 |
RSVP-TE | RSVP Traffic Engineering extension protocol | RSVP流量工程扩展协议 |
LSP | Label Switched Path | 标签交换路径 |
ERO | Explicit Route Object | 显式路由对象 |
RRO | Record Route Object | 记录路由对象 |
CSPF | Constraint-based Shortest Path First | 受约束的最短路径优先算法 |
PLR | Point of Local Repair | 本地修复节点 |
MP | Merge Point | 合入节点 |
FRR | Fast ReRoute | 快速重路由 |
NHOP | Next-Hop | 下一跳 |
NNHOP | Next Next-Hop | 下下一跳 |
BFD | Bidirectional Forwarding Detection | 双向转发检测 |
DoD | Downstream-on-Demand | 下游按请求分配 |
LSR | Label Switching Router | 标签交换路由器 |
目 录
MPLS TE网络中一般都需要实施快速重路由保护,这主要是由MPLS TE自身的特点决定的。
对于纯IP网络,当局部失效出现的时候,如果到同一个目的地的还有其他路由可以使用,报文会按照这些路由进行转发。在失效引起的路由变化扩散到全网之前,仅靠这种机制就可以比较快速地在局部实现失效保护。
在没有布署TE的MPLS网络,现在应用比较多的是LDP按照DU方式建立LSP。当局部失效出现时,如果还有其他路由可用,LDP会向上游节点发起LSP的建立。由于没有考虑到带宽、优先级和链路属性等TE有关的需求,这个LSP建立成功的机会相对较大,因此从失效到恢复的过程也相对较短。
在MPLS TE网络中,LSP的建立一般是通过RSVP协议按照DoD的方式完成的。在头节点,CSPF利用域内所有路由信息计算出一条满足约束条件的路径,RSVP按照这个路径建立LSP。当网络中有局部失效时,需要重建整条LSP。而在失效引起的路由改变扩散到头节点之前,CSPF无法算出有效的路径。另外,局部失效可能会引起网络中多条LSP的重建。这样一来,利用新计算出来的路径建立LSP的过程中,出现带宽不够等问题的机会比较大。因此,与纯IP网络和没有布署TE的MPLS网络比较而言,MPLS TE网络从局部失效中恢复的时间可能会更长,更需要一种能快速响应失效的机制。
MPLS TE快速重路由通过预先建立备份路径,实现了对TE隧道的快速保护倒换能力,从而减少数据丢失。
MPLS TE快速重路由是MPLS TE中用于链路保护和节点保护的机制,在MPLS TE网络中扮演了重要角色。MPLS TE快速重路由事先建立本地备份路径,保护LSP不会受链路/节点故障的影响,当故障发生时,检测到链路/节点故障的设备就可以快速将业务从故障链路切换到备份路径上,从而减少数据丢失。
快速响应、及时切换是MPLS TE快速重路由的特点,它可以将业务中断的时间控制在一个很小的时间段,保证业务数据的平滑过渡;同时,LSP的头节点会尝试寻找新的路径来重新建立LSP,并将数据切换到新路径上,在新的LSP建立成功之前,业务数据会一直通过保护路径转发。
由于需要预先建立备份路径,MPLS TE快速重路由会占用额外的带宽。在网络带宽余量不多的情况下,只能对关键的接口进行快速重路由保护,这一点是部署MPLS TE快速重路由时需要注意的。
l 主LSP:被保护的LSP。
l 保护LSP:用来保护主LSP的LSP。
l Detour LSP:为每一条需要保护的LSP创建一条保护路径,该保护路径称为Detour LSP。
l Bypass LSP:用一条保护路径保护多条LSP,该保护路径称为Bypass LSP。
l PLR:Detour LSP或Bypass LSP的头节点,它必须在主LSP的路径上,且不能是尾节点。
l MP:Detour LSP或Bypass LSP的尾节点,必须在主LSP的路径上,且不能是头节点。
l 链路保护:PLR和MP之间由直接链路连接,主LSP经过这条链路。当这条链路失效的时候,可以切换到Detour LSP或Bypass LSP上。
l 节点保护:PLR和MP之间通过一个LSR设备连接,主LSP经过这个LSR设备。当这个LSR设备失效时,可以切换到Detour LSP或Bypass LSP上。
MPLS TE快速重路由的基本原理是用一条预先建立的LSP来保护一条或多条LSP。预先建立的LSP称为保护LSP,被保护的LSP称为主LSP。MPLS TE快速重路由的最终目的就是利用保护LSP绕过故障的链路或者节点,从而达到保护主LSP的目的。
根据保护的对象不同,FRR分为两类:
l 链路保护:PLR和MP之间由直连链路连接,主LSP经过这条链路。当这条链路失效时,流量可以切换到保护LSP上。如图1所示,主LSP是Router A→Router B→Router C→Router D,保护LSP是Router B→Router F→Router C。
图1 FRR链路保护示意图
l 节点保护:PLR和MP之间通过一台设备连接,主LSP经过这台设备。当这台设备失效时,流量可以切换到保护LSP上。如图2所示,主LSP是Router A→Router B→Router C→Router D→Router E,保护LSP是Router B→Router F→Router D,Router C是被保护的设备。
图2 FRR节点保护示意图
实现快速重路由有两种方式:
l Detour方式:One-to-one Backup,分别为每一条被保护LSP提供保护,即为每一条被保护LSP创建一条保护路径,该保护路径称为Detour LSP。
l Bypass方式:Facility Backup,用一条保护路径保护多条LSP,该保护路径称为Bypass LSP。
Detour方式实现了每条LSP的单独保护,但需要的开销相对较大。在实际使用中,Bypass方式被更广泛使用。目前,Comware只支持Bypass方式。
图3 Bypass方式快速重路由
Bypass方式快速重路由如图3所示,Router A→Router B→Router C→Router D→Router E为主LSP,Router B→Router F→Router D为Bypass LSP。当Router B到Router C的链路失效或节点Router C失效时,主LSP上的数据会切换到Bypass LSP上。从Router B出去的报文头先压入Router D为Router C分配的标签,再压入Bypass LSP的标签,即Router F为Router B分配的标签。也就是,在Router B→Router F→Router D这条路径上,LSP使用两层标签。Router D收到的报文,弹出Router D为Router F分配的标签以后(如果Bypass LSP的Router D为Router F分配的标签是隐式空标签,那么Router F做弹出标签操作,不压隐式空标签,Router D收到的报文只有Router D为Router C分配的标签),继续用Router D为Router C分配的标签进行转发。
MPLS TE快速重路由基于RSVP TE。为了实现快速重路由功能,需要扩展RSVP消息中SESSION_ATTRIBUT和RECORD_ROUTE对象的几个标志位:
l PATH消息的SESSION_ATTRIBUT对象中,使用标志位指明该LSP是否需要局部保护、是否记录标签、是否为SE风格、是否有要保护带宽。
l RESV消息的RECORD_ROUTE对象中,使用标志位指明该LSP是否已经被保护、是否已经切换、是否被保护了带宽、是否是被节点保护。
被保护LSP的建立与普通LSP的建立的区别就在于这几个标志位的处理。
下面将结合图3从以下几个方面详细介绍Bypass方式快速重路由:
l 主LSP的建立
l Bypass LSP的建立
l 绑定计算
l 失效检测
l 切换过程
l 切换后LSP的维护
l 重优化
主LSP的建立过程与普通LSP基本相同,只是增加了绑定计算,并在PATH和RESV消息中增加了几个相关标记和子对象。
RSVP从头节点(图3中的Router A)逐跳向下游发送PATH消息(经过Router A→Router B→Router C→Router D→Router E),从尾节点(图3中的Router E)逐跳向上游发送RESV消息。在处理RESV消息时分配标签,预留资源,建立LSP。
主LSP的建立是通过在头节点(Router A)手工配置隧道来触发的。在建立主LSP前,如果通过命令指定该LSP具有快速重路由属性,RSVP就会在PATH消息的SESSION_ATTRIBUTE对象中增加局部保护标记、记录标签标记、SE风格标记。如果还为该LSP指定了带宽,则还会增加带宽保护的标记。下游节点在收到PATH消息以后,通过局部保护标记,就能分辨出该LSP是一条需要快速重路由保护的LSP。
对需要快速重路由保护的LSP(根据先前的PATH消息中的标记判断),各个节点向上游发送RESV消息时,会在RRO中记录RESV消息的出接口、LSR ID和标签。这些信息被逐跳累计传递到各个上游节点。
各节点第一次收到RESV消息时,根据RRO中记录的这些信息,为该LSP选择合适的Bypass LSP。为主LSP选择合适的Bypass LSP的过程称为绑定,绑定的具体算法请参见“2.3.3 绑定计算”。
当一个没有快速重路由属性的隧道被指定保护一个接口以后,它所对应的LSP就成为Bypass LSP。
Bypass LSP(Router B上的Tunnel2)的建立是通过在PLR(Router B)手工配置触发的。Bypass LSP可以被指定保护多个接口,但不能保护它自己的出接口。它的配置与普通LSP的区别为:
l 不能为Bypass LSP配置快速重路由属性。也就是说,Bypass LSP不能同时是主LSP,LSP不能被嵌套保护。
l 除了Bypass LSP的带宽之外,还需要配置保护带宽。
快速重路由只能进行链路保护或节点保护。在配置建立一条Bypass LSP时就应该规划好它所保护的链路或节点,并且要确保该Bypass LSP不会经过它所保护的链路或节点。否则,即使Bypass LSP建立成功,主LSP与它绑定计算成功,也不能真正起到保护作用。
Bypass LSP的带宽一般是用于保护主LSP的,Bypass LSP上所有资源仅为切换后使用。用户在配置时需要保证Bypass LSP的带宽大于等于被保护的所有LSP所需的带宽和,否则会有主LSP不能绑定到Bypass LSP上。
绑定计算是为一条主LSP绑定Bypass LSP的过程。绑定计算是为了获取切换时转发所需要的必要数据,如Bypass隧道接口、Bypass LSP的NHLFE、MP分配的标签等。计算结果将保存下来,当发生局部失效的时候可以立即使用,这也是MPLS TE快速重路由可以迅速响应失效的原因。绑定计算必须在切换之前完成,如果绑定计算成功,RESV会向上游节点通告该主LSP已经被保护。
当有多条Bypass LSP保护同一条主LSP时,按下面的规则选择Bypass LSP:
l 节点保护优先于链路保护。
l 优先选择剩余带宽大于等于主LSP带宽的Bypass LSP。
失效检测的目标是尽快发现链路和节点失效并触发切换,缩短流量中断的时间。
可以通过三种方法检测链路或节点失效:
l 链路层协议检测:链路层发现失效的速度跟接口类型直接相关。
l RSVP的hello机制:为每个需要保护的物理接口使能hello,当对端接口也使能了hello,就会在两个LSR设备之间定时发送hello消息和回应。当链路或节点失效的时候,hello消息或回应消息会丢失,如果连续三次丢失消息,认为有失效发生。hello机制检测失效的速度相对比较慢。
l 利用BFD检测邻居连通性:BFD是一种快速检测机制,利用BFD可以迅速检测到链路或节点失效。
切换是指启用Bypass LSP,主LSP的流量和RSVP协议消息都不再通过失效链路或节点转发。
转发的数据首先切换到Bypass LSP。在进行绑定计算时,数据转发所需要的内层标签2001(MP分配的标签)已经存放在NHLFE中,这时只要标记该LSP已经切换,数据就可以通过Bypass隧道进行转发了。
切换以后,原有链路不再可用。为使LSP不被超时删掉,RSVP需要在PLR(Router B)和MP(Router D)之间维持消息刷新。
PATH消息经过修改以后通过Bypass隧道(Router B的Tunnel2)发给MP。MP收到PATH消息,确认自己是MP节点,RESV消息也经过修改以后经过多跳IP转发(经过Router D→Router F→Router B),发送给PLR节点。
切换以后,主LSP的PathTEAR、ResvERR、RescTEAR和PathERR消息的发送路径也相应变化。
在节点保护切换以后,被保护的节点(Router C)可能会因为PATH消息超时而向下游发送PATHTEAR消息,MP(Router D)节点会忽略这个消息。另外,MP切换的时候会在原来的LSP入接口(Router D的Ethernet1/3)上发ResvTear消息,这样可以让被保护的节点(Router C)尽快释放相应的资源。
重优化是指按照配置的时间间隔定时对已经建成的LSP进行路径计算,LSR设备按照计算出来的路径发起新的LSP建立过程。新的LSP建立成功以后会删除原来的LSP,LSP隧道的转发切换到新的LSP上来。
每条LSP隧道都可以配置重优化,当LSP建成以后,重优化就会启动。
对快速重路由来说,重优化的另一个作用是让被Bypass保护的主隧道(Router A的Tunnel1)恢复到正常状态。因为快速重路由保护主要用于临时性保护,所以一般需要为有快速重路由属性的隧道配置重优化。当主LSP还没有切换时,只有重优化计算出来的路径与原有路径不同时才会建立新的LSP;当主LSP发生了切换,即使重优化计算出来的路径与原有路径相同也会建立新的LSP。
在网络中的关键节点上配置FRR保护,可以实现对通过该节点流量的保护。
如图4所示,运营商对用户提供了带宽批发业务,使用MPLS TE隧道接入用户的连接,使异地的用户网络通过运营商网络连接。因为承载业务为重要的业务,因此需要对主LSP Tunnel1经过的路径进行保护。利用MPLS TE FRR,可以实现通过保护路径Tunnel2、Tunnel3、Tunnel4和Tunnel5分别保护主LSP路径上的Router B、Router C、Router D和Router E。
l RFC 3209:RSVP-TE: Extension to RSVP for LSP Tunnels
l RFC 4090:Fast Reroute Extensions to RSVP-TE for LSP Tunnels
l Internet Draft, “draft-ietf-mpls-nodeid-subobject-01”
Copyright ©2008 杭州华三通信技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
本文档中的信息可能变动,恕不另行通知。