OSFP 1类LSA详解

概述

image-20240610024506845

上图为1类LSA的实际报文结构 , 在开始之前一定需要说明 , 1类LSA是OSPF中最复杂的LSA类型 , 在LSA头部的文章中详细介绍了 LS Type / Link State ID / Adv Router 3种头部字段 , 在1类LSA的主体内容中还存在类似的字段十分的相似 , 很多网络从业者难以理解的点就在于此 , 所以我在开头阐述清楚

1类LSA头部字段

LS Type : 代表1类LSA的类型

Link State ID : 代表产生此LSA设备的Router-ID

Adv Router : 代表产生此LSA设备的Router-ID

1类LSA主体中相似字段

Link Type : 路由器所接入的目标,其值取决于连接的类型 , 一共有4种 : P2P(拓扑信息) / Transit(拓扑信息) / Stub(网段信息) / Virtual Link(虚链路)

Link ID : 路由器连接的基本描述 , 数值的格式为x.x.x.x的IP地址格式 , 但是实际代表的含义和Link Type相关 , 下面具体说明

Link data : 具体数据 , 与Link ID类似 ,数值的格式为x.x.x.x的IP地址格式 , 具体含义和Link Type相关 , 主要是说明自身的信息

image-20240610032916574

image-20240610030334646

上图中Link Data的"路由器接口"是指LSA产生者 , 也就是本设备接口IP地址 , 我在Link Type中介绍P2P和Transit时用到了拓扑信息这个概念 , 如P2P的LinK ID为对端的设备名称 , Link Data是本端的接口IP , 这样其他设备收到这条1类LSA就可以得知LSA产生者的哪个接口链接了哪台OSPF设备 , 这种本端+对端信息的方式就是拓扑信息 ,

除了虚连接我们不关心以外 , 其余的三种都是经常看到的 , 后续的文章内容我们就以LSA的主体内容为例 , 不再体现LSA头部中的字段 , 避免出现理解困难

P2P网络下的Router-LSA

首先说明一下如何在现网环境中配置OSPF链路为P2P , 以及为什么需要配置

如今数据中心网络都是全三层互联组网 , 不会出现多台路由器连接在一个2层网络下(广播以太网络) , 所以这种情况下我们并不需要DR机制来优化 , 以及DR接口选举需要等待的40S影响了OSPF的建立速度 , 所以在这个背景下我们会在OSPF邻居的接口下配置

int g1/0/1ospf network-type  p2p  (以太网环境下把OSPF接口类型改到P2P)

微信截图_20240610152044

如图 , 组成一个最简洁的OSPF网络 , 2台设备Router-id 0.0.0.1和0.0.0.2 通过1.1.1.0/24的网段互联 , 且OSPF接口修改为P2P类型

通过命令

dis ospf lsdb router self-originate  来查看本设备产生的1类LSA

未命名 2

其中P2P类型的LSA是拓扑信息 , 包含了本端和对端的信息映射 , OSPF设备可以通过这个信息补全拓扑 , StubNet就是路由信息 , 这是P2P中特有的 , 在MA网络中路由信息通过2类LSA携带 , 注意所有的回环口路由在1类中也是以StubNet的方式传递 ,

image-20240610170414493

MA网络下的Router-LSA

int g1/0/1ospf network-type broadcast   (以太网环境下把OSPF接口类型改到MA网络)

image-20240610170623255

在现网环境的OSPF中我们只关注MA网络类型和P2P网络类型即可 , 且大多数场景下都可以配置成P2P模式 , 来加速OSPF邻居的建立 , nbma和p2mp类型可以忽略

image-20240610172116929

通过观察MA网络下的1类LSA可以得知 , 正常情况下并不会携带路由信息(P2P下的1类LSA存在StubNet) , 只有TransNet是拓扑信息(没有掩码) , 在MA网络下的拓扑信息关键就是DR , OSPF会认为DR是一台真实存在的设备 , 可以把拓扑画成这样 . 每台设备是这样描述拓扑的 , 我的某个接口链接在了DR上 , 通过上图的接口1.1.1.1 链接到DR1.1.1.2 , 就可以获知DR一定是R2 ,

image-20240610171631326

可以通过

dis ospf interface 来查看设备上开启OSPF的接口, 以及其接口类型

image-20240610172306259

在R2上查看1类LSA 一定是1.1.1.2的接口接到了DR 1.1.1.2上

image-20240610172521136

总结

至此1类LSA的3种重要类型都已经通过P2P和MA网络接口类型来体现 , 我们来做一个总结

