OSPF-2 邻接建立关系

上一期我们说了OSPF的邻居建立关系以及OSPF邻居关系建立中建立失败的因素以及相关实验案例

这一期我们来说说OSPF的邻接关系建立时需要交互哪些报文以及失败因素及原因和相关实验案例

一、概述

在运行了OSPF的网络当中为了交互链路状态信息和路由信息,互相之间需要建立邻接关系。

邻居关系不等于邻接关系

不是所有的邻居关系都可以建立邻接关系

在广播型网络当中(MA网络类型)与NBMA网络类型中,Dr other只与DR/BDR建立邻接关系。

什么是邻接关系

邻接关系是建立完邻居关系后进一步建立的,当建立OSPF邻居的两端路由器交互完DD报文以及LSA之后才算建立完邻接关系。

二、OSPF的邻居状态

OSPF的邻居状态

Down这是邻居的初始状态,表示没有从邻居收到任何信息
Init在此状态下,路由器已经从邻居收到了Hello报文,但是自己的Router ID不在收到的Hello报文的邻居列表当中
2-way在此状态下,路由器发现自己的Router ID存在于收到的Hello报文的邻居列表当中

OSPF的邻接状态

Exstart邻居状态变成此状态之后,路由器开始向邻居发送DD报文
Exchange在此状态下,路由器与邻居之间相互发送包含链路状态信息摘要的DD报文
Loading在此状态下,路由器与邻居之间相互发送LSR报文、LSU报文、LSAck报文。
Full路由器完成了邻居的LSDB链路状态数据库同步

三、影响OSPF邻接状态的因素

MTU建立邻接关系的两端路由器的接口MTU参数需要一致
静默接口建立邻接关系的两端路由器的接口不能设置为静默接口,如果设置为静默接口邻居关系也无法建立成功
过滤OSPF报文建立邻接关系的两端路由器不能配置ACL过滤OSPF报文,如果过滤了OSPF报文邻居关系也无法建立成功

1、MTU

建立邻接关系的两端路由器的接口MTU值不一致时会卡在Exstart状态,华为默认不开启MTU检查发出的DD报文中的MTU值为0,所以在默认情况下修改MTU的参数并不会直接影响OSPF邻接关系的建立

只有开启了MTU检测后才会把接口的MTU值写入DD报文中

四、OSPF邻接关系过程

邻居状态Down~2-way路由器在接口下运行OSPF协议,周期性发送Hello报文发现邻居并建立邻居关系
Exstart通过发送DD报文来协商MTU和主从关系,RID大的为主
Exchange基于选举出来的主从关系,由从先发送带有链路状态信息摘要的DD报文
LoadingOSPF邻居之间开始交互LSR、LSU、LSAck报文。
FullLSDB同步完成,OSPF邻居之间完成邻接关系的建立

1、MA广播型网络建立邻接关系过程

拓扑

 (1)基础配置

AR1
system
sysname AR1
interface g0/0/0
ip add 192.168.1.1 24AR2
system
sysname AR2
interface g0/0/0
ip add 192.168.1.2 24

(2)OSPF配置

AR1
ospf 1 router-id 1.1.1.1
area 0
network 0.0.0.0 255.255.255.255AR2
ospf 1 router-id 2.2.2.2
area 0
network 0.0.0.0 255.255.255.255

通过发送Hello报文发现OSPF邻居,建立邻居关系

Down~2-way

当AR1的邻居状态变为Exstart后,AR1会发送第一个DD报文,此报文当中DD报文的序列号为随机的X,I为1表示为第一个DD报文,M为1表示还有后续的DD报文,MS为1表示自己为主

2-way~Exstart

我们可以看到在没有配置MTU检查时发送的DD报文中的MTU值默认为0

I是否为第一个DD报文,如果为1表示为第一个,如果为0表示不是第一个
M是否有后续的DD报文也可以理解为是否为最后一个DD报文,如果为1代表后续还有,如果为0则为最后一个
MS是否为主,如果为1表示为主,如果为0表示为从,所有OSPF邻居在第一个发送DD报文时都认为自己是主所以这里都为1

Exstart~Exchang

