Cisco BGP不等コストロードバランシング


9

ネットワークにBGP不等コストロードバランシング機能を実装しようとしています。シスコのマニュアルによると(長い: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)私はそのようなネットトポロジーを構築しました:

ネットトポロジー

R1-発信トラフィックの負荷分散を実装しようとしているルーター。名前の付いたVRFテーブルnatが使用されます。

R2-R4は -へのデフォルトルートと、クアッガを実行しているNATサーバーR5はと共有R1のeBGP上。

R1構成

R1 IOSバージョン: 12.2(33)SXJ4(s72033-adventerprisek9_wan-mz.122-33.SXJ4.bin)

R2構成R3 R4のみルーター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値は異なる負荷分散比率を引き起こすはずですが、実際にはそうではありません!


UPDATE 1-ユーザーbangalによって要求されました

R1# show ip bgp all summary

For address family: IPv4 Unicast
BGP router identifier X.X.X.129, 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
X.X.X.1      4       XX219    791704  760380 22283352    0    0 6d17h           1
X.X.X.33     4       XX219 112902498 1315655 22283352    0    0 6d17h           0
X.X.X.238    4       XX772    801422  762830 22283352    0    0 2w5d            0
X.X.X.206    4       XX540   2886112 1313917 22283352    0    0 4w4d         9641
X.X.X.70     4       XX772 188343075 1313853 22283352    0    0 6d14h       25881
X.X.X.78     4       XX772 148265282  941127 22283352    0    0 2w6d        26098

# Here are neighbours for vrf nat.

For address family: VPNv4 Unicast
BGP router identifier X.X.X.129, 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ネイバー出力

R1# sh run

R1の実行中の構成 機密情報がマスクされています


1
R1の実行中の構成bandwidth 50000が「インターフェイスVlan3228」に対応していませんか?「sh ip bgp <R5のIP>」の出力も添付していただけますか?
Andrey Sapegin 2015年

1
また、running-configでは、私が理解している限り、帯域幅は50kbs-100kbs-150kbsであり、出力R1# sh ip bgp vpnv4 vrf nat 0.0.0.0は125kbs-250kbs-350kbs を示します...
Andrey Sapegin

1
@AndreySapeginはとsh ip bgp vpnv4 vrf nat 10.30.228.228同じように表示されますsh ip bgp vpnv4 vrf nat 0.0.0.0neighborsキーワードを見逃しましたか?もしそうなら、sh ip bgp vpnv4 vrf nat neighbors 10.30.228.228あなたの出力はR1
Shamanu4

1
あなたが言及したガイド(cisco.com/c/en/us/td/docs/ios/12_2s/feature/guide/fsbgplb.html)はneighbor dmzlink-bw、(設定に示されている)ネイバーへの帯域幅のアドバタイズのみを有効にするとbgp dmzlink-bw、これにより、比例ロードバランシングが有効になります(設定で不足しているようです)。bgp dmzlink-bwあなたはあなたの実行中の設定に入れてみてくれませんか?
Andrey Sapegin 2015年

1
@AndreySapegin。はい、私はそれmaximum pathsが以下であるべきだと確信していますaddress-family。VRFインスタンスにはマルチパス機能が必要ですが、グローバルルーティングテーブルには必要ありません。maximum paths下に置くrouter bgp 100と、R5経由のルートは1つだけになり、R3とR2経由のルートはありません。ibgpすべてのネイバーが外部であるため、アドレスファミリの下でも同じ結果になります。ポートチャネルで継承される帯域幅は設定で一貫しています。この行を削除しましたが、効果はありませんでした。コミット
Shamanu4 2015年

回答:


3

重要な問題bgp dmzlink-bwは、設定のアドレスファミリの下にオプションがないことです。ただし、ここで私のコメントを要約しましょう。

  1. bgp dmzlink-bwの下でaddress-familyneighbor dmzlink-bwネイバーへの帯域幅のアドバタイズのみを有効にしbgp dmzlink-bw、比例ロードバランシング自体を有効にします。
  2. bandwidth 50000running -configには'interface Vlan3228'のオプションがありませんでした
  3. この構成例で述べたように、オプションのmaximum-paths eibgp 3代わりにオプションが必要になる場合がありますmaximum-paths 3
  4. sh ip bgp vpnv4 vrf nat 0.0.0.0Shamanu4とbangalによるオリジナルガイド(質問を参照)で言及されている他のコマンドに加えて、トラフィックシェア数が、負荷分散されているリンクで異なるかどうかを確認すると便利です。sh ip route vrf nat 0.0.0.0
  5. ロードバランシングの構成を妨げる可能性のある他のオプションがないかどうかを確認します(bandwidth inheritポートチャネルなど)。

一般的なアドバイスとして、多くのオプションが含まれる大きなrunning-configがある場合、問題を特定するのが非常に難しいことがあります。問題が解決しない場合は、同様の設定を空の構成で作成し、関連するオプションのみを構成して(最小限の動作例)、それが機能し、他のオプション、アクセスリストに干渉しないかどうかを確認します(例として、この特定のケースでは非常にまれです)など。予備のハードウェアがなく、ルーターが稼働中であるため、空の構成を直接試すことができない場合は、次のことができます。

  • Quagga(質問で述べた)などのルーティングソフトウェアでLinux PC / VMを使用する
  • シスコのシミュレータを使用:Boson NetSim for CCNPはBGPをサポートしていますが、アドレスファミリ/ VPN / VRFがサポートされているかどうかはわかりません
  • シスコのIOS XRvで仮想マシンを使用します。私の記憶では、2 Mbit / sの帯域幅制限で無料で利用でき、テストには十分です。繰り返しますが、アドレスファミリ/ VPN / VRFがサポートされているかどうかはわかりません。CiscoIOS XRvルータの概要VMダウンロードリンク
  • GNS3(http://www.gns3.com/)シミュレーターを使用します。そのためのCisco IOSイメージがありますが、取得方法はわかりません。
  • 最後に、テスト目的でのみ、ebayなどの場所から使用済みハードウェアをできるだけ安価に購入することもできます。

1
それでもこの理論を確認したり反証したりすることはできません。IOSバージョン15.1(2)SY4aにも、dmzlink-bw下に配置するオプションがありませんaddress-family。シスコのドキュメントと実生活との矛盾を解明するには、少し時間が必要です。
Shamanu4 2015年

本当におかしいです。次のドキュメントを確認してみてください。cisco.com/ c / en / us / td / docs / ios-xml / ios / iproute_bgp / configuration /…、cisco.com / c / en / us / td / docs / ios -xml / ios / iproute_bgp / configuration /…、しかし、あなたの設定に欠けているものは何もない...
Andrey Sapegin

シスコVIRLライセンスを購入し、そこでトポロジをシミュレートしてみます。結果については後で投稿します。手伝ってくれてありがとう。
Shamanu4 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.