news 2026/4/16 18:30:19

OSPF的DR/BDR是怎么选出来的?抓包实战带你看清选举全过程与Router ID的作用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OSPF的DR/BDR是怎么选出来的?抓包实战带你看清选举全过程与Router ID的作用

在复杂的网络世界中,如何让成百上千台设备自动学习到通往所有网段的最佳路径?这离不开动态路由协议这位幕后指挥官。而OSPF作为其中应用最广泛的内网路由之王,以其快速收敛、无环计算等优点备受青睐。

在之前ADVPN的Full-Mesh组网案例中(ADVPN:Full-Mesh模型组网实验),我们就介绍过OSPF的简单配置。但是,我们还没有专门介绍过OSPF的配置,今天,我们就通过在HCL模拟器上搭建一个多区域网络,亲手配置OSPF,揭开其邻居建立、DR选举、路由传递的神秘面纱,看它们如何默契协作,实现网络的天下大同。

实验组网如下所示,所有设备均运行OSPF协议,路由器使用MSR36,交换机使用S6850,不同设备之间划分为不同区域,实现将整个自治系统划分为3个区域。

这个场景可以模拟一般的企业场景,S6850作为核心交换机,可能存在较多的VLAN接口虚地址,并作为对应网段的网关;而MSR36作为区域边界路由器ABR,用于转发区域之间的路由。

首先,我们完成基础网络的接口IP地址配置。

RT1

#interface LoopBack0 ip address 10.1.1.1 255.255.255.255#interface GigabitEthernet0/0 ip address 10.12.1.1 255.255.255.0#interface GigabitEthernet0/1 ip address 10.13.1.1 255.255.255.0

RT2

#interface LoopBack0 ip address 10.2.2.2 255.255.255.255#interface GigabitEthernet0/0 ip address 10.12.1.2 255.255.255.0#interface GigabitEthernet0/1 ip address 10.24.1.2 255.255.255.0

SW3

#interface LoopBack0 ip address 10.3.3.3 255.255.255.255#interface Vlan-interface1 ip address 10.13.1.3 255.255.255.0#interface Vlan-interface2 ip address 10.2.1.1 255.255.255.0#interface Vlan-interface3 ip address 10.3.1.1 255.255.255.0#interface Vlan-interface4 ip address 10.4.1.1 255.255.255.0#interface Vlan-interface5 ip address 10.5.1.1 255.255.255.0#interface GigabitEthernet1/0/1 port link-mode bridge port link-type trunk port trunk permit vlan all

SW4

#interface LoopBack0 ip address 10.4.4.4 255.255.255.255#interface Vlan-interface1 ip address 10.24.1.4 255.255.255.0#interface Vlan-interface6 ip address 10.6.1.1 255.255.255.0#interface Vlan-interface7 ip address 10.7.1.1 255.255.255.0#interface Vlan-interface8 ip address 10.8.1.1 255.255.255.0#interface Vlan-interface9 ip address 10.9.1.1 255.255.255.0#interface GigabitEthernet1/0/1 port link-mode bridge port link-type trunk port trunk permit vlan all

接下来,我们开始配置OSPF,也很简单,只要指定OSPF的路由器ID,再创建对应的区域,最后使用network命令将路由宣告出去就可以了。

首先,介绍一下路由器ID(Router ID),路由器ID用来在一个自治系统中唯一地标识一台路由器,一台路由器如果要运行OSPF协议,就必须存在路由器ID。路由器ID一般有三种获取方式:手工指定、自动获取或者使用全局路由器ID。

我们先用RT1演示一下全局路由器ID的用法,也就是在系统视图下使用router id命令进行配置。

# router id 10.1.1.1#ospf 1 area 0.0.0.0 network 10.12.1.0 0.0.0.255 area 0.0.0.1 network 10.13.1.0 0.0.0.255

可以看到,现在RT1的OSPF进程的路由器ID就是我们配置的全局Router ID 10.1.1.1了。

然后,我们用RT2介绍一下手工指定路由器ID的用法,也就是在创建OSPF进程时,后面跟着使用router-id参数指定路由器ID。

