AS_PATHとは
AS_PATH(Type code 2)は、その経路がどのASを通ってきたかをAS番号の並びで表すwell-known mandatoryのパス属性です(BGPパス属性とベストパス選択)。BGPが「パスベクター型」と呼ばれるのはこの属性のためで、役割は2つあります。
| 役割 | 内容 |
|---|---|
| ループ検出 | 受け取った経路のAS_PATHに自ASの番号が含まれていれば、その経路は一度自ASを通っているのでループと判断して破棄する |
| 経路長の比較 | ベストパス選択で、AS_PATHに含まれるAS番号の個数が少ない経路を優先する |
eBGPとiBGPでの付き方
AS_PATHが伸びるのはeBGPピアへ広告するときだけです。iBGPピアへ広告するときは何も足しません。
| 広告先 | 動作 |
|---|---|
| eBGPピア | 自ASの番号をAS_PATHの先頭に追加して送る |
| iBGPピア | AS_PATHをそのまま送る(自ASの番号は追加しない) |
AS内で足すとAS単位の距離という意味が壊れるためです(RFC 4271 5.1.2)。自分がnetworkで広告を始めた経路は、AS内ではAS_PATHが空のまま流れます。
Network Next Hop Metric LocPrf Weight Path
*> 192.168.1.0/24 0.0.0.0 0 32768 iセグメントの型
AS_PATHは「セグメント」の並びとして符号化され、通常見るのはAS_SEQUENCEです。
| 型 | 値 | 意味 |
|---|---|---|
AS_SET | 1 | 順序を持たないASの集合。経路集約(aggregate-address)で複数経路をまとめたとき、元の経路が通ってきたASを重複なく列挙するために使う |
AS_SEQUENCE | 2 | 順序を持つASの並び。通常の経路伝播で作られるのはこちら |
tshark -Vはセグメント型と要素数まで展開します。
Path Attribute - AS_PATH: 65002 65001
Flags: 0x40, Transitive, Well-known, Complete
<snip>
Type Code: AS_PATH (2)
<snip>
AS Path segment: 65002 65001
Segment type: AS_SEQUENCE (2)
Segment length (number of ASN): 2
AS4: 65002
AS4: 65001AS_SETは長さの計算上「何個入っていても1」です(RFC 4271 9.1.2.2)。集約の動作はBGP経路集約(aggregate-address)で解説しています。
ループ検出
受け取った経路のAS_PATHに自ASの番号があれば捨てます(RFC 4271 9.1.2)。ホップ数の上限ではなく経路自身の情報でループを判定できるのがパスベクター型の利点です。捨てられる段階とallowas-inの効果はBGP(Border Gateway Protocol)で扱っています。
ベストパス選択での位置づけ
AS_PATHの長さはベストパス選択の4番目で、MULTI_EXIT_DISC(6番目)より先に評価されます。両方を設定しても、長さで差がつけばMEDは見られません。比較されるのは長さだけで、bgp bestpath as-path ignoreで無視させてもループ検出は無効になりません。
AS_PATHプリペンドによる流入制御
自ASへの流入経路を選ばせるために、eBGP出方向のポリシーで自ASの番号を余分に付けるのがAS_PATHプリペンドです。相手から見た経路が長くなり、そのリンクは選ばれにくくなります。IOS XRではprepend as-path own-as <回数>で書きます。
route-policy TO-R3
prepend as-path own-as 1
pass
end-policy
<snip>
neighbor 10.1.3.3
remote-as 65002
description eBGP to R3
address-family ipv4 unicast
route-policy FROM-R3 in
route-policy TO-R3 out
soft-reconfiguration inbound always
!設定コマンドの詳細は IOS XR BGPルートポリシーで解説します。
上流がLOCAL_PREFで出口を決めている場合、プリペンドは届きません。LOCAL_PREFはベストパス選択の2番目で、4番目のAS_PATHより先に評価されるためです。
MEDとの違い
隣接ASの入口を選ばせるだけならMEDでも同じ結果になります。違うのは影響が届く範囲です。
| 観点 | MED | AS_PATHプリペンド |
|---|---|---|
| 届く範囲 | 隣接ASまで。受け取ったASは他ASへ伝播しない | AS_PATHごと伝わるので、離れたASまで届く |
| 比較の条件 | 同じ隣接ASから学習した経路どうしでのみ比較 | 条件なし。すべての経路の長さを比較する |
| 選択順序 | 6番目 | 4番目 |
| 副作用 | 隣接ASの中で閉じる | 経路が通るすべてのASの選択に影響しうる |
MEDは受け取ったASから先へ伝播しません(RFC 4271 5.1.4)が、プリペンドは伝播するAS_PATHそのものを書き換えるため、意図した相手より先のASまで効きます。下のSTEP 1(MED)とSTEP 3(プリペンド)が、同じ操作の届く範囲の違いにあたります。
実機での検証
XRd 26.1.1を5台使い、次を確認します。
- 同じ長さの経路が並ぶときは、先に受け取った経路が維持される
- MEDで隣接ASの入口を変えても、その先のASには影響しない
- プリペンドでも隣接ASの入口は同じように変わる
- 出口を両方延ばすと2つ先のASの選択まで変わる
- ポリシーを外してもベストパスは自動では戻らず、セッションのリセットが要る
- R1が
192.168.1.0/24を広告し、他のASからどう見えるかを追います - AS 65002(R3)はAS 65001と2本のリンク(R1経由とR2経由)で接続しており、MEDの比較が成立します
- AS 65004(R5)はAS 65001と直接つながっておらず、AS 65002経由とAS 65003経由の2つの選択肢があります(どちらも
AS_PATH長2) - R5 - R4のセッションは初期状態で落としてあります。AS 65002経由を先に受け取らせ、AS 65003経由をあとから受け取らせるためです(長さが並んだときの選択が、受け取った順で決まるため)
検証の全体像
| STEP | 操作 | 確かめること |
|---|---|---|
| 0 | 初期状態(R5 - R4はshutdown) | R5は192.168.1.0/24をAS 65002経由の1本だけ持つ |
| 1 | R5 - R4のセッションを上げる | 2本になるがbestはAS 65002経由のまま(同じ長さなら先に受け取った経路が残る) |
| 2 | R1→R3にMED 200、R2→R3にMED 50 | MEDはR3の入口だけを変え、R5のテーブルは何も変わらない |
| 3 | MEDを撤去し、R1→R3にプリペンド×1 | 同じ入口の変更がAS_PATHの長さでも起きる |
| 4 | R2→R3にもプリペンド×1 | 2つ先のAS 65004の選択まで変わる(MEDでは動かなかったもの) |
| 5 | プリペンドを撤去(設定はSTEP 1と同一に戻る) | ベストパスは自動では戻らない |
| 6 | R5でsoft-reconfiguration inboundを実行 | soft reconfigurationでも戻らない |
| 7 | R5 - R4のセッションを落とす | 選択肢が消えてAS 65002経由に戻る |
| 8 | R5 - R4のセッションを張り直す(最終状態) | 長さが並んでもbestはAS 65002経由のまま |
各STEPでR1 - R3間・R2 - R3間・R3 - R5間・R4 - R5間の4区間のキャプチャーを取っています(STEP 0はR4 - R5のセッションが落ちているため、この区間にBGPは流れません)。
STEP 0:初期状態(R5 - R4はshutdown)
R5は10.4.5.4(R4)とのeBGPセッションをshutdownにした状態から始めます。R5が持つ192.168.1.0/24の経路はAS 65002経由の1本だけです。
RP/0/RP0/CPU0:R5#show bgp 192.168.1.0/24
<snip>
Paths: (1 available, best #1)
<snip>
Path #1: Received by speaker 0
<snip>
65002 65001, (received & used)
10.3.5.3 from 10.3.5.3 (10.0.0.3)
Origin IGP, localpref 100, valid, external, best, group-bestR3は同じプレフィックスをR1経由とR2経由の2本持っており、こちらがMEDの比較が成立する側です。
RP/0/RP0/CPU0:R3#show bgp 192.168.1.0/24
<snip>
Paths: (2 available, best #1)
<snip>
Path #1: Received by speaker 0
<snip>
65001, (received & used)
10.1.3.1 from 10.1.3.1 (10.0.0.1)
Origin IGP, metric 0, localpref 100, valid, external, best, group-best
<snip>
Path #2: Received by speaker 0
<snip>
65001, (received & used)
10.2.3.2 from 10.2.3.2 (10.0.0.2)
Origin IGP, localpref 100, valid, externalSTEP 1:AS 65003経由の経路をあとから受け取る
R5の10.4.5.4とのセッションを上げます。AS_PATH長は65002 65001と65003 65001で同じ2です。
RP/0/RP0/CPU0:R5#show configuration commit changes last 1
Mon Sep 28 14:12:45.843 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router bgp 65004
neighbor 10.4.5.4
no shutdown
!
!
end長さが並んだときのベストパスは、先に受け取った経路が維持されます。R5はSTEP 0からAS 65002経由を持っていたので、あとから来たAS 65003経由には切り替わりません。
RP/0/RP0/CPU0:R5#show bgp 192.168.1.0/24
<snip>
Paths: (2 available, best #1)
<snip>
Path #1: Received by speaker 0
<snip>
65002 65001, (received & used)
10.3.5.3 from 10.3.5.3 (10.0.0.3)
Origin IGP, localpref 100, valid, external, best, group-best
<snip>
Path #2: Received by speaker 0
<snip>
65003 65001, (received & used)
10.4.5.4 from 10.4.5.4 (10.0.0.4)
Origin IGP, localpref 100, valid, external, group-bestSTEP 2:MEDで隣接ASの入口を変える
R1からR3へ広告する経路にMED 200、R2からR3へはMED 50を付けます。
RP/0/RP0/CPU0:R1#show configuration commit changes last 1
Mon Sep 28 14:19:19.377 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
route-policy TO-R3
set med 200
pass
end-policy
!
endRP/0/RP0/CPU0:R2#show configuration commit changes last 1
Mon Sep 28 14:19:28.530 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
route-policy TO-R3
set med 50
pass
end-policy
!
endR3のベストパスはMEDの小さいR2経由に変わります。
RP/0/RP0/CPU0:R3#show bgp 192.168.1.0/24
<snip>
Paths: (2 available, best #2)
<snip>
Path #1: Received by speaker 0
<snip>
65001, (received & used)
10.1.3.1 from 10.1.3.1 (10.0.0.1)
Origin IGP, metric 200, localpref 100, valid, external
<snip>
Path #2: Received by speaker 0
<snip>
65001, (received & used)
10.2.3.2 from 10.2.3.2 (10.0.0.2)
Origin IGP, metric 50, localpref 100, valid, external, best, group-best一方R5のテーブルはSTEP 1と1文字も変わりません。MEDは受け取ったAS(65002)から先へ伝播しないので、2つ先のASには何も届きません。
RP/0/RP0/CPU0:R5#show bgp 192.168.1.0/24
<snip>
Paths: (2 available, best #1)
<snip>
Path #1: Received by speaker 0
<snip>
65002 65001, (received & used)
10.3.5.3 from 10.3.5.3 (10.0.0.3)
Origin IGP, localpref 100, valid, external, best, group-best
<snip>
Path #2: Received by speaker 0
<snip>
65003 65001, (received & used)
10.4.5.4 from 10.4.5.4 (10.0.0.4)
Origin IGP, localpref 100, valid, external, group-bestSTEP 3:AS_PATHプリペンドで同じことをする
MEDを外し、R1からR3への広告に自AS番号を1回余分に付けます。
RP/0/RP0/CPU0:R1#show configuration commit changes last 1
Mon Sep 28 14:25:58.761 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
route-policy TO-R3
prepend as-path own-as 1
pass
end-policy
!
endRP/0/RP0/CPU0:R2#show configuration commit changes last 1
Mon Sep 28 14:26:06.027 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
route-policy TO-R3
pass
end-policy
!
end同じR1 - R3間のUPDATEを2つ並べると、MEDとプリペンドが書き換える場所の違いがそのまま見えます。MEDはMULTI_EXIT_DISCだけを足し、AS_PATHは65001の1つのままです。プリペンドはAS_PATHを65001 65001に伸ばします。
Border Gateway Protocol - UPDATE Message
<snip>
Path Attribute - MP_REACH_NLRI
<snip>
Next hop: 10.1.3.1
<snip>
192.168.1.0/24
<snip>
MP Reach NLRI IPv4 prefix: 192.168.1.0
Path Attribute - ORIGIN: IGP
<snip>
Origin: IGP (0)
Path Attribute - AS_PATH: 65001
<snip>
AS Path segment: 65001
<snip>
Path Attribute - MULTI_EXIT_DISC: 200
<snip>
Multiple exit discriminator: 200Border Gateway Protocol - UPDATE Message
<snip>
Path Attribute - MP_REACH_NLRI
<snip>
Next hop: 10.1.3.1
<snip>
192.168.1.0/24
<snip>
MP Reach NLRI IPv4 prefix: 192.168.1.0
Path Attribute - ORIGIN: IGP
<snip>
Origin: IGP (0)
Path Attribute - AS_PATH: 65001 65001
<snip>
AS Path segment: 65001 65001
<snip>
Path Attribute - MULTI_EXIT_DISC: 0
<snip>
Multiple exit discriminator: 0プリペンド側にもMULTI_EXIT_DISC: 0が載っていますが、これはMEDを設定していないときにIOS XRが0を付けて送るもので、STEP 2で設定した200とは別のものです。
上のtshark出力のパケット(No.1 UPDATE、MED 200)のpcapをダウンロード
R3のベストパスはMEDのときと同じようにR2経由になります。入口を選ばせる目的なら、どちらでも同じ結果が得られます。
RP/0/RP0/CPU0:R3#show bgp 192.168.1.0/24
<snip>
Paths: (2 available, best #2)
<snip>
Path #1: Received by speaker 0
<snip>
65001 65001, (received & used)
10.1.3.1 from 10.1.3.1 (10.0.0.1)
Origin IGP, metric 0, localpref 100, valid, external
<snip>
Path #2: Received by speaker 0
<snip>
65001, (received & used)
10.2.3.2 from 10.2.3.2 (10.0.0.2)
Origin IGP, localpref 100, valid, external, best, group-bestSTEP 4:出口を両方とも延ばして、2つ先のASを動かす
R2からR3への広告にも同じプリペンドを入れ、AS 65001の出口を両方とも1つ長くします。
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Mon Sep 28 14:32:36.520 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
route-policy TO-R3
prepend as-path own-as 1
pass
end-policy
!
endR3から見るとR1経由もR2経由も65001 65001で並びますが、R3がR5へ広告する経路は65002 65001 65001の長さ3になります。R5から見るとAS 65003経由(長さ2)のほうが短くなるため、2つ先のAS 65004のベストパスが切り替わります。MEDでは動かなかったところです。
RP/0/RP0/CPU0:R5#show bgp 192.168.1.0/24
<snip>
Paths: (2 available, best #2)
<snip>
Path #1: Received by speaker 0
<snip>
65002 65001 65001, (received & used)
10.3.5.3 from 10.3.5.3 (10.0.0.3)
Origin IGP, localpref 100, valid, external, group-best
<snip>
Path #2: Received by speaker 0
<snip>
65003 65001, (received & used)
10.4.5.4 from 10.4.5.4 (10.0.0.4)
Origin IGP, localpref 100, valid, external, best, group-bestBorder Gateway Protocol - UPDATE Message
<snip>
Path Attribute - MP_REACH_NLRI
<snip>
Next hop: 10.3.5.3
<snip>
192.168.1.0/24
<snip>
MP Reach NLRI IPv4 prefix: 192.168.1.0
Path Attribute - ORIGIN: IGP
<snip>
Origin: IGP (0)
Path Attribute - AS_PATH: 65002 65001 65001
<snip>
AS Path segment: 65002 65001 65001転送も切り替わった経路で通っています。
RP/0/RP0/CPU0:R5#ping 192.168.1.1 source 192.168.5.1 count 50 timeout 1
<snip>
Type escape sequence to abort.
<snip>
Success rate is 100 percent (50/50), round-trip min/avg/max = 8/11/50 msSTEP 5:ポリシーを外してもベストパスは戻らない
R1・R2のプリペンドを外し、設定をSTEP 1と同じ状態に戻します。
RP/0/RP0/CPU0:R1#show configuration commit changes last 1
Mon Sep 28 14:39:06.972 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
route-policy TO-R3
pass
end-policy
!
endRP/0/RP0/CPU0:R2#show configuration commit changes last 1
Mon Sep 28 14:39:14.339 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
route-policy TO-R3
pass
end-policy
!
endAS_PATHの長さは65002 65001に戻り、AS 65003経由と並びます。しかしベストパスはAS 65003経由のままです。並んだときは先に受け取った経路が維持されるという規則が、ここでは逆向きに働きます。R3経由の経路はプリペンドの付け外しで広告し直されており、R4経由の経路のほうが古いためです。
RP/0/RP0/CPU0:R5#show bgp 192.168.1.0/24
<snip>
Paths: (2 available, best #2)
<snip>
Path #1: Received by speaker 0
<snip>
65002 65001, (received & used)
10.3.5.3 from 10.3.5.3 (10.0.0.3)
Origin IGP, localpref 100, valid, external, group-best
<snip>
Path #2: Received by speaker 0
<snip>
65003 65001, (received & used)
10.4.5.4 from 10.4.5.4 (10.0.0.4)
Origin IGP, localpref 100, valid, external, best, group-bestSTEP 6:soft reconfigurationでも戻らない
R5でclear bgp ipv4 unicast 10.4.5.4 soft inを実行します。保持している受信経路を入方向ポリシーに通し直す操作で、セッションは落ちません。
RP/0/RP0/CPU0:R5#clear bgp ipv4 unicast 10.4.5.4 soft in
Mon Sep 28 14:45:45.851 UTCベストパスは動きません。経路の新しさの差はそのまま残るためです。
RP/0/RP0/CPU0:R5#show bgp 192.168.1.0/24
<snip>
Paths: (2 available, best #2)
<snip>
Path #1: Received by speaker 0
<snip>
65002 65001, (received & used)
10.3.5.3 from 10.3.5.3 (10.0.0.3)
Origin IGP, localpref 100, valid, external, group-best
<snip>
Path #2: Received by speaker 0
<snip>
65003 65001, (received & used)
10.4.5.4 from 10.4.5.4 (10.0.0.4)
Origin IGP, localpref 100, valid, external, best, group-bestSTEP 7・8:セッションを落として張り直す
R5の10.4.5.4とのセッションを落とすと、AS 65003経由の経路が消えるのでAS 65002経由に戻ります。
RP/0/RP0/CPU0:R5#show configuration commit changes last 1
Mon Sep 28 14:52:16.485 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router bgp 65004
neighbor 10.4.5.4
shutdown
!
!
endRP/0/RP0/CPU0:R5#show bgp 192.168.1.0/24
<snip>
Paths: (1 available, best #1)
<snip>
Path #1: Received by speaker 0
<snip>
65002 65001, (received & used)
10.3.5.3 from 10.3.5.3 (10.0.0.3)
Origin IGP, localpref 100, valid, external, best, group-best張り直すと、今度はAS 65003経由の経路がいちばん新しくなります。長さが並んでもベストパスはAS 65002経由のままで、これが最終状態です。
RP/0/RP0/CPU0:R5#show bgp 192.168.1.0/24
<snip>
Paths: (2 available, best #1)
<snip>
Path #1: Received by speaker 0
<snip>
65002 65001, (received & used)
10.3.5.3 from 10.3.5.3 (10.0.0.3)
Origin IGP, localpref 100, valid, external, best, group-best
<snip>
Path #2: Received by speaker 0
<snip>
65003 65001, (received & used)
10.4.5.4 from 10.4.5.4 (10.0.0.4)
Origin IGP, localpref 100, valid, external, group-bestプリペンドを外した効果を確実に戻したいときは、この操作が必要になります。
検証Configおよびshow結果
各STEPで5台すべてから、次の種類をルータごとに分けて取得しています。検証Configはこの..._run.txtです(最終状態は最後のSTEPのもの)。
| ファイル | 内容 |
|---|---|
..._show.txt | show version / show interface description / show route / BGP・OSPFの状態一式(ネイバーごとのadvertised-routes / routes / received routesを含む) |
..._log.txt | そのSTEPの範囲だけに絞ったshow logging。各STEPの開始時にlogmsgでマーカーを入れ、その時刻をshow logging startに指定して取得したもの |
..._run.txt | そのSTEP時点のshow running-config(=そのSTEPの検証Config) |
..._ping.txt | そのSTEPのpingとtracerouteの結果 |
..._trace.txt | show bgp trace neighbor / show bgp trace error |
..._commit.cfg | そのSTEPで実際にcommitされた設定だけ(設定を変えたルータのみ) |
..._exec.txt | clear bgp ... soft inのように設定変更ではない操作の記録(STEP 6のみ) |
STEP 0:初期状態(R5 - R4はshutdown)
| ルータ | show出力 | syslog | running-config | ping | trace | commit |
|---|---|---|---|---|---|---|
| R1 | show | log | run | — | trace | — |
| R2 | show | log | run | — | trace | — |
| R3 | show | log | run | ping | trace | — |
| R4 | show | log | run | ping | trace | — |
| R5 | show | log | run | ping | trace | — |
STEP 1:R5 - R4のセッションを上げる
| ルータ | show出力 | syslog | running-config | ping | trace | commit |
|---|---|---|---|---|---|---|
| R1 | show | log | run | — | trace | — |
| R2 | show | log | run | — | trace | — |
| R3 | show | log | run | ping | trace | — |
| R4 | show | log | run | ping | trace | commit |
| R5 | show | log | run | ping | trace | commit |
STEP 2:R1→R3にMED 200、R2→R3にMED 50
| ルータ | show出力 | syslog | running-config | ping | trace | commit |
|---|---|---|---|---|---|---|
| R1 | show | log | run | — | trace | commit |
| R2 | show | log | run | — | trace | commit |
| R3 | show | log | run | ping | trace | — |
| R4 | show | log | run | ping | trace | — |
| R5 | show | log | run | ping | trace | — |
STEP 3:MEDを撤去し、R1→R3にプリペンド×1
| ルータ | show出力 | syslog | running-config | ping | trace | commit |
|---|---|---|---|---|---|---|
| R1 | show | log | run | — | trace | commit |
| R2 | show | log | run | — | trace | commit |
| R3 | show | log | run | ping | trace | — |
| R4 | show | log | run | ping | trace | — |
| R5 | show | log | run | ping | trace | — |
STEP 4:R2→R3にもプリペンド×1(両方の出口を延ばす)
| ルータ | show出力 | syslog | running-config | ping | trace | commit |
|---|---|---|---|---|---|---|
| R1 | show | log | run | — | trace | — |
| R2 | show | log | run | — | trace | commit |
| R3 | show | log | run | ping | trace | — |
| R4 | show | log | run | ping | trace | — |
| R5 | show | log | run | ping | trace | — |
STEP 5:プリペンドを撤去(設定はSTEP 1と同一に戻る)
| ルータ | show出力 | syslog | running-config | ping | trace | commit |
|---|---|---|---|---|---|---|
| R1 | show | log | run | — | trace | commit |
| R2 | show | log | run | — | trace | commit |
| R3 | show | log | run | ping | trace | — |
| R4 | show | log | run | ping | trace | — |
| R5 | show | log | run | ping | trace | — |
STEP 6:R5でsoft-reconfiguration inboundを実行
| ルータ | show出力 | syslog | running-config | ping | trace | commit |
|---|---|---|---|---|---|---|
| R1 | show | log | run | — | trace | — |
| R2 | show | log | run | — | trace | — |
| R3 | show | log | run | ping | trace | — |
| R4 | show | log | run | ping | trace | — |
| R5 | show | log | run | ping | trace | exec |
STEP 7:R5 - R4のセッションを落とす
| ルータ | show出力 | syslog | running-config | ping | trace | commit |
|---|---|---|---|---|---|---|
| R1 | show | log | run | — | trace | — |
| R2 | show | log | run | — | trace | — |
| R3 | show | log | run | ping | trace | — |
| R4 | show | log | run | ping | trace | — |
| R5 | show | log | run | ping | trace | commit |
STEP 8:R5 - R4のセッションを張り直す(最終状態)
| ルータ | show出力 | syslog | running-config | ping | trace | commit |
|---|---|---|---|---|---|---|
| R1 | show | log | run | — | trace | — |
| R2 | show | log | run | — | trace | — |
| R3 | show | log | run | ping | trace | — |
| R4 | show | log | run | ping | trace | — |
| R5 | show | log | run | ping | trace | commit |
パケットキャプチャーはSTEPごとに4区間で取得しています。
| STEP | R1 - R3間 | R2 - R3間 | R3 - R5間 | R4 - R5間 |
|---|---|---|---|---|
| 0 | pcap | pcap | pcap | pcap |
| 1 | pcap | pcap | pcap | pcap |
| 2 | pcap | pcap | pcap | pcap |
| 3 | pcap | pcap | pcap | pcap |
| 4 | pcap | pcap | pcap | pcap |
| 5 | pcap | pcap | pcap | pcap |
| 6 | pcap | pcap | pcap | pcap |
| 7 | pcap | pcap | pcap | pcap |
| 8 | pcap | pcap | pcap | pcap |
参考
- RFC 4271 - A Border Gateway Protocol 4 (BGP-4) 4.3(AS_PATH)、5.1.2(eBGPとiBGPでの付き方)、5.1.4(MEDは伝播しない)、9.1.2(ループ検出)、9.1.2.2(ベストパス選択と
AS_SETの数え方)
関連記事
- BGP(Border Gateway Protocol)
- BGPメッセージ
- BGPネイバーの状態遷移
- iBGPとeBGPの違い
- BGP next-hop-self
- BGPルートリフレクタ
- BGPパス属性とベストパス選択
- BGP ORIGIN属性
- BGP AS_PATH属性
- BGP NEXT_HOP属性
- BGP LOCAL_PREF属性
- BGP MED属性
- BGP WEIGHT属性
- BGP COMMUNITY属性
- BGP経路集約(aggregate-address)
- MP-BGP(マルチプロトコル拡張)
- BGP Extended Community(拡張コミュニティ)
- BGPマルチパス(maximum-paths)
- BGPの4バイトAS番号(RFC 6793)
- BGPのプライベートAS番号の除去(remove-private-AS)
- BGPのADD-PATH(RFC 7911)
- BGP PIC(Prefix Independent Convergence)
- BGP Best External(ベストでない外部経路の広告)