一、OSPF的五种包
1.hello:发现、建立、周期保活邻居、邻接关系
2.DBD:检查路由器的数据库之间是否同步
3.LSR:向另外一台设备请求特定的链路状态
4.LSU:发送详细的链路状态信息,回应LSR的请求
5.LSACK:确认多段的发送信息
二、OSPF的七种状态机
Down:该状态还没有进行hello包的收发,一旦进行hello的收发,则进入下一状态
Init:接收到的hello包中并不存在本地的route-id,但是会将发送该hello包的邻居置为init状态,此时双方并没有建立双向通信,随着双方互相收发hello包,于是才会进入下一状态
2-way:接收到的hello包中存在本地的route-id,则双方就会进入2-way双向通信状态。该状态也是OSPF最稳定的状态之一,它标志着邻居关系的建立,同时也是邻接关系建立的基础
Exstart:使用类似hello的DD报文进行主从关系(Master/Slave)选举,route-id数值大为主,优先进入下一状态
Exchange:使用携带目录信息的DBD 包进行进行交换,需要ACK确认
Loading:在看完对端DBD后,使用LSR信息查询本地未知的LSA信息,对端使用LSU来进行LSA的回复,本地还需要使用ACK来确认接收到的LSU包
三、OSPF的工作过程
(1)在启动宣告配置之后,OSPF路由器会使用组播224.0.0.5进行OSPF hello包的收发;若接收到的hello包中存在本地的route-id,则建立邻居关系,生成邻居表;之后基于表中所有的邻居进行条件的匹配,匹配失败则将维持邻居关系,仅hello包周期保活即可;
(2)匹配成功者之间可以建立邻接关系;邻居间使用DD数据包进行数据库目录的比对;之后使用LSR查询目录中未知的LSA信息,对端使用LSU来携带传递LSA,最终需要LSAck进行接收确认;当本地收集到区域内所有设备的LSA信息后,生成LSDB—链路状态数据库表;
(3)本地基于LSDB启用SPF算法,计算到达所有未知网段的最短路径,然后将其加载到路由表内
四、OSPF特点
1、 区域概念,有效减少路由条目对CPU和内存占用,将拓扑变动局限在本区域内,详细的LSA泛洪控制
2、 邻接关系。OSPF协议定义了一些路由器类型和网络类型,邻接关系的建立是有交换Hello信息的路由器类型和交换Hellow信息的网络类型决定的
3、 每台收到从邻居路由器发出的LSA的路由器都会把这些LSA记录在它的LSDB中,并且发送一份LSA拷贝给这台路由器其他所有邻居。
4、 当这些路由器LSDB完全相同时,就以自身为根,使用SPF算法计算一条无环的最短路径拓扑图。从而构建自己的路由表。
五、DR与BDR的作用
六、OSPF基础配置