专栏名称: 网络工程师俱乐部
CCIE俱乐部,即CCIE公会,弘扬“CCIE”精神,关注网络专家和相关精英人才的学习,事业和生活。
目录
相关文章推荐
51好读  ›  专栏  ›  网络工程师俱乐部

OSPF邻居关系建立过程详解

网络工程师俱乐部  · 公众号  ·  · 2018-03-26 17:35

正文

请到「今天看啥」查看全文


当 OSPF接口收到一个DBD包且其中I 位置 0的时候,它就知道与该邻居的ex-start阶段已经过去了,于是将邻居的状态置为ex-change ,并存储对端发来的DBD包所包含的 LSA 头部,当然,他自己也发送关于自己OSPFDB的摘要给邻居。如此一来,双方都能通过DBD的交互,了解到对方OSPFDB中的摘要情况。在这个过程中,可能交互数个DBD报文,并要注意,这些报文的I位都置 0,且M位一般也置1,除非这是某个OSPF接口发送的最后一个DBD包。

当 Router  A收到一个  M 位置 0的 DBD包的时候,它就知道,这是邻居发来的最后一个DBD包了,如果它搜集完这个邻 居(假设是  B)发来的 DBD并且发现,这些 DBD里有它感兴趣的LSA,它期望更详细的 LSA信息时,它将B置为Loading 状态,并且开始发送LSR报文去请求特定LSA的详细信息。B收到这个 LSR后,会以LSU进行回应,其中就包含了对方请求的 LSA详细信息,因此,只有在LSU报文中,才能看到LSA的完整信息。收到 LSU后,A将LSU中所包含的LSA放 进自己的LSDB,并且给  B 发一个 Lsack 进行确认。当OSPF接口上所有的待请求的LSA全部收到更新后,它会将邻居置 为 FULL。至此,OSPF邻接关系的建立达到全毗邻。

在这里我们有个地方需要留意,我们通常说,OSPF路由器A与B进入了 xx 状态,其实这句话并不严谨,原因之一,是因为 OSPF是接口敏感型协议,许多的操作都是以OSPF接口作为立足点去考虑的,譬如邻居关系的建立,再如DR和 BDR,我们不能说一台路由器是DR,准确的说,应该是某路由器的某个接口是DR;再者,说两台路由器之间是xx 状态, 这个也不严谨,所谓的邻居状态,必须是以某台路由器为观察点,在其某个接口上观察到的某个邻居的状态,因此可能出现的一个情况是,在A 上,看到的B的状态为  Loading,但是在 B 上, A的状态已经是FULL了 。

下面是关于状态机的详细解释:







请到「今天看啥」查看全文