设为首页收藏本站language 语言切换
查看: 3633|回复: 0
收起左侧

[分享] MPLS TE 的FRR简介

[复制链接]
发表于 2014-4-29 16:21:46 | 显示全部楼层 |阅读模式
MPLS TE 快速重路由技术是一项实现网络局部保护的技术,在应用了MPLS TE的网络中,当某处出现链路或节点失效时,配置有快速重路由保护的LSP可以自动将数据切换到保护链路上去。本文档介绍了MPLS TE快速重路由的关键技术和典型应用。
关键词:FRR、MPLS TE、快速重路由、RSVP TE、LSP。
1 前言
目前传统的IP网络是一种“尽力而为”的服务模型,随着网络业务的进一步发展,作为多业务统一承载的IP网络在可靠性方面,必须要达到传统电信网络的水平,如保护切换的速度<50ms,才能满足电信级业务的需要。MPLS技术自20世纪90年代中出现后,由于其具备快速转发、QoS保证、多业务支持等优势,获得了长足的发展,在下一代电信网络中扮演着越来越重要的角色。
为了保证MPLS网络的可靠性,MPLS快速重路由(Fast ReRoute)技术扮演了重要角色。这种技术借助MPLS流量工程(Traffic Engineering)的能力,为LSP提供快速保护倒换能力。MPLS快速重路由事先建立本地备份路径,保护LSP不会受链路/节点故障的影响,当故障发生时,检测到链路/节点故障的设备就可以快速将业务从故障链路切换到备份路径上,从而减少数据丢失。
快速响应、及时切换是MPLS快速重路由的特点,它可以保证业务数据的平滑过渡,不会导致业务中断;同时,LSP的头节点会尝试寻找新的路径来重新建立LSP,并将数据切换到新路径上,在新的LSP建立成功之前,业务数据会一直通过保护路径转发。
2 技术简介
2.1 MPLS TE及其四个构件
传统的路由器选择最短的路径作为路由,不考虑带宽等因素,这样,即使某条路径发生拥塞,也不会将流量切换到其他的路径上。在网络流量比较小的情况下,这种问题不是很严重,但是随着Internet的应用越来越广泛,传统的最短路径优先的路由的问题暴露无遗。
MPLS TE是一种将流量工程技术与MPLS这种叠加模型相结合的技术。通过MPLS TE,可以建立指定路径的LSP隧道,进行资源预留,并且可以进行定时优化,在资源紧张的情况下,可以根据优先级和抢占参数的情况,抢占低优先级的LSP隧道的带宽资源等等;同时,还可以通过备份路径和快速重路由技术,在链路或节点失败的情况下,提供保护。
MPLS TE的实现需要四个部分:

网络信息的搜集,现在通过OSPF TE来实现;
路径的计算,现在通过CSPF来实现;
建立LSP的信令,现在采用RSVP TE协议;
MPLS转发。


                               
登录/注册后可看大图

图1 MPLS TE的四个组件
MPLS TE的四个构件
报文转发组件
MPLS TE报文转发组件是基于标签的,通过标签沿着某条预先建立好的LSP进行报文转发。由于LSP隧道的路径可以指定,因而可以避免IGP的弊端。
信息发布组件
除了网络的拓扑信息外,流量工程还需要知道网络的负载信息。为此,引入信息发布组件,通过对现有的IGP进行扩展,比如在IS-IS协议中引入新的TLV,或者在OSPF中引入新的LSA,来发布链路状态信息,包括最大链路带宽、最大可预留带宽、当前预留带宽、链路颜色等。
通过IGP扩展,在每个路由器上,维护网络的链路属性和拓扑属性,形成流量工程数据库TED,利用TED,可以计算出满足各种约束的路径。
路径选择组件
MPLS TE技术通过显式路由来指定数据转发的路径,即在每个入口路由器上指定LSP隧道经过的路径,这种显式路由可以是严格的,也可以是松散的。可以指定必须经过某个路由器,或者不经过某个路由器,可以逐跳指定,也可以指定部分跳。此外,还可以指定带宽等约束条件。
路径选择组件通过CSPF算法,利用TED中的数据来计算满足指定约束的路径。CSPF算法是最短路径优先算法的变种,它首先在当前拓扑结构中删除不满足条件的节点和链路,然后再通过SPF算法来计算。
信令组件
信令组件用来预留资源,建立LSP。LSP隧道的建立可以通过CR-LDP,或RSVP-TE协议完成。这两种信令都可以支持LSP的建立、显式路由、资源信息携带等功能。
以RSVP-TE为例,为了能够建立LSP隧道,对RSVP协议进行扩展,在RSVP PATH消息中引入Label Request对象,支持发起标签请求;在RSVP RESV消息中引入Label对象支持标签分配,这样就可以建立LSP隧道了。为了支持显式路由,在RSVP RESV消息中引入Explicit Route对象。
更详细的信息请参见RFC3209。
2.2 MPLS TE快速重路由
MPLS TE快速重路由是MPLS TE中一套用于链路保护和节点保护的机制。当LSP链路或者节点故障时,在发现故障的节点进行保护,这样可以允许流量继续从保护链路或者节点的隧道中通过,以使得数据传输不至于发生中断,同时头节点就可以在数据传输不受影响的同时继续发起主路径的重建。
MPLS TE快速重路由的基本原理是用一条预先建立的LSP来保护一条或多条LSP。预先建立的LSP称为快速重路由LSP,被保护的LSP称为主LSP。MPLS TE快速重路由的最终目的就是利用快速重路由隧道绕过故障的链路或者节点,从而达到保护主路径的功能。
快速重路由LSP和主LSP的建立过程需要MPLS TE系统的各个构件参与。
MPLS TE快速重路由是基于RSVP TE的实现,遵循协议RFC4090。
实现快速重路由有两种方式:

