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

MPLS VPNの2段ラベルの転送(トランスポートラベルとVPNラベル)

目次

MPLS VPNの2段ラベルの転送とは

MPLS VPNのパケットは、プロバイダのコアをラベルを2段積んだ形で通ります。外側が出口のPEまで運ぶトランスポートラベル、内側が出口のPEに「どのVRFの、どこへ出すか」を教えるVPNラベルです。RFC 4364の5は、外側をtunnel label、内側をVPN route labelと呼んでいます。

入口のPEは、CEから受け取ったIPパケットを、まずVPNラベルだけを持つMPLSパケットにします。

The IP packet is turned into an MPLS packet with the VPN route label as the sole label on the label stack.

そのうえで、BGPネクストホップ(=出口のPE)まで運ぶためのトランスポートラベルを上に積みます。コアのPルータが見るのは外側だけで、内側のVPNラベルを見るのは出口のPEだけです。

MPLS will then carry the packet across the backbone to the BGP Next Hop, where the VPN label will be examined.

区間ラベル
CE-A1 → PE1無し(ただのIPパケット)
PE1 → P12段(トランスポート+VPN)
P1 → P22段(外側だけ値が変わる)
P2 → PE21段(PHPで外側が外れる)
PE2 → CE-A2無し(ただのIPパケット)

装置ごとの動作

装置動作
入口のPEVPNラベルを付け、その上にトランスポートラベルを積む(2段push)
途中のP外側だけをswapする。内側は見ない
出口の1つ手前のPPHPで外側を外す
出口のPE残ったVPNラベルでVRFと出口を決め、ラベルを外してCEへIPで渡す

Pが内側を見ないので、顧客のアドレスが重複していてもコアは困りません。Pが持つのはIGPの経路とラベルだけです(MPLS VPNとは)。

2段のラベルはどちらも同じ32ビットの形式で、Sビット(Bottom of Stack)で最後の1枚かどうかを区別します(MPLSのラベルとラベルスタック)。push / swap / popとPHPそのものはMPLSのラベル操作で解説しています。

RFC 4364の5は、PHPを使っている場合に最後のPが送るパケットをこう書いています。

if penultimate hop popping is used, the packet is then sent to the IGP Next Hop, carrying only the VPN route label

外側のトランスポートはLDPでなくてもよい

RFC 4364の5は、相互接続のためにLDPのサポートを必須としたうえで、LSPの張り方は他の方法でもよいとしています。

To ensure interoperability among different implementations, it is required to support LDP for setting up the label switched paths across the backbone. However, other methods of setting up these label switched paths are also possible.

トラフィックエンジニアリングのトンネルがあればそれが選ばれ、そのラベルがtunnel labelになる、とも書かれています。

If there are any traffic engineering tunnels to the BGP next hop, and if one or more of those is available for use by the packet in question, one of these tunnels is chosen. This tunnel will be associated with an MPLS label, the “tunnel label”.

外側の作り方ラベルを配る仕組みラベルの値
LDPIGPの経路ごとに隣へ配る装置ごとのローカルな値。区間ごとに変わる
RSVP-TEトンネルの経路に沿って配る同上
SR-MPLSIGPがプレフィックスSIDとして配るSRGBの先頭+インデックス。ドメイン共通なので区間をまたいでも同じ値

どれを使っても、VPN側(VRF・RD・RT・MP-BGP・VPNラベル)は何も変わりません。 外側は出口のPEまで運ぶためだけのもので、内側の意味には関わらないからです。

検証構成

XRd 6台を1列につなぎ、Pを2台置きます。Pが1台だと出口のPEと隣り合うため、PHPで外側が外れてしまい、外側を付け替えるswapが見えないためです。

ノード役割
PE1 / PE2vrf CUST-A(RD 65001:1、RT 65001:100)。redistribute connectedとredistribute static
P1 / P2コアのみ(OSPF area 0)
CE-A1 / CE-A2顧客Aのサイト1 / 2。LAN 10.1.1.0/24 / 10.1.2.0/24

コアにはLDP・RSVP-TE・SR-MPLSの土台を最初から3つとも入れてあり、各STEPで変えるのは「PEがどれを使うか」の1行だけです。VPN側の設定はどのSTEPでも触りません。

ラベルの値を見れば装置が分かるよう、ラベル範囲を1台ずつ分けています(PE1は41000番台、PE2は42000番台、P1は31000番台、P2は32000番台。SRのプレフィックスSIDは16000番台)。

