开放最短路径优先 - OSPF【LSA详细】

目录

LSA的头部结构

LSA类型

LSA数据包


LSA的主要作用是传递路由信息。

LSA的头部结构

共占20个字节,不同类型的LSA头部字段部分都是相同的。

  • 链路状态老化时间(Link-State Age)

    • 2个字节。指示该条LSA的老化时间,即它存在了多长时间,单位为秒。

    • 正常情况下,一条LSA的存在时间为1800秒。计时达到1800秒时归零,开始重新计时。

    • 最大老化时间为3600秒。当一条LSA计时达到3600秒时,会被认定为失效,将从本地LSDB中删除。

    • 当网络拓扑变更时,有关的LSA不论计时多少,都将会立即更新。

  • 可选项(Options)

    • 1个字节。每一个比特位都对应了OSPF 所支持的某种特性。和hello包中的一样,包含特殊区域标记。

      • E:是否允许泛洪AS-External-LSA(5类LSA)。

      • MC:转发IP组播报文。

      • N/P:处理Type-7 LSA。

      • DC:处理按需链路。

  • 链路状态类型(Link-State Type)

    • 1个字节。指示本条LSA的类型。每种 LSA用于描述OSPF 网络的某个部分,所有的LSA类型都定义了相应的类型编号。

      • Type1:Router-LSA

      • Type2:Network-LSA

      • Type3:Network-summary-LSA

      • Type4:ASBR-summary-LSA

      • Type5:AS-External-LSA

      • Type7:NSSA-LSA

  • 链路状态ID(Link-State ID)

    • 4个字节。LSA的标识。不同的LSA类型,对该字段的定义是不同的。作用是与LSA数据包中的LS Type和LSA description一起描述一个LSA。

  • 通告路由器(Advertising Router)

    • 4个字节。始发路由器, 产生该LSA的路由器的Router-ID。

  • 链路状态序列号(Link-Sate Sequence Number)

    • 4个字节。该LSA的序列号,该字段用于判断LSA的新旧或是否存在重复。一般存储在LSDB中的LSA的序列号都是最新的。

  • 链路状态校验和(Link-State Checksum)

    • 2个字节。验证数据真实性。

    • 校验和会参与LSA的新旧比较。当两条LSA三元组相同,并且序列号也相同时,则可以使用校验和比较,和大的认定为新。

  • 长度(Length)

    • 2个字节。一条LSA的总长度(包括包头)。

LSA类型

这里只介绍6种常用LSA。

  • Router-LSA(1类)

    • 描述区域内部每一个路由器与其直连的路由器的链路信息(包括链路类型、开销值等)。

    • 这类LSA仅在区域内传递。

    • 每一台路由器都会产生这类LSA。

  • Network-LSA(2类)

    • 描述区域内的MA网络(广播网络、NBMA网络)链路的路由器及掩码信息,仅在区域内部传输。

    • 仅在区域内传输。

    • 只由DR产生。

  • Summary-LSA(3类)

    • 在整个OSPF区域内,描述其他区域的链路信息。

    • 以子网形式传播,类似于转递路由信息。

    • 只由ABR产生。

    • 该类LSA跨区域传播时,因转发时的通告路由器不同,故与非跨区域传输情况下相比,虽然描述的是同样的信息,但不是同一条LSA。

  • Asbr-summary-LSA(4类)

    • 描述到ASBR的信息。

    • 只由ABR产生,且在ASBR本区域内的路由器不会产生到达该ASBR设备的4类LSA。

  • AS-extenal-LSA(5类)

    • 传递域外路由信息。

    • 描述AS外部引入的路由信息,会传播到AS内的所有区域(除特殊区域)。

    • 只由ASBR产生。

    • 5类LSA生成的路由信息标志为O_ASE,优先级为150。

  • NSSA-LSA(7类)

    • 描述在NSSA区域引入的AS外部路由信息。

    • 由NSSA区域的自治域边界路由器ASBR产生。

    • 只出现在NSSA和Totally-NSSA区域,不进入区域0(骨干区域)。

    • 7类LSA生成的路由信息标志为O_NSSA,优先级为150。

LSA数据包

1类LSA(Router-LSA)

