メインコンテンツへスキップ
  1. ネットワーク 記事一覧/
  2. BGP記事一覧/

BGPマルチパス(maximum-paths)

目次

BGPマルチパスとは

BGPは同じプレフィックスに複数の経路があっても、ベストパスを1つだけ選んでルーティングテーブルに入れますRFC 4271の9.1.2.2は、同じ優先度の経路が複数あるときの扱いをこう定めています。

The local speaker can select only one of these routes for inclusion in the associated Loc-RIB.

マルチパスは、この制限を実装側で緩めて複数の経路を同時にルーティングテーブルへ入れ、負荷分散する機能です。 IOS XRではmaximum-pathsで有効にします。

マルチパスはRFCで標準化されていません。 BGPの仕様に「複数の経路を転送に使う」という規定はなく、 各実装が独自に持つ拡張です。そのため動作の細部(候補になる条件、上限値、コマンド名)はベンダーごとに違います。

大事なのは、マルチパスが変えるのは転送テーブルの中身だけという点です。

項目マルチパスで変わるか
ベストパス選択の結果変わらない。ベストパスは1つのまま
ピアへ広告する経路変わらない。広告するのはベストパスだけ
ルーティングテーブル(転送)変わる。ベストパスと同等の経路が複数入り、負荷分散される

3種類のマルチパス

どの種類の経路を束ねるかで3つに分かれます。IOS XRではmaximum-pathsのキーワードで指定します。

種類コマンド束ねる対象
eBGPマルチパスmaximum-paths ebgp <数>eBGPで学習した経路同士
iBGPマルチパスmaximum-paths ibgp <数>iBGPで学習した経路同士
eiBGPマルチパスmaximum-paths eibgp <数>eBGPとiBGPが混ざっていてもよい

候補になる条件

マルチパスに入るのは、ベストパスと次の属性がすべて一致する経路です。 言い換えると、ベストパス選択が「同点のまま最後まで決着しなかった」経路が候補になります。

条件内容
WEIGHTベストパスと同じ
LOCAL_PREFベストパスと同じ
AS_PATHの長さベストパスと同じ
ORIGINベストパスと同じ
MULTI_EXIT_DISCベストパスと同じ
AS_PATHの中身ベストパスと完全に一致(AS番号の並びまで同じ)

種類ごとに追加の条件があります。

種類追加の条件
eBGP外部(またはコンフェデレーション外部)ピアから学習した経路であること。NEXT_HOPまでのIGPメトリックがベストパスと同じであること
iBGP内部ピアから学習した経路であること。NEXT_HOPまでのIGPメトリックがベストパスと同じであること

multipath-relax:AS_PATHの中身を問わない

上の条件のうち、AS_PATHの中身が一致することという条件は実運用でよく問題になります。 2つの上流ISPから同じ宛先を受け取ると、AS_PATHの長さは同じでも通るASが違うため、既定では束ねられません。

multipath-relaxを有効にすると、この条件が長さが同じであればよいに緩みます。

設定AS_PATHに求める条件
既定中身が完全に一致(65001 6500465001 65004のみ束ねる)
multipath-relaxあり長さが同じであればよい(65001 6500465003 65004も束ねる)

ADD-PATH(RFC 7911)との違い

複数の経路を扱う仕組みとしてRFC 7911のADD-PATHがありますが、 層が違います。ADD-PATHは「ピアへ何本広告するか」、マルチパスは「自分の転送テーブルへ何本入れるか」の話です。

項目マルチパスADD-PATH(RFC 7911)
標準化されていない(実装ごとの拡張)RFC 7911
変えるもの転送テーブルに入れる経路数ピアへ広告する経路数
ピアから見た違い無い(広告されるのはベストパスだけ)同じプレフィックスの経路が複数届く
仕組みローカルの設定のみCapabilityの交換とPath Identifierが必要

ADD-PATHは別記事で解説します。

IOS XRでの設定

eBGPマルチパスとmultipath-relax
router bgp 65002
 bgp bestpath as-path multipath-relax
 address-family ipv4 unicast
  maximum-paths ebgp 3
iBGPマルチパス
router bgp 65001
 address-family ipv4 unicast
  maximum-paths ibgp 2
