OSPF-2 邻接建立关系

devtools/2025/3/14 14:27:19/

上一期我们说了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.ppmy.cn/devtools/167043.html

相关文章

Linux云计算SRE-第二十周

完成ELK综合案例里面的实验,搭建完整的环境 一、 1、安装nginx和filebeat,配置node0(10.0.0.100),node1(10.0.0.110),node2(10.0.0.120),采用filebeat收集nignx日志。 #node0、node1、node2采用以下相同方式收集ngin…

【 <一> 炼丹初探:JavaWeb 的起源与基础】之 JavaWeb 项目的部署:从开发环境到生产环境

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、开发环境…

Vue项目搜索引擎优化(SEO)终极指南:从原理到实战

文章目录 1. SEO基础与Vue项目的挑战1.1 为什么Vue项目需要特殊SEO处理&#xff1f;1.2 搜索引擎爬虫工作原理 2. 服务端渲染&#xff08;SSR&#xff09;解决方案2.1 Nuxt.js框架实战原理代码实现流程图 2.2 自定义SSR实现 3. 静态站点生成&#xff08;SSG&#xff09;技术3.1…

vue 知识点整理

1.data为什么是一个函数而不是对象 维度对象形式函数形式数据隔离性所有实例共享同一对象&#xff0c;导致数据污染每个实例拥有独立数据副本复用安全性不适用于可复用组件支持组件安全复用语言机制引用传递引发副作用函数返回值实现作用域隔离&#xff08;闭包&#xff09;框…

OpenCV(应用) —— 凸包检测的实战应用

文章目录 一、凸包的概念二、Opencv中的API三、应用场景与实战3.1、实战场景一一、凸包的概念 常见的找寻目标的外轮廓有矩形框(如最小外接矩阵)和圆形框,但这种包围框为了保持几何形状,与图形的真实轮廓贴合度较差。如果能找出图形最外层的端点,将这些端点连接起来,就可…

什么是SWAP虚拟内存?使用服务器如何开启SWAP虚拟内存

一、SWAP 虚拟内存是什么&#xff1f;‌ ‌定义‌&#xff1a; SWAP&#xff08;交换分区&#xff09;是磁盘上的一块空间&#xff0c;用于在物理内存&#xff08;RAM&#xff09;不足时&#xff0c;将部分不活跃的内存数据临时存储到磁盘中&#xff0c;避免系统因内存耗尽而崩…

AI+Mermaid 制作流程图

一、引言 在软件开发的全生命周期里&#xff0c;文档编写扮演着举足轻重的角色。它犹如项目的“导航图”&#xff0c;为团队成员清晰呈现项目架构、功能流程和技术细节&#xff0c;是保障高效协作的关键。然而&#xff0c;传统的文字描述往往难以直观地展现复杂的系统架构、业…

怎样进行相关论文的调研——How to conduct research on relevant papers?

怎样进行相关论文的调研 写在前面1.打开Web of Science2.检索同类表达3.构建“检索式”什么是“检索式” 参考内容 写在前面 偶然间刷到一篇知乎文章&#xff0c;顺着文章的推荐看了钟澄老师的科研论和在B站上的教学视频&#xff0c;深入了解后发现读文章还有这么多讲究&#…