fbpx

MPLSおよびIP VPNのテスト

前書き

米国および世界の他の地域での経済の引き締めに伴い、サービスプロバイダーの焦点は収益創出の新たな道を模索することに移りました。その結果、新しいサービスの開発と、仮想プライベートネットワークなどの既存のサービスの再パッケージ化の両方に対する関心が劇的に高まっています。

VPNは、モバイルワーカーや在宅勤務者の企業ネットワークリソースへのアクセスを容易にするために、しばらく使用されてきました(「よく知られ、使用され、受け入れられている「リモートアクセス」の概念です)。初期のリモートアクセスの実装では、企業の本社にあるモデムバンクを介してダイヤルインアクセスをユーザーに提供していました。プライベート通信にパブリックネットワークを使用するというこの概念は、今日のVPNの基礎です。今日のVPNは、強化されたセキュリティ機能とともにさまざまなレイヤー2およびレイヤー3テクノロジーを包含し、リモートアクセスだけでなくサイト間接続も提供します。

この記事では、次の定義を使用します。

  • レイヤー2(データリンクレイヤー)テクノロジーに基づいており、そのレイヤーで管理されるVPNは、レイヤー2 VPN(MPLS、ATM、フレームリレー)として定義されます。OSIレイヤーモデルです。
  • レイヤー3(トランスポートレイヤー)の上のトンネリングに基づくVPNは、レイヤー3 VPN(L2TP、IPSec 、BGP / MPLS)として定義されます。
  • IP-VPNは、純粋にIPネットワーク(L2TP、IPSec )として管理されるタイプのレイヤー3 VPNです。

したがって、私たちの一般的な定義では、VPNは、標準のトンネリング、暗号化、および認証技術を使用して、パブリックネットワーク上で安全でプライベートなデータ通信を提供する「サービス」です。

さまざまなVPN関連のテクノロジーとネットワーキングプロトコルが出現し、展開され始めたので、インターネットエンジニアリングタスクフォース(IETF)によって新しいワークグループ(WG)であるプロバイダープロビジョンドVPN(PPVPN)WGが作成されました。このグループの主なタスクは、VPNサービス製品の仕様のフレームワークと要件を定義することです。PPVPN WGで提出された最近のPPVPN要件ドキュメントは、SPが少なくとも2つの一般的なサービスタイプ(マネージドアクセスVPNサービスまたはエッジツーエッジQoSサービス)のサービス品質(QoS)サービスを顧客に提供できる必要があることを提案しました。

これら2つのサービスタイプには重要な違いがあります。たとえば、VPNサービスはSPによって完全に管理されるため、レイヤ3サービスであるBGP / MPLS VPNは、管理アクセスVPNサービスと見なされます。ただし、独自のレイヤ3オーバーレイを管理することを望む企業や、そのような顧客にレイヤ2インターフェイスを提供することを望む多くのサービスプロバイダーがあります。これは、エッジツーエッジのサービスにつながります。

エッジツーエッジサービスは新しい概念ではありません。企業は、SPから広域のポイントツーポイントのデータリンクレイヤー接続を購入し、その上に独自のレイヤー3インフラストラクチャを構築することにより、独自の広域ネットワークを構築してきました。IETFの疑似配線エッジツーエッジ(PWE3)WGも、これらのサービスを部分的に定義しています。

これら両方のアプローチには長所と短所がありますが、この記事では、デバイスとネットワークにおけるこれらの両方のタイプのVPNの実装を検証する方法に焦点を当てます。

VPNテスト

するためにVPNのテストを議論する、それが簡単にレビュールータテストのいくつかの基本的な概念にまず必要です。

フレームまたはパケット(本書ではまとめて「パケット」と呼ぶ)を介した情報の交換には、制御パケットとデータパケットの2種類のパケットが必要です。通常、多くのデバイスインテリジェンスは、制御パケットによって伝送される情報の処理に割り当てられています。これは、デバイスの「制御ソフトウェア」を通じて実現されます。

制御パケット交換と制御ソフトウェアが正しい構成を確立すると、デバイスは適切なパケット転送決定を行い、データパケットをネットワーク経由で送信できます。したがって、デバイスのデータ処理設計には、最大10ギガバイト/秒のレートで大量の転送決定を正しく行う機能が含まれている必要があります。

さらに、VPNテストでは、スイッチ/ルーティングデバイス内の制御レベルとデータ処理レベル(通常、コントロールプレーンおよびデータプレーンと呼ばれる)に焦点を当てる必要があります。後の説明で明らかになるように、異なるタイプのVPNは、これらの2つのプレーン間で処理アクティビティを異なる方法で分散します。

テストのタイプ

通常、テストに関するディスカッションでは、各タイプのテストのさまざまな側面、つまり、適合性、機能性、パフォーマンスとスケーラビリティ、相互運用性、およびサービステストについて説明する必要があります。

適合性および機能テストは、制御パケットとデータパケット自体の詳細に焦点を当てています。このタイプのテストは、ネットワーク機器メーカー(NEM)のソフトウェア開発およびシステム統合ラボで一般的です。

