OSPF DR选举的先后

 事件的研究

研究者:付泽群(月光)

        指导老师:廖心建(已获得路由交换方向和服务提供商方向的双CCIE认证)

 

问题的提出:DRBDR选举的触发事件是什么?一个路由器,在什么情况下会认定DR/BDR选举完成,而DR/BDR选举完成则意味着这个多路访问网络已经稳定,那么换而言之,在什么情况下,一个路由器会认定这个网络已经稳定?

 

前置知识:已经大致了解DR/BDR选举过程,并至少已经通读了

TCP_IP路由技术(卷1)》中关于DR/BDR选举过程的描述。

 

解决问题:

 

首先我们来看下DR/BDR选举中,很少被人所知的过程,其实一个路由器是先选出BDR的!但此时的BDR不会被写入接口数据库,而是会立刻将此BDR提升到了DR的地位并写入数据库,然后会再看看是否有人声称他自己(这点在后面会提及)是BDR如果没有人声称的话,他会再次进行BDR的选举,并写入接口数据库中向外发通告(总结自OSPFRFC文档)

 

当一个路由器新接入一个多路访问网络的时候,他会先等待waittime计时器到期,到期后,将按DR/BDR选举原则进行选举,其时间默认是hello间隔的四倍,而其之所以要先等待waittime计时器到期是因为它刚刚接入此网络,不知道此网络的状况,因此他需要收集hello包进行分析,这就是waittime计时器的作用。而如果其收集到的hello包有证据表明此网络已经稳定,即DR/BDR选举已完成,那么他将不会等待waittime计时器到期而立刻触发选举。那么,触发选举的的事件有哪些呢?

 

触发事件一:当新接入的路由器接收到了一个来自BDRhello包,且DR字段不为空后,他将不会等待waittime计时器到期而立刻选举。

 

提出疑问:为什么新接入的路由器宁可相信” BDR,而不愿相信DR的数据包呢?也就是说如果是DR发送了一个hello包,且DR/BDR字段都不为空,为什么不会触发选举?

其实仔细想想waittime计时器的作用,我们会发现其实只要路由器能够确定此网络中的DR/BDR的选举已经完成,那么waittime计时器即可不必理会,那么关键就在于路由器凭什么认定此网络中的DR/BDR的选举已经完成。仔细回顾下刚才所讲的DR/BDR选举中,很少被人所知的过程,我们会发现,BDR是最后被写入数据库的,这也就意味着,一旦BDR在数据库中出现,也就绝对意味着选举的完成,而如果是DR的话,显然不能说明什么问题。

 

 

来自: http://hi.baidu.com/hbczjzc/blog/item/e488973fe9f20509baa167ed.html

你可能感兴趣的:(DR,休闲,选举,BDR,ospf)