网站优化软件有哪些,社区做图网站有哪些,嘉兴h5建站,专业排名优化工具OSPF高级特性
一、OSPF_提升故障收敛及网络恢复速度
1.FRR与BFD快速恢复故障
1.1 FRR
在传统转发模式下#xff0c;当到达同一个目的网络存在多条路由时#xff0c;路由器总是选择最优路由使用#xff0c;并且下发到FIB表指导数据转发。
当最优路由故障时#xff0c;需…OSPF高级特性
一、OSPF_提升故障收敛及网络恢复速度
1.FRR与BFD快速恢复故障
1.1 FRR
在传统转发模式下当到达同一个目的网络存在多条路由时路由器总是选择最优路由使用并且下发到FIB表指导数据转发。
当最优路由故障时需要等待路由收敛完成重新选路然后再把优选路由下发到转发表业务才能恢复。
在这个过程中业务中断时间较长不能满 足业务的要求。
为此FRR快速重路由Fast Reroute就提供了解决方案其核心就是找到一个在主用链路故障后的下一跳邻居节点如果这个邻居节点到目的节点的最短路径不经过源节点则这个邻居节点为无环备份下一跳。
源节点源
邻居节点源节点的相邻节点
目的节点目的通俗介绍 案例
1、无FRR情况下查看4.4.4.4路由信息只能看到一个下一跳。 2、如果启用了FRR功能将会出现BkNextHop备份下一跳当主下一跳故障之后将立即切换到由FRR计算的备用链路转发数据。
反转虽然是具备了备用转发路径但前提是感知到链路故障之后才会进行切换如果设备无法快速感知到链路故障那么实际上还是存在丢包过多的情况。
比如下面这种情况可能会造成设备无法快速感知链路故障
该结果就是AR1需要等待40秒的超时时间才能感知到与AR2之间的链路存在故障。因此就非常需要另一项技术进行快速的故障感知BFD
FRR的配置
OSPF进程中开启frr并使用LFA算法进行计算无环下一跳
ospf 1frrloop-free-alternate1.2 BFD
BFDBidirectional Forwarding Detection双向转发检测提供了一个通用的、标准化的、介质无关和协议无关的快速故障检测机制用于快速检测、监控网络中链路或者IP路由的转发连通状态。
1BFD如何实现快速感知故障的呢
BFD通过静态或动态的方式建立起BFD会话并在极短的时间内相互发送BFD报文如果对方在一定时间内没有回复BFD报文则BFD会话状态将变成Down表示出现故障。
2BFD如何与FRR配合解决故障快速收敛
以OSPF为例FRR计算出备份下一跳之后只要当原先链路断开之后才会快速切换至备份下一跳。当设备无法快速感觉到链路发生故障时只能等待40秒邻居老化之后才会进行切换。
为此使用BFD与邻居自动建立会话实现故障快速检测实现当链路断开之后的3秒钟BFD会话断开。
因为BFD与OSPF进行联动故当BFD会话断开之后其相应的OSPF邻居关系也会同时断开从而实现链路故障后的快速切换。
3如何应用BFD
全局启用BFD功能之后通过静态或动态方式建立起BFD会话然后将其与OSPF、ISIS等路由协议进行联动实现网络故障后的快速感知。
例子1OSPF与BFD联动
# 全局开启BFD功能
[Router] bfd# 进程中应用BFD功能
[Router] ospf 1
[Router-ospf-1] bfd all-interfaces enable# 默认BFD发送和接收间隔均为1秒丢包3次则为故障即BFD对端故障后3秒将会检测到。
# 若想继续提高检测速度可将发送和接收间隔缩短至 500毫秒即1.5秒后检测到故障。
# 发送间隔
[Router-ospf-1] bfd all-interfaces min-tx-interval 500
# 接收间隔
[Router-ospf-1] bfd all-interfaces min-rx-interval 500例子2BFD与ISIS联动
[Router] bfd
[Router-bfd] quit[Router] isis
[Router-isis-1] bfd all-interfaces enable
[Router-isis-1] quit注详细介绍与案例于后面章节1.1.0 IGP高级特性之BFD 中继续介绍
2.OSPF的智能定时器 加速网络收敛
2.1 RPC
Partial Route Calculation部分路由计算
当网络上“路由”发生变化的时候只对发生变化的路由进行重新计算RPC不计算节点路径而是根据SPF算法算出来的最短路径树来更新路由。
因为只有“路由”变动即拓扑本身没有变变的只是最外边的“树叶”。
如下图不管R5增加了多少个路由只要没有影响原先计算好的“拓扑”结构均可新增入网络中。新增之后R5会向其它节点通告新网络接入。 2.2 I-SPF
Incremental SPF增量最短路径优先算法
当网络拓扑改变的时候只针对受影响的网络节点进行“路由”和“拓扑”计算而不是全网节点重新进行路由计算。
如下图当R5节点下接入新节点R6那么R5将会把R6新接入的信息通告给其它节点而其它节点只需要把R6节点在原先计算好的拓扑上增加即可。 2.3 智能定时器
在进行SPF计算和产生LSA的时候会使用到的特殊定时器他控制着SPF的计算LSA的更新速度和接收速度从而加快和减缓网络受影响的时间。
如下图智能定时器的作用 2.4 智能定时器的介绍与设置
1设置LSA接收的间隔间隔内不接收LSA间隔后再接收
默认接收LSA的最长间隔时间为1000毫秒、初始间隔时间为500毫秒、基数间隔时间为500毫秒
lsa-arrival-interval intelligent-timer 最长间隔 初始间隔 基数间隔2设置LSA更新的间隔间隔内不更新LSA间隔后再更新
默认更新LSA的最长间隔时间为5000毫秒、初始间隔时间为500毫秒、基数间隔时间为1000毫秒
lsa-originate-interval intelligent-timer 最长间隔 初始间隔 基数间隔3设置路由计算的间隔间隔内不计算LSA间隔后再计算
默认SPF计算的最长间隔时间为10000毫秒、初始间隔时间为500毫秒、基数间隔时间为1000毫秒
spf-schedule-interval intelligent-timer 最长间隔 初始间隔 基数间隔注解三个间隔的表示的含义
初次更新LSA的间隔时间由初始间隔参数指定。第nn≥2次更新LSA的间隔时间为 基数间隔×2^(n-2)。当 基数间隔×2^(n-2) 达到指定的最长间隔时OSPF连续3次更新LSA的时间间隔都是最长间隔时间之后再次返回按照初始间隔时间更新LSA如此反复。
举例
更新LSA的最长间隔时间为5000毫秒、初始间隔时间为500毫秒、基数间隔时间为1000毫秒。
设备接入OSPF网络建立邻居关系之后因为邻居建立后才交互LSA等信息先等待500ms的初始间隔收集网络中其它节点的LSA信息500ms结束后才能发送自己的LSA信息。
第1次更新LSA间隔初始间隔的500ms
第2次更新LSA间隔1000ms*2^(2-2)1000ms*11000ms后才可更新LSA1000ms内即使有网络变更也不更新。
第3次更新LSA间隔1000ms*2^(3-2)1000ms*12000ms。
第4次更新LSA间隔1000ms*2^(4-2)1000ms*44000ms。
第5,6,7次更新LSA间隔1000ms*2^(5-2)1000ms*8但最长间隔为5000ms故5、6、7次均为5000ms。
第8次更新LSA间隔由于连续3次更新均为最长间隔重置到初始间隔的500ms。 有个很核心的问题这里所说的更新、接收、计算的LSA是什么 指的就是OSPF的那1、2、3、4、5、7类等LSA 3.延迟收敛
OSPF的收敛时间相对较快在不计算LSA同步时间下广播类型接口建立邻居后40秒选举完DR、BDR才会进入邻接关系而如果是点对点类型接口则会更快建立起邻接关系。
默认情况下在不计算路由同步时间下BGP进入Established状态需要32秒。从TCP建立成功后的Active状态到Established这32秒的延迟重传定时器是为了确保网络稳定性避免因快速切换或网络波动而导致的不稳定情况。
故如果在BGP网络中使用的IGP协议为OSPF接口类型为点对点那么就会出现网络故障后又恢复之时由于OSPF网络优先收敛完成而BGP未完成路由同步造成数据包丢失。
3.1 图文解释P1 3.2 图文解释P2 3.3 解决方法
为了防止这种情况出现通过在OSPF上配置命令
1stub-router
启用之后默认将该路由器传递的路由度量值设为最大65535从而控制其它节点路由器避免数据从此路由器转发。
未选择on-startup参数则表示该路由器始终保持为Stub设备即所有来自这个路由器的路由条目Cost值均设为65535。2stub-router on-startup 恢复时间
表示该路由器仅在重启或者主备倒换时保持为Stub设备恢复时间结束之后才会恢复成正常的设备。
只有当到达了时间之后才会将链路切换回来反之继续保持之前的状态。
从而避免出现BGP路由黑洞的情况。3ISIS中实现相同效果则是用它独有的超载特性然后加上on-startup命令选项控制设备恢复时间。
set-overload on-startup 恢复时间4.GR平滑重启
路由设备采用了控制和转发分离的技术之后转控分离在网络拓扑保持稳定的情况下控制层面的重启并不会影响转发层面转发层面仍然可以很好地完成数据转发任务从而保证业务不受影响。
控制层面接收处理协议信息如路由表。
转发层面负责数据报文转发如转发表。 GRGraceful Restart 平滑重启技术属于RFC 3623该技术保证设备在重启过程中转发层面能够继续指导数据的转发同时控制层面邻居关系以及路由计算等动作不会影响转发层面的功能重启过程中其它邻居感知不到该设备正在重启从而避免了路由振荡引发的业务中断提高了整网的可靠性。
4.1 GR的工作原理
GR实现
1、与重启设备建立OSPF邻居的设备均需要具备GR功能否则在设备重启之后会与该邻居断开关系造成网络震荡。
2、在GR中重启设备称为GR Restarter、其邻居叫作GR Helper。
3、GR报文即Grace-LSA属于9类LSA只能在接口网段中泛洪因此不会在网络中大量泛洪。
4、GR报文用于在开始GR和退出GR时向邻居通告GR的时间、重启原因以及接口地址等内容。
5、其配置命令只有核心的两条
[OSPF进程中执行]# 使能设备可以生成和处理9类LSA报文
opaque-capability enable# 使能OSPF GR功能
graceful-restart 6、其中关于graceful-restart的默认参数如下
参数参数说明取值period period指定平滑重启的周期。整数形式取值范围是11800单位是秒。缺省值是120秒。planned-only指定路由器仅支持Planned GR。缺省情况下路由器支持Planned GR和Unplanned GR。-partial指定路由器支持Partial GR。缺省情况下路由器支持Totally GR。-
GR“主动倒换”工作的过程
1、GR Restarter设备主动进行倒换倒换前向邻居发送GRGrace-LSA报文通告自己将要重启请不要删除与我之间的邻居关系。 注意倒换前发送GR报文的次数不定依厂商而定华为手册写的是倒换前只发送一个GR报文。 2、邻居GR Helper 收到GR报文之后保证GR Restarter重启中邻居关系依旧保留同时回复LSAck确认收到对方的GR报文。 此时GR Restarter设备是否收到LSAck都无所谓了只要GR Restarter设备发送的GR报文被GR Helper收到即可。 3、当GR Restarter设备恢复正常之后再次发送GR报文通知GR Helper然后开始进行同步LSDB 。 网络类型接口建立邻居时需要经过40秒选举DR/BDR但由于先前已经通过GR报文同步了部分OSPF信息故当GR Restarter设备收到GR Helper的Hello报文之后将马上进入Exstart状态开始同步LSDB。 4、当同步完成之后通过发送Flush Grace-LSA报文Age为3600秒的GR LSAGR Restarter设备可以向GR Helper和其他路由器设备发出一个明确的信号表示自己已经恢复了正常的运行状态。 为啥需要这个FlushGR报文呢有何用意 因为自GR Restarter发送GR报文给GR Helper之后GR Helper们均一直在维持着与GR Restarter的邻居信息即一直处于GR Helper状态下。所以在设备恢复之后为了减少设备负担通过发送Flush GR报文来终止这种关系。 当然也存在一个定时器GR的持续时间最长为1800秒当超过这个时间之后GR的这种关系也会自动断开之所以为1800是为了避免重新启动路由器的LSA老化LSA老化时间。 下图举例与其中某一台OSPF邻居交互GR报文过程 GR“被动倒换”工作的过程
1、设备因突发故障导致设备需要断电重启。
2、Restarter设备重新启动之后需要先向所有接口发送多次GR报文目的224.0.0.5 华为中重新启动后会连续发送5次GR报文。 在广播网络上由于重新启动的路由器不知道其先前的DR状态因此必须将此GR LSA泛洪到所有路由器。 3、至此手册与RFC就没有下文了。至于是重新建立OSPF邻居还是怎样不知道咯。 因为在没有发送GR报文给Helper的情况下突然重启设备那么邻居状态固然会断开。 重启完成之后再发送GR报文的意义是什么呢 关于GR技术的疑惑点
1、GR设备配置完成之后如何实现所谓的计划重启 reboot还是其它专用重启命令均没有在手册与RFC中出现。 2、GR突发故障后设备重启如何恢复的过程没有明确讲到。
5.NSF/NSR不间断转发/不间断路由
NSF与NSR的区别
NSFNon-Stopping Forwarding不间断转发
NSRNon-Stopping Routing不间断路由
两者的应用场景
当网络对丢包的要求、对路由收敛的速度的要求都比较低时可以使用NSF功能。
当网络对丢包的要求、对路由收敛的速度的要求都比较高时可以使用NSR功能。
两者的优缺点
类型NSRNSF硬件NSR需要配置两块主控板。一块做主用主控板处于工作状态一块做备用主控板处于备份状态。当主用主控板重启时备用主控板成为新的主用主控板。NSR需要数据转发和控制分离除主控板之外有专门的接口板用于数据转发。主控板主要运行控制层的软件比如动态路由协议主控板用于学习和维护路由表并计算出路由转发表FIBForwarding Information Base使用接口板进行数据转发。接口板负责根据主控板计算出的转发表进行数据的转发。跟NSR的要求相同。软件主用主控板正常运行的过程中会把配置信息、接口状态信息、协议状态信息备份到备用主控板。当主用主控板因为硬件或者软件失效出现故障时备用主控板接管失效的主用主控板的工作重新启动控制层和转发层。跟NSR的要求相同。协议无特殊要求。各相关网络协议路由协议如OSPF、IS-IS、BGP等其他协议如LDP、RSVP等做扩展需要具备GR技术的能力。优点NSR无需通知邻居节点路由信息变化同时也无需邻居节点的协助。当多个节点的控制层同时故障时系统运行情况仍在在可控范围内。当故障恢复时短时间内即可恢复数据且在主备切换中网络拓扑也能够恢复。当系统正常运行时NSF对系统的负荷较小系统性能较高。缺点当系统正常运行时NSR对系统的负荷较大系统性能相对较低。系统软件异常时NSR将失效。需要邻居节点同样具备NSF能力且需要部署在整网中。当多节点的控制层均故障时NSF将失效。当故障恢复时需要花费较长时间恢复数据且网络拓扑的恢复也相对缓慢。网络拓扑的变化或者接口状态的变化可能导致NSF失效。
NSR的工作原理
NSF的实现过程其实就是通过GR功能进行实现。
原理主要包括以下三个过程
批量备份NSR功能使能后备板复位重启过程中主用主控板将路由信息和转发信息批量备份到备用主控板上。批量备份过程一定是在实时备份过程之前进行同时NSR还不具备主备倒换能力。实时备份当批量备份过程结束后系统进入实时备份阶段。任何在控制平面和转发平面的改变都将实时从主用主控板备份到备用主控板上。在该阶段备用主控板能够随时代替主用主控板工作。主备倒换在已经完成备份的NSR系统主用主控板发生故障时备用主控板会通过硬件状态感知到主用主控板故障并成为新的主用主控板。备用主控板成为新主用后会自动切换接口板的报文上送通道到新主控板。由于倒换时间足够短路由协议在主备切换的过程中不会和邻居节点断连。 NSF与NSR的命令实现
# NSR能够实现路由处理及转发业务不中断
switchover mode nonstop-routing# NSF能够大幅减少转发业务中断时间
switchover mode nonstop-forwarding# 查看当前系统HA的工作模式
display switchover mode