该类型LSA头部中的链路状态ID(Link-State ID)为生成LSA的Router ID。

  • 0(无含义)

  • 标志位

    • V位(Virtual Link Endpoint Bit):如果该位置为1,表示该路由器为Virtual Link的端点。路由器启用虚链路功能,该位会被置为1。

    • E位(External Bit):该位置为1,则表示该路由器为自治系统边界路由器(ASBR)。

    • B位(Border Bit):该位置为1,则表示该路由器为区域边界路由器(ABR)。

  • 0(无含义)

  • 链路数量(links)

    • 该条LSA描述的链路信息数量,包括路由器上处于某区域中的所有链路和接口。

  • 链路ID(Link ID)

    • 路由器所接入的目标,其值取决于连接的类型。

    • 当链路类型为Trans net时

      • 该字段为本网络的DR的IP地址。

    • 当链路类型为P2P时

      • 该字段为该网段对端的路由器的Router id。

    • 当链路类型为末梢网络时

      • 该字段为该网段的网络地址。

    • 当链路类型为虚拟链路时

      • 该字段为虚链路邻居的Router id。

  • 链路数据(Link Data)

    • 连接数据,其值取决于连接的类型。

    • 当链路类型为Trans net时

      • 该字段为本路由器在该网段的IP地址。

    • 当链路类型为P2P时

      • 该字段为本路由器在该网段的与对端路由器相连的接口IP地址。

    • 当链路类型为末梢网络时

      • 该字段为该网段的子网掩码。

    • 当链路类型为虚拟链路时

      • 该字段为去往该虚连接邻居的本地接口的IP地址。

  • 链路类型(Type)

    • 描述该接口的二层类型

      • 值为1表示该路由器是点到点连接到另一台路由器,即P2P网络(PPP)。

      • 值为2表示该路由器是连接到传输网络,即Trans net网络(NBMA或者广播网络)。

      • 值为3表示该路由器是连接到stub网络,即末梢网络(P2P或者环回口,由Data中的子网掩码判断具体类型,只有环回口能有32位的掩码)。

      • 值为4表示是虚拟链路(虚链路)。

  • TOS的数量

    • 连接不同的TOS数量。

  • 度量值(metric)

    • 链路的开销值。

  • TOS

    • 服务类型。

  • 0(无含义)

  • TOS度量(TOS metric)

    • 和指定TOS值相关联的度量。

  • 链路ID、链路数据……

    • 描述下一条链路信息。

2类LSA(Network-LSA)

该类型LSA头部中的链路状态ID(Link-State ID)为DR的接口IP地址。

  • 网络掩码(Network Mask)

    • 该MA网络中的网络地址掩码信息。

  • 连接路由器(Attached Router)

    • 连接在同一个网络上的所有路由器的Router ID。如果有多台路由器接入 MA 网络,就使用多个字段描述。

3类LSA(Summary-LSA)和4类LSA(Asbr-summary-LSA)

3类和4类LSA具有相同的格式,它们都是由ABR产生。

Summary-LSA中,LSA头部中的链路状态ID(Link-State ID)为通告的网络地址。

ASBR Summary LSA中,LSA头部中的链路状态ID(Link-State ID)表示ASBR的Router ID。

  • 网络掩码(Network Mask)

    • Summary-LSA中,该MA网络中的网络地址掩码信息。

    • ASBR-Summary-LSA中,此字段无意义,设置为0.0.0.0(RFC规定)。

  • 度量值(metric)

    • Summary-LSA中,为ABR到达目的地址的开销值。

    • ASBR-Summary-LSA中,为ABR 自己到达 ASBR 的开销值。

  • TOS

    • 服务类型。

  • TOS metric

    • 和指定TOS值相关联的度量。

  • 注意

    • 在通告缺省路由时,Link State ID和Network Mask都设置为0.0.0.0。

5类LSA(AS-External-LSA)

