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以其去中心化、加密安全的特性,正在引领着未来技术的演进,为全球范围内的科技创新带来了新的可能性和机遇…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...