很多小同伴学习完OSPF中的DR/BDR选取规则,觉得很便捷,不过在做试验的时刻,会发现有的时刻选取的DR/BDR并不是自己预期的,又会觉得很蛊惑:难道是自己学习的选取规则有疑问吗?
其实不是的,DR/BDR的选取,还有一个关键的常识点:DR/BDR是无法抢占的!不过在学习新常识点之前,咱们先来温习一下DR/BDR的选用规则!
DR/BDR的选举规则
咱们都知道DR/BDR是一个路由器接口的属性,它只能示意某个路由器在某个网段上是什么角色,并不能代表整个路由器,所以DR/BDR的选取是针对某个网段的。
例如在上方的多点接入拓扑中,有四台路由器在同一个网段10.1.1.0/24里,在这个网段上会选取DR、BDR。
四台路由器在初始的状况下,都会以为自己是DR/BDR, 在它们发送的报文中,也会把DR和BDR的标志置位。
当一台路由器收到比自己DR优先级更大的报文时,就会中止声明自己的DR/BDR,转为声明DR优先级更大的路由器为DR/BDR。
依据DR优先级选取
假设一台路由器收到的报文,DR优先级是相反的,就会比拟Router ID,假设对方的Router ID比自己更大,也会声明对方是DR/BDR。
依据Router ID选取
上方就是DR/BDR的选用规则:
DR/BDR选取的无法抢占性
假设事件都依照DR/BDR的选取规则来,则小同伴就不会有不懂了,整个环球也就喧嚣了。不过在咱们检查DR和BDR的角色时,经常会看到成为DR/BDR的路由器并不是咱们希冀的。例如下图,有3个路由器,初始状况下,R3的DR优先级为30,值最大的,所以它会被选用为这个网段上的DR;R2的优先级次之,它会选用为这个网段上的BDR。
此时假设在网络上,再参与一台路由器R2,DR优先级是50,这时会有什么反响呢?会不会R2成为新的DR,R3变成BDR呢?
新增一台路由器R2
理想上这时时刻,网络上什么都不会变动,R3依然作为DR存在,R1作为BDR存在!假设此时检查路由器的形态,你就会觉得DR/BDR的选用规则是失误的!
网络没有变动
其实上方所说的DR/BDR的选用规则并没有失误,出现这种状况的要素是DR/BDR的选取还须要遵照另外一个规则:DR/BDR的选取是终身的,不会被抢占!
意思就是说,在一个网段上,选取出DR/BDR,那在它Fail之前,就会不时是DR/BDR,不会被起初的高优先级的路由器取代!
为什么要这么做呢?OSPF的这种做法其实是合乎实践网络的经常使用要求:稳固压倒一切。
切换DR/BDR时,须要从新公告LSA,网络会有持久的流量不通,这在实践上班中,是不准许的。假设有高优先级的路由器参与网络,就切换DR/BDR,会有或者形成网络的震荡。比如新参与的OSPF路由器不稳固,一会UP,一会Down,那整个网络就没有方法经常使用了。
所以OSPF在设计的时刻,就思考到了这一点,DR/BDR选取,就不会出现扭转了!
咱们在试验室遇到这种状况,不用担忧,间接把一切路由器的OSPF进程肃清,让它们从新选取就可以了!但在实践网络中,是不能随意肃清OSPF进程的!
并且很多时刻,咱们遇到DR/BDR不是咱们希冀路由器的状况,是咱们的敲命令的举措慢了。初始状况下,一台路由器会期待40秒(自动)的期间,才会选取DR/BDR。假设高DR优先级的路由器在40秒才参与网络,就没无时机成为DR/BDR了!
DR优先级为0的路由器,不介入DR/BDR的选取
经过上方的形容,小同伴应该能够明确了,即使路由器的DR优先级最大,也不必定能成为DR/BDR。而想让一台OSPF路由器永远的成某个为网段的DR/BDR,经过修正DR优先级和RouterID是行不通的。其实想让路由器永远成为DR,有且只要一种方法:将其它OSPF路由器的DR优先级设置为0。
当路由器的DR优先级被设置为0,它就不会介入这个网段上DR/BDR的选取了,它的角色永远就是DR Other。
DR优先级设置为0
当然这种做法的危险就是假设DR路由器Fail,整个网络就瘫痪了,没有方法转发报文。由于DR Other只能和DR替换路由消息,DROther之间是不替换路由消息的。
总结
经过上方的形容,各位小同伴应该对DR/BDR的选取机制和无法抢占的要素了解了吧?我在做一下便捷的总结:
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/8790.html