ospf邻接关系建立 7个状态

ospf邻接关系建立 7个状态 

Attempt尝试(企图)状态:
1)Down 状态:
初始状态,没有检测到活动邻居,接口被宣告进OSPF,没有发送任何报文。
2)Init状态:初始状态
通过接口发送了一份hello。
3)Two-Way双向状态:
通过接口收到了一份Neighbor字段包含自身RID的hello。
4)Exstart预(准)状态:
交互3个不带SLA报头的DBD选择Master/Slave。确定了主/从角色。
5)Exchang 交换状态:
由Master发起的带有LSA报头的DBD信息交互。
6)Loading 加载状态:
交互LSR LSU以及LSAck以填充LSDB以实现LSDB的同步。
7)Full完成状态:
一旦LSDB同步,邻接关系到达Full。
只有关系到达Full时,才能交互LSA报文。

ospf邻接关系建立 7个状态  (图1)

当OSPF邻接形成时,路由器有几个状态变化。这些状态在OSPF RFC 2328 第10.1部分已经被定义,以下是每个状态的详尽解释。

Attempt尝试(企图)状态:
这是第一个OSPF邻居状态。它意味着信息(hello)从此相邻未获得,但是hello 信息包在此状态可能仍然被发送到相邻。
此状态为相邻只是有效在 NBMA 环境里。企图意味着路由器发送hello信息包到相邻,但未获得任何信息。

ospf邻接关系建立 7个状态  (图2)

ospf邻接关系建立 7个状态  (图3)

1)Down 状态:

路由器不与其他任何路由器交换任何OSPF消息;

ospf邻接关系建立 7个状态  (图4)

路由器在没有发送任何报文之前就是down状态。

 

2)Init状态:初始状态

接收方路由器已经接收到对端路由器的hello包,但是没有从对端路由器的hello包中发现自己的router-id。此时通信是单向的;

ospf邻接关系建立 7个状态  (图5)

我的router id 172.16.5.1,我不知道其他人。

ospf邻接关系建立 7个状态  (图6)

我收到了hello报文,里面包含了我的router id 172.16.5.1,这时将要到达双向状态了。

3)Two-Way双向状态:在收到的hello包中发现自己的router-id,说明此时已经是彼此发送hello包了;

此状态选定双向通信建立了在二个路由器之间。双向意味着每个路由器看见了其他hello信息包。当收到hello信息包的路由器在收到的hello信息包邻接域之内时,看其自己的路由器ID此状态获得。

 

在此状态,路由器是否决定变得相邻与此相邻。

两台路由器中有一台会先收到hello报文,先进入双向状态,另一台后收到,后进入双向状态。

 

在广播价质,路由器用指定路由器(DR)和备份指定路由(BDR) 满仅成为; 它在双向状态坚持以其他相邻。

广播网络在此阶段的结束,DR和BDR选择。欲知关于DR选择进程的更多信息,参见DR选择。

 

ospf邻接关系建立 7个状态  (图7)

一旦路由器进入Two-Way状态,他们就被认为是邻居。此时就要进行选举过程了,选出指定路由器(DR),备份指定路由器(BDR);

 

具有最高优先级的ospf路由器成为网段中的DR。如果优先级相同,具有最高路由器ID的路由器会成为DR;默认所有路由器的优先级都为1,优先级范围是从(0—255);使用ip ospf priority命令在接口子配置模式下配置;选举出DR和BDR后,其他路由器就与DR和BDR形成邻接关系,但是其他路由器之间还是处于邻居关系,就是说还是处于TWO—WAY状态;

 

选举出DR和BDR后,路由器继续生成hello包以保持通信。这被认为是exstart状态,该状态下ospf路由器准备共享链路状态信息。

 

4)Exstart预(准)状态:

进入了准启支状态后,会发送 第一份DBD报文,First DBD报文,这个First DBD报文跟常规的DBD报文不太一样,他不包含LSA报头。

会交互三份DBD报文,目的是选举主从关系Master/slave

开始哪一台路由器都认为自己是Master

ospf邻接关系建立 7个状态  (图8)

主从关系的作用:

发起接下来的DBD交互。Master来带slave来交互。

 

一旦DR和BDR选择,实际交易过程连接状态的信息能开始在路由器和他们的DR和BDR 之间。