項目内容
maximum-paths ebgp <数>eBGPマルチパス。address-familyごとに設定する。指定できるのは2〜1024(XRd 26.1.1)。設定しなければ1(マルチパスなし)
maximum-paths ibgp <数> / eibgp <数>iBGP同士 / eBGPとiBGPの混在
bgp bestpath as-path multipath-relaxAS_PATHの一致条件を長さだけに緩める
show bgp <プレフィックス>マルチパスに入った経路にmultipathが付く
show route <プレフィックス>複数のネクストホップが並ぶ。ここが転送の実体

実機での検証

XRd 26.1.1のルータ6台で確認します。

BGPマルチパスの検証トポロジ
  • AS 65001はR1・R2が境界、R3が内部(iBGPフルメッシュ、next-hop-self、OSPF area 0)。AS 65002はR4、AS 65003はR5、AS 65004はR6
  • 3種類のマルチパスを別々のルータで確認する。観測点はSTEPごとに変わる
観測点プレフィックス届いている経路確認する種類
R4192.168.6.0/24R1経由とR2経由(どちらもAS_PATH 65001 65004完全一致)、R5経由(65003 65004で長さだけ同じ)eBGPマルチパスとmultipath-relax
R3192.168.4.0/24R1経由とR2経由のiBGP 2本(IGPメトリックが同じiBGPマルチパス
R1192.168.4.0/24R4からのeBGPとR2からのiBGPeiBGPマルチパス

各STEPの概要

STEP操作確認したこと結果主な根拠
0マルチパスなし初期状態3経路あるがベストは1本。RIBのネクストホップも1つR4 show bgp / show route
1R4にmaximum-paths ebgp 2完全一致する2本が束ねられるか。広告は変わらないかR1経由・R2経由にmultipathが付き、RIBに2つ。広告は1本のままR4 show bgp / show route / advertised-routes
2R4にmultipath-relaxを足してebgp 3AS_PATHの中身が違う経路も入るかR5経由(65003 65004)も加わり3本になるR4 show bgp / show route
3R4の入方向でR5経由のLOCAL_PREFを90に属性がずれた経路の扱い候補から外れて2本に戻る。ベストパスは変わらないR4 show bgp / show route
4R3にmaximum-paths ibgp 2iBGP同士の束ねR1のLo0とR2のLo0の2つが入るR3 show bgp / show route
5R1にmaximum-paths eibgp 2eBGPとiBGPの混在束ねられる。iBGP側はbackupも兼ねるR1 show bgp / show route
6STEP 1〜5の設定を戻す(最終状態)復旧multipathの表示が消え、RIBも1つに戻るR4・R3 show bgp / show route

STEP 0:マルチパスなし

R4は192.168.6.0/24を3経路受け取っています。R1経由とR2経由はAS_PATH65001 65004で完全に同じ、R5経由は65003 65004で長さだけが同じです。 bestが付くのはR1経由の1本だけで、ほかにmultipathの表示はありません。

R4 show bgp 192.168.6.0/24(STEP 0)
RP/0/RP0/CPU0:R4#show bgp 192.168.6.0/24
Thu Sep 10 08:43:44.630 UTC
<snip>
Paths: (3 available, best #1)
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  Path #1: Received by speaker 0
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  65001 65004, (received & used)
    10.1.4.1 from 10.1.4.1 (10.0.0.1)
      Origin IGP, localpref 100, valid, external, best, group-best
      Received Path ID 0, Local Path ID 1, version 13
      Origin-AS validity: (disabled)
  Path #2: Received by speaker 0
  Not advertised to any peer
  65001 65004, (received & used)
    10.2.4.2 from 10.2.4.2 (10.0.0.2)
      Origin IGP, localpref 100, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)
  Path #3: Received by speaker 0
  Not advertised to any peer
  65003 65004, (received & used)
    10.4.5.5 from 10.4.5.5 (10.0.0.5)
      Origin IGP, localpref 100, valid, external, group-best
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)

転送テーブルにもネクストホップは1つだけです。

R4 show route 192.168.6.0/24(STEP 0)
RP/0/RP0/CPU0:R4#show route 192.168.6.0/24
Thu Sep 10 08:43:44.904 UTC

Routing entry for 192.168.6.0/24
  Known via "bgp 65002", distance 20, metric 0
  Tag 65001, type external
  Installed Sep 10 08:38:32.671 for 00:05:12
  Routing Descriptor Blocks
    10.1.4.1, from 10.1.4.1, BGP external
      Route metric is 0, Wt is 1
  No advertising protos. 

