因为DR和BDR的切换状态机是:当DR失效时,BDR成为DR。
如果先选举DR,再选举BDR,那么当选举BDR的过程中DR失效,那么此时网络中既没有DR也米有BDR,切换将无法进行,状态机也就没办法做了。
所以,先有DBR,后有DR是为了保证状态机能工作。
你说的waittimer应该是指等待DR选举的过程,这个过程不需要多少计算量(比较router-id)。但这个时间我看到的一些代码实现跟你说的不一样,有些代码实现里,等的是hello-interval。总之,等多久其实关系不大,主要是保证DR能选举出来就可以了。