目录
华为官方将BGP的属性分为公认属性和可选属性,其中公认属性是所有的BGP路由器都必须能够识别的属性,公认属性可以分为两类:
1、公认必遵(Well-Known Mandatory):必须包括在每个Update消息中。
2、公认任意(Well-Known Discretionary):可以包括在某些Update消息中。
其中可选属性不需要被所有的BGP路由器所识别,可选属性也可以分为两类:
1、可选过渡(Optional Transitive):BGP设备不识别此类属性但是依然会接收这些属性,并将其通告给其他的BGP对等体。
2、可选非过渡(Optional Nontreansitive):BGP设备不识别此类属性选择忽略这些属性,并将不会通告给其他的BGP对等体。
各个属性的特点:
对于任何一台运行BGP的路由器,都必须支持公认必遵属性,并且在将路由信息发给其它BGP对等体时,这些属性必须强制写入路由中,一条不携带公认必遵属性的路由会被BGP路由器被视为无效而被丢弃,换句话说一不支持公认强制属性的BGP,是不正常的,不和法的BGP。
常见的BGP路由必须携带的公认强制属性有三个:Origin,Next_Hop,AS-path.
公认任意属性并不像公认必遵属性那么严格,任何一台运行BGP的路由器必须支持公认属性,必须能够识别公认任意属性,但是在路由写入时并不是强制的,是否要为路由写入公认自选属性可以自由决定,当一条路由写入公认自选属性之后,所有BGP路由器都能认识和理解,并且都会自动保留和传递该属性。
常见的BGP默认的公认任意属性:Local_Preference
并不是所有运行BGP的路由器都能理解和支持可选可传递属性,路由的可选可传递属性是任意写入的,其它BGP路由器并不一定能理解,也并不一定保留和传递该属性,但是当为路由器设置了可选可传递属性后,可以明确要求BGP路由器保留和传递该属性。
常见的可选过渡属性:团体属性Community
只有特定的BGP路由器才理解和支持可选非过渡属性,并且可选非过渡属性理论上是不能手工设置的,即使手工设置了可选非过渡属性,这些属性也不能任意传递,只可以传递到特定的BGP路由器。
常见的可选非过渡属性有:MED属性,Originator_ID属性,Cluster_List属性