我们可以看到是由从先发送后续的DD报文并且这个DD报文中携带了LSA的摘要信息,也就是有内容的DD报文
Exchange~Full

开始交互LSR、LSU、LSAck报文交互LSA链路状态信息

AR1与AR2会发送LSR请求DD报文下发现的并且在本地LSDB中没有的链路状态信息

LSR请求LSA,只携带LSA的摘要信息类似于目录
LSU对LSA的回应,携带全部的LSA信息内容
LSAck对LSU的确认,携带LSA的摘要

此时就完成了OSPF邻接关系的建立

2、开启MTU检查后建立邻接关系

拓扑

 这里我们把AR1的接口MTU配置为1400并在两端开启MTU检查看看是否可以建立OSPF邻接关系

这里我们可以看到AR1发送的DD报文中MTU字段为配置的1400并且邻居状态会卡在Exstart状态,查看错误报告时会发现MTU协商错误

 

 到这里本章内容就到此结束了如果有疑问可以+博主私聊,如果哪里有问题欢迎私聊博主及时更改谢谢大家的观看学习!!!

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

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

相关文章

app.config.globalProperties

目录 一:基础使用 1、简介 2、使用 3、打印结果: 二:封装 1、创建一个.ts文件(utils/msg.ts) 2、在main.ts中全局注册 3、在页面中使用 4、打印结果 一:基础使用 1、简介 app.config.globalProperties 是 Vue 3 应用实例(app)的一个配置属性&…

初探大模型开发:使用 LangChain 和 DeepSeek 构建简单 Demo

最近,我开始接触大模型开发,并尝试使用 LangChain 和 DeepSeek 构建了一个简单的 Demo。通过这个 Demo,我不仅加深了对大模型的理解,还体验到了 LangChain 和 DeepSeek 的强大功能。下面,我将分享我的开发过程以及一些…

基于RWA 与 AI-Agent 协同的企业数字化生态构建

在当前数字经济高速发展的背景下,企业数字化转型已成为提升竞争力和创新能力的必由之路。以实体零售与文旅行业为代表的传统产业,正通过现实世界资产(RWA)数字化与人工智能代理(AI-Agent)的协同应用&#x…

专题地图的立体表达-基于QGIS和PPT的“千层饼”视图制作实践

目录 前言 一、QGIS准备基础数据 1、QGIS 相关插件 2、图层标绘操作 二、PPT中制作 1、调整图片的规格 2、设置旋转 3、添加文字 三、总结 前言 在信息爆炸的时代,数据的可视化呈现变得愈发关键,而专题地图作为传递地理空间信息的有力工具&#…

3D文物线上展览如何实现?

3D文物线上展览的实现主要依赖于一系列先进的数字技术和创新手段,以下是实现3D文物线上展览的关键步骤和技术要点: 一、文物数字化采集与建模 高精度扫描: 使用专业的3D扫描仪对文物进行高精度扫描,获取文物的三维数据。积木易…

SpringCloud 学习笔记1(Spring概述、工程搭建、注册中心、负载均衡、 SpringCloud LoadBalancer)

文章目录 SpringCloudSpringCloud 概述集群和分布式集群和分布式的区别和联系 微服务什么是微服务?分布式架构和微服务架构的区别微服务的优缺点?拆分微服务原则 什么是 SpringCloud ?核心功能与组件 工程搭建父项目的 pom 文件 注册中心Rest…

1140:验证子串--next.data()、KMP和find

1140:验证子串--KMP 题目 解析next.data()KMP代码Find代码 题目 解析 对于字符串的匹配常见的KMP算法【面试常考】 KMP中需要注意的是:应该从下标1开始遍历,因为下标0前面无值,不能匹配next 固在循环外应初始next[0]0;//易忘点 …

Python 实现大文件的高并发下载

