OSPF快速收敛
当网络发生变化,或拓扑发生变化,重新进行路由计算的过程叫做收敛。
PRC
PRC是OSPF默认就有的,不需要配置。
当网络上路由发生变化的时候,只对发生变化的路由进行重新计算。这个路由就叫做叶子。
比如一台设备新增了Loopback0接口,并配置了IP,只对该路由所在路径进行计算,不对全网进行重新计算了。
I-SPF
I-SPF是OSPF默认就有的,不需要配置。
当网络拓扑改变时,只对受影响的节点的进行路由计算,不对全部节点进行计算。
比如新增了一台设备,只对这台设备所在路径进行计算,其他节点不计算。
在路由计算中,节点代表路由器,叶子代表路由。
PRC只处理叶子变化的信息,针对叶子节点;3,5,7类LSA
I-SPF只处理变化的节点信息,针对实节点。1,2类LSA
叶子节点挂在ABR上
例如这张图:
PRC:在区域0中,叶子挂在R2上,如果R2上新增了路由,或者删除了路由,只对R2上的叶子进行处理计算。
I-SPF:在区域0中,R3如果新增一台设备R6,那么只对R3和R6这条路径进行处理计算,不对整个区域0进行计算。
在传统中,只要新增叶子,或设备,都会进行全网重新计算,有了这两种机制后,便大大提高了收敛。
智能定时器
基本不配,默认
智能定时器是在进行SPF计算和产生LSA的时候用到的一种定时器。
当OSPF网络中,有一个网段消失了或者产生了,那么它们会进行会多步骤,收集LSA,进行SPF计算,放入RIB表,加载FIB表。那么如果出现情况,当网线出现虚接,来回插拔,那么就要一直重复这些步骤,消耗设备资源,那么就出现了智能定时器。
基础配置
1、OSPF LSA更新的间隔时间
最长时间:当连续三次的间隔时间都达到最长时间时间后,重新按照初始时间进行计算。
初始时间:当一次产生和第二次产生的一个时间,需要达到这个时间才会进行第二次LSA更新。
间隔时间:第n(n大于等于2)次更新LSA的间隔时间为间隔时间×2的(n-2)次方。假如间隔时间是500毫秒,那么第2次的间隔时间就是500乘2的(2-2)次方,就是500毫秒,以此类推。
2、OSPF LSA接收的间隔时间
与更新间隔时间一样
3、OSPF路由计算的时间间隔
与上面一样
OSPF IP FRR
动态IP FRR,利用LFA算法预先计算出备份路径,保存在转发表中,从而在主链路故障时达到快速切换到备份路径上,可将恢复时间降低到50ms以内。
FRR保护:
1.链路保护
2.节点链路保护
链路保护:防止在切换到备份路径时,备份设备的流量依然会经过主设备,而造成的环路。
链路保护公式:4-3的cost值必须小于4-1+1-3的cost值。
例如:1-2的路径失效,切换到1-4路径,但是由于cost值的影响,4去往3的下一跳,依然是给1,而1又因为FRR切换到4,造成的临时环路。
节点链路双保护:在链路保护的基础上,去判断备份路径的流量会不会再次经过主链路设备,保证没有环路。
链路保护公式:4-3的cost值必须小于4-1+1-3的cost值;
节点保护公式:4-3的cost值必须小于4-1-2+2-3的cost值
例如:1-2的路径失效,如果要切换到1-4路径上,1会站在4的视角上去进行计算,看4的流量会不会经过自己本身1,如果经过,则不生效;如果不经过,则生效。
OSPF与BFD联动
将BFD与OSPF联动起来,一旦与邻居之间的链路出现故障,BFD对链路故障的快速感应能够加快OSPF对网络拓扑变化的响应。
基本配置:
首先需要在全局下开启BFD
接口配置优于进程配置
1.ospf进程下配置:
bfd all-interface enable
bfd all-interface <会话参数>
2.接口下配置:
ospf bfd enable
ospf bfd <会话参数>
OSPF路由控制
等价路由
LSA的类型+cost值相同,称为等价路由(负载)。
1,2类LSA>3类LSA>5类LSA 5类LSA 1type>type2
缺省路由
区域类型 |
作用 |
是否下发默认路由 |
Stub |
泛洪1类,2类,3类LSA,减少了4类,5类,7类LSA |
下发三类LSA缺省路由 |
Totally Stub |
泛洪1类,2类,3类LSA,减少了4类,5类,7类LSA |
下发三类LSA缺省路由 |
NSSA |
泛洪1类,2类,3类,7类LSA,减少了4类,5类LSA |
下发七类LSA缺省路由 |
Totally NSSA |
泛洪1类,2类,3类缺省LSA,7类LSA,减少了3类明细LSA,4类,5类LSA |
下发三类和七类LSA缺省路由 |
OSPF缺省路由通常在ABR或ASBR上下发。
- ABR发布3类LSA,用于区域之间;
- ASBR发布5类LSA或7类LSA,用于OSPF域内和域外之间。
普通区域下发:通过default-route-advertise always,ASBR下发,以5类LSA产生,泛洪普通区域;
Stub和Totally Stub:自动产生,ABR下发,以3类LSA产生,泛洪在Stub区域;
NSSA区域:通过nssa default-route-advertise,ASBR下发以7类LSA产生,泛洪在NSSA区域;
Totally NSSA:自动产生,ABR下发,以3类LSA产生,泛洪在NSSA区域
LSA的过滤
对出方向进行过滤:接口视图下,ospf filter-lsa-out all...
- all:对所有LSA进行过滤。
- summary:对Network Summary LSA(Type3 LSA)进行过滤。
- ase:对AS External LSA(Type5 LSA)进行过滤。
- nssa:对NSSA LSA(Type7 LSA)进行过滤。
可以结合ACL进行过滤
对ABR 3类LSA进行过滤:
- 区域内:区域视图下,filter <...> export
- 区域内:区域视图下,filter <...> import
可以结合acl,ip前缀,路由策略进行过滤
数据库超限
OSPF Database Overflow
一些设备性能比较低,承载不了很多路由,可以配置超载量,设置OSPF的LSDB中5类LSA(外部路由)的最大条目数。
lsdb-overflow-limit
如果引入了的LSA,超过设置的最大条目数后,设备会删除自己原有的外部路由(不删除缺省的),接收新发来的。
Overflow状态
OSPF其他特性
OSPF与BGP联动
在这张拓扑图中,R1到达R5优选走R2
但是当R2故障后,R1切换路径到R3
R2恢复后,由于IGP收敛速度要比BGP快,那么当R1切换路径到R2时,因为到达R5的BGP路由并没收敛完成,流量依然转发不到R5
那么可以在R2上与BGP联动,可以做到:
当R2恢复故障后,R2会把R1的cost值设置为最大,这样一来,R1不会选择R2路径转发流量,在BGP收敛完成之前,R1还是走R3,BGP收敛完成之后,cost值恢复原来的,R1才会走R2。
配置方法:在联动BGP设备的IGP协议视图下,使用stub-router <on-startup>命令,配置了stub的路由器,缺省时间为500秒,
在这个500秒内,该设备向外发送LSA的cost值为最大值65535,收到该LSA的路由器,不会用这条路径进行选路。等时间过了,就恢复原来的开销。
时间可以通过on-startup修改。
OSPF转发地址
FA转发地址,数据包应该被转发到的地址,用来防止防止次优路径的。转发地址的出现只存在5类LSA或7类LSA中。
FA为0时,数据包会被转发到ASBR上;
FA不为0时,数据包会被转发到FA地址。
产生FA的条件:
接口不能是P2P,P2MP,必须是广播型网络
接口不能是静默接口
ASBR连接外部网络的接口激活了OSPF
到达FA地址的路由必须是区域内或区域间路由(3类LSA),不能是5类LSA学到的
OSPF GR
在设备进行重启时,实现业务不间断。转发层面不丢失数据,但路由还需重新计算。
协议重启的时候,会通知邻居继续保持邻接关系和路由信息,重启之后,直接让邻居恢复之前的LSDB和RIB。确保设备的FIB没有变化,实现业务中断。
ISIS快递收敛
I-SPF、PRC、智能定时器、LSP快速扩散。 与OSPF一样。
LSP快速扩散
正常情况,ISIS路由器收到LSP后,会放入LSDB,然后进行SPF计算,之后再去泛洪。而LSP快速扩散则是收到LSP后,先把一部分直接泛洪出去,然后自己在计算。
flash-flood 配置
等价路由
与OSPF一样,需要cost值+lsa类型,level-1>level-2>level-1(UD置位)
但是比OSPF多了一个下一跳优先级,越小越优。
需要满足这三个才可以形成等价路由。
nexthopip-address weight value
缺省路由
attached-bit advertise { always | never } //强制Level-1-2设备的LSP报文ATT置位规则,强制或从不
attached-bit avoid-learning //设置Level-1设备不因为ATT置位生成缺省路由
LSP分片
LSP默认分片0-255,共256个分片号。
当默认分片号不够用时,可以配置LSP分片扩展,使用虚拟系统ID进行分片。