## OSPF
### OSPF快速收敛
**PRC(Partial Route Calculation,部分路由计算)**
在华为设备上,OSPF的PRC功能默认开启
当网络拓扑中有一个节点发生变化时,Dijkstra算法需要重新计算网络中的所有节点,计算时间长,占用过多的CPU资源,影响整个网络的收敛速度,而PRC只对发生变化的路由进行重新计算,从而节省CPU占用率。
在路由计算中,**叶子代表路由,节点则代表设备**。SPT变化和叶子变化都会引起路由信息的变化,但两者不存在依赖关系,PRC根据SPT或叶子的不同情况进行相应的处理:
- SPT变化,则PRC只处理变化的节点上的所有叶子的路由信息。
- SPT没有变化,则PRC只处理变化的叶子的路由信息。
[[7253ee10d6e09e4cfbd394361e8d488a_MD5.png|Open: Pasted image 20240306103838.png]]
![[7253ee10d6e09e4cfbd394361e8d488a_MD5.png]]
比如引入新的路由,则整个网络拓扑的SPT是不变的,这时PRC只更新这个节点的接口路由,从而节省CPU占用率。
---
**智能定时器**
- 控制LSA的生成与接收
默认情况下,OSPF通过定时器来避免网络连接或者路由频繁动荡引起的过多占用设备资源。
要提升收敛速度,需要改变默认行为
- 控制路由计算
```
spf-schedule-interval intelligent-timer 200 50 50
//使能智能定时器设置OSPF SPF计算的间隔时间,SPF计算的最长间隔时间为200毫秒,初始间隔时间为50毫秒,基数间隔时间为50毫秒
lsa-originate-interval intelligent-timer 500 50 100
//使能智能定时器intelligent-timer,更新LSA的最长间隔时间为500毫秒,初始间隔时间为50毫秒,基数间隔时间为100毫秒
lsa-arrival-interval intelligent-timer 100 50 50
//使能智能定时器intelligent-timer,接收LSA的最长间隔时间为100毫秒,初始间隔时间为50毫秒,基数间隔时间为50毫秒
```
- OSPF IP FRR
- LFA(Loop-Free Alternates)
- 分为链路保护和节点链路双保护
- 节点保护优先级高于链路保护
```
ospf x
frr
loop-free-alternate
```
- BFD联动
```
ospf 1 router-id 1.1.1.1
bfd all-interfaces enable //使能BFD for OSPF检测。
bfd all-interfaces frr-binding
bfd all-interfaces min-tx-interval 30 min-rx-interval 30
//检测周期使用30ms,将BFD会话状态与接口的链路状态进行绑定
```
### OSPF路由控制
- 等价路由
- `[Huawei-ospf-1] maximum load-balancing number`
- 缺省路由
| 区域类型 | 产生条件 | 发布方式 | 产生LSA类型 | 泛洪范围 |
| --------------------- | -------------------------------------- | ------ | --------- | ------ |
| 普通区域 | 通过`default-route-advertise`命令配置 | ASBR发布 | Type5 LSA | 普通区域 |
| Stub区域和Totally Stub区域 | 自动产生 | ABR发布 | Type3 LSA | Stub区域 |
| NSSA区域 | 通过`nssa [default-route-advertise]`命令配置 | ASBR发布 | Type7 LSA | NSSA区域 |
| Totally NSSA区域 | 自动产生 | ABR发布 | Type3 LSA | NSSA区域 |
- 对发送的LSA进行过滤
- 对ABR Type3 LSA进行过滤
--> [[02 OSPF路由及LSA过滤]]
- OSPF Database Overflow
-