实验级别:Professional
情况一:
我们都知道OSPF选取DR的过程是首先比较优先级,在优先级相同的情况下选择RID较高的为DR,但是我多次实验后发现在很多时候DR并非RID最高的路由器,这是什么原因呢?
在翻阅了卷一有关OSPF DR选取的介绍时,发现了这么一句话:“在一个多址网络上,最先初始化启动的两台具有DR选取资格的路由器将成为DR和BDR路由器。”这是我总结了非最高RID而成为DR的实验,发现这些路由器都是我在进行OSPF配置的时候首先启动ospf的路由器,那会不会是因为这些路由器首先启动了OSPF,然后把自己设置为DR导致其他路由器启动OSPF后就不再进行DR的选取了呢?于是我做了下面的这个实验。
实验的topo很简单,我就不画了,就是两台路由器通过fa0/0口相连接。
R1:
conf t
ho R1
int lo0
ip add 1.1.1.1 255.255.255.0
int fa0/0
ip add 172.1.1.1 255.255.255.0
no sh
router ospf 10
net 172.1.1.1 0.0.0.0 a 0
R2:
conf t
ho R2
int lo0
ip add 2.2.2.2 255.255.255.0
int fa0/0
ip add 172.1.1.2 255.255.255.0
no sh
R1启动ospf进程后,我们在R2上暂时先不开启ospf,在R1上发现了以下信息:
R1#sho ip ospf int
FastEthernet0/0 is up, line protocol is up
  Internet Address 172.1.1.1/24, Area 0
  Process ID 10, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 1.1.1.1, Interface address 172.1.1.1
  No backup designated router on this network
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:01
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 0, maximum is 0
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 0, Adjacent neighbor count is 0
  Suppress hello for 0 neighbor(s)
