介绍:Cisco私有参数,范围0-65535,本地始发默认32768,其他默认0。
仅在本地有效,无法传递,且越大越优先。
例如:图1-1 在R1上宣告自己的回环口1.1.1.1/32,可以在R4上看到如下路由:
Network Next Hop Metric LocPrf Weight Path
* i1.1.1.1/32 34.34.34.3 0 100 0 65001 i
*>i 24.24.24.2 0 100 0 65001 i
遵循13条规则,选择24.24.24.2,我们更改其Weight,使34.34.34.4优先。
R4:
access-list 2 permit 1.1.1.1
route-map 2 permit 10
match ip address 2
set weight 2
route-map 2 permit 20
neighbor 34.34.34.3 route-map 2 in
验证:
R4:
*>i1.1.1.1/32 34.34.34.3 0 100 2 65001 i
* i 24.24.24.2 0 100 0 65001 i
介绍:越大越优先,默认值均为100,可以影响本AS内部路由,不能传递给EBGP邻居。
例如:在R1上宣告自己的回环口1.1.1.1/32,可以在R4上看到如下路由:
Network Next Hop Metric LocPrf Weight Path
* i1.1.1.1/32 34.34.34.3 0 100 0 65001 i
*>i 24.24.24.2 0 100 0 65001 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:
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 13.13.13.1 0 101 0 65001 i
R4:
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.1/32 34.34.34.3 0 101 0 65001 i
* i 24.24.24.2 0 100 0 65001 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 0.0.0.0 0 32768 i
2.删除network,选redistribute
*> 2.2.2.2/32 0.0.0.0 0 32768 ?
3.删除redistribute,选aggregate
*> 1.1.1.1/32 12.12.12.1 0 1 65001 i
介绍:对于EBGP来说,越短的AS越优先
可以在BGP进程下使用bgp bestpath as-path ignore命令来跳过AS-Path的长度比较
例如:如图1-1,在R4上配置一个回环口4.4.4.4/32,宣告并在R1上看到如下条目:
R1:
* 4.4.4.4/32 13.13.13.3 0 65234 i
*> 12.12.12.2 0 65234 i
我们在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 13.13.13.3 0 65234 i
* 12.12.12.2 0 65234 65535 i
介绍:三种不同的Origin属性的优先顺序:IGP>EGP>incomplete,这种属性将影响全局!注意使用
除了重分发进来的之外,一般都是i,e的已经不存在了。
例如:R4从R2、R3学到的1.1.1.1/32的路由条目
R4:
* i1.1.1.1/32 34.34.34.3 0 100 0 65001 i
*>i 24.24.24.2 0 100 0 65001 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 34.34.34.3 0 100 0 65001 i
* i 24.24.24.2 0 100 0 65001 ?
介绍:也就是metric值,默认为0,同其他metric一样,越小越优先。
默认情况下,只比较来自同一邻居AS的BGP路由的MED值。
可以配置bgp always-compare-med命令,可以比较多个AS的med值。
本地在将一条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:
Network Next Hop Metric LocPrf Weight Path
* i1.1.1.1/32 34.34.34.3 0 100 0 65001 i
*>i 24.24.24.2 0 100 0 65001 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:
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.1/32 34.34.34.3 0 100 0 65001 i
* i 24.24.24.2 1 100 0 65001 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:
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 12.12.12.1 0 0 65001 i
*>i4.4.4.4/32 24.24.24.4 4 100 0 i
R1:
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
* 4.4.4.4/32 13.13.13.3 0 65234 i
*> 12.12.12.2 0 65234 i
3.测试R2上的2.2.2.2可以传递给R1和R4
R1:
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
*> 2.2.2.2/32 12.12.12.2 0 0 65234 i
R4:
*>i2.2.2.2/32 24.24.24.2 0 100 0 i
我们在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 12.12.12.2 22 0 65234 i
R4:
*>i2.2.2.2/32 24.24.24.2 22 100 0 i
介绍:
EBGP路由优于IBGP路由这条原则进行优选
该原则不会做为BGP路由选路策略
例如:
R1、R4同时向R2发布4.4.4.4这条路由。
验证:
* 4.4.4.4/32 12.12.12.1 0 0 65001 i
在path中出现了R1所在AS,说明是从R1传来的。
因为IBGP条目不出现在BGP table中,所以不作为选路策略。
介绍:这里的代价,指的是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 1.1.1.1
BGP routing table entry for 1.1.1.1/32, version 6
Paths: (2 available, best #2, table Default-IP-Routing-Table)
Not advertised to any peer
1
3.3.3.3 (metric 409600) from 3.3.3.3 (3.3.3.3)
Origin IGP, metric 0, localpref 100, valid, internal
1
2.2.2.2 (metric 1) from 2.2.2.2 (2.2.2.2)
Origin IGP, metric 0, localpref 100, valid, internal, best
可以看到虽然EIGRP(90)比RIP(120)小,但BGP只比较metric
我们将RIP与EIGRP对调。
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.1/32 3.3.3.3 0 100 0 1 i
* i 2.2.2.2 0 100 0 1 i
介绍:当BGP进程下面配置了maximum-paths [ibgp] 2-6,那么将执行等价负载均衡
例如:R4到1.1.1.1/32走负载均衡。
R4:
maximum-paths ibgp 2
验证:
R4:
B 1.1.1.1 [200/0] via 34.34.34.3, 00:00:02
[200/0] via 24.24.24.2, 00:00:02
R4#tracer 1.1.1.1 so lo 0
Type escape sequence to abort.
Tracing the route to 1.1.1.1
1 34.34.34.3 112 msec
24.24.24.2 236 msec
34.34.34.3 408 msec
介绍:会根据EBGP路由安装进BGP表的先后顺序进行优选,先安装的EBGP路由会被优选
例如:
R1上学到4.4.4.4/32的路由,通过R2和R3
如下:
R1:
r 4.4.4.4/32 13.13.13.3 0 65234 i
r> 12.12.12.2 0 65234 i
当我们重启R2的邻居时,会优先选择老的路由R3
R1:
r 4.4.4.4/32 12.12.12.2 0 65234 i
r> 13.13.13.3 0 65234 i
介绍:Router-ID越小,越优先。
注意,在配置router-id的时候BGP会自动重启进程,引起各种中断。
例如:
R1上学到4.4.4.4/32的路由,通过R2和R3
默认情况下,R1:
r 4.4.4.4/32 13.13.13.3 0 65234 i
r> 12.12.12.2 0 65234 i
然后,我们修改R3 Router-id使其高于R2,并重启R1进程(为了避免十条规则)
R1:
Network Next Hop Metric LocPrf Weight Path
r 4.4.4.4/32 12.12.12.2 0 65234 i
r> 13.13.13.3 0 65234 i
介绍:长度越小,越优先
仅在存在反射器的环境下,才会进行Cluster-list长度的比较,RR在执行路由反射动作时会将自己的Cluster ID添加在Cluster-list中.
介绍:优选最低对等体地址收到的路由条目。
例如:如图1-1,在没有配置策略和router-id的情况下,选择24.24.24.2路径。即最小邻居(对等体)地址。
摘自“http://loneblog.com/blog/new-bgp-router-rules-1.html”