Detour方式: One-to-one Backup,分别为每一条被保护LSP提供保护,为每一条被保护LSP创建一条保护路径,该保护路径称为Detour LSP。
Bypass方式:Facility Backup,用一条保护路径保护多条LSP,该保护路径称为Bypass LSP。
Detour方式实现了每条LSP的保护,相对需要更大的开销。在实际使用中,Bypass方式被更广泛使用,以下重点介绍Bypass方式。


                               
登录/注册后可看大图

图2 快速重路由
Bypass方式如上图所示,蓝色为主LSP,红色为Bypass LSP,当链路RTB-RTC失效或节点RTC失效时,主LSP上的数据会切换到Bypass LSP上。从RTB出去的报文头的顶层使用RTF为RTB分配的标签,同时RTC的出标签也被压入标签栈中作为下一层。
在RTB-RTF-RTD这条路径上,LSP使用两层标签。RTD收到的报文,弹出RTD为RTF分配的标签以后,继续用RTD为RTC分配的标签进行转发。
下面介绍几个主要概念:
主LSP:相对于Detour LSP或Bypass LSP而言,是被保护的LSP。
PLR:Point of Local Repair,Detour LSP或Bypass LSP的头节点,它必须在主LSP的路径上,且不能是尾节点。
MP:Merge Point。Detour LSP或Bypass LSP的尾节点,必须在主LSP的路径上,且不能是头节点。
链路保护:PLR和MP之间有直接链路连接,主LSP经过这条链路。当这条链路失效的时候,可以切换到Detour LSP或Bypass LSP上。
节点保护:PLR和MP之间通过一个路由器连接,主LSP经过这个路由器。当这个路由器失效时,可以切换到Detour LSP或Bypass LSP上。
3 关键技术
Bypass方式快速重路由如下图所示:


                               
登录/注册后可看大图