在此状态,路由器和他们的DR和BDR 建立一个主从关系并且选择初始序号为邻接关系形成。

路由器带有更高的路由器ID成为主设备并且开始交换,并且同样地,是能增加序号的唯一的路由器。

 

注意:

一个将逻辑上认为在主从关系的期间,此进程,DR/BDR带有最高的路由器ID将成为主设备。

切记DR/BDR选择也许由于在路由器配置的高优先级纯是而不是最高的路由器ID。

DR不必是交换过程中的主路由器。 DR有可能扮演从属的角色。

ospf邻接关系建立 7个状态  (图9)

ospf邻接关系建立 7个状态  (图10)

如果两台路由器的MTU不同,很有可能会一直卡在准状态,建立不了邻接关系。

可以通过配置,MTU不一致也可以建立邻接关系。

 OSPF修改MTU
http://www.zh-cjh.local:2222/a1_luyou_jiaohuan/1783.html


5.Exchang 交换状态:

主路由器首先开始和从路由器共享链路状态信息。就是说主路由器发送DBD包,如果说链路状态数据库比喻成一本书,那么DBD相当于这本书的目录,通过DBD包,可以发现自己所没有的信息。DBD包中包含链路状态类型,通告路由器的ID,通告链路的成本以及链路的序列号。

 

在交换状态,OSPF路由器交换数据库描述符(  DBD : DataBase Description )信息包。数据库描述符包含链路状态广播(LSA)头并且描述整个链路状态数据库的内容。每DB信息包有明确地被承认的一个序号。路由器也发送包含整个LSA)的链路状态请求信息包和链路状态更新信息包(在此状态。接收的DBD的内容与在路由器链路状态数据库包含信息比较检查新或更加当前的连接状态的信息是否是可用的与相邻。

ospf邻接关系建立 7个状态  (图11)

ospf邻接关系建立 7个状态  (图12)

DBD报文是确认方式是隐式的,但是无法隐式确认的时候,就得用LSAck确认。比台,一路由器能发10DBD报文,但是对端只能发4个,这时,剩下的6个就要用LSAkc确认。

 

6)Loading 加载状态:

通过DBD包从路由器发现了自己所没有的信息后,从路由器会发送链路状态请求包给主路由器(LSR包),随后主路由器会向从路由器发送带有链路详细信息的链路状态更新包(LSU包,Link State Update)。从路由器将该信息合并到它的本地链路状态数据库中。从路由器会回应一个LSACK包给主路由器。

 

在此状态,连接状态的信息实际交换发生。基于DBDs提供的信息,路由器发送链路状态请求信息包。相邻在链路状态更新信息包然后提供被请求的连接状态的信息。在邻接期间,如果路由器接受过时或缺少LSA,它通过发送一个链路状态请求信息包请求该LSA。

ospf邻接关系建立 7个状态  (图13)

7)Full状态:

此时LSDB已经一致了。此时每台ospf路由器可以独立计算初路由表了。

 

在此状态,路由器彼此是充分地相邻的。所有路由器和网络LSA 被交换并且路由器的数据库充分地同步。

充分是正常状态为OSPF路由器。如果路由器在另一个状态被滞留,它是暗示有问题以形成邻接。唯一的对的例外情况此是双向状态,是正常的在广播网络。路由器达到充分的状态与仅他们的DR和BDR。相邻总互相看见如双向。

ospf邻接关系建立 7个状态  (图14)

最后:           

路由表计算:根据LSDB,以自己为根,用LSDB为原材料,采用spf算法独立计算出最有而且没有环路的树放入路由表中。

ospf邻接关系建立 7个状态  (图15)

ospf邻接关系建立 7个状态  (图16)

ospf邻接关系建立 7个状态  (图17)

ospf邻接关系建立 7个状态  (图18)

1、本站资源长期持续更新。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。

转载请保留出处:  www.zh-cjh.com珠海陈坚浩博客 » ospf邻接关系建立 7个状态

作者: cjh


手机扫一扫,手机上查看此文章:

一切源于价值!

其他 模板文件不存在: ./template/plugins/comment/pc/index.htm

未雨绸缪、居安思危!

数据安全、有备无患!

注意操作、数据无价!

一切源于价值!