STEP外側のトランスポート操作確かめること
0LDPなし(初期状態)区間ごとの段数、外側のswap、PHP、PE-CEはラベル無し
1RSVP-TEPEのtunnel-te1にautoroute announce外側がRSVP-TEのラベルに変わる。内側は同じ
2SR-MPLSautoroute announceを外し、OSPFにsegment-routing sr-prefer外側がプレフィックスSIDに変わる。内側は同じ
3LDPに戻す(最終状態)segment-routing sr-preferを外すSTEP 0と同じ値に戻る

観測はCE-A1からCE-A2のLAN(10.1.2.1)への通信で行います。

STEP 0:外側がLDPのとき

CE-A1からのtracerouteに、区間ごとのラベルがそのまま出ます。

CE-A1 → 10.1.2.1 の traceroute(STEP 0)
RP/0/RP0/CPU0:CE-A1#traceroute 10.1.2.1 source 10.1.1.1 timeout 1 probe 2 maxttl 8
Sun Oct  4 05:02:35.175 UTC

Type escape sequence to abort.
Tracing the route to 10.1.2.1

 1  172.16.1.1 8 msec  6 msec 
 2  10.0.13.3 [MPLS: Labels 31005/42007 Exp 0] 23 msec  20 msec 
 3  10.0.34.4 [MPLS: Labels 32005/42007 Exp 0] 69 msec  21 msec 
 4  10.0.24.2 [MPLS: Label 42007 Exp 0] 21 msec  18 msec 
 5  172.16.2.2 25 msec  * 

2ホップ目と3ホップ目は2段で、外側だけが31005から32005に変わり、内側は42007のままです。4ホップ目は1段だけになっています(PHP)。5ホップ目はCE-A2で、ラベルは付いていません。tracerouteにラベルが出るのは、MPLSがIPのTTLをラベル側でも扱うためです(MPLSのTTLとMTU)。

入口のPE1が何を積むかは、VRFの転送表で確認できます。

PE1:VRFの転送先と積むラベル(STEP 0)
RP/0/RP0/CPU0:PE1#show cef vrf CUST-A 10.1.2.0/24 detail
Sun Oct  4 05:03:22.449 UTC
10.1.2.0/24, version 6, internal 0x5000001 0x30 (ptr 0x88519cd0) [1], 0x0 (0x0), 0x208 (0x899b2458)
 Updated Oct  4 05:01:02.071
 Prefix Len 24, traffic index 0, precedence n/a, priority 3
  gateway array (0x89597950) reference count 2, flags 0x2038, source rib (7), 0 backups
                [1 type 1 flags 0x48441 (0x899eb880) ext 0x0 (0x0)]
  LW-LDI[type=0, refc=0, ptr=0x0, sh-ldi=0x0]
  gateway array update type-time 1 Oct  4 05:01:02.070
 LDI Update time Oct  4 05:01:02.070
   via 2.2.2.2/32, 3 dependencies, recursive [flags 0x6000]
    path-idx 0 NHID 0x0 [0x8856e948 0x0]
    recursion-via-/32
    next hop VRF - 'default', table - 0xe0000000
    next hop 2.2.2.2/32 via 41005/0/21
     next hop 10.0.13.3/32 GigabitEthernet0/0/0/1 labels imposed {31005 42007}

    Load distribution: 0 (refcount 1)

    Hash  OK  Interface                 Address
    0     Y   recursive                 41005/0        

labels imposed {31005 42007}が、外側と内側の組です。

P1は外側だけを付け替えます。

P1:MPLS転送表(STEP 0)
RP/0/RP0/CPU0:P1#show mpls forwarding
Sun Oct  4 05:04:25.313 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
16001  Pop         SR Pfx (idx 1)     Gi0/0/0/0    10.0.13.1       0           
16002  16002       SR Pfx (idx 2)     Gi0/0/0/1    10.0.34.4       0           
16004  Pop         SR Pfx (idx 4)     Gi0/0/0/1    10.0.34.4       0           
31000  Pop         SR Adj (idx 0)     Gi0/0/0/0    10.0.13.1       0           
31001  Pop         SR Adj (idx 0)     Gi0/0/0/1    10.0.34.4       0           
31002  Pop         1.1.1.1/32         Gi0/0/0/0    10.0.13.1       8973        
31003  Pop         4.4.4.4/32         Gi0/0/0/1    10.0.34.4       1074        
31004  Pop         10.0.24.0/24       Gi0/0/0/1    10.0.34.4       0           
31005  32005       2.2.2.2/32         Gi0/0/0/1    10.0.34.4       8063        
31006  32006       TE: 1              Gi0/0/0/1    10.0.34.4       0           
31007  Pop         TE: 1              Gi0/0/0/0    10.0.13.1       0           

