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

MP-BGP(マルチプロトコル拡張)

目次

MP-BGPとは

BGPはもともとIPv4ユニキャストの経路だけを運ぶプロトコルでした。 MP-BGP(Multiprotocol Extensions for BGP-4、RFC 4760)は、 これをIPv6・VPN・L2VPNなどIPv4以外の経路情報にも使えるようにした拡張です。

仕組みは、UPDATEメッセージに次の2つのパス属性を足しただけです。

属性Type code役割
MP_REACH_NLRI14「このアドレスファミリーの、この宛先へは、このネクストホップで行ける」
MP_UNREACH_NLRI15「このアドレスファミリーの、この宛先は取り消す」

どちらもOptional non-transitiveで、対応していないルータは無視し、他へ渡しません。 メッセージの形式・状態遷移・ベストパス選択は変わらないので、1つのTCPセッション(ポート179)で複数のアドレスファミリーを同時に運べます。

アドレスファミリー(AFI / SAFI)

運ぶ経路の種類は、AFI(Address Family Identifier、2バイト)とSAFI(Subsequent AFI、1バイト)の組で表します。 AFIがネットワーク層プロトコル、SAFIがその使い方です。

AFI / SAFI経路の種類使う場面
1 / 1IPv4 unicast通常のIPv4
2 / 1IPv6 unicast通常のIPv6
1 / 2、2 / 2IPv4 / IPv6 multicastマルチキャストのRPF用経路
1 / 4、2 / 4IPv4 / IPv6 labeled unicastラベル付きユニキャスト(RFC 8277)
1 / 128、2 / 128VPNv4 / VPNv6MPLS L3VPN(RFC 4364)
25 / 65、25 / 70VPLS、EVPNL2VPN
16388 / 71BGP-LSIGPのリンクステート情報

AFIの値はIANAのAddress Family Numbers、SAFIはRFC 4760が1(unicast)と2(multicast)を定義し、残りはIANAが管理しています。 アドレスファミリーごとにBGPテーブルとポリシーは別です。 IOS XRではaddress-familyブロックごとにnetwork文やroute-policyを書きます。

MP_REACH_NLRIとMP_UNREACH_NLRI

MP_REACH_NLRI属性の値のフォーマット

MP_REACH_NLRIは、ネクストホップと宛先プレフィックスをAFI / SAFIと一緒に1つの属性に入れたものです。 RFC 4271の基本形では、ネクストホップはNEXT_HOP属性(NEXT_HOP)、プレフィックスはUPDATE本体のNLRIフィールドでした。 Next Hopの長さは1バイトのフィールドで示すので、アドレスの種類を選びません(IPv4は4、IPv6は16または32)。

MP_UNREACH_NLRI属性の値のフォーマット

MP_UNREACH_NLRIはAFI / SAFIと取り消すプレフィックスだけです。NLRIの符号化はどちらも<長さ(ビット), プレフィックス>の並びで、RFC 4271と同じです。

規則RFC 4760
MP_REACH_NLRIを運ぶUPDATEは、ORIGINとAS_PATHを必ず伴う。iBGPではLOCAL_PREFも3(MUST)
MP_REACH_NLRI以外にNLRIが無いUPDATEはNEXT_HOP属性を含めるべきでない。含まれていても受信側は無視する3(SHOULD NOT / SHOULD)
MP_UNREACH_NLRIだけのUPDATEは、他の属性を伴わなくてよい4
1つの属性に入れる<AFI, SAFI>は1組だけ11

IOS XRはIPv4ユニキャストの経路もMP_REACH_NLRIで運びます。 一方、IPv4の取り消しはUPDATE本体のWithdrawn Routesフィールド(RFC 4271の基本形)、IPv6の取り消しはMP_UNREACH_NLRIです。

アドレスファミリーはOPENのCapabilityで合意する

どのアドレスファミリーを交換するかは、OPENメッセージのMultiprotocol Extensions Capability(Capability code 1、RFC 5492の仕組み)で伝えます。

Multiprotocol Extensions Capabilityの値のフォーマット
規則内容
AFI / SAFIの組ごとにCapabilityを1つ入れるIPv4とIPv6を運ぶならCapabilityが2つ並ぶ
両者が広告したAFI / SAFIだけを交換する(RFC 4760 8)片側だけが広告したアドレスファミリーは流れない。相手の知らないCapabilityは無視する(RFC 5492 3、MUST)
共通のAFI / SAFIが無いときRFC 5492 5は、NOTIFICATION(OPEN Message Error / Unsupported Capability)を送って切ってよい(MAY)とし、送るならDataフィールドに原因のCapabilityを入れなければならない(MUST)、切ったピアリングは自動で張り直すべきでない(SHOULD NOT)としている

IOS XR(XRd 26.1.1)の実際の動きは次のとおりで、RFC 5492 5と2点が違います。

場面IOS XRの動き
ネイバーにアドレスファミリーを足すCapabilityを交換し直すため、既存のアドレスファミリーを含むセッション全体を切断して張り直す。張り直すまでの間、そのネイバーから受けた経路はすべて消える。切断のときNOTIFICATIONは送らない(syslogはAddress family activated)
ネイバーからアドレスファミリーを外す同じくセッション全体を切断して張り直す。切断のときNOTIFICATION(Cease / Other Configuration Change)を送る
張り直したとき共通のアドレスファミリーがある片側だけのアドレスファミリーは合意せず、共通のものだけで確立する
共通のアドレスファミリーが1つも無いOPENを受けた側がUnsupported Capabilityを送る。Dataフィールドは空で、数十秒ごとに張り直しを続ける

稼働中のネイバーにアドレスファミリーを足す・外すと、IPv4など既存のアドレスファミリーの通信も、張り直すまで(この検証では20〜50秒ほど)止まります。

