eNSP学习——OSPF的DR与BDR
目录
相关命令
原理概述
实验内容
实验目的
实验拓扑
实验编址
实验步骤
1、基本配置
2、搭建基本的OSPF网络
3、查看默认情况下的DR/BDR状态
4、根据现网需求影响DR/BDR选举
相关命令
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ospf network-type p2mp //在接口下修改OSPF的网络类型[R1-GigabitEthernet0/0/0]ospf dr-priority 100 //修改接口的DR优先级为100display ospf peer brief //查看邻居建立情况display ospf peer //查看DR/BDR选举情况<R1>reset ospf process //重启路由器上的OSPF进程
Warning: The OSPF process will be reset. Continue? [Y/N]:y
原理概述
在OSPF的广播类型网络和NBMA类型网络中,如果网络中有n台路由器,若任意两台路由器之间都要建立邻接关系,则需要建立n*(n-1)/2个邻接关系。即路由器很多,则需要建立的邻接关系就很多,那么两两之间的报文就很多,就会造成很多重复内容的报文在网络中传递,浪费设备的带宽资源。所以,在广播和NBMA类型网络中,OSPF协议定义了指定路由器DR(Designated Router),即所有其他路由器都只把各自的链路状态信息发送给DR,再由DR以组播方式发送至所有路由器,大大减少OSPF数据包的发送。
若DR出现故障失效,此时网络中就必须重新选举DR,且同步链路状态信息,为了减少所需的时间,OSPF协议还定义了BDR(Backup Designated Router),作为备份路由器,当DR失效时,BDR会成为DR,并再选择新的BDR路由器。
其他不是DR/BDR的路由器都叫做DR Other路由器。
每一个含有至少两个路由器的广播类型或NBMA类型网络都会选举一个DR和BDR。选举规则:首先比较优先级(大的优先,次大的为BDR);优先级相同,则比较Router-ID(数值大的优先)。
注意:
1、如果一台路由器的优先级为0,则不参与选举;
2、DR是在某个广播或者NBMA网络内进行选举的,是针对路由器的接口而言的;
3、某台路由器在一个接口上可能是DR,在另一个接口上可能是BDR或者DR Other。
4、如果DR、BDR已经选举完毕,认为修改任何一台路由器的优先级为最大,也不会抢占成为新的DR或BDR,OSPF的DR/BDR选举是非抢占的。
实验内容
模拟企业网络,某公司有四个部门,R1接入到总经理办公室,R2接入到人事部,R3接入到开发部,R4接入到市场部。四台路由器通过交换机S1互联,每台路由器都运行了OSPF路由协议都运行在区域0,使得公司内部各部门网络能够互相通信。由于路由器通过广播互联,OSPF会选举DR和BDR。目前计划配置性能最好的R1作为DR,性能次之的作为BDR,性能最差的R4不参与选举,以此来优化网络。
实验目的
1、理解OSPF在哪种网络类型中会选举DR/BDR;
2、掌握OSPF DR/BDR的选举规则;
3、掌握如何更改设备接口上的DR优先级;
4、理解OSPF DR/BDR选举的非抢占特性。
实验拓扑