ソフトウェアがハードウェアと統合され始めると、コントロールプレーンとデータプレーンの両方でパフォーマンスとスケーラビリティのテストを行うことができます。たとえば、PPVPN要件ドキュメントでは、大規模なサービスプロバイダーには4年以内に10,000のVPNをサポートする機能が必要であり、サイトインターフェイスの数は、VPNあたり数個から50,000個を超えるサイトインターフェイスに及ぶと推定しています。明らかに、そのようなネットワークの一部であると予想されるすべてのデバイスは、これらのレベルのアクティビティをサポートする能力についてテストする必要があります。パフォーマンスとスケーラビリティのテストは、通常、NEMのシステム統合および導入前のラボ、およびサービスプロバイダーの評価ラボで実行されます。

デバイスをネットワークに導入する前に、そのデバイスがシングルベンダー環境で使用されるのかマルチベンダー環境で使用されるのかを評価する必要もあります。マルチベンダーネットワークでは、さまざまなNEMのVPN実装間で達成された相互運用性のレベルを判断するための相互運用性テストが必要です。相互運用性テストは、SPが単一のNEMからの機器の使用に限定されていないことを確認するために重要です。

最後に、実際のネットワーク環境でサービスをテストする必要があります。通常、SPは最初に特定のVPN サービスをネットワークの特定のセグメントに展開し、テスト目的で内部サイト間または非常に少数の顧客が使用します。顧客が関与する場合、テストは多くの場合、サービスの詳細とサービス品質(QoS)レベルを指定するサービスレベルアグリーメント(SLA)に基づいています。

この記事では、主に「ブラックボックス」テストに焦点を当てます(つまり、すべての観察は外部のサードパーティテストツールで行われます)。「テスターT」という用語は、VPNをテストするための一般的なツールを指すために使用されます。テスターTは、パケットを分析し、カスタマーエッジ(CE)、プロバイダーエッジ(PE)、プロバイダーコア(P)デバイスなどのデバイスのネットワークをエミュレートできる必要があります。

CEデバイスは、顧客または企業ネットワークの「出口」です。PEデバイスは、CEデバイスに接続されたSPネットワークの最初のデバイスであり、PデバイスはSPネットワークのコアデバイスです(図1を参照)。テスト対象のデバイスは、テスト対象システム(SUT)と呼ばれます。VPN機能を備えているのはPEデバイスのみであるため、SUTは常にPEルータになります。

レイヤー2およびレイヤー3 VPN

このホワイトペーパーの残りの部分では、SPがネットワーク上で管理するレイヤー2およびレイヤー3 VPNサービスのテストに焦点を当てます。(レイヤーの概念は、OSIレイヤーモデルから取得されます-レイヤー2はデータリンクレイヤー、レイヤー3はネットワークレイヤーです。)このコンテキストでは、「レイヤ3 VPN」という語句は、レイヤ3トラフィックをエンドツーエンドで伝送するために使用されるVPNサービスを示し、「レイヤ2 VPN」は、SPネットワークを介してレイヤ2トラフィックを伝送するために使用されるVPNサービスを示します。

レイヤー3 VPNはいくつかのNEMとSP によってしばらくの間提供されてきたため、レイヤー3 VPNテストが最初に検討されます。特にPLS の領域のレイヤー2 VPN は、最近の現象であり、この記事の最後の部分で説明します。

最後に、ここでは「ネガティブテスト」を明示的に取り上げません。ネガティブテスト、またはエラーインジェクションは、SUTの堅牢性を評価するために、不正なコンテンツまたは不正なシーケンスでPEルータにパケットを送信することで構成されます。このタイプのテストは、適合性および機能性テストの標準的な部分であり、ストレステストに使用して、制御およびデータの負荷が高い状況でのルーターのエラー処理能力をチェックすることもできます。テスターT がこの種のテストを実行できることが期待されます。

レイヤー3 IP VPN:IPSec ベースのVPN

IPSec は、IPv6実装で必須のセキュリティアーキテクチャ[IPSEC] です。ただし、トンネリング、暗号化などに関連するIPSecテクノロジーの固有の性質は、IPSecがIPv6またはIPv4ネットワークのどちらで動作しているかに関係なく変更されません。

IPSec は、IPおよび上位層プロトコル(UDPまたはTCP)のセキュリティを強化するために設計された一連のプロトコルです。IPSec は、トラフィックを指定する標準的な方法、トラフィックを保護する方法、およびトラフィックの送信者と受信者の両方を認証する方法を記述することにより、これを実現します。IPSecの重要な機能は、すべてのデータグラムを保護することです。

IPSecで定義されている基本的なセキュリティの概念は、次のもので構成されています。

  • 通信する当事者の身元の認証。これは、手動構成、事前共有秘密、または信頼できる機関によって発行され、両方の当事者に受け入れられるデジタル証明書を介して行うことができます。
  • データの認証と暗号化。認証用のキーは、特定のプロトコル交換を通じて動的に生成することも、事前共有秘密から生成することもできます。現在の公開鍵技術(RSS、DSS など)は認証には十分ですが、パケットごとに操作する機能はありません。

IPSec VPNは、リモートアクセスとサイト間接続の両方にIPSec トンネルモードを利用します。基本的なネットワーク要素はセキュリティゲートウェイ(SG)であり、専用デバイスにすることも、PE / CE ルーターに実装することもできます。SGの機能は、クライアント(LAN内のPC)またはリモートユーザーを保護することです。トンネルのセットアップに関連する手順とパケット交換は、RFC 2408 [ISAKMP]およびRFC 2409 [IKE]で説明されています。ペイロードの暗号化と認証の詳細は、RFC 2406 [ESP]およびRFC 2402 [AH]で説明されています。

IPSec VPNのセットアップ

IP-VPNを設定する前に、企業は、さまざまな組織エンティティー内のセキュリティの範囲と幅を詳細に示すセキュリティポリシーを持っている必要があります。これらの要件とIPSecに基づいて、VPN 認証、暗号化、アクセス制御を確立できます。

VPN 接続を設定する実際のプロセスには、次の2つのステップがあります。

  1. ISAKMPトンネルの確立
  2. データを送信するためのIPSec トンネルの確立

ISAKMP(Internet Security Association and Key Management Protocol)トンネルの目的は、制御パケットを交換するための安全で認証されたトンネルを提供することです。フェーズ1交換と呼ばれるこのトンネルの確立は、6つのメッセージの交換を通じて「メインモード」で実行できます。「アグレッシブモード」と呼ばれる3つのメッセージの交換のみを必要とするショートカットも使用されます。

ISAKMP「トンネル」を確立するには、3つのステップが必要です。

  1. セキュリティゲートウェイ(SG1)の開始は、宛先SG(SG2)によって受け入れられるISAKMPセキュリティアソシエーション(SA)を提案します。
  2. SG1は、「Diffie-Hellman 交換」を介してSG2 と「鍵情報」を交換します。
  3. SG1とSG2の両方が暗号化された交換を使用して認証され、ISAKMPトンネルのセットアップが完了します。

カプセル化セキュリティプロトコル(ESP)または認証ヘッダー(AH)、あるいはその両方を使用できるIPSec トンネルの確立は、「クイックモード」と呼ばれ、1つの手順で構成されます。

  • SG1はIPSec Security Association(SA)を提案し、SG2 によって承認されます。IPSec トンネルが確立されています。IPSec VPNのコントロールプレーンテストの場合、テスターTは以下を実行する必要があります。
  • テスターポートの背後でセキュリティゲートウェイ(SG1)をエミュレートし、宛先SG-SG2(SUT)にSAプロポーザルを作成してISAKMPトンネルをセットアップします。ISAKMPトンネルのセットアップごとに、テスターは1つまたは複数のIPSec(ESPまたはAHまたは両方)トンネルをセットアップします。
  • SG1は定期的にESPまたはAHカプセル化データパケットを送信して、IPSec トンネルを存続させます。

このシナリオは、テスターポートの背後にある複数のセキュリティゲートウェイをエミュレートすることにより、SG2への非常に多くのIPSec トンネルをセットアップすることで拡張できます。

テスターTは、トンネル/セッションの数、トンネルの設定/削除率、トンネルの寿命などに関連するパフォーマンスを測定する機能を備えている必要があります。

トラフィックを含むテストとQoSパラメータの測定の場合、テスターT は、暗号化されたトラフィックをラインレートで生成し、確立されたIPSec トンネルを介してトラフィックを送信できる必要があります。これは、特定のSG がデータを正しく暗号化または復号化しているかどうかをテストします。練習用のチップが使用されている専門の暗号化/復号化とテスト暗号化アルゴリズムが必要ではありません。

暗号化されたトラフィックジェネレータがない場合は、バックツーバックのテストシナリオを使用できます。このシナリオでは、ゲートウェイのペアがバックツーバックで接続され、暗号化されていないトラフィックが使用されます。

バックツーバック暗号化パフォーマンステスト

バックツーバックテストの場合、SG 1とSG2の両方を、次のようなシナリオに従って構成する必要があります。「IPアドレス200.200.200.Y宛てのIPアドレス100.100.100.X からインターフェイスIでIPトラフィックを受信した場合、次に、3DESを使用してトラフィックを暗号化し、そのトラフィックをIPSec トンネルでゲートウェイ250.250.250.4に送信します。

その後のテストには次の手順が含まれます。

  1. テストポートの背後にあるクライアントC1 と、2番目のテストポートの背後にある別のクライアントC2をエミュレートします。
  2. C1を最初のSUTに接続します。コネクト第SUT、SG2にSG1及びC2。
  3. C2 宛てのIPトラフィックをC1 からSG1に送信します。
  4.  SG1は送信元アドレスと宛先アドレスを調べ、そのデータに基づいて、トラフィックをSG2に転送する必要があります。
  5. このSG1を実現するには、新しいIPSec トンネルを作成するか、既存のIPSec トンネルを使用します。
  6. 次に、SG1は暗号化されたトラフィックをSG2に送信します。
  7. SG2はトラフィックを復号化し、通常のIPトラフィックをC2に配信します。
  8. トラフィックフローについて、テスターTは次のチェックを実行する必要があります。
    • 標準QoSパラメータ
    • データ整合性チェック

データ整合性チェックにより、暗号化と復号化が正しく行われることが保証されます。2つのゲートウェイ間でアナライザーを使用して、トラフィックが実際に暗号化されていることを確認することもできます。

スケーラビリティテストの場合、テスターは送信元クライアントと宛先クライアントの多くのペアをエミュレートして、ゲートウェイに多くのIPSec トンネルをセットアップさせ、それぞれに必要なレートでトラフィックを送信できます。

レイヤー3 IP VPN:L2TPを使用したリモートアクセスVPN

RFC 2661 [L2TP]で定義されているL2TP(レイヤー2トンネリングプロトコル)の目的は、PPP [PPP]セッションを「トンネリング」することです。IP(UDPを使用)またはフレームリレーの相手先固定接続(PVC)またはATM PVC を介して使用できます。フレームリレーまたはATM でL2TPが使用されるコンテキストでは、「レイヤー2トンネリングプロトコル」という名前が付けられています。実際には、L2TPはほとんど常にIPネットワークのコンテキストで使用されます。その結果、この記事では、L2TP VPNはレイヤー3 VPNに分類されています。

