今天给大家介绍一下BGP的路径属性。在BGP协议中,每一条路由都会带有自己的路径属性,BGP也会通过这些路径属性来选择一条最佳的路由。同样的,我们也可以在建立BGP关系后,通过适当的修改BGP属性,达到控制数据流量转发的目的。因此,理解BGP属性是非常有必要的。
本文适合对BGP协议有一定了解的同学,如果您需要学习BGP的一些基本知识,可以查阅我博客内的其他文章。一张图看懂BGP邻居关系建立过程和BGP报文简介、华为路由器BGP简单配置、浅议BGP(一文看懂BGP)等等。
一、BGP路径属性分类
可以将BGP属性分为4类:
1、公认强制
公认强制指的是在使用Update报文进行路由通告时,必须携带并且必须识别的路由属性。
公认强制属性有:
Origin
AS_Path
Next_hop
2、公认自由
公认自由指的是在使用Update报文进行路由通告时,必须识别但是不一定携带的路由属性。
公认自由属性有:
Local_Preference
Atomic_Agrgregate
3、可选传递
可选传递指的是在使用Update报文进行路由通告时,不一定识别,但是收到后会传递给其他的人的路由属性。
可选传递属性有:
Community
Aggregator
4、可选非传递
可选非传递指的是在使用Update报文进行路由通告时,不一定识别,但是收到后不会传递给其他的人的路由属性。
可选非传递属性有:
MED
Originate_ID
Cluster_List
二、BGP路径属性介绍
下面,我讲对上述几个常用的属性进行详细的介绍。
1、Local_Preference
Local_Preference是本地优先级的意思,该属性只能够在AS内IBGP之间互相传递。取值范围0-4294967295,值越大越优先。该属性值通常用来控制本AS域发放其他AS域的流量走向。
在默认情况下,本地优先级为100。
2、AS_PATH
AS_PATH描述了一条路由在传递过程中经过的AS域。每当一台路由器将一条路由传递给自己的EBGP邻居时,就会将本地AS加上去。
AS_PATH有两个作用:
①如果路由器发现了一条路由的AS_PATH属性包含自己的AS号,那么这个路由器不会介绍这条路由,因此可以确保防环。②BGP在选路的时候,也会查看由不同路由器通告的同一条路由的AS_PATH属性,AS_PATH属性含有的号越多,就代表该路由需要经过越多的AS域,因此该路由就越不会被优选。
3、Origin
Origin属性用于描述BGP路由的来源,当一条路由通过network或者import被发布到BGP后,Origin属性就自动加在路由上。
4、MED
MED类似于度量值,其大小表示了开销。MED值只在AS内部起作用,该属性不会传递给其他EBGP邻居。MED值通常用来控制别的AS域流入本AS域的流量走向。注意:MED值在默认情况下为0,并且不同的AS域通告的MED之间一般不能用于比较。
5、Next_Hop
Next_Hop表示下一条,描述了到达这个网段所要发送的路由器。在默认情况下,通告给EBGP的路由会将该属性改为自己,通告给IBGP的路由将不会更改上述属性。前者通常没什么问题,但是后者经常会造成路由黑洞问题,从而导致不通。因此,一般而言,当一个路由器同时有EBGP邻居和IBGP邻居时,要向IBGP邻居手动更改Next_Hop。
6、Atomic_Aggregate
Atomic_Aggregate主要用在BGP路由聚合中,该属性相当于一个预警,用于告知其他路由器可能出现了路径属性的丢失。
7、Aggregator
Aggregator属性同样用于BGP路由聚合,该属性由进行路由聚合的路由器添加,并指名自己。
8、Community
Community属性可以认为是路由的分类,将Community标记加载路由属性后,将有助于其他AS域的路由更好的选择路径,以分担负载。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/118499735