IPv6経路のネクストホップ(RFC 2545)

IPv6ユニキャスト(AFI 2 / SAFI 1)の運び方はRFC 2545が定めています。 IPv6にはリンクローカルアドレスがあるため、MP_REACH_NLRIのNext Hopは2通りです。

Next Hop長中身使う条件(RFC 2545 3)
32グローバル + リンクローカル(fe80::/10)広告する側・ネクストホップ・広告先ピアが同じサブネットにいるときだけ付ける(shall)
16グローバルだけそれ以外。iBGPのピアへ広告するときはリンクローカルを外してよい(may)

IOS XRは、同じサブネットのeBGPでは32バイト、iBGPではリンクで張っても16バイトにします。 長さを分けているのはeBGPかiBGPかで、セッションをリンクで張るかLo0で張るかではありません。

TCPセッションをIPv4で張るかIPv6で張るかはBGPと無関係で、IPv4のセッションでIPv6経路を運ぶこともできます。 ただしRFC 2545 4は、その場合ネクストホップの決め方に「別途明示的な設定が要る」としています。 IOS XRは、セッションに使うインタフェース(update-sourceがあればそのインタフェース)のグローバルIPv6アドレスをネクストホップにします。 そのインタフェースにグローバルIPv6アドレスが無いと、IPv4を含めてセッションを確立しません(Idle (No global IPv6 address configured))。

実運用では、IPv6ユニキャストはIPv6のセッションで運ぶのが一般的です。ネクストホップが自然に決まり、IPv6の到達性をセッション自体で確かめられます。 逆向き(IPv6セッションでIPv4経路を運ぶ)には、Extended Next Hop Encoding Capability(code 5、RFC 8950)があり、XRdは既定でこれを広告します。

IOS XRでの設定

項目内容
グローバルのaddress-familyそのアドレスファミリーを有効にし、network文を書く
ネイバーのaddress-familyそのネイバーと交換するアドレスファミリー。書いた分だけCapabilityに入る
show bgp ipv6 unicast …IPv6のBGPテーブル・ネイバー・summaryはipv6 unicastを付けて見る(show bgpはIPv4)
show bgp neighborsNeighbor capabilitiesにアドレスファミリーごとのadvertised / receivedが出る。合意できなかったネイバーはshow bgp ipv6 unicast summaryで(NoNeg)になる

実際の設定は、各STEPのshow configuration commit changesで示します。

実機での検証

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

MP-BGPの検証トポロジ
  • AS 65001のR1とAS 65002のR2がeBGP、R2とR3がiBGP(R2はnext-hop-self)。AS 65002内はOSPF / OSPFv3
  • 各ルータはLo1の192.168.N.0/24と2001:db8:N::/64をnetwork文で広告する
  • STEP 0はIPv4セッション(R1 - R2はリンク、R2 - R3はLo0)だけ。R1のGi0/0/0/0には最初IPv6アドレスが無い。図は最終状態
  • 出方向ポリシーはネイバーごとに別名(中身はpass)、全ネイバーにsoft-reconfiguration inbound always
  • 疎通は毎STEP、R1のLo1とR3のLo1の間でIPv4 / IPv6のping(50発)とtracerouteで確かめる

検証の全体像

STEP操作確かめること
0初期状態(IPv4のみ)CapabilityはIPv4の1つ。IPv4経路もMP_REACH_NLRIで届く
1IPv4セッションにIPv6ユニキャストを追加R1はグローバルIPv6アドレスが無くIPv4ごと確立しない。Lo0で張ったiBGPのネクストホップはLo0
2R1のリンクにIPv6アドレスを付けるIPv4とIPv6の両方で確立し、ネクストホップは32バイト
3IPv6セッションを別に張る(R2 - R3はリンクのアドレス)eBGPは32バイト、リンクで張ったiBGPは16バイト
4R2 - R3のIPv6セッションをLo0で張り直すLo0でもiBGPは16バイト
5R2だけIPv4セッションにIPv6ユニキャストを追加共通のIPv4だけで確立し、IPv6は(NoNeg)
6R2だけIPv4セッションからIPv4ユニキャストを外す共通が無くUnsupported Capability。Dataは空で、張り直しを続ける
7R2のIPv4セッションを元に戻す再び確立する
8R1のnetwork文を外すIPv6はMP_UNREACH_NLRI、IPv4はWithdrawn Routesで取り消す
9R1のnetwork文を戻す(最終状態)設定がSTEP 4と一致し、疎通が戻る

R1のLo1からR3のLo1へのpingの成功率です。

STEP0123456789
IPv4100%0%100%100%100%100%0%100%0%100%
IPv60%0%100%100%100%100%100%100%0%100%

STEP 0:初期状態(IPv4のみ)

CapabilityはIPv4ユニキャストの1つだけで、IPv4の経路もMP_REACH_NLRIで届きます。 IPv6の経路はまだ無く、IPv6のpingは届きません。

R2 show bgp neighbors(STEP 0)
RP/0/RP0/CPU0:R2#show bgp neighbors
Sun Sep 13 09:38:16.965 UTC
<snip>
BGP neighbor is 10.1.2.1
 Remote AS 65001, local AS 65002, external link
 Description: eBGP to R1 (IPv4 session)
 Remote router ID 10.0.0.1
  BGP state = Established, up for 00:02:26
<snip>
  Neighbor capabilities:
    Route refresh: advertised (old + new) and received (old + new)
    4-byte AS: advertised and received
    Address family IPv4 Unicast: advertised and received

R1のOPEN(R1-R2間キャプチャーのNo.30)のMultiprotocol Extensions CapabilityはAFI: IPv4 / SAFI: Unicastの1つです。

No.30 OPEN(R1 → R2)tshark -V
Border Gateway Protocol - OPEN Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 75
    Type: OPEN Message (1)
<snip>
        Optional Parameter: Capability
            Parameter Type: Capability (2)
            Parameter Length: 6
            Capability: Multiprotocol extensions capability
                Type: Multiprotocol extensions capability (1)
                Length: 4
                AFI: IPv4 (1)
                Reserved: 00
                SAFI: Unicast (1)
上のtshark出力のパケット(No.30 OPEN)のpcapをダウンロード

続くUPDATE(No.34)では、IPv4の経路がMP_REACH_NLRI(AFI 1 / SAFI 1)に入っています。

No.34 UPDATE(R1 → R2)tshark -V
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 60
    Type: UPDATE Message (2)
<snip>
        Path Attribute - MP_REACH_NLRI
            Flags: 0x90, Optional, Extended-Length, Non-transitive, Complete
            Type Code: MP_REACH_NLRI (14)
            Length: 13
            Address family identifier (AFI): IPv4 (1)
            Subsequent address family identifier (SAFI): Unicast (1)
            Next hop: 10.1.2.1
                IPv4 Address: 10.1.2.1
            Number of Subnetwork points of attachment (SNPA): 0
            Network Layer Reachability Information (NLRI)
                192.168.1.0/24
                    MP Reach NLRI prefix length: 24
                    MP Reach NLRI IPv4 prefix: 192.168.1.0
上のtshark出力のパケット(No.34 UPDATE)のpcapをダウンロード
R1 ping(STEP 0、IPv6)
RP/0/RP0/CPU0:R1#ping 2001:db8:3::1 source 2001:db8:1::1 count 50 timeout 1
Sun Sep 13 09:37:41.984 UTC
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 2001:db8:3::1, timeout is 1 seconds:
..UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
Success rate is 0 percent (0/50)

STEP 1:IPv4セッションにIPv6ユニキャストを追加

R1 - R2はIdle (No global IPv6 address configured)になり、IPv4ごと確立しません。Lo0で張ったR2 - R3は確立し、R3の経路のネクストホップはLo0の2001:db8::3です。

3台で既存のIPv4ネイバーにaddress-family ipv6 unicastを足しました(R2・R3も同様)。

R1 show configuration commit changes last 1(STEP 1)
RP/0/RP0/CPU0:R1#show configuration commit changes last 1
Sun Sep 13 09:40:34.412 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router bgp 65001
 neighbor 10.1.2.2
  address-family ipv6 unicast
   route-policy FROM-R2-V6 in
   route-policy TO-R2-V6 out
   soft-reconfiguration inbound always
  !
 !
!
end

R1はセッションを切り、ネクストホップに使うグローバルIPv6アドレスがGi0/0/0/0に無いためIdleのままです。

R1 syslog(STEP 1)
RP/0/RP0/CPU0:R1#show logging start Sep 13 09:37:50
Sun Sep 13 09:43:07.919 UTC
<snip>
RP/0/RP0/CPU0:Sep 13 09:40:35.505 UTC: bgp[1084]: %ROUTING-BGP-5-ADJCHANGE : neighbor 10.1.2.2 Down - Address family activated (VRF: default) (AS: 65002) 
R1 show bgp neighbors(STEP 1)
RP/0/RP0/CPU0:R1#show bgp neighbors
Sun Sep 13 09:42:57.079 UTC
<snip>
BGP neighbor is 10.1.2.2
 Remote AS 65002, local AS 65001, external link
 Description: eBGP to R2 (IPv4 session)
 Remote router ID 0.0.0.0
  BGP state = Idle (No global IPv6 address configured)
<snip>
  Last reset 00:02:21, due to Address family activated

R2は接続を試み続けますが、R1はOPENを受けるとOPENもNOTIFICATIONも返さず、TCPのRSTで切ります。

R1-R2間 パケットキャプチャー(STEP 1、tshark一覧)
   57 549.179586     10.1.2.2 → 10.1.2.1     TCP 62 56142 → 179 [SYN] Seq=0 Win=32768 Len=0 MSS=1460 WS=1
   60 549.186616     10.1.2.2 → 10.1.2.1     BGP 137 OPEN Message
   61 549.220950     10.1.2.1 → 10.1.2.2     TCP 54 179 → 56142 [RST, ACK] Seq=1 Ack=1 Win=16384 Len=0
   62 589.507687     10.1.2.2 → 10.1.2.1     TCP 62 21219 → 179 [SYN] Seq=0 Win=32768 Len=0 MSS=1240 WS=1
   65 589.515877     10.1.2.2 → 10.1.2.1     BGP 137 OPEN Message
   66 589.550086     10.1.2.1 → 10.1.2.2     TCP 54 179 → 21219 [RST, ACK] Seq=1 Ack=1 Win=16384 Len=0

IPv4の経路もR1 - R2で運べなくなるので、IPv4のpingも届きません。

R1 ping(STEP 1、IPv4)
RP/0/RP0/CPU0:R1#ping 192.168.3.1 source 192.168.1.1 count 50 timeout 1
Sun Sep 13 09:43:21.734 UTC
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 192.168.3.1 timeout is 1 seconds:
..................................................
Success rate is 0 percent (0/50)

R2 - R3(Lo0同士のIPv4セッション)では、R3が送ったIPv6経路(R2-R3間キャプチャーのNo.60)のNext HopがR3のLo0の2001:db8::3(16バイト)です。 リンクのアドレス2001:db8:23::3ではなく、update-sourceのインタフェースのアドレスが使われています。

No.60 UPDATE(R3 → R2、IPv4セッション)tshark -V
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 78
    Type: UPDATE Message (2)