レイヤー3 IP VPNのセットアップ

L2TPプロトコルは、LAC(L2TPアクセスコンセントレータ)とLNS(L2TPネットワークサーバー)という2つの基本的なプロトコル要素を定義します。LACは通常、サービスプロバイダーのネットワークのエッジに常駐しますが、LNSは企業のエッジに常駐します。この説明で重要なもう1つのネットワーク要素は、LNSの背後にあるネットワークに接続しようとするリモートユーザー(リモート「クライアント」とも呼ばれます)です。

L2TP VPNのセットアップには、L2TP、PPP、IPCPプロトコルを含む一連のプロトコルパケット交換が必要です。要約すると、4つのステップが含まれます。

  1. リモートユーザー(クライアント)がLACと(たとえば、ダイヤルアップ接続を介して)PPPセッションを確立します。
  2. LACは、LNSとのL2TP トンネルを設定します。
  3. LNSは、このL2TP トンネルを介してリモートクライアントとのPPPセッションを確立します。
  4. このセッションでは、データが送受信されます。

PPPセッションの確立には、リンク制御プロトコル(LCP)ネゴシエーションによるリンク確立、認証PAP(パスワード認証プロトコル)の使用、リモートクライアントを検証するためのCHAP(チャレンジハンドシェイク認証プロトコル)の使用、およびネットワーク制御層プロトコル(IPのインターネット制御プロトコル[IPCP])の呼び出しが含まれます。

このタイプのトンネリングは「強制トンネリング」と呼ばれます。これは、リモートユーザーがLACに接続すると、LAC はLNS とのトンネルのセットアップに進むためです。「自発的トンネリング」では、LNSでトンネルを設定するのはリモートユーザーの責任であり、リモートユーザーにLAC機能が必要です。

L2TP要素であるLACとLNS はルーターに実装できますが、エンタープライズクラスの専用ゲートウェイはCPEベースのVPNにも展開されており、LAC機能を持つことができます。LNSはお客様のネットワークのエッジにあるCE ルーターに実装されるのに対し、サービスプロバイダーのネットワークのエッジにあるPEルーターは通常、LAC機能を提供します。

L2TPはPPPを使用してデータの初期カプセル化を提供し、IPネットワークを介して転送するために追加のヘッダーを追加します。完全なパケットの形式は次のとおりです。

LACをテストするために、テスターTは次の手順を使用します。

  1. 1つ以上のLNS要素を、別のインターフェースの背後のL2TPトンネルエンドポイントとしてエミュレートします。
  2. 1つのインターフェースの背後で1つ以上のPPP(PPPoE )クライアントをエミュレートします。
  3. LACを使用してエミュレートされたクライアントからPPPセッションを開始し、LACにエミュレートされたLNSを使用してL2TPトンネルをセットアップさせます。
  4. LACを介してエミュレートされたクライアントとエミュレートされたLNS 間の同じトンネルまたは異なるトンネルで複数のPPPセッションをセットアップします。
  5. これらのトンネルとセッションがセットアップされると、テスターTはクライアントからLNSにIP トラフィックを送信します。
  6. SUTは、エミュレートされたLNS要素の背後にあるテスターポートにIP トラフィックを転送することが期待されています。

このテストセットアップは、トンネル/セッションの数、トンネルセットアップ/削除率、トンネルの寿命に関連するパフォーマンスの測定を簡素化します。テスターがIPトラフィックを送信する場合、このタイプのテストでは、LACが適切なトラフィックを適切な宛先(LNS)に転送しているかどうかを判断できます。さらに、パケット損失、遅延、ジッターなどのQoS測定も測定できます。

プロトコルストレステストシナリオでは、テスターT は上記のシナリオをスケーリングして、SUTを介して数千のL2TPトンネルとPPP セッションを設定し、定格速度でテストインターフェイスを介してトラフィックを送信できます。

LNSをテストするには、テスターTは次の手順を使用します。

  1. テスターポートの1つの背後にある複数のLAC要素とそれらに接続されたクライアントをエミュレートします。
  2. エミュレートされたLACからLNS(SUT)へのL2TPトンネルをセットアップします。
  3. エミュレートされたクライアントとSUT 間のPPPセッションをセットアップします。
  4. LNSにIPトラフィックを送信します。

セッション/トンネルおよびQoSパラメータに関連する測定に加えて、これは、複数のLACにサービスを提供する能力に関して、LNSのスケーラビリティもテストします。

レイヤー3 MPLS VPN:BGP / MPLS VPN

この記事のレイヤー3の焦点は、RFC2547bis [BGP-VPN]で定義されているBGP / MPLS VPN です。このVPNタイプでは、バックボーンを介したパケット転送にMPLSが使用され、バックボーンを介したルート配布にBGPが使用されます。

このセクションでは、最初にBGP / MPLS VPNの概念について簡単に説明し、次に2つの異なるPEルーターに接続された地理的に離れた2つのサイトの間にVPNが設定される最も一般的なVPN ケースのテストの問題を確認します。

PE-CE接続

