BGP6种基本属性

面试BGP选路6条原则:
选路条件: BGP路由必须有效,无环的,不能被惩罚 。

当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由:

  1. 优选协议首选值(优先级值PrefVal)最高的路由。
    协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。
  2. 优选本地优先级(Local_Pref)最高的路由。
  3. 华为中next-hop为0.0.0.0的依次优选手动聚合路由、自动聚合路由、network命令引入的路由、import-route命令引入的路由、从对等体学习的路由—非0.0.0.0 。
    3.(next-hop为 0.0.0.0 最优先)
    next-hop为0.0.0.0(最优)是通过network or import or 路由聚合产生的0.0.0.0整体优于IBGP或EBGP学习的
  4. 优选AS路径(AS_Path)最短的路由。
  5. 依次优选Origin类型为IGP、EGP、Incomplete的路由。
  6. 对于来自同一AS的路由,优选MED值最低的路由。
  7. 依次优选EBGP路由、IBGP路由、LocalCross路由、RemoteCross路由。
    PE上某个VPN实例的VPNv4路由的ERT匹配其他VPN实例的IRT后复制到该VPN实例,称为LocalCross;从远端PE学习到的VPNv4路由的ERT匹配某个VPN实例的IRT后复制到该VPN实例,称为RemoteCross。
  8. 优选最近 的下一跳(下一跳地址在本地路由表中的metric值)
  9. 可以执行负载均衡
  10. 最小的router-id (若存在起源者属性比较第11条 router-id时使用起源者属性进行比较 )
  11. 优选 Cluster_List 最短的路由
  12. 最小的peer IP地址

Preference value : 优先级值 华为私有(cisco 中使用weight 权重值)
作用: 选路
数值范围: 0-65535 , 越大越优,默认值为0
仅仅在本设备上生效,不能传递
方法一:
1.使用ACL或前缀列表定义感兴趣路由
2.使用route-policy修改优先级值
3.调用
方法二:
针对某个邻居发送的所有路由修改优先级值 :

面试:Local preference : 本地优先级
作用: 用于控制离开本AS的流量,离开本AS时使用
范围:0-2^32 , 默认值为100 , 数值越大越优;可以在整个AS之内传输,在AS内可以传递,传出AS后失效
部署位置: 一般建议在存在EBGP邻居的IBGP邻居之间
方法一:在AS边界路由器上实施

查看:

方法二:
1.使用ACL 或前缀列表抓取路由
2.使用route-policy 修改LP
3.调用:

As-path :
作用:代表本路由信息经过了那些AS
默认值:无,越短越优
注意: 在EBGP邻居之间使用,import(离开其他AS进入本AS之前增加某些AS 号,所以增加的AS 出现在直连AS的左边) export(离开本AS之前已经增加了某些AS ,所以增加的AS号出现在本AS的右边);在EBGP联邦中出现的AS号不计入长度的大小, 若出现在大括号时,大括号内无论存在多个少AS号,都只当做一个;
使用route-policy 增加AS path

Origin : 起源码
作用:代表着BGP路由的来源
默认值: 无, i>e>? i(0) e(1)?(2)
部署位置:所有BGP路由器上
ibgp是路由来自自身的通告,or IBGP or ebgp邻居network通告的路由?是重发布的

MED:多出口鉴别属性 做在EBGP邻居间
作用:用于影响进入某AS的流量控制时使用
Local preference : 本地优先级 做在IBGP和EBGP邻居间
作用: 用于控制离开本AS的流量,离开本AS时使用

默认值为空:med 可以当做metric值,med 属性也是只能在某一个AS之内使用,med的比较默认一定是来自于直连相同的AS中路由
设置时就是修改cost值 ,越小越优

开启IBGP EBGP 负载均衡
注意: 当开启了负载均衡时,仅仅是针对本地的IP路由器执行,BGP协议依然会继续选路,选出最优的一条路由进行传递
实验:
BGP6种基本属性_第1张图片
第一种均为私有属性

              传播范围                 默认值              大优或小优

                 不传播                      0                     大

1.1.2.0有两条路2.2.2.2与4.4.4.4,抓1.1.2.0 在R2操作,改的是2.2.2.2 的属性,在r4操作,改的是4.4.4.4的属性。

1.Preference_Value

华为设备的私有属性

全局操作:

[r3-bgp]pe 2.2.2.2 preferred-value 1 本地从邻居2.2.2.2处学习到的所有路由优先值修改为1;

负载分担:访问不同的目标网段时,让流量进入不同链路来进行通讯;将所有链路利用起来,而不是仅只用唯一链路通讯;

以下为让1.1.2.0路由走4.4.4.4

[r1]bgp 1

[r1-bgp]network 1.1.1.0 24

[r1-bgp]network 1.1.2.0 24

[r2-bgp]peer 3.3.3.3 next-hop-local

[r4-bgp]peer 3.3.3.3 next-hop-local

[r3]ip ip-prefix kaikai permit 1.1.2.0 24 //使用前缀抓取需要修改属性的网段

[r3]route-policy kaikai permit node 10

Info: New Sequence of this List.

[r3-route-policy]if-match ip-prefix kaikai

[r3-route-policy]apply preferred-value 1

[r3-route-policy]q

[r3]route-policy kaikai permit node 20

Info: New Sequence of this List.

[r3]bgp 2 //再在协议中针对某个邻居调用

[r3-bgp]peer 4.4.4.4 route-policy kaikai import // 因为该属性为私有不传递属性,故调用时,只能在控制层面的入向调用,来影响本地的BGP生成;

