ospfv3 中8、9类 LSA 和 ospfv2 中1、2类 LSA 的关联

一、拓扑:

二、ospfv2 中,1、2类 LSA长这样:

其中,R1 是DR:

8

其中,1类 LSA (Router-LSA):描述路由器的接口连接关系。

2类 LSA (Network-LSA):由DR描述MA网络中的路由器列表。既包含接口,又包含接口地址,即接口和地址/掩码信息是耦合在一起的,地址改变,则邻居关系消失,进而各自的 ospf 路由表开始进入路由毒化。

三、ospfv3 中,实现了拓扑和地址的解耦:

  • 1、2类 LSA 功能不变,但不再包含IPv6地址前缀信息;
  • 各路由器之间使用链路本地地址进行 ospfv3 邻居的建立和 LSA 的交互,即:8类 LSA (Link-LSA),通告接口的链路本地地址和与本链路关联的IPv6地址前缀),8类负责联系
  • 9类 LSA (Intra-Area-Prefix-LSA):通告区域内所有与1类、2类LSA关联的IPv6地址前缀信息,9类负责实际的地址宣告

再看下1、2类 LSA,只有宣告的路由ID 和 接口 ID了:

再看下9类;携带了实际的 ipv6 前缀地址,用于在本区域内泛洪:

在这里,ospfv3 用8类做拓扑建立起联系,用9类做拓扑上的"叶子"来做为缺失实际路由信息的1、2类 lsa,建立了拓扑和地址分离的 ospfv3 路由表信息:

四、为什么观察不到它们之间的关联呢?

  1. 观察不到直接的"关联字段"很正常,因为在 OSPFv3 的 LSDB(链路状态数据库) 里,8、9 类 LSA 与 1、2 类 LSA 之间并没有一个显式的指针或索引字段。
    它们的关联是"隐式"的,靠的是 LSA 头部通用字段的匹配规则。因为所有 LSA 头部都包含以下三个固定字段,这就是它们的"关联密码":
    LS Type:LSA 的类型(1、2、8、9)
    Link State ID:链路状态 ID
    Advertising Router:通告路由器(产生该 LSA 的路由器 ID)
  2. 8类 LSA 如何关联到 1类?
    关联规则:8类 LSA 的 Link State ID 等于 1类 LSA 的 Advertising Router。
    因为 8 类 LSA 只在本地链路泛洪,所以它的 Link State ID 字段里填的就是本路由器自己的接口 ID。
    而 1 类 LSA 的 Advertising Router 填的就是本路由器的 Router ID。
    所以,当你看到一条 8 类 LSA 的 Link State ID = 1.1.1.1 时,它就是在"悄悄告诉你":我是由 Router ID 1.1.1.1 这台设备产生的,我携带的是它的链路本地地址和链路前缀。
  3. 9类 LSA 如何关联到 1类或2类?
    关联规则:9类 LSA 的 Advertising Router 必须与它引用的那个 1类或2类 LSA 的 Advertising Router 完全一致。
    9 类 LSA 的头部里,Advertising Router 字段填的是某个 1 类或 2 类 LSA 的 Advertising Router。
    同时,9 类 LSA 内部还有一个 Referenced LS Type 字段,明确写着它引用的是 1类(Router-LSA) 还是 2类(Network-LSA)。
    另外,9 类 LSA 的 Link State ID 也有讲究:如果引用的是 1 类,它就填 0;如果引用的是 2 类,它就填 2 类 LSA 的 Link State ID(即 DR 的接口 IP)。
  4. 这是 OSPFv3 有意为之的设计:
    保持 LSA 头部固定:OSPFv3 重用了 OSPFv2 的 LSA 头部格式,没有为新的 8、9 类重新设计头部。
    通用匹配逻辑:所有路由器都按照这套 "Advertising Router + Link State ID" 的固定规则去 LSDB 里查,逻辑简单通用。
    避免重复信息:9 类 LSA 只携带地址前缀,不重复描述拓扑,保证了拓扑(1、2类)和地址(8、9类)的彻底分离。
  5. 如何自己观察?
    如果你在设备上查看 LSDB,可以按这个顺序验证:
    先找到 1 类 LSA,记下它的 Advertising Router(比如 1.1.1.1)。
    再去找 8 类 LSA,看到 Link State ID 是接口 ID,但通过 Advertising Router 也是 1.1.1.1,就能对上。
    最后找 9 类 LSA,看它的 Advertising Router 是否也是 1.1.1.1,并且内部 Referenced LS Type = 1,这就完整挂上了。
    所以,它们不是靠"指针"关联,而是靠 "LSA 头部的字段组合" 来做隐式匹配。这种设计虽然看起来没那么直观,但保证了协议的简洁性和可扩展性。

五、总结:

8类 LSA:每个物理接口上的 ipv6 单播地址都产生

9类 LSA:MA的DR、P2P、Loopback 接口地址都产生

在OSPFv2(以及OSPFv3)中,1类LSA(Router-LSA)和2类LSA(Network-LSA)都仅在它们所属的OSPF区域内泛洪(Flooding),绝对不会被传递到其他区域

ospfv3中,8类和9类也是同样仅在区域内泛洪

相关推荐
Doraemomo7 小时前
Linux编程-标准IO和系统IO
linux·运维·服务器
骇客野人7 小时前
Linux 查看 Java 进程常用命令
java·linux·运维
睡一觉就好了。7 小时前
Linux 信号机制
linux·运维·网络
正点原子8 小时前
【正点原子Linux连载】 第十章 pinctrl和gpio子系统实验 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南
linux·运维·驱动开发
冠希陈、8 小时前
Nginx部署SSL,导致多站点串站问题
运维·nginx·ssl
こ进制掌控者9 小时前
局域网电脑SMB访问NAS,提示用户名或密码不正确。
运维·服务器
mit6.8249 小时前
devops
运维·flask·devops
向上的车轮9 小时前
GitHub Actions 自动化运维实战:Rust 全栈项目 CI/CD 至华为云
运维·自动化·github
祈禾9 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
梦想的旅途210 小时前
企微私域自动化:客户全生命周期 SOP 策略与配置实战
运维·自动化·企业微信