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