#ospf 1 router-id 10.2.2.2 area 0.0.0.0 network 10.12.1.0 0.0.0.255 area 0.0.0.1 network 10.24.1.0 0.0.0.255

可以看到,现在RT2的OSPF进程的路由器ID就是我们手工指定的Router ID 10.2.2.2了。

同时,可以看到RT1和RT2之间的OSPF邻居关系也建立成功了,同时RT选举成了DR(Designated Router,指定路由器)角色。DR的主要功能之一就是生成2类LSA(Network LSA),描述本网段所有路由器的链路状态,在其始发的区域内传播。

与此同时,RT1也被选举成了BDR(Backup Designated Router,备份指定路由器)角色。

DR、BDR是由同一网段中所有的路由器根据路由器优先级和Router ID通过Hello报文选举出来的。默认情况下,所有路由器的优先级都是1,那接下来就是比较Router ID了,因为RT2的Router ID大于RT1,于是RT2选举成了DR,RT选举成了BDR。当然,当DR失效的时候,BDR就会成为新的DR。

从报文交互来看,当RT2的OSPF进程启动之后,立马响应RT1的hello报文,并进入协商过程。

同时,RT1和RT2也是ABR(Area Border Router,区域边界路由器),生成3类LSA(Network Summary LSA),描述区域内网段的路由(10.24.1.0和10.13.1.0/24),并通告给其他区域。

从RT2上查看路由表,可以发现,现在RT2上已经有到RT1下联网段的路由了,路由协议显示为O_INTER,表示为OSPF自制系统的内部路由,优先级为10。

接下来,我们试一下SW3的自动获取Router ID,其实也就是不通过在系统视图下或进程中配置Router ID,直接进行配置。

#ospf 1 area 0.0.0.1 network 10.2.1.0 0.0.0.255 network 10.3.1.0 0.0.0.255 network 10.4.1.0 0.0.0.255 network 10.5.1.0 0.0.0.255 network 10.13.1.0 0.0.0.255

可以看到,SW3自动获取的Router ID就是10.3.3.3,这是因为,OSPF进程启动时,将选取第一个运行该进程的接口的主IPv4地址作为Router ID,这也是为什么我们配置Loopback接口的原因,因为如果存在配置IP地址的Loopback接口,则选择Loopback接口地址中最大的作为Router ID;而如果没有配置IP地址的Loopback接口,则从其他接口的IP地址中,不考虑接口的up/down状态,选择一个最大的IP地址作为Router ID。

还有最后的一台SW4,我们用手工指定路由器ID的方法,配置一下。

#ospf 1 router-id 10.4.4.4 area 0.0.0.1 network 10.6.1.0 0.0.0.255 network 10.7.1.0 0.0.0.255 network 10.8.1.0 0.0.0.255 network 10.9.1.0 0.0.0.255 network 10.24.1.0 0.0.0.255

如果在创建OSPF进程的时候没有指定Router ID,则缺省使用全局Router ID。建议用户在创建OSPF进程的时候手工指定Router ID,或者选择自动获取Router ID。

在SW4上查看OSPF路由,可以看到其他设备宣告的所有路由都学习到了。

Cost就是到达目的地址网段的开销,本地通告的路由开销为1,到RT2和RT1互联网段的开销为2,到RT1和SW3互联网段的开销为3,到SW3网段的开销为4。按照路由类型来看,本地网段的路由类型为Stub,本地互联网段的路由类型为Transit,其余网段的路由类型均为Inter。而发布路由器则只有本设备和RT2,看不到其他设备。

同样的,我们看一下RT1的OSPF信息,可以看到,由于RT1的Router ID全场最小,所以在两个邻居关系中,角色都是BDR。

而RT2则由于Router ID大小居中,则既是DR角色,又是BDR角色。

不过,在创建OSPF进程的时候,无论使用哪种方式指定Router ID,都必须保证自治系统中任意两台路由器的Router ID都不相同,通常的做法是将路由器的ID配置为与该路由器某个接口的IP地址一致即可。

通过这次亲手实践,我们不仅学会了OSPF的基础配置命令,更重要的是深刻理解了其背后的工作机制。从Router ID的指定,到邻居建立与DR选举,再到LSA的传播与路由计算,OSPF展现了一个高效、自洽的分布式系统的魅力。理解它,是迈向高级网络工程师的必经之路。