1类LSA拓扑信息路由信息
P2P网络P2PStubNet
MA网络TransNetDR产生的2类LSA (回环口还是使用的StubNet)

P2P网络 : 默认存在P2P/StubNet , 这种情况下没有DR , 所以不需要2类LSA

MA2网络 : 默认只存在 TransNet , 1类LSA没有掩码信息, 需要通过2类LSA补充 , 由DR设备产生发送

为什么MA网络不能和P2P一样 , 直接使用1类LSA同时描述拓扑信息和路由信息?

关键点在于P2P网络和MA网络在拓扑结构上的差异。P2P网络是明确定义的,每条链路上两个对端设备,因此1类LSA可以有效地描述整个拓扑和路由信息。而MA(多访问)广播网络,多台路由器可以通过交换机接入到同一个二层以太网络。在这种情况下,每台设备需要知道其他路由器的存在和状态信息。

因此,MA网络采用指定路由器(DR)和备用指定路由器(BDR)的机制,统一发布和维护网络的拓扑信息。DR负责生成网络的2类LSA,描述该广播网络的所有路由器,并发布到整个OSPF区域。这种机制优化了OSPF在大规模广播网络中的配置。

概要:P2P设置由于链路简单,1类LSA即可描述完整的拓扑和路由信息;而MA设置由于存在多个设备,需要通过DR和2类LSA来统一发布拓扑信息,确保每个路由器都能获得网络信息。

OSPF MA接口类型和P2P接口类型能否组成邻居?

这个分场景讨论 , 不同设备厂商的实现不一致 , 华为设备的确可以MA和P2P网络接口建立OSPF邻居 , 但是他们的路由计算会出现问题 , 华三设备在这个场景下无法建立OSPF邻居.

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

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

相关文章

orbslam2代码解读(2):tracking跟踪线程

