NSF不间断转发技术白皮书.doc_第1页
NSF不间断转发技术白皮书.doc_第2页
NSF不间断转发技术白皮书.doc_第3页
NSF不间断转发技术白皮书.doc_第4页
NSF不间断转发技术白皮书.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NSF不间断转发技术白皮书华为技术有限公司Huawei Technologies Co., Ltd.NSF不间断转发技术白皮书 /cn/products/datacomm目 录1前言12技术简介12.1NSF原理12.2相关术语23关键技术23.1双主控冗余备份23.2路由协议GR33.2.1GR 原理简介33.2.2IS-IS43.2.3OSPF83.2.4BGP93.3其他协议GR124典型应用135结束语13附录A 参考资料15附录B 缩略语15Copyright 2007 华为技术有限公司 版权所有,侵权必究iNSF不间断转发技术白皮书 /cn/products/datacommNSF不间断转发技术白皮书摘 要:不间断转发技术(NSF)是一项实现网络设备高可靠性(HA)的重要技术。本篇文档主要介绍了不间断转发技术的基本实现原理和典型的应用。关键词:主备倒换、NSF、GR、RP、BGP、OSPF、IS-IS、 LDP、 LSDB1 前言随着网络的发展,用户对于网络的可靠性提出了越来越高的要求。不间断转发NSF(None Stop Forwarding)就是一项重要的高可靠性技术(HA,High Availability),它可以保证路由器控制层面出现故障时,数据转发仍然正常执行,从而保护网络上关键业务不受影响。目前,不间断转发技术NSF正在得到越来越广泛的应用。2 技术简介2.1 NSF原理不间断转发是指在路由器控制层面故障的过程中,数据转发不间断地正常执行。路由器控制层面故障的原因可能有多种,如由于软件或者硬件故障导致的路由器故障或者重启,或者软件升级时通过配置命令导致的主备切换等等。本文描述的路由器故障专指路由器主控板重启并且伴随主备倒换发生。通常情况下,路由器故障后,其路由协议层面的邻居会检测到它们之间的邻居关系Down掉,然后过段时间再次Up,这个过程被称之为邻居关系震荡。这种邻居关系的震荡将最终导致路由震荡的出现,使得重启路由器在一段时间内出现路由黑洞或者导致邻居将数据业务从重启路由器处旁路,从而导致网络的可靠性大大降低。不间断转发技术的目标就是为了解决上述路由震荡的问题,为此,需要满足以下要求: 硬件要求:系统双主控RP冗余配置,即一块做主用主控板,一块做备用主控板,主用主控板重启,备用主控板成为新的主板;分布式结构,数据转发和控制分离,有专门的线卡(接口板)用于数据转发。系统软件要求:主板正常运行的过程中,会把配置信息、接口状态信息备份到备用板;主备倒换的时候,接口板不需要重启,接口保持Up,接口板转发表不撤销。协议要求:要求各相关网络协议,如路由协议OSPF、IS-IS、BGP,其他协议如LDP、RSVP做扩展,具备优雅重启(GR)能力。2.2 相关术语两个重要的概念:NSF:即None Stop Forwarding,利用了数据层面控制层面处理的独立性,在控制层面发生故障的时候,数据层面依然能够正常转发数据。GR: 即Graceful Restart,为了实现不间断转发,需要路由协议做扩展以支持GR能力。路由器按照所具备的NSF能力的不同划分:NSF-Capable 路由器 :具备不间断转发能力的路由器,需要设备同时具备双主控冗余备份及路由协议GR能力。 GR-Capable 路由器 :具备优雅重启能力的路由器。GR-Aware 路由器 :能够感知到邻居发生GR的路由器,并能辅助邻居完成GR。GR-Capable路由器显然也同时是GR-Aware路由器。GR-Unaware 路由器 :不能够感知到邻居发生GR的路由器,不能辅助邻居完成GR。按照GR过程中路由器担当的角色不同分为:GR-Restarter 路由器 :进行协议优雅重启的路由器。GR-Helper 路由器 :协助协议优雅重启的路由器。3 关键技术3.1 双主控冗余备份在分布式处理模型下,路由器主要由主控板和接口板组成,主控板负责路由器的控制平面和管理平面,例如路由学习、路由计算、建立MPLS LSP等工作;接口板负责具体业务处理,如IP报文转发,MPLS报文交换,QOS保证等工作。高端路由器的特点是主控板具有冗余备份机制,即双主控板设计:其中一块是主用主控板(AMB),处于工作状态,另一块称作备用主控板(SMB),处于备份状态。主用主控板运行过程中,将所有静态配置信息和一部分动态信息备份到备用主控板,使得备用主控板具有和主用主控板相同的配置信息。当主控板因为硬件或软件失效出现故障时,备用主控板接管失效主控板的工作,重新启动控制平面和管理平面工作以及各业务处理板, 另外,由于系统具备控制与转发分离的分布式结构,所以主备倒换过程中接口板不会重启,接口板上的转发表被保留,可以继续业务转发。如下图1所示。图1 双主控冗余备份3.2 路由协议GR3.2.1 GR 原理简介目前,各种路由协议只运行于路由器主控板上,在备板上并不运行,当主备倒换发生后,备板上开始运行路由协议。路由协议支持GR能力,需要完成下面两项任务:邻居路由器与重启路由器的邻居关系避免在重启的时候震荡(flap);重启后,重启路由器尽快完成与邻居路由器的路由信息的同步,然后更新本地路由信息。目前具备GR能力的路由协议主要有IS-IS、OSPF、BGP,下面逐一介绍。3.2.2 IS-ISIS-IS属于链路状态协议,需要同一个路由域内的每一台路由器都保持完全一致的网络拓扑信息,即完全一致的链路状态数据库(LSDB)。路由器发生主备倒换后,由于没有保存任何重启前邻居信息,因此一开始发送的Hello报文中不包含邻居列表,此时邻居路由器收到后,执行two-way邻居关系检查,发现在重启路由器的Hello报文的邻居列表中没有自己,这样邻居关系将会断掉,同时通过生成新的LSP报文,将拓扑变化的信息泛洪给区域内的其他路由器。这样区域内路由器基于新的链路状态数据库进行路由计算,从而造成路由中断或者路由旁路。(注意:在这里,默认IS-IS在 点到点链路上执行三次握手特性RFC3373)同样,由于没有保存重启前的任何链路状态信息(LSDB),重启路由器在主备倒换后,需要快速和邻居间同步链路状态信息。为此,IS-IS为了支持GR能力,需要完成下面两项任务:1)GR-Capable路由器重启期间,要避免邻居路由器针对重启路由器的邻居关系的震荡,即GR-Helper对于重启前就处于Up状态的重启路由器邻居关系,在GR期间,仍然保持处于Up状态。为了实现这个功能,IS-IS 在Hello报文中新增加了一个新的TLV 211。TLV211中主要包含RR bit, RA bit。 当RR Bit被设置,表示该路由器刚刚发生了优雅重启(GR),当RA bit = 1 表示是对重启路由器的应答。另外TLV211中还包含一个Remaining time字段,是邻居路由器在应答Hello报文中携带的,表示邻居能容忍的重启路由器重启所要消耗的最大时间。2)在邻居关系保持的基础上,重启发生后,新的主板上的IS-IS需要尽快同各个具备GR-Aware能力的邻居同步链路状态数据库。具备GR-Aware能力的邻居路由器在收到重启路由器的GR请求后,需要向重启路由器同步它所具备的链路状态数据库,具体做法是:将所有的LSP都打上向重启路由器发送标志;向重启路由器发送完全数据库列表CSNP报文。具体细节在下面的GR过程中又阐述。此外,协议新扩展定义了三个定时器T1,T2,T3用于辅助实现GR:1)T1定时器:每一个接口有一个T1定时器,具备GR-Capable能力的路由器重启后,每隔T1间隔,向邻居发送RR bit = 1, RA bit =0的Hello,表示该路由器刚刚经历了重启,邻居路由器如果具备GR-Aware能力,则应答RR bit = 0,RA bit = 1的Hello报文和CSNP报文后,重启路由器取消T1, 否则坚持发送Hello n(可配置)次,n次内没有收到邻居的应答Hello或者收到的Hello中没有RA bit,则向该邻居恢复发送正常的Hello报文。2)T2定时器:每一个Level的LSDB有一个对应的T2定时器,用于监控相应Level的LSDB同步。T2在路由器重启之后马上启动,缺省值为60秒,当确认数据库已经同步完成后,T2定时器取消。3)T3定时器:重启路由器一共只有一个T3定时器,取值为所有GR-Aware邻居Hello TLV211中的Remaining time的最小值,在路由器重启之后马上启动。触发的时候,因为数据库同步还没有完成,所以将自己产生的LSP打上Overload 泛洪出去。T3定时器的作用主要是可以将重启路由器的重启过程限制在一个有限的时间范围内,避免无限期的重启。下面结合图2,重点介绍一下IS-IS GR的详细过程,其中R1是具备GR-Capable能力的路由器,R2和R1之间建立邻居关系,而且R2是具备GR-Aware能力的路由器。图2 IS-IS Graceful Restart 过程IS-IS GR 过程描述:1)R1路由器重启前,使能IS-IS的GR能力,这时候IS-IS发出的Hello报文中携带TLV211,但是RR bit和RA bit都被置为0。2)R1路由器重启,发生主备倒换。接口板不重启,接口板上转发表的路由被打上老化标志,但是仍然继续正常指导转发。3)R1原来的备板成为新的主板。IS-IS协议重新启动,从系统得知这是一次主备倒换后的重启,并且如果IS-IS提前配置了GR能力的话,则启动T1,T2,T3定时器。4)连接R2的接口的T1定时器超时触发,R1向R2发送一个包含TLV 211的Hello报文,其中RR bit = 1, RA bit = 0,通知邻居 该路由器刚刚发生了重启。5)具备GR-Aware能力的R2收到了R1表达重启的Hello消息后,发送同样包含TLV211的Hello报文做应答,其中RR bit = 0, RA bit = 1,表示响应R1的GR重启要求。同时将TLV 211中的Remaining Time字段填充为本系统Hold Time时间。6)如果R1和R2之间是P2P连接;或者如果是广播网且R2的 System id是该广播网上最大的(除了R1),则向R1发送CSNP消息。CSNP报文是R2用来向R1同步链路状态数据库(LSDB)用的,里面包含了R2完整的链路状态数据信息列表。同时,R2将所有的LSP设上SRM标志,等待定时器调度,向R1发送。7)R1收到R2含RA Bit = 1的Hello应答,并且收到邻居发送来的CSNP消息后,则T1定时器被删除。否则,T1定时器触发继续向R2发送RR bit = 0, RA bit = 1的Hello报文,发送n次后,T1被删除。8)如果R1同步到了所有GR-Aware邻居的LSDB(通过检查记录的邻居发来的CSNP链表最后是否被清空判断得知),那么T2 ,T3定时器都被删除,执行10。注意,在此之前,R1可以生成自己的LSP,但是不能发送出去,收到邻居发来的自己产生的LSP也不能清除(Purge),也不能进行路由计算,原因在于基于没有完全同步的 LSDB的计算可能导致路由错误或者丢失。如果T2定时器超时,执行10。9)T3定时器被触发,表明R1没有在GR-Aware邻居允许的时间内完成LSDB同步,那么将在自己生成的 LSP中设置Overload bit后,发送给邻居。10)调度路由计算,路由计算结束后,更新接口板转发表;清除掉重启过程中可能收到的非法的LSP,将自己生成的LSP 泛洪出去;IS-IS协议恢复正常流程。IS-IS GR 配置举例:1) 使能IS-IS协议的GR能力:# system-view# isis process-id # graceful-restart 缺省情况下,IS-IS协议的GR能力被禁止。2) 配置IS-IS协议的GR会话参数# system-view# isis process-id # graceful-restart interval timer 重启间隔时间用来指定路由器的重启时间。重启间隔时间在IS-IS的Hello PDU中设置为保持时间,这样在该路由器重启的时间内邻居不会断掉与其的邻接关系。3.2.3 OSPFOSPF和IS-IS同属于链路状态路由协议,因此实现不间断转发的原理是类似的。目前OSPF GR主要有两种具体的解决方案:1)LLS + OOB主要基于OSPF-GR的三个IETF草案实现。两个主要的概念:LLS:即link-local signaling,是对标准OSPF报文做的扩展,LLS数据放于OSPF报文的尾部,只在Hello和DD报文存在。为了支持GR,在扩展的LLS 数据区中,定义了一个Extended Options TLV(EO-TLV)用于携带OSPF GR过程中的各种能力协商。OOB:即Out-of-band LSDB resynchronization,指无邻居状态震荡条件下的LSDB重新同步。配置OSPF GR:# system-view# ospf process-id # enable link-local-signaling# enable out-of-band-resynchronization# graceful-restart 2)Grace LSARFC3363主要定义了一个叫做Grace-LSA的第9类Opaque LSA来实现OSPF-GR的过程,第9类Opaque LSA只在本地链路(子网)内传播,通过TLV编址方式进行信息承载。在Grace-LSA的TLVs中,主要包含了GR周期、发生GR的原因和GR Restarter的接口IP地址等信息。两种OSPF GR实现方案的比较:第一种OSPF GR是通过三个草案实现的,分别是LLS,OOB和GR过程定义。其中除了服务于GR,LLS,OOB还可以用于其它OSPF应用,实现起来相对复杂。第二种OSPF GR基于RFC3623,前提是要实现针对Opaque LSA(RFC2370)的扩展,目前应用较前者更广泛。两者设计原理类似于IS-IS的IETF GR方案,在此不再详述。3.2.4 BGP不同于IS-IS、OSPF等链路状态IGP协议,BGP是基于D-V算法的EGP协议,另外由于BGP的邻居关系是建立在TCP之上,因此BGP GR的实现原理较之前两者有较大的不同。为了实现GR,BGP-GR协议主要做了下面两项扩展:)在BGP的OPEN消息中,增加了一种表示GR的能力,称为“Graceful Restart Capability ”。这个能力被BGP用来向邻居表示其支持Graceful restart的能力。具体格式如下:Restart Flag: 表明是否该BGP Speaker发生了重启。如果重启了,则应先向该BGP speaker发送路由更新,而不是等待它发送End-of-RIB. Restart Time:重启后,邻居路由器需要等待和该重启路由器重新建立连接的最长时间。AFI/SAFI: 支持GR的地址族。Flags for Address Family: 如果设定,表明重启路由器支持将该类地址族的路由在系统重启的时候在接口板保留。这个标志很重要,因为如果没有系统配合重启的时候保留住在接口板的路由转发项,即使BGP协议具备GR能力,也不能实现不间断转发。)在Update报文中,新增加一个EOR(End-of-RIB)标志,用于表明路由信息向邻居更新完毕。此外,BGP-GR扩展定义了两个重要的定时器,用于辅助实现BGP GR:Restart timer:表示GR Helper路由器允许的由于重启导致的邻居关系断掉到邻居关系重新建立的最大时间。Wait-For-EOR timer:重启路由器等待GR-Helper路由器发送 EOR路由更新结束标志的最长时间。换言之,是重启路由器允许邻居路由同步的最大时间。下面参考图3,讲述BGP GR的过程:图3 BGP Graceful Restart过程BGP GR过程描述:重启路由器(GR-Restarter):1、在初始建立BGP邻居时,R1、R2通过OPEN消息协商GR能力。2、R1重启发生,路由在接口板被保留,继续指导转发。3、R1同邻居R2重新建立TCP连接,在BGP OPEN消息中将Restart state置为1,表明该路由器刚刚发生了重启。同时,通知邻居restart time的值(应该小于OPEN消息中的Holdtime时间)。另外,还需要告诉邻居,重启路由器支持哪一类地址族的路由的GR。 4、R1同邻居R2重新成功建立BGP邻居关系后,接收邻居发来的路由更新信息并处理,启动Wait-For-EOR定时器。5、R1推迟本地的BGP路由计算过程,直到收到所有GR-Aware的BGP邻居的路由更新结束标志End-of-RIB或者等到本地的Wait-For-EOR超时。6、执行路由计算,向各邻居发送路由更新;更新完毕后,向邻居发送End-of-RIB标志。邻居路由器(GR Helper):1、R2与R1初始建立BGP邻居关系的过程中,与重启路由器协商GR能力,记录路由器R1为支持GR-Capable的路由器。2、R1发生重启后,R2可能感知到和R1之间的TCP断掉,也可能在两者重新建立TCP连接前检测不到。如果没有检测到,执行4;否则,检测到执行3。3、将重启路由器R1发过来的路由保持住,并且打上stale老化标志。启动Restart Timer。 4、重启路由器发起建立新的连接,删除Restart Timer, 启动Wait-For-EOR Timer。5、如果在建立新的连接前,Restart Timer超时;或者收到新连接的OPEN消息中的 Forwarding state不为1(Forwarding state = 0表示重启路由器不支持相应地址族路由的NSF能力);或者OPEN消息中不含有对应的AFI/SAFI地址族支持信息,则执行8。 6、否则,向重启路由器发送路由信息更新,更新完毕,发送End-Of-RIB标志。7、如果发送End-Of-RIB前,Wait-For-EORTimer超时,则执行8。8、被保持的重启路由器的路由被清除,后续按照正常BGP流程执行。BGP GR 配置举例:1) 使能BGP协议的GR能力:#system-view#bgp as-number#graceful-restart缺省情况下,BGP协议的GR能力被禁止。2) 配置BGP协议的GR会话参数#system-view#bgp as-number配置允许BGP对端重建GR Session连接会话的最大时间#graceful-restart timer restart time-value配置GR-Restarter和GR-Helper两侧等待End-of-RIB消息的时间#graceful-restart timer wait-for-rib time-value3.3 其他协议GR其他的协议,如LDP也可以实现GR。LDP支持GR首先要求LDP协议在初始化消息中增加对可选FT(Fault Tolerant)TLV的支持,支持这个TLV表示标签交换路由器在倒换时支持MPLS LSP信息和FEC信息保持,同时邻居路由器也需要支持GR能力,保持与重启路由器已经建立的MPLS LSP信息。LDP向邻居同时通告两个最大等待时间,一个标识LDP倒换后重新建立连接时间,另一个标识倒换后LDP恢复正常的时间。在倒换时,LDP对每个邻居启动GR过程。首先它必须在重连定时器(Reconnect Timer)超时前重建与邻居建立连接。接着从转发平面中获取已经向邻居发布的标签映射信息,发布给各邻居,并且标志这些转发项为需要老化处理。邻居也把GR前建立的标签映射信息发送给倒换后的LDP,LDP根据收到的标签映射信息更新标记老化的转发项。当GR过程结束后,删除所有仍然被标记为需要老化的转发项。 对于GR-Helper路由器,一旦新的邻居关系建立,应该关闭过时的与邻居的连接(如果有),标记相关的控制平面LSP为待老化,同时向上游LDP邻居发送这些标签映射信息,根据发生倒换的LDP邻居发送来的标签映射信息更新标记老化的LSP,同时更新转发表。当GR过程结束后,删除所有仍然被标记为需要老化的LSP,并更新转发表。 LDP GR 配置举例:1) 使能MPLS LDP协议的GR能力#system-view#mpls ldp#graceful-restart缺省情况下,LDP协议的GR能力被禁止。2) 配置MPLS LDP协议的GR会话和邻居参数#system-view#mpls ldp配置LDP会话重连接时间#graceful-restart timer reconnect time-value配置LDP邻居有效时间#graceful-restart timer neighbor-liveness time-value配置LDP恢复时间#graceful-restart timer recovery time-value4 典型应用在运营商网络的边缘,即PE(Provider Edge)路由器是典型的NSF应用场所,特别是用户单点(Single point)连入运营商网络的情况,当单点PE出现故障,或者出于维护目的(比如升级软件版本)导致PE路由器主备倒换发生,如果部署了NSF,则能够给用户的关键业务提供不间断转发的高可靠性保障。具体应用如下图4所示。图4 NSF在运营商网络中的应用在PE上,应用IS-IS、BGP和LDP GR等协议,同时,在P设备上,应用IS-IS、LDP GR等协议,PE、P设备均具备双主控冗余备份能力,从而实现业务的不间断转发。5 结束语在网络中,尤其是电信级多业务承载网络,可靠性成为越来越重要的内容,需要保证在故障时仍然能够提供业务。NSF最大的优点就是可以保证系统出故障重启的时候,数据业务不间断转发,提高了网络的可靠性。另外,在支持NSF的系统上,只需要对网络协议扩展具备GR能力即可,在主备板之间只需要备份很少的信息,如配置信息、接口状态信息等,实现相对简单。NSF作为一种可靠性技术,也有一定的局限性,需要邻居路由器同时具备GR-Aware能力,另外如果重启路由器的邻居路由器也同时发生重启,则NSF无法实现,即存在重启并发问题。NSF技术同路由快速收敛技术的共同目标都是希望路由器在出现故障后,路由能够尽快的收敛。但是两者也存在不同之处,路由器一旦故障,NSF技术是致力于保持原来的业务流仍然按照原有的转发路径转发,即仍然经过有故障的路由器转发数据;而路由快速收敛技术却是希望路由协议能够快速的感知到网络故障,并将流经故障路由器的业务流尽快地旁路到其他正常路由器上去。在实际应用中,可以根据组网情况及用户需求进行选择部署。16Copyright 2007 华为技术有限公司 版权所有,侵权必究NSF不间断转发技术白皮书 http:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论