AS境界でVPNv4ラベルを読む:どのinter-ASモデルが働いているか
境界ルータのVPNv4ラベルは、実装されているinter-ASモデルの文脈でのみ意味を持ちます。モデルを特定し、一つのプレフィックスを端まで追い、受け渡しの責任者を記録してください。
AS境界ルータでVPNv4ラベルを読んでも、その受け渡しがどのinter-ASモデルを実装しているかが分からなければ、ほとんど意味はありません。ラベルは経路そのものの属性ではなく、二台のルータ間のカプセル化と配送に関する合意を記録したものです。表示を読む前に、まずモデルを特定してください。そうしなければ、誰も文書化していない契約をデバッグすることになります。
境界がどのモデルを実装しているか
VRF間接続は、対応するVRFをルーティングされた接続で結びます。双方は相手をカスタマーエッジの隣接として扱い、通常のIPv4経路を交換するため、その境界ではMPLSは不要です。
二つ目の方式では、境界ルータ同士がラベル付きVPNv4経路を交換します。これが機能するのは、相互接続をまたぐ一貫したラベルスイッチパスと、双方が受け入れるルートターゲット配布および信頼モデルが揃っている場合だけです。どちらかが欠けていれば、設定が何を示していても、そのモデルは使われていません。
三つ目は、ASをまたいでVPN経路がエンドポイントやルートリフレクタ間を流れる一方で、ラベル付きPE到達性を配布します。三つとも境界に残す作業が異なり、あるモデルのコントロールプレーンと別のモデルのインターフェース前提を混ぜるのが典型的な失敗です。その不一致は通常、片側では正しく見えるラベルがもう片側で消える形で現れます。
一つのプレフィックスを端から端まで読む
許可された顧客プレフィックスを一つ取り、たどりながら、何が広告され、何が届き、ネクストホップ、ラベル、そしてそれを許可したインポートポリシーを見ます。次にルータがそのネクストホップへの転送をどう解決するかを見てください。ラベルがパケットになるのはそこだからです。どちらか半分を飛ばすと、トラフィックを流していないかもしれないコントロールプレーンを説明することになります。二つの読みは合わせて初めて意味を持ちます。
その番号はローカルです。割り当てたルータと、パケットをそこへ運ぶ経路との関係で意味を持ち、だからこそ同じ値が二度現れて別の意味になり得ます。受信側が受け取ったと言う内容と比べてください。
ラベルはローカルであり、約束もまたローカルだ
能力は相互接続の両端で確認され、片端だけでは足りません。自分のインターフェースでのコマンドは隣接プロバイダのインターフェースには何もせず、BGPが受け入れた経路も、それだけで隣接がラベル付きパケットを転送する義務を負うわけではありません。
RFC 4364は、ラベル付きVPNv4ピアリングを信頼できる取り決めに限定し、そのピアに広告していないラベルを受け入れるなと警告しています。これはプロトコルの話であると同時にセキュリティの話です。公開インターネットのルーティング関係と、プライベートVPN経路の交換は切り離してください。相互接続が素のIPなら、ラベルがそこを越えて残るとは期待しないでください。リンクがラベル付きなら、外側のトランスポートラベルが各ホップで正しくスワップされることを確認してください。
片側では正しく見え、もう片側で消えるラベルは、たいていルーティングのバグではなくその不一致です。
受け入れ時に書き留めること
受け入れはテーブルのレビューではなくパケットのテストです。顧客パケットをリモートVRFまで追い、その応答を戻るまで追ったうえで、受け渡しがどのモデルを実装しているかを書き留めます。加えて、両側の受け渡し責任者と、境界が素のIPを運ぶのかラベル付きトラフィックを運ぶのかを記します。
そのメモがあるからこそ、次の運用者は同じラベル表示を正しく読めます。なければモデルは設定から推測され、推測された前提が同じ過ちを繰り返す道になります。どのモデルが意図されたかを決着させるのは、RFC 4364のinter-ASの節です。