OSPF的7大状态和5大报文详讲

在这里插入图片描述

- Down
OSPF的初始状态

- Init
初始化——我刚刚给别人发Hello报文

我们可以将OSPF邻居建立的过程理解为:我和你打招呼,你和我打招呼,然后咱俩成了邻居
比如:
R1和R2要建立OSPF邻居
R1给R2发送了Hello报文,但是R1此时发送的Hello报文中,并没有Active Neighbor字段

即:R1此时还不认识R2,那么R2会认为:R1的状态是初始化的状态——Init
纯文本

- 2-way——意味着邻居的开始!
也叫双向通信状态

比如:
R1和R2要建立OSPF邻居
R1给R2发送了Hello报文,而R1的Hello报文中,Active Neighbor字段是:R2的Router ID

说明:

  1. R2给R1发送的Hello报文,R1收到了——否则,R1不会知道R2的Router ID
  2. R2成功的接收了来自于R1的Hello报文——否则,R2也不会知道,R1收到了R2发送的Hello报文

即:R2清楚的知道:R2和R1可以互相通信了!此时,对于R2来说,R1处于2-way状态
纯文本

- Exstart——交换DD报文的初始状态

交换的是第一个DD报文,也叫空DD报文,不带数据库简要描述信息!

我们都知道:DD报文时数据库简要信息描述报文

如果说,两台设备的数据库,是两个图书馆,那么,DD报文,就是:图书馆的书籍名录简介

而空DD报文,是指:没有任何关于LSA的描述的DD报文


设备通过空DD报文,确定主从关系!

空DD报文有三个bit位:

  1. I(Init)——初始位为1 //表示这个DD报文时第一个DD报文
  2. M(More)——初始位为1 //表示这个DD报文后面还有更多的DD报文
    3.M/S(Master/Slave)——初始位为1 //表示我认为自己是主路由器

通过Router ID比较(Router ID大的是主路由器),确定主从关系,从而Slave发送的DD报文的序列号,必须是Master发送的DD报文的序列号

即:Slave必须收到Master发送的DD报文,Slave才会发送DD报文

这样做的目的:就是提高OSPF交换数据的可靠性!!!
纯文本

- Exchange——交换其余的DD报文

此时的DD报文,都带着“LSA Header”

所谓的“LSA Header”,就是数据库的简要描述信息
纯文本

- Loading——意味着邻居的结束 ——加载

LSR——链路状态请求报文——设备发送LSR,请求自己数据库中没有的LSA

LSU——链路状态更新报文——设备收到对端发送的LSR,会将LSA放在LSU中,发送给对方

LSAck——链路状态确认报文——设备收到对端的LSU,会发送LSAck进行接收的确认
纯文本

- FULL——邻接状态

两台设备的OSPF数据库完全同步(完全相同),此时,彼此的状态是FULL——邻接
纯文本

🔻OSPF的邻居和邻接
邻居:2-way到Loading

邻接:FULL
纯文本

🔻display ospf peer brief命令详解
< R1 >display ospf peer brief

OSPF Process 1 with Router ID 1.1.1.1 //OSPF进程1,Router ID是1.1.1.1
Peer Statistic Information //邻居 统计 信息

Area IdInterfaceNeighbor idState
0.0.0.0GigabitEthernet0/0/02.2.2.2Full
0.0.0.13GigabitEthernet0/0/13.3.3.3Full

【 Area ID 】

邻居所在的区域

【 Interface 】

我通过哪个接口,和对端建立邻居

【 Neighbor id 】

邻居的Router ID

【 State 】

邻居的状态不是我的状态,我的状态应该在邻居那里查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/152886.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch之EfficientNetV2图像分类

文章目录 前言一、EfficientNet V21. 网络简介2. EfficientNetV1弊端&#x1f947;训练图像的尺寸很大时&#xff0c;训练速度非常慢&#x1f948;在网络浅层中使用Depthwise convolutions速度会很慢&#x1f949;同等的放大每个stage是次优的 3.NAS Search4. Progressive Lear…

3.3.OpenCV技能树--二值图像处理--图像形态学操作

文章目录 1.图像形态学运算简介2.图像开运算处理2.1.图像开运算处理简介2.2.图像开运算处理代码2.3.图像开运算处理效果 3.图像闭运算处理3.1.图像闭运算处理简介3.2.图像闭运算处理代码3.3.图像闭运算处理效果 4.图像形态学梯度处理4.1.图像形态学梯度处理简介4.2.图像形态学梯…

如何保证 RabbitMQ 的消息可靠性?

项目开发中经常会使用消息队列来完成异步处理、应用解耦、流量控制等功能。虽然消息队列的出现解决了一些场景下的问题&#xff0c;但是同时也引出了一些问题&#xff0c;其中使用消息队列时如何保证消息的可靠性就是一个常见的问题。如果在项目中遇到需要保证消息一定被消费的…

Leetcode---114双周赛

题目列表 2869. 收集元素的最少操作次数 2870. 使数组为空的最少操作次数 2871. 将数组分割成最多数目的子数组 2872. 可以被 K 整除连通块的最大数目 一、收集元素的最小操作次数 直接模拟&#xff0c;倒序遍历即可&#xff0c;代码如下 class Solution { public:int mi…

docker搭建jenkins

1.拉取镜像 docker pull jenkinsci/blueocean 2.启动容器 docker run -d -u root -p 8666:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name MyJenkins jenkinsci/blueocean 3.访问ip:port,就能访问了 4.docker logs 容器…

Go 团队发布组织 / 构建 Go module 的官方指南

