附录 B. 体系结构常量
A.4 LSA 格式
本备忘录定义了五种不同类型的 LSA。每个 LSA 都以一个标准的 20 字节
LSA 头部开始。该头部在 A.4.1 节中解释。随后各节分别用图示说明各种
LSA 类型。
每个 LSA 描述 OSPF 路由域的一个片段。每台路由器始发一个 router-LSA。
此外,每当路由器被选为 Designated Router 时,它还会始发一个
network-LSA。也可能始发其他类型的 LSA(见 12.4 节)。所有 LSA
随后在整个 OSPF 路由域中泛洪。泛洪算法是可靠的,它确保所有路由器
拥有相同的 LSA 集合。(关于泛洪算法的更多信息见第 13 节。)这个
LSA 集合被称为链路状态数据库。
每台路由器以链路状态数据库为基础,构建一棵以自身为根的最短路径树。
由此产生一张路由表(见第 11 节)。关于路由表构建过程的细节,
见第 16 节。
A.4.1 LSA 头部
所有 LSA 都以一个公共的 20 字节头部开始。该头部包含足以唯一标识
该 LSA 的信息(LS type、Link State ID 和 Advertising Router)。
同一个 LSA 的多个实例可能同时存在于路由域中。此时就有必要判断哪个
实例更新。这通过检查同样包含在 LSA 头部中的 LS age、LS sequence
number 和 LS checksum 字段来完成。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | LS type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link State ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Advertising Router |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
LS age
自该 LSA 被始发以来经过的时间(秒)。
Options
所描述的那部分路由域所支持的可选能力。OSPF 的可选能力记录在
A.2 节。
LS type
LSA 的类型。每种 LSA 类型都有各自独立的通告格式。本备忘录中
定义的 LSA 类型如下(进一步的解释见 12.1.3 节):
LS Type 描述
___________________________________
1 Router-LSA
2 Network-LSA
3 Summary-LSA(IP 网络)
4 Summary-LSA(ASBR)
5 AS-external-LSA
Link State ID
该字段标识该 LSA 所描述的那部分互联网环境。该字段的内容取决于
LSA 的 LS type。例如,在 network-LSA 中,Link State ID 被设为
该网络 Designated Router 的 IP 接口地址(由此可以推导出该网络
的 IP 地址)。Link State ID 在 12.1.4 节中进一步讨论。
Advertising Router
始发该 LSA 的路由器的 Router ID。例如,在 network-LSA 中,
该字段等于该网络 Designated Router 的 Router ID。
LS sequence number
用于检测旧的或重复的 LSA。同一 LSA 的相继实例被赋予相继的
LS 序列号。更多细节见 12.1.6 节。
LS checksum
对 LSA 完整内容(包括 LSA 头部,但不含 LS age 字段)计算的
Fletcher 校验和。更多细节见 12.1.7 节。
length
LSA 的字节长度。这包括 20 字节的 LSA 头部。
A.4.2 Router-LSA
Router-LSA 是 Type 1 LSA。区域中的每台路由器都始发一个 router-LSA。
该 LSA 描述路由器到该区域各条链路(即接口)的状态和代价。路由器到
该区域的所有链路都必须在单个 router-LSA 中描述。关于 router-LSA
构造的细节,见 12.4.1 节。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link State ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Advertising Router |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |V|E|B| 0 | # links |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | # TOS | metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TOS | 0 | TOS metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |