BGP路径选择—— Preferred Value 属性实现流量负载分担实验拓扑图如下:
实验目的:
通过各自的loopback 0 建立BGP 邻居关系,通过修改Preferred Value 属性值,使得AR3 的loopback 1接口去往R4 的loopback 1 和loopback 2 的接口报文分别从AR1和AR2上负载分担流量。
接口配置掠过,配置完检查联通行。
AS 100内部采用RIPV2 达到IGP全网互通
全局视图下AR1 AR2 AR3 代码如下:
#
rip 1
version 2
network 10.0.0.0
#
AR1 AR2 AR4 配置静态路由保证AR1 及AR2 都能与AR4 环回接口建立TCP链接
个AR路由器代码如下:
[AR1] ip route-static 10.0.4.4 32 10.0.14.4
[AR2] ip route-static 10.0.4.4 32 10.0.24.4
[AR4] ip route-static 10.0.1.1 32 10.0.14.1
[AR4] ip route-static 10.0.2.2 32 10.0.24.2
每台路由器Router-ID 设置为loopback 口地址,都用loopback 建立BGP关系,
AR3 通告loopback 1 AR4 通告loopback 1 和loopback 2
个AR代码如下:
peer 10.0.4.4 ebgp-max-hop
注意:在实际场景中,通常我们使用Loopback 口建立IBGP 关系,使用物理接口建立EBGP 关系
默认情况下,EBGP建立时,默认物理直连接口TTL 值为1 ,采用环回接口时 ,TTL 会减一次变为0 ,导致报文直接丢弃,如果使用Loopback 建立EBGP ,则必须配置多跳,后面可跟具体值, 不指定参数则为最大TTL 255
AR1:
注意:在R1上先建立R3 邻居,在建立R2
#
bgp 100
router-id 10.0.1.1
peer 10.0.2.2 as-number 100
peer 10.0.2.2 connect-interface LoopBack0
peer 10.0.3.3 as-number 100
peer 10.0.3.3 connect-interface LoopBack0
peer 10.0.4.4 as-number 200
peer 10.0.4.4 ebgp-max-hop 255
peer 10.0.4.4 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 10.0.2.2 enable
peer 10.0.2.2 next-hop-local
peer 10.0.3.3 enable
peer 10.0.3.3 next-hop-local
peer 10.0.4.4 enable
#
注意: BGP next-hop属性,不同AS间建立EBGP关系,路由传递时不会改变自己的下一跳信息,其目的防止环路,需手工更改,代码如下:
peer 10.0.1.1 next-hop-local
AR2上:
[AR2]bgp 100
[AR2-bgp]router-id 10.0.2.2
[AR2-bgp]peer 10.0.1.1 as-number 100
[AR2-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[AR2-bgp]peer 10.0.1.1 next-hop-local
[AR2-bgp]peer 10.0.3.3 as-number 100
[AR2-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[AR2-bgp]peer 10.0.3.3 next-hop-local
[AR2-bgp]peer 10.0.4.4 as-number 200
[AR2-bgp]peer 10.0.4.4 ebgp-max-hop
[AR2-bgp]peer 10.0.4.4 connect-interface LoopBack 0
AR3上:建立邻居关系,同时通告loopback 1
<AR3>sy
[AR3]bgp 100
[AR3-bgp]router-id 10.0.3.3
[AR3-bgp]peer 10.0.1.1 as-number 100
[AR3-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[AR3-bgp]peer 10.0.2.2 as-number 100
[AR3-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[AR3-bgp]network 10.0.33.33 32
AR4 上建立关系,同时通告loopback 1 和 loop back 2:
[AR4]bgp 200
[AR4-bgp]router-id 10.0.4.4
[AR4-bgp]peer 10.0.1.1 as-number 100
[AR4-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[AR4-bgp]peer 10.0.1.1 ebgp-max-hop
[AR4-bgp]peer 10.0.2.2 as-number 100
[AR4-bgp]peer 10.0.2.2 ebgp-max-hop
[AR4-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[AR4-bgp]network 10.0.55.55 32
[AR4-bgp]network 10.0.66.66 32
至此邻居关系都已经建立,在R1查看BGP状态 :
AR1查看BGP 转发表:
AR2上
AR3上
可以看到AR3 的路由去往10.0.55.55/32 和 10.0.66.66/32 的路由都有两个,但是只选择10.0.1.1 为最优路由,BGP 路由选路中,其他情况相同的情况下,BGP 优选 Roter-ID 小的优先。
验证如下:
接下来修改 Preferred Value 属性实现流量负载分担; 好好看,好好学。
[AR3]ip ip-prefix 1 index 10 permit 10.0.66.66 32 #创建 ip 精确前缀匹配列表
[AR3]route-policy 1 permit node 10 #创建路由策略
Info: New Sequence of this List.
匹配条件语句
[AR3-route-policy]if-match ip-prefix 1
[AR3-route-policy]apply preferred-value 100 #修改优先级
#创建一个默认路由策略,允许其他路由不做修改而被接收
[AR3]route-policy 1 permit node 20
Info: New Sequence of this List.
#接口调用路由策略:
[AR3-route-policy]bgp 100
[AR3-bgp]peer 10.0.2.2 route-policy 1 import
查看AR3BGP 路由表:
看到没有,去往 10.0.66.66/32 的路由已经从10.0.2.2 这跳路经走了
查看AR 1 :
查看AR 2:
说明: Preferred Value 私有属性,仅在本地有效。不会穿给其他邻居。
至此本实验已完结。