FRR理解

  • 格式:docx
  • 大小:160.45 KB
  • 文档页数:25

文档名称 文档密级

2013-04-15 H3C机密,未经许可不得扩散 第1页, 共25页

MPLS FRR

在MPLS TE网络中,通常情况下,如果某个LSP途经的链路或节点故障,故障链路或节点的上游邻节点会发错误消息给LSP的头节点,由头节点利用CSPF重新计算出一条新的路径,并据此建立LSP,然后把流量切换到新的LSP。但是,在IGP路由收敛之前,CSPF是无法算出有效路径的,这导致TE的收敛时间过长,在10s量级,对很多应用来说难以忍受。

解决这个问题的办法是引入MPLS TE保护技术,MPLS TE保护技术也称为FRR(Fast

ReRoute),即MPLS快速重路由。FRR预先为需要保护的LSP建立好备份路径,对其局部或全局提供保护,在检测到被保护LSP上的某条链路或节点出现故障后,可以立即切换到备份路径,通过引入快速故障检查技术(如RSVP Hello、BFD或链路层提供的检测功能), LSP可以作到在50ms以内收敛。不过,备份路径只提供临时的故障规避措施,路径切换后,被保护LSP的头节点需要重新计算,建立新的更优的LSP,并使用RSVP-TE的Make-before-Break机制,可把流量无缝切换到新的LSP,在新LSP建立之前,流量会一直延备份路径转发。

MPLS TE保护技术可以分为两类:

 本地保护(Local Protection),本地保护分为两种:

 链路保护(link Protection),对LSP上的某条链路进行保护。

 节点保护(Node Protection),对LSP上的某个节点进行保护。

 路径保护(Path Protection),对LSP实施端到端的保护。

本地保护一般可以在50ms内收敛,路径保护相对来说收敛时间稍慢,可能达到几百ms。

本地保护已经形成正式的标准,RFC 4090,其中定义了两种本地保护方式,一种是One-to-One Backup方式,在各个可能的故障节点或链路,为不同的被保护LSP创建不同的备份路径;另一种是Facility Backup方式,在各个可能的故障节点或链路,可以用一条备份路径保护多条LSP。其中,One-to-One Backup方式最初由Juniper推出,Facility Backup最初由CISCO推出。

说明:

目前,不同的厂家提到FRR,代表不同的意思。CISCO把Facility Backup方式的本地保护称为FRR,不支持One-to-One Backup方式的本地保护,路径保护单独提。而Juniper文档中的FRR指的是One-to-One

Backup方式的本地保护,基于Facility Backup方式的本地保护分别称为链路保护和节点保护,路径保护也单独提。我们这里,干脆把本地保护和路径保护都归如FRR,虽然路径保护收敛速度稍慢,相对普通的处

文档名称 文档密级

2013-04-15 H3C机密,未经许可不得扩散 第2页, 共25页

理方式,也可以称为快速重路由。

路径保护目前没有正式的RFC。

阅读下面的内容之前,要求对MPLS TE、RSVP、RSVP-TE有一定了解。MPLS TE的系统了解建议参考《Traffic Engineering with MPLS》(CISCO 2002年出版),RSVP和RSVP-TE相关知识可参考RFC2205和RFC3209。

本地保护

RFC 4090的目标是把原来各个厂商独立实现的LSP本地保护技术,主要是Juniper主导的one-to-one backup和Cisco主导的facility backup,统一到一套相同的协议框架中进行定义,并为试图同时支持这些实现的厂商解决互操作问题。

几个术语

在正式开展之前,有必要先明确一下后面常用到的几个术语的含义:

 Protected LSP:被保护LSP,也称主路径(main path)、主LSP(main LSP)。

 Backup Path:备份路径,泛指One-to-One backup和Facility backup方式下的备份LSP。

 Detour LSP:指One-to-One backup方式中的备份LSP。Detour LSP的头节点是PLR,尾节点是主LSP的尾节点,不过,在MP节点Detour LSP和主LSP进行了归并。

 Bypass Tunnel:指Facility backup方式下的备份LSP。Bypass Tunnel的头节点是PLR,尾节点是MP。

 PLR:Point of Local Repair,本地修复点,其实就是备份路径的头节点。

 MP:Merge Point,归并点,备份路径和主路径在故障点下游的交汇点。

 DMP:Detour Merge Point ,在one-to-one backup方式下,如果多个Detour LSP在某个LSR交汇,且下一跳和出接口相同,那么该LSR会合并这些Detour,在这个LSR以下,只需要维护一条Detour信令。这个交汇LSR,被称为DMP。

 NHOP:Next-Hop,指PLR的下一跳。

 NNHOP:Next-Next-Hop,指PLR的下下一跳。

文档名称 文档密级

2013-04-15 H3C机密,未经许可不得扩散 第3页, 共25页

两种本地保护技术

在RFC4090中,提出了两种实现MPLS FRR本地保护的方法:One-to-One Backup和Facility Backup。

One-to-One Backup

