场景说明:该技术主要应用于运营商骨干网,CR代表运营商骨干网路由器,BR代表城域网路由器,CSW代表核心交换机。城域网通告200.0.0.0/24、200.0.1.0/24、200.0.2.0/24至骨干网,由于骨干网设备一般不会采用配置bgp的maximum load-balancing做路由负载,如果不配置负载路由,BGP最终会选择出一条最优路由,最终导致流量进入到城域网的时候只会走一边,不会进行负载,这个时候就需要使用BGP的高级特性,虚拟下一跳了。实现该配置主要是在CR路由器上配置,VHP100.0.100.1/32 是一个不存在任何接口上的IP地址。
CR-1配置如下:
# sysname CR-1 # isis 1 is-level level-2 network-entity 86.0472.1000.0000.0001.00 is-name CR-1 import-route static route-policy VHP //将虚拟下一跳地址引入到IGP协议中 # interface GigabitEthernet0/0/0 ip address 100.0.123.2 255.255.255.252 isis enable 1 # interface GigabitEthernet0/0/1 ip address 100.0.11.1 255.255.255.252 # interface GigabitEthernet0/0/2 ip address 100.0.123.9 255.255.255.252 isis enable 1 # interface LoopBack0 ip address 100.0.0.1 255.255.255.255 isis enable 1 # bgp 100 peer 100.0.0.2 as-number 100 peer 100.0.0.2 connect-interface LoopBack0 peer 100.0.0.3 as-number 100 peer 100.0.0.3 connect-interface LoopBack0 peer 100.0.11.2 as-number 65500 # ipv4-family unicast undo synchronization peer 100.0.0.2 enable peer 100.0.0.3 enable peer 100.0.0.3 route-policy BR export //对CR-3通告BGP路由的时候调用策略,修改路由下一跳为VHP peer 100.0.11.2 enable # route-policy VHP permit node 10 if-match ip-prefix VHP # route-policy VHP deny node 100 # route-policy BR permit node 10 if-match ip-prefix BR1&2 apply ip-address next-hop 100.0.100.1 # ip ip-prefix VHP index 10 permit 100.0.100.1 32 //配置前缀列表匹配VHP ip ip-prefix BR1&2 index 10 permit 200.0.0.0 24 //配置前缀列表匹配BR通告的路由段,修改下一跳VHP调用 ip ip-prefix BR1&2 index 20 permit 200.0.1.0 24 ip ip-prefix BR1&2 index 30 permit 200.0.2.0 24 # ip route-static 100.0.100.1 255.255.255.255 NULL0 preference 9 //配置虚拟下一跳地址,优先级为9,一定要高于IGP协议的优先级,否则会无法形成负载路由 # return
CR-2和CR-1的配置几乎没什么差别。主要利用了BGP下一跳迭代的方式实现的BGP路由负载分担。将VHP引入到IGP后,CR-3可以学习到一个负载的路由100.0.100.1/32,分别下一跳为CR-1、CR-2,如下图所示
然后从CR-1、CR-2通告的BR业务路由由于策略原因下一跳指向了VHP地址,因此BGP在路由迭代的时候会查找下一跳100.0.100.1,因此会产生负载的路由,此时流量就不会因为BGP选路导致只有一条路径到达BR,导致流量不均的问题产生,该技术主要用于运营商核心网与城域网之间的BGP。