一、BGP的属性—基础属性
1、PrefVal(优先级/权重)
传播范围 默认值 大/小 优
不传播 0-65535 越大越好
该属性为私有属性(华为) --本地有效(因为不传播,所以要修改只能在入口修改)
[r3]bgp 2
[r3-bgp]peer 4.4.4.4 preferred-value 1 (全局性)
本地所有通过4.4.4.4邻居学习到的BGP路由,优先级全部修改为1;
负载分担:访问不同目标时,让路由器选择不同的路径;起到所有路径被使用效果;
路由策略来实现—在BGP路由控制层面传递的过程中,抓取路由修改属性
[r3]ip ip-prefix p permit 1.1.1.0 24 抓住网络号
[r3]route-policy p permit node 10 定制策略
[r3-route-policy]if-match ip-prefix p 匹配流量
[r3-route-policy] apply preferred-value 1 修改优先级属性
[r3-route-policy]q
[r3]route-policy p permit node 20 由于路由策略存在分发列表的功能,必须考虑空表
[r3-route-policy]q
[r3]bgp 2
[r3-bgp]peer 4.4.4.4 route-policy p import 和邻居传递路由的控制层面方向调用;
优先级不传播的特性,只能在本地的入方向调用;
2、LocPrf 本地优先级
传播范围 默认值 大/小 优
整个AS内部-IBGP邻居间 100(0-255) 越大越好
用于干涉IBGP邻居关系下选路最常用属性;
[r4-bgp]default local-preference 101 本地传递路由给本地所有IBGP邻居时修改属性为101;(全局性)
负载分担:
[r3]ip ip-prefix l permit 1.1.1.0 24
[r3]route-policy l permit node 10
[r3-route-policy]apply local-preference 101
[r3-route-policy]if-match ip-prefix l
[r3-route-policy]q
[r3]route-policy l permit node 20
[r3-route-policy]q
[r3]bgp 2
[r3-bgp]peer 4.4.4.4 route-policy l import 该属性可以传,所以可以在IBGP邻居关系间的出或入方向调用
3、优先本地下一跳 NextHop
下一跳可达才标志该条目能优
本地在bgp协议中宣告本地路由表中的IGP路由时,在本地的BGP表中下一跳地址为0.0.0.0;
而通过BGP从其他邻居处学习到的路由,下一跳地址正常不为0.0.0.0;本地优选0.0.0.0的路由传递给本地的其他BGP邻居;优选本地下一跳
4、AS-PATH – 记录条目经过的所有AS编号(EBGP水平分割)
注意AS号的添加,一定是在EBGP邻居间进行的;
优选经过的AS号数量最少的路径;同时该属性用于EBGP水平分割,接收到路由条目中若存在本地的AS号将拒绝接收;
可以人为的在EBGP邻居关系间,增加AS号的数量来干涉选路;修改A路径,优选B路径;
因为人为操作只能添加,不能减少;减少会打破防环机制
可以干涉到EBGP关系/IBGP关系选路,但只能在EBGP关系设备间配置;
[r2]ip ip-prefix as index 10 permit 1.1.1.0 24
[r2]route-policy as permit node 10
[r2-route-policy]if-match ip-prefix as
[r2-route-policy]apply as-path 3 4 5 additive
[r2]route-policy as permit node 20
[r2]bgp 2
[r2-bgp]peer 12.1.1.1 route-policy as import
出向调用为 x 3 4 5 X代表实际经过过的AS
入向调用为 3 4 5 X X代表实际经过过的AS
新增AS号处于列表的最左端;
注:以上配置方式,若网络后端真实存在AS3/4/5.那么由于EBGP水平分割,将导致这些路由无法被学习;
解决方案:重复添加实际已经经过的AS编号来增加数量
[r2-route-policy]apply as-path 1 1 1 additive
5、起源属性(Ogn) – 该条目的来源—通过什么方法进入到BGP协议的
BGP宣告本地路由表中路由 Network i
将本地路由表中IGP路由重发布到BGP协议 import ?
将本地路由表中EGP(EGP最早的协议就叫EGP)路由重发布到BGP协议 e
规则 i优于e优于?
[r3]ip ip-prefix o permit 1.1.1.0 24
[r3]route-policy o permit node 10
[r3-route-policy]if-match ip-prefix o
[r3-route-policy]apply origin egp 2 编写对端设备的AS号
[r3-route-policy]q
[r3]route-policy o permit node 20
[r3-route-policy]q
[r3]bgp 2
[r3-bgp]peer 2.2.2.2 route-policy o import
控制层面流量的入或出接口调用均可;
6、MED -多出口鉴别属性(度量值)
将本地通过IGP协议学习到的路由重发布或宣告到BGP协议,将携带本地IGP度量值到BGP路由中
BGP协议默认没有度量值,没有cost;所谓的MED就是人为的在路由条目中编写一个cost数值(度量)来影响路由器加表,从而干涉选路;
可用于干涉EBGP/IBGP关系下的选路;最常用于干涉EBGP关系选路;
常常用于AS1干涉AS2对AS1的选路;
<r1>ping -r -a 1.1.1.1 3.3.3.3 (-r)扩展ping,记录来回的下一跳
[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 2
[r1-route-policy]q
[r1]route-policy med permit node 20
[r1-route-policy]q
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 route-policy med export
二、BGP选路规则
比较前提,多条BGP路由目标相同,且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)
与属性有关:
1.优选Preference_Value值最高的路由(私有属性,仅本地有效)。
不传递 权限最高属性 可以干涉EBGP/IBGP选路
2.优选本地优先级(Local_Preference)最高的路由。
IBGP邻居关系间传递 只能,最常干涉IBGP关系的选路
3.优选手动聚合>自动聚合>network>import>从对等体学到的。
4.优选AS_Path短的路由。
EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;
5.起源类型IGP>EGP>Incomplete。
起源属性 i优于e优于?; 可在控制层面任意接口修改;
6.对于来自同一AS的路由,优选MED值小的。
默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost
最常用于干涉EBGP选路的属性
与属性无关:
1.优选从EBGP学来的路由(EBGP>联邦类EBGP>IBGP)。
2.优选AS内部IGP的Metric最小的路由。
3.优选Cluster_List最短的路由。(反射器)也相当于选Router_ID小的
4.优选Orginator_ID最小的路由。
5.优选Router_ID最小的路由器发布的路由。
6.优选具有较小IP地址的邻居学来的路由。
三、BGP的社团属性
–BGP的扩展属性 默认大多数厂商的产品在BGP协议中不携带社团属性
例:控制传播范围的社团属性
[r1]route-policy com permit node 10
[r1-route-policy]apply community no-advertise 针对所有的流量修改属性S
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 route-policy com export
默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性
[r1-bgp]peer 12.1.1.2 advertise-community 逐跳行为,每台设备均需开启传递性(传播时带上社团属性)
no-advertise 接收到的条目中若存在该社团属性,将不再传递该路由
no-export 接收到的条目若存在该社团属性,将不传递给下一个AS
no-export-subconfed 接收到的条目若存在该社团属性,将不传递给下一个小AS
若网络没有小AS,仅存在大AS时no-export和no-export-subconfed作用一致
四、BGP协议开启负载均衡
[r1-bgp]load-balancing as-path-ignore BGP协议开启负载均衡,仅针对EBGP路由有效
条件为均衡的这些路径,其对端一定为同一个AS;且在BGP表中仅显示优最佳;但路由表中出现负载均衡现象;