侵权投诉
搜索
更多>> 热门搜索:
订阅
纠错
加入自媒体

超详细的OSPF邻居状态机详解

2020-05-15 10:59
黄庆龙
关注

简单说,就是 互相眼熟,互不打招呼的就是邻居关系;互相眼熟,还经常互相打招呼,深入聊天,就是邻接关系。

OSPF共有8种状态机,分别是:Down、Attempt、Init、2-way、Exstart、Exchange、Loading、Full。

Down:邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包。

Attempt:该状态仅发生在NBMA网络中,表明对端在邻居失效时间间隔(dead interval)超时前仍然没有回复Hello报文。此时路由器依然每发送轮询Hello报文的时间间隔(poll interval)向对端发送Hello报文。

Init:收到Hello报文后状态为Init。

2-way:收到的Hello报文中包含有自己的Router ID,则状态为2-way;如果不需要形成邻接关系则邻居状态机就停留在此状态,否则进入Exstart状态。

Exstart:开始协商主从关系,并确定DD的序列号,此时状态为Exstart。

Exchange:主从关系协商完毕后开始交换DD报文,此时状态为Exchange。

Loading:DD报文交换完成即Exchange done,此时状态为Loading。

Full:LSR重传列表为空,此时状态为Full。

接下来,我们来聊聊几个主要的状态:

1、Init

每台路由器只与启用了OSPF,接口宣告到OSPF进程,就会开始发OSPF报文。

当收到别人发过来的Hello报文,

一开始,R5收到R4发过来的Hello包,查看,只看到R4的router id 4.4.4.4 ,没有看到自己,所以状态置为init状态,并且R5已发现自己有个邻居是R4。

R4收到R5发过来的Hello包,查看,只看到R5的router id 5.5.5.5 ,没有看到自己,所以状态置为init状态,并且R4已发现自己有个邻居是R5。

R5再次收到R4发过来的Hello包,查看,看到R4的router id 4.4.4.4,还看到自己R5的router id 5.5.5.5 ,认为双向通信没问题,所以状态置为2-way。

同理,R4再次收到R5发过来的Hello包,查看,看到R5的router id 5.5.5.5,还看到自己R5的router id 4.4.4.4,认为双向通信没问题,所以状态置为2-way。

到这里,OSPF的邻居状态就算建立完成。如果要交付LSA信息,还得继续建立邻接关系,才能交付,然后再去计算路由。

当链路两端的设备都进入2-way状态后,如果是MA或NBMA网络,会进行DR/BDR的选举。该选举是为了减少广播型网络和NBMA网络中建立邻接关系的数量。

如果存在DR的情况下,其他DR-Other只会和DR建立邻接关系,DR-Other之间建立邻居关系,但是不会建立邻接关系,状态一直处于2-way状态。

DR/BDR的选举规则:

1、比较路由器优先级,大的优先;

2、比较router id。大的优先;

当选举出DR后,网络内的DR-Other和DR开始建立邻接关系,进入下一个状态Exstart。

这个阶段,两端设备通过交互DD报文,来选举主从关系,主从的目的,就是选举谁是老大,后续的DD报文序列号以他为准,作为参考点进行更新。

龙哥要画重点了,注意了,第一个DD报文,是没有携带LSA头部信息的。

现在我们来了解一下,主从关系是通过什么选举出来的呢?

DD报文有个三位很重要,I,M,MS位。

I 是表示该报文是初始报文,第一个DD报文。

M 表示后面还有DD报文,如果是0,表示没有DD报文了。

MS 置1表示该报文为主,0表示为从。

所以第一个DD报文,都各自认为自己是主,所以MS都置1。

R4:发现自己的router id比R5小,所以认怂了,为从,置为0:

R5:发现自己的router id比R4大,所以嘚瑟了,为主,置为1,序列号+1

主从设备选举完后,设备的状态从Exstart状态变为Exchange状态,从设备(R4)会使用主设备(R5)的序列号,发送携带摘要信息的DD报文。

如果R5从R4发送的摘要信息中发现存在本身没有的LSA信息,则会向AR1发送LSR报文请求该LSA,此时状态由exchange变为loading状态。R4收到AR5的LSR请求报文,便会回复一个LSU报文携带AR2要请求的LSA明细信息。R5收到LSU报文同步完成后进入FULL状态,并且向R5发送LSAck报文表示确定收到了LSU报文且同步完成,R4也会进入FULL状态。该LSAck报文,就是因为OSPF是基于IP的,IP没有确认机制,所以OSPF需要设置自身的确认机制。以上就是OSPF的邻居状态机。

<上一页  1  2  3  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

通信 猎头职位 更多
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号