HCNP学习笔记之OSPF协议原理及配置4-邻接关系的建立和LSDB同步
本文转自:https://blog.51cto.com/4625416/1678913
进入ExStart状态后,广播和NBMA型网络要等待4倍的Hello时间,确定DR和BDR。然后建立邻接关系,并交互链路状态通告,以使用LSDB达到一致,进而完成路由表的计算和生成。
1 状态的变化
ExStart:主从关系是在此状态下形成的(router ID大的为主)。确定主从关系目的是确定DD交换过程中的序列号(LS Sequence Number,后面会有介绍),以保证DD包传输的可靠性,初始DD序列号是在此状态下决定的。邻居状态变成此状态以后,路由器开始向邻居发送DD报文。在此状态下发送的DD报文不包含链路状态描述,只是确定主从关系。
Exchange:此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。
Loading:相互发送LS Request报文请求LSA,发送LS Update通告LSA。
Full:两路由器的LSDB已经同步。
即:确定主从关系->交互DD->相互发送LS R和LS U->达到同步,也就是说建立邻接关系的最终目的是达到LSDB的同步。
下面重点说明两个状态的变换过程
从比主多发一个DD包,确认主的最后一个DD包,保证绝对可靠
I位:1是第一个DD包
M位: more bit 1指还有DD包,0表示最后一个DD包
MS位:表示主从 1为主,0为从
1. 邻居状态变为Loading之后,RTA开始向RTB发送LS request报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。
2. RTB收到LS Request报文之后,向RTA发送LS Update报文,在LS Update报文中,包含了那些被请求的链路状态的详细信息。
3. RTA向RTB发送LS Ack报文,确保信息传输的可靠性。 LS Ack报文用于泛洪对已接收LSA的确认。 邻居状态变成Full,表示达到完全邻接状态。
通过抓包可知,实际包的传递是交叉进行