欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OSPF中的状态迁移

程序员文章站 2024-02-15 18:59:28
...

OSPF状态迁移

1、Down:初始状态,没有接收到OSPF报文,没有发现存在的邻居。

2、Attempt:NBMA网络中独有的状态,即发送出hello报文之后立即进入。

3、Init:接收到的hello报文中不存在自身的router-id,即我发现了邻居但是邻居还没有发现我。

4、Two-way:当接收到的hello报文中发现自己的router-id,drother与drother保持这一关系。

采用三次握手机制保证了OSPF邻居建立的可靠性。

5、Exstart:交互DD报文,进行主从选举,router-id大的为master。设备交换DD报文,此时发送的DD报文,将I 比特位置位为1表示自己是第一次发送DD报文,将M 比特位置位为1,表示自己还有后续的DD报文要发送,将MS比特位置位为1表示自己是master,同时随机生成一个***。当主从选举完成后进入下一状态。

6、Exchang:此时从设备使用主设备的***来发送DD报文,这是为了隐式确认,而master设备通过***加1来进行隐式确认,当从设备发送的DD报文中M 比特位置位为0时,master设备知晓从设备没有后续的DD报文了,会回复一个DD报文来进行隐式确认告诉从设备我接收到了,此时,从设备还会再发送一个DD报文,但是此时的DD报文中已经没有了LSA头部信息来告诉master设备我接收到了你的DD报文。如果其中有一方没有收到对端发送的DD报文进行隐式确认,会在5S后重传。

因为DD报文携带LSDB中所有的LSA头部,信息较多,一一确认起来比较繁琐,占有设备资源较多,所有采用相对简单的隐式确认机制。

7、Loading:exchange完成后,邻居根据DD报文中LSA的头部信息和自身LSDB中的信息作比较,进行LSDB的同步。发送LSR、LSU、LSAck完成LSA的交换。

LSAck使用的就是显式确认,因为LSAck是对自己所请求的缺少的路由进行确认,数量较少,所以使用相对更可靠的显式确认机制。
LSAck可以同时对多个LSU进行确认,携带多个LSA的头部信息即可。

8、Full:LSDB同步完成。

相关标签: OSPF 网络 ospf