2.2.2.2/32(=出口のPE2)への行が31005を32005に付け替えるLDPの行です。同じ表にTE: 1(RSVP-TE)とSR Pfx (idx 2)(SR-MPLS)の行も並んでいます。3つの土台を入れてあるのでラベルはすべて配られており、STEPで変わるのはPE1がどれを使うかだけです。

P2は出口のPE2の1つ手前なので、外側を外して送ります。

P2:MPLS転送表(STEP 0)
RP/0/RP0/CPU0:P2#show mpls forwarding
Sun Oct  4 05:04:53.078 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
16001  16001       SR Pfx (idx 1)     Gi0/0/0/0    10.0.34.3       0           
16002  Pop         SR Pfx (idx 2)     Gi0/0/0/1    10.0.24.2       0           
16003  Pop         SR Pfx (idx 3)     Gi0/0/0/0    10.0.34.3       0           
32000  Pop         SR Adj (idx 0)     Gi0/0/0/0    10.0.34.3       0           
32001  Pop         SR Adj (idx 0)     Gi0/0/0/1    10.0.24.2       0           
32002  31002       1.1.1.1/32         Gi0/0/0/0    10.0.34.3       8176        
32003  Pop         3.3.3.3/32         Gi0/0/0/0    10.0.34.3       1277        
32004  Pop         10.0.13.0/24       Gi0/0/0/0    10.0.34.3       0           
32005  Pop         2.2.2.2/32         Gi0/0/0/1    10.0.24.2       8687        
32006  Pop         TE: 1              Gi0/0/0/1    10.0.24.2       0           
32007  31007       TE: 1              Gi0/0/0/0    10.0.34.3       0           

Outgoing LabelがPopになっています。これがPHPです。

出口のPE2は、残ったVPNラベルでVRFと出口を決めます。

PE2:MPLS転送表(STEP 0)
RP/0/RP0/CPU0:PE2#show mpls forwarding
Sun Oct  4 05:03:49.196 UTC
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes       
Label  Label       or ID              Interface                    Switched    
------ ----------- ------------------ ------------ --------------- ------------
16001  16001       SR Pfx (idx 1)     Gi0/0/0/1    10.0.24.4       0           
16003  16003       SR Pfx (idx 3)     Gi0/0/0/1    10.0.24.4       0           
16004  Pop         SR Pfx (idx 4)     Gi0/0/0/1    10.0.24.4       0           
42000  Pop         SR Adj (idx 0)     Gi0/0/0/1    10.0.24.4       0           
42001  32002       1.1.1.1/32         Gi0/0/0/1    10.0.24.4       7261        
42002  32003       3.3.3.3/32         Gi0/0/0/1    10.0.24.4       520         
42003  Pop         4.4.4.4/32         Gi0/0/0/1    10.0.24.4       715         
42004  32004       10.0.13.0/24       Gi0/0/0/1    10.0.24.4       0           
42005  Pop         10.0.34.0/24       Gi0/0/0/1    10.0.24.4       0           
42006  32007       TE: 1              Gi0/0/0/1    10.0.24.4       0           
42007  Unlabelled  10.1.2.0/24[V]     Gi0/0/0/0    172.16.2.2      6400        
42008  Aggregate   CUST-A: Per-VRF Aggr[V]   \
                                      CUST-A                       0           

42007の行のPrefix or IDが10.1.2.0/24[V]で、[V]はVRFの経路であることを示します。Outgoing LabelがUnlabelledなので、ここでラベルを外してCE-A2へIPで渡します。この値はPE2が自分で決めてMP-BGPで伝えたもので、何単位で割り当てるかはMPLS VPNのVPNラベルの割り当てで解説しています。

パケットの中身も見ておきます。PE1-P1間は2段で、外側がS=0、内側がS=1です。

