![](http://d.aap5.com/20230209/t01bfd14570c0623ec6.webp)
MP-BGP向后兼容,即支持BGP扩展的路由器与不支持BGP扩展的路由器可以互通。
- 中文名称 向后兼容
- 外文名称 MP-BGP
- 特点 支持BGP扩展的路由器
- 作用 管理IPV4的路由信息
简介
MP-BGP:
传统的BGP-4只能管理IPV4的路由信息,对于使用其他网络层协议(如ipv6)的应用,在跨自来自治系统传播时就受到一定限制。为了提供对360百科多种网络层协议的支持,IETF对BGP-4进行了扩展,形成MP-BGP米事富管阶乙话满道危,MP-BGP标准是RFC4760(Multiproto预创增头叶col Extensions for BGP-4,BG依含展随先P-4的多协议扩展)。
BGP-4使用的报文苏行是良号西中,与IPv4相关的三处信握父磁百与针硫矛息都由Update报文携副解晶城带,这三条信息分别红根考强盾卫知提是:NLRI(N沉肥完边斯参试宗凯etwork Layer 究波听厚场围确七负Reachability Information)字段、Next_Hop属性、Aggregator属性(该属性中包含形成聚合站生系若多路由的BGP Speaker的IP地址)。
为实现对多种网络层协议的支持,BGP-4需要将网络层协议的信息反映到NLRI及Next_Hop。MP-BGP中引入了两境游百饭个新的路径属性:
MP_REACH_误谈好周死这NLRI:Multiprotocol Reachable NLRI,多协议可达NLRI。用于发布可达路由及下一跳信息。MP_UNREACH_NLRI:Multiprotocol Unreachable NLRI,多协议不可达NLRI。用于撤销不可达路由。 这两种属性都是可选非过渡(Optional non-trans提官续却化主金itive)的,因此,不提供多协议能力的BGP 序直刚加Speaker将忽略这两个属突棉章别季族解时易性的信息,不把它们划象指喜从导传递给其它邻居。
MP_REACH_NLRI
功能简介
多协议可达NLRI提供了以下功能:
向对等体发布可达路由。发布右走单冲用袁题下一跳信息。例如,BGP4+中的Next_Hop属性用IPv6地址来表示,可以是IPv6全球单播地址或者步鸡烈纪么普术身下一跳的链路本地地址。使能路由器报告本地系统中的部分或全部SNPA(Sub-network Points of Attachment)。
主要字段的解释如下:
Address Family Identifier:该字段携带了网络层协议的地址族标识,对应RFC1700的"Address Family Number"所定义的地址族值。例如IPv4的值是1,IPv6的值是2。Subsequent Address Family Identifier:该字段提供了NLRI类型的附加信息。
− 1:用于单播模式的NLRI
− 2:用于组播模式的NLRI
− 3:同时用于单播和组播模式的NLRI
Length of Next Hop Network Address:"Network Address of Next Hop"字段的长度,以字节为单位。Network Address of Next Hop:下一跳网络地址,该字段长度可变。Number of SNPAs:下面的字段中SNPA的数量。如果该字段取值为0,表示属性中不包含SNPA。
Length of Nth SNPA:第N个SNPA字段的长度,以半字节(semi-octets)为单位。Nth SNPA of Next Hop:路由器的SNPA,该路由器的网络地址包含在"Network Address of Next Hop"字段中。这个字段的长度是字节的整数倍,即以半字节为单位的"Length of Nth SNPA"字段四舍五入得出的整数值。如果SNPA包含奇数个半字节,该字段尾部剩余的半个字节以0补位。
Network Layer Reachability Information:可达路由列表。如果"Subsequent Address Family Identifier"字段置位,则每个NLRI由一个二元组(Length-Prefix)表示。− Length表示IP地址前缀的长度,单位为比特。
如果为0,则说明该前缀匹配所有的IP地址。
− Prefix包含了IP地址的前缀,后面则是填充比特,用于保证字段结尾符合字节边界,填充比特的值无意义。
携带了MP_REACH_NLRI属性的Update消息必须携带用于EBGP和IBGP信息交换的Origin属性和AS_Path属性。另外,如果这个Update消息在IBGP对等体之间传播,还要携带Local_Pref属性。如果这条消息是从EBGP对等体接收的,本地系统需要检查AS_Path列表最左侧的AS号是否与发送该信息的AS号一致。如果不一致,本地系统会发送Notification消息(携带Update消息错误码)给对端。
如果Update消息中MP_REACH_NLRI属性没有携带NLRI,则该消息也不允许携带Next_Hop属性。如果这条消息中包含了Next_Hop属性,Next_Hop属性将被忽略。多协议不可达NLRI用于撤销一条或多条不可达路由。
Withdrawn Routes:不可达路由列表。
携带了MP_UNREACH_NLRI属性的Update消息不再需要携带其他的属性。