<snip>
        Path Attribute - MP_REACH_NLRI
            Flags: 0x90, Optional, Extended-Length, Non-transitive, Complete
            Type Code: MP_REACH_NLRI (14)
            Length: 30
            Address family identifier (AFI): IPv6 (2)
            Subsequent address family identifier (SAFI): Unicast (1)
            Next hop: 2001:db8::3
                IPv6 Address: 2001:db8::3
            Number of Subnetwork points of attachment (SNPA): 0
            Network Layer Reachability Information (NLRI)
                2001:db8:3::/64
                    MP Reach NLRI prefix length: 64
                    MP Reach NLRI IPv6 prefix: 2001:db8:3::
上のtshark出力のパケット(No.60 UPDATE)のpcapをダウンロード
R2 show bgp ipv6 unicast(STEP 1)
RP/0/RP0/CPU0:R2#show bgp ipv6 unicast
Sun Sep 13 09:44:48.309 UTC
BGP router identifier 10.0.0.2, local AS number 65002
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0800000   RD version: 6
BGP main routing table version 6
BGP NSR Initial initsync version 4 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop            Metric LocPrf Weight Path
*> 2001:db8:2::/64    ::                       0         32768 i
*>i2001:db8:3::/64    2001:db8::3              0    100      0 i

Processed 2 prefixes, 2 paths

STEP 2:R1のリンクにIPv6アドレスを付ける

R1 - R2がIPv4とIPv6の両方で確立し、R1のIPv6経路のNext Hopはグローバル + リンクローカルの32バイトです。 IPv4 / IPv6ともpingが通ります。

R1 show configuration commit changes last 1(STEP 2)
RP/0/RP0/CPU0:R1#show configuration commit changes last 1
Sun Sep 13 09:47:35.607 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
interface GigabitEthernet0/0/0/0
 ipv6 address 2001:db8:12::1/64
!
end
R2 show bgp neighbors(STEP 2)
RP/0/RP0/CPU0:R2#show bgp neighbors
Sun Sep 13 09:50:42.773 UTC
<snip>
BGP neighbor is 10.1.2.1
 Remote AS 65001, local AS 65002, external link
 Description: eBGP to R1 (IPv4 session)
 Remote router ID 10.0.0.1
  BGP state = Established, up for 00:03:01
<snip>
  Neighbor capabilities:
    Route refresh: advertised (old + new) and received (old + new)
    4-byte AS: advertised and received
    Address family IPv4 Unicast: advertised and received
    Address family IPv6 Unicast: advertised and received

R1がIPv4セッションで送ったIPv6経路(R1-R2間キャプチャーのNo.112)です。R1とR2は同じサブネットのeBGPなので、RFC 2545 3のとおりリンクローカルが付きます。

No.112 UPDATE(R1 → R2、IPv4セッション)tshark -V
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 93
    Type: UPDATE Message (2)
<snip>
        Path Attribute - MP_REACH_NLRI
            Flags: 0x90, Optional, Extended-Length, Non-transitive, Complete
            Type Code: MP_REACH_NLRI (14)
            Length: 46
            Address family identifier (AFI): IPv6 (2)
            Subsequent address family identifier (SAFI): Unicast (1)
            Next hop: IPv6=2001:db8:12::1 Link-local=fe80::5054:ff:febf:f3a6
                IPv6 Address: 2001:db8:12::1
                Link-local Address: fe80::5054:ff:febf:f3a6
            Number of Subnetwork points of attachment (SNPA): 0
            Network Layer Reachability Information (NLRI)
                2001:db8:1::/64
                    MP Reach NLRI prefix length: 64
                    MP Reach NLRI IPv6 prefix: 2001:db8:1::
上のtshark出力のパケット(No.112 UPDATE)のpcapをダウンロード
R2 show bgp ipv6 unicast(STEP 2)
RP/0/RP0/CPU0:R2#show bgp ipv6 unicast
Sun Sep 13 09:50:43.987 UTC
BGP router identifier 10.0.0.2, local AS number 65002
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0800000   RD version: 7
BGP main routing table version 7
BGP NSR Initial initsync version 4 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop            Metric LocPrf Weight Path
*> 2001:db8:1::/64    2001:db8:12::1           0             0 65001 i
*> 2001:db8:2::/64    ::                       0         32768 i
*>i2001:db8:3::/64    2001:db8::3              0    100      0 i

Processed 3 prefixes, 3 paths

STEP 3:IPv6セッションを別に張る(R2 - R3はリンクのアドレス)

eBGP(R1 - R2)のNext Hopは32バイト、リンクのアドレスで張ったiBGP(R2 - R3)は16バイトです。 同じサブネットでも、iBGPにはリンクローカルが付きません。

IPv4セッションからIPv6ユニキャストを外し、IPv6のネイバーを別に作りました(R1・R3も対応する設定を入れています)。

R2 show configuration commit changes last 1(STEP 3)
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Sun Sep 13 09:52:45.302 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router bgp 65002
 neighbor 10.0.0.3
  no address-family ipv6 unicast
 !
 neighbor 10.1.2.1
  no address-family ipv6 unicast
 !
 neighbor 2001:db8:12::1
  remote-as 65001
  description eBGP to R1 (IPv6 session)
  address-family ipv6 unicast
   route-policy FROM-R1-V6S in
   route-policy TO-R1-V6S out
   soft-reconfiguration inbound always
  !
 !
 neighbor 2001:db8:23::3
  remote-as 65002
  description iBGP to R3 (IPv6 session, link)
  address-family ipv6 unicast
   next-hop-self
   route-policy FROM-R3-V6L in
   route-policy TO-R3-V6L out
   soft-reconfiguration inbound always
  !
 !
!
end
No.156 UPDATE(R1 → R2、IPv6セッション)tshark -V
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 93
    Type: UPDATE Message (2)