书接上回,mpTracker->GrabImageMonocular(im,timestamp)函数处理过程: 如果图像是彩色图,就转成灰度图如果当前帧是初始化的帧,那么在构建Frame的时候,提取orb特征点数量为正常的两倍(目的就是能够在初…

vue3中$attrs与inheritAttrs的使用

Vue 3 引入了一些新特性和改进,其中之一就是对 $attrs 的处理方式。在 Vue 2 中,$attrs 包含了父组件传递给子组件的属性,但不包括子组件已经声明的 props。在 Vue 3 中,$attrs 的行为有所变化: 默认情况下&#xff0…

14. RTCP 协议

RTCP 协议概述 RTCP(Real-time Transport Control Protocol 或 RTP Control Protocol 或简写 RTCP),实时传输控制协议,是实时传输协议(RTP)的一个姐妹协议。 注:RTP 协议和 RTP 控制协议&#…

Postgresql源码(135)生成执行计划——Var的调整set_plan_references

1 总结 set_plan_references主要有两个功能: 拉平:生成拉平后的RTE列表(add_rtes_to_flat_rtable)。调整:调整前每一层计划中varno的引用都是相对于本层RTE的偏移量。放在一个整体计划后,需要指向一个统一…

Material-UI create-react-app 创建移动端 H5

当使用 create-react-app 和 Material-UI 来创建移动端 H5 页面时,你需要考虑几个关键点来确保页面在移动设备上表现良好。以下是一些步骤和最佳实践: 创建 React 项目 使用 create-react-app 快速创建一个新的 React 项目: npx create-react-app my-mobile-app cd my-mobil…

京东一面测开(KPI)

京东一面测开凉经(笔试ak) 3.8 面试官:你很优秀啊,你不用谦虚 没问技术相关,问了如何设计测试用例步骤一些理论: 什么是软件测试?其目的是什么? 软件测试有哪些类型?请列…

架构设计-全局异常处理器404、405的问题

java web 项目中经常会遇到异常处理的问题,普遍的做法是使用全局异常处理,这样做有以下几种原因: 集中化处理:全局异常处理允许你在一个集中的地方处理整个应用程序中的异常。这有助于减少代码重复,因为你不必在每个可…

GCROOT节点有哪些?

GCROOT节点在Java虚拟机中扮演着判断对象是否存活的起点角色。它们主要包括以下几种类型: 虚拟机栈中引用的对象: 这通常指的是各个线程被调用的方法堆栈中使用到的参数、局部变量、临时变量等。这些对象在虚拟机栈中被直接引用,因此它们及其…

项目方案:社会视频资源整合接入汇聚系统解决方案(五)

目录 一、概述 1.1 应用背景 1.2 总体目标 1.3 设计原则 1.4 设计依据 1.5 术语解释 二、需求分析 2.1 政策分析 2.2 业务分析 2.3 系统需求 三、系统总体设计 3.1设计思路 3.2总体架构 3.3联网技术要求 四、视频整合及汇聚接入 4.1设计概述 4.2社会视频资源分…

QT项目实战: 五子棋小游戏

目录 内容介绍 一.添加头文件 二.画棋盘 1.宏定义 2.棋盘 三.画棋子 四.获取棋子摆放位置 五.判断棋子存在 六.判断胜利 1.变量定义和初始化 2.检查获胜条件 3.游戏结束处理 七.重绘 八.效果展示 九.代码 1.mainwindow.h 2.mainwindow.cpp 3.chessitem.h 4…

HTML 中使用 JavaScript 的具体方式

文章目录 一、JavaScript 脚本添加方式1.1 内联 JavaScript1.2 内嵌 JavaScript1.3 外部引用 JavaScript 二、外部引用 JavaScript 的注意事项 一、JavaScript 脚本添加方式 在 HTML 文件中使用 JavaScript 代码主要由以下三种方法: 内联内嵌外部引用 1.1 内联 J…

【python】在【机器学习】与【数据挖掘】中的应用:从基础到【AI大模型】

目录 💗一、Python在数据挖掘中的应用💕 💖1.1 数据预处理💞 💖1.2 特征工程💕 💗二、Python在机器学习中的应用💕 💖2.1 监督学习💞 💖2.2…

【MySQL】(基础篇七) —— 通配符和正则表达式

通配符和正则表达式 本章介绍什么是通配符、如何使用通配符以及怎样使用LIKE操作符进行通配搜索,以便对数据进行复杂过滤;如何使用正则表达式来更好地控制数据过滤。 目录 通配符和正则表达式LIKE操作符百分号(%)通配符下划线(_)通配符 通配符使用技巧正…

深入理解 C++ 智能指针

文章目录 一、引言二、 原始指针的问题1、原始指针的问题2、智能指针如何解决这些问题 三、智能指针的类型四、std::shared_ptr1、shared_ptr使用2、shared_ptr的使用注意事项3、定制删除器4、shared_ptr的优缺点5、shared_ptr的模拟实现 五、std::unique_ptr1、unique_ptr的使…

SpringSecurity入门(三)

12、密码加密 12.1、不指定具体加密方式,通过DelegatingPasswordEncoder,根据前缀自动选择 PasswordEncoder passwordEncoder PasswordEncoderFactories.createDelegatingPasswordEncoder();12.2、指定具体加密方式 // Create an encoder with streng…

Java中的CAS无锁并发原理是怎样的

CAS(Compare And Swap)即比较并交换,是一种无锁并发算法的核心原理。 简单来说,CAS 原理通过以下三个步骤来实现: 1. 读取当前值:获取目标变量当前的值。 2. 比较预期值:将读取到的值与预…

逆运动学IK原理举例说明

逆运动学IK原理举例说明 逆运动学(Inverse Kinematics, IK)是计算机器人各个关节的位置和角度,使机器人末端(如手或脚)达到目标位置的过程。IK 是机器人学中的一个重要问题,因为它允许我们从任务空间(如末端执行器的位置和姿态)控制机器人关节空间(如关节角度)。 逆…

【iOS】UI学习——登陆界面案例、照片墙案例

文章目录 登陆界面案例照片墙案例 登陆界面案例 这里通过一个登陆界面来复习一下前面学习的内容。 先在接口部分定义两个UILabel、两个UITextField、两个UIButton按键&#xff1a; #import <UIKit/UIKit.h>interface ViewController : UIViewController {UILabel* _lb…

2024050501-重学 Java 设计模式《实战命令模式》

重学 Java 设计模式&#xff1a;实战命令模式「模拟高档餐厅八大菜系&#xff0c;小二点单厨师烹饪场景」 一、前言 持之以恒的重要性 初学编程往往都很懵&#xff0c;几乎在学习的过程中会遇到各种各样的问题&#xff0c;哪怕别人那运行好好的代码&#xff0c;但你照着写完…

深入解析分布式链路追踪:原理、技术及应用

目录 分布式链路追踪简介分布式链路追踪的基本概念 Span 和 Trace上下文传播采样策略 分布式链路追踪的工作原理常见的分布式链路追踪系统 ZipkinJaegerOpenTelemetry 分布式链路追踪的技术实现 数据收集数据传输数据存储数据展示 分布式链路追踪的应用场景 性能优化故障排除依…