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特征点数量为正常的两倍(目的就是能够在初…

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的偏移量。放在一个整体计划后,需要指向一个统一…

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

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

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

目录 一、概述 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…

【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…

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

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

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

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

Python数据分析与机器学习在电子商务推荐系统中的应用

文章目录 &#x1f4d1;引言一、推荐系统的类型二、数据收集与预处理2.1 数据收集2.2 数据预处理 三、基于内容的推荐3.1 特征提取3.2 计算相似度3.3 推荐物品 四、协同过滤推荐4.1 基于用户的协同过滤4.2 基于物品的协同过滤 五、混合推荐与评估推荐系统5.1 结合推荐结果5.2 评…

Qwen2本地部署的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

网络安全技术实验一 信息收集和漏洞扫描

一、实验目的和要求 了解信息搜集和漏洞扫描的一般步骤&#xff0c;利用Nmap等工具进行信息搜集并进行综合分析&#xff1b;掌握TCP全连接扫描、TCP SYN扫描的原理,利用Scapy编写网络应用程序&#xff0c;开发端口扫描功能模块&#xff1b;使用漏洞扫描工具发现漏洞并进行渗透测…

8款高效电脑维护与多媒体工具合集!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://h5.cxyhub.com/?invitationhmeEo7 1. 系统安装利器——WinNTSetup 系统安装利器&#xff0c;目前最好用的系统安装器&#xff0c;Windows系统安装部署工具。支持所…

跟我学,数据结构和组原真不难

我个人认为408中计算机组成原理和数据结构最难 难度排行是计算机组成原理>数据结构>操作系统>计算机网络。 计算机组成原理比较难的原因是&#xff0c;他涉及的硬件的知识比较多&#xff0c;这对于大家来说难度就很高了&#xff0c;特别是对于跨考的同学来说&#x…

ABB机械人模型下载

可以下载不同格式的 https://new.abb.com/products/robotics/zh/robots/articulated-robots/irb-6700 step的打开各部件是分开的&#xff0c;没有装配在一起&#xff0c;打开看单个零件时&#xff0c;我们会发现其各零件是有装配的定位关系的。 新建一个装配环境&#xff0c;点…

【qt】MDI多文档界面开发

MDI多文档界面开发 一.应用场景二.界面设计三.界面类设计四.实现功能1.新建文档2.打开文件3.关闭所有4.编辑功能5.MDI页模式6.瀑布展开模式7.平铺模式 五.总结 一.应用场景 类似于vs的界面功能,工具栏的功能可以对每个文档使用! 二.界面设计 老规矩,边做项目边学! 目标图: 需…

【JMeter接口测试工具】第二节.JMeter项目实战(上)【实战篇】

文章目录 前言项目实战零、接口测试流程一、测试数据准备二、接口功能测试三、掌握测试用例编写四、自动化脚本架构搭建总结 前言 零、接口测试流程 1、制定测试计划,分配任务 2、从 API 文档中提取接口清单&#xff1a;对 API 文档简化,提高测试效率,接口清单就是对 API 文档…