<snip>
        Path Attribute - MP_REACH_NLRI
            Flags: 0x90, Optional, Extended-Length, Non-transitive, Complete
            Type Code: MP_REACH_NLRI (14)
            Length: 46
            Address family identifier (AFI): IPv6 (2)
            Subsequent address family identifier (SAFI): Unicast (1)
            Next hop: IPv6=2001:db8:12::1 Link-local=fe80::5054:ff:febf:f3a6
                IPv6 Address: 2001:db8:12::1
                Link-local Address: fe80::5054:ff:febf:f3a6
上のtshark出力のパケット(No.156 UPDATE)のpcapをダウンロード

R3がリンクのアドレスのiBGPで送った経路(R2-R3間キャプチャーのNo.135)は、Next Hopが2001:db8:23::3だけです。

No.135 UPDATE(R3 → R2、IPv6セッション)tshark -V
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 78
    Type: UPDATE Message (2)
<snip>
        Path Attribute - MP_REACH_NLRI
            Flags: 0x90, Optional, Extended-Length, Non-transitive, Complete
            Type Code: MP_REACH_NLRI (14)
            Length: 30
            Address family identifier (AFI): IPv6 (2)
            Subsequent address family identifier (SAFI): Unicast (1)
            Next hop: 2001:db8:23::3
                IPv6 Address: 2001:db8:23::3
            Number of Subnetwork points of attachment (SNPA): 0
            Network Layer Reachability Information (NLRI)
                2001:db8:3::/64
                    MP Reach NLRI prefix length: 64
                    MP Reach NLRI IPv6 prefix: 2001:db8:3::
上のtshark出力のパケット(No.135 UPDATE)のpcapをダウンロード
R3 show bgp ipv6 unicast(STEP 3)
RP/0/RP0/CPU0:R3#show bgp ipv6 unicast
Sun Sep 13 09:56:51.515 UTC
BGP router identifier 10.0.0.3, local AS number 65002
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0800000   RD version: 11
BGP main routing table version 11
BGP NSR Initial initsync version 4 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop            Metric LocPrf Weight Path
*>i2001:db8:1::/64    2001:db8:23::2           0    100      0 65001 i
*>i2001:db8:2::/64    2001:db8:23::2           0    100      0 i
*> 2001:db8:3::/64    ::                       0         32768 i

Processed 3 prefixes, 3 paths

STEP 4:R2 - R3のIPv6セッションをLo0で張り直す

Lo0で張ったiBGPもNext Hopは16バイトです。 STEP 3と合わせると、長さを決めているのはeBGPかiBGPかです。

R2 show configuration commit changes last 1(STEP 4)
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Sun Sep 13 09:57:46.984 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router bgp 65002
 neighbor 2001:db8::3
  remote-as 65002
  description iBGP to R3 (IPv6 session, Loopback0)
  update-source Loopback0
  address-family ipv6 unicast
   next-hop-self
   route-policy FROM-R3-V6S in
   route-policy TO-R3-V6S out
   soft-reconfiguration inbound always
  !
 !
 no neighbor 2001:db8:23::3
!
end
No.192 UPDATE(R3 → R2、IPv6セッション)tshark -V
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 78
    Type: UPDATE Message (2)
<snip>
        Path Attribute - MP_REACH_NLRI
            Flags: 0x90, Optional, Extended-Length, Non-transitive, Complete
            Type Code: MP_REACH_NLRI (14)
            Length: 30
            Address family identifier (AFI): IPv6 (2)
            Subsequent address family identifier (SAFI): Unicast (1)
            Next hop: 2001:db8::3
                IPv6 Address: 2001:db8::3
            Number of Subnetwork points of attachment (SNPA): 0
            Network Layer Reachability Information (NLRI)
                2001:db8:3::/64
                    MP Reach NLRI prefix length: 64
                    MP Reach NLRI IPv6 prefix: 2001:db8:3::
上のtshark出力のパケット(No.192 UPDATE)のpcapをダウンロード
R3 show bgp ipv6 unicast(STEP 4)
RP/0/RP0/CPU0:R3#show bgp ipv6 unicast
Sun Sep 13 10:01:53.636 UTC
BGP router identifier 10.0.0.3, local AS number 65002
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0800000   RD version: 15
BGP main routing table version 15
BGP NSR Initial initsync version 4 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop            Metric LocPrf Weight Path
*>i2001:db8:1::/64    2001:db8::2              0    100      0 65001 i
*>i2001:db8:2::/64    2001:db8::2              0    100      0 i
*> 2001:db8:3::/64    ::                       0         32768 i

Processed 3 prefixes, 3 paths

STEP 5:R2だけIPv4セッションにIPv6ユニキャストを追加

R2はIPv4を含むセッション全体を切断し、約40秒後に張り直します。その間、R1とR2は相手から受けたIPv4の経路を消します。 切断のときNOTIFICATIONは送りません。張り直した後は共通のIPv4だけで確立し、IPv6はadvertisedのみで(NoNeg)です。IPv6の経路はIPv6セッションで流れ続けます。

R2 show configuration commit changes last 1(STEP 5)
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Sun Sep 13 10:02:54.361 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router bgp 65002
 neighbor 10.1.2.1
  address-family ipv6 unicast
   route-policy FROM-R1-V6 in
   route-policy TO-R1-V6 out
   soft-reconfiguration inbound always
  !
 !
!
end
R2 syslog(STEP 5)
RP/0/RP0/CPU0:R2#show logging start Sep 13 10:01:27
Sun Sep 13 10:06:06.994 UTC
<snip>
RP/0/RP0/CPU0:Sep 13 10:02:55.569 UTC: bgp[1084]: %ROUTING-BGP-5-ADJCHANGE : neighbor 10.1.2.1 Down - Address family activated (VRF: default) (AS: 65001) 
<snip>
RP/0/RP0/CPU0:Sep 13 10:03:37.714 UTC: bgp[1084]: %ROUTING-BGP-5-ADJCHANGE : neighbor 10.1.2.1 Up (VRF: default) (AS: 65001) 