你在配置OSPF时还遇到过哪些有趣的现象或坑呢?欢迎在评论区分享!

***推荐阅读***

无需公网IPv4!手把手教你配置基于IPv6的WireGuard安全隧道

基于IPv6配置openVPN实战:告别双栈难题,一步打通IPv6隧道!

openVPN进阶技巧:如何实现从服务端反向访问客户端内网?

告别命令行复杂的证书管理!可视化OpenVPN证书管理系统实战,一键发证、过期提醒全搞定

OpenVPN管理竟能如此简单?实时监控、固定IP、强制下线,运维效率翻倍

揭秘运营商级域名策略路由:用dnsmasq与ipset实现同一IP三条不同网络路径的流量调度

服务器端口不对外开放怎么办?用SSH“秒建”加密隧道,安全访问内部服务

RDP授权119天不够用?给你的Windows Server来个“永久”授权

从不可用到10分钟,再到10秒!我优化了AI手机操作,实现流畅运行

256台H100服务器的RoCEv2无损与全互联算力网络建设方案

256台H100服务器算力中心的带外管理网络建设方案

2048卡H100算力中心100G无阻塞存储网建设方案

2048卡H100算力中心400G:380G无阻塞业务网建设方案

2048卡H100算力中心HPE Alletra 4140存储集群部署手册

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:17:17

Open-AutoGLM核心技术揭秘:AI驱动下的公积金提取效率革命

第一章:Open-AutoGLM公积金提取辅助在智能化政务场景不断演进的背景下,Open-AutoGLM作为一款面向自动化任务处理的大语言模型辅助系统,为公积金提取流程提供了高效、准确的解决方案。该系统通过自然语言理解与结构化数据交互能力,…

作者头像 李华
网站建设 2026/4/15 20:27:22

你还在手动找加油站?Open-AutoGLM自动化查询方案全公开

第一章:你还在手动找加油站?Open-AutoGLM自动化查询方案全公开在智能出行场景中,频繁手动搜索加油站不仅耗时,还影响驾驶安全。Open-AutoGLM 是一款基于自然语言理解与地理信息融合的自动化查询框架,能够实时解析用户意…

作者头像 李华
网站建设 2026/4/15 15:47:11

揭秘Open-AutoGLM自动社保查询系统:如何3分钟完成百人参保数据采集

第一章:揭秘Open-AutoGLM自动社保查询系统的核心价值Open-AutoGLM 是一款基于大语言模型驱动的自动化社保信息查询系统,致力于在保障数据安全的前提下,提升政务信息获取的效率与准确性。该系统融合自然语言理解、自动化流程执行与多源数据对接…

作者头像 李华
网站建设 2026/4/16 1:40:05

【Open-AutoGLM实战指南】:5大场景全覆盖,轻松实现零材料提取

第一章:Open-AutoGLM公积金提取辅助概述Open-AutoGLM 是一款基于开源大语言模型(LLM)技术构建的智能辅助系统,专为优化公积金提取流程而设计。该系统融合自然语言理解、自动化表单填充与政策规则引擎,帮助用户高效完成…

作者头像 李华
网站建设 2026/4/16 12:27:27

ClickHouse 数据去重技术:大数据处理的常见问题解决方案

ClickHouse 数据去重技术:大数据处理的破局点 某电商平台技术团队发现,实时分析面板中显示的“独立访客数”(UV)总比预期高出20%,直接影响了促销活动效果评估和流量分析。深入排查时,他们惊讶地发现——问题根源竟是看似简单却深藏陷阱的数据重复问题!当你的数据仓库每天涌…

作者头像 李华
网站建设 2026/4/16 11:10:58

5个关键步骤教你部署Open-AutoGLM自动购票机器人,错过等于浪费一小时

第一章:Open-AutoGLM自动购票机器人概述Open-AutoGLM 是一款基于大语言模型驱动的智能自动化购票工具,旨在通过自然语言理解与网页交互技术,实现对票务平台的高效、精准操作。该系统结合了浏览器自动化框架与语义解析能力,能够根据…

作者头像 李华