基本属性

  • 在BGP中通过修改属性来干涉选路。
  • 正常的属性修改配置,是在BGP协议控制层面流量的进或出的接口上
  • 为了便于理解,将使用下图来描述各个属性
    该图想让R1上的两个环回在到达R3时是通过负载分担,也就是一条走上面一条走下面,此图的控制层面是从左向右
  • BGP 3个共有属性 bgp四种属性_BGP 3个共有属性

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地址的邻居学来的路由。