ほとんどのVPNと同様に、PEルータはBGP / MPLS VPNに必要なほとんどの情報処理を管理する必要があります。SPからBGP / MPLS VPNサービスを取得することに関心のある企業は、VPNサイトと呼ばれます。SP ネットワークに接続されているエンタープライズネットワーク内のルーターは、カスタマーエッジ(CE)ルーターと呼ばれます。したがって、VPNサイトは、1つ以上のCE ルーターを介して(SPネットワーク経由で)VPN上の他のサイトに接続します。PEルーターは、他のエンドポイントがCEデバイスであるインターフェースまたは「サブインターフェース」(PVC、VLAN、GREトンネルなど)のエンドポイントとしてサイト(S)に接続されます。

テストのこのフェーズでは、インターフェイスまたはサブインターフェイスの接続を確認します。

テスターTは、インターフェイスタイプごとに次の機能を提供する必要があります。

  • データトラフィックを送受信する機能(必要に応じて、各サブインターフェース上)
  • BGP4、OSPF、IS-IS、RIPなどのルーティングプロトコルを実行する機能(必要に応じて各サブインターフェイスで)。静的ルーティングも可能です。

さらに、テスターTは、必要なすべてのレイヤー2構成、アドレス指定、アラームなどをサポートし、レイヤー2 リンクの正常性についてレポートする機能を提供する必要があります(したがって、データパケットの送受信機能を確認します)。

PEでのVPN情報の維持

PEルータは、接続するVPNサイトごとに独立したVPN ルーティングおよび転送(VRF)テーブルを維持します。特定のサイト「S」に関連付けられたVRFテーブルには、「S」と共通のVPNが少なくとも1つある他のサイトにつながるルートのみが入力されます。

一般的な問題は、企業がRFC1918で推奨されているプライベートアドレス空間を使用しているために、異なる顧客ネットワークでアドレス空間が重複していることです。たとえば、同じPEに接続されているが別々のVPNに属している2つの独立したサイトでは、アドレス空間が重複している場合があります。その結果、あるサイト宛のトラフィックが別のサイトに送信される可能性があります。

これを回避するために、VPN-IPv4アドレスと呼ばれる新しいタイプのアドレスが作成されました。これは、8バイトの「ルート識別子(RD)」で始まり、4バイトのIPv4アドレスで終わる12バイトの数量です。以来RDは、そのユニークで行うことができる構造、すべてのためのVPN-IPv4アドレスサイトは、グローバルに固有のものにすることができます。

VRFテーブルはPEルータ内で維持されるため、外部テストツールは通常、それらにアクセスできません。ただし、VRFテーブルの実装は、以下で説明するVPNのデータ転送のテストを通じてテストできます。

VPNサイトの到達可能性

BGPの拡張属性の1つである「ルートターゲット」は、特定のVPNに参加しているサイトに情報を配信するためにBGPによって使用されます。場合VPN-IPv4ルートをPEルータによって作成され、それは、一つ以上のルートに関連付けられているターゲット属性。ルートターゲット(「T」)に関連付けられたルートは、「T」に関連付けられたVRF を持つすべてのPEルータに配布する必要があります。このようにして、ルートは特定のVRFにインストールされます。これは、その特定のルートのルートターゲットであり、そのVRFの「インポート」ターゲットの1つでもあります。その結果、VPNに参加している2つのサイトの両端に制御が存在します。

VPNの2つのサイトが同じ自律システム内のPEに接続している場合、PEは、直接またはルートリフレクターを介して、IBGP 接続を介してVPN-IPv4ルートを相互に配布できます。PEルータがBGPを介してVPN-IPv4ルートを配信する場合、PEルータは自身のアドレスをBGPの「ネクストホップ」として使用します。また、RFC 3107 [BGP-LBL]で指定されているように、VPN-IPv4 ルートに関連付けられたMPLSラベルを割り当てて配布します。これを「BGPラベル」と呼びます。

これらのすべての操作により、参加しているCEデバイスのVPN到達可能性情報が、明確でユニークな方法でPE デバイスに確実に利用可能になります。これらの手順に加えて、PEデバイス(BGPネクストホップ)が相互にトラフィックを送信できることを確認する必要もあります。これは、それらの間のMPLS LSPを使用して行われます。[BGP-VPN]ドキュメントには、このVPNアーキテクチャを実装するシステム間の相互運用性を確保するために、すべてのシステムがLDP [MPLS-LDP]をサポートする必要があると記載されています。

これらの機能のテストは、基本的なデータ転送を通じて行われ、次のセクションで説明します。

VPNのデータ転送

特定のVPNのCEデバイスは、ラベルのないIPパケットをPEに送信します。PEは、CEデバイスからデータパケットを受信すると、パケットの宛先アドレスを検索するために特定のVRFを選択します。この選択は、サイトがVRF アソシエーションに対して識別されるため、パケットの着信サブインターフェイスに基づいています。

着信パケットにはBGPネクストホップがあり、それにBGPラベルがあります。このラベルはパケットのラベルスタックにプッシュされ、最下部のラベルになります。このBGPネクストホップ、つまりPEルーターにも、送信元と宛先のPEルーター間に設定されたLSPを表すMPLSラベルが関連付けられています。このラベルもパケットにプッシュされ、2つの深さのラベルスタックが作成されます。

その後、MPLSはバックボーンを介してパケットを伝送します。パケットが出力PEに到達すると、MPLSラベルから飛び出します。パケットの出力PEルータの治療には、BGPラベルに依存します。多くの場合、PEは、このラベルから、(CEデバイスに)パケットを送信する必要があるサブインターフェイスと、そのインターフェイスの適切なデータリンク層ヘッダーを決定できます。

