PRC
Partial Route Calculation
部分路由计算:当网络中路由发生变换,只对变化部分进行重新计算
情景:当我在设备上引入新的路由,无需重新计算,只需在设备上新增叶子,不影响节点

华为此功能默认开启
智能定时器
为控制LAS的更新与接收,同时控制路由的计算
网络不断的扩大和发展,其路由信息可能出现频繁更新,对设备和网络质量来说并不是一件好事,因此需要相关定时器干预,其机制如下
- 初始以start time的间隔 更新/接收/计算(缺省0.5s)
- 接着按照hold time * 2^(n-2)时间进行 更新/接收/计算(缺省1s)
- 当时间大于或等于max time,将连续3次以max time进行 更新/接收/计算(缺省5s)
如果你觉得你的网络相当稳定且对路由收敛要求高,那么你可以直接把更新的时间改成0
[Huawei-ospf-1] lsa-originate-interval { 0 | { intelligent-timer max-interval start-interval hold-interval | other-type interval } }
可设置0也可采用智能定时器,甚至能够要求1,2类以外的LSA定时更新
[Huawei-ospf-1] lsa-arrival-interval { interval | intelligent-timer max-interval start-interval hold-interval }
可设置定时也可采用智能定时器
[Huawei-ospf-1] spf-schedule-interval { interval1 | intelligent-timer max-interval start-interval hold-interval | millisecond interval2 }
可设置定时也可采用智能定时器
FRR
快速重路由基于Loop-Free-Alternates无环替代算法预先产生备份链路并保存于转发表中,当发生故障时,能够立刻切换路径,省去重新计算的时间,可将故障恢复时间降低至50ms以内
链路保护

当满足S(N,D)< S(N,S)+S(S,D)时可将N加入备份
举例
可以看到此时S(N,D)> S(N,S)+S(S,D)

在N的视角下,要去D应该会优选S,但是此时N是不能立刻感知到链路故障的,于是就可能出现流量丢失
节点保护

当满足S(N,D)< S(N,E)+S(E,D)时可将N加入备份
举例
此时S(N,D)> S(N,E)+S(E,D),一样的道理。此时N会认为S是最佳路径,当设备坏死,其依旧无法立刻感知

上述两者分开判断可满足链路节点双保护
[Huawei-ospf-1] frr
Huawei-ospf-1-frr] loop-free-alternate
[Huawei-GigabitEthernet0/0/1] ospf frr block
BFD联动
加快网络收敛和故障感知速度
[Huawei-ospf-1] bfd all-interfaces { min-rx-interval receive-interval | min-tx-interval transmit-interval | detect-multiplier multiplier-value | frr-binding }
[Huawei-GigabitEthernet0/0/1] ospf bfd { min-rx-interval receive-interval | min-tx-interval transmit-interval | detect-multiplier multiplier-value | frr-binding }
单接口配置优于全接口配置
等价路由
即负载分担,同BGP在进程设置允许最大条数
[Huawei-ospf-1] maximum load-balancing number
LSA过滤
全部LSA过滤

用于多链路邻居,避免通告重复的LSA占用大量带宽
[Huawei-GigabitEthernet0/0/1] ospf filter-lsa-out { all | { summary [ acl { acl-number | acl-name } ] | ase [ acl { acl-number | acl-name } ] | nssa [ acl { acl-number | acl-name } ] } }
ABR三类过滤
分为出方向和入方向,为优化网络减少LSA条目,如果想针对个别区域可以采用入方向,如果想要全部区域可以采用出方向
缺省路由的宣告
普通区域
[Huawei-ospf-1] default-route-advertise [ [ always | permit-calculate-other ] | cost cost | type type | route-policy route-policy-name [ match-any ] ]
普通区域配置
无[]内容,宣告本机有的缺省路由
always总是,不管本机有没有,都生成
permit-calculate-other,允许计算从其他设备发来的默认路由
cost type,开销以及开销类型
route-policy,通过路由策略修改流量开销等属性或者匹配流量配合match-any断定路由是否有效
match-any,缺省是否有效取决于在路由策略里的if-match是否存在
通告是5类的缺省
[Huawei-ospf-1] default-route-advertise summary cost cost
可通告3类的缺省并修改开销
特殊区域
stub与totally stub
由ABR自动产生属于三类在本区域内泛洪
Nssa
通过nssa [default-route-advertise]由ASBR生成7类
totally nssa
自动由ABR生成3类
Database Overflow概述
网络大到设备快爆炸,设备无法接受,请求罢工,进入Overflow状态并开启定时器(5s),删除自己所有的非缺省的路由信息并不在生成非缺省的外部路由丢弃新收到的路由直到不再超限,否则一直重复