我们看到R1已经把自己设定为DR了,按照OSPF的规则,新加入的路由器即使RID比DR高,也不会替换DR。这就说明了为什么在有些时候DR并非RID最高的路由器。
当然这个实验也顺便验证了ospf中DR选取结束后,除非DR路由器出现故障,否则就是有更高优先级或者RID的路由器进入OSPF进程,也是无法改变DR的。既DR是不可以抢夺的!
情况二(本实验参照了ITAA实验室Netfish的实验):
ospf中有一个Wait Timer计时器,在这个计时器所限定的时间内起来的OSPF可以视为同时起机。
TCP/IP卷1第292页对于这个时间间隔是这样定义的:
Wait Timer:在开始选举DR和BDR之间,路由器等待邻居路由器的Hello数据包通告DR和BDR的时长。长度就是RouterDeadInterval的时间。
本实验拓扑与情况一相同,不同的地方在于当我们在R1上启动OSPF后, 迅速(一定要迅速,非常迅速!40s之内)在R2上也启动ospf,通过debug信息可以看到以下情况:
R1#debug ip ospf adj
OSPF adjacency events debugging is on
R1#debug ip ospf ev
OSPF events debugging is on
*Aug 14 00:56:19.047: OSPF: Interface FastEthernet0/0 going Up
*Aug 14 00:56:19.051: OSPF: Send hello to 224.0.0.5 area 0 on FastEthernet0/0 from 172.1.1.1
*Aug 14 00:56:19.551: OSPF: Build router LSA for area 0, router ID 1.1.1.1, seq 0x80000001
*Aug 14 00:56:19.555: OSPF: Rcv hello from 2.2.2.2 area 0 from FastEthernet0/0 172.1.1.2
*Aug 14 00:56:19.555: OSPF: End of hello processing
R1(config-router)#
*Aug 14 00:56:29.051: OSPF: Send hello to 224.0.0.5 area 0 on FastEthernet0/0 from 172.1.1.1
*Aug 14 00:56:29.451: OSPF: Rcv hello from 2.2.2.2 area 0 from FastEthernet0/0 172.1.1.2
*Aug 14 00:56:29.455: OSPF: 2 Way Communication to 2.2.2.2 on FastEthernet0/0, state 2WAY
*Aug 14 00:56:29.455: OSPF: End of hello processing
R1(config-router)#
*Aug 14 00:56:39.051: OSPF: Send hello to 224.0.0.5 area 0 on FastEthernet0/0 from 172.1.1.1
*Aug 14 00:56:39.427: OSPF: Rcv hello from 2.2.2.2 area 0 from FastEthernet0/0 172.1.1.2
*Aug 14 00:56:39.427: OSPF: End of hello processing
R1(config-router)#
*Aug 14 00:56:49.051: OSPF: Send hello to 224.0.0.5 area 0 on FastEthernet0/0 from 172.1.1.1
*Aug 14 00:56:49.447: OSPF: Rcv hello from 2.2.2.2 area 0 from FastEthernet0/0 172.1.1.2
*Aug 14 00:56:49.447: OSPF: End of hello processing
R1(config-router)#
* Aug 14 00:56:59.051: OSPF: end of Wait on interface FastEthernet0/0
*Aug 14 00:56:59.051: OSPF: DR/BDR election on FastEthernet0/0
*Aug 14 00:56:59.051: OSPF: Elect BDR 2.2.2.2
*Aug 14 00:56:59.055: OSPF: Elect DR 2.2.2.2
*Aug 14 00:56:59.055:        DR: 2.2.2.2 (Id)   BDR: 2.2.2.2 (Id)
*Aug 14 00:56:59.055: OSPF: Send DBD to 2.2.2.2 on FastEthernet0/0 seq 0x826 opt 0x52 flag 0x7 len 32
*Aug 14 00:56:59.059: OSPF: Send hello to 224.0.0.5 area 0 on FastEthernet0/0 from 172.1.1.1
*Aug 14 00:56:59.459: OSPF: Rcv hello from 2.2.2.2 area 0 from FastEthernet0/0 172.1.1.2
*Aug 14 00:56:59.463: OSPF: Neighbor change Event on interface FastEthernet0/0
*Aug 14 00:56:59.463: OSPF: DR/BDR election on FastEthernet0/0
*Aug 14 00:56:59.463: OSPF: Elect BDR 1.1.1.1
*Aug 14 00:56:59.467: OSPF: Elect DR 2.2.2.2
*Aug 14 00:56:59.467: OSPF: Elect BDR 1.1.1.1
*Aug 14 00:56:59.467: OSPF: Elect DR 2.2.2.2
*Aug 14 00:56:59.471:        DR: 2.2.2.2 (Id)   BDR: 1.1.1.1 (Id)
这个时候我们发现两个路由器进行了DR/BDR的选取,并且结论和书上介绍的完全一致。
从Debug信息的时间上来看,从启动OSPF进程到开始选举DR和DBR的时间间隔是 40秒,在这个时间段内,无论R1还是R2并没有选举DR和DBR。
在RFC2328中对这个时间间隔的定义如下:
Wait Timer
        A single shot timer that causes the interface to exit the
        Waiting state, and as a consequence select a Designated Router
        on the network.  The length of the timer is RouterDeadInterval
        seconds.
因为在广播链路中的RouterDeadInterval是40秒,所以我们看到的这个时间间隔为40秒。
 
结论:
并不是先启动OSPF进程的路由器就是DR,而是有一个时间间隔让路由器来等待其他路由器,在这个时间间隔内,路由器相互监听Hello包中的DR和DBR字段中的信息,并且服从优先级原则,可以这样认为——选举是公平的。
实际情况:
在实际的网络中,即使是40秒内同时起进程的情况也少见;实际情况下是率先启用ospf进程的路由器就很有可能成为DR,第二个启动的就很有可能成为BDR,考虑到路由器故障或者重启等情况,实际的运行效果是:“活”得最久的路由器成为DR(比多长时间不重起) .

转载于:https://blog.51cto.com/fumanle/205456

