今天针对BGP的权重做了个实验。目的也就是当本地出口路由器有多条外出自治系统的链路时,应用权重(Weight)属性能够决定数据流从本地路由器哪条出口链路流出本地自治系统。但这个是cisco私有的属性。由于本地优先级针对本地AS属性。MED属性却是不同的AS,MED不作比较。所以cisco私有的权重属性也是重要的属性,并且在cisco路由器中优先级是排名第一的。好的。下面就看一下拓扑图:
二、实验分析:
1
、根据BGP路由选择决策过程 对于特定的目的地,BGP只选择一条最佳路径。但
如果到达目标有多条路径,则将会依据以下这些策略进行路径选择:
A
、选权重最高的路由(属cisco私有属性,只在当前本地路由器有效)
B
、选择本地优先级最高的路由(注:只用于本地AS内部)
C
、选择当前路由器的通告过的路由
D
、选择AS路径最短的路由
E
、选择源头编码最小的路径(依次为IGP
F
、选择MED值最小的路径
G
、外部路径(EBGP)优先于内部路径(IBGP)
H
、选择经过最近的IGP邻居的路径
I
、对于EBGP路径,选择最老的路由
J
、选邻居BGP路由器ID最小的路由
K
、选择邻居IP地址最小的路由
2、那么依次配置各台路由器
IP地址和
BGP协议之后,查看
R1的
BGP和路由表:
R1#sh ip route
………………
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.4.0/24 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, Serial1/1
B 192.168.2.0/24 [20/0] via 192.168.1.2, 00:09:18
B 192.168.3.0/24 [20/0] via 192.168.4.1, 00:09:11
150.150.0.0/24 is subnetted, 1 subnets
B 150.150.1.0 [20/0] via 192.168.1.2, 00:09:18
R1#sh ip bgp
BGP table version is 7, local router ID is 192.168.4.2
………………
Network Next Hop Metric LocPrf Weight Path
* 150.150.1.0/24 192.168.4.1 0 64515 64514 i
*> 192.168.1.2 0 64513 64514 i
* 192.168.1.0 192.168.1.2 0 0 64513 i
*> 0.0.0.0 0 32768 i
* 192.168.2.0 192.168.4.1 0 64515 64514 i
*> 192.168.1.2 0 0 64513 i
*> 192.168.3.0 192.168.4.1 0 0 64515 i
* 192.168.1.2 0 64513 64514 i
* 192.168.4.0 192.168.4.1 0 0 64515 i
*> 0.0.0.0 0 32768 i
|
3、查看一下
R1的
BGP邻居表:
R1#sh ip bgp neighbors
BGP neighbor is 192.168.1.2, remote AS 64513, external link
BGP version 4, remote router ID 192.168.2.1
BGP state = Established, up for 00:53:38
……………… BGP neighbor is 192.168.4.1, remote AS 64515, external link
BGP version 4, remote router ID 192.168.4.1
BGP state = Established, up for 00:54:23
|
4、由于
R2的
router-id并且优先通告给
R1。所以
R1选择
R2作为下一跳到达
150.150.1.0/24,但
R1和
R4之间是快速以太网链路,所以
R1选错了下一跳,并且由于
本地优先级针对本地AS属性, MED属性却是不同邻居AS,MED不作比较。那么下面我们通过
cisco 私有的
BGP的权重属性来解决
R1到
150.150.1.0/24路径选择问题。
三、实验步骤:
1、在
R1上分别指定两个邻居的权重,让
R1优先选择权重大的链路走:
R1(config)#router bgp 64512
R1(config-router)#nei 192.168.1.2 weight 50
R1(config-router)#nei 192.168.4.1 weight 100
|
2、软涮新一下
BGP数据库,查看一下:
R1#clear ip bgp * soft
R1#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 150.150.1.0/24 192.168.4.1 100 64515 64514 i(现在选择R4了)
* 192.168.1.2 50 64513 64514 i
* 192.168.1.0 192.168.1.2 0 50 64513 i (这条没错)
*> 0.0.0.0 0 32768 i
*> 192.168.2.0 192.168.4.1 100 64515 64514 i(但这条路径就……)
* 192.168.1.2 0 50 64513 i
*> 192.168.3.0 192.168.4.1 0 100 64515 i
* 192.168.1.2 50 64513 64514 i
* 192.168.4.0 192.168.4.1 0 100 64515 i
*> 0.0.0.0 0 32768 i (为避免环路,直连权重值为最大)
|
3、通过对
R1指定邻居权重,
R1到
150.150.1.0/24发现是选择了权重大的下一跳走,但却发现
R1到
192.168.2.0/24也选择了权重大的
R4链路作为下一跳。而没有选择直连链路走,看来我们只指定邻居权重这种方法是
拆东墙补西墙。并不是很完美的。但如果用路由图调用设置权重就不一样了。这样可以针对目的地址设置权重,下面我们就把之前配置的权重
no掉,并重新建一个
route-map设置权重值。
R1(config)#router bgp 64512
R1(config-router)#no neighbor 192.168.1.2 weight 50
R1(config-router)#no neighbor 192.168.4.1 weight 100
R1(config)#access-list 10 per 150.150.1.0 0.0.0.255 (建立一个ACL)
R1(config)#route-map set_weight per 10 (建立一个路由图名为set_weight)
R1(config-route-map)#match ip add 10 (匹配ACL)
R1(config-route-map)#set weight 100 (针对route-map特定的目的网络设置权重值100)
R1(config-route-map)#exit
R1(config)#route-map set_weight per 20 (再建立一个空路由图以便其它路由都按默认方式转发)
|
四、验证实验:
R1#sh ip bgp
…………
Network Next Hop Metric LocPrf Weight Path
*> 150.150.1.0/24 192.168.4.1 0 64515 64514 i(下一跳为R4)
* 192.168.1.2 0 64513 64514 i
* 192.168.1.0 192.168.1.2 0 0 64513 i
*> 0.0.0.0 0 32768 i
* 192.168.2.0 192.168.4.1 0 64515 64514 i
*> 192.168.1.2 0 0 64513 i (下一跳为R2)
*> 192.168.3.0 192.168.4.1 0 0 64515 i
* 192.168.1.2 0 64513 64514 i
* 192.168.4.0 192.168.4.1 0 0 64515 i
*> 0.0.0.0 0 32768 i
R1#sh ip route
………………
C 192.168.4.0/24 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, Serial1/1
B 192.168.2.0/24 [20/0] via 192.168.1.2, 00:07:40
B 192.168.3.0/24 [20/0] via 192.168.4.1, 00:32:27
150.150.0.0/24 is subnetted, 1 subnets
B 150.150.1.0 [20/0] via 192.168.4.1, 00:07:40
|