OSPF路由协议中DR和BDR选举问题
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://shangwen.blog.51cto.com/245264/46047 |
OSPF路由协议中DR和BDR选举问题
实验拓扑图:
![]() 问题分析:
在上面网络拓扑中配置ospf路由协议,设备的配置顺序为先配置A->B->C
A路由器的配置如下 : A(config)#router ospf 100
A(config-router)#network 10.0.0.0 0.0.0.255 area 0 A(config-router)#network 192.168.10.0 0.255.255.255 area 0B(config)#router ospf 200
B(config-router)#network 20.0.0.0 0.0.0.255 area 0
B(config-router)#network 192.168.10.0 0.255.255.255 area 0 B(config-router)#network 192.168.20.0 0.255.255.255 area 0C(config)#router ospf 300
C(config-router)#network 30.0.0.0 0.0.0.255 area 0 C(config-router)#network 192.168.20.0 0.255.255.255 area 0根据书本上ospf路由协议在广播型网络中DR和BDR 的选举原则为
1) 比较路由器接口的优先级有较高优先级的路由器成为DR;次高优先级的路由器被选举为BDR。(cisco路由器的默认优先级为1)
2) 如果路由器的优先级相同则比较路由器的ID,有较高ID的路由器被选举为DR;
3) 在DR和BDR选举完成以后,再向该区域网络中加入了优先级更高的或路由器ID 更大的路由器时将不会重新选举直到DR失效为止。
___________________________________________________________
注:如果路由器上配置了loopback接口那么该接口上配置的IP地址就是该路由器的ID;
如果没有配loopback接口,就比较路由器上所有活动物理接口的IP地址,有较高的IP地址将成为该路由器的ID
在上面的网络拓扑中路由器A、B、C都配置了回环接口所以路由器A、B、C的路由器ID应该使用回环接口的IP地址来表示即:
A路由器的ID=10.1.1.1
B路由器的ID=20.1.1.1
C路由器的ID=30.1.1.1
路由器B f0/0和C f0/0相连属于广播型网络,所有要选举DR和BDR按照以上的选择原则在优先级相同情况下比较路由器的ID大小,很显然C路由器的ID为30.1.1.1 要大于B路由器的ID,即C被选举为DR;B被选举为BDR。
按照以上的配置步骤和顺序,显示结果却和我们分析不一样? 以下是显示的结果B路由器是DR;C路由器为BDR。为什么会是路由器ID较小的成为了DR呢?
10.1.1.1 0 FULL/ - 00:00:37 192.168.10.1 Serial1/0 30.1.1.1 1 FULL/BDR 00:00:39 192.168.20.2 FastEthernet0/ FastEthernet0/0 is up, line protocol is up Internet Address 192.168.20.1/24, Area 0 Process ID 2, Router ID 20.1.1.1, Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 20.1.1.1, Interface address 192.168.20.1 Backup Designated router (ID) 30.1.1.1, Interface address 192.168.20.2 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 oob-resync timeout 40 Hello due in 00:00:08 Index 1/1, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 0, maximum is 1 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 30.1.1.1 (Backup Designated Router) Suppress hello for 0 neighbor(s) 结论:
如果在这个广播型OSPF区域中只有唯一一台路由器B启动用OSPF路由协议,那么B路由器把自己看作是DR和BDR,当在这个区域中在有其他的路由器加入这个区域中时,因为DR已经被选举出来了只需要选举BDR了。所以会发生上面的问题; gairuhe BLOG中对该问题的总结相当精彩 ! http://gairuhe.blog.51cto.com 并不是先启动OSPF进程的路由器就是DR,而是有一个时间间隔让路由器来等待其他路由器,在这个时间间隔内,路由器相互监听Hello包中的DR和DBR字段中的信息,并且服从优先级原则,可以这样认为——选举是公平的。 ospf中有一个Wait Timer计时器,在这个计时器所限定的时间内起来的OSPF可以视为同时开机。
TCP/IP卷1第292页对于这个时间间隔是这样定义的:
Wait Timer:在开始选举DR和BDR之间,路由器等待邻居路由器的Hello数据包通告DR和BDR的时长。长度就是RouterDeadInterval的时间。 实际情况: 在实际的网络中,即使是40秒内同时起进程的情况也少见;实际情况下是率先启用ospf进程的路由器就很有可能成为DR,第二个启动的就很有可能成为 BDR,考虑到路由器故障或者重启等情况,实际的运行效果是:“活”得最久的路由器成为DR(比多长时间不重起)抛砖引玉希望大家说说自己的看法! 本文出自 “土豆丝” 博客,请务必保留此出处http://shangwen.blog.51cto.com/245264/46047 本文出自 51CTO.COM技术博客 |



shangwen
博客统计信息
热门文章
最新评论
友情链接
