我正在尝试在我的networking中实现BGP不等成本负载平衡function。 根据思科手册(长: http : //www.cisco.com/c/en/us/td/docs/ios/12_2s/feature/guide/fsbgplb.html ,简称: https : //ccieblog.co.uk / bgp / bgp-unequal-load-cost-sharing )我已经build立了这样的networking拓扑结构:
R1 – 路由器,我试图实现出站stream量的负载平衡。 使用名称为nat VRF表。
R2-R4 – 运行quagga的NAT服务器,通过eBGP与R1共享默认路由。
R1configuration
R1 IOS版本: 12.2(33)SXJ4(s72033-adventerprisek9_wan-mz.122-33.SXJ4.bin)
R2configuration ( R3 R4只有router-id和vlan不同)
结果我在R1上有3个不同的默认路由,具有相同的份额计数 – 1/1(1:1:1)。 但比例1:2:3预期:
R1# sh ip bgp vpnv4 vrf nat 0.0.0.0
Paths: (6 available, best #5, table nat) Multipath: eiBGP Advertised to update-groups: 2 65000 10.30.227.227 from 10.30.227.227 (10.30.227.227) Origin IGP, localpref 100, valid, external, multipath Extended Community: RT:192.168.33.4:13 DMZ-Link Bw 250 kbytes 65000, (received-only) 10.30.227.227 from 10.30.227.227 (10.30.227.227) Origin IGP, localpref 100, valid, external DMZ-Link Bw 250 kbytes 65000 10.30.228.228 from 10.30.228.228 (10.30.228.228) Origin IGP, localpref 100, valid, external, multipath Extended Community: RT:192.168.33.4:13 DMZ-Link Bw 375 kbytes 65000, (received-only) 10.30.228.228 from 10.30.228.228 (10.30.228.228) Origin IGP, localpref 100, valid, external DMZ-Link Bw 375 kbytes 65000 10.30.225.225 from 10.30.225.225 (10.30.225.225) Origin IGP, localpref 100, valid, external, multipath, best Extended Community: RT:192.168.33.4:13 DMZ-Link Bw 125 kbytes 65000, (received-only) 10.30.225.225 from 10.30.225.225 (10.30.225.225) Origin IGP, localpref 100, valid, external DMZ-Link Bw 125 kbytes
R1# sh ip cef vrf nat 0.0.0.0/0 internal
0.0.0.0/0, epoch 3, flags rib only nolabel, rib defined all labels, RIB[B], refcount 7, per-destination sharing sources: RIB, D/N, DRH feature space: NetFlow: Origin AS 0, Peer AS 0, Mask Bits 0 Broker: linked IPRM: 0x00018000 subblocks: DefNet source: 0.0.0.0/0 ifnums: Vlan3225(231): 10.30.225.225 Vlan3227(232): 10.30.227.227 Vlan3228(233): 10.30.228.228 path 541B7858, path list 53E3E0D8, share 1/1, type recursive nexthop, for IPv4, flags resolved recursive via 10.30.225.225[IPv4:nat], fib 5496C804, 1 terminal fib path 541B7BF8, path list 53E3E170, share 1/1, type adjacency prefix, for IPv4 attached to Vlan3225, adjacency IP adj out of Vlan3225, addr 10.30.225.225 513F6B60 path 541B78CC, path list 53E3E0D8, share 1/1, type recursive nexthop, for IPv4, flags resolved recursive via 10.30.227.227[IPv4:nat], fib 54969B7C, 1 terminal fib path 541B7B10, path list 53E3E08C, share 1/1, type adjacency prefix, for IPv4 attached to Vlan3227, adjacency IP adj out of Vlan3227, addr 10.30.227.227 513F66E0 path 541B7DC8, path list 53E3E0D8, share 1/1, type recursive nexthop, for IPv4, flags resolved recursive via 10.30.228.228[IPv4:nat], fib 54970EAC, 1 terminal fib path 541B79B4, path list 53E3E040, share 1/1, type adjacency prefix, for IPv4 attached to Vlan3228, adjacency IP adj out of Vlan3228, addr 10.30.228.228 513F6560 output chain: loadinfo 51283B80, per-session, 3 choices, flags 0003, 5 locks flags: Per-session, for-rx-IPv4 15 hash buckets < 0 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60 < 1 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0 < 2 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560 < 3 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60 < 4 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0 < 5 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560 < 6 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60 < 7 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0 < 8 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560 < 9 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60 <10 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0 <11 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560 <12 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60 <13 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0 <14 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560 Subblocks: None
我究竟做错了什么? 根据手册,不同的dmzlink bw值应该导致不同的负载分担比例,但事实上 – 它不!
更新1 – 由用户bangal请求
R1# show ip bgp all summary
For address family: IPv4 Unicast BGP router identifier XXX129, local AS number 41096 BGP table version is 22283352, main routing table version 22283352 34749 network entries using 4065633 bytes of memory 61661 path entries using 3206372 bytes of memory 8119/5337 BGP path/bestpath attribute entries using 1299040 bytes of memory 3752 BGP AS-PATH entries using 155474 bytes of memory 2990 BGP community entries using 138266 bytes of memory 146 BGP extended community entries using 5168 bytes of memory 53 BGP route-map cache entries using 1696 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 8871649 total bytes of memory BGP activity 4716897/4682147 prefixes, 11331539/11269872 paths, scan interval 60 secs # Here are bgp neighbours from global routing table. Not relevant to the question. IP addresses are hidden Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd XXX1 4 XX219 791704 760380 22283352 0 0 6d17h 1 XXX33 4 XX219 112902498 1315655 22283352 0 0 6d17h 0 XXX238 4 XX772 801422 762830 22283352 0 0 2w5d 0 XXX206 4 XX540 2886112 1313917 22283352 0 0 4w4d 9641 XXX70 4 XX772 188343075 1313853 22283352 0 0 6d14h 25881 XXX78 4 XX772 148265282 941127 22283352 0 0 2w6d 26098 # Here are neighbours for vrf nat. For address family: VPNv4 Unicast BGP router identifier XXX129, local AS number 41096 BGP table version is 824, main routing table version 824 1 network entries using 137 bytes of memory 6 path entries using 408 bytes of memory 1 multipath network entries and 3 multipath paths 8119/1 BGP path/bestpath attribute entries using 1299040 bytes of memory 3752 BGP AS-PATH entries using 155474 bytes of memory 2990 BGP community entries using 138266 bytes of memory 146 BGP extended community entries using 5168 bytes of memory 53 BGP route-map cache entries using 1696 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 1600189 total bytes of memory 3 received paths for inbound soft reconfiguration BGP activity 4716897/4682147 prefixes, 11331539/11269872 paths, scan interval 15 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.30.225.225 4 65000 11003 11443 824 0 0 3d18h 1 10.30.227.227 4 65000 9853 10293 824 0 0 3d18h 1 10.30.228.228 4 65000 10992 11432 824 0 0 3d18h 1
R1# sh ip route vrf nat
Routing Table: nat 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 10.30.228.228 to network 0.0.0.0 10.0.0.0/24 is subnetted, 4 subnets C 10.30.0.0 is directly connected, Vlan30 C 10.30.228.0 is directly connected, Vlan3228 C 10.30.227.0 is directly connected, Vlan3227 C 10.30.225.0 is directly connected, Vlan3225 B* 0.0.0.0/0 [20/0] via 10.30.228.228, 3d18h [20/0] via 10.30.227.227, 3d18h [20/0] via 10.30.225.225, 3d18h
R1# sh ip bgp vpnv4 vrf nat neighbors
R1 sh ip bgp neighbors输出
R1# sh run
R1运行configuration 敏感信息被屏蔽
关键的问题似乎是configuration中的地址族下的bgp dmzlink-bw选项丢失。 但是,让我在这里总结我的评论:
bgp dmzlink-bw在address-family 。 neighbor dmzlink-bw只启用向邻居发送带宽的通告,而bgp dmzlink-bw启用比例负载均衡。 bandwidth 50000选项缺less“接口Vlan3228” maximum-paths eibgp 3而不是maximum-paths 3 sh ip bgp vpnv4 vrf nat 0.0.0.0和其他原始指南中提到的命令(请参见问题),通过Shamanu4和bangal,检查是否对使用sh ip route vrf nat 0.0.0.0进行负载平衡的链路的stream量共享计数是不同的sh ip route vrf nat 0.0.0.0 bandwidth inherit ) 作为一般的build议,有时很难确定问题,当你有一个很大的运行configuration,其中有很多选项。 如果问题仍然存在,我会创build一个类似的空configuration设置,并尝试在那里只configuration相关的选项(最小工作示例),看它是否工作,不会干扰其他选项,访问列表(就像它在这种情况下极不可能)等等。如果您没有备用硬件,并且您的路由器正在生产,那么您无法直接在其上尝试空configuration,您可以: