如何解释 MRT 转储中包含的地址长度为 32 字节的 MP_REACH_NLRI 属性

网络工程 BGP 协议论 射频 bgp-ipv6
2022-03-02 08:33:01

在解析TABLE_DUMP_V2 RIB_IPV6_UNICAST条目时,我遇到了这个表示MP_REACH_NLRI BGP 路径属性的二进制序列:

80 E 26 0 2 1 20 20 1 5 4 0 1 0 0 0 0 A5 1 30 30
 0 1 FE 80 0 0 0 0 0 0 2 1B ED FF FE 32 A1 1 0 0

然而:

  Attribute Header
  80  -> 10000000 attribute is optional and no other flag set
  E   -> attribute type 14 (MP_REACH_NLRI)
  26  -> a length of 38 octets
  Attribute
  0 2 -> AFI-Type two is IPv6 (as indicated by dump subtype)
  1   -> SAFI-Type 1 which is unicast (as indicated by dump subtype)
  20  -> indicates a length of 32 bytes

最后一部分是我感到困惑的地方,因为 IPv6 地址的长度应该最多为 16 个字节,并且 rfc 并没有说明可以指定多个下一跳地址。

在这种情况下,我应该如何解释长度为 32 的 IPv6 地址?

1个回答

32 长度指定 16 字节的全局 ipv6 地址和 16 字节的链路本地地址。有关详细信息,请参阅“RFC-2545 使用 BGP-4 多协议扩展用于 IPv6 域间路由”。