PE1 → P1 のICMP Echo(tshark -V、MPLSヘッダー部分)
MultiProtocol Label Switching Header, Label: 31005, Exp: 0, S: 0, TTL: 254
    0000 0111 1001 0001 1101 .... .... .... = MPLS Label: 31005 (0x0791d)
    .... .... .... .... .... 000. .... .... = MPLS Experimental Bits: 0
    .... .... .... .... .... ...0 .... .... = MPLS Bottom Of Label Stack: 0
    .... .... .... .... .... .... 1111 1110 = MPLS TTL: 254
MultiProtocol Label Switching Header, Label: 42007, Exp: 0, S: 1, TTL: 254
    0000 1010 0100 0001 0111 .... .... .... = MPLS Label: 42007 (0x0a417)
    .... .... .... .... .... 000. .... .... = MPLS Experimental Bits: 0
    .... .... .... .... .... ...1 .... .... = MPLS Bottom Of Label Stack: 1
    .... .... .... .... .... .... 1111 1110 = MPLS TTL: 254
Internet Protocol Version 4, Src: 10.1.1.1, Dst: 10.1.2.1
上のtshark出力のパケット(No.5、PE1 → P1、ラベル2段)のpcapをダウンロード

P2-PE2間は1段だけになり、そのラベルのSビットは1です。

P2 → PE2 のICMP Echo(tshark -V、MPLSヘッダー部分)
MultiProtocol Label Switching Header, Label: 42007, Exp: 0, S: 1, TTL: 252
    0000 1010 0100 0001 0111 .... .... .... = MPLS Label: 42007 (0x0a417)
    .... .... .... .... .... 000. .... .... = MPLS Experimental Bits: 0
    .... .... .... .... .... ...1 .... .... = MPLS Bottom Of Label Stack: 1
    .... .... .... .... .... .... 1111 1100 = MPLS TTL: 252
Internet Protocol Version 4, Src: 10.1.1.1, Dst: 10.1.2.1
上のtshark出力のパケット(No.7、P2 → PE2、ラベル1段)のpcapをダウンロード

PE2からCE-A2へはラベルが付かず、イーサネットタイプは0x0800(IPv4)です。

PE2 → CE-A2:ラベルは付いていない(STEP 0)
$ tshark -r mpls-vpn-fwd-step0-pe2ce.pcap -Y 'icmp.type == 8 && ip.src == 10.1.1.1' \
    -T fields -e frame.number -e eth.type -e mpls.label -e ip.src -e ip.dst
3	0x0800		10.1.1.1	10.1.2.1
5	0x0800		10.1.1.1	10.1.2.1
7	0x0800		10.1.1.1	10.1.2.1
9	0x0800		10.1.1.1	10.1.2.1

STEP 1:外側をRSVP-TEにする

PEのTEトンネルにautoroute announceを入れ、IGPの経路をトンネル経由にします。

PE1に投入した設定(STEP 1)
interface tunnel-te1
 autoroute announce
 !
!
end

PE1の2.2.2.2/32への経路がトンネル経由に変わります。

PE1:グローバルの経路表(STEP 1)
Gateway of last resort is not set

L    1.1.1.1/32 is directly connected, 00:09:01, Loopback0
O    2.2.2.2/32 [110/4] via 2.2.2.2, 00:02:14, tunnel-te1
O    3.3.3.3/32 [110/2] via 10.0.13.3, 00:08:45, GigabitEthernet0/0/0/1
O    4.4.4.4/32 [110/3] via 10.0.13.3, 00:08:34, GigabitEthernet0/0/0/1
C    10.0.13.0/24 is directly connected, 00:08:55, GigabitEthernet0/0/0/1
L    10.0.13.1/32 is directly connected, 00:08:55, GigabitEthernet0/0/0/1
O    10.0.24.0/24 [110/3] via 10.0.13.3, 00:08:34, GigabitEthernet0/0/0/1
O    10.0.34.0/24 [110/2] via 10.0.13.3, 00:08:45, GigabitEthernet0/0/0/1

外側は31006 / 32006(RSVP-TEのLSPのラベル)になり、内側は42007のままです。値は後の比較で並べます。

STEP 2:外側をSR-MPLSにする

autoroute announceを外し、OSPFにSRを優先させます。

PE1に投入した設定(STEP 2)
interface tunnel-te1
 no autoroute announce
!
router ospf 1
 segment-routing sr-prefer
!
end