该类型LSA头部中的链路状态ID(Link-State ID)为通告的网络地址。

  • 网络掩码(Network Mask)

    • 通告的目的地址掩码信息。

  • E

    • 外部度量值类型

      • 0代表为第一类外部路由。

      • 1代表为第二类外部路由。

  • 度量值(metric)

    • 到达目的地址的开销值。

  • 转发地址(Forwarding Address)

    • 到所通告的目的地址的报文将被转发到这个地址。

    • 该字段如果非0,数据包直接发往FA地址(通常为ASBR的下游接口地址),如果为0,数据包发往ASBR的Router ID。

  • 外部路由标签(External Route Tag)

    • 添加到外部路由上的标记。OSPF本身并不使用这个字段,它可以用来对外部路由进行管理(如与路由策略配合等)。

  • TOS

    • 服务类型。

  • TOS metric

    • TOS附加的距离信息。

  • 注意

    • AS-External-LSA的LSA可以用来通告缺省路由,此时Link State ID和Network Mask都设置为0.0.0.0。

7类LSA(NSSA-LSA)

7类和5类LSA的报文格式基本一样。

  • 需要要注意的是,NSSA-LSA数据包中具有一个传播位(P-bit),由ASBR设置,该字段置1时,ABR会将此7类LSA转换为5类LSA。为0时,则仅保留在NSSA内部,不转换。

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

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

相关文章

SpringBoot+Spring+MyBatis相关知识点

目录 一、相关概念 1.spring框架 2.springcloud 3.SpringBoot项目 4.注解 5.SpringBoot的文件结构 6.启动类原理 二、相关操作 1.Jar方式打包 2.自定义返回的业务状态码 3.Jackson 4.加载配置文件 5.异常处理 三、优化配置 1.简化sql语句 2.查询操作 复杂查询 一…

《双影奇境》手机版上线?ToDesk用跨平台技术实现「全设备云电脑3A游戏」

《双影奇境》是由Hazelight Studios研发发行的一款双人合作冒险类游戏,玩家们在游戏中将扮演米欧和佐伊两位风格迥异的女作家,剧情讲述的是她们被骗进入一台意在窃取创意的机器后便陷入了自己创作的故事之中,并且必须相互依靠,努力…

【教程】Windows下 Xshell 连接跳板机和开发机

需求 使用远程连接工具 Xshell 连接跳板机,再从跳板机连接开发机,用户登陆方式为使用密钥。 方法 首先,建立一个会话,用于配置跳板机信息和开发机转跳信息: 在【连接】页面,给跳板机取个名字&#xff0c…

如何快速入门物联网单片机开发?

