OSPF邻居:(1.1.1.1)Router A ------------------------------ Router B(2.2.2.2)
1.Down状态:邻居会话的初始状态,指明在最近一个DeadInterval时间内还没 有收到任何Hello分组。我们这里假设A先发了一个Hello给B。
2.Init 状态:路由器B收到邻居A的Hello分组后回应一个Hello,在这个 Hello的邻接字段中写上A的Router-id,表明自己知道对方的存在,同时将自己和A的邻接状态设为Init。
3.Two-way 状态:路由器A收到B的Hello分组,发现邻居字段含有自己的 Router-id,这时A会将自己和B的邻接状态设为Two-way,开始发送一个空的DBD分组(没有LSA的头部,只用于确立主从关系)并标记其序 列号为x,MS位为1(宣称自己是主路由器)。
PS: 如果在Init状态从邻居路由器那里收到一个DBD分组也会直接进入该状态。
4.Exstart 状态:路由器B收到A的DBD分组,就将自己和A的邻接关系设置为
Exstart,发现对方的Router-ID并没有自己高,就回应一个空的DBD分组,标记序列号为y,MS位为1,说明自己才是主路由器,A在收到后
会表示认同,其认同的方式就是发送一个空的DBD分组,该分组的序列号是y(以B的序列号为准),MS位为0(表明自己是从路由器)。
简单来讲,在Exstart状态就是确定路由器的主从关系(主路由器先发有内容的DBD分组),以及DBD分组的序列号,该状态下发的DBD分组都是空 的。
5.Exchange 状态:路由器B收到这个空DBD分组,就将自己和A的关系置为
Exchange状态,开始发送DBD分组,序列号为y+1,依次增加。对于每一个DBD分组,A都会发送含有自己LSDB信息的DBD分组用来确认,且
序列号是相同的。B在发最后一个DBD分组的时候会将M位设为0(之前的都是1)表明自己的LSDB已经描述完。
同步完成的标志:自己发送了M位标记为1的DBD分组,并且收到对方发送的这样的DBD分组,由于从路由器必须确认主路由器发送的DBD分组,所以他最先 知道同步完成了。
6.Loading 状态:路由器B收到同步完成的通知后,会发送LSR请求那些在链路状态
请求列表中的LSA条目,同时将自己和A的邻接关系置为Loading状态,A对B也是如此。处于Loading状态的过程就是相互交换LSA,用
LSAck给予回应,直到双方的链路状态请求列表都为空。
7.Full 状态:路由器A和B发现自己的链路状态请求列表为空,就将自己和对方的关系设 为Full,即形成完全的邻接状态。
阅读(1018) | 评论(0) | 转发(0) |