3.1. TLV Format (TLV 格式)
3.1. TLV Format (TLV 格式)
新的链路状态 NLRI 和属性中的信息以类型/长度/值三元组编码。TLV 格式如图 4 所示。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 类型 | 长度 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// 值 (可变) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 4: TLV 格式
Length 字段定义值部分的长度, 以八位字节为单位 (因此, 没有值部分的 TLV 的长度为零)。TLV 不填充到 4 八位字节对齐。未识别的类型必须被保留并传播。为了比较具有未知 TLV 的 NLRI, 所有 TLV 必须按 TLV 类型升序排序。如果存在多个相同类型的 TLV, 则必须通过将整个 Value 字段视为不透明的十六进制字符串并首先比较最左侧的八位字节来按 TLV 值的升序对相同类型内的 TLV 进行排序, 而不管字符串的长度如何。所有未指定为强制性的 TLV 均被视为可选。