OSPF实验2:DR/BDR的选取相关推荐

  1. ospf 指定dr_OSPF协议 DR/BDR的选取规则

    OSPF,开放式最短路径优先协议,属于自治区域内部使用的网关协议之一,他是基于链路状态制定的. ospf有5种网络类型: 1.点对点类型,由思科提出的,自动发现邻居,不选举DR/BDR,hello报文 ...

  2. OSPF实验2:DRBDR的选取(转载)

    OSPF实验2:DR/BDR的选取(转载)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:offic ...

  3. dr优先级默认_OSPF中的DR/BDR的选取规则:DR优先级,Router ID

    概述 在之前的文章中,我们已经介绍了在多点接入的网络上,为什么要选取DR/BDR的原因.(如果还有疑问,请看看下面的文章)记住一个小公式,轻松计算大型OSPF网络中的邻接关系数量 今天我们就来看一下D ...

  4. OSPF如何选举DR/BDR规则

    选举DR/BDR规则 当选举DR/BDR的时候要比较hello包中的优先级(priority:设置命令 route(config-if)#ip ospf cost {priority} 0~255), ...

  5. ospf 指定dr_OSPF DR BDR 配置方法2

    手工配置DR.BDR DR需要处理整个网络中的实时的变动信息,承担着整个OSPF网络中领导者的责任,因此做为DR路由器需要较强的性能.不排除一种可能性:网络中的一台较低端的路由器因为其上IP数值较大, ...

  6. ospf 指定dr_OSPF的基本配置及DR /BDR选举的实验

    OSPF的基本配置及DR /BDR选举的实验 实验拓扑: 实验目的:掌握OSPF的基本配置 掌握手工指定RID 掌握如何修改OSPF的接口优先级 观察DR BDR选举的过程 实验要求:R3当选为DR ...

  7. dr优先级默认_OSPF路由器不能成为DR/BDR唯一的方法:DR优先级=0

    很多小伙伴学习完OSPF中的DR/BDR选取规则以后,感觉很简单,不过在做实验的时候,会发现有的时候选取的DR/BDR并不是自己预期的,又会感觉很迷惑:难道是自己学习的选取规则有问题吗? 其实不是的, ...

  8. 【实验】:OSPF基本配置(OSPF路由协议、影响DR/BDR选举、配置接口开销值、被动接口、认证功能)

    实验内容: 实验拓扑: 实验编址表: 实验配置: 一.配置ospf路由协议 [R1]router id 1.1.1.1 [R1]ospf 1 [R1-ospf-1]area 0 [R1-ospf-1- ...

  9. 实验24: OSPF的DR与BDR与管理员指定DR BDR

    目录 实验24: OSPF的DR与BDR [实验目的] [实验环境] [实验过程] 拓扑图 步骤一:配置路由器R1 步骤二:配置路由器R2 步骤三:配置路由器R3 步骤四:配置路由器R4 [实验总结] ...

最新文章

  1. 2019北京智源大会在京开幕, 中外学术大咖共话人工智能研究前沿
  2. 太火!这本AI图书微软强推,程序员靠它拿下50K!
  3. Unity3D是怎么提升游戏运行效率的?
  4. 如何惹毛一名开发者?
  5. node环境下express路由,
  6. [PHP 安全] pcc —— PHP 安全配置检测工具
  7. linux ngx listen的解析
  8. Java性能问题定位
  9. 被低估的.net(上) - 微软MonkeyFest 2018广州分享会活动回顾
  10. win8.1自带metro应用不工作解决办法
  11. [线性代数]Note 1--方程组的几何解释
  12. easyui form 提交
  13. ubuntu 安装php redis,ubuntu上安装php redis
  14. angular启动过程分析
  15. 深度Linux与永中集成Office相聚在未来
  16. 全新的 XMOS USB Audio 方案主控 XU316-1024-QF60B-PP24
  17. OpenCV-Python (官方)中文教程(部分一)
  18. 无人驾驶导航定位技术初探(开山篇)
  19. Dungeon Master(地下城主)
  20. 安全专业委员会发言_公司安全生产委员会发言稿

热门文章

  1. 数据信托:可信的数据流通模式
  2. 面试上机器-将当前时间以数码时钟的方式控制台显示(Java实现)
  3. E-study新人快速入门
  4. 优麒麟 20.04-V3 发布,修复众多问题
  5. uniapp点击删除按钮弹出(确定和取消提示)
  6. 阿里云排名第三,2019年云综合收入355.25亿元
  7. 360se3.6.1.2更新后的重大Bug!!!
  8. AI—漂亮的花简单制作(含详细教程)
  9. 江苏对口单招计算机技能历年真题,2012江苏省对口单招计算机技能试卷
  10. 2022深圳杯C题自动驾驶电动物料车换电站选址及调度方案