图3 Bypass快速重路由
本章描述的Bypass方式快速重路由按照RFC4090(以下称协议)实现,通过扩展SESSION_ATTRIBUTE和RECORD_ROUTE对象来实现Bypass方式快速重路由。本章举例都按照 0 的节点保护来说明。
3.1 主LSP的建立
主LSP的建立过程与普通LSP相同,RSVP从头节点( 0 中的RT1)逐跳向下游发送PATH消息(经过RT1-RT2-RT3-RT4-RT5),从尾节点( 0 中的RT5)逐跳向上游发送RESV消息。在处理RESV消息时分配标签,预留资源,建立LSP。
在协议草案中,为FRR扩展了SESSION_ATTRIBUT和RECORD_ROUTE对象中的几个标志位,被保护LSP的建立与普通LSP的建立的区别也在于这几个标志位的处理。
PATH消息的SESSION_ATTRIBUT对象中,增加的标志位指明了该LSP是否需要局部保护、是否记录标签、是否SE风格、是否有要保护带宽。
RESV消息的RECORD_ROUTE对象中,增加的标志位指明了该LSP是否已经被保护、是否已经切换、是否被保护了带宽、是否是被节点保护。
主LSP的建立是通过在头节点(RT1)手工配置隧道来触发的。在建立主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的过程称为绑定,绑定的具体算法在后面有详细描述。
在为主LSP进行了快速重路由绑定计算之后,向上游发送RESV消息的RECORD_ROUTE对象中会指明该LSP是否已经被保护。如果有保护,会记录下这个被保护的出接口地址(RT2的eth1)和RESV消息的出接口(RT2的eth3)。如果没有保护,RRO中相应的标志会被清除,并且只记录RESV消息的出接口(RT2的eth3)。在Egress上不进行绑定计算,它向上游发送的RRO中的各标志清零。
有快速重路由保护的主LSP建立过程与普通LSP基本一致,只是增加了前面描述过的绑定计算,以及在PATH和RESV消息中增加了几个相关标记和子对象。
3.2 Bypass LSP的建立
Bypass LSP的建立可以有两种方式,一种是手工方式,一种是自动方式;
手工Bypass LSP是当一个没有快速重路由属性的隧道被指定保护一个物理接口以后,它所对应的LSP就成为Bypass LSP。手工Bypass LSP(RT2上的tunnel12)的建立是通过在PLR(RT2)手工配置触发的。它的配置与普通LSP基本没有分别,只是不能配置快速重路由属性。也就是说,Bypass LSP不能同时是主LSP,LSP不能被嵌套保护。
自动Bypass LSP是对手工方式的配置简化,当主LSP需要被FRR保护时,PLR可以选择或自动建立一条Bypass LSP,用来保护这个主LSP,这种方式就叫自动Bypass。自动Bypass可以保护多个主LSP,只要它可以满足这些主LSP的要求。
Bypass LSP可以保护多个物理接口,但不能保护它自己的出接口。
快速重路由可以进行链路保护或节点保护。在需要Bypass LSP保护时就应该规划好它所要保护的链路或节点,并确定好保护方式是链路保护还是节点保护。一般来讲,节点保护可以同时保护被保护节点和PLR与被保护节点之间的链路,它看起来更优一些。如果可能的话,用户会更希望部署节点保护。华为公司提供了灵活的保护方式,在节点保护不能工作的时候,华为公司的设备支持保护方式自动降级为链路保护,当节点保护再次生效时,节点保护将重新起作用。
Bypass隧道的带宽一般是用于保护主LSP的,隧道上所有资源仅为切换后使用。用户在配置时需要保证配带宽大于等于被保护的所有LSP所需的带宽和,否则发生FRR生效后,Bypass将不能提供完全满足用户服务质量要求的保护。
Bypass LSP一般处于空闲状态,不承担数据业务。如果需要Bypass隧道在保护主LSP的同时承担普通的数据转发任务,就需要配置足够的带宽。
3.3 绑定计算
“绑定”可以指为一个物理接口指定保护它的Bypass隧道,我们把这叫做把Bypass隧道与物理接口绑定。一个Bypass隧道可以绑定到多个物理接口,一个物理接口也可以绑定多个Bypass隧道。
“绑定”也可以指为一条主LSP选择一条合适的Bypass LSP来保护它,叫做把主LSP与Bypass LSP绑定。绑定计算是为一条主LSP绑定Bypass LSP的过程。绑定计算的结果是得到切换时转发所需要的必要数据,如Bypass隧道接口、Bypass LSP的出接口和NHLFE、MP分配的标签等。如果绑定计算成功,RESV会向上游节点通告该主LSP已经被保护。
绑定计算必须在切换之前完成,下列情况下会触发绑定计算:

在建立主LSP时会触发该LSP的绑定计算。
新增或减少一条Bypass LSP时会触发以Bypass LSP所保护的物理接口为出接口的所有主LSP进行绑定计算,比如建成Bypass LSP、或者把普通LSP配置成Bypass LSP、或者删除一条Bypass LSP。
系统定期计算所有以被保护的物理接口为出接口的LSP的绑定关系。
绑定计算总是用一条主LSP的已知信息去逐条遍历保护它的出接口的Bypass LSP,寻找到最合适的Bypass LSP。在支持自动FRR保护的情况下,如果没有找寻到一个合适的Bypass LSP,就会试图去建立一条新的自动Bypass LSP对这条主LSP进行保护。
在主LSP建立时记录了各个节点的接口地址,CSPF可以根据接口地址获得对应的LSR ID,这样主LSP的下一跳(NHOP)或下下一跳(NNHOP)的LSR ID就是已知的。
如果路由器支持协议草案draft-ietf-mpls-nodeid-subobject,主LSP建立时,RRO就会记录各跳的LSR ID。如果Bypass LSP的Egress LSR ID与NHOP LSR ID相等,就可能形成链路保护;如果Bypass LSP的Egress LSR ID与NNHOP LSR ID相等,就可能形成节点保护。
如果主LSP带宽为0,它只能被带宽为0的Bypass LSP保护。带宽为0的Bypass LSP保护一条主LSP以后,它的保护计数会加1。如果主LSP带宽不为0,它只能被有足够剩余带宽的Bypass LSP保护。带宽不为0的Bypass LSP最初的剩余带宽是它的配置值。它每保护一条主LSP,剩余带宽就会被减去这条主LSP的带宽大小。
当有多条Bypass LSP可以保护一条主LSP时,按下面的顺序进行优选:

节点保护优于链路保护。
如果主LSP带宽为0,选择一条带宽为0且保护主LSP条数最少的Bypass LSP。
如果主LSP带宽不为0,选择剩余带宽大等于主LSP带宽且剩余带宽最小的Bypass LSP。
绑定计算的结果包含下面几项,主要用于切换以后数据和信令消息从Bypass隧道的发送:
保护的类型,链路保护或节点保护,MP的LSR ID。
MP为上一跳分配的标签。这个值就是主LSP的RRO中MP LSR ID对应的标签。
Bypass隧道接口,bypass LSP的NHLFE信息。
绑定计算结果会保存下来,当发生局部失效的时候可以立即使用,这也是MPLS TE快速重路由可以迅速响应失效的原因。

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-3 05:48 , Processed in 0.050534 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表