目标:

配置以太网链路中的R1, R2 和R3 启用OSPF,并且R1被选为DR,R2被选为BDR,R3不参与选举

配置指南:

? 在R1上配置接口Ethernet0/0地址为10.0.0.1/8

? 在R2上配置接口Ethernet0/0 地址为10.0.0.2/8

? 在R3上配置接口Ethernet0/0地址为10.0.0.3/8

? 在R1上配置接口Ethernet0/0 OSPF优先级为100

? 在R2上配置接口Ethernet0/0 OSPF 优先级为50

? 在R3上配置接口Ethernet0/0 OSPF 优先级为0

? 所有接口加入OSPF area 0

自我提问:

? 在以太网中缺省的 OSPF 网络类型(network type)是什么?

? 在这种网络类型中需要DR/BDR 选举吗?

? DR的角色是什么?

? BDR的角色呢?

? DR/BDR选举是怎样产生的?

? 什么可以影响到DR/BDR的选举?

? 一个优先级比现有DR或者BDR的优先级还要高的路由器加入到网络会发生什么?

最终配置和验证:

R1:

interface Ethernet0/0

ip address 10.0.0.1 255.0.0.0

ip ospf priority 100

!

router ospf 1

network 10.0.0.1 0.0.0.0 area 0

R2:

interface Ethernet0/0

ip address 10.0.0.2 255.0.0.0

ip ospf priority 50

!

router ospf 1

network 10.0.0.2 0.0.0.0 area 0

R3:

interface Ethernet0/0

ip address 10.0.0.3 255.0.0.0

ip ospf priority 0

!

router ospf 1

network 10.0.0.3 0.0.0.0 area 0

R1#show ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface

10.0.0.2 50 FULL/BDR 00:00:38 10.0.0.2 Ethernet0/0

10.0.0.3 0 FULL/DROTHER 00:00:34 10.0.0.3 Ethernet0/0

R2#show ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface

10.0.0.3 0 FULL/DROTHER 00:00:33 10.0.0.3 Ethernet0/0

10.0.0.1 100 FULL/DR 00:00:31 10.0.0.1 Ethernet0/0

R3#show ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface

10.0.0.2 50 FULL/BDR 00:00:34 10.0.0.2 Ethernet0/0

10.0.0.1 100 FULL/DR 00:00:39 10.0.0.1 Ethernet0/0

R1#show ip ospf interface ethernet0/0

Ethernet0/0 is up, line protocol is up

Internet Address 10.0.0.1/8, Area 0

Process ID 1, Router ID 10.0.0.1, Network Type BROADCAST, Cost: 10

Transmit Delay is 1 sec, State DR, Priority 100

Designated Router (ID) 10.0.0.1, Interface address 10.0.0.1

Backup Designated router (ID) 10.0.0.2, Interface address 10.0.0.2

注解:

为了在网络类型为broadcast和nonbroadcast的网络中减少LSA的复制所以定义了Designated Router (DR) 和Backup Designated Router (BDR) 两种路由器角色。当一个设备在此网段中发送LSA,这个LSA就是发给DR,然后DR再负责将此LSA发送到网段中的其他设备。如果DR出现问题,BDR会取代其位置。DR和BDR的选择通过选举的方式选出。

这个选举流程由两个因素来决定,接口优先级(interface priority)和router-id。接口优先级从0到255,缺省为1,如果配置为0表明不参加选举,如果是255就很有可能被选为DR。如果出现相同的优先级则最大的router-id会被选择。

OSPF 的router-id 可以通过自动或者手动配置两种方式获得。自动的话会选择最大的loopback地址,如果没有loopback则是所有接口中最大的地址。如果router-id是通过自动选择获得,那么如果有更大地址的新接口出现,OSPF进程又被重启的话router-id就会发生改变。由于router-id需要在整个OSPF domain中保持唯一,所以推荐通过router0-id命令进行手动配置。

在选举过程中会遇到的一个OSPF进程加载的速度问题。OSPF DR/BDR 的选举不像IS-IS DIS选举,是不支持抢占(preemption)的。这就意味着一旦选举完成,即使新加一个优先级更高的设备也不会进行重新的选择,相反只有在DR或者BDR出问题的时候才会发生重选。如果DR出问题,BDR会变为DR,然后进行BDR的重选;如果BDR失败,则进行BDR的重选。

在上面的例子中,如果R1在R2和R3选举完成之后加入到网段中,那么即使R2的优先级低于R1,R1也不能抢占R2的DR角色。为了确保某个设备一定要被选为DR就必须通过设置其他设备的优先级为0。特别是对那种只有一个设备具备整个网段二层连接性的情况,比如hub-and-spoke NBMA拓扑中的hub,如果hub出现失败则会导致其他设备之间的互联失败,因此必须配置hub为唯一的DR选举者。

一旦选举完成,可以通过show ip ospf neighbor和show ip ospf interface命令来验证DR和BDR的选择结果。