目录
OSPF快速收敛基本概念
OSPF快速收敛实现方法
更改Hello报文的发送间隔
更改网络类型为P2P
调整路由收敛的优先级
Smart-discover(智能发现)
调整更新、接受LSA的时间间隔
LSA智能定时器
PRC 部分路由算法
IP FRR(Fast reroute)——动态IP FRR
OSPF与BFD联动
OSPF网络稳定性
配置Stub路由器
配置静默接口
OSPF的快速收敛主要有两个作用
Hello报文用于建立和维护邻接关系,周期性发送
缺省情况
Interval 默认10s,Dead默认40s(Dead为Interval时间的4倍)
Dead时间 一定要大于 Interval时间
配置命令(接口下配置)
Ospf timer hello [interval] 配置Hello间隔时间
由于广播类型网络需要选举DR(选举时间为4倍的Interval时间,默认40s)
将网络类型配置为P2P,不用选举DR,加快收敛
配置命令(接口下配置)
Ospf network-type [p2p] 配置接口的网络类型为p2p
OSPF的路由可以按照路由收敛的优先级来计算和泛洪LSA、同步LSDB,从而提高路由收敛速度
优先级顺序
critical关键 > high高 > medium中等 >low低级
缺省情况
LSA都存放在Low队列中,OSPF按照区域内路由、区域间路由、自治系统外部路由顺序依次进行LSA计算
具体做法
当配置了优先级过后,LSA在泛洪过程中会将相应的LSA分别存放在对应的Critical、High、Medium、Low的队列中
配置命令
通过前缀列表来选择需要加速收敛的路由,优先计算和泛洪其LSA
Ospf [1]
Prefix-priority [critical] ip-prefix [name] 配置Ospf路由收敛的优先级
缺省情况
缺省情况下,OSPF的邻居状态或MA网络中的DR、BDR发生变化时,需要等到Hello定时器超时才会向邻居发送Hello报文,影响了设备间建立邻居的速度
配置了Smart-discover后,当网络中的邻居状态或者DR、BDR发送变化时,可以立刻主动的向邻居发送Hello报文,提高建立邻居的速度,达到网络快速收敛
配置命令(接口视图)
Ospf smart-discover 配置接口的智能发现功能
LSA相关间隔
当路由发生改变要发送LSA时,需要等待更新LSA间隔过后再发送LSA
当对端收到LSA后,需要等待接收LSA间隔过后再将LSA放入LSDB中
当将LSA放入LSDB中时,还需要等待计算LSA间隔过后,再计算LSA
缺省间隔
更新LSA间隔5s,接收LSA间隔1s
为了防止网络连接或者路由频繁动荡引起的过多的占用网络带宽和设备资源
另外LSA周期30min泛洪,LSA重传间隔为5s
配置命令
Ospf [1]
Lsa-originate-interval [0] 配置更新间隔为0s
Lsa-arrival-interval [0] 配置接收间隔为0s
注意
一般在网络稳定的情况下才将更新、接收LSA调整为0,加快网络路由收敛速度
智能控制LSA的更新、接收、计算间隔(上述是手工指定LSA的更新、接收间隔)
LSA更新间隔配置
Ospf视图:lsa-originate-interval intelligent-time [max start hold]/[other-type]
Inteligent-time 表示通过智能定时器设置LSA间隔
Max-interval 更新ospf lsa的最长间隔(缺省5000ms)
Start-interval 更新ospf lsa的初始间隔(缺省500ms)
Hold-interval 更新ospf lsa的基数间隔(缺省1000ms)
Other-type interval 表示设置除OSPF Router LSA和Network LSA外LSA的更新间隔时间
(缺省5s—手动设置,一直为5s)
LSA接收间隔配置
Ospf视图:lsa-arrival-interval intelligent-time [max start hold]
Max-interval 更新ospf lsa的最长间隔(缺省1000ms)
Start-interval 更新ospf lsa的初始间隔(缺省500ms)
Hold-interval 更新ospf lsa的基数间隔(缺省500ms)
LSA计算间隔配置
Ospf视图:spf-schedule-interval intelligent-time [max start hold]/[millisecond 2]
Max-interval 更新ospf lsa的最长间隔(缺省1000ms)
Start-interval 更新ospf lsa的初始间隔(缺省500ms)
Hold-interval 更新ospf lsa的基数间隔(缺省500ms)
Millisecond 2 表示OSPF的SPF计算间隔为2ms
LSA更新、接收、计算间隔的怎样计算出来的
当网络上路由发生变化时,只对发生变化的路由进行重新计算
只关注发生变化的路由,加快了路由计算(缺省是开启的)
Ospf路由计算类型
- full-Spf 完整算法(从OSPF运行开始就开始计算,时间最长)
- increment-Spf 增量型算法(当拓扑改变后进行计算,时间居中)
- PRC 部分路由算法(当拓扑不变,路由发生变化后进行计算,时间最短)
注意
PRC只能在区域外生效
因为区域内路由变化时,传输的1类LSA不仅携带路由信息,还携带拓扑信息,PRC无法针对区域内的路由变化做PRC算法,在区域内无效
而当区域内路由变化时,向区域外传输的3类LSA只携带路由信息,PRC可针对变化的路由计算
具体作用
当使能FRR功能后,会以备份节点为根再建立最短路径树
由OSPF利用全网链路状态数据库,预先计算出备份路径,保存在转发表中,以备在故障时提供流量保护,可将故障恢复时间降低到50ms以内
组网应用
IP FRR可以实现链路保护和节点链路双保护
链路保护---需要满足链路保护公式
只有当满足Cost(N,D) < Cost(N,S)+Cost(S,D)时,才可以保证当主链路Down了之后可以切换到备用链路转发(Cost为最短路径开销)
满足公式保证了从节点N到D的流量不会再经过节点S,保证没有环路
节点链路保护—需要同时满足链路保护公式以及节点保护公式
只有当满足链路保护公式Cost(N,D) < Cost(N,S)+Cost(S,D)以及节点保护公式Cost(N,D) < Cost(N,E)+Cost(E,D)时,才可以保证当主节点发生故障时,通过备用节点转发(Cost为最短路径开销)
满足公式保证了从节点N到D的流量不会再经过节点S和E,保证没有环路
配置命令(IP FRR也可以和BFD绑定)
Ospf
Frr 进入Frr视图
Loop-free-alternate 使能OSPF IP FRR特性,生成无环的备份链路
需满足流量保护公式,才可以计算出备份下一跳和出接口
接口视图:ospf frr block 阻止指定OSPF接口的FRR能力
对于承载重要业务的节点设备,禁止IP FRR功能,使得此接口相连的对端设备不会成为备份链路上的节点设备,避免使能FRR后对节点设备上运行的重要业务产生影响
静态IP FRR配置——需要在路由策略中手动指定下一跳和出接口
系统视图下
Ip frr route-policy [name]
Route-policy [name] 使能指定路由策略的公网路由的IP FRR功能
将OSPF与BFD关联起来,一旦与邻居之间的链路发生故障,BFD对链路故障的快速感应能够加快OSPF对于网络拓扑变化的响应(达到毫秒级)
配置命令
Ospf视图:
Bfd all-instances enable 配置OSPF的BFD特性
Bfd all-instances {相关参数} 配置BFD会话的参数值
接口视图:
Bfd bfd enable
Bfd all-instances {相关参数}
提高网络的稳定性,路由震荡减少,设备性能正常
配置Stub路由器是一种特殊的路由选路,配置了Stub Router的路径不会被优选
通过将路径的度量值设为最大(65535),尽量避免数据从此路由器转发
保护此路由器链路,通常用在升级、割接等维护操作的场景
配置命令
Ospf视图
Stub-route [cr]/[on-startup interval ] 配置Stub路由器
配置了on-start参数,表示该设备在重启或者故障时保持为Stub路由器,保持时间由[interval决定]
没有配置on-start参数,表示给设备始终未Stub路由器
OSPF接口配置为静默接口后,此接口会禁止发送和接收协议报文
当用户希望本地OSPF路由信息不被其他网络中的设备获得,并且本地设备不接受其他设备发布的路由信息时,可以禁止OSPF接口发送与接收协议报文
注意事项
接口静默之后,接口的直连路由可以发布出去
但是Hello报文被阻塞,无法建立邻居关系
配置命令
Ospf视图
Silent-insterface [all/指定接口] 禁止OSPF接口接收和发送OSPF协议(缺省允许)