基本属性
- 在BGP中通过修改属性来干涉选路。
- 正常的属性修改配置,是在BGP协议控制层面流量的进或出的接口上
- 为了便于理解,将使用下图来描述各个属性
该图想让R1上的两个环回在到达R3时是通过负载分担,也就是一条走上面一条走下面,此图的控制层面是从左向右
1、Preference_Value(权重值)
- 特点
传播范围:不传播
默认值:0
大优或小优:大优
华为设备的私有属性,本地有效 - 全局操作
[r3-bgp]peer 4.4.4.4 preferred-value 1
本地从邻居4.4.4.4处学习到的所有路由优先值修改为1
缺点:所有的流量都将会走R2,并未使其负载分担,未达到效果
- 使用前缀抓取需要修改属性的网段
[r3]ip ip-prefix w permit 1.1.1.0 24
定制策略来进行修改,一定关注是否需要空表来允许其他路由通过
[r3]route-policy w permit node 10
[r3-route-policy]if-match ip-prefix w
[r3-route-policy]apply preferred-value 1 修改权重值为1
[r3-route-policy]q
[r3]route-policy w permit node 20 空表允许其他
[r3-route-policy]q
再在协议中针对某个邻居调用
[r3]bgp 2
[r3-bgp]peer 2.2.2.2 route-policy w import
因为该属性为私有不传递属性,故调用时,只能在控制层面的入向调用,来影响本地的BGP生成;
优点:此方法在R3的入口上抓住了1.1.1.0/24网段修改其权重值为1
这样这条流量就会优先选择R2传过来的
2、 LocPrf(本地优先级)
- 特点
传播范围:IBGP邻居间
默认值:100
大优或小优:大优
公有属性 - 全局修改
[r4-bgp]default local-preference 101
R4本地所有传输到IBGP的路由条目,其中本地优先级修改为101;
- 使用本地优先级实现负载分担
[r2]ip ip-prefix p permit 1.1.1.0 24
[r2]route-policy p permit node 10
[r2-route-policy]if-match ip-prefix p
[r2-route-policy]apply local-preference 101 修改本地优先级
[r2-route-policy]q
[r2]route-policy p permit node 20 空表,让其他流量通过
[r2-route-policy]q
[r2]bgp 2
[r2-bgp]pe 3.3.3.3 route-policy p export 调用时在控制层面的出或入向均可,但必须为IBGP邻居关系;
3、as-path
- 特点
优先选择AS数量较少路径
该属性的自动添加是在EBGP邻居关系间进行
此方法为逆向思维,搞臭A路选B路
AS号只能增加不能变少,因为AS-BY-AS还要用来防环 - 修改方式
r4]ip ip-prefix as permit 1.1.1.0 24
[r4]route-policy as permit node 10
[r4-route-policy]if-match ip-prefix as
[r4-route-policy]apply as-path 3 4 5 additive
[r4-route-policy]q
[r4]route-policy as permit node 20
[r4-route-policy]q
[r4]bgp 2
[r4-bgp]pe 14.1.1.1 route-policy as import
注:可以在控制层面的入或出方向调用,但只能在ebgp邻居间操作;可干涉ebgp、ibgp关系选路;
切记:as-path属性又属于EBGP的水平分割,若人为添加AS号,在网络后端实际存在,将导致这些路由无法进入这些AS
解决方案:反复添加已经经过的AS编号
4、起源属性
- 特点
i :network 宣告本地路由表中的任意路由
?:import 将本地通过其他协议学习的路由重发布到BGP协议中
e :egp 早期的ebg协议学习的路由重发布到BGP协议中
排序:i>?>e
该属性的修改可以在整个控制层面流量经过的任意接口修改 - 修改方式
[r4]ip ip-prefix o permit 1.1.1.0 24
[r4]route-policy o permit node 10
[r4-route-policy]if-match ip-prefix o
[r4-route-policy]apply origin egp 2 此处配置的AS为对端邻居的AS号
[r4]route-policy o permit node 20
[r4-route-policy]q
[r4]bgp 2
[r4-bgp]pe 3.3.3.3 route-policy o export
5、MED 多出口的鉴别属性
- 特点
BGP协议默认不存在cost;MED就是人为的利用路由器优选路径的规则—先比较管理距离(华为为优先级),若一直再比较度量值(华为为cost)
BGP协议在特定条件下携带本地到达目标的cost值;本地宣告(重发布)自己路由表中的路由后,将其传递给本地的ebgp邻居,将携带cost值;对于其他AS的设备学习到从同一个as传递过来的路由,优选MED最小的路径;
管理员可以在控制层面传递路由的过程中,手工修改MDE;最常用于干涉ebgp选路; - 修改
常常用于AS1干涉AS2对AS1的选路;
[r1]ip ip-prefix med permit 1.1.1.0 24
[r1]route-policy med permit node 10
[r1-route-policy]if-match ip-prefix med
[r1-route-policy]apply cost 10
[r1-route-policy]q
r1]route-policy med permit node 20
[r1-route-policy]q
[r1]bgp 1
[r1-bgp]pe 14.1.1.2 route-policy med export
由于实际工程中,管理员只能在一个AS中配置,故无法通过查看BGP表来判断选路结果,可以通过扩展ping来解决
[r1]ping -r -a 1.1.1.1 3.3.3.3
选路规则
- 前提:多条BGP路由目标相同,且均可优(下一跳可达,同步关闭),具有相同的优先级(管理距离)
- 优选Preference_Value值最高的路由(私有属性,仅本地有效)。
不传递 权限最高属性 可以干涉EBGP/IBGP选路 - 优选本地优先级(Local_Preference)最高的路由。
IBGP邻居关系间传递 只能,最常干涉IBGP关系的选路 - 优选手动聚合>自动聚合>network>import>从对等体学到的。
- 优选AS_Path短的路由。
EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改; - 起源类型IGP>EGP>Incomplete。
起源属性 i优于e优于?; 可在控制层面任意接口修改; - 对于来自同一AS的路由,优选MED值小的。
默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost
最常用于干涉EBGP选路的属性 - 优选从EBGP学来的路由(EBGP>IBGP)。
- 优选AS内部IGP的Metric最小的路由。
- 优选Cluster_List最短的路由。
- 优选Orginator_ID最小的路由。
- 优选Router_ID最小的路由器发布的路由。
- 优选具有较小IP地址的邻居学来的路由。