开放式最短优先OSPF(Open Shortest Path First)协议是IETF定义的一种基于链路状态的内部网关路由协议。
特点:
天生无环协议(loop free)
OSPF划分区域(层次化)
收敛快(网络发生变化时,网络中的设备反应作出动作的速度)
支持认证(支持不认证、明文认证、MD5认证)
优先级10
OSPF三张表:
- 邻接表
- 数据库表
- OSPF的路由表
OSPF原理
默认状态:默认采用组播形式来发现和建立邻居关系的。
224.0.0.5:allspf route
224.0.0.6:alldr route
第一步:构建邻接关系
第二步:LSA形成LSDB链路状态数据库
第三步:SPF算法计算出路由表(最短路径优先算法)
OSPF报文头部,OSPF报文封装在IP报文中,协议号为89.
Hello报文:发现、建立和维护邻居关系的报文
DBD:数据库描述报文
LSRequest:链路状态请求报文
LSUpdate:链路更新报文
LSAck:链路确认报文
OSPF的邻居机状态
Down状态->Attempt(可能出现在NBMA网络中的状态)->Init(初始化状态)->2Way状态(OSPF完成邻居的状态)|(发送的Hello报文)
->Exstart(交互状态)->Exchange(真正交互状态) |(发送DBD报文)
->Loading->Full(发送的是LSRequest\LSUpdate\LSAck报文)
Route ID
采用ipv4的格式来标记路由器身份。
1.邻居发现
Hello报文用来发现和维持OSPF邻居关系。
邻居关系存在于完成2Way状态时。
2.数据库同步
路由器使用DBD报文来进行主从路由的选举和数据库摘要信息的交互。
DD报文包含LSA的头部信息,用来描述LSDB的摘要信息。
3.建立完全邻接关系
LSRequest用于向对方请求所需的LSA。
LSUpdate用于向对方发送其所需要的LSA。
LSACK用于向对方发送收到LSA的确认。
DR&BDR
DR可以减少广博型网络中的邻接关系的数量。通过某种选举之后,所有设备都和DR、BDR构建邻接关系,只和DR、BDR交互LSDB。
DR和BDR是基于链路,不是基于设备。
- DR选举:
1.基于时间,在选举期内OSPF的DR和BDR不具备抢占性。
2.基于Hello报文中的DR优先级,越大越优先。
3.如果优先级相同,将比较RID较大。
非DR设备之间会构建正常的2Way关系
进入接口配置:若修改为0则该路由无法选择为DR或BDR
[R1-GigabitEthernet0/0/0]ospf dr-priority 1
OSPF开销
- OSPF开销计算公式为:带宽参考值/带宽
- 可以通过bandwidth-reference命令来设置带宽参考值。
常见词汇含义:
- LAS:链路状态通告
- SPF算法:最短路径优先算法
- LSA泛洪:A路由器更新了规则,发送给B和C,B和C也会做同样的操作,会导致没有意义的数据报文在链路中传输。