1.初始化
路由器开启选举算法时,DR、BDR被初始化为0.0.0.0——表明当前网络中无DR、BDR
2.收集信息
通过邻居发送的Hello消息,获取选举DR、BDR所需的信息
3.创建List
此表只是示意作用,内容非真实
(1)加入List条件
①当前路由器与发送Hello消息的邻居至少处于 2WAY状态
②邻居Priority不能为0
注意:
当前设备若符合条件,也加入到List中
(2)作用
用以选举DR、BDR
4.选举
(1)记录
记录网络中DR、BDR的取值——用以后续比较
(2)选举BDR
①条件
没有声明自己为DR—— 一台设备没有必要既是DR又是BDR
②选举方式
创建子集,将没有声明自己为DR的设备的信息加入其中
a.有设备声明自己为BDR(却没有声明自己为DR)
在这些设备中,按照竞选机制选举出BDR
有该条件在,新加入OSPF网络的设备对应接口将无法成为BDR
b.没有设备声明自己为BDR
在子集中,按照竞选机制选举出BDR
(3)选举DR
①针对对象
整个List
②选举方式
a.有设备声明自己为DR
在这些设备中,按照竞选机制选举出DR
有该条件在,新加入OSPF网络的设备对应接口将无法成为DR
b.没有设备声明自己为DR
将新选举出的BDR也同时置为DR
该条件保证了当DR出问题时,BDR会直接成为DR
注意:
如果设备发送的Hello消息声明其它邻居为DR或BDR,只有与该邻居处于至少2WAY状态,且认为远端优先级不为0时考虑
(4)跳转
①条件
a.当前设备成为新的DR或BDR
b.当前设备经过选举后以确定其它设备接口为DR或BDR
②执行动作
一旦满足条件,则重复一次步骤(2)、(3),然后进入步骤(5)
③意义
确保不会有路由器同时声明自己为DR和BDR
(5)接口状态
通过以上步骤后,已经选举出DR、BDR,此时本地接口状态已经可以被确定
(6)NBMA网络
接口角色为DR或BDR的设备,向该网段中的Priority为0的设备发送Hello
(7)邻接关系
如果接口角色发生了变化,则会导致邻接关系发生改变
转载于:https://blog.51cto.com/thely/1013413