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 → P1 | 2段(トランスポート+VPN) |
| P1 → P2 | 2段(外側だけ値が変わる) |
| P2 → PE2 | 1段(PHPで外側が外れる) |
| PE2 → CE-A2 | 無し(ただのIPパケット) |
装置ごとの動作
| 装置 | 動作 |
|---|---|
| 入口のPE | VPNラベルを付け、その上にトランスポートラベルを積む(2段push) |
| 途中のP | 外側だけをswapする。内側は見ない |
| 出口の1つ手前のP | PHPで外側を外す |
| 出口の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”.
| 外側の作り方 | ラベルを配る仕組み | ラベルの値 |
|---|---|---|
| LDP | IGPの経路ごとに隣へ配る | 装置ごとのローカルな値。区間ごとに変わる |
| RSVP-TE | トンネルの経路に沿って配る | 同上 |
| SR-MPLS | IGPがプレフィックスSIDとして配る | SRGBの先頭+インデックス。ドメイン共通なので区間をまたいでも同じ値 |
どれを使っても、VPN側(VRF・RD・RT・MP-BGP・VPNラベル)は何も変わりません。 外側は出口のPEまで運ぶためだけのもので、内側の意味には関わらないからです。
検証構成
XRd 6台を1列につなぎ、Pを2台置きます。Pが1台だと出口のPEと隣り合うため、PHPで外側が外れてしまい、外側を付け替えるswapが見えないためです。
| ノード | 役割 |
|---|---|
| PE1 / PE2 | vrf 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 | 外側のトランスポート | 操作 | 確かめること |
|---|---|---|---|
| 0 | LDP | なし(初期状態) | 区間ごとの段数、外側のswap、PHP、PE-CEはラベル無し |
| 1 | RSVP-TE | PEのtunnel-te1にautoroute announce | 外側がRSVP-TEのラベルに変わる。内側は同じ |
| 2 | SR-MPLS | autoroute announceを外し、OSPFにsegment-routing sr-prefer | 外側がプレフィックスSIDに変わる。内側は同じ |
| 3 | LDPに戻す(最終状態) | segment-routing sr-preferを外す | STEP 0と同じ値に戻る |
観測はCE-A1からCE-A2のLAN(10.1.2.1)への通信で行います。
STEP 0:外側がLDPのとき
CE-A1からのtracerouteに、区間ごとのラベルがそのまま出ます。
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の転送表で確認できます。
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は外側だけを付け替えます。
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つ手前なので、外側を外して送ります。
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と出口を決めます。
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です。
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.1P2-PE2間は1段だけになり、そのラベルのSビットは1です。
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.1PE2からCE-A2へはラベルが付かず、イーサネットタイプは0x0800(IPv4)です。
$ 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.1STEP 1:外側をRSVP-TEにする
PEのTEトンネルにautoroute announceを入れ、IGPの経路をトンネル経由にします。
interface tunnel-te1
autoroute announce
!
!
endPE1の2.2.2.2/32への経路がトンネル経由に変わります。
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を優先させます。
interface tunnel-te1
no autoroute announce
!
router ospf 1
segment-routing sr-prefer
!
end入口のPE1が積む組も変わります。
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で並べます。
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 * 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 * 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 * 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 → P1 | P1 → P2 | P2 → PE2 | 内側(VPNラベル) |
|---|---|---|---|---|---|
| 0 | LDP | 31005 | 32005 | (PHPで外れる) | 42007 |
| 1 | RSVP-TE | 31006 | 32006 | (PHPで外れる) | 42007 |
| 2 | SR-MPLS | 16002 | 16002 | (PHPで外れる) | 42007 |
| 3 | LDP | 31005 | 32005 | (PHPで外れる) | 42007 |
外側は3方式で別々の値になり、内側のVPNラベルは42007のままです。VPNが成り立っているのは内側の1段があるからで、外側はそれを出口のPEまで運ぶ手段にすぎない、ということがそのまま出ています。
SR-MPLSの行だけ2区間が同じ値です。SRのラベルはSRGBの先頭にインデックスを足した値で、どのノードも同じ計算をするためです。P1の転送表でも16002を16002に付け替える形になっています。
参考
| RFC | タイトル | 参照した節 |
|---|---|---|
| RFC 4364 | BGP/MPLS IP Virtual Private Networks (VPNs) | 5(転送。tunnel labelとVPN route label、PHP、LDP以外の方法)、4.3.2(VPNラベルの割り当て) |
| RFC 3031 | Multiprotocol Label Switching Architecture | 3.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.txt | CE間のpingとtraceroute |
..._trace.txt | PEのshow bgp trace |
..._commit.cfg | そのSTEPで実際にcommitされた設定(変更したルータの分だけ) |
STEP 0:LDP(初期状態)
| ルータ | show出力 | syslog | running-config | ping | trace | 投入した設定 |
|---|---|---|---|---|---|---|
| CE-A1 | show | log | run | ping | - | - |
| PE1 | show | log | run | ping | trace | - |
| P1 | show | log | run | ping | - | - |
| P2 | show | log | run | ping | - | - |
| PE2 | show | log | run | ping | trace | - |
| CE-A2 | show | log | run | ping | - | - |
STEP 1:RSVP-TE(autoroute announce)
| ルータ | show出力 | syslog | running-config | ping | trace | 投入した設定 |
|---|---|---|---|---|---|---|
| CE-A1 | show | log | run | ping | - | - |
| PE1 | show | log | run | ping | trace | commit |
| P1 | show | log | run | ping | - | - |
| P2 | show | log | run | ping | - | - |
| PE2 | show | log | run | ping | trace | commit |
| CE-A2 | show | log | run | ping | - | - |
STEP 2:SR-MPLS(segment-routing sr-prefer)
| ルータ | show出力 | syslog | running-config | ping | trace | 投入した設定 |
|---|---|---|---|---|---|---|
| CE-A1 | show | log | run | ping | - | - |
| PE1 | show | log | run | ping | trace | commit |
| P1 | show | log | run | ping | - | commit |
| P2 | show | log | run | ping | - | commit |
| PE2 | show | log | run | ping | trace | commit |
| CE-A2 | show | log | run | ping | - | - |
STEP 3:LDPに戻す(最終状態)
| ルータ | show出力 | syslog | running-config | ping | trace | 投入した設定 |
|---|---|---|---|---|---|---|
| CE-A1 | show | log | run | ping | - | - |
| PE1 | show | log | run | ping | trace | commit |
| P1 | show | log | run | ping | - | commit |
| P2 | show | log | run | ping | - | commit |
| PE2 | show | log | run | ping | trace | commit |
| CE-A2 | show | log | run | ping | - | - |
パケットキャプチャーはSTEPごとに取得しています(キャプチャーしていない区間は「—」)。
| STEP | PE1-P1間 | P1-P2間 | P2-PE2間 | PE2-CE-A2間 |
|---|---|---|---|---|
| 0 | pcap | pcap | pcap | pcap |
| 1 | pcap | pcap | pcap | — |
| 2 | pcap | pcap | pcap | — |
| 3 | pcap | pcap | pcap | — |
関連記事
- MPLS VPN(L3VPN)とは
- MPLS VPNのVRF(Virtual Routing and Forwarding)
- MPLS VPNのRD(Route Distinguisher)
- MPLS VPNのRT(Route Target)
- MPLS VPNのMP-BGP(VPNv4経路の伝搬)
- MPLS VPNのVPNラベルの割り当て(per-prefix / per-CE / per-VRF)
- MPLS VPNの2段ラベルの転送(トランスポートラベルとVPNラベル)
- MPLS VPNのPE-CEルーティング(スタティック)
- MPLS VPNのPE-CEルーティング(eBGP)
- MPLS VPNで複数拠点が同じAS番号を使う場合(as-override)