STEP 1:eBGPマルチパス(AS_PATHが完全一致)

R4でeBGPマルチパスを2本まで有効にします。

R4
router bgp 65002
 address-family ipv4 unicast
  maximum-paths ebgp 2

AS_PATHが完全一致するR1経由とR2経由にmultipathが付きました。 R5経由(65003 65004)には付いていません。 長さは同じでも中身が違うためです。

R4 show bgp 192.168.6.0/24(STEP 1)
RP/0/RP0/CPU0:R4#show bgp 192.168.6.0/24
Thu Sep 10 08:51:16.528 UTC
<snip>
Paths: (3 available, best #1)
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  Path #1: Received by speaker 0
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  65001 65004, (received & used)
    10.1.4.1 from 10.1.4.1 (10.0.0.1)
      Origin IGP, localpref 100, valid, external, best, group-best, multipath
      Received Path ID 0, Local Path ID 1, version 17
      Origin-AS validity: (disabled)
  Path #2: Received by speaker 0
  Not advertised to any peer
  65001 65004, (received & used)
    10.2.4.2 from 10.2.4.2 (10.0.0.2)
      Origin IGP, localpref 100, valid, external, multipath
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)
  Path #3: Received by speaker 0
  Not advertised to any peer
  65003 65004, (received & used)
    10.4.5.5 from 10.4.5.5 (10.0.0.5)
      Origin IGP, localpref 100, valid, external, group-best
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)

転送テーブルにはネクストホップが2つ並び、BGP multi pathが付きます。ここが負荷分散の実体です。

R4 show route 192.168.6.0/24(STEP 1)
RP/0/RP0/CPU0:R4#show route 192.168.6.0/24
Thu Sep 10 08:51:16.854 UTC

Routing entry for 192.168.6.0/24
  Known via "bgp 65002", distance 20, metric 0
  Tag 65001, type external
  Installed Sep 10 08:46:54.405 for 00:04:22
  Routing Descriptor Blocks
    10.1.4.1, from 10.1.4.1, BGP external, BGP multi path
      Route metric is 0
    10.2.4.2, from 10.2.4.2, BGP external, BGP multi path
      Route metric is 0
  No advertising protos. 

一方、R5へ広告している経路は192.168.6.0/24が1本のままです。マルチパスにしても、ピアへ広告するのはベストパスだけです。

R4 show bgp neighbors 10.4.5.5 advertised-routes(STEP 1)
RP/0/RP0/CPU0:R4#show bgp neighbors 10.4.5.5 advertised-routes
Thu Sep 10 08:51:18.885 UTC
Network            Next Hop        From            AS Path
192.168.1.0/24     10.4.5.4        10.1.4.1        65002 65001i
192.168.2.0/24     10.4.5.4        10.1.4.1        65002 65001i
192.168.3.0/24     10.4.5.4        10.1.4.1        65002 65001i
192.168.4.0/24     10.4.5.4        Local           65002i
192.168.6.0/24     10.4.5.4        10.1.4.1        65002 65001 65004i

Processed 5 prefixes, 5 paths

STEP 2:multipath-relaxでAS_PATHの中身を問わない

AS_PATHの一致条件を長さだけに緩め、上限も3本にします。

R4
router bgp 65002
 bgp bestpath as-path multipath-relax
 address-family ipv4 unicast
  maximum-paths ebgp 3

R5経由にもmultipathが付き、3本になりました。

R4 show bgp 192.168.6.0/24(STEP 2)
RP/0/RP0/CPU0:R4#show bgp 192.168.6.0/24
Thu Sep 10 09:01:35.709 UTC
<snip>
Paths: (3 available, best #1)
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  Path #1: Received by speaker 0
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  65001 65004, (received & used)
    10.1.4.1 from 10.1.4.1 (10.0.0.1)
      Origin IGP, localpref 100, valid, external, best, group-best, multipath
      Received Path ID 0, Local Path ID 1, version 22
      Origin-AS validity: (disabled)
  Path #2: Received by speaker 0
  Not advertised to any peer
  65001 65004, (received & used)
    10.2.4.2 from 10.2.4.2 (10.0.0.2)
      Origin IGP, localpref 100, valid, external, multipath
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)
  Path #3: Received by speaker 0
  Not advertised to any peer
  65003 65004, (received & used)
    10.4.5.5 from 10.4.5.5 (10.0.0.5)
      Origin IGP, localpref 100, valid, external, multipath
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)
R4 show route 192.168.6.0/24(STEP 2)
RP/0/RP0/CPU0:R4#show route 192.168.6.0/24
Thu Sep 10 09:01:36.226 UTC

