跳到主要内容

4.4.3.8. 链路 LSA (Link-LSAs)

link-LSA 的 LS type 设置为 0x0008. Link-LSA 具有链路本地泛洪范围. 对于每条支持两个或更多路由器的已连接链路, 路由器会分别发起一个 link-LSA, 其中包括发起路由器自身. 不应为虚链路发起 Link-LSA.

Link-LSA 有三个用途:

  1. 向连接到该链路的所有其他路由器提供本路由器的链路本地地址.

  2. 通知连接到该链路的其他路由器, 哪些 IPv6 prefix 列表应与该链路关联.

  3. 允许路由器在广播链路或 NBMA 链路上由 Designated Router 发起的 network-LSA 中通告一组 Options bits.

给定 Link L 的 link-LSA 按以下方式构建:

  • Link State ID 设置为该路由器在 Link L 上的 Interface ID.

  • 路由器通往 Link L 的接口的 Router Priority 会插入到 link-LSA 中.

  • link-LSA 的 Options 字段设置为反映该路由器的能力. 在多路访问链路上, Designated Router 会在 Link L 的 network-LSA 中对所有完全邻接邻居的 link-LSA Options 字段执行逻辑 OR.

  • 路由器将其在 Link L 上的链路本地地址插入到 link-LSA 中. 当 Link L 上的其他路由器执行 next-hop 计算时, 将使用该信息 (见第 4.8.2 节).

  • 对于已在 Link L 上配置的每个 IPv6 地址 prefix, 通过指定 PrefixLength, PrefixOptions 和 Address Prefix 字段的值将其加入 link-LSA.

为给定链路构建 link-LSA 后, 路由器会将该 link-LSA 安装到关联的接口数据结构中, 并在该链路上泛洪该 link-LSA. 链路上的所有其他路由器都会接收该 link-LSA, 但不会在其他链路上泛洪该 link-LSA.

如果为接口配置了 LinkLSASuppression, 且接口类型不是 broadcast 或 NBMA, 则可以抑制 link-LSA 的发起. 这意味着链路上的其他路由器将使用 link-LSA 以外的机制来确定该路由器的 next-hop 地址 (见第 4.8.2 节). 关于 LinkLSASuppression 接口配置参数的说明, 参见附录 C.3.

例如, 考虑 RT3 将为图 1 中的 N3 构建的 link-LSA. 假设 RT3 中已为 N3 配置 prefix 2001:0db8:c001:0100::/56. 这会产生以下 link-LSA, RT3 只会在 N3 上泛洪它. 注意, N3 上并非所有路由器都需要配置该 prefix; 未配置的路由器会在收到 RT3 的 link-LSA 时学习该 prefix.

; RT3's link-LSA for N3

LS age = 0 ; newly (re)originated
LS type = 0x0008 ; link-LSA
Link State ID = 1 ; RT3's Interface ID on N3
Advertising Router = 192.0.2.3 ; RT3's Router ID
Rtr Priority = 1 ; RT3's N3 Router Priority
Options = (V6-bit|E-bit|R-bit)
Link-local Interface Address = fe80:0001::RT3
# prefixes = 1
PrefixLength = 56
PrefixOptions = 0
Address Prefix = 2001:0db8:c001:0100 ; pad to 64-bits