BGP选路策略——Weight
BGP选路原则如下:
CISCO所定义的选路原则标准是11条,这里加了两条(中文的两条),共13条。所加的两条算不上标准的选路原则,只是做一个补充而已。(切记,要熟记。。。)
·
Prefer highest weight (local to router).
·
Prefer highest local preference (global within AS).
·
Prefer route originated by the local router (next hop = 0.0.0 .0).
·
Prefer shortest AS path.
·
Prefer lowest origin code (IGP < EGP < incomplete).
·
Prefer lowest MED (exchanged between autonomous systems).
·
Prefer EBGP path over IBGP path.
·
Prefer the path through the closest IGP neighbor.
·
如果配置了
maximum-path[ibgp]n
,
如果存在多条等价的路径
,
会插入多条路径。
·
Prefer oldest route for EBGP paths.
·
Prefer the path with the lowest neighbor BGP router ID.
·
多跳路径的始发路由器
ID
相同
,
那么选择
CLUSTER_LIST
长度短的
·
Prefer the path with the lowest neighbor IP address.
实验目的:通过修改
BGP
选路属性
Weight
(权重)来控制数据流向。
实验需求:R3发给192.168.1.0网段的数据走R4,发给172.16.1.0网段的数据走R1
这里先简单介绍下Weight的特性:
·
本地有效。只在这一台路由器上起作用,人为设置的邻居的权重
·
默认值
=32768(
本地产生
)/
0
(
收到的路由
)
·
在进行比较时,
weight
值越大越好
当一个路由器分别从两个不同的邻居处学到同一条路由,它可以根据WEIGHT值决定从哪个邻居走。
实验步骤:
R3(config)#access-list 1 permit 172.16.1.0 0.0.0 .0
//
利用
ACL
抓取某条路由时,建议反掩码写成
0.0.0 .0
R3(config)#route-map R1-172
R3(config-route-map)#match ip address 1
R3(config-route-map)#set weight 100
//
修改
ACL1
中路由的
weihgt
R3(config)#route-map R1-172 20
//route-map
中隐含条目最后一条是
deny any
,所以这里一定要补充这么一句
R3(config-route-map)#exit
R3(config)#router bgp 1
R3(config-router)#neighbor 13.1.1 .1 route-map R1 -172 in
//
从邻居
13.1.1 .1
发进来的
ACL1
中定义的路由,应用
route-map R1-172
R3(config)#access-list 2 permit 192.168.1.0
R3(config)#route-map R4-192
R3(config-route-map)#match ip add 2
R3(config-route-map)#set weight 200
R3(config-route-map)#exit
R3(config)#route-map R4-192 20
R3(config-route-map)#exit
R3(config)#router bgp 1
R3(config-router)#neighbor 34.1.1.4 route-map R4 -192 in
R3#clear ip bgp * soft
//刚才忘了,呵呵。要使修改生效,一定要手动软启一下BGP
=====================
验证
=======================
R3#sh ip bgp
BGP table version is 5, local router ID is 3.3.3 .3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* i172.16.1.0/24 34.1.1.4 0 100 0 2 i
*>i 13.1.1 .1 0 100 100 2 i
*>i192.168.1.0 34.1.1.4 0 100 200 2 i
* i 13.1.1 .1 0 100 0 2 i
R3#traceroute 192.168.1.1 source 10.1.1 .1
//
我在
R3
的
loopback 0
上建了一个
10.1.1 .1
的端口,并宣告进
BGP
中用来测试
Type escape sequence to abort.
Tracing the route to 192.168.1.1
1 34.1.1.4 48 msec 64 msec 112 msec
2 24.1.1.2 116 msec 136 msec *
R3#traceroute 172.16.1.1 source 10.1.1 .1
Type escape sequence to abort.
Tracing the route to 172.16.1.1
1 13.1.1 .1 44 msec 80 msec 76 msec
2 12.1.1 .2 152 msec 128 msec *