一、拓扑:
二、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了:


再看下 8类,看到实际上建立链接的是 link-local 地址,仅在链路内传播,第1个看到带有 ipv6 地址前缀,其实仅用于地址冲突检测,不用于路由计算:

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

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

四、为什么观察不到它们之间的关联呢?
- 观察不到直接的"关联字段"很正常,因为在 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) - 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 这台设备产生的,我携带的是它的链路本地地址和链路前缀。 - 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)。 - 这是 OSPFv3 有意为之的设计:
保持 LSA 头部固定:OSPFv3 重用了 OSPFv2 的 LSA 头部格式,没有为新的 8、9 类重新设计头部。
通用匹配逻辑:所有路由器都按照这套 "Advertising Router + Link State ID" 的固定规则去 LSDB 里查,逻辑简单通用。
避免重复信息:9 类 LSA 只携带地址前缀,不重复描述拓扑,保证了拓扑(1、2类)和地址(8、9类)的彻底分离。 - 如何自己观察?
如果你在设备上查看 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类也是同样仅在区域内泛洪
