扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
运行OSPF协议的路由器,如果你想正常运转的话,那么就得和其他的路由器建立完全邻接的关系。因为这种状态下,同一个区域中的所有的路由器的LSDB都是完全同步的、一致的。呵呵、、、其实呢,应该反过来说,当同一个区域中的所有的路由器的LSDB的完全同步、一致的情况下,OSPF路由器才算是达到了这个完全邻接的状态!
有这么几个过程:
OSPF 处于 down 状态----à Init状态-----à 双向(two—way)状态-----à 邻接状态--à 预启动( exstart )状态 ------à 交换(exchange )状态----à 完全( full )邻接状态!
当配置了OSPF的路由器刚刚启动的时候,这个协议还是处于down的状态的,为什么呢?因为还没有其他的路由器和他交换信息啊。所以他接下来要做的就是通过所有的OSPF接口向外发送HELLO分组,并且分组的目标地址是224.0.0.5 (这个地址代表的是哪些路由器呢?我认识吧,他代表的是与发送HELLO分组的路由器直接相连的那些路由器,就是指的那些直连路由器。并且在这里需要说明的是,HELLO分组不会被路由,这个HELLO分组的行程只有一跳。那我们看到的“HELLO分组在整个区域中的多个路由器之间进行扩展”又该如何解释呢?HELLO分组在同一个区域中的多个路由器之间进行扩展,运用的不是路由功能,而是一个路由器发送这个HELLO分组到了直接相连的所有的路由器后,这些路由器就复制一个副本,并且将自己的信息添加进去后,就还是运用目标地址为224.0.0.5来分发这个HELLO分组到与自己直接相连的各个路由器上。就这样一直下去,以此类推!)
所有的直连OSPF路由器接收到这个路由器发送来的HELLO分组后,就将这个路由器加入到邻居列表中。这就是Init状态!(这里说的这个“邻居列表”说的是HELLO分组中的数据部分。如果不理解的话,可以去看看5种类型的OSPF分组的格式)
所有的这些收到HELLO分组的路由器,都会向发送这个HELLO分组的路由器发送一个单播应答分组;其中包含着自己的信息(因为人家这个路由器也不是死的啊,人家也同时在进行这个过程啊,人家也有自己的一些邻居啊),这个发回去的应答分组中的“邻居列表”中自然是包含那个开始发送这个HELLO分组的路由器了。现在这个应答分组就是返回给他的。
原来那个路由器接收到这个应答分组后,先看看这个邻居列表中是否包含自己。如果包含自己的话,就说明一个问题:即对方已经知道我的存在了。并且接下来就将这个HELLO分组中带来的那些邻居表中包含的路由器ID加入到自己的LSDB中。这样一来呢,这些路由器就建立了双向( two-way )状态。到此为止,所有的路由器之间都建立了双向状态,即路由ID彼此出现在对方的邻居列表中;
接下来,要看看网络类型,确定下是否有必要进行DR与BDR的选举。如果这个网络属于广播类型的网络(如以太网),那么就需要进行选举。具体的选举过程可以自己去查阅相关的资料。选择了DR与BDR后,那么网络中的路由器都只与这种身份的路由器建立双向邻接关系,然后路由器之间才能进行交换链路状态信息。
注:当一个路由器加入到已经有DR与BDR的广播网络时,将同所有的路由器(包括DR、BDR、DROTHER)建立双向状态,但是只与DR与BDR建立双向邻接关系!并且我们需要知道的是,网络中的所有的路由器都会定期的进行HELLO包的交换,以确保通信不中断。默认的时间间隔是10S。这个HELLO分组中包含DR、BDR与一个路由器列表,其实他们都是邻居,也可以说是已经相互建立了双向状态的路由器。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。