切断から張り直しまでの間に、両者は相手から受けたIPv4の経路を消しています(purged)。

R2 show bgp trace neighbor(STEP 5)
RP/0/RP0/CPU0:R2#show bgp trace neighbor | utility tail -n 300
Sun Sep 13 10:06:15.463 UTC
<snip>
Sep 13 10:02:55.569 default-bgp/spkr-tr2-nbr 0/RP0/CPU0 t4742  [NBR]:3969: nbr reset: vrf 0x60000000 10.1.2.1, loc 6, reason: Address family activated
<snip>
Sep 13 10:02:57.571 default-bgp/spkr-tr2-nbr 0/RP0/CPU0 t4809  [NBR]:3656: prefixes from nbr 10.1.2.1, purged 1, marked gr stale 0, afi: IPv4 Unicast
<snip>
Sep 13 10:03:35.699 default-bgp/spkr-tr2-nbr 0/RP0/CPU0 t4732  [NBR]:11331: send open nbr: 10.1.2.1, loc 1
R1 show bgp trace neighbor(STEP 5)
RP/0/RP0/CPU0:R1#show bgp trace neighbor | utility tail -n 300
Sun Sep 13 10:05:15.820 UTC
<snip>
Sep 13 10:02:55.575 default-bgp/spkr-tr2-nbr 0/RP0/CPU0 t4653  [NBR]:3969: nbr reset: vrf 0x60000000 10.1.2.2, loc 6, reason: Peer closing down the session
<snip>
Sep 13 10:02:57.577 default-bgp/spkr-tr2-nbr 0/RP0/CPU0 t4739  [NBR]:3656: prefixes from nbr 10.1.2.2, purged 2, marked gr stale 0, afi: IPv4 Unicast
<snip>
Sep 13 10:03:37.704 default-bgp/spkr-tr2-nbr 0/RP0/CPU0 t4732  [NBR]:2632: send open nbr: 10.1.2.2, loc 3

張り直した後のOPENは、R2(No.234)がIPv4とIPv6の2つ、R1(No.237)がIPv4の1つです。

No.234 OPEN(R2 → R1)tshark -V
Border Gateway Protocol - OPEN Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 83
    Type: OPEN Message (1)
<snip>
        Optional Parameter: Capability
            Parameter Type: Capability (2)
            Parameter Length: 6
            Capability: Multiprotocol extensions capability
                Type: Multiprotocol extensions capability (1)
                Length: 4
                AFI: IPv4 (1)
                Reserved: 00
                SAFI: Unicast (1)
<snip>
        Optional Parameter: Capability
            Parameter Type: Capability (2)
            Parameter Length: 6
            Capability: Multiprotocol extensions capability
                Type: Multiprotocol extensions capability (1)
                Length: 4
                AFI: IPv6 (2)
                Reserved: 00
                SAFI: Unicast (1)
上のtshark出力のパケット(No.234 OPEN)のpcapをダウンロード
No.237 OPEN(R1 → R2)tshark -V
Border Gateway Protocol - OPEN Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 75
    Type: OPEN Message (1)
<snip>
        Optional Parameter: Capability
            Parameter Type: Capability (2)
            Parameter Length: 6
            Capability: Multiprotocol extensions capability
                Type: Multiprotocol extensions capability (1)
                Length: 4
                AFI: IPv4 (1)
                Reserved: 00
                SAFI: Unicast (1)
上のtshark出力のパケット(No.237 OPEN)のpcapをダウンロード
R2 show bgp neighbors(STEP 5)
RP/0/RP0/CPU0:R2#show bgp neighbors
Sun Sep 13 10:05:54.117 UTC
<snip>
BGP neighbor is 10.1.2.1
 Remote AS 65001, local AS 65002, external link
 Description: eBGP to R1 (IPv4 session)
 Remote router ID 10.0.0.1
  BGP state = Established, up for 00:02:16
<snip>
  Neighbor capabilities:
    Route refresh: advertised (old + new) and received (old + new)
    4-byte AS: advertised and received
    Address family IPv4 Unicast: advertised and received
    Address family IPv6 Unicast: advertised
R2 show bgp ipv6 unicast summary(STEP 5)
RP/0/RP0/CPU0:R2#show bgp ipv6 unicast summary
Sun Sep 13 10:05:55.218 UTC
<snip>
Neighbor        Spk    AS MsgRcvd MsgSent       TblVer  InQ OutQ  Up/Down  St/PfxRcd
10.1.2.1          0 65001      49      62            0    0    0 00:02:17    (NoNeg)
2001:db8::3       0 65002      11      12           13    0    0 00:07:41          1
2001:db8:12::1    0 65001      16      19           13    0    0 00:12:26          1

STEP 6:R2だけIPv4セッションからIPv4ユニキャストを外す

R2はIPv6だけ、R1はIPv4だけを広告する形になり、OPENを受けた側がUnsupported Capabilityを返します。Dataフィールドは空で、両者は張り直しを続けます。 IPv4のpingは届かず、IPv6はIPv6セッションで届きます。

R2 show configuration commit changes last 1(STEP 6)
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Sun Sep 13 10:07:42.655 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router bgp 65002
 neighbor 10.1.2.1
  no address-family ipv4 unicast
 !
!
end

R2はまずCease(Other Configuration Change)でセッションを切ります。