入口のPE1が積む組も変わります。

PE1:VRFの転送先と積むラベル(STEP 2)
RP/0/RP0/CPU0:PE1#show cef vrf CUST-A 10.1.2.0/24 detail
Sun Oct  4 05:13:55.658 UTC
10.1.2.0/24, version 6, internal 0x5000001 0x30 (ptr 0x88519cd0) [1], 0x0 (0x0), 0x208 (0x899b2458)
 Updated Oct  4 05:01:02.070
 Prefix Len 24, traffic index 0, precedence n/a, priority 3
  gateway array (0x89597950) reference count 2, flags 0x2038, source rib (7), 0 backups
                [1 type 1 flags 0x40441 (0x899eb880) ext 0x0 (0x0)]
  LW-LDI[type=0, refc=0, ptr=0x0, sh-ldi=0x0]
  gateway array update type-time 5 Oct  4 05:11:12.258
 LDI Update time Oct  4 05:11:12.259
   via 2.2.2.2/32, 3 dependencies, recursive [flags 0x6000]
    path-idx 0 NHID 0x0 [0x8856e788 0x0]
    recursion-via-/32
    next hop VRF - 'default', table - 0xe0000000
    next hop 2.2.2.2/32 via 16002/0/21
     next hop 10.0.13.3/32 GigabitEthernet0/0/0/1 labels imposed {16002 42007}

    Load distribution: 0 (refcount 1)

    Hash  OK  Interface                 Address
    0     Y   recursive                 16002/0        

外側が16002になりました。SRGBの先頭(16000)にPE2のプレフィックスSIDのインデックス(2)を足した値です。

STEP 3:LDPに戻す

segment-routing sr-preferを外すと、外側はLDPのラベルに戻ります。

3つのトランスポートの比較

同じtracerouteを4つのSTEPで並べます。

CE-A1 → 10.1.2.1(STEP 0:LDP)
RP/0/RP0/CPU0:CE-A1#traceroute 10.1.2.1 source 10.1.1.1 timeout 1 probe 2 maxttl 8
Sun Oct  4 05:02:35.175 UTC

Type escape sequence to abort.
Tracing the route to 10.1.2.1

 1  172.16.1.1 8 msec  6 msec 
 2  10.0.13.3 [MPLS: Labels 31005/42007 Exp 0] 23 msec  20 msec 
 3  10.0.34.4 [MPLS: Labels 32005/42007 Exp 0] 69 msec  21 msec 
 4  10.0.24.2 [MPLS: Label 42007 Exp 0] 21 msec  18 msec 
 5  172.16.2.2 25 msec  * 
CE-A1 → 10.1.2.1(STEP 1:RSVP-TE)
RP/0/RP0/CPU0:CE-A1#traceroute 10.1.2.1 source 10.1.1.1 timeout 1 probe 2 maxttl 8
Sun Oct  4 05:07:48.420 UTC

Type escape sequence to abort.
Tracing the route to 10.1.2.1

 1  172.16.1.1 5 msec  4 msec 
 2  10.0.13.3 [MPLS: Labels 31006/42007 Exp 0] 16 msec  15 msec 
 3  10.0.34.4 [MPLS: Labels 32006/42007 Exp 0] 15 msec  15 msec 
 4  10.0.24.2 [MPLS: Label 42007 Exp 0] 16 msec  15 msec 
 5  172.16.2.2 16 msec  * 
CE-A1 → 10.1.2.1(STEP 2:SR-MPLS)
RP/0/RP0/CPU0:CE-A1#traceroute 10.1.2.1 source 10.1.1.1 timeout 1 probe 2 maxttl 8
Sun Oct  4 05:13:11.608 UTC

Type escape sequence to abort.
Tracing the route to 10.1.2.1

 1  172.16.1.1 6 msec  4 msec 
 2  10.0.13.3 [MPLS: Labels 16002/42007 Exp 0] 36 msec  15 msec 
 3  10.0.34.4 [MPLS: Labels 16002/42007 Exp 0] 15 msec  29 msec 
 4  10.0.24.2 [MPLS: Label 42007 Exp 0] 18 msec  16 msec 
 5  172.16.2.2 17 msec  * 
CE-A1 → 10.1.2.1(STEP 3:LDPに戻す)
RP/0/RP0/CPU0:CE-A1#traceroute 10.1.2.1 source 10.1.1.1 timeout 1 probe 2 maxttl 8
Sun Oct  4 05:18:30.877 UTC