他の場合では、PEは、CEデバイスに転送される前に、特定のVRF でパケットの宛先アドレスを検索する必要があることのみを判断できる場合があります。MPLSヘッダー自体の情報、および/またはラベルに関連付けられた情報を使用して、CEへのインターフェイスにQoS データを提供することもできます。ときに、パケットが最終的にCEデバイスになる、それはなります再び通常のラベルのないIPパケットです。

テスターT は、基本的なVPN セットアップ機能テストの一部として、VRFテーブルの実装とVPN接続を確認するために、次の手順を実行する必要があります。

  1.  1 組のインターフェース上のテスターTで複数のサイト(したがって複数のCEルーター)をエミュレートし、SUTに接続します。
  2. 別のインターフェースのセットでデバイスとサイトのネットワークをエミュレートし、SUTに接続します。
    • c. iBGPを使用して、サイトのセット間でVPNルートをアドバタイズします(SUTのVRFテーブルに入力します)。
  3. PE(iBGPピア)間にLSPを設定します。
  4. これらのVPNを介して、エミュレートされたPEからシミュレートされたVRFの特定のアドレスセットにトラフィックを送信します。シミュレートされたVRFのエントリとLSPラベルに基づいて、MPLSラベルスタックが自動的に挿入されます。
  5. エミュレートされたCEからトラフィックを送信し、2レベルのラベルスタックを含むエミュレートされたPEでパケットを受信します。ラベルスタックは、ストリームごとの統計を使用して、リアルタイムで検証できます。
  6. ラベルスタックを含む着信データパケットのキャプチャとデコード
  7. 制御パケットのキャプチャとデコード

サイトのVRFテーブルとBGPラベルはどちらも異なる必要があります。テスターTは、さまざまなサイトとの間のトラフィックストリームを分析します。エミュレートされたPルーターに着信するトラフィックの場合、テスターTは、正しいラベルスタックが使用されているかどうかを確認します。CEデバイスに着信するトラフィックの場合、テスターTはトラフィックが正しい宛先に送信されているかどうかを確認します。

この時点で、テスターTには、BGP / MPLSVPNのセットアップに必要なすべての情報と機能が揃っています。いくつか繰り返すことにより、これらのステップを、テスタTを設定することができ、大多数の、SUTにVPN接続をこのように制御プレーンを強調しました。これは、次の2つの方法で実現できます。

  1. エミュレートされた多数のCEルーターを独立したVPNサイトとして接続し、SUTに多数のVRFテーブルを強制します。
  2. 1つのサイトを多数のVPNのメンバーにして、SUTに大きなVRFテーブルを強制します。

データストレスも実行できます。特定のVPNが設定されると、物理VPNで許可されている最大ラインレートで、このVPNを介してデータトラフィックを送信できます。

データトラフィックに対して、一連のQoS測定も有効にする必要があります。これらの測定には以下が含まれます。

  • パケット損失
  • パケット遅延
  • パケットジッタ

これらの測定は、VPNごとまたはインターフェイスごとに行う必要がある場合があります。

VPNサービスは通常、サービスレベル契約の対象となります。指定されたサービスパラメータには、許可された合計帯域幅、可用性、トラフィックQoS パラメータなどが含まれる場合があります。QoS詳細には、合計ネットワーク遅延、パケット損失、合計ジッタ(VPNが音声トラフィックを伝送する場合)などが含まれる場合があります。テスターTは、必要なラインレートトラフィックと高い制御負荷に必要な粒度レベルでの測定。サービステストの詳細については、この記事の後半で説明します。

レイヤー2 MPLS VPN

レイヤー2 MPLS VPNテストに進むにつれ、レイヤー2 VPN とレイヤー3 VPN の明確な違いに注意することが重要です。つまり、CEはレイヤー2 VPNの作成にまったく関与していません。

レイヤー2の場合、SPはレイヤー2インターフェースのみを顧客に提供し、カスタマーはレイヤー3オーバーレイの作成と管理を担当します。したがって、レイヤ2 MPLS VPNの場合、テストする必要があるのはPEだけですが、レイヤ2の相互作用をさらに詳しく調べる必要があります。

レイヤー2 MPLS VPN の標準はまだありませんが、企業はサービスプロバイダーから広域のポイントツーポイントのデータリンクレイヤー接続を購入し、トップの独自のレイヤー3インフラストラクチャを構築することにより、独自の広域ネットワークを構築してきました。現在注目されているインターネットドラフトには、[Martini-TRANS]と[Kompella]があります。 [Martini-TRANS]ドラフトのNEM実装については、すでに多くの発表があります。

次のセクションでは、[Martini-TRANS]のテスト方法について説明し、次に[ Kompella ]の方法について簡単に説明します。

PE-CE接続

この場合、PE-CE接続にルーティングプロトコルサポートを含める必要はありません。レイヤ2リンクがアップし、データフローが検証されている必要があります。相手先固定接続(PVC)を使用できます。テストは、データがPE デバイスとCEデバイスの間を流れることができることを確認するためだけに使用できます。

レイヤー2 VPNのセットアップ

レイヤー2の場合、VPNのセットアップは、サーキットエミュレーションサービスの確立に似ています。CEからCEへの接続は、仮想回線(VC)と見なされます。通常、「VCラベル」はこのVCを識別するために定義されます。