顾名思义,One-to-One Backup,即一对一备份,为每条主LSP创建一条备份路径,备份路径被称为Detour LSP。下图是One-to-One Backup的例子:

图1 One-to-One Backup

对照上图,这里对上一节的术语作一下解释:R1、R2作为两条Detour的头节点,是PLR;R4作为Detour和主LSP的交汇点,是MP;R7作为R1’s Detour和R2’s Detour的交汇点,并且两条Detour满足归并条件,R7会归并 R1’Detour和R2’s Detour,R7称为DMP;另外R3是R2的NHOP节点,R4是R2的NNHOP节点。

R2’Detour既保护了R2和R3之间的链路,也保护了R3节点。如果R2到R3之间的链路故障或者R3节点故障,那么R2节点会启动倒换,从R1发送到R5的报文在R2节点将倒换到备份路径:R1-R2- R7-R8-R4-R5。下图是倒换前后,标签交换情况:

图2 One-to-One backup 标签交换示意图 R1R7R8R2R3R4R5R6物理链路主LSPDetour12IP23IP28IPIP43IP55IP48IP45IP65IP

文档名称 文档密级

2013-04-15 H3C机密,未经许可不得扩散 第4页, 共25页

倒换前,走主路径,标签交换过程如上图中黄色标签。如果R2检测到R3故障,R2会把流量倒换到R2’s Detour,出标签为48,发到R7;在R7,因为R1’s Detour和R2’s Detour进行了归并,这里假设归并到R1’s Detour,所以在R7之后,使用R1’s Detour的标签45发到R8,R8使用标签65发到R4;在R4,Detour又归并到主LSP, R4之后,完全使用主LSP的标签向Egress发送报文。

上述标签交换过程表明,One-to-One backup方式下,使用备份路径时,标签栈深度不变。

在One-to-One backup方式下,对一个有N个节点的LSP,如果要实现完整的本地保护,至少需要N-1条Detour。

Facility Backup

Facility Backup使用一条备份路径保护多条主LSP,备份路径被称为Bypass Tunnel。下面是Facility Backup的一个例子:

图3 Facility Backup

上图中,LSP1、2使用同一条备份路径。R2和R3之间的链路故障或者R3故障,都会导致备份路径R2-R6-R7-R4被启用。事实上,上图中的备份路径,可以被用来保护任何途经R2-R6-R7-R4的LSP。

Facility backup方式下,备份路径可以保护多条LSP,这也导致一个问题:在流量切换到备份路径之后,比如上图中,在R4节点收到从备份路径过来的流量,如何判断流量是属于LSP1还是LSP2?Facility Backup方式使用标签栈来解决这个问题,外层标签是备份路径的标签,内层标签则是切换前R4分配给主LSP上其邻节点R3的标签,比如,如果切换前R4在LSP1上分配给R3的标签为L1,那么切换后,R2在把LSP1的流量发给R6之前,先打上内层标签L1,再打上外层备份路径的标签。这样,只要在切换后R4的RSVP-TE信令能维持原来状态,标签转发表就不会改变,R4收到备份路径中过来的流量后根据内层标签就能正确判断流量属于LSP1,从LSP1的转发路径转发。至于R2如何知道LSP1上R4分配给R3的标签,和RSVP-TE

文档名称 文档密级

2013-04-15 H3C机密,未经许可不得扩散 第5页, 共25页

中的一个称为RECORD_REROUTE对象相关,这个对象包含在RSVP-TE的RESV消息中,会沿LSP逆向累积纪录各个LSR分配给他的上游邻节点的标签,上游节点通过RESV消息中包含的这个对象能知道下游各个节点的标签分配情况。

说明:

上面的叙述中,假设了R4使用的是全局标签空间,即对于同一个FEC,在不同接口分配相同标签,如果R4使用每接口标签空间,需要额外处理,在后面的章节中有描述。

下图是Facility Backup方式下,倒换前后的标签交换情况,这里只描述了LSP1的情况:

图4 Facility Backup标签交换示意图

可以看到,在R2把LSP1的流量倒换到备份路径后,R2把R4在LSP1上分配给R3的标签

“28”作为内层标签,R7作为备份路径的倒数第二跳,弹出外层标签,直接以28发送给R4,R4根据标签28,知道应该走LSP1。

把Facility Backup方式和One-to-One Backup方式作一下比较,会有一些有趣的发现:

 one-to-one backup方式不使用标签栈,而Facility backup使用。

 one-to-one backup方式不用记录主LSP中MP给上游邻节点分配的标签,Facility

backup方式需要。

 Facility Backup中,备份路径的尾节点为MP(图16中的,R7倒数第二跳弹出标签);而One-to-One backup,备份路径的尾节点是主路径的Egress节点,MP只不过是备份路径和主LSP的归并点,可以认为MP节点之后,备份路径使用R1R7R8R2R3R4R5R6物理链路主LSPBypass Tunnel12IP23IP28IPIP28IP3328IP4528IPR9