背景 物联网单片机硬件开发涉及多个阶段,元器件是否“自己设计”取决于具体需求。以下是详细解答和学习方案: 一、元器件是否自己设计? 通用元器件: 大多数情况下,开发者直接使用现成的标准化元器件(如电阻…

每日一题(小白)模拟娱乐篇11

由题可知就是要求计算一个数字,可以整除10进制的每一位,亦可以整除8进制和16进制的每一位。要求找出第2023个能够在三个进制下同时被10进制整除的数字。 Java中已经封装了进制转换的方法,以下是一些常用的转换方法:👇…

阿里巴巴langengine二次开发大模型平台

阿里巴巴LangEngine开源了!支撑亿级网关规模的高可用Java原生AI应用开发框架 - Leepy - 博客园 阿里国际AI应用搭建平台建设之路(上) - 框架篇 基于java二次开发 目前Spring ai、spring ai alibaba 都是java版本的二次基础能力 重要的是前端工作流 如何与 服务端的…

MINIQMT学习课程Day8

获取qmt账号的资金账号后,我们进入下一步,如何获得当前账号的持仓情况 还是之前的步骤,打开qmt,选择独立交易, 之后使用pycharm,编写py文件。 from xtquant import xtdata from xtquant.xttrader import…

在QGIS中将矢量数据导出为JSON

在QGIS中将矢量数据导出为JSON的完整操作指南如下,支持GeoJSON标准格式及自定义配置: 一、标准GeoJSON导出(推荐) 适用场景:生成符合OGC标准的地理JSON文件,适用于Web地图开发 准备图层 确保目标图层在QG…

Netty——连接超时 与 断开重连

文章目录 1. 处理连接超时和断开重连的原因2. 处理连接超时和断开重连的方法2.1 处理连接超时2.1.1 步骤一:配置连接超时时间2.1.2 步骤二:监听连接结果 2.2 处理断开重连2.2.1 步骤一:监听连接断开事件2.2.2 步骤二:实现重连逻辑…

Redis 与 AI:从缓存到智能搜索的融合之路

Redis 与 AI:从缓存到智能搜索的融合之路 在当今数字化时代,Redis 不仅是一个高性能的缓存系统,更是一个强大的 AI 支持平台。Redis 通过其向量数据库功能和 AI 工具,为现代应用提供了独特的技术优势。 一、Redis 的 AI 能力 &…

LeetCode435 -- 预定会议问题

0. ref 参考自 1. 题目描述 预定会议问题:给定我们一堆区间,区间不能重叠( [ 1 , 2 ] [1,2] [1,2] 和 [ 2 , 3 ] [2,3] [2,3] 的 2 2 2 不算重叠),求最多能保留多少个区间? 做法:贪心&#…

leetcode51-N皇后

leetcode 51 思路 本题可以使用回溯算法来解决。回溯算法通过尝试所有可能的解决方案来找到问题的解的算法,当发现当前的选择无法得到有效的解决方案时,就回溯到上一步,尝试其他的选择。对于 N 皇后问题,我们可以逐行放置皇后&…

linux paste 命令

paste 是 Linux 中一个用于水平合并文件内容的命令行工具,它将多个文件的对应行以并行方式拼接,默认用制表符(Tab)分隔。 1. 基本语法 paste [选项] 文件1 文件2 ... 2. 常用选项 选项说明-d指定拼接后的分隔符(默…

Linux 入门:基础开发工具(上)vim,gcc/g++,make/makefile

目录 一.软件包管理器 一).软件包 二).安装软件 三).删除软件 二.编辑器vim 一).vim的基本介绍 1.正常/普通/命令模式(Normal mode) 2.插入模式(Insert mode) 3.底行模式(last line mode) 二).vim的基本操作 …

在CPU服务器上部署Ollama和Dify的过程记录

在本指南中,我将详细介绍如何在CPU服务器上安装和配置Ollama模型服务和Dify平台,以及如何利用Docker实现这些服务的高效部署和迁移。本文分为三大部分:Ollama部署、Dify环境配置和Docker环境管理,适合需要在本地或私有环境中运行A…

请求被中止: 未能创建 SSL/TLS 安全通道。

需要安装vs2019社区办,下载VisualStudioSetup.exe后,报无法从"https://aka,ms/vs/16/release/channel"下载通道清单错误,接着打开%temp%目录下的最新日志,发现日志里报: [27d4:000f][2025-04-04T21:15:43] …

第六课:AI绘画进阶模型

文章目录 Part.01 文本嵌入(Embeddings)Part.02 低秩模型(LoRa)Part.03 超网络(Hypernetwork)Part.01 文本嵌入(Embeddings) Embeddings(Textual Inversion)Checkpoint如果是字典,Embeddings就是书签,让检索更加高效深度学习中Embeddings叫做嵌入式向量使用方法:下载Embeddi…

阅读分析Linux0.11 /boot/setup.s

目录 第一部分第二部分第三部分 该源文件功能分为三部分: (1)源文件开始部分是通过各种中断指令, 初始化计算机的组成硬件,获得硬件的参数,然后保存到段空间0X9000。该空间原来是保存加载到内存的引导扇区内…

TSMaster在新能源汽车研发测试中的硬核应用指南

——从仿真到标定,全面赋能智能汽车开发 引言:新能源汽车测试的挑战与TSMaster的破局之道 新能源汽车的快速发展对研发测试提出了更高要求:复杂的电控系统、高实时性通信需求、多域融合的验证场景,以及快速迭代的开发周期。传统测…

web漏洞靶场学习分享

靶场:pikachu靶场 pikachu漏洞靶场漏洞类型: Burt Force(暴力破解漏洞)XSS(跨站脚本漏洞)CSRF(跨站请求伪造)SQL-Inject(SQL注入漏洞)RCE(远程命令/代码执行)Files Inclusion(文件包含漏洞)Unsafe file downloads(不安全的文件下载)Unsafe file uploads(不安全的文…