[Martini-TRANS]ドラフトは、MPLSを介したポイントツーポイント転送を扱います。移送レイヤ2つのパケット(プロトコル・データ入力PEからユニットまたはPDUの)ルータ(「R1」)への出口PEルータ(「R2」)、次の制御プレーン手順は(参照図4)が要求されます。

  1. MPLS LSPがR1 とR2の間に設定されています。
  2. R1とR2 は、拡張検出モードを使用して、別のLDP セッションを確立します。
  3. VCラベルはLDPによって配布され、ダウンストリーム非送信請求モードで実行されます。
  4. LDPプロトコル交換の一部として、VC に関する追加情報を伝えるために新しい情報要素が渡されます。これは、仮想回線FEC(転送等価クラス)要素と呼ばれます。
  5. この時点で、PEはデータの転送を開始する準備ができています。

このコントロールプレーンの交換により、VCラベルとMPLS LSPラベルによって、データパケットが2レベルでカプセル化されます。[Martini-ENCAP]ドラフトは、データパケットのカプセル化を定義しています。 さらに、ドラフトには、「エミュレートされたVCカプセル化」と呼ばれる第3レベルのカプセル化が必要です。このレベルには、対応するレイヤー2プロトコルを適切にエミュレートするために必要な、囲まれたレイヤー2 PDU に関する情報が含まれています。このタイプのカプセル化は「コントロールワード」と呼ばれます。

したがって、データパケットが送信されると、次のシーケンスでカプセル化されます。

イーサネットパケットの場合、コントロールワードではなく、イーサネットヘッダー自体が第3レベルのカプセル化として使用されます。

通常のレイヤー2パケットを上記の形式に変換するために使用されるプロセスの完全な詳細については説明しませんが、コントロールワードの内容はPDUタイプ(ATM AAL5 PDU、ATMセルまたはFRパケット)によって異なることに注意してください。

このタイプのレイヤー2 VPNをテストするために、テスターTは最初にレイヤー3 VPNテスト用にエミュレートされたものと非常によく似たネットワーク(CE、P、およびPEデバイスのコレクション)をエミュレートします。テストポートの1つはCE( “C1″)をエミュレートする必要があり、他のテストポートはPおよびPEデバイスのMPLSネットワークをエミュレートし、別のエミュレートされたCEはPE( ” R2」)。SUTはPEデバイス( “R1″)です。

これらの要素がエミュレートされると、テスターTは次のアクションを実行します。

  1. MPLS ネットワーク上のPE デバイスR1とR2の間に2つのLSPを設定します。1 つはR1からR2に、もう1つはR2からR1に設定します(これはMPLS LSPが単方向であるためです)。
  2. R1 とR2の間にLDPセッションを確立し(拡張ディスカバリーを使用)、VC情報を交換します。この段階で、VCラベルとMPLSラベルはR1とR2で使用でき、エンドポイントはデータトラフィックを交換する準備ができています。
  3. レイヤー2トラフィック(この例ではイーサネットパケット)をエミュレートされたCE1からR1に送信します。
  4. R1は、2つのラベルが上に付いたイーサネットパケットをR2に転送する必要があります(イーサネットヘッダーはそのままです)。
  5. テスト担当者Tは、2つの深いラベルスタックが正しいことを確認する必要があります
  6. テスターTは、R2からR1にC1を宛先とする2つのディープラベルスタックでトラフィックを送信します。
  7. 7SUT(R1)はこれら2つのラベルを取り除き、このトラフィックをC1に送信する必要があります。
  8. 次に、テスターTは、ポートに到着するトラフィックが正しいかどうかをチェックします。

上記のシナリオは、CEポートの数を大幅に増やすことなく拡張できます。これは、単一のCEPE 接続を介して非常に多くの仮想回線をエミュレートできるためです。

たとえば、テスターTにギガビットイーサネットポートがあり、2000個のVLANセッションでCEをエミュレートできるとします。その場合には、わずか数のポートを使用して、多数のVCが設定することができ、CEポートごとに、SUTを介して(「R1」)、同図に示すように7テスターTができ、またのように一部を構成することR1からのVC (たとえば、1000)はPE (R2)に設定する必要があり、その他(残りの1000)はR3に設定する必要があります。

これには、4つのLSPが必要になります(各PE-PE接続ごとに2 つ、各方向に1つ)。ここで重要なストレスシナリオは、SUT、R1 がVC をセットアップするための2000×2 LDP拡張ディスカバリーセッションの一部である必要があることです。複数のエミュレートされたCEがR1に接続されている場合、これにより、その倍数でセッション数が増加します。最後に、検証データトラフィックをこれらの各VC 経由で送信できます。

[ Kompella ]ドラフトは、レイヤー2 VPN をセットアップする別の方法を提供します。[Martini-TRANS]で定義されているLDPプロトコルの代わりに、VPN 到達可能性とVCラベル情報を通信するためのBGPプロトコルの使用を定義します。また、そのようなVPNの実装に関するいくつかの推奨事項も含まれています。[ Kompella ]ドラフトで定義されたステップは、ドラフトがまだ進化しているため、ここでは詳しく説明しません。

サービスレベルアグリーメントの確認

これまでのところ、このホワイトペーパーのすべての説明は個々のデバイスのテストに集中しており、システムの残りの部分はテスターTによってエミュレートされています。エミュレートされたネットワークの一部の要素は実際のデバイスに置き換えられる可能性があることに注意してください。デバイスにより、ユーザーはさまざまなメーカーの機器の組み合わせやネットワークをテストできます。