实验编址
| 设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
| R1(AR2220) | GE 0/0/0 | 192.168.1.1 | 255.255.255.0 | N/A |
| Loopback 0 | 1.1.1.1 | 255.255.255.255 | N/A | |
| R2 | GE 0/0/0 | 192.168.1.2 | 255.255.255.0 | N/A |
| Loopback 0 | 2.2.2.2 | 255.255.255.255 | N/A | |
| R3 | GE 0/0/0 | 192.168.1.3 | 255.255.255.0 | N/A |
| Loopback 0 | 3.3.3.3 | 255.255.255.255 | N/A | |
| R4 | GE 0/0/0 | 192.168.1.4 | 255.255.255.0 | N/A |
| Loopback 0 | 4.4.4.4 | 255.255.255.255 | N/A |
实验步骤
1、基本配置
根据实验编址进行相应的基本IP地址配置;配置完成后记得测试各直连链路之间的连通性。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24
[R1-GigabitEthernet0/0/0]int loopback 0
[R1-LoopBack0]ip address 1.1.1.1 32[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.1.2 24
[R2-GigabitEthernet0/0/0]int loopback 0
[R2-LoopBack0]ip address 2.2.2.2 255.255.255.255[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip address 192.168.1.3 24
[R3-GigabitEthernet0/0/0]int loopback 0
[R3-LoopBack0]ip address 3.3.3.3 32[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip address 192.168.1.4 24
[R4-GigabitEthernet0/0/0]int loopback 0
[R4-LoopBack0]ip address 4.4.4.4 32
测试直连链路的连通性
其他的直连网段的测试截图省略。
2、搭建基本的OSPF网络
在R1、R2、R3、R4上配置基础的OSPF网络配置。每台路由器都是用自己的环回接口地址作为Router-ID,并都运行在区域0内。
[R1]router id 1.1.1.1
Info: Router ID has been modified, please reset the relative protocols manually
to update the Router ID.
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255[R2]router id 2.2.2.2
Info: Router ID has been modified, please reset the relative protocols manually
to update the Router ID.
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255[R3]router id 3.3.3.3
Info: Router ID has been modified, please reset the relative protocols manually
to update the Router ID.
[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255[R4]router id 4.4.4.4
Info: Router ID has been modified, please reset the relative protocols manually
to update the Router ID.
[R4]ospf 1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
配置完成后,同时重启4台路由器上的OSPF进程,或者直接同时重启设备;
<R1>reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y<R2>reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y<R3>reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y<R4>reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
重置后再检查OSPF邻居建立情况,使用display ospf peer brief命令进行查看。
此时可以看到,R1与其他路由器成功建立OSPF邻居关系
3、查看默认情况下的DR/BDR状态
使用display ospf peer命令查看此时默认情况下OSPF网络中的DR/BDR选举情况;
可以看到在该广播网络中,此时R4是DR,R3是BDR。这是因为在默认情况下,每台路由器的优先级都为1,此时只能通过Router-ID的大小进行比较。
接下来在每台设备上相关接口下使用ospf network-type p2mp命令修改OSPF的网络类型为点到多点。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ospf network-type p2mp[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ospf network-type p2mp[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ospf network-type p2mp[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ospf network-type p2mp
配置完成后,在R1上查看此时的OSPF的DR/BDR选举情况。
可以看到,DR/BDR都是None,验证了在点到多点的网络类型中不选举DR/BDR,点到点网络也是如此。
4、根据现网需求影响DR/BDR选举
现根据需求,要让R1为DR,R2为BDR,而性能最差的R4不参与选举。
首先把OSPF网络类型还原为默认的广播网络类型。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ospf network-type broadcast [R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ospf network-type broadcast[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ospf network-type broadcast[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ospf network-type broadcast
之后修改R1的GE 0/0/0接口的优先级为100、R2的为90、R4的为0,R3保持不变。
[R1-GigabitEthernet0/0/0]ospf dr-priority 100[R2-GigabitEthernet0/0/0]ospf dr-priority 90[R4-GigabitEthernet0/0/0]ospf dr-priority 0
配置完成后,查看各路由器的DR/BDR选举情况(display ospf peer )会发现,此时的DR和BDR并没有改变,即验证了OSPF的DR/BDR选举是非抢占的。必须在四台路由器上同时重启OSPF进程,或者重启路由器才能使其重新正确选举。
此时,实现了网络的需求。
相关文章:
eNSP学习——OSPF的DR与BDR
目录 相关命令 原理概述 实验内容 实验目的 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建基本的OSPF网络 3、查看默认情况下的DR/BDR状态 4、根据现网需求影响DR/BDR选举 相关命令 [R4]int g0/0/0 [R4-GigabitEthernet0/0/0]ospf network-type p2mp //在接…...
【文献阅读】应用人工智能在Simulink中开发软件
参考文献:《AI用于Simulink模型的降阶方法和应用场景》Mathworks在2024年MATLAB XEPO大会的演讲 文章目录: 1、模型框架 2、数据准备 3、AI建模 4、仿真和测试 5、部署应用 Tips:降阶模型(Reduced Order Modeling࿰…...
【计算机毕设】基于SpringBoot的房产销售系统设计与实现 - 源码免费(私信领取)
免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 随着房地产市场的发展和互联网技术的进步,传统的房产销售模式逐渐向线上转移。设计并实现一个基于Spring Boot的房产销售系统࿰…...
Docker 私有仓库部署和管理
目录 一、案例一 概述 二、案例一 前置知识点 2.1、什么是 Docker Compose 2.2、什么是 Consul 三、案例一 使用 docker Compose 搭建 Consul 集群环境 3.1、案例实验环境 3.2、案例需求 四、案例实施 4.1、Docker 网络通信 1)端口映射 2…...
大模型时代的具身智能系列专题(六)
UCSD 王小龙组 王小龙是UCSD电子与计算机工程系的助理教授。他曾在加州大学伯克利分校与Alexei Efros和Trevor Darrell一起担任博士后研究员,在CMU RI获得了机器人学博士学位,师从Abhinav Gupta。他的研究重点是通过视频和物理机器人交互数据来学习3D和…...
Pytorch入门需要达到的效果
会搭建深度学习环境和依赖包安装 使用Anaconda创建环境、在pytorch官网安装pytorch、安装依赖包 会使用常见操作,例如matmul,sigmoid,softmax,relu,linear matmul操作见文章torch.matmul()的用法 sigmoid࿰…...
数据结构的快速排序(c语言版)
一.快速排序的概念 1.快排的基本概念 快速排序是一种常用的排序算法,它是基于分治策略的一种高效排序算法。它的基本思想如下: 从数列中挑出一个元素作为基准(pivot)。将所有小于基准值的元素放在基准前面,所有大于基准值的元素放在基准后面。这个过程称为分区(partition)操作…...
数据结构基础篇(4)
十六.循环链表 概念 循环链表是一种头尾相接的链表(最后一个结点的指针域指向头结点,整个链表形成一个环)优点 从表任一结点出发均可找到表中其他结点判断终止 由于循环链表中没有NULL指针,所以涉及遍历操作时,终止条…...
使用cad绘制一个螺旋输送机
1、第一步,绘制一个矩形 2、使用绘图中的样条线拟合曲线,绘制螺旋线。 绘制时使用上下辅助线、阵列工具绘制多个竖线保证样条线顶点在同一高度。 3、调整矩形右侧的两个顶点,使其变形。 矩形1和矩形2连接时,使用blend命令&#…...
迭代器模式(行为型)
目录 一、前言 二、迭代器模式 三、总结 一、前言 迭代器模式(Iterator Pattern)是一种行为型设计模式,提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。总的来说就是分离了集合对象的遍历行为,抽象出…...
Django——Admin站点(Python)
#前言: 该博客为小编Django基础知识操作博客的最后一篇,主要讲解了关于Admin站点的一些基本操作,小编会继续尽力更新一些优质文章,同时欢迎大家点赞和收藏,也欢迎大家关注等待后续文章。 一、简介: Djan…...
React 组件通信
1.从父组件向子组件传递参数: 父组件可以通过props将数据传递给子组件。子组件通过接收props来获取这些数据。 // 父组件 const ParentComponent () > {const data Hello, Child!;return <ChildComponent childData{data} />; }; // 子组件 const ChildCompone…...
【再探】设计模式—访问者模式、策略模式及状态模式
访问者模式是用于访问复杂数据结构的元素,对不同的元素执行不同的操作。策略模式是对于具有多种实现的算法,在运行过程中可动态选择使用哪种具体的实现。状态模式是用于具有不同状态的对象,状态之间可以转换,且不同状态下对象的行…...
新人硬件工程师,工作中遇到的问题list
新人硬件工程师能够通过面试,已经证明是能够胜任硬件工程师职责,当然胜任的时间会延迟,而不是当下,为什么呢?因为学校学习和公司做产品,两者之间有差异,会需要适应期。今天来看看新人硬件工程师…...
如何在Linux系统中搭建Zookeeper集群
一、概述 ZooKeeper是一个开源的且支持分布式部署的应用程序,是Google的Chubby一个开源的实现;它为分布式应用提供了一致性服务支持,包括:配置维护、域名服务、分布式同步、组服务等。 官网:https://zookeeper.apach…...
C++:vector的模拟实现
hello,各位小伙伴,本篇文章跟大家一起学习《C:vector的模拟实现》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞!&…...
QT系列教程(5) 模态对话框消息传递
模态对话框接受和拒绝消息 我们创建一个模态对话框,调用exec函数后可以根据其返回值进行不同的处理,exec的返回值有两种,Qt的官方文档记录的为 QDialog::Accepted QDialog::RejectedAccepted 表示接受消息, Rejected表示拒绝消息…...
Linux学习笔记(清晰且清爽)
本文首次发布于个人博客 想要获得最佳的阅读体验(无广告且清爽),请访问本篇笔记 Linux安装 关于安装这里就不过多介绍了,安装版本是CentOS 7,详情安装步骤见下述博客在VMware中安装CentOS7(超详细的图文教…...
2.5Bump Mapping 凹凸映射
一、Bump Mapping 介绍 我们想要在屏幕上绘制物体的细节,从尺度上讲,一个物体的细节分为:宏观、中观、微观宏观尺度中其特征会覆盖多个像素,中观尺度只覆盖几个像素,微观尺度的特征就会小于一个像素宏观尺度是由顶点或…...
数字化前沿:Web3如何引领未来技术演进
在当今数字化时代,随着技术的不断发展和创新,Web3作为一种新兴的互联网范式,正逐渐成为数字化前沿的代表。Web3以其去中心化、加密安全的特性,正在引领着未来技术的演进,为全球范围内的科技创新带来了新的可能性和机遇…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...




