4.4.3.8. Link-LSAs (链路LSA)
链路-LSA 的 LS 类型设置为值 0x0008. 链路-LSA 具有链路本地泛洪范围 (Link-local Flooding Scope). 路由器为每个支持两个或多个 (包括产生路由器自身) 路由器的连接链路产生单独的链路-LSA. 链路-LSA 不应 (SHOULD NOT) 为虚拟链路产生.
链路-LSA 有三个目的:
-
它们向连接到链路的所有其他路由器提供路由器的链路本地地址 (Link-local Address).
-
它们向连接到链路的其他路由器通知与链路关联的 IPv6 前缀列表.
-
它们允许路由器在广播或 NBMA 链路上由指定路由器 (Designated Router) 产生的网络-LSA 中通告选项位 (Options Bits) 集合.
给定链路 L 的链路-LSA 按以下方式构建:
-
链路状态ID (Link State ID) 设置为路由器在链路L上的接口ID (Interface ID).
-
路由器在链路L上的接口的路由器优先级 (Router Priority) 插入到链路-LSA中.
-
链路-LSA 的选项 (Options) 字段设置为反映路由器的能力. 在多路访问链路上, 指定路由器将在链路L的网络-LSA中对所有完全邻接的邻居的链路-LSA选项字段进行逻辑或运算.
-
路由器将其在链路L上的链路本地地址插入到链路-LSA中. 当链路L上的其他路由器进行下一跳计算时, 将使用此信息 (参见第4.8.2节).
-
通过为 PrefixLength, PrefixOptions 和 Address Prefix 字段指定值, 将在链路L上配置的每个 IPv6 地址前缀添加到链路-LSA中.
为给定链路构建链路-LSA后, 路由器将链路-LSA安装到关联的接口数据结构中, 并在链路上泛洪链路-LSA. 链路上的所有其他路由器将接收链路-LSA, 但它们不会在其他链路上泛洪链路-LSA.
如果为接口配置了 LinkLSASuppression 且接口类型不是广播或 NBMA, 则可以抑制链路-LSA的产生. 这意味着链路上的其他路由器将使用链路-LSA以外的机制确定路由器的下一跳地址 (参见第4.8.2节). 有关 LinkLSASuppression 接口配置参数的描述, 请参阅附录C.3.
作为示例, 考虑 RT3 将为图1中的 N3 构建的链路-LSA. 假设前缀 2001:0db8:c001:0100::/56 已在 RT3 内为 N3 配置. 这将导致以下链路-LSA, RT3 将仅在 N3 上泛洪. 请注意, 并非 N3 上的所有路由器都需要配置该前缀; 那些未配置的路由器将在接收 RT3 的链路-LSA时学习该前缀.
; RT3的N3链路-LSA
LS age = 0 ; 新产生(重新产生)
LS type = 0x0008 ; 链路-LSA
Link State ID = 1 ; RT3在N3上的接口ID
Advertising Router = 192.0.2.3 ; RT3的路由器ID
Rtr Priority = 1 ; RT3的N3路由器优先级
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 ; 填充到64位