面试BGP选路6条原则:
选路条件: BGP路由必须有效,无环的,不能被惩罚 。
当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由:
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协议依然会继续选路,选出最优的一条路由进行传递
实验:
第一种均为私有属性
传播范围 默认值 大优或小优
不传播 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的属性。
华为设备的私有属性
全局操作:
[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生成;
传播范围 默认值 大或小优
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邻居关系;
抓的是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邻居关系;
3
优选经过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
条目的产生方式
network 宣告本地路由表中的任意路由 i
import 将本地通过其他协议学习的路由重发布到BGP协议中 ?
egp 早期的ebg协议学习的路由重发布到BGP协议中 e
该属性的修改可以在整个控制层面流量经过的任意接口修改;
== i>e>?==
在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
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值。