R2 syslog(STEP 6)
RP/0/RP0/CPU0:R2#show logging start Sep 13 10:06:21
Sun Sep 13 10:11:41.367 UTC
<snip>
RP/0/RP0/CPU0:Sep 13 10:07:43.890 UTC: bgp[1084]: %ROUTING-BGP-5-ADJCHANGE : neighbor 10.1.2.1 Down - Address family removed (CEASE notification sent - configuration change) (VRF: default) (AS: 65001) 
No.275 NOTIFICATION(R2 → R1)tshark -V
Border Gateway Protocol - NOTIFICATION Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 21
    Type: NOTIFICATION Message (3)
    Major error Code: Cease (6)
    Minor error Code (Cease): Other Configuration Change (6)
上のtshark出力のパケット(No.275 NOTIFICATION)のpcapをダウンロード

その後はR1から張ってもR2から張っても、OPENを受けた側がNOTIFICATIONを返して切れます。

R1-R2間 パケットキャプチャー(STEP 6、tshark一覧)
  275 2128.224240     10.1.2.2 → 10.1.2.1     BGP 75 NOTIFICATION Message
  283 2164.646868     10.1.2.1 → 10.1.2.2     TCP 62 52370 → 179 [SYN] Seq=0 Win=32768 Len=0 MSS=1240 WS=1
  286 2164.654024     10.1.2.1 → 10.1.2.2     BGP 129 OPEN Message
  289 2166.659440     10.1.2.2 → 10.1.2.1     BGP 75 NOTIFICATION Message
  297 2207.340018     10.1.2.1 → 10.1.2.2     TCP 62 25772 → 179 [SYN] Seq=0 Win=32768 Len=0 MSS=1240 WS=1
  300 2207.350087     10.1.2.1 → 10.1.2.2     BGP 129 OPEN Message
  303 2209.355341     10.1.2.2 → 10.1.2.1     BGP 75 NOTIFICATION Message
  312 2239.147132     10.1.2.2 → 10.1.2.1     TCP 62 26263 → 179 [SYN] Seq=0 Win=32768 Len=0 MSS=1240 WS=1
  315 2239.154154     10.1.2.2 → 10.1.2.1     BGP 129 OPEN Message
  319 2241.160555     10.1.2.1 → 10.1.2.2     BGP 75 NOTIFICATION Message

長さは21バイトで、エラーコードの後ろに何もありません。RFC 5492 5がMUSTとするDataフィールドのCapabilityは入っていません。

No.289 NOTIFICATION(R2 → R1)tshark -V
Border Gateway Protocol - NOTIFICATION Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 21
    Type: NOTIFICATION Message (3)
    Major error Code: OPEN Message Error (2)
    Minor error Code (Open Message): Unsupported Capability (7)
上のtshark出力のパケット(No.289 NOTIFICATION)のpcapをダウンロード
R2 show bgp neighbors(STEP 6)
RP/0/RP0/CPU0:R2#show bgp neighbors
Sun Sep 13 10:11:30.753 UTC
<snip>
BGP neighbor is 10.1.2.1
 Remote AS 65001, local AS 65002, external link
 Description: eBGP to R1 (IPv4 session)
 Remote router ID 0.0.0.0
  BGP state = Connect
<snip>
  Last reset 00:00:43, due to BGP Notification sent: unsupported/disjoint capability
  Time since last notification sent to neighbor: 00:00:43
  Error Code: unsupported/disjoint capability
  Notification data sent:
    None
  Time since last notification received from neighbor: 00:01:54
  Error Code: unsupported/disjoint capability
  Notification data received:
    None
R1 ping(STEP 6、IPv4)
RP/0/RP0/CPU0:R1#ping 192.168.3.1 source 192.168.1.1 count 50 timeout 1
Sun Sep 13 10:10:08.859 UTC
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 192.168.3.1 timeout is 1 seconds:
..................................................
Success rate is 0 percent (0/50)
R1 ping(STEP 6、IPv6)
RP/0/RP0/CPU0:R1#ping 2001:db8:3::1 source 2001:db8:1::1 count 50 timeout 1
Sun Sep 13 10:10:59.928 UTC
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 2001:db8:3::1, timeout is 1 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (50/50), round-trip min/avg/max = 6/9/51 ms

STEP 7:R2のIPv4セッションを元に戻す

共通のIPv4ユニキャストが戻ると、次の張り直しで確立します。 セッションの構成はSTEP 4と同じになります。

R2 show configuration commit changes last 1(STEP 7)
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Sun Sep 13 10:14:32.181 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router bgp 65002
 neighbor 10.1.2.1
  address-family ipv4 unicast
   route-policy FROM-R1-V4 in
   route-policy TO-R1-V4 out
   soft-reconfiguration inbound always
  !
  no address-family ipv6 unicast
 !
!
end
R2 syslog(STEP 7)
RP/0/RP0/CPU0:R2#show logging start Sep 13 10:11:52
Sun Sep 13 10:17:40.016 UTC
<snip>
RP/0/RP0/CPU0:Sep 13 10:14:40.435 UTC: bgp[1084]: %ROUTING-BGP-5-ADJCHANGE : neighbor 10.1.2.1 Up (VRF: default) (AS: 65001) 

STEP 8:R1のnetwork文を外す

IPv6の取り消しはMP_UNREACH_NLRIだけのUPDATE、IPv4の取り消しはUPDATE本体のWithdrawn Routesフィールドです。 R3から両方の経路が消え、pingは届きません。

R1 show configuration commit changes last 1(STEP 8)
RP/0/RP0/CPU0:R1#show configuration commit changes last 1
Sun Sep 13 10:50:26.942 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router bgp 65001
 address-family ipv4 unicast
  no network 192.168.1.0/24
 !
 address-family ipv6 unicast
  no network 2001:db8:1::/64
 !