BGP6种基本属性_第2张图片

2.本地优先级

传播范围 默认值 大或小优
IBGP邻居关系间 100 大

第一个公有属性,也是最常用于干涉IBGP选路,最常使用的属性

使用本地优先级实现负载分担

减小默认值

[r2]ip ip-prefix kaikai permit 1.1.2.0 24

[r2]route-policy kaikai permit node 10

Info: New Sequence of this List.

[r2-route-policy]if-match ip-prefix kaikai

[r2-route-policy]apply local-preference 99

[r2-route-policy]q

[r2]route-policy kaikai permit node 20

Info: New Sequence of this List.

[r2-route-policy]q

[r2]bgp 2

[r2-bgp]peer 3.3.3.3 route-policy kaikai export

//调用时在控制层面的出或入向均可,但必须为IBGP邻居关系;

BGP6种基本属性_第3张图片

抓的是1.1.2.0 在R2做策略,则2.2.2.2 的属性localpre变化,所以走4.4.4.4

增大默认值(一般选这个)

[r4]ip ip-prefix kaikai permit 1.1.2.0 24

[r4]route-policy kaikai permit node 10

Info: New Sequence of this List.

[r4-route-policy]if-match ip-prefix kaikai

[r4-route-policy]apply local-preference 101

[r4-route-policy]q

[r4]route-policy kaikai permit node 20

Info: New Sequence of this List.

[r4-route-policy]q

[r4]bgp 2

[r4-bgp]peer 3.3.3.3 route-policy kaikai export

//调用时在控制层面的出或入向均可,但必须为IBGP邻居关系;

BGP6种基本属性_第4张图片

3

.as-path

优选经过AS数量较少路径;该属性的自动添加是在EBGP邻居关系间进行;

[r2]ip ip-prefix as permit 1.1.2.0 24

[r2]route-policy as permit node 10

Info: New Sequence of this List.

[r2-route-policy]if-match ip-prefix as

[r2-route-policy]apply as-path 3 4 5 additive 建议使用后者[r2-route-policy]apply as-path 1 1 1 additive

[r2-route-policy]q

[r2]route-policy as permit node 20

Info: New Sequence of this List.

[r2-route-policy]q

[r2]bgp 2

[r2-bgp]undo peer 12.1.1.1 route-policy as import

//注:可以在控制层面的入或出方向调用,但只能在ebgp邻居间操作;可干涉ebgp、ibgp关系选路;

出向调用 x 3 4 5 x为实际经过的AS号;最前端号码为最新经过的AS号;

入向调用 3 4 5 x

切记:as-path 属性又用于EBGP的水平分割,若人为添加的as号,在网络后端实际存在,将导致这些路由无法进入这些AS;解决方案:反复添加已经经过的AS编号;[r2-route-policy]apply as-path 3 4 5 additive

改为[r2-route-policy]apply as-path 1 1 1 additive

BGP6种基本属性_第5张图片

4、起源属性

条目的产生方式

network 宣告本地路由表中的任意路由 i

import 将本地通过其他协议学习的路由重发布到BGP协议中 ?

egp 早期的ebg协议学习的路由重发布到BGP协议中 e

该属性的修改可以在整个控制层面流量经过的任意接口修改;

== i>e>?==
BGP6种基本属性_第6张图片
在r2上操作修改2.2.2.2 的属性,2.2.2.2的ogn降低,所以1.1.2.0 走4.4.4.4

[r2]ip ip-prefix xx permit 1.1.2.0 24

[r2]route-policy xx permit node 10

Info: New Sequence of this List.

[r2-route-policy]if-match ip-prefix xx

[r2-route-policy]apply origin ?

egp Remote EGP

igp Local IGP

incomplete Unknown heritage

[r2-route-policy]apply origin egp 2

[r2-route-policy]q

[r2]route-policy xx permit node 20

Info: New Sequence of this List.

[r2-route-policy]q

[r2]bgp 2

[r2-bgp]peer 3.3.3.3 route-policy xx export

5、MED 多出口的鉴别属性

BGP协议默认不存在cost;

MED就是人为的利用路由器优选路径的规则—先比较管理距离(华为为优先级)优先级小的优,若一直再比较度量值(华为为cost)

BGP协议在特定条件下携带本地到达目标的cost值;本地宣告(重发布)自己路由表中的路由后,将其传递给本地的ebgp邻居,将携带cost值;对于其他AS的设备学习到从同一个as传递过来的路由,优选MED最小的路径;

管理员可以在控制层面传递路由的过程中,手工修改MDE;最常用于干涉ebgp选路;

常常用于AS1干涉AS2对AS1的选路;

[r1]ip ip-prefix aa permit 1.1.2.0 24

[r1]route-policy aa permit node 10

Info: New Sequence of this List.

[r1-route-policy]if-match ip-prefix aa

[r1-route-policy]apply cost 1

[r1-route-policy]q

[r1]route-policy aa permit node 20

Info: New Sequence of this List.

[r1-route-policy]q

[r1]bgp 1

[r1-bgp]peer 12.1.1.2 route-policy aa export

AS1干涉AS2对AS1的选路,在r1上操作增大对端的2.2.2.2 的cost值。

[r3-bgp]network 3.3.3.0 24
BGP6种基本属性_第7张图片
看控制层面回包的时候,走4.4.4.4(14.1.1.2)
BGP6种基本属性_第8张图片

你可能感兴趣的:(网络ensp,网络面试)