OSPF中的状态迁移
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基础
下一篇: 反掩码和掩码和通配符区别