在ospf选举DR和BDR时,能不能先比较router_ID 在比较优先级 为什么?

2024-12-03 20:44:11
推荐回答(3个)
回答1:

不能。抛开协议的死规定,我们来考虑它设计的理由。
在实际网络中,ospf的router-id都是环回口的实际地址;dr和bdr我们通常是要人为控制的。
如果先比较router-id,我们要控制dr选举,就要控制环回口的地址,这个还是比较麻烦的,而且环回口除了做ospf的router-id,还有其它用途。而控制优先级就方便的多,这个是专属于ospf的,不会影响其它。
而且如果我不希望某个路由器参与dr选举,就要把优先级设为0,但如果恰好它的router-id还大,这就会造成它被选成dr(假设先比较router-id)后才发现,呀,优先级是0!
所以,还是先比较优先级更科学。

回答2:

  这个不行,ospf的算法已经决定了选举的顺序。

  OSPF priority 最高者为DR(缺省所有OSPF路由器为1,通过ip ospf priority 接口配置命令更改),如果priority相同,则具有最高的Router-ID的路由器被选举为DR(Router-Id为最大的接口IP地址,如果配置了loopback地址,则使用loopback地址作为Router-ID,如果配置有多个loopback地址,则以最高的loopback地址为Router ID.也可是通过 router-id

路由器配置命令强制某个IP地址作为路由器的Router ID.如果路由器的OSPF 优先级设为“0”,则该路由器不作为DR或BDR,称为DRother.

还有不懂请追问

回答3:

我打了一大堆字 然后觉得都是废话。。。

router-id不可能相同,所以直接就可以选举出来谁大谁小 干嘛还比较优先级。。。而且优先级可以是0,表示不参加选举,router-id 几乎不可能做到这一点,因为所有域内的router-id都得不相同,只有大小 没有0也没有相等