华为-OSPF路由协议实验(抓包分析DR、BDR的选举)

一、DR和BDR选举原理

原理参考我上一篇关于OSPF路由协议的原理篇,
链接如下:OSPF路由协议原理部分

二、实验过程

2.1 实验目的

通过抓包分析OSPF路由协议DR、BDR的选举,
然后down掉DR的路由器接口,再次抓包查看DR和BDR的选举,
最后再激活原有的DR路由器的接口,抓包查看

2.2 实验环境

通过三台路由器与一台交换机相连,构成如下拓扑图
在这里插入图片描述

2.3 实验步骤

2.3.1 配置R1

<Huawei>sys
[Huawei]undo info-center en
[Huawei]sysn R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 13.0.0.3 24    ###配置接口ip地址
[R3-GigabitEthernet0/0/0]un sh
[R3-GigabitEthernet0/0/0]int loo 0
[R3-LoopBack0]ip add 3.3.3.3 32   ###配置本地环回地址

[R3]ospf 1 router-id 3.3.3.3   ###开启OSPF进程手动配置router-id
[R3-ospf-1]area 0.0.0.0    ###划为骨干区域
[R3-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255      ###此时稍后回车宣告

[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0

2.3.2 配R2

<Huawei>sys
[Huawei]undo info-center en
[Huawei]sysn R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 13.0.0.2 24   ###配置接口ip地址
[R2-GigabitEthernet0/0/0]un sh
[R2-GigabitEthernet0/0/0]int loo 0 
[R2-LoopBack0]ip add 2.2.2.2 32   ###配置本地环回地址

[R2]ospf 1 router-id 2.2.2.2   ###开启OSPF进程手动配置router-id
[R2-ospf-1]area 0.0.0.0   ###划为骨干区域
[R2-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255   ###此时稍后回车宣告

[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0

2.3.3 配置R3

<Huawei>sys
[Huawei]undo info-center en
[Huawei]sysn R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 13.0.0.3 24   ###配置接口ip地址
[R3-GigabitEthernet0/0/0]un sh
[R3-GigabitEthernet0/0/0]int loo 0
[R3-LoopBack0]ip add 3.3.3.3 32   ###配置本地环回地址

[R3]ospf 1 router-id 3.3.3.3    ###开启OSPF进程手动配置router-id
[R3-ospf-1]area 0.0.0.0   ###划为骨干区域
[R3-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255    ###此时稍后回车宣告

[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0

2.4 验证测试

2.4.1 第一次抓包

在这里插入图片描述
此时显示DR为13.0.0.3,BDR为13.0.0.2
在这里插入图片描述

2.4.2 第二次抓包

在R3中进入g0/0/0口,shutdown掉这个接口,等待40秒
此时再看抓包数据
在这里插入图片描述
此时,DR变成了13.0.0.2,BDR变成了13.0.0.1
在这里插入图片描述

2.4.3 第三次抓包

再在R3中进入g0/0/0口,输入undo shutdown,激活这个接口,等待40秒
在这里插入图片描述
此时,DR恢复成了13.0.0.3,而BDR变成了13.0.0.1
在这里插入图片描述

三、总结

3.1 第一个hello包什么时候出现?会和DR有关吗?

●接口宣告之后开始发送第一个hello,里边没有DR,40秒 wait时间之后 虽然没有别的邻居,当然也不能行成2-way状态,但是DR选举结果已经在HELLO包中体现了。
由此可以得出结论DR/BDR选举是在接口宣告就启动选举等待时间wait40内进行,和2-way状态无关,2way只是衡量邻居,有没有选举资格,不能说选举是在2way中(后)选举,非常不严谨 。
●要说两台或者多台,进行选举的条件是都需要对方是2way状态才能参加选举。但不是选举的唯一条件,没有2way关系的邻居(候选人),仍然会进行选举。

3.2 选举DR和BDR的另一种情况

当然选举DR/BDR有几种情况。
还是使用如上拓扑。不同的是 R2 也做配置并宣告。

  • 广播网络中,路由器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 计时器。
    并将收到的hello包 放在自己备选DR/BDR 列表中。(如果40秒内没有收到任何HELLO包,就宣布自己是DR)。
  • 如果wait时间内收到就比较优先级/route id 越大的胜出。通过hello宣布选举结果。

3.3 你知道DR不抢占原则和wait时间吗?

  • 这里涉及到概念第一个wait时间,这个是每个路由器宣告进网络的时候都要启动的计时器

    • 目的是防止DR抢占
      (ospf的DR有不抢占原则,就是当有人宣告自己是DR的时候。其他路由器默认承认)
    • 还有个作用就是留出时间进行选举,
      尤其是初始网络这个时间可以等待收取路由器的hello来比较优先级和route id。
  • 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不抢占原则)

其他路由器要想参与到对方选举中,只能在和这个路由形成2-way状态之后才有资格参与选举。

路由器在有效选举时间内做出选举结果并用hello包通告结果。网络中出现第一个通告选举结果的,
其他的路由器停止选举,承认DR选举。(DR不抢占原则)

猜你喜欢

转载自blog.csdn.net/ycycyyc_/article/details/106935401