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以其去中心化、加密安全的特性,正在引领着未来技术的演进,为全球范围内的科技创新带来了新的可能性和机遇…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...