导读Go 团队发布了一份官方指南&#xff0c;帮助开发者更规范地组织 / 构建 Go module。 刚接触 Go 的开发者常见问题之一是&#xff0c;“就文件和文件夹的组织布局而言&#xff0c;如何组织我的 Go 项目&#xff1f;”。这份指南就是提供建议来帮助回答这个问题。其中包括针对…

基于Softmax回归的多分类任务

Logistic回归可以有效地解决二分类问题&#xff0c;但在分类任务中&#xff0c;还有一类多分类问题&#xff0c;即类别数C大于2 的分类问题。Softmax回归就是Logistic回归在多分类问题上的推广。 使用Softmax回归模型对一个简单的数据集进行多分类实验。 首先给大家看一下需要的…

多路彩灯控制器led流水灯VHDL速度可调仿真图视频、源代码

名称&#xff1a;多路彩灯控制器led流水灯VHDL速度可调 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; 使用VHDL设计彩灯控制器&#xff0c;共24个led灯&#xff0c;分为5种不同的花样&#xff0c;可以通过按键切换花样的变化速度。 代码下载&#…

VBox启动失败、Genymotion启动失败、Vagrant迁移

VBox启动失败、Genymotion启动失败、Vagrant迁移 2023.10.9 最新版本vbox7.0.10、Genymotion3.5.0 Vbox启动失败 1、查看日志 Error -610 in supR3HardenedMainInitRuntime! (enmWhat4) Failed to locate ‘vcruntime140.dll’ 日志信息查看方法->找到虚拟机所在位置->…

如何开始学习量子机器学习

一、关于量子计算 这是我关于量子机器学习&#xff08;QML&#xff09;的第二篇文章&#xff0c;这是第一篇&#xff0c;关于为什么你应该开始学习QML。 开始研究量子机器学习很困难&#xff0c;因为我不知道我需要了解多少量子力学和计算知识。我在101年上大学时上了量子力学2…

抽象轻松的java-mybatis简单入门

第一步&#xff1a;用IDEA新建一个java包 第二步&#xff1a;在IDEA中添加数据库&#xff08;ps&#xff1a;自己百度&#xff09; 点击数据库 第二步&#xff0c;新建数据库 选择你使用的数据库 用户与密码根据自己的设置进行配置 为了更方便的查看数据库&#xff0c;可以像图…

【kubernetes】带你了解k8s中PV和PVC的由来

文章目录 1 为什么需要卷(Volume)2 卷的挂载2.1 k8s集群中可以直接使用2.2 需要额外的存储组件2.3 公有云 2 PV(Persistent Volume)3 SC(Storage Class) 和 PVC(Persistent Volume Claim)4 总结 1 为什么需要卷(Volume) Pod是由一个或者多个容器组成的&#xff0c;在启动Pod中…

Linux免密登录

目标&#xff1a; 192.168.233.31 ton-pc-003 192.168.233.32 ton-pc-004 在ton-pc-004&#xff08;以下简称004&#xff09;免密登录ton-pc-003&#xff08;以下简称003&#xff09; 具体流程和说明&#xff1a; 1、在004&#xff08;客户机&#xff09;中生成秘钥对 ssh…

【计算机视觉|人脸建模】学习从4D扫描中获取的面部形状和表情的模型

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Learning a model of facial shape and expression from 4D scans 链接&#xff1a;Learning a model of facial shape and expression from 4D scans | ACM Transactions on Graphics Pe…

解决方案:AI赋能工业生产3.0,从工业“制造”到“智造”

视频监控技术是一种既成熟又广泛应用于工业制造领域的先进技术。它可以通过安装各种摄像头和传感器来监测整个生产流程&#xff0c;包括原材料的采购、加工、装配和物流等环节&#xff0c;从而实现对生产过程的实时监控和管理&#xff0c;以及对异常事件的及时预警和响应。 在…

【SV中的多线程fork...join/join_any/join_none】

SV中fork_join/fork_join_any/fork_join_none 1 一目了然1.1 fork...join1.2 fork...join_any1.3 fork...join_none 2 总结 SV中fork_join和fork_join_any和fork_join_none; Note: fork_join在Verilog中也有&#xff0c;只有其他的两个是SV中独有的&#xff1b; 1 一目了然 1.…

FreeRTOS自我救赎3之USB虚拟串口

任何项目的功能都从需求出发&#xff0c;在这里我用的是斥侯蜂的一块STM32F407ZGT6 在开发一个项目的过程中&#xff0c;免不了串口调试&#xff0c;而这块板子板载的mircousb不是直接连的引脚而是一个OTGUSB

SpringCloud Alibaba - Seata 部署 TC 服务,并集成微服务

目录 一、Seata 架构 1.1、Seata 架构重要角色 1.2、部署 TC 服务 1.2.1、前言 1.2.2、下载 seata-server 包&#xff0c;解压 1.2.3、修改配置 1.2.4、在 nacos 中添加配置 1.2.5、创建数据库表 1.2.6、启动 TC 服务 1.3、微服务集成 Seata 1.3.1、引入依赖 1.3.2、…

SpringBoot 实现数据脱敏

SpringBoot 实现数据脱敏 前言Hutool 实现数据脱敏引入依赖脱敏工具类代码实现 使用注解的方式定义枚举自定义序列化类定义注解测试 前言 数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形&#xff0c;实现敏感隐私数据的可靠保护。 数据脱敏常用规则有替换、重排、加密…

C++对象模型(8)-- 数据语义学:this指针

1、this指针的认识 this 是 C 中的一个关键字&#xff0c;也是一个 const 指针 &#xff0c;它指向当前对象&#xff0c;通过它可以访问当前对象的所有成员。所谓当前对象&#xff0c;是指正在使用的对象。 假如有这么一个类&#xff1a; class Base { public:int b_i;int b…