目录
影响BGP选路的11种属性
用上图中的路由来研究路由选路问题
注:以下比较BGP选路的属性是递进进行比较的
1)Preferred-Value(PV)
优选Preferred-value属性值最大的路由
这个属性是华为设备的私有属性,可以理解为权重。PV属性是
本设备上选路优先级最高的属性,这个属性越大越优。 --- 这个属性是不会进行传递的,只能在本设备上进行修改,也只能在本设备
上生效,传递出去的路由条目中将不携带这个属性,所以,对方收到路由后,这个属性依然会依据默认值进行加表。
所以,这个属性是本设备本身上干涉选路最方便的属性。
修改PV值
第一种修改方法:
[r4-bgp]peer 3.3.3.3 preferred-value 100 --- 通过这个命令可以修改对应邻居发送的路由信息的PV值
负载分担 --- 即不同的流量走不同的线路,分担一条单一线路的压力。
第二种方法:通过流量抓取进行属性修改
1,前缀列表抓取流量
[r4]ip ip-prefix pv permit 10.0.0.0 24
2,路由策略修改属性
[r4]route-policy pv permit node 10
Info: New Sequence of this List.
[r4-route-policy]if-match ip-prefix pv
[r4-route-policy]apply preferred-value 100
[r4-route-policy]q
[r4]route-policy pv permit node 20 ---- 添加空表,放通剩余流量
Info: New Sequence of this List.
[r4-route-policy]q
3,在BGP上调用路由策略
[r4-bgp]peer 3.3.3.3 route-policy pv
import
---- 注意,调用的时候需要选择方向;入方向影响自身,出方向影响他人。
2)Local-Preference(LP)
优选Local-Preference属性最大的路由
LP --- 本地优先级属性,默认值为100,越大约优。LP属性可以进行传递,但是只能在IBGP邻居之间传递,传递到EBGP邻居时将不携带该属性,所以,这个属性是在
IBGP内部选路最常用的属性
。
修改LP值
修改方法一:
[r3-bgp]default local-preference 200 --- 将R3发送的路由信息
中的LP值修改为200
修改方法二:
[r3]ip ip-prefix lp permit 10.0.0.0 24
[r3]route-policy lp permit node 10
Info: New Sequence of this List.
[r3-route-policy]if-match ip-prefix lp
[r3-route-policy]apply local-preference 200
[r3-route-policy]q
[r3]route-policy lp permit node 20
Info: New Sequence of this List.
[r3-bgp]peer 4.4.4.4 route-policy lp export ---- 针对
4.4.4.4执行出方向的路由策略
3)发布路由的方式
自己始发的大于从别人那学的,自己发布的路由的多种方法的优先级为:手工聚合>自动聚合>network>重发布
4)AS_PATH
优选AS_PATH属性最短的路由
AS_PATH选路的基本原则 --- 记录AS号越少越优
1,我们在聚合路由时开启AS_SET功能后,将不同的AS明细路由的AS号用大括号括起来放入AS_PATHS属性中。但注意,在比较选路时,不管大括号中包含多少个AS号,我们都当作是一个来看待。
2,联邦时,我们联邦内部也需要使用AS来进行防环,我们用小括号括起来表示。这种情况下,我们在进行AS_PATH长度比较时,将不考虑小括号中的内容。
修改AS_PATH属性
R1的出方向的调用
[r1]ip ip-prefix as permit 10.0.0.0 24
[r1]route-policy as permit node 10
Info: New Sequence of this List.
[r1-route-policy]apply as-path 11 22 33 ?
INTEGER<1-4294967295> AS number in asplain format
(number<1-4294967295>)
STRING<3-11> AS number in asdot format
(number<1-65535>.number<0-65535>)
additive Append to original As Number ---- 指在原有的AS号基础上增加AS号
overwrite Overwrite original As Number ---- 清除原有的AS号,之后添加AS号
[r1-route-policy]apply as-path 11 22 33 additive ---- 处于防环的考虑,建议使用additive
[r1]route-policy as permit node 20 --- 空表放通所有
[r1-bgp]peer 12.0.0.2 route-policy as export --- 出方向调用影响AR2
R2如方向上的调用
[r2]ip ip-prefix as permit 10.0.0.0 24
[r2]route-policy as permit node 10
[r2-route-policy]apply as-path 1 1 1 additive ---- 我们随便添加的AS号,可能在真实网络中存在。因为AS_PATH属性还可以进行防环,所以,这样写可能导致这几个AS无法接受该路由信息。所以,为了避免这种情况发生,我们可以将添加的AS号全改为真实离开的AS号,毕竟,选路只跟长度有关,和内容无关。
[r2]route-policy as permit node 20
[r2-bgp]peer 12.0.0.1 route-policy as import
5)起源码(OGN)
优选起源码属性最优的
OGN --- 起源码 ---
1,通过Network发布的路由 ---- I ---- I代表该路由起源于IGP协议(包括静态路由和直连路由)。
2,通过EGP协议发布的路由 ---- e ---- 指的是BGP协议之前的外部网关协议 -- EGP协议,因为目前该协议基本上不用了,所以,e标记很少见。
3,通过除了以上两种方式发布的路由 ---- ? ---- 重发布路由的起源码标记就是?
这三种起源码的优先级关系为:I > e > ?
修改起源码
[r1]route-policy ogn permit node 10
Info: New Sequence of this List.
[r1-route-policy]if-match ip-prefix ogn
[r1-route-policy]apply origin ?
egp --- e
igp --- I
incomplete --- ?
[r1-route-policy]apply origin incomplete
[r1]route-policy as permit node 20 --- 空表放通所有
[r1-bgp]peer 12.0.0.2 route-policy as export
6)MED
优选MED值最小的路由
MED --- 多出口鉴别属性 --- MED属性的初始值,是继承了IGP协议或者是静态路由或直连路由在路由表中的开销值。
该属性可以影响其他AS的流量如何流入自己AS中
BGP协议在进行宣告时,可以宣告路由表中任意的路由条目,默认将这些路由的开销值继承到BGP路由的MED属性中。若本地宣告的BGP路由传递给EBGP邻居,将携带MED值,便于EBGP邻居所在的AS内部的设备进行选路。若本地通过IBGP邻居学到的BGP路由,也会传递给自己的EBGP邻居,但是将会将MED值归0传递。因为这些度量并不是本地产生的。
总结:存在EBGP邻居关系的所有设备都建议宣告内部AS的路由。
注意:我们在进行MED值比较时,多条相同的路由信息必须来自同一个AS才可以,即AS_PATH属性中最左边的AS号必须相同,否则没有可比性,将直接跳过这一条的比较。
修改cost值
修改R2的cost值
[r2]route-policy med permit node 10
Info: New Sequence of this List.
[r2-route-policy]if-match ip-prefix med
[r2-route-policy]apply cost 100
[r2-route-policy]q
[r4]ping -r -a 4.4.4.4 1.1.1.1 --- 记录命令,可以记录数据传递的路径信息
7)EBP协议学习的路由
优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)
8)NEXT_HOP
优选到达NEXT_HOP的IGP度量值最小的路由
指的是到达下一跳本地路由表中的开销值进行比较,和其他参数无关。
9)Cluster_List
优选Cluster_List最短的路由。
即经过反射路由器越少的路由器优先级越高。
10)RoulerID / Orginator ID
优选RoulerID (Orginator ID)最小的设备通告的路由。
有Orginator ID优先比较Orginator ID,无Orginator ID则比较RoulerID,越小越优
11)IP地址
优选具有最小IP地址的对等体通告的路由。
总结:
属性名称 | 传播范围 | 默认值 | 评判标准(大优还是小优) |
PV | 不传播 | 0(0 - 65535) | 越大越优 |
LP | IBGP对等体之间 | 100 | 越大越优 |
AS_PATH | BGP对等体之间 | 记录的数量越少越优 | |
发布路由的方式 | BGP对等体之间 | 手工聚合>自动聚合>network>重发布 | |
OGN | BGP对等体之间 | 根据起源类型决定 | I > e > ? |
MED | BGP对等体之间 | 默认取值为全局路由表中的开销值 | 越小越优 |
EBP协议学习的路由 | BGP对等体之间 | 不用路由器间运行的不同协议 | EBGP路由>IBGP路由 |
NEXT_HOP | BGP对等体之间 | 到达下一跳本地路由表中的开销值 | 越大越优 |
Cluster_List | IBGP对等体之间 | 经过反射路由器的多少决定 | 越少越优 |
RoulerID / Orginator ID | BGP对等体之间 | RoulerID / Orginator ID的大小 | 越小越优 |
IP地址 | BGP对等体之间 | 越小越优 |