1. 引言
BGP-4 [BGP-4] 携带的信息中, 只有三项是 IPv4 特定的: (a) NEXT_HOP 属性, 以 IPv4 地址表示; (b) AGGREGATOR, 包含一个 IPv4 地址; (c) NLRI, 以 IPv4 地址前缀表示. 本文档假定任何 BGP 发言者, 包括支持本文档所定义多协议能力的 BGP 发言者, 都必须具有一个 IPv4 地址, 该地址会用于 AGGREGATOR 属性等场景. 因此, 为使 BGP-4 能够支持多个网络层协议的路由, 只需要向 BGP-4 增加两项能力: (a) 将特定网络层协议与下一跳信息关联的能力; (b) 将特定网络层协议与 NLRI 关联的能力. 为标识与下一跳信息和 NLRI 语义相关联的各个网络层协议, 本文档使用地址族 (Address Family) 和后续地址族 (Subsequent Address Family) 的组合, 其中 Address Family 定义于 [IANA-AF], Subsequent Address Family 如本文档所述.
还可以进一步观察到, 下一跳信息, 即 NEXT_HOP 属性提供的信息, 只有在与可达目标的通告结合使用时才有意义且必要. 对于不可达目标的通告, 即从服务中撤销路由, 下一跳信息没有意义. 这表明, 可达目标的通告应当与这些目标所使用的下一跳通告组合在一起, 并且可达目标的通告应当与不可达目标的通告分离.
为了提供向后兼容性, 并简化向 BGP-4 引入多协议能力的过程, 本文档使用两个新属性: 多协议可达 NLRI (Multiprotocol Reachable NLRI, MP_REACH_NLRI) 和多协议不可达 NLRI (Multiprotocol Unreachable NLRI, MP_UNREACH_NLRI). 第一个属性 MP_REACH_NLRI 用于携带可达目标集合, 以及转发到这些目标时要使用的下一跳信息. 第二个属性 MP_UNREACH_NLRI 用于携带不可达目标集合. 这两个属性都是可选且非传递的. 这样, 不支持多协议能力的 BGP 发言者只会忽略这些属性中携带的信息, 并且不会将其传递给其他 BGP 发言者.