Routing entry for 192.168.6.0/24
  Known via "bgp 65002", distance 20, metric 0
  Tag 65001, type external
  Installed Sep 10 08:53:49.501 for 00:07:46
  Routing Descriptor Blocks
    10.1.4.1, from 10.1.4.1, BGP external, BGP multi path
      Route metric is 0
    10.2.4.2, from 10.2.4.2, BGP external, BGP multi path
      Route metric is 0
    10.4.5.5, from 10.4.5.5, BGP external, BGP multi path
      Route metric is 0
  No advertising protos. 

STEP 3:属性がずれると候補から外れる

R5から受け取る経路のLOCAL_PREFを、入方向のポリシーで90に下げます(ほかは100のまま)。

R4
route-policy FROM-R5
  set local-preference 90
  pass
end-policy
R4 show rpl route-policy FROM-R5(STEP 3)
RP/0/RP0/CPU0:R4#show rpl route-policy FROM-R5
Thu Sep 10 09:17:03.317 UTC
route-policy FROM-R5
  set local-preference 90
  pass
end-policy
!

LOCAL_PREFが違うR5経由は候補から外れ、multipathが付くのは2本に戻りました。 ベストパスはR1経由のままで変わりません。(received-only)の行は、入方向ポリシーを通す前の値(100)です。

R4 show bgp 192.168.6.0/24(STEP 3)
RP/0/RP0/CPU0:R4#show bgp 192.168.6.0/24
Thu Sep 10 09:16:56.807 UTC
<snip>
Paths: (4 available, best #1)
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  Path #1: Received by speaker 0
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  65001 65004, (received & used)
    10.1.4.1 from 10.1.4.1 (10.0.0.1)
      Origin IGP, localpref 100, valid, external, best, group-best, multipath
      Received Path ID 0, Local Path ID 1, version 22
      Origin-AS validity: (disabled)
  Path #2: Received by speaker 0
  Not advertised to any peer
  65001 65004, (received & used)
    10.2.4.2 from 10.2.4.2 (10.0.0.2)
      Origin IGP, localpref 100, valid, external, multipath
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)
  Path #3: Received by speaker 0
  Not advertised to any peer
  65003 65004
    10.4.5.5 from 10.4.5.5 (10.0.0.5)
      Origin IGP, localpref 90, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)
  Path #4: Received by speaker 0
  Not advertised to any peer
  65003 65004, (received-only)
    10.4.5.5 from 10.4.5.5 (10.0.0.5)
      Origin IGP, localpref 100, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)
R4 show route 192.168.6.0/24(STEP 3)
RP/0/RP0/CPU0:R4#show route 192.168.6.0/24
Thu Sep 10 09:16:57.124 UTC

Routing entry for 192.168.6.0/24
  Known via "bgp 65002", distance 20, metric 0
  Tag 65001, type external
  Installed Sep 10 09:06:59.186 for 00:09:58
  Routing Descriptor Blocks
    10.1.4.1, from 10.1.4.1, BGP external, BGP multi path
      Route metric is 0
    10.2.4.2, from 10.2.4.2, BGP external, BGP multi path
      Route metric is 0
  No advertising protos. 

STEP 4:iBGPマルチパス

観測点をAS 65001内部のR3に移します。R3は192.168.4.0/24をR1とR2からiBGPで受け取っており、 どちらもAS_PATH65002NEXT_HOPまでのIGPメトリックも2で同じです。

R3
router bgp 65001
 address-family ipv4 unicast
  maximum-paths ibgp 2

2本ともmultipathになりました。