[Huawei-ospf-1] lsdb-overflow-limit number
BGP联动

上图采用OSPF+BGP全互联,此时当R2故障恢复后,由于本来的设定是去往10.1.5.5走R2更优先,但是因为BGP和OSPF的路由收敛存在时间性的差异,这个时候OSPF会先收敛完成,而这个时候BGP可能还未收敛完成或者没有相关路由,这时我R1想去往10.1.5.5这个网段OSPF就会觉得要走R2,但实际上R2此时还没有这条路由,把流量发个R2就可能导致流量丢失(暂时性路由黑洞)
解决方案:在可能故障的设备设置stub路由器,该情况下会将自己发布的所有LSA开销改为最大值65535,从而实现在本设备为完全收敛的情况下其他路由器不会将流量转发过来
[Huawei-ospf-1] stub-router [ on-startup [ interval ] ]
on-startup:配置后仅在故障或设备重启时生效,缺省500s,可取5——65535
倘若不配置则视为一直生效
FA
转发地址,即指定OSPF的下一跳,如果转发地址为0.0.0.0,那么数据包将被转发到始发ASBR上。可以用于解决次优路径与防环
如果满足以下情况,FA不为0
- 网络出接口被宣告到OSPF中
- 网络出接口没有被silent
- 网络类型为广播Broadcast或者非广播多路访问NBMA
- 转发地址必须是OSPF的区域内路由或者区域间路由
- 选择最后一个环回口地址
- 选择最后一个物理接口地址

开销计算
FA为0.0.0.0的时候由于默认引入路由为type-2,则这里的开销在路由中会显示为引入时的开销,这就可能导致次优路径
如下图,能满足上述规则,可生成FA地址,假设此时不带FA,R1访问10.1.5.0走R3走R2将负载分担,而此时带了FA地址根据计算走R2更优先

GR平滑重启
通过9类LSA可实现设备重启而不影响业务转发,分为helper和restarter两种角色,双方先通过协商后确定角色,然后由helper辅助restarter完成设备重启

[Huawei-ospf-1] opaque-capability enable
[Huawei-ospf-1] graceful-restart [ period period | planned-only | partial ]
period period:指定平滑重启的周期,整数形式,取值范围是1~1800,单位是秒,缺省值是120秒
planned-only:指定路由器仅支持Planned GR,缺省情况下,路由器支持Planned GR和Unplanned GR
partial:指定路由器支持Partial GR,(仅同步活跃路由,效率高)缺省情况下,路由器支持Totally GR。
[Huawei-ospf-1] graceful-restart [ period period | partial | planned-only ] * helper-role { { [ ip-prefix ip-prefix-name | acl-number acl-number | acl-name acl-name ] | ignore-external-lsa | planned-only } * | never }
ip-prefix ip-prefix-name:只有通过过滤器策略后才能进入Helper模式
acl-number acl-number:ACL参数用来配置过滤策略,只有通过过滤器策略后才能进入Helper模式
acl-name acl-name:指定访问控制列表名称
ignore-external-lsa:用来配置Helper不对Type5 LSA和Type7 LSA进行检查,缺省情况下,执行外部LSA检查
never:指定设备不支持Helper模式
[Huawei] display ospf [ process-id ] graceful-restart [ verbose ]
NSR与NSF
NSR不间断路由与NSF不间断转发(可通过GR实现)这里的备份通道通过HA技术实现

批量备份:初次上线将路由信息与转发信息发送给备份设备
实时备份:进行批量备份之后的信息备份
主备倒换:正常设备顶替故障设备,备升主
[Huawei] switchover mode { nonstop-routing | nonstop-forwarding }
[Huawei] display switchover mode
总结
为节省不必要的计算,在路由信息发生变化时,仅仅对变化部分进行计算,这是PRC
为防止更新频繁出现网络波动,设计限制条件和机制,这是智能定时器
为加快故障恢复,实现免环免重新计算,这是FRR
为加快网络收敛以及故障感知能力,采用BFD联动
两条或多条路由目的地址一样开销一样且设备支持,这是等价路由
为优化网络减少LSA数量与控制路由这是LSA过滤
为实现网络与外部可通或引导流量,采用缺省路由宣告
由于OSPF的缺点而导致设备资源紧张,为缓解设备资源不足,采用超限位的设置
由于IGP与BGP收敛时间不一致导致的路由黑洞问题可使用BGP联动将路由器化为stub路由器
为保障故障时尽可能不影响路由与转发,采用GR,NSF和NSR


被折叠的 条评论
为什么被折叠?



