CCNP---OSPF
目录
基本概念
OSPF:Open Shortest Path First
开放式的最短路径优先协议,是标准的链路状态( LS )型路由协议—共享拓扑。
基于 IP 封装,协议号为 89。支持手工汇总和认证。
管理距离110,使用COST值作为度量值。
OSPF是一种链路状态型协议,传递的是 LSA(链路状态通告),LSA包含了路由信息和拓扑信息,常见的有 1、2、3、4、5、7 类 LSA 。
更新方式:触发更新以及存在 30min 的周期链路更新
更新为组播更新,地址为:224.0.0.5 和 224.0.0.6
OSPF网络需要结构化部署:
1、区域划分:基于接口划分
优势:减少 LSA 的传递距离和范围,减少 LSA 的数量。
区域:分为 0(骨干)区域和非 0(骨干)区域。
区域划分规则:
(1)必须拥有区域 0(骨干区域),所有非骨干的区域必须直连骨干区域
(2)必须拥有 ABR —区域边界路由器
2、IP地址规划
链路状态型路由协议的距离矢量特征:区域之内传递拓扑,区域之间传递路由
OSPF 数据包
hello包:用于发现、建立并保活(10s)邻居关系。存在全网唯一的 Router-ID ,用于路由器的身份标识,使用的 IP 地址的方式表示。
DD包:Database Description,数据库描述包。
LSR:链路状态请求。
LSU:链路状态更新(携带了 LSA )。
LSAck:链路状态确认。
LSA:链路状态通告,就是OSPF中不同的拓扑或者路由信息。
LSDB:链路状态数据库,所有的 LSA 的集合
OSPF 状态机
down:未启动协议。一旦启动协议并发出hello包之后,立即进入下一状态。
init:等待邻居回复的状态。若收到的hello包中携带了自己的RID,则和对方一起进入下一状态。
2-way:表示邻居关系建立。条件匹配:若成功,则进入下一状态;若失败,仅hello包保活。
Exstart:预启动,使用假的DD报文比较RID,大者优先进入下一状态。
Exchange:双方交换DD报文。
Loading:使用LSR/LSU/LSAck获取未知的路径拓扑或者路由。
Full:邻接关系建立,收敛完成。
OSPF 工作过程
1.启动协议后,设备本地基于 224.0.0.5 组播发出 hello 包,发现并建立邻居关系,生成邻居表,之后进行条件匹配,若成功,则进入下一状态;若失败,则仅 hello 包 10s 进行邻居关系保活。
2.RID 大者优先进入下一状态,先交换 DD ,然后再使用 LSR/LSU/LSACK 收集未知的 LSA ,生成 LSDB —数据库表。
3.设备基于此 LSDB ,使用 SPF 算法计算出去往目标的最佳路径,生成路由表,完成收敛。
4.之后 10s 周期保活,30min 周期性比对 DD ,若不一致将使用 LSR/LSU/LSack 重新获取。
当网络结构发生变化
1.新增&断开:直连发生变化的设备通过 DBD/LSR/LSU/LSACK 完善即可。
2.设备无法通信:hello 包 10s 保活 dead time 40s–计时结束后,删除邻居关系以及从邻居处学习到的所有 LSA 信息。
OSPF 选路规则
路由表中,所有 OSPF 计算所得的路径使用 OSPF 表示,OSPF 优先级为 10 。
Cost 值=参考带宽÷入接口带宽(默认参考带宽为100Mbits/s)
当接口带宽大于参考带宽时,COST取1,会导致选路不佳,可以通过修改参考带宽来解决:
r1(config)#ospf 1
r1(config-ospf-1)#bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
r1(config-ospf-1)#bandwidth-reference 10000 //修改参考带宽
PS:参考带宽的修改需要全网一致
若去往某一个目标拥有多条路径时,优先选择整条路经控制层面入接口Cost之和最小的
控制层面:路由来的方向
数据层面:数据去的方向