R3 show bgp 192.168.4.0/24(STEP 4)
RP/0/RP0/CPU0:R3#show bgp 192.168.4.0/24
Thu Sep 10 09:25:53.759 UTC
<snip>
Paths: (2 available, best #1)
  Not advertised to any peer
  Path #1: Received by speaker 0
  Not advertised to any peer
  65002, (received & used)
    10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, multipath
      Received Path ID 0, Local Path ID 1, version 16
  Path #2: Received by speaker 0
  Not advertised to any peer
  65002, (received & used)
    10.0.0.2 (metric 2) from 10.0.0.2 (10.0.0.2)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath
      Received Path ID 0, Local Path ID 0, version 0

転送テーブルのネクストホップはR1のLoopback0とR2のLoopback0です。

R3 show route 192.168.4.0/24(STEP 4)
RP/0/RP0/CPU0:R3#show route 192.168.4.0/24
Thu Sep 10 09:25:54.366 UTC

Routing entry for 192.168.4.0/24
  Known via "bgp 65001", distance 200, metric 0
  Tag 65002, type internal
  Installed Sep 10 09:20:05.651 for 00:05:48
  Routing Descriptor Blocks
    10.0.0.1, from 10.0.0.1, BGP multi path
      Route metric is 0
    10.0.0.2, from 10.0.0.2, BGP multi path
      Route metric is 0
  No advertising protos. 

STEP 5:eiBGPマルチパス

R1は192.168.4.0/24をR4からeBGPで、R2からiBGPで受け取っています。 ベストパス選択ではeBGPが優先されますが、maximum-paths eibgpで両方を束ねられます。

R1
router bgp 65001
 address-family ipv4 unicast
  maximum-paths eibgp 2

両方にmultipathが付きました。iBGP側にはあわせてbackupadd-pathが付きます。 maximum-pathsのヘルプにも「limit includes backup path」とあり、XRではバックアップ経路も本数に数えます。

R1 show bgp 192.168.4.0/24(STEP 5)
RP/0/RP0/CPU0:R1#show bgp 192.168.4.0/24
Thu Sep 10 09:34:10.977 UTC
<snip>
Paths: (2 available, best #2)
  Advertised IPv4 Unicast paths to update-groups (with more than one peer):
    0.4 
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.1.6.6        
  Path #1: Received by speaker 0
  Not advertised to any peer
  65002, (received & used)
    10.0.0.2 (metric 3) from 10.0.0.2 (10.0.0.2)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath, backup, add-path
      Received Path ID 0, Local Path ID 2, version 10
  Path #2: Received by speaker 0
  Advertised IPv4 Unicast paths to update-groups (with more than one peer):
    0.4 
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.1.6.6        
  65002, (received & used)
    10.1.4.4 from 10.1.4.4 (10.0.0.4)
      Origin IGP, metric 0, localpref 100, valid, external, best, group-best, multipath
      Received Path ID 0, Local Path ID 1, version 10
      Origin-AS validity: (disabled)

転送テーブルでもiBGP側はBGP backup pathと表示されます。

R1 show route 192.168.4.0/24(STEP 5)
RP/0/RP0/CPU0:R1#show route 192.168.4.0/24
Thu Sep 10 09:34:11.563 UTC

Routing entry for 192.168.4.0/24
  Known via "bgp 65001", distance 20, metric 0
  Tag 65002
  Number of pic paths 1 , type internal and external
  Installed Sep 10 09:32:29.973 for 00:01:41
  Routing Descriptor Blocks
    10.0.0.2, from 10.0.0.2, BGP backup path, BGP multi path
      Route metric is 0
    10.1.4.4, from 10.1.4.4, BGP external, BGP multi path
      Route metric is 0
  No advertising protos. 

STEP 6:設定を戻す(最終状態)

R4のmaximum-paths / multipath-relax / FROM-R5LOCAL_PREF、R3とR1のmaximum-pathsをすべて外します。 R4ではmultipathの表示が消え、ネクストホップも1つに戻りました。

R4 show bgp 192.168.6.0/24(最終状態)
RP/0/RP0/CPU0:R4#show bgp 192.168.6.0/24
Thu Sep 10 10:27:37.694 UTC
<snip>
Paths: (3 available, best #1)
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  Path #1: Received by speaker 0
  Advertised IPv4 Unicast paths to peers (in unique update groups):
    10.4.5.5        
  65001 65004, (received & used)
    10.1.4.1 from 10.1.4.1 (10.0.0.1)
      Origin IGP, localpref 100, valid, external, best, group-best
      Received Path ID 0, Local Path ID 1, version 7
      Origin-AS validity: (disabled)
  Path #2: Received by speaker 0
  Not advertised to any peer
  65001 65004, (received & used)
    10.2.4.2 from 10.2.4.2 (10.0.0.2)
      Origin IGP, localpref 100, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)
  Path #3: Received by speaker 0
  Not advertised to any peer
  65003 65004, (received & used)
    10.4.5.5 from 10.4.5.5 (10.0.0.5)
      Origin IGP, localpref 100, valid, external, group-best
      Received Path ID 0, Local Path ID 0, version 0
      Origin-AS validity: (disabled)
R4 show route 192.168.6.0/24(最終状態)
RP/0/RP0/CPU0:R4#show route 192.168.6.0/24
Thu Sep 10 10:27:38.218 UTC

Routing entry for 192.168.6.0/24
  Known via "bgp 65002", distance 20, metric 0
  Tag 65001, type external
  Installed Sep 10 10:20:30.342 for 00:07:07
  Routing Descriptor Blocks
    10.1.4.1, from 10.1.4.1, BGP external
      Route metric is 0, Wt is 1
  No advertising protos. 

R3も同様に1つに戻ります。

R3 show route 192.168.4.0/24(最終状態)
RP/0/RP0/CPU0:R3#show route 192.168.4.0/24
Thu Sep 10 10:26:16.879 UTC

Routing entry for 192.168.4.0/24
  Known via "bgp 65001", distance 200, metric 0
  Tag 65002, type internal
  Installed Sep 10 10:19:28.730 for 00:06:48
  Routing Descriptor Blocks
    10.0.0.1, from 10.0.0.1
      Route metric is 0, Wt is 1
  No advertising protos. 

検証のまとめ

  • ベストパスは常に1本で、advertised-routesも変わらない。マルチパスが変えるのは転送テーブルだけ(STEP 1)
  • 既定ではAS_PATHの中身まで一致する経路しか束ねない。multipath-relaxで長さだけになる(STEP 1・2)
  • LOCAL_PREFのようにベストパスと違う属性を持つ経路は候補から外れる(STEP 3)
  • iBGP同士(STEP 4)、eBGPとiBGPの混在(STEP 5)も束ねられる
  • XRのeiBGPでは、iBGP側の経路にmultipathと同時にbackupが付く(STEP 5)

検証Configおよびshow結果

各STEPで6台すべてから、次の3種類をルータごとに分けて取得しています。検証Configはこの..._run.txtです(最終状態はSTEP 6のもの)。

ファイル内容
..._show.txtshow version / show interface description / show route / show ospf neighbor / show bgp summary / show bgp / show bgp <プレフィックス>(6本) / show route 192.168.4.0/24192.168.6.0/24 / show cef / show bgp neighbors / ピアごとのadvertised-routesroutesreceived routes / show bgp update-group / show rpl route-policy
..._log.txtそのSTEPの範囲だけに絞ったshow logging。各STEPの開始時にlogmsgでマーカーを入れ、その時刻をshow logging startに指定して取得したもの
..._run.txtそのSTEP時点のshow running-config(=そのSTEPの検証Config)

STEP 0:マルチパスなし

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R5showlogrun
R6showlogrun

STEP 1:R4にmaximum-paths ebgp 2

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R5showlogrun
R6showlogrun

STEP 2:R4にmultipath-relaxmaximum-paths ebgp 3

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R5showlogrun
R6showlogrun

STEP 3:R4の入方向でR5経由のLOCAL_PREFを90に

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R5showlogrun
R6showlogrun

STEP 4:R3にmaximum-paths ibgp 2

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R5showlogrun
R6showlogrun

STEP 5:R1にmaximum-paths eibgp 2

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R5showlogrun
R6showlogrun

STEP 6:設定を戻す(最終状態)

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R5showlogrun
R6showlogrun

参考

資料タイトル概要
RFC 4271A Border Gateway Protocol 4 (BGP-4)9.1.2.2がLoc-RIBへ入れる経路を1つに限ると定めている(マルチパスの規定は無い)
RFC 7911Advertisement of Multiple Paths in BGPADD-PATH。ピアへ複数の経路を広告する拡張で、マルチパスとは層が違う

関連記事