特許第6803085号(P6803085)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ボルタ ネットワークス, インコーポレイテッドの特許一覧

特許6803085データ経路分析によるマルチレイヤネットワークのトラブルシューティング
<>
  • 特許6803085-データ経路分析によるマルチレイヤネットワークのトラブルシューティング 図000002
  • 特許6803085-データ経路分析によるマルチレイヤネットワークのトラブルシューティング 図000003
  • 特許6803085-データ経路分析によるマルチレイヤネットワークのトラブルシューティング 図000004
  • 特許6803085-データ経路分析によるマルチレイヤネットワークのトラブルシューティング 図000005
  • 特許6803085-データ経路分析によるマルチレイヤネットワークのトラブルシューティング 図000006
  • 特許6803085-データ経路分析によるマルチレイヤネットワークのトラブルシューティング 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6803085
(24)【登録日】2020年12月2日
(45)【発行日】2020年12月23日
(54)【発明の名称】データ経路分析によるマルチレイヤネットワークのトラブルシューティング
(51)【国際特許分類】
   H04L 12/70 20130101AFI20201214BHJP
   H04L 12/717 20130101ALI20201214BHJP
【FI】
   H04L12/70 100A
   H04L12/717
【請求項の数】22
【全頁数】16
(21)【出願番号】特願2018-560970(P2018-560970)
(86)(22)【出願日】2017年5月22日
(65)【公表番号】特表2019-517217(P2019-517217A)
(43)【公表日】2019年6月20日
(86)【国際出願番号】US2017033768
(87)【国際公開番号】WO2017201521
(87)【国際公開日】20171123
【審査請求日】2020年5月22日
(31)【優先権主張番号】62/339,187
(32)【優先日】2016年5月20日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】518183309
【氏名又は名称】ボルタ ネットワークス, インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】チョン, レイモンド ウィング チェ
(72)【発明者】
【氏名】ボクダノヴィッチ, イヴァン ディーン
【審査官】 宮島 郁美
(56)【参考文献】
【文献】 米国特許第09178807(US,B1)
【文献】 米国特許出願公開第2012/0106358(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/955
(57)【特許請求の範囲】
【請求項1】
複数のネットワーク接続デバイスを備えているIPネットワーク内のパケット転送エラーの存在を決定するための方法であって、前記方法は、
ソフトウェア定義ネットワークコントローラにおいて、前記複数のネットワーク接続デバイスのうちの第1のネットワークデバイスと第2のネットワークデバイスとの間の潜在的なパケット転送エラーの指示を受信することであって、前記第1および第2のネットワークデバイスは、第1のホストデバイスと第2のホストデバイスとの間のデータ経路の少なくとも一部を形成する、ことと、
前記ソフトウェア定義ネットワークコントローラによって、前記第1のネットワークデバイスの転送プレーンを再構成することであって、前記第1のネットワークデバイスは、第1および第2の入口インターフェースを備え、前記再構成された転送プレーンは、多対1のマッピング機能性を実装し、それによって、前記第1の入口インターフェースにおいて投入されるデータパケットに適用される転送ルールが前記第2の入口インターフェースにおいて投入されるデータパケットにも適用される、ことと、
前記ソフトウェア定義ネットワークコントローラによって、試験パケットを前記第1のネットワークデバイスへの前記第2の入口インターフェースにおいて投入することであって、前記ソフトウェア定義ネットワークコントローラは、前記第2の入口インターフェースを介して前記第1のネットワークデバイスに結合され、前記試験パケットのヘッダは、前記第2のホストデバイスを前記試験パケットの目的地として識別するデータを含む、ことと、
前記ソフトウェア定義ネットワークコントローラによって、前記試験パケットが前記第2のネットワークデバイスにおいて受信されているかどうかを決定することと
を含み、
前記ソフトウェア定義ネットワークコントローラは、前記試験パケットが前記第2のホストデバイスに到達する前に前記試験パケットを抽出する、方法。
【請求項2】
データパケットは、マルチプロトコル標識切り替えを使用して、前記複数のネットワーク接続デバイスの間で伝送される、請求項1に記載の方法。
【請求項3】
前記データパケットは、仮想プライベートネットワークを使用して、前記複数のネットワーク接続デバイス間で伝送される、請求項2に記載の方法。
【請求項4】
前記ネットワーク接続デバイスのうちの少なくとも1つは、ルータを備えている、請求項1に記載の方法。
【請求項5】
制御プレーン機能が、前記ソフトウェア定義ネットワークコントローラによって提供され、転送プレーン機能が、前記複数のネットワーク接続デバイスによって提供される、請求項1に記載の方法。
【請求項6】
前記試験パケットが前記第2のネットワークデバイスによって受信されているかどうかを決定することは、前記第2のネットワークデバイスにクエリすることを含む、請求項1に記載の方法。
【請求項7】
前記ソフトウェア定義ネットワークコントローラによって、そのデータ経路から前記試験パケットを抽出することをさらに含む、請求項6に記載の方法。
【請求項8】
前記データパケットは、前記第2のネットワークデバイスから抽出される、請求項7に記載の方法。
【請求項9】
1つ以上の追加のネットワークデバイスが、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のデータ経路に沿って存在する、請求項1に記載の方法。
【請求項10】
複数のネットワーク接続デバイスを備えているIPネットワーク内のパケット転送エラーの存在を決定するためのシステムであって、前記システムは、
コンピュータ実行可能な命令を記憶するための少なくとも1つのメモリユニットと、
前記少なくとも1つのメモリユニット内に記憶される前記命令を実行するための少なくとも1つの処理ユニットと
を備え、
前記命令の実行は、仮想ソフトウェア定義ネットワークコントローラのインスタンス化をもたらし、前記仮想ソフトウェア定義ネットワークコントローラは、インスタンス化されると、
前記複数のネットワーク接続デバイスのうちの第1のネットワークデバイスと第2のネットワークデバイスとの間の潜在的なパケット転送エラーの指示を受信することであって、前記第1および第2のネットワークデバイスは、第1のホストデバイスと第2のホストデバイスとの間のデータ経路の少なくとも一部を形成する、ことと、
前記第1のネットワークデバイスの転送プレーンを再構成することであって、前記第1のネットワークデバイスは、第1および第2の入口インターフェースを備え、前記再構成された転送プレーンは、多対1のマッピング機能性を実装し、それによって、前記第1の入口インターフェースにおいて投入されるデータパケットに適用される転送ルールが前記第2の入口インターフェースにおいて投入されるデータパケットにも適用される、ことと、
試験パケットを前記第1のネットワークデバイスへの前記第2の入口インターフェースにおいて投入することであって、前記仮想ソフトウェア定義ネットワークコントローラは、前記第2の入口インターフェースを介して前記第1のネットワークデバイスに通信的に結合され、前記試験パケットのヘッダは、前記第2のホストデバイスを前記試験パケットの目的地として識別するデータを含む、ことと、
前記試験パケットが前記第2のネットワークデバイスにおいて受信されているかどうかを決定することと、
前記試験パケットが前記第2のホストデバイスに到達する前に前記試験パケットを抽出することと
を行う、システム。
【請求項11】
データパケットは、マルチプロトコル標識切り替えを使用して、前記複数のネットワーク接続デバイス間で伝送される、請求項10に記載のシステム。
【請求項12】
前記データパケットは、仮想プライベートネットワークを使用して、前記複数のネットワーク接続デバイス間で伝送される、請求項11に記載のシステム。
【請求項13】
前記ネットワーク接続デバイスのうちの少なくとも1つは、ルータを備えている、請求項10に記載のシステム。
【請求項14】
前記仮想ソフトウェア定義ネットワークコントローラは、制御プレーン機能を提供し、転送プレーン機能が、前記複数のネットワーク接続デバイスによって提供される、請求項10に記載のシステム。
【請求項15】
前記仮想ソフトウェア定義ネットワークコントローラは、前記第2のネットワークデバイスにクエリし、前記試験パケットが前記第2のネットワークデバイスによって受信されているかどうかを決定する、請求項10に記載のシステム。
【請求項16】
前記仮想ソフトウェア定義ネットワークコントローラは、そのデータ経路から前記試験パケットを抽出する、請求項15に記載のシステム。
【請求項17】
前記データパケットは、前記第2のネットワークデバイスから抽出される、請求項16に記載のシステム。
【請求項18】
1つ以上の追加のネットワークデバイスが、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のデータ経路に沿って存在する、請求項10に記載のシステム。
【請求項19】
前記データパケットは、レイヤ2(L2)切り替えプロトコル、レイヤ3(L3)ルーティングプロトコル、レイヤ3仮想プライベートネットワーク(L3VPN)ルーティングプロトコル、および/またはマルチプロトコル標識切り替え(MPLS)レイヤ3VPNルーティングプロトコルを使用して、前記複数のネットワーク接続デバイス間に伝送される、請求項1に記載の方法。
【請求項20】
前記第1のネットワークデバイスの前記転送プレーンは、前記第1のネットワークデバイス上に展開された1つ以上の仮想モジュールまたは構成要素を備える、請求項1に記載の方法。
【請求項21】
前記データパケットは、レイヤ2(L2)切り替えプロトコル、レイヤ3(L3)ルーティングプロトコル、レイヤ3仮想プライベートネットワーク(L3VPN)ルーティングプロトコル、および/またはマルチプロトコル標識切り替え(MPLS)レイヤ3VPNルーティングプロトコルを使用して、前記複数のネットワーク接続デバイス間に伝送される、請求項10に記載のシステム。
【請求項22】
前記第1のネットワークデバイスの前記転送プレーンは、前記第1のネットワークデバイス上に展開された1つ以上の仮想モジュールまたは構成要素を備える、請求項10に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の引用)
本願は、米国仮特許出願第62/339,187号(2016年5月20日出願、名称「Troubleshooting Multi−Layered Networks Using Datapath Analysis」)に対する優先権およびその利益を主張し、上記出願の開示は、本明細書に引用される。
【0002】
(発明の分野)
本発明は、概して、ネットワークルーティングを改良するための技術に関し、より具体的には、MPLS系ネットワークをトラブルシュ−ティングするためにデータ経路分析を使用するための技術に関する。
【背景技術】
【0003】
今日のデータネットワークでは、一般的な目的は、データトラフィックを、ネットワーク要素(例えば、ルータ、スイッチ等)のいくつかの組み合わせを介して、ホストマシンから別のマシンに送信することである。2つのホストマシン間で転送されるとき、トラフィックが辿るルートは、「データ経路」と称される。2つのホストが直接的に接続されない限り、ネットワーク要素間の接続性を理解するために、および、1つのネットワークサブネット(100)内のホストが中間ネットワーク要素(104a−104n、概して、104)および他のネットワークサブネット(108)内のホストと通信するためのデータ経路を構築するために、いくつかの組の制御プレーンプロトコル(例えば、OSPF、ISIS、MPLS RSVP、またはMPLS LDP)が、ネットワーク要素間で使用される。図1は、概して、これらの要素の配置を図示する。
【0004】
各ネットワーク要素は、データ経路のための制御プロトコルによって決定される異なる基準を使用して、以前のデバイスから伝送されたデータを次のネットワークセグメント上に転送する。ネットワークセグメントは、任意の2つのデバイスの間の接続であり、ホストとその接続ネットワーク要素との間、または2つの直接的に接続されるネットワーク要素間のいずれか一方の接続である。例えば、ネットワーク要素は、着信データパケットのLayer2、Layer3、またはMPLSヘッダを検査することによって、データパケットの転送方法を決定し、データパケットを異なるデータフォーマットにカプセル化すること、データパケットの外側ヘッダを除去することによってデータパケットのカプセルを除去すること、または、単純に、データパケットヘッダフォーマットを変更せずにデータパケットを転送することのいずれかを行い得る。
【0005】
図2は、概して、暗号化されたプライベート通信のためのレイヤ3仮想プライベートネットワーク(L3VPN)を促進するマルチプロトコル標識切り替え(MPLS)ネットワークのデータ経路を図示する。この技術は、データパケットをMPLS標識切り替え経路(LSP)トンネルを経由して伝送し、パケット転送は、ネットワークにおいて隣接するノードの知識および他のネットワーク特性に基づいて、ネットワーク層(OSIレイヤ3)において管理される。L3VPNネットワーク要素は、カスタマの建物に位置し、カスタマの内部ローカルネットワークとインターネットサービスプロバイダのコアネットワークとの間のインターフェースを提供するカスタマエッジノード(CE)(通常、ルータである)204a、204bと、CEノードとサービスプロバイダとの間をインターフェース接続するプロバイダエッジノード(PE)208a、208bと、プロバイダのネットワークを構成するプロバイダノード(P)212とから成る。
【0006】
L3VPNの場合、2つのエンドポイントは、2つのホストマシン100である。CEルータは、直接的に接続されるPEルータを介して、接続されたホスト100によって送信されたIPデータパケットを遠隔のCEルータに転送する。PEルータは、2つのMPLS標識を使用して各IPデータパケットをカプセル化し、1つ以上のPノードを介して、MPLSカプセル化IPデータパケットを遠隔のPEルータ(それは、MPLS「トンネル」の遠隔のエンドポイントである)に転送する。Pノードは、外部の(かつ内部のではない)MPLS標識を検査し、交換することによって、MPLSカプセル化IPデータパケットを遠隔のPEルータに向かって転送する。遠隔のPEルータがMPLSカプセル化IPデータパケットを受信すると、MPLSヘッダを除去し(故に、データパケットをその元のIPフォーマットに復元する)、それを、順に、IPデータパケットをその接続されるホストに転送する目的地のCEルータに転送する。図3は、ファイヤウォールフィルタリングが実装されたIPトラフィック転送の例を図示する。
【0007】
この例では、ルータ3は、内部ネットワーク(ルータlおよびルータ2)を公衆インターネットに接続するゲートウェイとして動作する。ルータ3は、OSPFを使用して、ルータl、ルータ2、および全ての他の内部ルータと通信するが、ルータ3は、BGPを使用してルータ4と通信する。ルータ4は、インターネットの残りに接続する。ルータ3は、内部ネットワークとインターネットとの間の意図されないユーザデータを破棄するために、ファイヤウォール特徴で構成される。
【0008】
これらの例は両方とも、2つ以上の制御プレーンプロトコルを用いて構築されているデータ経路を図示する。ファイヤウォールフィルタリングを伴うIPトラフィック転送の場合、ファイヤウォールも同様に、データ経路にインラインでつながれたサービスである。
【発明の概要】
【発明が解決しようとする課題】
【0009】
種々の実施形態では、本明細書に説明される技術および支援システムは、階層的トポロジ的なアドレス環境における移動性の課題に対処する再帰的ルーティング機構と、2つの端部のうちの1つにおけるネットワーク要素上、および中間ネットワーク要素の任意のものの上に実装され得るルーティングテーブルサイズとを実装することによって、前述の問題を克服する。
【課題を解決するための手段】
【0010】
第1の側面では、複数のネットワーク接続デバイスを備えているIPネットワーク内のパケット転送エラーの存在を決定する方法は、ソフトウェア定義ネットワークデバイスにおいて、複数のネットワーク接続デバイスのうちの第1のデバイスと第2のデバイスとの間の潜在的なパケット転送エラーの存在の指示を受信することと、ソフトウェア定義ネットワークデバイスによって、試験パケットを第1のデバイスへの入口において投入することとを含む。試験パケットは、第1のデバイスを識別する最初の入口インターフェース場所と、ソフトウェア定義ネットワークデバイスを識別する代替入口インターフェース場所と、第2のデバイスを識別する出口インターフェース場所とを含む。決定することは、次いで、試験パケットが、第2のデバイスにおいて受信されているかどうかについて成され得る。
【0011】
いくつかの実施形態では、データは、ルータ等のデバイス間でのマルチプロトコル標識切り替えの使用を含み得る仮想プライベートネットワークを通して伝送され、第1のデバイスと第2のデバイスとの間のデータ経路に沿って位置する複数のデバイスが、存在し得る。ある場合、制御プレーン機能が、ソフトウェア定義ネットワークデバイスによって提供され、転送プレーン機能が、複数のネットワークデバイスによって提供される。ソフトウェア定義ネットワークデバイスは、第2のネットワーク要素にクエリし、試験パケットがそこで受信されているかどうかを決定し、データ経路に沿ってルーティング課題が存在しないことを確認し得る。クエリは、第2のネットワーク要素の前またはそれのいずれか一方における、データ経路からの試験パケットの抽出をもたらし得る。
【0012】
別の側面では、本発明は、複数のネットワーク接続デバイスを備えているIPネットワーク内のパケット転送エラーの存在を決定するためのシステムを提供する。システムは、コンピュータ実行可能な命令を記憶するための少なくとも1つのメモリユニットと、メモリ内に記憶された命令を実行するための少なくとも1つの処理ユニットとを含み、命令の実行は、仮想ソフトウェアネットワークデバイスコントローラのインスタンス化をもたらす。インスタンス化されると、コントローラは、複数のネットワーク接続デバイスのうちの第1のデバイスと第2のデバイスとの間の潜在的なパケット転送エラーの指示を受信し、試験パケットを第1のデバイスへの入口において投入し、試験パケットは、第1のデバイスを識別する最初の入口インターフェース場所と、ソフトウェア定義ネットワークデバイスを識別する代替入口インターフェース場所と、第2のデバイスを識別する出口インターフェース場所とを備えている。コントローラは、次いで、試験パケットが、第2のデバイスにおいて受信されているかどうかを決定することができる。
【0013】
システムのいくつかの実施形態では、データは、ルータ等のデバイス間でのマルチプロトコル標識切り替えの使用を含み得る仮想プライベートネットワークを通して伝送され、第1のデバイスと第2のデバイスとの間のデータ経路に沿って位置する複数のデバイスが、存在し得る。ある場合では、制御プレーン機能が、仮想ソフトウェアネットワークデバイスコントローラによって提供され、転送プレーン機能が、複数のネットワークデバイスによって提供される。仮想ソフトウェアネットワークデバイスコントローラは、第2のネットワーク要素にクエリし、試験パケットがそこで受信されているかどうかを決定し、データ経路に沿ってルーティング課題が存在しないことを確認し得る。クエリは、第2のネットワーク要素の前またはそれのいずれか一方におけるデータ経路からの試験パケットの抽出をもたらし得る。
本願明細書は、例えば、以下の項目も提供する。
(項目1)
複数のネットワーク接続デバイスを備えているIPネットワーク内のパケット転送エラーの存在を決定する方法であって、前記方法は、
ソフトウェア定義ネットワークデバイスにおいて、前記複数のネットワーク接続デバイスのうちの第1のデバイスと第2のデバイスとの間の潜在的なパケット転送エラーの指示を受信することと、
前記ソフトウェア定義ネットワークデバイスによって、試験パケットを前記第1のデバイスへの入口において投入することであって、前記試験パケットは、前記第1のデバイスを識別する最初の入口インターフェース場所と、前記ソフトウェア定義ネットワークデバイスを識別する代替入口インターネット場所と、前記第2のデバイスを識別する出口インターフェース場所とを備えている、ことと、
前記ソフトウェア定義ネットワークデバイスによって、前記試験パケットが前記第2のデバイスにおいて受信されているかどうかを決定することと
を含む、方法。
(項目2)
データパケットは、マルチプロトコル標識切り替えを使用して、前記複数のネットワーク接続デバイスの間で伝送される、項目1に記載の方法。
(項目3)
前記データパケットは、仮想プライベートネットワークを使用して、前記複数のネットワーク接続デバイス間で伝送される、項目2に記載の方法。
(項目4)
前記ネットワーク接続デバイスのうちの少なくとも1つは、ルータを備えている、項目1に記載の方法。
(項目5)
制御プレーン機能が、前記ソフトウェア定義ネットワークデバイスによって提供され、転送プレーン機能が、前記複数のネットワークデバイスによって提供される、項目1に記載の方法。
(項目6)
前記試験パケットが前記第2のデバイスによって受信されているかどうかを決定することは、前記第2のネットワーク要素にクエリすることを含む、項目1に記載の方法。
(項目7)
前記ソフトウェアネットワークデバイスによって、そのデータ経路から前記試験パケットを抽出することをさらに含む、項目6に記載の方法。
(項目8)
前記データパケットは、前記第2のネットワークデバイスに到達するより前に抽出される、項目7に記載の方法。
(項目9)
前記データパケットは、前記第2のネットワークデバイスから抽出される、項目7に記載の方法。
(項目10)
1つ以上の追加のネットワークデバイスが、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のデータ経路に沿って存在する、項目1に記載の方法。
(項目11)
複数のネットワーク接続デバイスを備えているIPネットワーク内のパケット転送エラーの存在を決定するためのシステムであって、前記システムは、
コンピュータ実行可能な命令を記憶するための少なくとも1つのメモリユニットと、
前記メモリ内に記憶される前記命令を実行するための少なくとも1つの処理ユニットと
を備え、
前記命令の実行は、仮想ソフトウェアネットワークデバイスコントローラのインスタンス化をもたらし、前記仮想ソフトウェアネットワークデバイスコントローラは、インスタンス化されると、
前記複数のネットワーク接続デバイスのうちの第1のデバイスと第2のデバイスとの間の潜在的なパケット転送エラーの指示を受信することと、
試験パケットを前記第1のデバイスへの入口において投入することであって、前記試験パケットは、前記第1のデバイスを識別する最初の入口インターフェース場所と、前記ソフトウェア定義ネットワークデバイスを識別する代替入口インターフェース場所と、前記第2のデバイスを識別する出口インターフェース場所とを備えている、ことと、
前記試験パケットが前記第2のデバイスにおいて受信されているかどうかを決定することと
を行う、システム。
(項目12)
データパケットは、マルチプロトコル標識切り替えを使用して、前記複数のネットワーク接続デバイス間で伝送される、項目10に記載のシステム。
(項目13)
前記データパケットは、仮想プライベートネットワークを使用して、前記複数のネットワーク接続デバイス間で伝送される、項目12に記載のシステム。
(項目14)
前記ネットワーク接続デバイスのうちの少なくとも1つは、ルータを備えている、項目10に記載のシステム。
(項目15)
前記仮想ソフトウェアネットワークデバイスコントローラは、制御プレーン機能を提供し、転送プレーン機能が、前記複数のネットワークデバイスによって提供される、項目10に記載のシステム。
(項目16)
前記仮想ソフトウェアネットワークデバイスコントローラは、前記第2のネットワーク要素にクエリし、前記試験パケットが前記第2のデバイスによって受信されているかどうかを決定する、項目10に記載のシステム。
(項目17)
前記仮想ソフトウェアネットワークデバイスコントローラは、そのデータ経路から前記試験パケットを抽出する、項目16に記載のシステム。
(項目18)
前記データパケットは、前記第2のネットワークデバイスに到達するより前に抽出される、項目17に記載のシステム。
(項目19)
前記データパケットは、前記第2のネットワークデバイスから抽出される、項目17に記載のシステム。
(項目20)
1つ以上の追加のネットワークデバイスが、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のデータ経路に沿って存在する、項目10に記載のシステム。
【図面の簡単な説明】
【0014】
図面では、同様の参考記号は、異なる図面全体を通して、概して、同一の部分を指す。さらに、図面は、必ずしも正確な縮尺率ではなく、代わりに、概して、本発明の原理の例証に応じて強調される。
図1図1−3は、概して、本発明が実装され動作し得る分野に関連する、種々の背景情報を図示する。
図2図1−3は、概して、本発明が実装され動作し得る分野に関連する種々の背景情報を図示する。
図3図1−3は、概して、本発明が実装され動作し得る分野に関連する種々の背景情報を図示する。
図4図4は、本発明の種々の実施形態に従ってネットワークをトラブルシューティングするために使用される試験パケットの使用を図示する。
図5図5は、本発明が実装され動作し得る介在データパケット分析の使用を図示する。
図6図6は、本発明が実装され動作し得る介在データパケット分析の追加の例示的使用を図示する。
【発明を実施するための形態】
【0015】
本発明の実施形態は、データ経路のトラブルシューティングを促進するために、ソフトウェア定義ネットワーク(「SDN」)の技術および原理を利用する。データ経路に沿ったネットワーク要素上のSDNコントローラの知識を使用して、SDNコントローラは、
・ 適切なデータパケットフォーマットの試験パケットを、データ経路に沿った任意のネットワーク要素上に投入し、
・ データ経路に沿った任意のネットワーク要素にクエリすることによって、データ経路に沿った試験パケットを横断して任意の問題を検査し、
・ データ経路に沿った任意の点において、試験パケットを引き出すことができる。
【0016】
伝統的に、データ経路をトラブルシューティングするために、オペレータは、2つのエンドポイント間にPingパケットを送信し、2端間の接続性を検証する。L3VPNの場合、Pingパケットは、Ping(IPを経由したICMP)パケットが、L3VPNトラフィックデータの通常のデータ経路を辿るであろうように、CEルータから遠隔のCEルータに送信される。
【0017】
このPingパケットは、IPパケットとして、CEルータからPEルータに転送され、PEルータ上でMPLSフレーム内にカプセル化され、接続するPルータに転送され、Pルータは、それを、入口インターフェースおよびMPLS標識の組み合わせを検査することによって、遠隔のルータに向かってMPLS標識切り替えを行う。パケットは、遠隔のPEルータに到達すると、カプセル除去され、IPパケットフォーマットで遠隔のCEルータに転送される。
【0018】
伝統的なネットワークでは、2つのPEルータ間のこのデータ転送経路に問題がある場合、正しいフォーマットの試験パケットが、容易にデータ経路の中に投入されることができない(ネットワークオペレータは、PEまたはPルータにログオンすることができるが、大部分のルータは、ICMP/IP Pingパケットを生成するための能力のみを有し、全てのルータが、MPLS LSP経路をPingまたは辿るための能力を有しているわけではなく、特定のMPLS標識を使用するPingは、殆ど前例がない)。例えば、試験パケットがPEまたはPルータにおいてデータ経路の中に投入されるIPもしくはPingパケットである場合、PEまたはPルータは、転送ノードを決定するために、(IPパケットが有していない)MPLS標識を見るのではなく、パケットのIPヘッダ(宛先IPアドレス)を検査するのみであろう。故に、このIP試験パケットは、L3VPNデータ経路内の遠隔のPEルータまたは遠隔のCEルータに向かったMPLS切り替え経路を辿らず、IP試験パケットは、このデータ経路をトラブルシューティングするための正しいフォーマットではない。PEまたはPルータにおいてMPLSフレームを投入することは、特定の入口インターフェースから発出することができ、トラフィックジェネレータに接続するために、入口インターフェースの接続解除を要求し。それによって、試験パケットは、L3VPNトラフィック内に中断をもたらし得る。元のネットワーク接続を接続解除し、それをトラフィックジェネレータに接続することが、必要である。なぜなら、PEまたはPルータは、入口インターフェースおよび外部MPLS標識の組み合わせを見てデータ経路を辿る方法を決定し、試験パケットを投入することは、ルータ入口インターフェースに接続するトラフィックジェネレータが、特定のMPLSヘッダを伴う試験パケットを生成することを要求するからである。
【0019】
ネットワークデバイスの伝統的な実装の別の困難は、データ転送プレーンが、制御プレーンと緊密に結合されることである。特に、転送経路を修正することは、容易ではない。
{intf1 is ingress,label1}−−action−−>{intf2 is egress,label2}
入口インターフェース上の接続を中断する必要を生じさせないように、代替方法が、この転送経路に追加されるべきである。
{intf1 or intf3 is ingress,label1}−−action−>{intf2 is egress,label2}
本明細書に説明されるSDNが使用されない場合、制御プレーン処理および転送プレーン処理の両方は、ネットワーク要素上に共存するであろう。ネットワーク要素上の各制御プレーン処理は(例えば、OSPF、ISIS、またはBGP等のルーティングプロトコルを取り扱うルーティング処理、もしくはSTP等のL2切り替えプロトコルを取り扱うイーサネット(登録商標)切り替え処理)、同一ネットワーク内の他のネットワーク要素上の同一の特徴構成要素と通信し、ユーザトラフィックがネットワーク内に転送される方法を決定する責任がある。したがって、各ネットワークインターフェースデバイス上に到達し、かつそのインターフェース上において修正データパケットが送出されるべきであるデータトラフィックの操作(例えば、データパケットヘッダの変更を伴う/伴わない転送、カプセル化、またはカプセル除去)を管理する特定のポリシの実装が、制御プレーンに適用される。したがって、伝統的なネットワークトラブルシューティングは、制御プレーンの観点から対処され、あったとしても非常に限定されたデータ経路トラブルシューティングを含む。
【0020】
上記のL3VPN例では、L3VPNデータ経路は、BGPおよびIGP(OSPFまたはISIS)の組み合わせと、2つのPEルータとPルータ(いくつかの場合は、ユーザデータトラフィックの転送に関わらないルータ)との間のMPLSプロトコルとによって決定され、設定され、異なるルーティングプロトコルが、CEルータとPEルータとの間で通信される。ルートフィルタリングが、任意の、またはCEもしくはPEルータの全ての上に実装され得る。
【0021】
これらの構成要素の制御プレーン側面をトラブルシューティングするために使用される従来の機構は、例えば、ネットワーク要素の各々が、ネットワーク内の他のネットワーク要素と制御プレーンプロトコルを通信する方法(それは、データ経路を定義する)に対処する。図3に図示されるファイヤウォールフィルタリングを伴うIP転送の例に対して、伝統的な制御プレーントラブルシューティングは、内部のルータ(ルータ1、ルータ2、および他の内部のルータ)およびルータ3上のOSPF情報と、ルータ3とルータ4との間のBGP情報とを精査することを含む。オペレータは、典型的には、ルータ3上のファイヤウォール特徴も精査するであろう。
【0022】
データ経路を使用するいくつかのサービス問題(例えば、ビデオ用途)をトラブルシューティングするために、オペレータは、内部ホストからの従来のPing(ICMP)に伝統的に依拠し、内部ホストとインターネットホストとの間の接続性を試験する。これは、ファイヤウォールがICMPパケットをフィルタリングするが、ビデオパケットが通過することを可能にする場合、ファイヤウォールがICMPパケットが通過することを可能にするが、ビデオパケットをフィルタリングする場合、またはインターネットホストがPing要求に応答しない場合、失敗し得る。適切なフォーマット(この場合、ビデオパケットフォーマット)のパケットのみが、ネットワークに起因するサービス問題を確実にトラブルシューティングすることができる。
【0023】
種々の実施形態では、本明細書に説明される技術および支援システムは、階層的トポロジ的なアドレス環境における移動性の課題に対処する再帰的ルーティング機構と、ルーティングテーブルサイズとを実装することによってこれらの問題を克服し、それは、2つの端部のうちの1つにおけるネットワーク要素上と、中間ネットワーク要素の任意のものの上とに実装され得る。
【0024】
制御プレーンは、信号トラフィックを搬送し、ルーティング、システム構成、および管理の責任があるネットワークの部分である。データ転送プレーン(時として、ユーザプレーン、データプレーン、キャリアプレーン、またはベアラプレーンとしても既知である)は、ユーザトラフィックを搬送するネットワークの部分である。従来のネットワーク要素設計では、転送プレーンは、ネットワーク要素上の制御プレーン要素によって制御され、データ転送プレーンを外部的に操作または修正する方法は存在しない。制御プレーンレベル上で、MPLS標識切り替えは、1対1のマッピング(ユニキャスト)または1対多のマッピング(マルチキャスト)として実装されるが、多対1のマッピングとしては実装されない。
【0025】
本発明の種々の実施形態では、制御プレーンおよび転送プレーン処理要素は、別個であり、制御プレーン動作は、SDN(例えば、仮想)コントローラ上に実装され、ネットワーク要素上の転送プレーン動作にマッピングされる。したがって、本発明は、制御プレーンに影響を及ぼすことなく、データ転送プレーン上への多対1のマッピング機能性の追加を促進する。
【0026】
結果として、転送経路は、以下のように表されることができる。
{intf1 or SDN control intf is ingress,label1}−action−>{intf2 is egress,label2}
このアプローチを使用して、SDNコントローラは、デバイスの上に試験パケットを送信し、トラブルシューティングの必要性を疑うデータ経路を辿らせる。試験パケットは、標識1を伴うSDN制御intfから標識2を伴う出口intf2に切り替えられると、当該データ経路を辿るであろう。
【0027】
この技術は、データ経路に沿ったネットワーク要素の任意のものの上で使用されることができる。SDNコントローラ(試験パケットの投入に責任のあるエンティティ)は、データ経路に沿った全てのデバイスに対して責任があるので、任意の点におけるデータ経路の中への挿入のために必要とされるパケットフォーマットを正確に把握している。同じ理由により、SDNコントローラは、データ経路に沿った任意の場所(例えば、宛先に到達する前の移動の間)の試験パケットに関する情報をも得る必要があり、SDNコントローラは、そのような情報をデータ経路に沿ったネットワーク要素の任意のものから読み出すことができる。
【0028】
本発明のアプローチは、データ経路に沿った任意の構成要素上への試験パケット投入を可能にすることによって、トラブルシューティングを促進する。SDNコントローラは、データ経路を決定するために使用される特定の制御プレーンプロトコル、および任意のネットワークセグメント上で使用されるトラフィックデータフォーマットを把握しているので、必要とされるパケットフォーマットを決定する。
【0029】
図4に図示されるように編成されるL3VPNの例において、SDNコントローラ404は、CE1とCE2との間のデータ経路に対して、全てのルータ(304a−304d)を制御し、それは、ネットワーク要素の各々の役割と、CE1がPE1を介してCE1からCE2にIPパケットを、送信するであろうこととを把握している。PE1がCE1またはCE1の後方の内部ネットワーク内のホストから送信されたパケット(送信元IPアドレス)を受信するとき、それは、CE2またはCE2後方の内部ネットワーク内のホストに仕向けられたIPパケットであろう。このデータ経路を試験するために、SDNコントローラは、PE1上にIPパケットを生成し、IPパケットは、CE1またはCE1後方の内部ネットワークからのホストの送信元IPアドレスと、CE2もしくはCE2後方の内部ネットワークからのホストの宛先IPアドレスと、いくつかの事例では、試験パケット識別のための試験データペイロードとを伴う。
【0030】
データ経路転送問題がPとCE2との間に存在すると思われる場合、図5に図示されるように、SDNコントローラ404は、ルータP上にMPLSパケットを生成し、MPLSパケットは、前述のIPパケットをカプセル化するP上の入口インターフェース上で予期されるMPLS標識を伴い、ここで、SrcAは、CE1またはCE1後方の内部ネットワーク内のホストのIPアドレスであり、DstBは、CE2もしくはCE2後方の内部ネットワーク内のホストのIPアドレス(宛先ノード)であり、標識1はルータP上の入口インターフェース上で受信されることが予期されるMPLS標識である。この使用の場合、試験パケットは、PE2ルータと、次いで、単一の構成要素を越えるCE2ルータとを横断することができる。
【0031】
しかしながら、本開示アプローチは、Pルータ上に進入する(例えば、Pルータ上の処理を試験する)MPLSカプセル化IPパケットを送信した後、Pルータ上の出口インターフェース上の出口MPLSカプセル化IPパケットを監視することによって、ネットワークユニット試験に拡張されることができる。
【0032】
ファイヤウォールが使用されている例では、経路は、図6に示されるようなものであり得る。ルータlからインターネットへのビデオパケット転送をトラブルシューティングするために、例えば、試験パケットは、SrcCが、ルータ1の前のホストパケットのIPアドレスであり、DstDが、インターネット内のホストパケットのIPアドレスである、IP送信元アドレスSrcCおよびIP宛先アドレスDstDを使用してビデオパケットフォーマットに生成されることができる。
【0033】
例えば、データ中断が、ルータ3上に存在すると思われる場合、試験パケットは、ルータ3の前の任意の場所において、またはパケットがルータ3上で処理される前に投入されることができる。ルータ4が、試験パケットを受信する場合、ルータ3転送、およびIPカプセル化ボイスフォーマットへのファイヤウォールフィルタリング機能が、確認される。
【0034】
本明細書に説明される技術は、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実装されることができる。この技術は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のコンピュータ等のデータ処理装置によって、もしくはその動作を制御するために実行するためのコンピュータプログラム製品、すなわち、例えば、機械読み取り可能な記憶デバイス、または他の非一過性記憶媒体等の情報担体内に有形に具現化されたコンピュータプログラムとして実装されることができる。コンピュータプログラムは、コンパイラ型言語またはインタプリタ型言語を含む任意の形態のプログラミング言語で記載されることができ、独立型プログラム、モジュール、構成要素、サブルーチン、もしくは計算環境における使用に好適な他のユニットを含む任意の形態内に展開されることができる。コンピュータプログラムは、1台のコンピュータ上に、または1カ所における、もしくは複数カ所を横断して分散されかつ通信ネットワークによって相互接続される複数のコンピュータ上に展開されることができる。
【0035】
本明細書に説明される技術の方法ステップは、コンピュータプログラムを実行し入力データに関して動作し出力を生成することによって本発明の機能を実施する1つ以上のプログラマブルプロセッサによって実施されることができる。方法ステップは、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)等の特殊目的論理回路によって実施されることができ、本発明の装置は、そのような特殊目的論理回路として実装されることもできる。モジュールは、その機能性を実装するコンピュータプログラムおよび/またはプロセッサ/特殊回路の部分を指し得る。
【0036】
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用目的および特殊目的マイクロプロセッサと、デジタルコンピュータの任意の種類の任意の1つ以上のプロセッサとの両方を含む。概して、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリ、もしくは両方から命令およびデータを受信するであろう。コンピュータの不可欠要素は、命令を実行するためのプロセッサ、および命令ならびにデータを記憶するための1つ以上のメモリデバイスである。概して、コンピュータは、例えば、磁気、光磁気ディスク、または光学ディスク等のデータを記憶するための1つ以上の大容量記憶装置も含むか、またはデータをそれから受信すること、データをそれに転送すること、もしくはその両方を行うためにそれに動作可能に結合されるであろう。コンピュータプログラム命令およびデータの具現化に好適な情報キャリアは、例として、例えば、EPROM、EEPROM、ならびにフラッシュメモリデバイス等の半導体メモリデバイス、例えば、内部ハードディスクまたはリムーバブルディスク等の磁気ディスク、光磁気ディスク、CD−ROMディスク、およびDVD−ROMディスクを含むあらゆる形態の不揮発性メモリを含む。プロセッサおよびメモリは、特殊目的論理回路によって補完されるか、またはその中に組み込まれることができる。
【0037】
本明細書に説明される技術およびシステムアーキテクチャは、例えば、データサーバ等のバックエンド構成要素、および/または例えば、アプリケーションサーバ等のミドルウェア構成要素、および/または例えば、グラフィックユーザインターフェースを有するクライアントコンピュータ等のフロントエンド構成要素、および/またはそれを通してユーザが本発明の実装と相互作用することができるウェブブラウザ、もしくはそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組み合わせを含む、分散コンピュータシステム内に実装されることができる。システムの構成要素は、例えば、通信ネットワーク等のデジタルデータ通信の任意の形態または媒体によって相互接続されることができる。通信ネットワークの実施例は、ローカルエリアネットワーク(「LAN」)と、例えば、インターネット等の広域ネットワーク(「WAN」)とを含み、有線ネットワークと、無線ネットワークとの両方をも含む。
【0038】
コンピュータシステムは、クライアントと、サーバとを含み得る。クライアントおよびサーバは、概して、相互に遠隔であり、典型的には、通信ネットワークを経由して相互作用する。クライアントとサーバとの関係は、個別のコンピュータ上で起動し、かつ相互にクライアント/サーバ関係を有するコンピュータプログラムによって生じる。
【0039】
本発明のある実施形態が、上で説明された。しかしながら、本発明は、それらの実施形態に限定されず、むしろ、本明細書に明白に説明されたものに対する追加および修正も、本発明の範囲内に含まれることが意図されることが、明白に記載される。そのうえ、本明細書に説明される種々の実施形態の特徴は、相互排他的ではなく、たとえそれらの組み合わせまたは並び替えが本明細書において明白に成されていない場合であっても、本発明の精神および範囲から逸脱することなく、そのような種々の組み合わせならびに並び替えの中に存在し得ることを理解されたい。事実上、本明細書に説明されたものの変型例、修正、および他の実装が、本発明の精神ならびに範囲から逸脱することなく当業者に生じるであろう。したがって、本発明は、前述の例証的説明のみによって定義されるものではないとする。
図1
図2
図3
図4
図5
図6