项目背景 基于一个 scrapy-redis 搭建的分布式系统,所有item都通过重写 pipeline 存储到 redis 的 list 中。这里我通过代码演示如何基于线程池 协程实现对 item 的中文件下载。 Item 结构 目的是为了下载 item 中 attachments 保存的附件内容。 {"crawl_tim…

ubuntu中用docker下载opengauss

1.安装docker sudo apt install docker.io2.拉取opengauss镜像 sudo docker pull enmotech/opengauss3.创建容器 sudo docker run --name opengauss --privilegedtrue -d -e GS_PASSWORDEnmo123 enmotech/opengauss:latest3.5.如果容器停止运行(比如关机了&#…

从零基础到能独立设计单片机产品,一般需要经历哪些学习阶段?

相信很多人,内心都有“钢铁侠”的幻想,成为能写程序,能设计硬件,能设计结构,能焊接的全能型人才。 上次徐工问我,如果你财富自由了,想去做啥? 我说出来,可能大家都不信&a…

cursor中git提交记录出现 签出(已分离)

我当时在cursor中的git记录右键点击 签出(已分离) 就导致最左边的记录图标的颜色由蓝色变为了橙色 后面提交的记录都不在显示本地分支和远程分支 创建新分支:在您当前的分离HEAD状态下,创建一个新的分支来保存这些提交。 git checkout -b new-branch-nam…

软件测试之测试用例

1. 什么是测试用例 测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。 设计测试⽤例原则⼀: 测试⽤例中⼀个必需部分是对预期输出或结果进⾏定义 使…

Unity2D 井字棋

Unity版本2022.3 场景布置 其中可以通过给Board对象添加Grid Layout Group,然后设置每个子物体所占宽高快速排整齐。用完删掉。每个落子的方格ChessBox都是一个Button。 根据Board的宽高除以三即可。 然后隐藏按钮,通过设置alpha值实现。 将ChessBox的…

专题三搜索插入位置

1.题目 题目分析: 给一个目标值,然后要在排序的整数数组中,找到跟目标值一样的,如果没有就把这个值插入进去,然后返回插入后的下标。 2.算法原理 根据题目的时间复杂度可以知道要用二分,开始划分区域&…

正式进入linux 1.0

切记:在Linux中空格很重要 回车键也很重要,不要按两次回车键 ls是显示当前所有文件夹 具体解释: 前面的东西是用户名 后面的是设备名(计算机名) 这是因为linux允许不同用户在终端下进行操作,这么做可以…

分页查询的实现

目录 前言 一.问题描述 二.后端实现步骤 2.1配置PageHelper插件 ①导入依赖 ②在application.yml配置文件中添加相关配置 2.2编写一个入门的程序,体验分页过程 2.3定义一个vo,用来收集分页后的所有信息 2.4修改serviceImpl层的代码 2.5动态设…

16003. orin camera 相机驱动源码 imx477分析记录

文章目录 1 背景2 原理图2.1 CAM_MUX_SEL 4 lane 选通2.2 J21 和 J20 原理图3 驱动源码及设备树3.1 子设备树 tegra234-p3768-camera-rbpcv3-imx477.dtsi3.2 顶层设备树 tegra234-camera-rbpcv3-imx477.dtsi3.2.1 tegra-capture-vi 视频输入子系统节点配置.3.2.2 host1x 主机控…

无标签数据增强+高效注意力GAN:基于CARLA的夜间车辆检测精度跃升

目录 一、摘要 二、引言 三、框架 四、方法 生成合成夜间数据 昼夜图像风格转换 针对夜间图像的无标签数据增强技术 五、Coovally AI模型训练与应用平台 六、实验 数据 图像风格转换 夜间车辆检测和分类 结论 论文题目:ENHANCING NIGHTTIME VEHICLE D…

开源工具利器:Mermaid助力知识图谱可视化与分享

在现代 web 开发中,可视化工具对于展示流程、结构和数据关系至关重要。Mermaid 是一款强大的 JavaScript 工具,它使用基于 Markdown 的语法来呈现可定制的图表、图表和可视化。对于展示流程、结构和数据关系至关重要。通过简单的文本描述,你可…

C++算法学习2:二分算法精讲

一、实数二分法回顾 1.1问题背景 在1~2的范围内找到一个x&#xff0c;使得式子5x2 -9x 1 的绝对值<10-9&#xff08;即无限接近0&#xff09; 要求&#xff1a;x精确到小数点后9位。 换句话说也就是求&#xff1a;就是求方程 5x2- 9x 1 0 在1~2内的近似解 1.2怎么找到…