路径属性
任何一条BGP路由都拥有多个路径属性(Path Attributes),当路由器通告BGP路由给它的对等体时,该路由将会携带多个路径属性,这些属性描述了BGP路由的各项特征,同时在某些场景下也会影响BGP路由优选的决策。
- 任何一条BGP路由都拥有多个路径属性
- 当路由器将BGP路由通告给它的对等体时,一并被通告的还有路由所携带的各个路由属性
- BGP的路径属性将影响路由优选
路径属性分类
4类属性 ,10种
属性名称 | 类别 |
---|---|
ORIGIN | 公认必遵 |
AS_PATH | 公认必遵 |
NEXT_HOP | 公认必遵 |
LOCAL_PREF | 公认可选 |
ATOMIC_AGGREGATE | 公认可选 |
AGGREGATOR | 可选过渡 |
COMMUNITY | 可选过渡 |
MULTI_EXIT_DISC(MED) | 可选非过渡 |
ORIGINATOR_ID | 可选非过渡 |
CLUSTER_LIST | 可选非过渡 |
名称 | 描述 |
---|---|
公认必遵 | 必须包括在每个Update消息里 |
公认任意 | 可能包括在某些Update消息里 |
可选过渡 | BGP设备不识别此类属性依然会接收该类属性并通告给其他对等体 |
可选非过渡 | BGP设备不识别此类属性会忽略该属性,且不会通告给其他对等体 |
公认属性:所有BGP路由器必须能够识别的属性
可选属性:不需要都被BGP路由器所识别
AS_Path
- 该属性是公认必遵属性,是前往目标网络的路由经过的AS号列表
- 作用:确保路由在EBGP对等体之间传递无环;另外也作为路由优选的衡量标准之一
- AS_Path路由优选时,选择AS号的个数更少的
使用router_plicy修改BGP路由的AS_Path属性时,可以使用一下三种方式:
- additive:向左侧追加内容
- overwrite:替换为新的值
- none overwrite:将AS_Path的值清空
AS_Path防止环路
若AS——Path属性数值为:400 300 200 100,存在自身AS号,则不接受该路由,从而防止了路由环路的产生。
Origin
该属性是公认必遵属性,表示了BBP路由的起源。
i:通过network命令注入的
e:通过EGP学习到的
?:通过import-route命令引入到BGP的路由
按照一下方式进行路由优选:
IGP > EGP > Incomplete
Next_Hop
该属性是一个公认必遵的属性,用于指定到达目标网络的下一跳地址。
当路由器学习到BGP路由后。需对BGP路由的next_hop属性值进行检查,该IP地址必须在本地路由可达,如果不可达,则这条BGP路由不可用。
设备对BGP路由的缺省next_hop属性值的设置规则如下:
- 路由器将BGP路由通告给自己的EBGP对等体是,将该路由的next_hop设置为自己的更新源IP地址
- 路由器在收到EBGP对等体所通告的BGP路由后,在将路由传递给自己的IBGP对等体时,会保持路由的next_hop属性值不变
- 如果路由器收到某条BGP路由,该路由的next_hop属性值于EBGP对等体同属一个网段,那么该条路由的next_hop地址将保持不变并传递给它的BGP对等体
local_preference
- 本地优先级属性,是公认任意属性,用于告诉AS中的路由器,哪条路径是离开AS的首选路径。
- ocal_preference属性值越大则BGP路由越优。默认值为100
- 该属性只能传递给IBGP对等体,不能传递给EBGP对等体
修改local-preference值:bgp default local-preference
community
- community(团体)属性为可选过渡属性,是一种路由标记,用于简化路由策略的执行。
- 可以将某些路由分配一个特点的community属性值,之后就可以基于community值而不是网络前缀或者掩码信息来匹配路由并执行相应的策略了
公认community属性:
团体属性名称 | 说明 |
---|---|
internet | 向任何BGP对等体发送该路由,缺省情况下所有路由都属于internet团体 |
no_advertise | 不向任何BGP对等体发送该路由 |
no_export | 不向AS外发送该路由 |
no_export_subconfed | 不向AS外发送该路由,也不向A内其他子AS发布此路由 |
MED
- MED(Multi-Exit Discriminator 多出口鉴别器)是可选非过度属性,是一种度量值,用于向外部对等体指出加入本AS的首选路径,即当进入本AS的入口有多个时,AS可以使用MED动态地影响其他AS选择进入的路径。
- MED属性值越小则BGP路由越优
- MED主要用于在AS之间影响BGP的选路,MED被传递给EBGP对等体后,对等体在其AS内传递路由时,携带该MED值,但将路由再次传递给其EBGP对等体时,缺省不会携带MED属性
- 只比较来自同一AS的MED,EBGP邻居只传递一个
Atomic_Aggregate及Aggregator
- Atomic_Aggregate是一个公认自由决定属性,它只相当于一种预警标记,而并不承载任何信息。当路由器收到一条BGP路由更新且发现该条路由携带Atomic_Aggregate属性时,它便知道该条路由可能出现了路径属性的丢失,此时该路由器把这条路由再通告给其他对等体时,需保留路由的Atomic_Aggregate属性。另外,收到该路由更新的路由器不能将这条路由再度明细化。
- Aggregator,是一个可选传递属性,当路由聚合被执行时,执行路由聚合操作的路由器可以为该聚合路由添加Aggregator属性,并在该属性中记录本地AS号及自己的Router-ID,因此Aggregator属性用于标记路由聚合行为发生在哪个AS及哪台BGP路由器上
Preferred-Value
- Preferred-Value(协议首选值)是华为特有属性,该属性仅在本地有效。当BGP路由表中存在到相同目的地的路由时,将优先选择Preferred-Value值高的路由。
- 取值范围:0-65535;值越大,路由越优先
- Preferred-Value只能在路由器本地配置,而且只影响本设备的路由优选。该属性不会传递给任何BGP对等体