一、Weight 权重
介绍:Cisco私有参数,范围0-65535,本地始发默认32768,其他默认0。
仅在本地有效,无法传递,且越大越优先。
例如:图1-1 在R1上宣告自己的回环口1.1.1.1/32,可以在R4上看到如下路由:
* i1.1.1.1/32
*>i
遵循13条规则,选择24.24.24.2,我们更改其Weight,使34.34.34.4优先。
R4:
access-list 2 permit 1.1.1.1
route-map
match ip address 2
set weight 2
route-map
neighbor 34.34.34.3 route-map 2 in
验证:
R4:
*>i1.1.1.1/32
* i
二、Local Preference 本地优先级
介绍:越大越优先,默认值均为100,可以影响本AS内部路由,不能传递给EBGP邻居。
例如:在R1上宣告自己的回环口1.1.1.1/32,可以在R4上看到如下路由:
* i1.1.1.1/32
*>i
我们更改R3上LP值,使其影响R4,使34.34.34.4优先。
R3:
access-list 3 permit 1.1.1.1
!
route-map 3 permit 10
match ip address 3
set local-preference 101
route-map 3 permit 20
neighbor 13.13.13.1 route-map 3 in
验证:
R3:
*> 1.1.1.1/32
R4:
*>i1.1.1.1/32
* i
三、本地始发路由方式
介绍:该比较原则主要是指本地在进入一条IGP路由进去BGP表时,使用不同的方式比如network或redistribute等。
那么这些方式之间是存在优先顺序的:network>redistribute>aggregate
这项不作为选路原则,在BGP表中看不到其他项。
例如:我们在R2上建立如下BGP条目:
R2:
network 2.2.2.2 mask 255.255.255.255
aggregate-address 3.3.3.3 255.255.255.255
redistribute connected
相当于建立了 一条宣告i 一条汇总i 一条重分发?
验证:
1.在三种都在的情况下,选network
*> 2.2.2.2/32
2.删除network,选redistribute
*> 2.2.2.2/32
3.删除redistribute,选aggregate
*> 1.1.1.1/32
四、AS PATH最短
介绍:对于EBGP来说,越短的AS越优先
可以在BGP进程下使用bgp
例如:如图1-1,在R4上配置一个回环口4.4.4.4/32,宣告并在R1上看到如下条目:
R1:
*
*>
我们在R2上将其AS PATH加长。
R2:
access-list 4 permit 4.4.4.4
!
route-map 4 permit 10
match ip address 4
set as-path prepend 65535
!
route-map 4 permit 20
neighbor 12.12.12.1 route-map 4 out
验证:
R1:
*> 4.4.4.4/32
*
五、Origin 属性
介绍:三种不同的Origin属性的优先顺序:IGP>EGP>incomplete,这种属性将影响全局!注意使用
除了重分发进来的之外,一般都是i,e的已经不存在了。
例如:R4从R2、R3学到的1.1.1.1/32的路由条目
R4:
* i1.1.1.1/32
*>i
我们将24.24.24.2学来的路由改为incomplete,使1.1.1.1/32走R3
R2:
access-list 1 permit 1.1.1.1
route-map 1 permit 10
match ip address 1
set weight 1
set origin incomplete
route-map 1 permit 20
neighbor 24.24.24.4 route-map 1 out
验证:
R4:
*>i1.1.1.1/32
* i
六、MED值
介绍:也就是metric值,默认为0,同其他metric一样,越小越优先。
默认情况下,只比较来自同一邻居AS的BGP路由的MED值。
可以配置bgp
本地在将一条BGP路由通告给EBGP Peer时,是否携带MED值,需要根据以下条件进行判断(不对EBGP Peer使用Route-map):
如果该BGP路由是本地始发(network或redistribute)的,则携带MED值发送给EBGP Peer (如果MED为空,则设置为0)
如果该BGP路由是从其他BGP Peer学习过来的,那么将该路由通告给EBGP Peer时不携带MED
本地在将一条BGP路由通告给IBGP Peer时,一定会携带MED值
如果接收或产生的路由的MED为空,那么在向IBGP Peer通告时,将MED设置为0
简而言之:IBGP间传递,自己产生的传给EBGP邻居,否则不携带。
下面我们一一验证。
例如:
1.在IBGP间传递MED值,R2把非0metric传递给R4,导致1.1.1.1/32从R3走。
R4:
* i1.1.1.1/32
*>i
在R2上作策略:
access-list 2 permit 1.1.1.1
route-map 2 permit 10
match ip address 2
set metric +1
route-map 2 permit 20
neighbor 24.24.24.4 route-map 2 out
验证:
R4:
*>i1.1.1.1/32
* i
2.测试R4上的4.4.4.4可以传递给R2,但R2不能传递给R1
R4:
access-list 4 permit 4.4.4.4
route-map 4 permit 10
match ip address 4
set metric +4
route-map 4 permit 20
neighbor 24.24.24.2 route-map 4 out
验证:
R2:
*> 1.1.1.1/32
*>i4.4.4.4/32
R1:
*> 1.1.1.1/32
*
*>
3.测试R2上的2.2.2.2可以传递给R1和R4
R1:
*> 1.1.1.1/32
*> 2.2.2.2/32
R4:
*>i2.2.2.2/32
我们在R2上配置:
access-list 22 permit 2.2.2.2
!
route-map 22 permit 10
match ip address 22
set metric +22
route-map 22 permit 20
neighbor 12.12.12.1 route-map 22 out
neighbor 24.24.24.4 route-map 22 out
验证:
可以看到R1和R4上都可以看到Metric
R1:
*> 2.2.2.2/32
R4:
*>i2.2.2.2/32
七、EBGP优于IBGP
介绍:
EBGP路由优于IBGP路由这条原则进行优选
该原则不会做为BGP路由选路策略
例如:
R1、R4同时向R2发布4.4.4.4这条路由。
验证:
*
在path中出现了R1所在AS,说明是从R1传来的。
因为IBGP条目不出现在BGP table中,所以不作为选路策略。
八、到达Next-Hop代价
介绍:这里的代价,指的是IGP的metric值。注意比较的是metric,不是AD。
例如:如图1-2所示,R1从属AS 1,R2-4从属AS 234
R2-3 与 R4使用lookback 0口建立邻居。
其中R2——R4使用Rip建立底层
其中R3——R4使用Eigrp建立底层
如下效果:
R4#sh ip
BGP routing table entry for 1.1.1.1/32, version 6
Paths: (2 available, best #2, table Default-IP-Routing-Table)
可以看到虽然EIGRP(90)比RIP(120)小,但BGP只比较metric
我们将RIP与EIGRP对调。
*>i1.1.1.1/32
* i
九、负载均衡
介绍:当BGP进程下面配置了maximum-paths [ibgp]
例如:R4到1.1.1.1/32走负载均衡。
R4:
maximum-paths ibgp 2
验证:
R4:
B
R4#tracer 1.1.1.1 so lo 0
Type escape sequence to abort.
Tracing the route to 1.1.1.1
十、EBGP越老越优先
介绍:会根据EBGP路由安装进BGP表的先后顺序进行优选,先安装的EBGP路由会被优选
例如:
R1上学到4.4.4.4/32的路由,通过R2和R3
如下:
R1:
r
r>
当我们重启R2的邻居时,会优先选择老的路由R3
R1:
r
r>
十一、Router-id
介绍:Router-ID越小,越优先。
注意,在配置router-id的时候BGP会自动重启进程,引起各种中断。
例如:
R1上学到4.4.4.4/32的路由,通过R2和R3
默认情况下,R1:
r
r>
然后,我们修改R3 Router-id使其高于R2,并重启R1进程(为了避免十条规则)
R1:
r
r>
十二、Cluster-list长度
介绍:长度越小,越优先
仅在存在反射器的环境下,才会进行Cluster-list长度的比较,RR在执行路由反射动作时会将自己的Cluster ID添加在Cluster-list中.
十三、最小邻居地址
介绍:优选最低对等体地址收到的路由条目。
例如:如图1-1,在没有配置策略和router-id的情况下,选择24.24.24.2路径。即最小邻居(对等体)地址。