一、OSPF路由协议概述
开放式最短路径优先(Open Shortest Path First,OSPF)路由协议是一种基于开放式标准的链路状态路由协议。它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。
二、OSPF协议工作原理
OSPF协议的工作原理是每个路由器负责发现自己的邻居,发送Hello报文,建立邻接关系,形成邻居表,就可以交换各自的链路状态信息。接着路由器之间相互发送链路状态通告告知邻居自己的链路连接状态,形成LSDB拓扑表,再通过Dijkstra算法计算出通往目的设备的最优路径,存放在路由表中。
三、OSPF三种表
1、邻居表
和ospf区域内的设备,建立邻居关系,负责存放链路信息,显示了ospf路由器之间的邻居基本状态,可以查看设备的Router ID、接口地址、DR、BDR等信息。
2、LSDB拓扑表
负责存储接收到的路由器之间的链路状态信息(LSA),是每个OSPF路由器内部维护的数据库。
3、OSPF路由表
ospf路由表中存放着通往各个设备的路径,可以通过最短路径算法计算出最优的路径放在路由器路由表中。
四、路由器种类
DR:OSPF内选举的指定路由器,负责更新其他所有OSPF路由器
BDR:备用指定路由器,BDR会监控DR 的状态,在当前DR发生故障时接替其角色
IR:区域内路由器
ABR:区域间路由器(ospf区域)
ASBR:自治系统边界路由器(OSPF和其它区域)
五、OSPF五种报文
OSPF协议内有五种不同的报文类型,在交互过程中分别起着不同的作用
1.发现彼此(邻居建立过程)
Hello报文:周期性发送,用来发现和维护OSPF邻居关系。
状态down:还没有启动的时候。
init:有了邻居,但还没有完全同步;
2-way:知道了彼此,并且知道了对方【知道自己】。
2.了解彼此的缺陷
DD报文(Database Description)描述本地LSDB的摘要信息,用于两台设备进行数据库同步。
3.修补彼此的缺陷
LSR:用于向对方请求所需要的LSA。(设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文)
LSU:用于向对方发送其所需要的LSA。
LSack:用来对收到的LSA进行确认。
六、OSPF常见的五种Type
1、Router ( Type 1)
描述了该区域内自己和相邻设备的链路状态和router id
2、Network (Type 2)
描述了同一所属区域内的拓扑信息
3、Sum-Net (Type 3)
用于在不同的OSPF区域中传播链路状态信息,汇总了一个区域内的子网到另一个区域的信息
4、Sum-Asbr (Type 4)
描述了ASBR的ID信息和到达此位置的路由ID信息
5、External ( Type 5)
描述了不属于OSPF区域的链路信息和ASBR的路由信息
七、OSPF区域类型
OSPF为什么要划分区域?
因为通过划分区域可以减少局域网内的链路信息数量(LSA),减少路由表规模,提高路由器间的信息传输性能。
1、标准区域
标准区域type类型共有:1,2,3,4,5
2、STUB区域
把区域22变成stub区域后,lsdb表的type 5会变成一条默认路由0.0.0.0的type 3
3、完全STUB区域
把区域22变成完全stub区域后,lsdb表的type 3 会合并成一条,默认路由为0.0.0.0
4、NSSA区域
把区域44设置成NSSA后的lsdb表,type 5会变成一条默认路由0.0.0.0的type 7,和一条相邻的链路信息
5、完全NSSA区域
把区域44设置成完全NSSA后的lsdb表,type 3 会合并成一条,默认路由为0.0.0.0