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

BGP AS_PATH属性

目次

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が空のまま流れます。

R1 で自分が広告している経路(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_SET1順序を持たないASの集合。経路集約(aggregate-address)で複数経路をまとめたとき、元の経路が通ってきたASを重複なく列挙するために使う
AS_SEQUENCE2順序を持つASの並び。通常の経路伝播で作られるのはこちら

tshark -Vはセグメント型と要素数まで展開します。

tshark -V での AS_PATH の展開(R3 → R5 の UPDATE)
        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: 65001

AS_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 <回数>で書きます。

自ASの番号を1回余分に付ける(IOS XR、show running-config より)
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でも同じ結果になります。違うのは影響が届く範囲です。

観点MEDAS_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台使い、次を確認します。

  1. 同じ長さの経路が並ぶときは、先に受け取った経路が維持される
  2. MEDで隣接ASの入口を変えても、その先のASには影響しない
  3. プリペンドでも隣接ASの入口は同じように変わる
  4. 出口を両方延ばすと2つ先のASの選択まで変わる
  5. ポリシーを外してもベストパスは自動では戻らず、セッションのリセットが要る
AS_PATHの検証トポロジ。AS 65001(R1・R2、iBGPとOSPF area 0)から AS 65002(R3)へは R1・R2 の2本、AS 65003(R4)へは R2 から1本が出ている。AS 65004(R5)は AS 65002 と AS 65003 の両方に接続している
  • 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本だけ持つ
1R5 - R4のセッションを上げる2本になるがbestはAS 65002経由のまま(同じ長さなら先に受け取った経路が残る)
2R1→R3にMED 200、R2→R3にMED 50MEDはR3の入口だけを変え、R5のテーブルは何も変わらない
3MEDを撤去し、R1→R3にプリペンド×1同じ入口の変更がAS_PATHの長さでも起きる
4R2→R3にもプリペンド×12つ先のAS 65004の選択まで変わる(MEDでは動かなかったもの)
5プリペンドを撤去(設定はSTEP 1と同一に戻る)ベストパスは自動では戻らない
6R5でsoft-reconfiguration inboundを実行soft reconfigurationでも戻らない
7R5 - R4のセッションを落とす選択肢が消えてAS 65002経由に戻る
8R5 - 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本だけです。

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-best

R3は同じプレフィックスをR1経由とR2経由の2本持っており、こちらがMEDの比較が成立する側です。

R3 の 192.168.1.0/24(R1 経由と R2 経由の2本)
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, external

STEP 1:AS 65003経由の経路をあとから受け取る

R5の10.4.5.4とのセッションを上げます。AS_PATH長は65002 65001と65003 65001で同じ2です。

STEP 1 で R5 に入れた設定
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経由には切り替わりません。

R5 の 192.168.1.0/24(2本になっても best は 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

STEP 2:MEDで隣接ASの入口を変える

R1からR3へ広告する経路にMED 200、R2からR3へはMED 50を付けます。

STEP 2 で R1 に入れた設定
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
!
end
STEP 2 で R2 に入れた設定
RP/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
!
end

R3のベストパスはMEDの小さいR2経由に変わります。

R3 の 192.168.1.0/24(MED 50 の R2 経由が best)
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には何も届きません。

R5 の 192.168.1.0/24(STEP 1 と同じ)
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

STEP 3:AS_PATHプリペンドで同じことをする

MEDを外し、R1からR3への広告に自AS番号を1回余分に付けます。

STEP 3 で R1 に入れた設定
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
!
end
STEP 3 で R2 に入れた設定
RP/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に伸ばします。

STEP 2 の No.1(R1 → R3、MED 200)tshark -V
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: 200
STEP 3 の No.3(R1 → R3、プリペンド ×1)tshark -V
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 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をダウンロード

上のtshark出力のパケット(No.3 UPDATE、プリペンド ×1)のpcapをダウンロード

R3のベストパスはMEDのときと同じようにR2経由になります。入口を選ばせる目的なら、どちらでも同じ結果が得られます。

R3 の 192.168.1.0/24(プリペンドされていない R2 経由が best)
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-best

STEP 4:出口を両方とも延ばして、2つ先のASを動かす

R2からR3への広告にも同じプリペンドを入れ、AS 65001の出口を両方とも1つ長くします。

STEP 4 で R2 に入れた設定
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
!
end

R3から見るとR1経由もR2経由も65001 65001で並びますが、R3がR5へ広告する経路は65002 65001 65001の長さ3になります。R5から見るとAS 65003経由(長さ2)のほうが短くなるため、2つ先のAS 65004のベストパスが切り替わります。MEDでは動かなかったところです。

R5 の 192.168.1.0/24(AS 65003 経由へ切り替わった)
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-best
STEP 4 の No.1(R3 → R5、AS_PATH が 3 つに伸びた UPDATE)tshark -V
Border 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
上のtshark出力のパケット(No.1 UPDATE)のpcapをダウンロード

転送も切り替わった経路で通っています。

R5 から 192.168.1.1 への疎通(STEP 4)
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 ms

STEP 5:ポリシーを外してもベストパスは戻らない

R1・R2のプリペンドを外し、設定をSTEP 1と同じ状態に戻します。

STEP 5 で R1 に入れた設定
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
!
end
STEP 5 で R2 に入れた設定
RP/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
!
end

AS_PATHの長さは65002 65001に戻り、AS 65003経由と並びます。しかしベストパスはAS 65003経由のままです。並んだときは先に受け取った経路が維持されるという規則が、ここでは逆向きに働きます。R3経由の経路はプリペンドの付け外しで広告し直されており、R4経由の経路のほうが古いためです。

R5 の 192.168.1.0/24(長さは並んだが best は AS 65003 経由のまま)
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-best

STEP 6:soft reconfigurationでも戻らない

R5でclear bgp ipv4 unicast 10.4.5.4 soft inを実行します。保持している受信経路を入方向ポリシーに通し直す操作で、セッションは落ちません。

R5 で soft reconfiguration を実行(STEP 6)
RP/0/RP0/CPU0:R5#clear bgp ipv4 unicast 10.4.5.4 soft in
Mon Sep 28 14:45:45.851 UTC

ベストパスは動きません。経路の新しさの差はそのまま残るためです。

R5 の 192.168.1.0/24(STEP 5 と同じ)
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-best

STEP 7・8:セッションを落として張り直す

R5の10.4.5.4とのセッションを落とすと、AS 65003経由の経路が消えるのでAS 65002経由に戻ります。

STEP 7 で R5 に入れた設定
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
 !
!
end
R5 の 192.168.1.0/24(AS 65002 経由だけになった)
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-best

張り直すと、今度はAS 65003経由の経路がいちばん新しくなります。長さが並んでもベストパスはAS 65002経由のままで、これが最終状態です。

R5 の 192.168.1.0/24(最終状態)
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.txtshow 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.txtshow bgp trace neighbor / show bgp trace error
..._commit.cfgそのSTEPで実際にcommitされた設定だけ(設定を変えたルータのみ)
..._exec.txtclear bgp ... soft inのように設定変更ではない操作の記録(STEP 6のみ)

STEP 0:初期状態(R5 - R4はshutdown)

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrun—trace—
R2showlogrun—trace—
R3showlogrunpingtrace—
R4showlogrunpingtrace—
R5showlogrunpingtrace—

STEP 1:R5 - R4のセッションを上げる

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrun—trace—
R2showlogrun—trace—
R3showlogrunpingtrace—
R4showlogrunpingtracecommit
R5showlogrunpingtracecommit

STEP 2:R1→R3にMED 200、R2→R3にMED 50

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrun—tracecommit
R2showlogrun—tracecommit
R3showlogrunpingtrace—
R4showlogrunpingtrace—
R5showlogrunpingtrace—

STEP 3:MEDを撤去し、R1→R3にプリペンド×1

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrun—tracecommit
R2showlogrun—tracecommit
R3showlogrunpingtrace—
R4showlogrunpingtrace—
R5showlogrunpingtrace—

STEP 4:R2→R3にもプリペンド×1(両方の出口を延ばす)

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrun—trace—
R2showlogrun—tracecommit
R3showlogrunpingtrace—
R4showlogrunpingtrace—
R5showlogrunpingtrace—

STEP 5:プリペンドを撤去(設定はSTEP 1と同一に戻る)

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrun—tracecommit
R2showlogrun—tracecommit
R3showlogrunpingtrace—
R4showlogrunpingtrace—
R5showlogrunpingtrace—

STEP 6:R5でsoft-reconfiguration inboundを実行

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrun—trace—
R2showlogrun—trace—
R3showlogrunpingtrace—
R4showlogrunpingtrace—
R5showlogrunpingtraceexec

STEP 7:R5 - R4のセッションを落とす

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrun—trace—
R2showlogrun—trace—
R3showlogrunpingtrace—
R4showlogrunpingtrace—
R5showlogrunpingtracecommit

STEP 8:R5 - R4のセッションを張り直す(最終状態)

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrun—trace—
R2showlogrun—trace—
R3showlogrunpingtrace—
R4showlogrunpingtrace—
R5showlogrunpingtracecommit

パケットキャプチャーはSTEPごとに4区間で取得しています。

STEPR1 - R3間R2 - R3間R3 - R5間R4 - R5間
0pcappcappcappcap
1pcappcappcappcap
2pcappcappcappcap
3pcappcappcappcap
4pcappcappcappcap
5pcappcappcappcap
6pcappcappcappcap
7pcappcappcappcap
8pcappcappcappcap

参考

関連記事