Type escape sequence to abort.
Tracing the route to 10.1.2.1

 1  172.16.1.1 8 msec  5 msec 
 2  10.0.13.3 [MPLS: Labels 31005/42007 Exp 0] 17 msec  14 msec 
 3  10.0.34.4 [MPLS: Labels 32005/42007 Exp 0] 15 msec  38 msec 
 4  10.0.24.2 [MPLS: Label 42007 Exp 0] 17 msec  18 msec 
 5  172.16.2.2 20 msec  * 

STEP外側PE1 → P1P1 → P2P2 → PE2内側(VPNラベル)
0LDP3100532005(PHPで外れる)42007
1RSVP-TE3100632006(PHPで外れる)42007
2SR-MPLS1600216002(PHPで外れる)42007
3LDP3100532005(PHPで外れる)42007

外側は3方式で別々の値になり、内側のVPNラベルは42007のままです。VPNが成り立っているのは内側の1段があるからで、外側はそれを出口のPEまで運ぶ手段にすぎない、ということがそのまま出ています。

SR-MPLSの行だけ2区間が同じ値です。SRのラベルはSRGBの先頭にインデックスを足した値で、どのノードも同じ計算をするためです。P1の転送表でも16002を16002に付け替える形になっています。

参考

RFCタイトル参照した節
RFC 4364BGP/MPLS IP Virtual Private Networks (VPNs)5(転送。tunnel labelとVPN route label、PHP、LDP以外の方法)、4.3.2(VPNラベルの割り当て)
RFC 3031Multiprotocol Label Switching Architecture3.15(ラベルスタック)、3.16(PHP)

書籍: Luc De Ghein『MPLS Fundamentals』(Cisco Press、2006)7章

検証Configおよびshow結果

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

ファイル内容
..._show.txtそのSTEPでの状態一式。OSPF(show ospf neighbor / show ospf database)、LDP(show mpls ldp neighbor brief / show mpls ldp bindings)、MPLS転送(show mpls forwarding / show mpls label table)、MP-BGP(show bgp vpnv4 unicast / show bgp vpnv4 unicast labels)、VRF(show vrf all detail / show route vrf CUST-A / show cef vrf CUST-A)、RSVP-TE(show mpls traffic-eng tunnels / show rsvp session)、SR-MPLS。PEは48コマンド、Pは28コマンド
..._log.txtそのSTEPの範囲だけに絞ったshow logging
..._run.txtそのSTEP時点のshow running-config(=そのSTEPの検証Config)
..._ping.txtCE間のpingとtraceroute
..._trace.txtPEのshow bgp trace
..._commit.cfgそのSTEPで実際にcommitされた設定(変更したルータの分だけ)

STEP 0:LDP(初期状態)

ルータshow出力syslogrunning-configpingtrace投入した設定
CE-A1showlogrunping--
PE1showlogrunpingtrace-
P1showlogrunping--
P2showlogrunping--
PE2showlogrunpingtrace-
CE-A2showlogrunping--

STEP 1:RSVP-TE(autoroute announce)

ルータshow出力syslogrunning-configpingtrace投入した設定
CE-A1showlogrunping--
PE1showlogrunpingtracecommit
P1showlogrunping--
P2showlogrunping--
PE2showlogrunpingtracecommit
CE-A2showlogrunping--

STEP 2:SR-MPLS(segment-routing sr-prefer)

ルータshow出力syslogrunning-configpingtrace投入した設定
CE-A1showlogrunping--
PE1showlogrunpingtracecommit
P1showlogrunping-commit
P2showlogrunping-commit
PE2showlogrunpingtracecommit
CE-A2showlogrunping--

STEP 3:LDPに戻す(最終状態)

ルータshow出力syslogrunning-configpingtrace投入した設定
CE-A1showlogrunping--
PE1showlogrunpingtracecommit
P1showlogrunping-commit
P2showlogrunping-commit
PE2showlogrunpingtracecommit
CE-A2showlogrunping--

パケットキャプチャーはSTEPごとに取得しています(キャプチャーしていない区間は「—」)。

STEPPE1-P1間P1-P2間P2-PE2間PE2-CE-A2間
0pcappcappcappcap
1pcappcappcap—
2pcappcappcap—
3pcappcappcap—

関連記事