DR和BDR的选举.note

noteId: 4160D7565D5C41FA8D9B858996199D73 · 原始路径:/ALL/网络 - C模块/1-路由协议合集、路由控制、策略路由/OSPF/DR和BDR的选举/DR和BDR的选举.note · 图片:1 · 附件待处理:0

在2-Way状态下
会选举DR和BDR:
DR:指定路由器
BDR:备份指定路由器
DRothers:普通路由器
为什么选举DR和BDR:
在一个共享的广播网络多台路由器建立OSPF,有可能会产生大量的OSPF邻居
 
邻居关系过多缺点:
(1)大量产生hello包,消耗CPU性能。
(2)产生重复路由通告,消耗CPU性能(R4将路由通告给R1、R2、R3,然后R2又查找邻居,继续通告4.4.4.0的路由,导致通告重复)
(3)任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源
DR及BDR的选举:
1、DR/BDR的选举是基于接口的。
2、接口的DR优先级越大越优先,一开始默认值为1,DR优先级可以进行调整,调整的范围是0-255,数值越大优先。
3、接口的DR优先级相等时,Router ID越大越优先。
(如果没有router id则会以环回接口为router id,如果没有环回接口则会选择最大IP的物理接口为router id)
4、DR没有抢占性。
5、DR和BDR的选举过程是先选BDR再选DR。
 
OSPF先选BDR, 再选DR:
这个其实可以联系我们现实生活来理解一下。BDR为候选人、DR为正选人。
美国选举总统的时候,是不是大家先选出候选人,然后再投票产生总统?
我们选举人大代表的时候是不是先选举出候选人,然后再选出正选?
举个例子:现在有一个岛,岛上面有一百个人,打算选举出岛主,正常情况:先推选出候选人,然后候选人里面选出岛主,岛主诞生啦,主持一切岛内事物。刚上任,被暗杀了,候选人2号上位,成为岛主,主持前岛主丧事及一切事物,同时继续选候选人。
(注意):当接口启用OSPF之后,假设等待40s(wait time),仍然没有其他路由器声称自己是DR和BDR,我自己就把该接口设置为DR一般是谁先配置谁是DR,其次是BDR。
DR是没有抢占性的,当BDR变为老大时,DR无法自动再次成为老大,当某天DR挂了,则BDR会升级为DR,然后再DRother中选择一个作为BDR。
从宏观角度来说,一开始先选择BDR出来,然后BDR判断网络中有没有DR,没有DR,则BDR升级为DR,再选择一个BDR出来。
 
每一台路由器建立起邻居后,只和DR和BDR交换数据,
DR与BDR有着所有邻居的数据库信息
 
OSPF协议采用组播,组播地址:224.0.0.5和224.0.0.6
OSPF的组播地址除了224.0.0.5之外
还有一个224.0.0.6,专门用来给DRothers发送更新包,只需要发送到224.0.0.6,因为224.0.0.6的数据包只有DR和BDR才能够监听
DRother监听目的IP地址为224.0.0.5的数据包;LSDBD、LSU发送的单播地址(在路由更新的时候,如果说路由IP地址为224.0.0.6的,仅仅只有DR和BDR能够接收目的IP地址为224.0.0.6的数据包,然后进行处理。如果我DR和BDR想给普通DRother发送一些路由同步,当DRother查看发现路由IP地址为224.0.0.5,肯定是DR和BDR发的,然后处理)