!
end
No.747 UPDATE(R1 → R2、IPv6セッション)tshark -V
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 39
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 16
    Path attributes
        Path Attribute - MP_UNREACH_NLRI
            Flags: 0x90, Optional, Extended-Length, Non-transitive, Complete
            Type Code: MP_UNREACH_NLRI (15)
            Length: 12
            Address family identifier (AFI): IPv6 (2)
            Subsequent address family identifier (SAFI): Unicast (1)
            Withdrawn Routes
                2001:db8:1::/64
                    MP Unreach NLRI prefix length: 64
                    MP Unreach NLRI IPv6 prefix: 2001:db8:1::
上のtshark出力のパケット(No.747 UPDATE)のpcapをダウンロード
No.751 UPDATE(R1 → R2、IPv4セッション)tshark -V
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 27
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 4
    Withdrawn Routes
        192.168.1.0/24
            Withdrawn route prefix length: 24
            Withdrawn prefix: 192.168.1.0
    Total Path Attribute Length: 0
上のtshark出力のパケット(No.751 UPDATE)のpcapをダウンロード
R3 show bgp ipv6 unicast(STEP 8)
RP/0/RP0/CPU0:R3#show bgp ipv6 unicast
Sun Sep 13 10:56:03.683 UTC
BGP router identifier 10.0.0.3, local AS number 65002
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0800000   RD version: 18
BGP main routing table version 18
BGP NSR Initial initsync version 4 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop            Metric LocPrf Weight Path
*>i2001:db8:2::/64    2001:db8::2              0    100      0 i
*> 2001:db8:3::/64    ::                       0         32768 i

Processed 2 prefixes, 2 paths

STEP 9:R1のnetwork文を戻す(最終状態)

3台のrunning-configがSTEP 4と一致し、IPv4 / IPv6ともpingが戻ります。

R1 ping(STEP 9、IPv6)
RP/0/RP0/CPU0:R1#ping 2001:db8:3::1 source 2001:db8:1::1 count 50 timeout 1
Sun Sep 13 11:41:53.372 UTC
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 2001:db8:3::1, timeout is 1 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (50/50), round-trip min/avg/max = 8/10/34 ms

検証Configおよびshow結果

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

ファイル内容
..._show.txtshow version / show interface description / show route / show route ipv6 / show bgp summary / show bgp ipv6 unicast summary / show bgp / show bgp ipv6 unicast / show bgp <プレフィックス>(6本) / show bgp neighbors / show bgp ipv6 unicast neighbors / show bgp update-group / show bgp ipv6 unicast update-group / show bgp ipv6 unicast nexthops / show ospf neighbor / show ospfv3 neighbor / ピアごとのadvertised-routes / routes / received routes(IPv4・IPv6)
..._log.txtそのSTEPの範囲だけに絞ったshow logging。各STEPの開始時にlogmsgでマーカーを入れ、その時刻をshow logging startに指定して取得したもの
..._run.txtそのSTEP時点のshow running-config(=そのSTEPの検証Config)
..._ping.txtR1とR3のLo1同士のping(50発、timeout 1秒)とtraceroute(R1・R3のみ)
..._trace.txtshow bgp trace neighbor / show bgp trace error
..._commit.cfgそのSTEPで実際にcommitした設定だけ。 設定を変えたルータの分のみ

STEP 0:初期状態(IPv4のみ)

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtrace-
R2showlogrun-trace-
R3showlogrunpingtrace-

STEP 1:IPv4セッションにIPv6ユニキャストを追加

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtracecfg
R2showlogrun-tracecfg
R3showlogrunpingtracecfg

STEP 2:R1のリンクにIPv6アドレスを付ける

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtracecfg
R2showlogrun-trace-
R3showlogrunpingtrace-

STEP 3:IPv6セッションを別に張る(R2 - R3はリンクのアドレス)

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtracecfg
R2showlogrun-tracecfg
R3showlogrunpingtracecfg

STEP 4:R2 - R3のIPv6セッションをLo0で張り直す

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtrace-
R2showlogrun-tracecfg
R3showlogrunpingtracecfg

STEP 5:R2だけIPv4セッションにIPv6ユニキャストを追加

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtrace-
R2showlogrun-tracecfg
R3showlogrunpingtrace-

STEP 6:R2だけIPv4セッションからIPv4ユニキャストを外す

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtrace-
R2showlogrun-tracecfg
R3showlogrunpingtrace-

STEP 7:R2のIPv4セッションを元に戻す

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtrace-
R2showlogrun-tracecfg
R3showlogrunpingtrace-

STEP 8:R1のnetwork文を外す

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtracecfg
R2showlogrun-trace-
R3showlogrunpingtrace-

STEP 9:R1のnetwork文を戻す(最終状態)

ルータshow出力syslogrunning-configpingtracecommit
R1showlogrunpingtracecfg
R2showlogrun-trace-
R3showlogrunpingtrace-

パケットキャプチャーはR1-R2間とR2-R3間で取得しています。STEP 8の後にラボを一度停止したため、STEP 0〜8とSTEP 9で別ファイルです。

範囲R1-R2間R2-R3間
STEP 0〜8pcappcap
STEP 9pcappcap

参考

資料タイトル概要
RFC 4760Multiprotocol Extensions for BGP-4MP_REACH_NLRI(3)とMP_UNREACH_NLRI(4)、SAFI(6・9)、Capability(8)
RFC 5492Capabilities Advertisement with BGP-4OPENのOptional ParameterでCapabilityを交換する仕組み(3)と、Unsupported Capability(5)
RFC 2545Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain RoutingIPv6のネクストホップ(グローバル + リンクローカル、長さ16 / 32)とトランスポートの独立性
RFC 8950Advertising IPv4 Network Layer Reachability Information (NLRI) with an IPv6 Next HopIPv4経路にIPv6ネクストホップを付けるExtended Next Hop Encoding Capability
IANA Address Family NumbersAddress Family NumbersAFIの値の一覧

関連記事