在OSPF的广播类型网络和NBMA类型网络中,如果网络中有n台路由器,那么任意两台路由器之间都要建立邻居关系,则需要维护n*(n-1)个邻居关系,两两之间发送的报文就很多,会造成很多重复的报文在网络中传递,浪费设备的带宽资源。因此在广播和NBMA网络中,OSPF协议定义了指定路由器DR(designated router),及所有路由器都将各自的链路状态信息发送给DR,再由DR组播方式发送至所有路由器,大大减少了OSPF数据包的发送。
如果DR故障,此时网络就需要重新选举DR,并同步链路状态,这需要很长时间、为了缩短整个过程,OSPF定义了BDR(backup designed router)作为DR路由器的备份。当DR失效时,BDR成为DR,并在重新选择新的BDR路由器,其他非DR/BDR路由器称为DR other路由器。
每个含有两个路由器的广播类型网络或NBMA类型网络都会选举一个DR和BDR,选举规则是比较DR优先级,优先级高的成为DR,次高的成为BDR。如果优先级相等,则router-id数值高的成为DR,次高的成为BDR。如果一台路由器的DR优先级为0,则不参与选举。需要注意的是,DR是某个广播或NBMA网段内进行选举的,是针对路由器的接口而言的。某台路由器在一个接口可能是DR,在另一个接口可能是BDR,或者DR other。
如果DR BDR选举完毕,人为修改任何一个路由器的DR优先级值为最大,也不会抢占成为新的DR或BDR,即OSPF的DR BDR是非抢占式的。
1、根据图示配置路由器接口和loopback环回地址。
2、搭建基本的OSPF网络。比如R1如下,其他路由器的router id 为其各自的环回地址。配置完成后重启四台路由器的OSPF进程reset ospf process,注意此命令是在用户模式下。
[R1]router id 1.1.1.1
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
3、查看ospf邻居dis ospf peer brief。dis ospf peer查看默认情况下的DR BDR选举情况。可以看到R1为默认DR,R3为默认BDR。因为此时每台路由器上的DR优先级都为1,是根据router-id的数值高低来比较的。
4、在每台路由器接口g0/0/0下使用ospf network-type p2mp修改OSPF的网络类型为点到多点,再次查看DR BDR为none,点到多点网络中不选举DR BDR。同样在点到点网络中也是。
5、根据网络需求,管理员选择性能较好、处理能力强的路由器为DR,性能次之的路由器为BDR,而性能差的不参加DR BDR选举,优化网络。
在各个路由器上面将ospf网络还原成广播类型。
[R1-GigabitEthernet0/0/0]ospf network-type broadcast
……
修改接口i下的DR优先级,R3保持不变
[R1-GigabitEthernet0/0/0]ospf dr-priority 100
[R2-GigabitEthernet0/0/0]ospf dr-priority 50
[R4-GigabitEthernet0/0/0]ospf dr-priority 0
修改完成后查看路由器的DR BDR选举情况。发现DR BDR没有改变,因为OSPF的DR BDR是非抢占式的,需要在四台路由器上面重启ospf进程或重启路由器。重置后查看DR BDR状态。
网友评论