wait等待40s
40S比较Router-id选举DR R1、R2、R3配置接口IP地址、配置环回地址、 配置OSPF(不宣告直连路由)
接口宣告之后开始发送第一个hello,里边没有DR,40秒 wait时间之后 虽然没有别的邻居, 当然也不能行成2-way状态,但是DR选举结果已经在HELLO包中体现了。 由此可以得出结论DR/BDR选举是在接口宣告就启动选举等待时间wait40内进行,和2-way状态无关, 2way只是衡量邻居,有没有选举资格,不能说选举实在2way中(后)选举,非常不严谨 。
要说两台或者多台,进行选举的条件是都需要,对方是2way状态才能参加选举。但不是选举的唯一条件, 没有2way关系的邻居(候选人),仍然会进行选举。
当然选举DR/BDR有几种情况。
还是使用如上拓扑。不同的是 R2 也做配置并宣告。
1.广播网络中,路由器R1/R2 初始配置ospf,比如R1先配置ospf 并宣告接口 (R1的route id 1.1.1.1) R2紧接着也配置ospf并宣告接口(R2 route id 2.2.2.2)。此时R1开始发送hello包,并启动wait 40s 计时器。 并将受到的hell包 放在自己备选DR/BDR 列表中。(如果40秒内没有收到任何HELLO包,就宣布自己是DR)。 如果wait时间内收到就比较优先级/route id 越大的胜出。通过hello宣布选举结果。
2.这里涉及个概念第一个wait时间,这个是每个路由器宣告进网络的时候都要启动的计时器,目的是防止RD抢占 (ospf的DR有不抢占原则,就是当有人宣告自己是DR的时候。其他路由器默认承认)。还有个作用就是留出时间进行选举, 尤其是初始网络这个时间可以等待收取路由器的hello来比较优先级和route id。
3.DR可能不是优先级最高 如果某个设备优先级最高,而且加入network的时间不晚于其他设备30s(waiting timer 的40s再留出10s,达到two-way状态), 就一定可以成为DR,晚于30s就不一定能成为DR了(取决于它能参加选举时,选举是否已经完成)。也就说R1和R2优先级相同 的情况下虽然R1的route id 小 但是在wait时间之后也就是选举之后就会成为DR,然后因为不抢占原则, 所以才会有有小的ID成为DR的可能。每台只要运行ospf的路由器,在广播网络中都在第一个hello 发出后在本地进行 DR 、BDR选举 其他路由器要想参与到对方选举组,只能在和这个路由形成2-way状态之后才有资格参与选举。 路由器在有效选举时间内做出选举结果并用hello包通告结果。网络中出现第一个通告选举结果的, 其他的路由器停止选举,承认DR选举。(DR不抢占原则)。