本节书摘来自异步社区《OSPF网络设计解决方案(第2版)》一书中的第2章,第2.6节,作者 【美】Thomas M. Thomas II, CCIE #9360

2.6 案例分析:为网络添加一台新的OSPF路由器

OSPF网络设计解决方案(第2版)
本节案例分析所提供的情景涵盖了本章所涉及的大部分信息内容。情景中,假设你需要为网络添加一台新的 OSPF 路由器。这里的案例分析详细地阐述了添加一台新的 OSPF 路由器到网络中会对当前网络产生哪些影响。以下是对添加新的路由器到网络中将发生的事件的顺序描述,你可以对照图2-12到图2-15,以便更加直观地理解这一过程。

1.一台新的OSPF路由器被添加到网络中。

2.新的路由器立即使用代表所有OSPF路由器的多播地址224.0.0.5发送多播Hello包。此时,该路由器尚不知晓网络中是否存在DR(见图2-12)。




OSPF链路备份配置抓包分析 ospf配置p2p_网络接口



提示
如果网络中已经存在一台DR,那么即使新的路由器拥有更大的优先级,DR的角色也不会被抢占。
3.当DR和BDR接收到新路由器所发送的Hello包后,它们将使用单播Hello包直接回复新加入的路由器。在 Hello 包交互之后,路由器便开始建立邻接关系(见图2-13)。


OSPF链路备份配置抓包分析 ospf配置p2p_优先级_02



4.当新的路由器和DR建立了邻接关系后,它将向DR发送一条路由器LSA(1类),用于描述自己拥有的可用链路和这些链路的状态。在此期间,BDR也在监听 DR 是否进行了回复,以确定DR的运行状态(见图2-14)。


OSPF链路备份配置抓包分析 ospf配置p2p_优先级_03



5.BDR持续进行监听,从而确定DR是否正处于正常的工作状态。DR使用多播地址224.0.0.5向整个网络发送一条新的LSA,通知其他路由器关于新的路由器的可用路由。所有路由器必须使用ACK(确认包)来回复,这样DR才能够获知它们收到了新增的信息(见图2-15)。如果DR失效,那么BDR将成为DR,并且通过选举机制再选出一台新的BDR。


OSPF链路备份配置抓包分析 ospf配置p2p_OSPF_04



此时,新的路由器已经完全被网络内其他路由器所识别,而且这些路由器还能够通过新的路由器到达新增的网络。

在某些OSPF网络中,可能需要强制确定哪台路由器成为OSPF的DR和BDR。例如,一些拥有更强处理能力、更大内存的路由器成为网络中的DR应该更为合适。另外,如果是在Lab实验中,也可能会指定具体的路由器成为DR。在这些情况下,你可以使用基于接口的命令ip ospf priority来完成优先级的更改。

OSPF的默认优先级为1。如果路由器优先级越高,则它将越容易成为DR或BDR。如果使用命令将优先级设置为0,那么这可以确保路由器无法成为DR(即不参与DR和BDR的选举)。

注意
路由优先级只能配置在多路访问的网络接口上(换句话说,为点到点网络接口配置优先级没有意义)。
例如,为了将路由器优先级的值设置为5,可以输入如下命令:


OSPF链路备份配置抓包分析 ospf配置p2p_OSPF_05



但是需要特别注意的是,路由器加入 OSPF 区域的顺序会影响到最终DR和BDR的选举结果。也就是说,只有当网络中不存在 DR 或BDR时,才会进行选举。当路由器开始运行OSPF进程后,它将检查网络内是否存在活动的DR或DBR。如果存在,那么这台新加入的路由器将成为DROther;也就是说,此时无论新路由器的优先级和路由器ID如何,它都不会成为DR或BDR。记住,这种 DR 和 BDR 的选举机制是为了提高效率和稳定性;网络内新加入的路由器不应当抢占当前已经存在的路由器角色。