ネットワークテストの主な用途は、SPとその顧客との間のサービスレベルアグリーメント(SLA)の検証です。SLAパラメータが満たされているかどうかを判断するために、さまざまなメトリックを測定できます。

サービスレベルアグリーメントは、アクセスネットワーク接続ごと、VPNごと、VPNサイトごと、VPNルートごとに定義できます。SPは、次のパラメータのいずれかまたはすべてのレベルと測定間隔の両方を定義できます。

  • QoSおよびトラフィックパラメータ
    • PEからPEへのラウンドトリップ遅延
    • ジッタ(遅延の変動)
    • パケット損失率
  • サイト、VPN、またはアクセス接続の可用性
  • アクセスリンクロード
  • サービスのアクティブ化の間隔(たとえば、新しいサイトを立ち上げる時間)
  • 修理間隔
  • サイト、ルート、またはVPNに提供される総トラフィック
  • サイト、ルート、またはVPN の非準拠トラフィックの測定
  • ルーター使用率

この記事で以前に定義したメカニズムを使用すると、テスターTを使用してVPN をセットアップし、VPNに最大ラインレートでトラフィックを送信して、これらの各SLA パラメーターの指定された間隔で測定を提供できます。

サービスの確認

テスターTは、SLA測定のために以下の機能を備えている必要があります。

  • 非常にきめ細かいトラフィック測定。ネットワークQoSレベルとトラフィックコンテンツに必要な程度まで。
  • 地理的に離れたVPNエンドポイント間での分散トラフィック測定。
  • テストエンドポイントから送受信されたトラフィックを相関させ、VPNとネットワークの状態に関する現実的なレポートを作成できる同期測定。
  • VPNサイトごと、またはVPNルートごとの測定機能。

ブラックボックステストではSUTの使用率を測定できないことに注意することが重要です。これは他の方法で行う必要があります。SLA 検証に関するこの簡単な予備的な議論は、MPLS VPNに固有のものです。このテーマにはもっと注意が必要ですが、このホワイトペーパーでは、ネットワークまたはサービスの復元テストについての説明も含めることが重要です。

サービス復元の確認

SPが企業に商用VPNサービスを提供する場合、特定の可用性とQoSが保証されます。VPNトラフィックを伝送するリンクはさまざまな理由でダウンする可能性があるため、デバイスとネットワークに復元機能を実装する必要があります。

ネットワークの復元は、複数の方法で実装できます。通常は、基盤となるプロトコルインフラストラクチャ(この場合はMPLS)を使用して処理されます。さまざまな手法とアルゴリズムを使用できますが、2つの一般的な方法は、デバイスベースとネットワークベースの復元です。デバイスベースの技術は、高速の再ルーティング方法を提供します。ネットワークベースの手法では、1つ以上のバックアップLSP が提供されます。使用する方法に関係なく、VPN トラフィックにはネットワークを経由する代替パスがあると想定する必要があります。

明らかに、重要なテストの問題は、デバイスまたはネットワークがSLAに記述されているパラメトリック制限内でVPNサービスを復元できるかどうかを判断することです。次の手順では、このタイプのテストを実施する方法について説明します。

  1. テスターTはデバイスのネットワークをエミュレートします。VPNは、SUTに隣接するCE1(PE ルーター-R1)からSPネットワークを介してR2の背後にあるCE2にVPNをセットアップします。
  2. VPNトンネルは、パスR1-P1-P3-PE2に設定されたLSP( “LSP1″)内にネストされます。
  3. VPNラベルがL1で、トラフィックがSUTを離れるときのLSP ラベルがL2 であると想定します。
  4. VPNトラフィックはCE1からCE2に流れます。
  5. トラフィックのラベルスタックはData + L1 + L2です。
  6. SUTからPE2へのLSPには、別のパス:R1-P2-PE2を使用できます。(SUTが高速リルートをサポートしている場合、事前にLSPを設定しない場合があります)
  7. SUTとP1の間のリンクが何らかの方法でダウンします(レーザーオフが最速の方法です)。これにより、LSP1が破棄されます。
  8. R1は、PE2のP2を介して、ラベル「L3」を使用して新しいLSP(「LSP2」)をセットアップし、そのLSPを介してCE1-CE2 VPNトラフィックの送信を開始します。

テスターTは、次のチェックを実行する必要があります。

  • P2に着信するトラフィックを調べて、Data + L1 + L3のように見えることを確認します。
  • フローのパフォーマンス特性とその変更の測定。たとえば、LSP1を介した最後のパケットとLSPを介した最初のパケットの受信間の時間差(遅延)の測定、トラフィックのジッターの測定。
  • パケット損失をチェックするために、CE1から送信され、CE2で受信されたトラフィックの比較。

上記のシナリオは、他のポートを介して大量の制御またはデータトラフィックをSUTに送信しているときにも実行できます。これにより、SUTの現実的なネットワークトラフィックの負荷をエミュレートし、そのような条件下でSUTの復元容量をテストします。

結論

それはだことは、上記の議論から明らかなMPLS VPNのテストが複雑であるため、大型のプロセス、主に関連するコンポーネントの数。ただし、既存のツールを拡張することにより、NEMおよびSP MPLS VPNの開発と展開のテストに必要なテスト機能を利用できるようになります。

SNSでもご購読できます。