(57)【要約】  本発明の実施形態は、理解可能で、直観的で、アクション可能なプラットフォームでユーザに提示され得る関連する有用な情報を計算するために改善された方法、技法、およびシステムを提供する。対話型プラットフォームは、ネットワークの様々な機能レイヤにおいて広範囲のプロトコルおよびトポロジのためのデータを提示することが可能であるフォーマットおよび視覚化を含む。対話型プラットフォームは、単に症状の例を提示するのではなく、問題の潜在的な根本原因の分析および調査を助けるためにユーザに表示されるネットワークデータおよびビューを更新するフィルタの選択可能なカテゴリを提供する。対話型プラットフォームは、ネットワークの様々な機能レイヤにおけるネットワーク挙動の差を提示することが可能である方法および視覚化を含む。
2019536331.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク分析のためのコンピュータ実装方法であって、
ネットワーク上の１つまたは複数のネットワークデバイスに関連する構成データと状態データとを取得することと、
前記ネットワークのトラフィックフローに関連するネットワークフローパス情報を取得することと、
前記ネットワークの１つまたは複数の対応する機能レイヤにおける前記ネットワークフローパス情報を公開することと、
前記１つまたは複数のネットワークデバイスに関連する前記構成データと前記状態データとに少なくとも部分的に基づく転送挙動を含む、前記１つまたは複数の対応する機能レイヤにおける前記ネットワークの前記ネットワークフローパス情報と前記トラフィックフローとを表示のために与えることと、ここにおいて、前記転送挙動が、１つまたは複数の対応する機能レイヤにおける前記１つまたは複数のネットワークデバイスにおけるパケットの挙動を定義する、
を備える、コンピュータ実装方法。
【請求項２】
１つまたは複数の共通パス要素を共有するネットワークフローパスを決定することと、
ネットワークフローパスのグループとして１つまたは複数の共通パス要素を共有する前記ネットワークフローパスを識別することと、
前記グループ内の各ネットワークフローパス間の差について前記グループ中の各ネットワークフローパスを個々に検査することと、
前記グループ中の各ネットワークフローパス間の前記差を表示のために与えることと
をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項３】
ネットワークフローパスごとに１つまたは複数のサンプルパケットを決定することと、ここにおいて、前記１つまたは複数のサンプルパケットが、各ネットワークフローパスに沿った転送挙動を有するパケットを表す、
前記１つまたは複数のサンプルパケットを表示のために与えることと
をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項４】
各ネットワークフローパスに適用可能な１つまたは複数の制約を選択のために与えることと、ここにおいて、前記１つまたは複数の制約が、前記１つまたは複数のネットワークフローパスの範囲を制限する、
前記１つまたは複数の制約のための選択を受信することと、
前記１つまたは複数の制約の前記選択によって決定された前記１つまたは複数のネットワークフローパスの前記範囲を表示のために与えることと
をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記ネットワーク中で第１の要求フローパスまたは第１の応答フローパスを識別することと、
前記ネットワーク中で前記第１の要求フローパスに対応する第２の応答フローパスまたは前記第１の応答フローパスに対応する第２の要求フローパスを生成することと、ここにおいて、前記第１の要求フローパスにマッチングするトラフィックが、前記第２の応答フローパスにマッチングするトラフィックを生成し、前記第２の要求フローパスにマッチングするトラフィックが、前記第１の応答フローパスにマッチングするトラフィックを生成する、
前記第１の要求フローパス、前記第１の応答フローパス、前記第２の要求フローパスおよび前記第２の応答フローパスのうちの１つまたは複数に基づいて前記フローデータを決定することと、
前記フローパスデータを表示のために与えることと
をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記要求フローパスと前記応答フローパスとのうちの少なくとも１つを分析することと、
前記要求フローパスがステートフル要求フローパスであると決定することと、ここにおいて、前記ステートフル要求フローパスが、前記１つまたは複数のネットワークデバイスに関連する前記応答フローパスによって定義された転送挙動を決定する状態を前記ネットワーク中に確立する、
前記応答フローパスがステートフル応答フローパスであると決定することと、ここにおいて、前記ステートフル応答フローパスが、前記ネットワークを通した前記要求フローパスにマッチングする転送挙動を有するパケットを含む、
をさらに備える、請求項５に記載のコンピュータ実装方法。
【請求項７】
１つまたは複数の制約にマッチングする前記ネットワークの第１のスナップショット中の１つまたは複数の第１のフローと前記ネットワークの第２のスナップショット中の１つまたは複数の第２のフローとを計算することと、
前記第１のスナップショット中の第１のフローごとに、第１のサンプルパケットを計算することと、
前記第１のスナップショットを通して前記第１のサンプルパケットの第１の挙動を分析することと、
前記第２のスナップショットを通して前記第１のサンプルパケットの第２の挙動を分析することと、
前記第１のスナップショット中の第１のフローごとに前記第１のサンプルパケットにマッチングする前記フローとは別個である前記第２のスナップショットの前記第２のフロー中のフローの第３の集合を計算することと、
フローの前記第３の集合中のフローごとに、第２のサンプルパケットを計算することと、
前記第１のスナップショットを通して前記第２のサンプルパケットの第３の挙動を分析することと、
前記第２のスナップショットを通して前記第２のサンプルパケットの第４の挙動を分析することと、
前記第２の挙動と前記第１の挙動を比較することと、
前記第４の挙動と前記第３の挙動を比較することと、
前記第１の挙動と前記第２の挙動との間の前記比較を表示のために与えることと、
前記第３の挙動と前記第４の挙動との間の前記比較を表示のために与えることと
をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記ネットワークの２つ以上のネットワーク構成を選択のために与えることと、
１つまたは複数の機能レイヤに対応する前記構成データと前記状態データとに少なくとも部分的に基づいて前記２つ以上のネットワーク構成を比較することと、
前記２つ以上のネットワーク構成を表示のために与えることと、前記表示が、前記１つまたは複数の対応する機能レイヤにおける前記２つ以上のネットワーク構成間の差を含む、
をさらに備える、請求項１に記載のコンピュータ実装方法。
【請求項９】
方法を実行するためにプロセスによって実行可能なコードを記憶する非一時的コンピュータ可読媒体であって、前記方法が、
ネットワーク上の１つまたは複数のネットワークデバイス間の相互接続を定義するネットワークフローパス情報を取得することと、
前記ネットワークの１つまたは複数の対応する機能レイヤにおける前記１つまたは複数のネットワークデバイス間の前記相互接続にわたって横断するパケットの挙動を定義するトラフィックデータを取得することと、
前記ネットワーク中で前記ネットワークフローパスおよび前記トラフィックデータを記述するフィルタの１つまたは複数のカテゴリを使用して前記ネットワークフローパスおよび前記トラフィックデータを表示のために与えることと、ここにおいて、フィルタの前記１つまたは複数のカテゴリが、前記ネットワークフローパスおよびフィルタの前記１つまたは複数のカテゴリの選択を満足する前記トラフィックデータを用いた前記表示を修正するために選択可能である、
を備える、非一時的コンピュータ可読媒体。
【請求項１０】
フィルタの前記１つまたは複数のカテゴリが、パケットヘッダ値、入力および出力インターフェース、転送挙動、およびネットワーク機能のタイプのうちの少なくとも１つを含む、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記方法が、
１つまたは複数の制約にマッチングする前記ネットワークの第１のスナップショット中の１つまたは複数の第１のフローと前記ネットワークの第２のスナップショット中の１つまたは複数の第２のフローとを計算することと、
前記第１のスナップショット中の第１のフローごとに、第１のサンプルパケットを計算することと、
前記第１のスナップショットを通して前記第１のサンプルパケットの第１の挙動を分析することと、
前記第２のスナップショットを通して前記第１のサンプルパケットの第２の挙動を分析することと、
前記第１のスナップショット中の第１のフローごとに前記第１のサンプルパケットにマッチングする前記フローとは別個である前記第２のスナップショットの前記第２のフロー中のフローの第３の集合を計算することと、
フローの前記第３の集合中のフローごとに、第２のサンプルパケットを計算することと、
前記第１のスナップショットを通して前記第２のサンプルパケットの第３の挙動を分析することと、
前記第２のスナップショットを通して前記第２のサンプルパケットの第４の挙動を分析することと、
前記第２の挙動と前記第１の挙動を比較することと、
前記第４の挙動と前記第３の挙動を比較することと、
前記第１の挙動と前記第２の挙動との間の前記比較を表示のために与えることと、
前記第３の挙動と前記第４の挙動との間の前記比較を表示のために与えることと
をさらに備える、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記方法が、
各ネットワークフローパスに適用可能な１つまたは複数の制約を選択のために与えることと、ここにおいて、前記１つまたは複数の制約が、前記１つまたは複数のネットワークフローパスの範囲を制限する、
前記１つまたは複数の制約のための選択を受信することと、
前記１つまたは複数の制約の前記選択によって決定された前記１つまたは複数のネットワークフローパスの前記範囲を表示のために与えることと
をさらに備える、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記方法が、
表示のために与えられた前記ネットワークフローパスデータと前記トラフィックデータとに少なくとも部分的に基づいてフィルタの前記１つまたは複数のカテゴリを更新すること
をさらに備える、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記方法が、
フィルタの前記１つまたは複数のカテゴリの以前の選択に少なくとも部分的に基づいてフィルタの前記１つまたは複数のカテゴリを更新すること
をさらに備える、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記方法が、
前記ネットワークフローパスデータと前記トラフィックデータとをアグリゲートすることと、
前記ネットワーク上の前記１つまたは複数のネットワークデバイスの前記相互接続を定義する複数のネットワークフローパスを計算することと、
前記複数のネットワークフローパスを記憶することと、
前記複数のネットワークフローパスを分類することと
をさらに備える、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記方法が、
前記複数のネットワークフローパスを分析することと、
ループ中で終了する共通パスを共有する少なくとも２つのネットワークフローパスを決定することと
をさらに備える、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記方法が、
前記複数のネットワークフローパスを分析することと、
共通パスおよび１つまたは複数の転送ルールまたは構成を共有する少なくとも２つのネットワークフローパスを決定することと
をさらに備える、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１８】
ネットワーク分析システムであって、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによって実行されたとき、前記ネットワーク分析システムに、
ネットワーク上の１つまたは複数のネットワークデバイスに関連する構成データと状態データとを受信することと、
前記ネットワーク上の前記１つまたは複数のネットワークデバイス間の相互接続を定義するネットワークフローパス情報を取得することと、
フィルタの１つまたは複数のカテゴリを使用して前記構成データと前記状態データとを表示のために与えることと、
前記１つまたは複数のネットワークデバイスの転送挙動を含む、フィルタの前記１つまたは複数のカテゴリを使用して前記ネットワークフローパス情報を表示のために与えることと、ここにおいて、前記転送挙動が、対応する機能レイヤにおける前記１つまたは複数のネットワークデバイスにおけるパケットのための挙動を含む、ここにおいて、フィルタの前記１つまたは複数のカテゴリが、前記ネットワーク中の前記ネットワークフローパス、前記構成データ、および前記状態データのうちの１つまたは複数を記述する、ここにおいて、フィルタの前記１つまたは複数のカテゴリが、フィルタの前記１つまたは複数のカテゴリの選択を満足する前記ネットワークフローパス、前記構成データ、および前記状態データを用いた前記表示を修正するために選択可能である、
を行わせる、命令を含む１つまたは複数のメモリデバイスと
を備える、ネットワーク分析システム。
【請求項１９】
前記１つまたは複数のメモリデバイスが、前記１つまたは複数のプロセッサによって実行されたとき、前記ネットワーク分析システムに、
１つまたは複数の制約にマッチングする前記ネットワークの第１のスナップショット中の１つまたは複数の第１のフローと前記ネットワークの第２のスナップショット中の１つまたは複数の第２のフローとを計算することと、
前記第１のスナップショット中の第１のフローごとに、第１のサンプルパケットを計算することと、
前記第１のスナップショットを通して前記第１のサンプルパケットの第１の挙動を分析することと、
前記第２のスナップショットを通して前記第１のサンプルパケットの第２の挙動を分析することと、
前記第１のスナップショット中の第１のフローごとに前記第１のサンプルパケットにマッチングする前記フローとは別個である前記第２のスナップショットの前記第２のフロー中のフローの第３の集合を計算することと、
フローの前記第３の集合中のフローごとに、第２のサンプルパケットを計算することと、
前記第１のスナップショットを通して前記第２のサンプルパケットの第３の挙動を分析することと
前記第２のスナップショットを通して前記第２のサンプルパケットの第４の挙動を分析することと、
前記第２の挙動と前記第１の挙動を比較することと、
前記第４の挙動と前記第３の挙動を比較することと、
前記第１の挙動と前記第２の挙動との間の前記比較を表示のために与えることと、
前記第３の挙動と前記第４の挙動との間の前記比較を表示のために与えることと
を行わせる命令をさらに含む、請求項１８に記載のネットワーク分析システム。
【請求項２０】
前記１つまたは複数のメモリデバイスが、前記１つまたは複数のプロセッサによって実行されたとき、前記ネットワーク分析システムに、
各ネットワークフローパスに適用可能な１つまたは複数の制約を選択のために与えることと、ここにおいて、前記１つまたは複数の制約が、前記１つまたは複数のネットワークフローパスの範囲を制限する、
前記１つまたは複数の制約のための選択を受信することと、
前記１つまたは複数の制約の前記選択によって決定された前記１つまたは複数のネットワークフローパスの前記範囲を表示のために与えることと
を行わせる命令をさらに含む、請求項１８に記載のネットワーク分析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]本出願は、すべての目的のためにその全体が参照により本明細書に組み込まれる、Ｄａｖｉｄ  Ｅｒｉｃｋｓｏｎらによる「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＰＲＡＣＴＩＣＡＬ  ＡＮＤ  ＵＮＤＥＲＳＴＡＮＤＡＢＬＥ  ＮＥＴＷＯＲＫ  ＡＮＡＬＹＳＩＳ」と題する、２０１６年１０月２１日に出願された米国仮特許出願第６２／４１１，３６５号の優先権を主張する。
【背景技術】
【０００２】
[0002]ネットワークは、現代の情報技術システムのバックボーンとしてますます複雑になっている。大企業は、一般に、それのネットワークインフラストラクチャを形成するために、異なるベンダーからの数百または数千のデバイスおよびソフトウェア構成要素を採用し得る。複雑さおよびサイズの成長はまた、転送ループ、構成誤り、到達可能性問題、またはハードウェア障害など、より多くの障害点をもたらす。
【０００３】
[0003]ネットワーク障害を診断することは、いくつかの理由のために困難である。第１に、全体的なネットワーク挙動を定義する各ネットワークデバイスに関連する転送状態は、ネットワーク全体にわたって分散され、ベンダーおよびデバイスのタイプに依存する方法で構成されるデバイス間の創発的な対話の結果である。第２に、分散された転送状態は、監視が困難であり、しばしば、ネットワーク管理者がデバイスに手動でログインし、低レベルのテストを行うことを必要とする。第３に、複数の管理者またはユーザが、転送状態を同時に編集し、矛盾する構成を生じ、その後、予期しない転送状態を生じ得る。
【０００４】
[0004]ネットワークモデルは、ネットワークの挙動のソフトウェアコピーを与え、ネットワーク管理者は、現在の挙動をより良く理解し、問題を解決し、ネットワークがポリシーに従って挙動しているのかどうかを分析し、さらにはパフォーマンスおよびフォールトトレランスを改善する方法を試してみさえできる。しかしながら、ネットワークが大きくなるほど、多くのデバイスをもつ大規模ネットワークに関連するデータの複雑性および圧倒的な量のために、問題をモデル化し、分析し、診断するのがより困難になり得る。したがって、大規模ネットワークまたはネットワーク全体の問題を診断することを助けるために、ネットワーク分析のための直観的で対話型のプラットフォームを与える技法および方法が必要である。
【発明の概要】
【０００５】
[0005]本発明の様々な実施形態または例を、以下の発明を実施するための形態および添付の図面に開示する。
【図面の簡単な説明】
【０００６】
【図１】[0006]本発明の一実施形態による、ネットワーク分析システムのハイレベル図。
【図２】[0007]本発明の一実施形態による、ＶＬＡＮの差の例示的な視覚表示を示す図。
【図３】[0008]本発明の一実施形態による、レイヤ３到達可能性の例示的な視覚表示を示す図。
【図４】[0009]本発明の一実施形態による、ネットワークトラフィックを分析する例示的な方法を示す図。
【図５】[0010]本発明の一実施形態による、ネットワーク分析のための例示的なインターフェースを示す図。
【図６】[0011]本発明の一実施形態による、トラフィックパスを分析する例示的な方法を示す図。
【図７】[0012]本発明の一実施形態による、トラフィックパスを分析する方法の一例を示す図。
【図８】[0013]本発明の一実施形態による、ゲートウェイを通って横断するトラフィックを分析する例示的な方法を示す図。
【図９】[0014]本発明の一実施形態による、２つのスナップショットの間で同じであるトラフィックパスを分析する例示的な方法を示す図。
【図１０】[0015]本発明の一実施形態による、２つのスナップショット間で異なるトラフィックパスを分析する例示的な方法を示す図。
【図１１】[0016]本発明の一実施形態による、ＩＰ検索の例示的な視覚表示を示す図。
【図１２】[0017]本発明の一実施形態による、ＶＬＡＮ検索の例示的な視覚表示を示す図。
【図１３】[0018]本発明の一実施形態による、ネットワーク分析の例示的な方法を示す流れ図。
【図１４】[0019]本発明の一実施形態による、ネットワーク分析システムの例示的なネットワークスナップショットマネージャを示す図。
【図１５】[0020]本発明の一実施形態による、ネットワーク分析の例示的な方法を示す流れ図。
【図１６】[0021]本発明の一実施形態による、ネットワーク分析システムの例示的な構成要素を示す図。
【発明を実施するための形態】
【０００７】
[0022]様々な実施形態または例は、システム、プロセス、装置、ユーザインターフェース、あるいはコンピュータ可読記憶媒体などのコンピュータ可読媒体またはプログラム命令が光、電子、またはワイヤレス通信リンクを介して送られるコンピュータネットワーク上の一連のプログラム命令を含む、多数の方法で実装され得る。概して、開示するプロセスの動作は、特許請求の範囲に別段の定めがある場合を除き任意の順序で実行され得る。
【０００８】
[0023]１つまたは複数の例の詳細な説明を、添付の図とともに以下に与える。詳細な説明を、そのような例に関して与えるが、いかなる特定の例にも限定されない。範囲は、特許請求の範囲によってのみ限定され、多数の代替物、変形例、均等物が包含される。完全な理解を与えるために、多数の具体的な詳細を以下の説明に記載する。これらの詳細を、例のために与え、説明する技法は、これらの具体的な詳細の一部または全部なしに特許請求の範囲に従って実施され得る。明確さのために、例に関係する技術分野において知られている技術的な要素について、説明を不必要に不明瞭にすることを回避するために詳細に説明していない。
【０００９】
[0024]ネットワーク内で、データは、１つのネットワークデバイスから別のものにパケットを介して送信され得る。ネットワークデバイスは、それらのヘッダビットに基づいてパケットを転送し、ネットワーク挙動は、複数の異なるタイプのモデルを使用してモデル化され得る。一実施形態では、データプレーンモデルは、ネットワークをモデル化するために実装され得る。データプレーンモデルでは、送信されているデータのネットワーク挙動はパケットによって表され、ネットワークを通したそれらの挙動は、トラフィック、フローパス、トラフィックフローなどと呼ばれることがある。いくつかの実施形態では、状態情報（たとえば、構成データ、転送状態、ＩＰテーブル、ルール、ネットワークトポロジ情報など）は、ネットワーク中のデバイスから受信されるか、または別のエンティティまたはネットワークデータソースから取得され得る。状態情報は、ネットワーク分析システムによってパースされ、データプレーンモデルなどのネットワークモデルを生成するために使用され得る。概して、ネットワークモデルは、ネットワークがデータのパケットをどのように処理するのかを記述する。モデルを使用して、ネットワーク分析システムは、ネットワークを通してデータのパケットによって取られる可能なフローパスを識別することが可能であり得る。ネットワーク分析システムは、次いで、ネットワークを分析し、トラフィックのタイプ、ルールマッチングの頻度、どのような変換がネットワークを通したトラフィックフローとして行われるのか、トラフィックがどこでドロップされたのかなどのネットワーク挙動を識別するためにネットワークモデルを適用することから収集される情報を使用し得る。
【００１０】
[0025]上記のように、既存のネットワーク分析技術は、ピング（ｐｉｎｇ）および追跡ルートなどの動作を使用するが、これらの動作は、すべての障害を診断するのには不十分である。これらの動作が、ネットワーク機能へのそれらの可視性の点で限定され、不完全であるだけでなく、既存のネットワーク分析ツールは、しばしば、問題が発生したときにしか問題を診断しないことがある。したがって、既存のネットワーク分析技術は、先制して問題を検出し、現在現れている問題の解決を開発することができない。さらに、既存のネットワーク分析ツール中でのネットワークデータの提示は、しばしば、非効率的である。さらに、トラブルシューティングのための一貫したビューを手動で組み立てることは、より大規模なネットワークでは、ネットワークデータの量が莫大になり、特に、どのデータがトラブルシューティングに関係するのかを決定する際に操作するのが困難になり得るので困難である。したがって、本発明の実施形態は、自動化された、システマティックな方法でネットワークを分析し、モデル化し、視覚化し、管理し、検証するために改善された方法およびツールを提供する。
【００１１】
[0026]様々な実施形態による１つのシステムは、ベンダーおよびプロトコルとは無関係の方法でネットワークをモデル化することによってネットワーク問題のトラブルシューティングを自動化するための改善された技法を含む。ネットワーク分析システムは、次いで、検索を可能にし、ポリシーの不変をテストするために対話型プラットフォームを提示するためにモデルを利用し得る。ネットワーク管理者は、次いで、関係するネットワークデータを提示する対話型プラットフォームを使用して、問題がネットワーク上で発生し、ネットワークを使用する顧客に影響する前に問題を先制して発見し得る。対話型プラットフォームはまた、問題の改善された、より高速の診断を可能にし、ネットワークが予想されたように挙動しているというより高いレベルの信頼性を与えることができる。
【００１２】
[0027]トラブルシューティングを自動化する別の手法は、フローカウンタを収集することである。単一のビューにフローカウンタからのデータを組み合わせることによって、ネットワーク管理者は、ネットワーク全体にわたるトラフィックを追跡し、ネットワークに影響を及ぼす現在の問題を識別することが可能であり得る。しかしながら、そのようなシステムは、データがどのように収集されるのか、ならびにデータがどのようにユーザに利用可能でアクション可能にされるのかの両方の点で現実のネットワークのコンテキストでそれらの有効な使用に重要な部分が欠如していることがある。たとえば、既存のネットワーク分析ツールを使用してリモートでネットワークを解決することは、様々なネットワークデバイスから状態データおよび構成データの収集を行わせ得る。そのようなデータの収集は、協調なしに行われた場合、複数のユーザおよび複数のツールの間の競合を可能にするか、またはデータが収集されているときに不要なアラームをトリガさせることになる。別の例として、ネットワーク分析システムによって生成された未加工情報の氾濫は、診断問題に関係しないことがある多くのデータを含め圧倒的であり得る。既存のネットワーク分析ツールは、どのフィールドが転送に関連するのか、またはどのＩＰアドレスが別のものと別様に扱われるのかが明白になるようにデータを提示しないことがある。経験豊かなユーザまたはネットワーク管理者でさえ、既存のネットワーク分析ツールを使用して、すべての可能なトラフィックパスに関連する圧倒的データによって依然として圧倒され得る。
【００１３】
[0028]本発明の実施形態は、現在のネットワーク分析ツールとともに存在する上記の技術的問題に対処する。本発明の実施形態は、直観的で、様々なネットワークデバイスおよび任意のサイズのネットワークに適合する関係するネットワークデータをそれがアグリゲートされ、ネットワーク管理者に提示され得るように収集するための改善された技法を提供する。
【００１４】
[0029]図１に、本発明の一実施形態による、ネットワーク分析システムのハイレベル図１００を示す。図１に示すように、ネットワーク分析システム１０２は、複数のネットワークデバイス（たとえば、スイッチ、ルータ、ファイアウォール、ロードバランサ、ゲートウェイ、ブリッジ、および他のネットワークデバイス）を含むネットワーク１０４に接続することができる。各ネットワークデバイスは、異なるベンダーによって生成され得、異なるオペレーティングシステム、制御インターフェース、プロトコルなどを実装し得る。したがって、ネットワーク分析システム１０２は、ネットワーク分析システム１０２が各ネットワークデバイスと通信することができるベンダー固有のインターフェース、デバイス固有のインターフェース、および／またはプロトコル固有のインターフェースを含み得る複数のデバイスインターフェース１０６を含むことができる。
【００１５】
[0030]ネットワークデバイスは、１つまたは複数のインターフェースを含み得る。ネットワークデバイスは、ネットワークを形成するために他のデバイスのインターフェースに接続され得る。各ネットワークデバイスは、ルールテーブルを使用してネットワークデバイスのインターフェース上の到着したパケットをどのように修正、転送、および／またはドロップするのかを決定するために使用され得る構成データと状態データとを含み得る。各ネットワークデバイスのルールテーブルは、ルールのセットを含み得、各ルールは、マッチングと１つまたは複数の対応する行為とを有する。パケットがルールのマッチングを満たすとき、対応する行為、たとえば、パケットを修正、転送、および／またはドロップする行為がパケットに対して実行される。
【００１６】
[0031]ネットワーク１０４は、パケットが横断することができるリンクによって接続されるデバイスのシーケンスを定義し得るパスによって相互接続された複数のネットワークデバイスを含む。ネットワーク機能は、パケットがデバイスによってどのように修正、転送、および／またはドロップされるのかを決定するのに寄与するデバイス内の個々のステップまたは機能ユニットであり得る（たとえば、ＩＰルーティング、ＡＲＰルックアップ、Ｌ２転送、ＭＰＬＳラベルプッシング／ポッピング／スワッピング、アクセス制御許可／拒否、ネットワークアドレス変換）。ネットワーク挙動情報は、１つまたは複数のパケットにネットワーク中で同じパスを取らせ、同じ変換を受けさせるパスに沿ったネットワーク機能のシーケンスを含み得る。
【００１７】
[0032]いくつかの実施形態では、ネットワーク分析システム１０２は、１つまたは複数の状態コレクタ１０８と診断プラットフォーム１１０とを含むことができる。状態コレクタ１０８は、ネットワークデバイスごとに状態情報を取得するためにデバイスインターフェース１０６を使用してネットワークデバイスと通信することができる。状態情報は、ネットワークデバイスごとに変動し得、転送状態、構成ファイル、インターネットプロトコル（ＩＰ）テーブル、トポロジ情報、インターフェース状態、カウンタおよびルールのうちの１つまたは複数を含むことができる。状態情報は、データがモデル化されたネットワーク中でどのように処理されるのかを記述するネットワークモデル１１２を生成するためにパーサによってパースされ得る。計算エンジン１１４は、パケットがネットワークモデル１１２中で移動し得る可能なフローパスを識別するためにネットワークモデル１１２を使用することができる。いくつかの実施形態では、フローパスは、計算フローデータストア１１６などのデータストア中に記憶され得、ネットワーク分析システム１０２を用いてローカルに記憶されるかまたはリモートに記憶され得る。診断インターフェース１１０は、次いで、様々な実施形態による対話型プラットフォーム中での提示のための関係するデータを決定するために計算エンジン１１４、ネットワークモデル１１２、および状態コレクタ１０８と通信し得る。
【００１８】
[0033]いくつかの実施形態では、ネットワーク分析システム１０２は、確認エンジン１１８とクエリエンジン１２０とをさらに含むことができる。以下でさらに説明するように、確認エンジン１１８は、パス、ヘッダ、ホップカウント、サービス品質（ＱｏＳ）、キュー、ポート、フローが横断する物理デバイス、デバイス内のテーブル、パケットの転送タイプ、パケットヘッダの修正、カプセル化されたパケットヘッダのプロパティ、または割り振られた帯域幅、または他のプロパティなどの様々なプロパティを識別するためにデータストア１１６中に記憶されたフローパスを分析することができる。これにより、ネットワークが（たとえば、ネットワーク管理者、開発者、または他のエンティティによって設定された）規定の規格に従って機能していることを検証するためにモデル化されたネットワークを分析することが可能になる。クエリエンジン１２０は、問い合わせられた基準（たとえば、指定されたポイント間でのフェールオーバフローパス（ｆａｉｌｏｖｅｒ  ｆｌｏｗ  ｐａｔｈｓ）、特定の順序で特定のネットワークデバイスを横断するフローパスなど）を満たす特定のフローパスを識別するために使用され得る。様々な実施形態によれば、診断インターフェース１１０は、次いで、様々な実施形態による対話型プラットフォーム中での提示のための関係するデータを決定するためにクエリエンジン１２０および確認エンジン１１８と通信し得る。
【００１９】
[0034]問題の診断および解決をできるだけ容易にするために、様々な実施形態によれば、ネットワーク分析システムからの情報は、ネットワーク管理者によく知られているという観点で、およびどの情報が最も関連があるのかを明らかにする形で提示され得る。システムが潜在的な根本原因をより効果的に提案、評価、および説明することができれば、問題は、より迅速に解決され、時間と金が節約され得る。様々な実施形態によれば、ネットワーク分析システムは、対話型の、有用な、および実際的な方式でネットワークを分析または視覚化し得る。たとえば、実施形態は、分析のためのネットワークから必要な入力データを効率的に収集するシステムおよび方法を提供する。様々な実施形態によるデータを収集し、ネットワーク分析システムに供給するプロセスは、簡単で、適切で、無摩擦であり得、したがって、ネットワーク分析システムは、ユーザがいつどこからでもネットワークのあらゆる部分のモデルを計算または更新するのに必要なデータを容易に収集することを可能にするのに十分フレキシブルである。
【００２０】
[0035]さらに、様々な実施形態によるシステムおよび方法は、理解可能で、対話型で、アクション可能な形でユーザに提示され得るように、関係する有用な情報を計算する。視覚化は、様々なプロトコルおよびトポロジのためのデータを提示するのに十分フレキシブルであり得る。さらに重要なことに、様々な実施形態によるネットワーク分析システムは、ユーザに、単に症状の例および生データを提示するのではなく、問題の潜在的な根本原因を診断するのを助けるために提案および理由を提供し得る。
【００２１】
[0036]本発明の実施形態は、ネットワークからデータを効率的に収集し、それらを様々な計算のためにデータを必要とするシステムに利用可能にすることができるシステムおよび方法を提供する。いくつかの実施形態では、計算は、ネットワークをモデル化すること、構成問題についてネットワークを分析すること、ネットワークプロパティを検証すること、またはネットワーク中で予想される挙動を確認することを含み得る。
【００２２】
[0037]本発明の実施形態は、結果として、理解しやすく、容易にナビゲート可能な、および、行動が容易なビューをユーザに与えるシステムおよび方法を提供する。本発明は、ユーザがそれらのネットワークに関する多種多様なことを理解し、それらのネットワークに関して質問することを可能にする特徴およびビューの豊富なセットを提供する。
【００２３】
[0038]いくつかの実施形態では、ネットワーク中のデバイスから受信した情報は、データパケットがネットワークによってどのように処理されるのかを記述するネットワークモデルを生成するためにパースされ、使用され得る。モデルは、ネットワークを通したトラフィックの可能なフローを提示し、トラフィックのタイプ、ネットワークを通してどういった変換が行われるのか、トラフィックがどこでドロップされたのかなどのネットワーク挙動を識別し、分析するために使用され得る。
【００２４】
[0039]いくつかの実施形態では、トラフィックフローパスは、追跡検索結果を改良するのを助けることができるフィルタのうちのいくつかを生成するために、パス、ネットワーク中の異なるデバイスにおけるヘッダフィールドの値、パス長などの様々な寸法に従って分類され得る。ネットワークマネージャまたは管理者またはネットワーク分析システムのユーザは、追跡を改良し、注目する関係するトラフィックに迅速に収束するために提案されたフィルタを使用し得る。たとえば、ネットワークマネージャまたは管理者は、ソースＩＰアドレス１０．０．０．１０からＩＰサブネット１０．１．２．０／２４までのトラフィック追跡を検索し得、ネットワーク分析システムは、トラフィックフローパスの結果によって横断されたデバイスのリスト［ｒｏｕｔｅｒ１，ｒｏｕｔｅｒ２，ｒｏｕｔｅｒ３，ｒｏｕｔｅｒ４］と、検索に関係するいくつかのトラフィックフローパスがｒｏｕｔｅｒ２においてドロップされたことをネットワークマネージャまたは管理者に提示する。ネットワークマネージャまたは管理者は、次いで、ｒｏｕｔｅｒ２を選択し、ドロップされたトラフィックだけを表示することを選定する。ネットワーク分析システムは、次いで、これらの追加のフィルタにもマッチングするトラフィックフローパスの結果だけをネットワークマネージャまたは管理者に提示する。
【００２５】
[0040]実施形態は、ユーザが仮想パケット追跡を表示することができるインターフェースを提供することができる。これらは、ネットワークに実際のパケットを送ることなしにネットワーク分析システムによって計算される。追跡自体は、単一のパケットだけを記述するのではなく、異なるＶＬＡＮまたはいくつかの異なるＩＰアドレスを横断するトラフィックを備え得る。いくつかの実施形態では、ネットワーク分析システムはまた、ネットワーク中で見られ得る個々の実際のパケットに対応する追跡をユーザに提示することができる。
【００２６】
[0041]いくつかの実施形態では、ネットワーク分析システムは、パスに沿って１つまたは複数のパケットが受けた転送挙動を提示するための改善された視覚方法を使用することができ、ここで、各ビューは、潜在的に複数の転送レイヤからの情報を表示する。詳細には、この視覚方法は、（１）機能レイヤによる挙動内訳（Ｂｅｈａｖｉｏｒ  ｂｒｅａｋｄｏｗｎ）、（２）単一のパスに沿った複数の挙動、（３）挙動を経験するパケットの探査、（４）要求応答トラフィック表示の４つの部分のうちの１つまたは複数を含み得る。
【００２７】
[0042]第１に、様々な実施形態によるインターフェースは、機能レイヤによる挙動内訳を提供し得る。図４に、本発明の一実施形態による、ネットワークトラフィックを分析する例示的な方法を示す。図４に示す例では、異なる機能レイヤにおけるネットワーク挙動４００がユーザに示され得る。機能レイヤによる挙動内訳は、ネットワーク機能と呼ばれることもある、ネットワーク事業者によって一般に理解されるステップに関してパスに沿ったネットワークの挙動を記述し得る。これらのネットワーク機能は、限定はしないが、ＩＰルーティング、ＡＲＰ解決、媒体アクセス制御（ＭＡＣ）、転送、スパニングツリーブロードキャスト、アクセス制御、負荷分散、ネットワークアドレス変換、ポリシーベースのルーティング、マルチプロトコルラベルスイッチング（ＭＰＬＳ）およびＦａｂｒｉｃＰａｔｈ、ＶＸＬＡＮ、ＧＲＥトンネルなどのような様々なカプセル化−非カプセル化機能を含み得る。各ネットワーク機能は、転送挙動（たとえば、実行コンフィギュレーション、転送状態出力、および計算プロトコル状態、同様の有効なＢＧＰルート）を説明する、デバイスに関連するデータのソースにリンクし得る。
【００２８】
[0043]図４に示すように、パスに沿ったトラフィック挙動は、たとえば、インターネットから、ファイアウォール４０８に、次いで、コアルータ４１０、アグリゲーションルート４１２、およびトップオブラックスイッチ４１４などのデータセンター中の複数のデバイスにわたって来るトラフィックサンプル（たとえば、データのパケット）を含み得る。ネットワーク上のあらゆるネットワークデバイス（たとえば、ファイアウォール、ルータ、およびスイッチ）は、アクセス制御リスト（ＡＣＬ）４０２を有し得る。アクセス制御リスト４０２は、デバイスに接続されたフィルタ処理挙動のリストを含み得、たとえば、ＡＣＬは、アクセスを制限または許可するために信用できるアプリケーションのためのポートのリスト、信用できないサーバに対応するＩＰアドレスのリスト、またはヘッダフィールドの他の使用を指定し得る。典型的なＡＣＬ中の各エントリは、対象と動作とを指定し得る。たとえば、ファイアウォール４０８において、ＡＣＬ４０２は、対象と、適用可能なルーティング情報と、状態情報とを含み得る構成データ４１６を与え得る。構成データ４１６では、たとえば、すべての着信インターフェース（すなわち、すべての着信パケットに適用する）などの対象または構成の範囲が定義され得る。さらに、構成データ４１６は、マッチングするトラフィックを許可または拒否するなどの行為を含み得る。構成データ４１６はまた、宛先アドレスまたは他のヘッダ値などのマッチングするパケットの基準を指定する。構成データ４１６は、実行コンフィギュレーション、転送状態データ、他の収集または推測された状態データなどのデバイスに関連するデータのソースにリンクし得る。
【００２９】
[0044]ネットワーク上のあらゆるネットワークデバイス（たとえば、ファイアウォール、ルータ、およびスイッチ）は、異なるネットワーク機能レイヤ、たとえば、Ｌ３レイヤ４０４（たとえば、ネットワークレイヤ）およびＬ２レイヤ４０６（たとえば、データリンクレイヤ）において動作する能力を有し得る。データリンクレイヤまたはレイヤ２は、コンピュータネットワーキングの７層のＯＳＩモデルの第２のレイヤである。このレイヤは、ワイドエリアネットワーク（ＷＡＮ）中の隣接するネットワークノード間で、または同じローカルエリアネットワーク（ＬＡＮ）セグメント上のノード間でデータを転送するプロトコルレイヤである。データリンクレイヤは、ネットワークエンティティ間でデータを転送するために機能的および手続き的手段を与え、様々な実施形態によれば、ネットワーク分析システムは、Ｌ２レイヤ中で、物理レイヤ（たとえば、Ｌ１レイヤ）中で発生し得るエラーを検出し、場合によっては、それを補正し得る。ネットワークレイヤは、中間ルータを通してルーティングすることを含むパケット転送を担当する。ネットワークレイヤは、１つまたは複数のネットワークを介してソースから宛先ホストに可変長ネットワークパケットを転送する手段を与える。ＯＳＩネットワークアーキテクチャのサービス階層化セマンティクス内で、ネットワークレイヤは、トランスポートレイヤからのサービス要求に応答し、データリンクレイヤにサービス要求を発行する。
【００３０】
[0045]Ｌ３レイヤ４０４において、構成データ４１８は、ＡＣＬ４０２における構成データ４１６とは異なる情報を有し得る。Ｌ３レイヤ４０４の構成データ４１８は、次のデバイスのアドレス、出力、または他の関係するルーティング情報などのルーティング情報を含み得る。構成情報４１８はまた、フローパスに沿ったトラフィックのための入力および出力インターフェースを含み得る。コアルータ４１０のＬ３レイヤ４０４における構成情報４２０は、ネクストホップまたは出力インターフェースなどのルーティング情報を含み得る。パケットは、次いで、構成データ４２０に基づいてコアルータ４１０からアグリゲーションルータ４１２に進み得る。アグリゲーションルータ４１２における構成データ４２４は、次いで、トップオブラックスイッチ４１４にルーティング情報を与え得る。トップオブラックスイッチ４４は、Ｌ３レイヤ４０４において構成データ４２６を有し、Ｌ２レイヤにおいて構成データを有し得る。各ステージ（たとえば、ネットワークデバイス）におけるパケットの転送に影響を及ぼすネットワーク機能は、明確に分離され、各ステージにおいて、関係する構成および状態．に戻るリンクが公開される。
【００３１】
[0046]第２に、様々な実施形態によるインターフェースはまた、単一のパスに沿って複数の挙動を与え得、これにより、ネットワークマネージャまたは管理者は、選択されたパス上に存在し得る異なるタイプの転送挙動を探査することが可能になる。たとえば、３つのデバイスＡ→Ｂ→Ｃに沿ったパスは、３つの異なる転送挙動からなり得る。
【００３２】
[0047]パケットは、ＡおよびＢにおいてＬ２転送され、次いで、ＣにおいてＬ３ルーティングされる。
【００３３】
[0048]パケットは、ＡにおいてＬ２転送され、次いで、ＢおよびＣにおいてＬ３ルーティングされる。
【００３４】
[0049]パケットは、ＡにおいてＬ２転送され、ＢにおいてＮＡＴ変換され、次いで、ＣにおいてＬ３ルーティングされる。
【００３５】
[0050]第３に、様々な実施形態によるインターフェースにより、ネットワークマネージャまたは管理者はまた、挙動を経験するパケットを探査することが可能になり得る。対話の方式でエンドツーエンドの挙動によって影響を及ぼされる複数のパケットを探査し、理解する能力により、ネットワーク管理者またはマネージャは、ネットワークに関する問題を先制して診断することが可能になる。ネットワーク分析システムは、様々な実施形態によれば、パスに沿って同じエンドツーエンドの挙動を経験するパケットのクラスを提示し得る。いくつかの実施形態では、ユーザ（たとえば、ネットワーク管理者またはマネージャ）は、ネットワーク分析システムがユーザによって指定された制約を満たすパケットの更新されたセットで応答するいくつかのヘッダフィールドの値を指定することによってネットワークを対話式に探査することが可能であり得る。
【００３６】
[0051]例示のために、以下で概説するパケットのクラスは特定の挙動を経験していることがある。
・以下を除く、ＶＬＡＮタグ１００をもつすべてのパケット
○サブネット１００．１００．０．０／１６中のＩＰ宛先アドレスをもつＩＰｖ４パケット、および
○サブネット２００．２００．０．０／１６中のＩＰソースアドレスをもつＩＰｖ４パケット
[0052]様々な実施形態によれば、ユーザは、１００．１１１．１００．１００としてＩＰ宛先ヘッダフィールドの値を指定することが可能であり得る。したがって、ネットワーク分析システムは、次のように可能なパケットのセットを限定することによって応答し得る。
・ＶＬＡＮタグ１００とＩＰ宛先１００．１１１．１００．１００とをもつすべてのパケット
○サブネット２００．２００．０．０．／１６中のＩＰソースアドレスをもつＩＰｖ４パケットを除く
[0053]ユーザが、ＩＰソース３００．３００．３００．３００として別のヘッダフィールド値を指定する場合、ネットワーク分析システムは、以下で応答し得る。
・ＶＬＡＮタグ１００と、ＩＰ宛先１００．１１１．１００．１００とＩＰソース３００．３００．３００．３００とをもつすべてのパケット
[0054]代替的に、ユーザが、ＩＰソース２００．２００．２００．２００としてヘッダフィールド値を指定する場合、元のセットに属し、同じく、ユーザによって指定されたヘッダフィールド値の制約を満たすパケットがないので、ネットワーク分析システムは、「ヌル」で応答し得る。
【００３７】
[0055]第４に、様々な実施形態によるインターフェースにより、ネットワークマネージャまたは管理者はまた、要求と応答トラフィックとの両方を調査することが可能になり得る。したがって、インターフェースは、ユーザ（たとえば、ネットワークマネージャまたは管理者）が、他のトラフィックに応答して生成され得るトラフィックを迅速に検索し、検査することを可能にすることが可能であり得る。いくつかの実施形態では、ユーザインターフェースは、要求と応答トラフィックとの間で容易にトグルする方法を与える。他の実施形態では、要求と応答トラフィックとの両方は、目視検査、比較、および分析のために同時にユーザに示され得る。
【００３８】
[0056]いくつかの実施形態では、プラットフォームは、いくつかのトラフィックフローを「ステートフル」としてマークし得、これは、対応する要求トラフィックがネットワークに前に入っている場合にのみ、ネットワーク中に現れ得るトラフィックフローを示す。いくつかのネットワークでは、ステートフル応答トラフィックは、前の要求トラフィックを経験したのかどうかに応じてパスに沿ったデバイスによって別様に扱われ得る。たとえば、ステートフルファイアウォールデバイスは、一般に、一方向にトラフィックをドロップし得るが、トラフィックは、ネットワーク中で要求トラフィックを前に経験した場合は通って流れることが許可され得る。
【００３９】
[0057]図５に、本発明の一実施形態による、ネットワーク分析のための例示的なインターフェースを示す。図５中の例示的なインターフェース５００は、様々な実施形態による、ネットワークトラフィックのファセット検索を示す。いくつかの実施形態では、ネットワークトラフィックフローパスの結果は、検索結果を改良するのを助けることができるフィルタのうちのいくつかを生成するために、パス、ネットワーク中の異なるデバイスにおけるヘッダフィールドの値、パス長などの様々な寸法に従って分類される。ネットワークマネージャまたは管理者またはネットワーク分析システムのユーザは、トラフィックフローパスを改良し、注目する関係するトラフィックに迅速に収束するために提案されたフィルタを使用することができる。たとえば、オプションは、トラフィックパスのトラフィックタイプ５０８またはエンドツーエンドの転送結果、転送タイプ５１０によってフィルタ処理し得る。さらに、ネットワークマネージャまたは管理者は、宛先Ｚロケーションに向かうソースＡロケーションを指定するいくつかの基準、たとえば、５０４に示すように、ソースＩＰアドレス１０．１１．１．０／２４からＩＰサブネット１７２．１６．１０．２／２４までのトラフィックにマッチングするトラフィックフローパスを検索し得る。ディスプレイ５０４は、ウィンドウ、フレーム、ペイン、または任意の他の好適なインターフェースであり得る。ネットワーク分析システムはまた、フローパス５２２によって横断されるデバイス５１６のリスト（たとえば、ｒｏｕｔｅｒ１、ｒｏｕｔｅｒ２、ｒｏｕｔｅｒ５、ｒｏｕｔｅｒ４）をネットワークマネージャまたは管理者に提示し得、たとえば、検索に関係するいくつかのフローパスがｒｏｕｔｅｒ２においてドロップされたと決定し得る。ネットワークマネージャまたは管理者は、次いで、ｒｏｕｔｅｒ２を選択し、ドロップされたトラフィックフローパスだけを表示することを選定し得る。ネットワーク分析システムは、次いで、これらの追加のフィルタにもマッチングするフローパスの結果だけをネットワークマネージャまたは管理者に提示する。
【００４０】
[0058]ウィンドウ５０２は、トポロジグラフとともに別のフレームまたはペイン５２０を表示し得る。インターフェース５００は、ファセット検索実装形態の一例であるが、本発明の実施形態は、ファセット検索を容易にするために任意の一般的な視覚表示を含む。たとえば、フィルタは、ポップアップウィンドウ５１８、オーバーレイ、ペイン、フレーム、ウィンドウ、または任意の他の好適なインターフェース上に示され得る。ウィンドウ５０２はまた、ユーザがＩＰ宛先５１２またはＶＬＡＮタグ５１４などの様々なカテゴリを選択するかまたはそれによってフィルタ処理し得る第１のホップ５３０についての情報を含み得る。ウィンドウまたはフレーム５０６は、ＶＬＡＮタグ５１４のユーザの選択に基づいて与えられ得る追加のフィルタの例示的な表示である。さらに、ウィンドウ５１８は、他の情報およびフィルタ、たとえば、ＭＡＣソース５３２とＭＰＬＳラベル５３４とのための選択可能なオプションを含む５２４におけるＰ１を与え得る。
【００４１】
[0059]図５に示すように、本発明の実施形態は、ネットワークトラフィックのための検索インターフェースを生成する手段を提供する。ネットワークトラフィック検索のためのファセットインターフェースは、最初の送信元宛先間トラフィッククエリから導出された検索フィールドを含み得る。ユーザが、パスの要素を選択すると、新しい検索ファセットが、インターフェース内に動的に生成され得る。値の長いリストをもつファセットの場合、空間効率のよいマルチ選択制御が使用され得る。ファセット検索では、名前、モデル、および価格などのデータ属性は、初期検索に基づいて発見され、次いで、クリック可能な選択肢としてユーザに提示され得る。ネットワークトラフィック検索に様々な実施形態による対話型で直観的なインターフェースを適用することにより、ユーザは、ヘッダフィールドまたはトラフィックタイプなどのどの検索語が利用可能かあるのかを知り、利用可能なデータフィールドをフィルタとして使用することによって無関係なクエリを効率的に低減することが可能になる。ヘッダフィールドは、ポートおよびレイヤ２から７フィールドを含むパケットの任意のレイヤにおいて見られる値を含み得る。トラフィックタイプは、構成による明示的なドロップ、マッチングルールなしによる暗黙的な「ブラックホール」、許容されないトラフィック（たとえば、入力デバイスが特定のパケットタイプを扱う知識を有しない場合）、ループ、および有効（トラフィックがネットワークを出る場合）を含むネットワークに入った後のパケットの異なる結果を含み得る。
【００４２】
[0060]別の実施形態によれば、ネットワーク分析システムは、共通のトラフィック挙動識別のためのインターフェースを提供し得る。インターフェースは、１つまたは複数の共通の要素を共有するフロートラフィックの例をグループ化する自動方法を含み得る。たとえば、ネットワークが予期しない方法でパケットを扱っているとき、ユーザ（たとえば、ネットワーク管理者またはマネージャ）は、すべてが同じ共通の挙動を共有する潜在的なトラフィックの潜在的に数千個の特定の例ではなく、手元の挙動の単一のインスタンスを見る。共通のトラフィック挙動を識別することは、多くの一意のトラフィックフローが、異なるロケーションから来たかまたは異なるヘッダ値を有するにもかかわらず、同じ予期しない挙動を経験し得るので、ユーザに関係していることがある。
【００４３】
[0061]例示のために、一例では、ループは、デフォルトルートがルータＡの方向に指し戻すルートＢに転送する静的なルーティングエントリをもつルータＡによって生じ得る。同じ転送ループは、ネットワーク中の複数のロケーションからループに入るパケットによって経験され得る。別の例では、ブラックホール（たとえば、ネットワーク中でのデバイスによる暗黙的なパケットドロップ）は、リンクの一方の側での消失したデフォルトゲートウェイエントリまたは消失したＶＬＡＮによって生じ得る。同じブラックホールは、ネットワーク中の複数のロケーションから入るパケットによって経験され得る。別の例では、多くの様々な種類のトラフィックが、過度に長いパス、必要とされる中間地点をスキップするパスなどの同じパスを取り得る。同じトラフィックパス特性は、ネットワーク中の複数のロケーションから入るパケットによって経験され得る。
【００４４】
[0062]図６は、本発明の一実施形態による、トラフィックパスを分析する例示的な方法を示す図である。図６の例示的なトラフィックフロー６００では、トラフィックは、複数のロケーションから入るが、同じ転送ループを通って横断し得る。トラフィックは、ノードＡ６０２、ノードＢ６０４、ノードＣ６０６、およびノードＤ６０８の４つのノードにおいてネットワークに入ることができる。トラフィックは、パス６１０においてノードＡ６０２に入り、パス６１２においてノードＢ６０４に入り、パス６１４においてノードＣ６０６に入り、パス６１８においてノードＤ６０８に入り得る。各ノードが１つの入力ポートを有すると仮定すると、パスＡＢＣＤ、ＢＣＤＡ、ＣＤＡＢ、およびＡＤＣＢをカバーする４つのループが可能である。ネットワーク中の各追加の入力ポートは、事実上同じループであることを生じる別の可能なパスを生じ得る。したがって、様々な実施形態によれば、共通のトラフィック挙動を識別するためのインターフェースを与えることによって、ユーザは、同じループＡＢＣＤで終わるトラフィックパスの数にかかわらず、トラフィックフローが単一のループであるのかどうかを識別し、決定することが可能であり得る。
【００４５】
[0063]図７は、本発明の一実施形態による、トラフィックパスを分析する方法の別の例を示す図である。図７の例示的なトラフィックフロー７００では、トラフィックは、複数のパスを通って横断し、同じデバイスにおいてブラックホールされ得る。この例では、トラフィックは、トラフィックを次いでドロップするノードに流れ得る。たとえば、トラフィックは、ノードＶ７０２上でパス７１８を通っておよびノードＷ７０４においてパス７２０を通って１つのポートにおいてネットワークに入ることができる。ノードＶ７０２およびノードＷ７０４から、パスＶＹ、ＷＸＹ、およびＷＺＹをカバーする３つのパスが可能である。しかしながら、すべてのパスは、ノードＶ７０２からパス７１２を通って、ノードＷ７０４から発生しノードＸ７０６へのパス７１４を通って、およびノードＷ７０４から発生しノードＺ７１０へのパス７１６を通ってノードＹ７０８において収束する。したがって、様々な実施形態によれば、共通のトラフィック挙動を識別するためのインターフェースを与えることによって、ユーザは、すべてノードＹ７０８においてドロップされ得るトラフィックの単一のクラスを識別し、決定することが可能であり得る。
【００４６】
[0064]本発明の実施形態がなければ、ユーザは、冗長であり得る無数のパスにわたって調査し、追跡する時間を浪費することになり、したがって、可能なトラフィック事例のセットのうちで最も重要なトラフィック事例を識別し、決定することができないことがある。しかしながら、様々な実施形態によれば、共通のトラフィック挙動を識別するための対話型プラットフォームを与えることによって、ユーザは、情報の一部分を表示しながら、予期しないネットワーク挙動を迅速に診断することができる。
【００４７】
[0065]別の実施形態では、ネットワーク分析システムは、敵対的なまたは興味のないトラフィックを検出し、フィルタ処理するための対話型プラットフォームを提供し得る。ネットワーク中でトラフィックを分析するときに、多数の潜在的なトラフィックパスが、ネットワーク管理者に公開するのに無関係とみなされ得る。たとえば、無関係なネットワークデータは、直ちに明示的にドロップされる誤構成されたホストまたはトラフィックを含み得る。そのようなトラフィックパスは、ホストが誤ってまたは意図的に誤構成されたときにのみ行われ得る。
【００４８】
[0066]これらの無関係な潜在的なトラフィックパスを提示することは、ネットワーク管理者にとってまぎらわしいか、または混乱を招き得る。さらに、無関係なトラフィックを計算し、提示することは、ネットワーク分析システムのための追加の処理およびストレージ作業を追加し得る。したがって、様々な実施形態によるネットワーク分析システムは、「敵対的な」トラフィック分析の結果であり、実際に経験する可能性が低いトラフィックフローを自動的に識別する方法を提供する。そのようなトラフィックフローは、デフォルトのビュー中でフィルタ処理されるか、または、詳細には、上級ユーザのために識別され得る。
【００４９】
[0067]例示のために、敵対的なトラフィックフローの一例としては、ネットワークトポロジに基づいて最も近いゲートウェイでないことがあるＩＰゲートウェイで構成されたホストから生成されたトラフィックがあり得る。一実施形態では、ネットワーク分析システムは、入力インターフェースに入力し、その入力インターフェースのための構成されたサブネットの外部のＩＰアドレスに宛てられたフローが最も近いゲートウェイを通ってルーティングされ得るのかどうかを識別する方法を提供する。
【００５０】
[0068]図８は、本発明の一実施形態による、ゲートウェイを通って横断するトラフィックを分析する例示的な方法を示す図である。たとえば、図８のトラフィックフロー８００は、トラフィックのクラスが最も近くないゲートウェイを通ってどのように移動し得るのかを示す。トラフィックは、ノードＡ８０２に接続されたホストから生成され、最も近いＩＰゲートウェイがノードＢ８０４にあり、１０．１０．０．０／１６のＩＰサブネットを扱うパス８０８を通って入り得る。しかしながら、ホストは、ＩＰサブネット１１．１１．０．０／１６に対応するノードＣ８０６のＩＰゲートウェイで誤って構成され得る。ホストは、１２．１２．１２．１２などの外部アドレスにＩＰパケットを送ろうと試みるとき、ノードＣ８０６におけるゲートウェイがパケットを扱うべきである信じ、したがって、２２：２２：２２：２２：２２：２２であるノードＣ８６のためのＭＡＣアドレスにパケットのＭＡＣアドレスを設定する。レイヤ２（ＭＡＣ）転送がレイヤ３（ＩＰ）転送の前に行われるので、パケットは、ノードＣ８０６にレイヤ２転送され、次いで、レイヤ３ルーティングされる。
【００５１】
[0069]別の例では、様々な実施形態によるネットワーク分析システムにより、ユーザは、Ｌ２転送されたパスが十分であるべきとき、入力インターフェースに入力し、同じサブネット中のＩＰアドレスに宛てられたフローがＩＰゲートウェイを通ってルーティングされ得るのかどうかを識別することが可能になり得る。
【００５２】
[0070]さらに、ホストから生成されたトラフィックは、偽の（すなわち、スプーフィングされた）ソースＩＰアドレスを含み得る。したがって、様々な実施形態によれば、ネットワーク分析システムは、偽のＩＰアドレスを用いてホストによって生成されたトラフィックを識別し得る。偽のソースＩＰアドレスを用いてホストによって生成されたトラフィックを識別することは、限定はしないが、ホストが常駐するインターフェースサブネットに対してトラフィックのソースＩＰアドレスをマッチングすることと、ホストのロケーションにルーティング可能であるすべてのサブネットに対してソースＩＰアドレスをマッチングすることとを含む複数の技法を伴い得る。
【００５３】
[0071]別の敵対的なトラフィックフローは、ネットワークに入るのが認められないトラフィックを含む。一実施形態では、ネットワーク分析システムは、トラフィックが遭遇するネットワーク中の第１のインターフェースによって認められ得ないトラフィック、たとえば、Ｌ３インターフェースによってドロップされた非ＩＰトラフィックを識別し得る。さらに、トラフィックは、ネットワーク中でＬ２インターフェースのＭＡＣアドレスに宛てられ得る。したがって、様々な実施形態によれば、ネットワーク分析システムは、ネットワーク中でＬ２インターフェースのＭＡＣアドレスに宛てられたすべてのトラフィックを識別し得る。しかしながら、Ｌ２インターフェースはＩＰアドレスを有しないので、実際には、そのようなトラフィックは可能性が低く、したがって、無関係であり得る。したがって、エンドホストは、これらのインターフェースのＭＡＣアドレスについて問い合わせる実際的な方法を有することが困難であり得る。
【００５４】
[0072]別の実施形態では、ネットワーク分析システムは、ネットワーク全体の構成および状態検索のための対話型プラットフォームを提供し得る。プラットフォームは、ＩＰアドレス、ＭＡＣアドレス、ＶＬＡＮ、デバイス、デバイスインターフェース記述、およびネットワーク内で発見される任意の他の名前のフィールドなどのネットワーク要素にわたる検索をサポートし得る。検索結果は、（１）結果の対話型で直観的な探査と、（２）注目するカテゴリに基づいてクエリの迅速な改良とを可能にするユーザが理解可能なカテゴリに自動的にカテゴリ分類され、グループ化され得る。たとえば、ユーザがＩＰアドレスを入力するとき、応答は、限定はしないが、ＩＰアドレスまでのルート、マッチングＩＰをもつインターフェースまたはホスト、マッチング管理ＩＰアドレスをもつデバイス、ＩＰアドレスに関係するロードバランサ構成、ネットワークデバイス上の構成および状態からのテキストマッチングなどを含むＩＰアドレスをマッチングする様々なタイプの結果を含み得る。
【００５５】
[0073]いくつかの実施形態では、ユーザインターフェースは、検索結果を自動的にカテゴリ分類し得、ユーザにこれらのカテゴリを公開し得る。いくつかの実施形態では、検索機能は、ユーザが任意のクエリを入力し得、必ずしも結果タイプまたはカテゴリが指定されるとは限らないことがあるネットワーキングのための統一された検索バーによって公開され得る。様々な実施形態によるネットワーク分析システムは、クエリのタイプを自動的に検出し得、プラットフォームは、ユーザに対応するタイプの結果を提示し得る。たとえば、ユーザがネットワークデバイス名を検索する場合、インターフェースは、デバイスに関係する結果を自動的に表示し得る。そのような情報の例としては、デバイスから収集された構成および状態、ネットワーク中でのデバイスの役割、それの製造業者、モデル、管理ＩＰアドレス、ＯＳバージョンなどがあり得る。別の例として、同じ検索バー中で、ユーザが、ホストに対応するＩＰアドレスを検索した場合、ユーザインターフェースは、ホスト名、マックアドレスなどのマッチングホストに関する情報をユーザに直接提示し得る。同じ検索バーはまた、ネットワーク中でのトラフィック挙動またはパスなどの他のネットワーキング関連のエンティティを検索するために使用され得る。
【００５６】
[0074]図１１は、本発明の一実施形態による、ネットワーク中の構成データまたは状態データを分析し、検索する例示的な方法を示す図である。図１１に、例示的なインターフェース１１００を示すが、本発明の実施形態は、構成および状態をリアルタイムで検索するのを制限するために様々なフィルタを使用してユーザがネットワーク中の構成または状態データを分析し、検索することを可能にする任意の一般的な視覚表示を含む。ユニバーサル検索バー１１０２中でＩＰアドレスを検索することは、発見されたホスト１１０８、ＡＲＰエントリ１１１０、ネットワーク中のインターフェース１１１２、異なるデバイス中の対応するサブネットへのルーティングテーブルエントリ１１１４、デバイスから収集された構成および状態情報中でのテキストマッチング１１１６などの検索結果１１０４中に表示される異なるグループにカテゴリ分類された結果を示し得る。さらに、ネットワークトポロジ１１０６はまた、ネットワーク中のユーザ、任意の関係するデバイス１１１８またはトポロジリンク１１２２に表示され得る。結果ごとに、関係するマッチング基準も、特に、これが明らかでない場合に、強調され得る。たとえば、テキストマッチングの場合、テキストの関係する行が、ある程度の量のコンテキスト（少数の前の行および後続の行）とともに表示され、テキストのマッチング部分が強調される。いくつかのデバイスが結果のセット内にないとき、デバイス１１２０は、強調されないことがあるか、または明るい色で表示されるか、バックグラウンドで表示されるか、または関係するデバイス１１１８が強調され、ユーザにそれと分かるようにされるなど別の方式で表示され得る。
【００５７】
[0075]いくつかの実施形態では、構成または状態データは、異なるカテゴリが注目され得る他の関連するネットワーク要素へのリンクを有し得ることをもたらす。たとえば、ネットワークインターフェースの結果は、インターフェースを含んでいるデバイスへのリンク、リンクによってこのインターフェースに接続されたインターフェース、およびインターフェース上に構成されたＶＬＡＮ、インターフェース上で発見されたホストなどのインターフェースの他のプロパティを有し得る。
【００５８】
[0076]図１２は、本発明の一実施形態による、ネットワーク中の構成データまたは状態データを分析し、検索する例示的な方法を示す図である。図１２に、例示的なインターフェース１２００を示すが、本発明の実施形態は、ユーザがネットワーク中の構成または状態データを分析し、検索することを可能にする任意の一般的な視覚表示を含む。状態および構成の検索結果は、結びつけられ、容易にナビゲート可能である。関連するネットワーク要素は、それらの要素に関する詳細を表示するためにクリックまたは追従され得るリンクに変えられる。たとえば、インターフェース１２００中で、ユーザは、検索バー１２０２中に検索クエリを入力し得る。１２０２においてｖｌａｎ１１６１を検索することは、ＶＬＡＮ１２１８、それらのＶＬＡＮが構成されたインターフェース１２２０、テキストマッチング１２２２などの異なるカテゴリ中に検索結果１２０４を示し得る。インターフェース結果を拡張すると、対応する「インターフェースカード」が、１２２０においてインターフェース名をクリックすることによって１２０６において表示され得る。インターフェースカード１２０６中の「ソースを参照」リンク１２２６を追従することは、１２２４に示すように、強調された構成および状態の対応する行とインターフェースするものに関係する構成および状態に関するさらなる詳細１２０８を示す。同様に、インターフェース、そのデバイス上の他のインターフェースの構成などを含んでいるデバイスに関する詳細を表示するためにリンクに追従することが可能であり得る。たとえば、さらなる詳細１２０８は、構成データ１２１０、インターフェース構成データ１２１２、スイッチポートデータ１２１４、および／またはインターフェース状態データ１２１６などを与えるために様々なタブを含み得る。拡張インターフェース１２０６および１２０８は、検索結果１２０４にリンクされ得る別個のウィンドウ、ペイン、フレーム、あるいは任意の他の好適なレイアウトまたはインターフェースとして提示され得る。
【００５９】
[0077]別の実施形態では、ネットワーク分析システムは、異なる時間におけるネットワークのステータス間の差分（たとえば、ネットワークの「差分」）を決定するための対話型プラットフォームを提供し得る。ネットワークの差分を実行するための対話型プラットフォームを提供することによって、ネットワーク分析システムのユーザは、２つの異なる時点にわたってネットワークの構成、状態および挙動の間の差を発見し、調査することが可能になり得る。ネットワークの差分により、ユーザは、ネットワークに行われた変更が所望の結果を実現したか、または少なくとも望ましくない結果を有しないことを検証することが可能になる。さらに、いくつかの実施形態では、プラットフォームにより、ユーザは、周期的な方式で（たとえば、１日に一度）の変更についてネットワークを検査するためにネットワークの差分を利用することが可能になる。ネットワークの差分が２つの時点の間のネットワークの変更を提示するので、様々な実施形態によるネットワーク分析システムによって与えられた対話型プラットフォームは、過去の知られている時点の後に発生したことしか知られていないものを含むネットワーキング問題をユーザが理解し、解決するのを助ける上で有利である。
【００６０】
[0078]ネットワークの差分は、様々な実施形態によれば、ネットワークアーキテクチャの１つまたは複数の情報レイヤにおける差分を分類し、決定し得る。各情報レイヤは、ネットワーク中の１つまたは複数のデバイスに存在し得る１つのタイプの情報を指定する。これらのレイヤは、限定はしないが、以下を含む。
・トポロジ：物理的なまたは仮想的なトポロジの差。例としては、追加されたデバイス、除去されたデバイス、修正されたデバイス、ネットワークリンク、トンネルなどがある。
・構成：ネットワーク中で様々なデバイスの実行中のおよび／または保存された構成の差。
・インターフェース：ネットワーク中の様々なデバイスの追加されたインターフェース、除去されたインターフェース、または修正されたインターフェース（物理または仮想）。
・レイヤ２接続性：限定はしないが、ブロードキャストドメインまでの追加、除去、または修正されたデバイスあるいはインターフェース、新たに追加されたＶＬＡＮなどを含む様々なＶＬＡＮのレイヤ２ブロードキャストドメインの変更。
・レイヤ３接続性：様々なサブネットに宛てられたパケットの接続性の変更。接続性情報は、以下のうちの１つまたは複数を含み得る。
【００６１】
○パケットが発生したソース仮想ルーティングおよび転送（ＶＲＦ：virtual routing and forwarding）テーブルのセット
○パケットが到着する宛先インターフェース
○パケットがネットワーク中で取るパス
○パスに沿ったデバイス上のＶＲＦ
・アクセス制御：ネットワーク中の様々なデバイスにおけるアクセス制御ポリシーの変更と潜在的なデータトラフィックに対するそれらの効果
・ネットワークアドレス変換（ＮＡＴ）：パケットの様々なソースおよび宛先ＩＰアドレスまたはレイヤ４ポートがロードバランサなどのネットワーク中の様々なデバイスにおいてどのように変更されるのかの変更
[0079]図２に、一実施形態による、ＶＬＡＮの差分の例示的な視覚表示を示すが、本発明の実施形態は、情報レイヤの差分を示すための任意の一般的な視覚表示型を含む。いくつかの実施形態では、ネットワーク分析システムによって与えられたプラットフォームは、ユーザが情報ペイン２０４中に視覚的に表された特定の情報レイヤの差分を参照することを可能にするインターフェース２００を含み得る。インターフェース２００は、情報ペイン２０４によって示された情報をフィルタ処理するフィルタペインまたはフレーム２０２を含み得る。ユーザは、差を決定する必要があるスナップショット、たとえば、２１４におけるスナップショット１と２１６におけるスナップショット２とを選択し得る。これらのスナップショットは、時間インスタンス、スナップショット名、タグ、注釈、スナップショット識別子、および他の基準を含むスナップショットを識別する様々な手段に基づいて選択され得る。スナップショット１についてのスナップショット情報は、２２０において表示され得、スナップショット２についてのスナップショット情報は、２２２において表示され得る。２２０におけるスナップショット１のビューと２２２におけるスナップショット２のビューとはスナップショットにわたるＶＬＡＮ構成および状態の隣り合った差分を提示する。２０８において選択されたＶＬＡＮごとに、ＶＬＡＮが構成された（たとえば、２０６において選択された）デバイスは、（たとえば、２１０において選択された）関係するスパニングツリーインターフェース情報、スパニングツリーの一部であるインターフェース、たとえば、それらがアップであるのかまたはダウンであるのか、それらのモード（たとえば、アクセス／トランク）がスナップショットにわたって修正されたのかどうかなどとともに表示され得る。各ＶＬＡＮ中に構成された（たとえば、２１２において選択された）Ｌ３インターフェースはまた、ゲートウェイＩＰアドレスまたはサブネットの差とともに提示され得る。
【００６２】
[0080]ユーザは、情報レイヤの差分をフィルタ処理するための検索基準２０２を指定し得る。いくつかの実施形態では、これは、パケットヘッダ、トラフィックパス、またはその両方に対するフィルタを含む。パケットヘッダフィルタは、パスに沿って任意のポイントにおいて異なるパケットヘッダフィールドを指定し得る。トラフィックパスフィルタは、トラフィックが発生、通過、または終了するネットワークデバイスまたはインターフェースを含み得る。たとえば、フィルタは、ユーザがどのデバイスを含めるのかを選択することができる２０６において様々なデバイスを含み得る。フィルタ２０２はまた、ＶＬＡＮ２０８によるフィルタ、スパニングツリーインターフェース２１０またはＬ３インターフェース２１２を含み得る。
【００６３】
[0081]
[0082]図３に、本発明の一実施形態による、スナップショットにわたるレイヤ３到達可能性の隣り合いを提示する、レイヤ３到達可能性の例示的な視覚表示を示す。いくつかの実施形態では、ネットワーク分析システムによって与えられたプラットフォームは、ユーザがユーザ選択された基準を用いてＬ３スナップショット比較２０４を実行することを可能にするインターフェース３００を含み得る。インターフェース３００は、フィルタペインまたはフレーム３０２を含み得る。ユーザは、第１に、差を決定する必要がある時間インスタンスまたはスナップショット、たとえば、３１４におけるスナップショット１と３１６におけるスナップショット２とを選択し得る。次いで、ユーザは、フィルタ３０２中のトラフィックのための検索基準を指定し得る。たとえば、フィルタは、サブネット３０６と、ソース（たとえば、デバイス、ポートなど）３０８と、宛先（たとえば、デバイス、ポートなど）３１０と、潜在的な原因３１２とを含み得る。ユーザは、差を決定する必要がある時間インスタンスまたはスナップショット、たとえば、３１４におけるスナップショット１と３１６におけるスナップショット２とを選択し得る。スナップショット１についてのスナップショット情報は、３２０において表示され得、スナップショット２についてのスナップショット情報は、３２２において表示され得る。３０６において選択されたサブネットごとに、インターフェース３００は、３２０中の宛先インターフェースの対応するセットの各々への完全な接続性を有する３２０における１つまたは複数のデバイス上のソースＶＲＦのリストを提示し得る。到達可能性が変化した（たとえば、３０８において選択された）ソースＶＲＦまたは（たとえば、３１０において選択された）宛先インターフェースはまた、スナップショットのビュー中で、たとえば、スナップショット１について３１４において、スナップショット２について３１６において強調され得る。
【００６４】
[0083]いくつかの実施形態では、ネットワークの差分は、差分が観測されたデバイス、任意のＶＬＡＮまたは差分に関連するＩＰアドレスなどの様々な基準によってフィルタ処理され得る。さらに、様々な実施形態によるプラットフォームは、パケットヘッダまたはトラフィックパスなどのネットワークの差分によって影響を及ぼされ得るトラフィックの様々な特性を表示し得る。プラットフォームは、差分によって影響を及ぼされるトラフィックについて問い合わせ、トラフィックがどのようにネットワークによって扱われるのかの差分（たとえば、トラフィックの差分）を表示するための手段を与え得る。ユーザがトラフィックについて問い合わせることを可能にするために、プラットフォームは、テキストボックス、選択メニュー、または任意の他の好適なインターフェースを与え得る。
【００６５】
[0084]いくつかの実施形態では、ネットワークの差分が相互相関され得、様々な情報レイヤ固有の差分の間の因果関係が、計算され、ネットワーク分析システムによって与えられたプラットフォーム上にユーザに対して提示され得る。たとえば、ネットワーク分析システムは、Ｌ３接続性の差分がインターフェース障害によって生じ、次に、構成変更によって生じることを示し得る。別の例では、ネットワーク分析システムは、Ｌ３接続性の差分がＢＧＰプロトコルへの変更によって生じることを示し得る。
【００６６】
[0085]別の実施形態では、ネットワーク分析システムは、ネットワーク中の様々なトラフィックパスまたはフロー間の差分（たとえば、「トラフィックの差分」）を決定するための対話型プラットフォームを与え得る。時間にわたるネットワーク構成および状態の発展は、パケットが時間とともに別様に扱われていることにつながり得る。したがって、時間にわたるパケットの扱いの差を迅速で容易に理解する能力は、ネットワーク管理者が問題を迅速に解決するのを助け得る。エラーが最初に現れた特定の時間または特定の変更を容易に突き止めることを可能にすることによって、ユーザ（たとえば、ネットワーク管理者またはマネージャ）は、問題をうまく診断し、対処することが可能になり得る。本出願の実施形態は、視覚方式でトラフィックの変更を表示するために対話型プラットフォームを提供し、したがって、ユーザは、トラフィックの差を分析、調査、およびナビゲートするのがより容易でより直観的になる。
【００６７】
[0086]様々な実施形態によるネットワーク分析システムによって与えられたプラットフォームにより、ユーザは、ネットワークが時間とともにパケットを扱う方法の差について問い合わせることが可能になり得る。ネットワークトラフィックパスまたはフローパスの結果がプラットフォーム上に視覚的に表示されるので、焦点は、圧倒的になり得るネットワーク全体の挙動ではなく、ネットワークトラフィックの具体的な例を明らかにするようにシフトされる。図９は、本発明の一実施形態による、２つのスナップショットの間で同じデバイスを横断するトラフィックパスを分析する例示的な方法を示す図である。図９の例示的なトラフィックフロー９００では、ノードＡ９０２からノードＢ９０４を経てノードＣ９０６へのトラフィックパスは、スナップショットＡとスナップショットＢとの間で同じであり得る。しかしながら、トラフィックフローが、ノードＤ９０８へのネットワークパス９１０に従うので、トラフィックパスＡＢＣは、特定のスナップショットに応じて異なるヘッダを生じ得る。たとえば、スナップショットＡでは、ノードＣ９０６からパス９１０を介してノードＤ９０８まで、パケットのヘッダ値は、「ｖｌａｎ１０」を含み得る。スナップショットＢでは、ノードＣ９０６からパス９１０を介してノードＤ９０８まで、パケットのヘッダ値は、「ｖｌａｎ１２」を含み得る。プラットフォームは、インタラクティブインターフェース中で、同じ入力トラフィックに対応するこれらのパスの共通のおよび異なる部分を識別し、加えて差を視覚的に強調する。
【００６８】
[0087]図１０は、本発明の一実施形態による、２つのスナップショット間で異なるデバイスを横断するトラフィックパスを分析する例示的な方法を示す図である。図１０の例示的なトラフィックフロー１０００では、ノードＡ１００２からノードＢ１００４を経てノードＣ１００６へのトラフィックパスは、共通のパス１０１２ＡＢＣを有するが、次いで、ノードＣ１００６の後に２つのスナップショット間で異なり得る。たとえば、スナップショットＡでは、パケットは、ノードＣ１００６からノードＤ１００８に横断するが、スナップショットＢでは、パケットは、ノードＣ１００６からノードＥ１０１０に横断する。スナップショットＡとスナップショットＢとの間で、ノードＣ１００６の後のトラフィックは、異なるパスを取ったが、各スナップショットからの各パスは、共通のパス１０１２を共有する。
【００６９】
[0088]様々な実施形態によれば、クエリは、ネットワーク中の２つの異なる時点ＴAとＴBとの間のトラフィックの扱いの差を考え得る。一実施形態では、時間のこれらのインスタンスは、スナップショットの形態で選択され得る。別の実施形態では、時間のこれらのインスタンスは、ネットワークデバイスから最も近接した利用可能な状態に関連付けられ得る。様々な例では、ネットワーク中の時間ＴAおよびＴBにおけるネットワーク状態収集選択は、スナップショットＡおよびスナップショットＢと呼ばれることがある。
【００７０】
[0089]いくつかの実施形態では、ネットワーク分析システムによって与えられたプラットフォームは、ユーザが特定の基準にマッチングするトラフィックを検索することを可能にする検索インターフェースを含み得る。ユーザは、第１に、差を決定する必要がある時間インスタンスまたはスナップショットを選択し得る。次いで、ユーザは、トラフィックのための様々な検索基準を指定し得る。たとえば、様々な検索基準を指定することは、パケットヘッダ上のフィルタ、トラフィックパス、またはその両方を使用して実装され得る。パケットヘッダフィルタは、パスに沿って任意のポイントにおいて異なるパケットヘッダフィールドを指定し得る。トラフィックパスフィルタは、トラフィックが発生、通過、または終了するネットワークデバイスまたはインターフェースを含み得る。
【００７１】
[0090]図１３は、本発明の一実施形態による、ネットワーク分析の例示的な方法を示す流れ図である。トラフィックの差分を計算するために、ネットワーク分析システムは、図１３に示す以下のステップを行い得る。１３０２において、ネットワーク分析システムは、ユーザによって選択された検索基準にマッチングする様々なスナップショット、たとえば、スナップショットＡおよびスナップショットＢ中のフローを計算し得る。この例では、検索基準にマッチングするスナップショットＡのフローは、ＨｉｔｓＡと呼ばれることがあり、検索基準にマッチングするスナップショットＢのフローは、ＨｉｔｓＢと呼ばれることがある。
【００７２】
[0091]１３０４において、ＨｉｔｓＡ中のフローごとに、サンプルパケットが計算され得る。いくつかの実施形態では、サンプルパケットは、指定されてないかまたはワイルドカード化されたいくつかのフィールド（たとえば、Ｌ４ポート）を有し得る。サンプルパケットがＩＰオプションなどのワイルドカード化されたフィールドを有する場合、ネットワークは、そのワイルドカード化されたフィールドの値にかかわらず同様にパケットを扱う。
【００７３】
[0092]１３０６において、ネットワーク分析システムは、スナップショットＡからの同じ入力ポート上でのステップ１３０４からのサンプルパケットがスナップショットＢ中でどのように扱われるのかを決定し得る。しかしながら、スナップショットＢ中で追跡されるパケットに対応するトラフィックフローは、検索基準にマッチングしない場合、ＨｉｔｓＢ中に存在し得ない。たとえば、検索基準は、パケットが特定のデバイスにおいて終了しなければならないことを指定し得るが、スナップショットＢ中では、スナップショットＡ中で選定されたサンプルパケットは、異なるデバイスにおいて終了するようにネットワークによって扱われ得る。ステップ１３０６を実行しながら、ネットワーク分析システムは、これらのサンプルパケットによってカバーされているＨｉｔｓＢ中のフローを追跡し得る。すなわち、システムは、スナップショットＡからのサンプルパケットがＨｉｔｓＢ中にマッチングするフローをもつ対応するサンプルパケットを有すると決定し、示し得る。
【００７４】
[0093]１３０８において、ネットワーク分析システムは、ＨｉｔｓＡ中のフローのために生成されたサンプルパケットによってカバーされなかったＨｉｔｓＢ中のフローの集合を計算し得る。本明細書によってカバーされていないフローと呼ばれるこれらのフローは、ユーザによって選択された検索基準にマッチングするスナップショットＢ中のフローであるが、スナップショットＡ中のいかなる対応する挙動ともまだ比較されていないことがある。
【００７５】
[0094]１３１０において、ステップ１３０８において決定されたカバーされていないフロー中のフローごとに、別のサンプルパケットが計算され得る。
【００７６】
[0095]１３１２において、ステップ１３１０からのサンプルパケットのトラフィックフローが決定され得る。詳細には、ネットワーク分析システムは、スナップショットＢからの同じ入力ポート上のサンプルパケットがスナップショットＡ中でどのように扱われるのかを決定し得る。
【００７７】
[0096]１３１４において、スナップショットＡとスナップショットＢとの間でのサンプルパケットの挙動が比較され得る。挙動の両方が、比較、分析、および診断を容易にするために対話型プラットフォーム上でユーザに表示され得る。ネットワーク分析システムは、両方のスナップショット中で挙動が決定されているこれらのサンプルパケットを使用して差分を決定し得る。
【００７８】
[0097]様々な実施形態によれば、ネットワーク分析システムは、以下のシナリオのいずれかにおいてそのサンプルパケットの扱いに差があることを示し得る。第１のシナリオは、サンプルパケットが、スナップショットＡと比較してスナップショットＢ中で異なるパスを取るときである。第２のシナリオは、サンプルパケットが、スナップショットＡと比較してスナップショットＢ中で異なるヘッダ変換を受けるときである。たとえば、パケットのための出口ＶＬＡＮは、スナップショットＡ中での１０からスナップショットＢ中では２０に変更され得る。第３のシナリオは、サンプルパケットが同じホップを経験し、同じパケット変換を有するのに、１つまたは複数のホップにおいて異なる挙動を受けるときである。たとえば、パケットは、スナップショットＡ中では適用されなかったスナップショットＢ中でそれに適用されるいくつかのＡＣＬルールを有し得る。別の例として、パケットは、スナップショットＡ中ではデフォルトのＩＰルールによって転送されるが、スナップショットＢ中では明示的なＩＰルールによって転送され得る。
【００７９】
[0098]しかしながら、上記のシナリオが不在の場合、スナップショットＡとスナップショットＢとの間でのそのサンプルパケットの扱いに差はない。様々な実施形態によるプラットフォームは、そのパケットがどのように扱われるのかと挙動に差がないこととを示し得る。パケットが、１つまたは複数のスナップショット中で複数のパスを取り得る場合、スナップショットＢ中のパスのセットが、同じデバイスを通り、同じ挙動を有するパスをマッチングするためにスナップショットＡ中のパスと比較される。スナップショットＡ中のパスＡとスナップショットＢ中のパスＢとが、デバイスおよびインターフェースの全く同じシーケンスを通り、デバイスにおいて同じヘッダ変換を受ける場合、２つのパスは、互いにマッチングされ、同じものとして扱われ得る。場合によっては、パスは、しきい値を満たすかまたはそれを超えている共通性のスコアに基づいて互いにマッチングされる。
【００８０】
[0099]いくつかの実施形態では、共通性のスコアは、パスのペアについて計算された値である。パスが共通のデバイスホップを共有する場合、およびパケットがそのデバイスに入出するときにパスが共通のパケットヘッダ値を共有する場合、スコアはより高くなり得る。共通性スコアは、次いで、スナップショットＡからスナップショットＢに変更したパスをマッチングし、比較するために使用され得る。
【００８１】
[0100]様々な実施形態によれば、ネットワーク分析システムによって提供されたプラットフォームはまた、自動根本原因診断を提供し得る。根本原因は、ネットワーク分析システムの診断の一部としてロケーションと根本原因の識別の理由との両方を含み得る。ネットワーク分析システムは、観測された、意図しないトラフィック挙動の潜在的な根本原因を自動的に決定し、プラットフォームを通して、可能性の順に根本原因をランク付けするためにヒューリスティックを与え得る。たとえば、得られた潜在的な根本原因は、可能性が最も高いものから可能性が最も低いものまでユーザのためのプラットフォーム中に表示され得る。根本原因をランク付けすることは、即時の注意のために上部により高い可能性を有する根本原因を配置することによってユーザの時間を節約する。さらに、精度の確率によってランク付けすることはまた、分析の結果として決定された計画された解決を実施し始める上での非効率性および人的エラーを低減し得る。
【００８２】
[0101]いくつかの実施形態では、ネットワーク分析システムは、たとえば、トラフィックが取るパスおよびトラフィックにパスを取らせることを担当するパスに沿った各デバイスにおける特定の構成および状態を含む、ネットワーク中で特定の挙動を経験するパケットを計算し、記憶し得る。他の実施形態では、ネットワーク分析システムにより、対話型プラットフォームを通して、ユーザは、ネットワーク中で予想されるおよび禁止されたトラフィック挙動についての確認を定義することが可能になり得る。たとえば、確認は、ＩＰ宛先１００．１００．１００．０／２４をもつトラフィックがｄｅｖｉｃｅＡからｄｅｖｉｃｅＢに進むことが可能でなければならないことを指定し得る。これは、存在確認と呼ばれる。別の例では、確認は、ＳＳＨトラフィックがネットワークのインターネット向けポートに入り、内部サーバのいずれかに達することが不可能でなければならないことを指定し得る。これは、隔離確認と呼ばれる。
【００８３】
[0102]確認が失敗する場合、ネットワーク分析システムは、様々な実施形態によれば、確認の失敗を示す代表例として働くトラフィックパスを自動的に抽出し得る。たとえば、トラフィックがネットワーク中の２つのロケーション間を流れるのを禁止されることを予想する隔離ポリシーが失敗する場合、それらの２つのロケーション間を流れるトラフィックを示すトラフィックパスは、ポリシーの失敗の代表例として働き得る。同様に、トラフィックが２つのネットワークロケーションの間を流れることを予想する存在ポリシーが失敗する場合、意図された宛先に到着する前にドロップされるトラフィックを示すトラフィックパスまたは異なる宛先に到着するトラフィックを示すトラフィックパスは、ポリシーの失敗の代表例として働き得る。
【００８４】
[0103]しかしながら、代表例の場合でも、特に、そのトラフィックをどのように扱うことをネットワーク設計者が希望したのかの低レベルの意図が存在しないとき、ハイレベルの予想に反する観測された挙動の正確な根本原因が明らかでないことがある。たとえば、隔離ポリシーの失敗の根本原因は、ファイアウォールルールが寛容すぎたこと、またはＡＣＬがパスに沿ったデバイスのいずれかにおいて正しくセットアップされなかったことであり得る。同様に、存在ポリシーの失敗の根本原因は、トラフィックが異なるロケーションに宛てられたこと、トラフィックが制限的すぎだったＡＣＬルールによってドロップされたこと、またはあるＶＬＡＮがインターフェースの上で構成されなかったのでトラフィックがそこでドロップされたことであり得る。
【００８５】
[0104]様々な実施形態によれば、ネットワーク分析システムは、自動根本原因診断を潜在根本原因識別と自動根本原因識別との２つの部分に分解し得る。潜在的な根本原因を識別する際に、ネットワーク分析システムは、可能性の高いものから（たとえば、可能性が最も高いものから可能性が最も低いものの）順に潜在的な候補の根本原因の順位リストに観測された挙動（たとえば、代表例のトラフィック挙動）をリンクし得る。一実施形態では、ネットワーク分析システムは、ＩＰルーティング、ＡＲＰ解決、ＭＡＣ転送、アクセス制御、ネットワークアドレス変換などの一般的に理解されたネットワーク機能に関してパスに沿ったネットワークの挙動を決定し得る。確認の失敗のタイプに基づいて、ネットワーク分析システムは、次いで、潜在的な根本原因としてトラフィックパスに沿った各デバイスにおける適切な機能レイヤに対応するネットワーク機能を自動的に抽出する。
【００８６】
[0105]たとえば、隔離確認が失敗する場合、トラフィックがパスに沿ったデバイスのうちの１つにおいてアクセス制御機能によってドロップされた可能性があるので、パスに沿った各デバイスにおけるアクセス制御ネットワーク機能が、潜在的な根本原因として抽出され得る。別の例として、到達可能性確認が失敗する場合、ネットワーク分析システムは、最初に、対応する代表的なトラフィックパスがパスに沿ってドロップされるのかどうかを確認し得る。そうである場合、ネットワーク分析システムは、候補根本原因としてトラフィックをドロップすることを担当するネットワーク機能を選ぶ。候補根本原因は、過度に制限的なアクセス制御ネットワーク機能またはトラフィックが入るＶＬＡＮタグを容認しない入力ネットワーク機能であり得る。別の例として、代表的なトラフィックパスが、トラフィックが異なるロケーションにリダイレクトされていることを示す場合、ネットワーク分析システムは、トラフィックパスが意図された宛先へのパスから逸脱したデバイスを識別し、潜在的な根本原因としてトラフィックをコースから外れてステアリングすることを担当するネットワーク機能を抽出し得る。
【００８７】
[0106]ネットワーク分析システムが複数の潜在的な根本原因を発見する場合、様々な実施形態によるネットワーク分析システムは、実際の根本原因であるそれらの可能性に基づいて複数の潜在的な根本原因をランク付けし得る。たとえば、隔離確認の失敗の潜在的な根本原因のように見えるパスに沿った様々なデバイスに多元接続制御ネットワーク機能がある場合、最大数のアクセス制御ルールをもつデバイス中のアクセス制御ネットワーク機能が、最大量のセキュリティ関連ポリシーを含んでいるので、最も高くランク付けされ得る。
【００８８】
[0107]別の例では、ネットワーク分析システムは、潜在的な根本原因をランク付けするために履歴データを使用し得る。ネットワーク分析システムは、ネットワークデバイスから（スナップショットと呼ばれる）状態および構成情報を周期的に収集し、毎回確認を実行する。確認の失敗時に、ネットワーク分析システムは、確認が合格した前回と比較して変更された対応する構成／状態があるときに潜在的な根本原因をより高くランク付けし得る。
【００８９】
[0108]自動根本原因決定では、ネットワーク分析システムは、様々な実施形態によれば、どの候補根本原因が確認の失敗の原因となった可能性が最も高いことがあるのかを決定する際に確認履歴および／または構成／特徴の差分を組み込み得る。一実施形態では、ネットワーク分析システムは、候補根本原因に対応する構成の変更を自動的に復帰し、確認を再実行し得る。他の実施形態では、ネットワーク分析システムは、復帰された変更をテストするためにモデルを再計算し得る。特定の変更を復帰することが、確認を再び合格させる場合、ネットワーク分析システムは、確認の失敗の最も可能性がある根本原因としてその変更を記録またはマークし得る。
【００９０】
[0109]様々な実施形態によれば、ネットワーク分析システムは、診断につながる確認の失敗を識別し得、ユーザに対して対話型プラットフォーム上で確認の失敗を表示し得る。対話型プラットフォームにより、ユーザは、ポリシー確認の失敗を表示するビューから確認がなぜ失敗したのかの診断を可能にするビューにナビゲートすることが可能になる。したがって、対話型プラットフォームは、確認の失敗に基づいて診断する際のユーザの時間を節約し、さらに重要なことに、確認がなぜ失敗したのかの説明を与え得るポリシー確認の失敗のコンテキストがユーザにとって利用可能である。ネットワーク分析システムが診断につながる確認の失敗を識別することなしに、ユーザは、特定のポリシー確認の失敗をデバッグするためにクエリをどのように定式化するのかを知ることができない。ユーザがそのようなクエリをどのように定式化するのかを知っている場合でも、この手動の技法は、エラーおよびまぎらわしい結果を受けやすい。
【００９１】
[0110]別の実施形態では、失敗したネットワークの確認が、２つのネットワーク要素の隔離またはある基準に一致するトラフィックの不在を必要とする場合、確認は、（フローの測定を使用する場合は）観測されたそのようなトラフィック、または（モデルを使用する場合は）ネットワークを潜在的に横断するそのようなトラフィックの存在により失敗し得る。この場合、ネットワーク分析システムは、確認に違反するトラフィック（すなわち、存在することも存在しないこともあるが、決して存在してはならないトラフィック）を表示のために与え得る。トラフィックは、ネットワーク分析システムによって与えられた対話型プラットフォーム上でユーザに表示され得る。一実施形態では、ネットワーク分析システムは、一致するパスに沿ってトラフィック挙動の理解可能な説明を与え得る。
【００９２】
[0111]さらに、失敗したネットワーク確認が、ある基準に一致するトラフィックの存在を必要とする場合、ネットワーク分析システムは、そのようなトラフィックのためのフィルタ基準を表示のために与える。トラフィックは、ネットワーク分析システムによって与えられた対話型プラットフォーム上でユーザに表示され得る。したがって、プラットフォームは、個々のフィルタを修正する能力を与える。フィルタをオンおよびオフにし、トラフィックに対するそれらの効果を直ちに見ることによって、ユーザは、ネットワークが確認の注目するトラフィックをどのように扱うのかを直観的に診断することができる。
【００９３】
[0112]例示のために、一例として以下の確認について考える。
トラフィックは、以下の基準にマッチングするネットワーク中に存在しなければならない。
・デバイスＡ発
○ＩＰ宛先１０．１０．１０．１０をもつ
○ＶＬＡＮ２０をもつ
・デバイスＢ経由
・デバイスＣ宛て
[0113]この例では、上記の確認が失敗するとき、ユーザは、トラフィックが中間地点Ｂに達することが可能であるのかどうかを見るために「デバイスＣ宛て」フィルタをオフにし得る。ユーザは、代替的に、トラフィックが意図された宛先に到着するが、与えられた中間地点Ｂをバイパスするのかどうか見るために「デバイスＢ経由」フィルタをオフにし得る。いくつかの実施形態では、このシステムはユーザが、確認中に既存の検索基準を単に有効化または無効化するだけでなく、容易にフィルタ基準を編集し、新しいフィルタ基準を追加することを可能にするようにさらに拡張され得る。
【００９４】
[0114]別の実施形態では、失敗したネットワーク確認がトポロジリンクにわたるＶＬＡＮの整合性などのあらかじめ定義された確認のためのものであり得る場合、ネットワーク分析システムは、ユーザにあらゆるＶＬＡＮの不整合性を識別し、プラットフォーム上での表示のために与え得る。ネットワーク分析システムはまた、不整合性に関する詳細を与えるデバイス上の必要な構成および状態へのリンクを与える。
【００９５】
[0115]様々な実施形態によれば、ネットワーク分析システムはまた、ネットワーク分析のための確認を決定し得る。単純な構成の誤りは、しばしば、大きなネットワーク故障につながる。あらゆる「うまく構成された」ネットワークは、それが正しく機能するためにいくつかの構成および挙動プロパティを満たさなければならない。いくつかの実施形態では、ネットワーク分析システムは、多くのパスに適用されるより高いレベルのトラフィックルーティングプロパティまで、低レベルのリンク構成プロパティをカバーする、ネットワークに一般的に適用される「あらかじめ定義された確認」をサポートし得る。これらのプロパティは、多くのネットワークに適用され得、そこで実行されるアプリケーションの特定のセットに特定のものでないことがある。（たとえば、プロパティがネットワーク全体にわたって有効であることを示す）確認がパスしたのかどうか、または（たとえば、それが満たされない少なくとも一例を示す）確認が失敗したのかどうかを決定するための情報は、デバイス構成、デバイス状態、およびユーザ入力から来得る。あらかじめ定義された確認は、それが変化するにつれてネットワークに自動的に適用され得る。
【００９６】
[0116]ネットワーク中での様々な構成および挙動不変条件のあらかじめ定義された確認は、以下を含み得る。
・ＶＬＡＮの整合性：インターフェースＡおよびＢのあらゆるペアは、一貫した方法で定義されたＶＬＡＮを有していなければならない。ＶＬＡＮが一貫して定義されていない場合、トラフィックは、場合によっては、ネットワーク内で暗黙的にドロップされ、他の場合にはＶＬＡＮ境界にわたって横断し、セキュリティ問題につながり得る。一貫したＶＬＡＮの定義のための基準は、（限定はしないが）以下を含み得る。
【００９７】
○ＡとＢとの両方がアクセスインターフェースである場合、それらのアクセスＶＬＡＮは等しくなければならない。
【００９８】
○ＡとＢとの両方がトランクインターフェースである場合、トランクＶＬＡＮセットと両方の上のネイティブＶＬＡＮとが等しくなければならない。
【００９９】
○ＡまたはＢがアクセスインターフェースである場合、他方は任意のＶＬＡＮを搬送してはならない（すなわち、トランクインターフェースでなければならないかまたはサブインターフェースを有しなければならない）。
【０１００】
○ＡまたはＢが（トランクインターフェースとして、またはサブインターフェースを介して）任意のＶＬＡＮを搬送する場合、他方も同じＶＬＡＮを搬送しなければならない。
・ＩＰアドレスの一意性：デバイスインターフェースに割り当てられたＩＰアドレスは、ネットワーク中の各ＶＲＦにわたって一意でなければならない。
・ＭＴＵの整合性：各リンクの両端におけるインターフェースは、同じ最大伝送単位（ＭＴＵ）を有していなければならない。
・デュプレックスの整合性：各リンクの両端におけるインターフェースは、同じデュプレックスタイプが構成されていなければならない。
・リンク速度の整合性：各リンクの両端におけるインターフェースは、同じリンク速度を有していなければならない。
・ポートチャネルの整合性：すべての構成されたポートチャネル（ＬＡＧ）インターフェースは、ポートチャネルに正常に加入していなければならない。
・転送ループなし：ネットワーク中にトラフィック転送ループがあってはならない。パケットは、それがパスを横断するときにそれが二回以上デバイス上のインターフェースに入る場合、転送ループを通ると言われる。場合によっては、転送ループを通るパケットは、無限の回数デバイスのセットを通り得る。
・トラフィックブラックホールなし：トラフィックは、ネットワーク中で（いかなるルールにもマッチングしないことにより）暗黙的にドロップされてはならない。
・決定論的なＢＧＰ構成：ＢＧＰは、単一の状態に決定論的に収束するように構成されなければならない。
【０１０１】
[0117]いくつかの実施形態では、あらかじめ定義された確認は、０個以上のパラメータを含み得る。パラメータ化され、あらかじめ定義された確認の例としては、限定はしないが、以下がある。
・最短パス：この確認により、ユーザは、デバイスの２つ以上のグループを定義することが可能になり、この確認は、異なるグループに属する任意の２つのデバイス間でトラフィックが取り得るあらゆる潜在的なパスが、ネットワークのトポロジによって決定された最短パスを行くことを検証する。
・ＶＬＡＮの存在：エッジトランクインターフェースがすべての指定されたＶＬＡＮを搬送しなければならないことを検証する。指定されたＶＬＡＮを入力パラメータとして受け取る。
・トランクインターフェースのホワイトリスト：ホワイトリスト化されたインターフェースのみがトランクモードにあり得る。
【０１０２】
[0118]ネットワーク分析システムは、３つのステップで上記で説明したものなどのあらかじめ定義された確認を実装し得る。第１に、ネットワーク分析システムは、限定はしないが、以下を含むネットワーク要素に関する情報を収集する。
・ネットワーク中のデバイス（たとえば、スイッチ、ルータ、ファイアウォール、ロードバランサ）
・各ネットワークデバイス上に存在するインターフェース
・上記の各インターフェース上で構成されるＶＬＡＮ、ＩＰアドレス、ＭＡＣアドレス、ポートチャネル、ＭＴＵ、二重性
・ＬＬＤＰまたはＣＤＰを介し自動的に、またはユーザによって手動で追加されたネットワーク中の様々なデバイスを接続するリンク
・ネットワークの各デバイス上のＢＧＰ構成
[0119]その後、ネットワーク分析システムは、上記のベンダーに依存する情報をネットワークのベンダーに依存しないモデルに変換し得る。最後に、あらかじめ定義された確認ごとの論理がネットワークモデル上で実行され得る。
【０１０３】
[0120]一実施形態では、あらかじめ定義された確認が失敗する場合、ネットワーク分析システムは、確認の失敗を生じた情報を与え得る。たとえば、ＭＴＵの整合性の確認が失敗する場合、ネットワーク分析システムは、（１）インターフェースＭＴＵが異なるネットワークリンク、（２）そのリンクによって相互接続されたインターフェースのＭＴＵ値、および／または（３）ＭＴＵ値を示すインターフェースのための収集された構成および状態の特定の線を示す。
【０１０４】
[0121]様々な実施形態によれば、ネットワーク分析システムはまた、リソースの限られたデバイスからの状態の収集を実行し得る。ネットワークを通したトラフィックの包括的な分析は、ネットワーク中のデバイスの一部または全部から現在の構成および転送状態を収集することを必要とする。収集された状態の例としては、限定はしないが、インターフェース構成、ＶＬＡＮ構成、ＩＰ  ＦＩＢ（転送情報ベース：Forwarding Information Base）、ＢＧＰ  ＲＩＢ（ルーティング情報ベース：Routing Information Base）、ＡＣＬ構成などがあり得る。この情報は、端末セッション内でＣＬＩコマンドを発行することによって、ＳＮＭＰを介して、あるいはＮｅｔＣｏｎｆ、ＯｐｅｎＦｌｏｗ、Ａｒｉｓｔａ  ｅＡＰＩなどの他の標準的なまたはプロプライエタリなプロトコルおよびＡＰＩを介してなど、様々な機構を使用して収集され得る。これらの状態のうちのいくつか、たとえば、インターネット上のすべてのＩＰアドレスへのルートを含んでいるネットワークのインターネット向け境界ルータのＩＰ  ＦＩＢは、非常に大きいことがある。
【０１０５】
[0122]収集すべき状態の量が大きいとき、および／またはターゲットデバイスが遅いとき、収集プロセスはフォールスアラームをトリガし得る。これらのアラームは、大量の状態をエクスポートすることがデバイスのＣＰＵ上に持続的な負担をかけるときに生じ、それを高い利用率レベルで絶えず動作させる。高いＣＰＵ使用率は、一般に、ルーティングプロセスの異常な状態を検出するようにセットアップされたＣＰＵ利用アラームをトリガさせる。そのようなアラームは、ネットワーク運用技術者の時間を浪費し、収集プロセスがネットワークデバイスにリスクを招いているという誤った感覚を与える。しかしながら、本出願の実施形態は、ＣＰＵのアラームをトリガすることなしに大量のデバイスの状態を収集するために安全な機構を提供する。
【０１０６】
[0123]一実施形態では、ＩＰ  ＦＩＢ、ＢＧＰ  ＲＩＢ、またはＭＰＬＳ  ＲＩＢなどの大きいＩＰベースの状態がチャンクで収集される。ネットワーク分析システムは、最初に、すべての可能なＩＰアドレスの空間を等しいまたは等しくないサイズの複数のチャンクまたはサブネットに分割し得る。たとえば、すべての可能なＩＰアドレスの空間は、０．０．０．０／２、６４．０．０．０／２、１２８．０．０．０／２、および１９２．０．０．０／２のように４つの等サイズのチャンクに分割され得る。ネットワーク分析システムは、次いで、それらのサブネットに対応するルートを一つずつ収集する。収集を行いながら、ネットワーク分析システムは、事前構成された時間ウィンドウにわたる平均ＣＰＵ利用率が、あらかじめ定義されたしきい値を超えないように連続収集間に十分なギャップを残し得る。
【０１０７】
[0124]別の実施形態では、チャンクの数、チャンクのサイズ、ＣＰＵ利用時間ウィンドウ、ＣＰＵ利用率アラームしきい値のうちの１つまたは複数は、ネットワーク分析システムによって構成されるかまたは自動的に決定され得る。さらに、ネットワーク分析システムは、ＳＮＭＰ、ＣＬＩコマンドなどの１つまたは複数の方法を使用して状態を収集すべきデバイスのＣＰＵ利用率を周期的に監視し得る。ＣＰＵ利用率値に基づいて、ネットワーク分析システムは、平均ＣＰＵ利用率がアラームしきい値を超えないように次の収集をいつ行うのかと次の収集のチャンクのサイズとを決定し得る。
【０１０８】
[0125]様々な実施形態によれば、ネットワーク分析システムはまた、リモートでトリガされたスナップショット収集を提供し得る。図１４は、本発明の一実施形態による、ネットワーク分析システム１４１２から離れたネットワークスナップショットマネージャ１４０４を含む例示的なシステム１４００を示す図である。ネットワーク分析システム１４１２は、１人または複数のユーザ１４１４および１４１６（たとえば、ネットワーク管理者またはマネージャ）によって動作され得、ネットワークデータ管理サービスへの遠隔接続を介して構成および状態を含むネットワークデータの収集をトリガし得る。したがって、ネットワーク分析システム１４１２は、任意の場所からの収集を可能にし、同時アクセスを防げることによってデバイスへの安全なアクセスを可能にし、他人がネットワークのトラブルシューティングをリモートで支援する能力を与える。この実施形態では、ネットワーク分析システム１４１２は、スナップショット収集システム１４０４とは別個のものであり得る。スナップショットは、デバイス１４０８および１４１０への要求から形成され得、一方で、他では、デバイス自体は、完全な状態スナップショットを介してかまたは部分的にかに関係なくスナップショットマネージャ１４０４または随意のスナップショットサブマネージャ１４０６にデータをプッシュし得る。データ収集は、時間的に正確に同期される必要がある。
【０１０９】
[0126]様々な実施形態は、独立したまとまりがない収集しかサポートしないのとは反対に、ネットワークデバイスからのスナップショット収集を組織化し得、これにより、データ収集プロセスがリソース制約を尊重し、デバイスに競合する要求を送ることを回避することが可能になり得る。論理的に集中されたスナップショット収集マネージャ１４０４は、スナップショットを収集しなければならないデバイス１４０８および１４１０で構成され得る。これらのデバイスは、１つまたは複数のネットワークに属し得、異なる場所中に位置し得、仮想デバイスであり得る。デバイスは、ネットワークデバイス証明１４０２中で、個々の証明またはいくつかのデバイスのための共通の証明を介してアクセスのための証明で構成され得る。さらに、デバイス１４０８および１４１０は、異なるタイプ、たとえば、ルータ、スイッチ、ファイアウォールなどのものであり得、これらのデバイスからスナップショットを収集するために同じまたは異なる手段の通信が使用され得る。いくつかの実施形態によれば、デバイス１４０８および１４１０は、個々のデバイスなどに達するために接続タイムアウト、代替証明、トンネルなどのさらなる特殊な構成を必要とし得る。
【０１１０】
[0127]論理的に集中されたスナップショット収集システムは、スナップショット収集をトリガする１つまたは複数の手段をサポートし得る。いくつかの実施形態では、これは、新しいスナップショット収集がトリガされなければならないことを示すリモートプロシージャ呼出し（ＲＰＣ）および／またはウェブ要求をサポートするサービスを含み得る。いくつかの実施形態では、個々のデバイスに接続するために使用される特定の方法は、この情報を与える人間ユーザまたは代替システムによって事前構成され得る。他の実施形態では、接続方法は、収集が実行されなければならないたびにスナップショット収集システムに与えられ得る。他の例では、この情報は、スナップショット収集システムによって自動的に検出され得る。論理的に集中されたスナップショット収集マネージャは、デバイスから直接スナップショットを収集するか、または１つまたは複数のエージェントの助けを使用し、それら（たとえば、随意のスナップショットサブマネージャ１４０６）に収集タスクを委任し得る。これらのエージェントは、次に、すべてのデバイスからスナップショットを収集することを最終的な目的とし他のエージェントにこのタスクを委任し得る。
【０１１１】
[0128]個々の収集エージェント（たとえば、随意のスナップショットサブマネージャ１４０６）は、スナップショットを収集しなければならないデバイスのサブセットへのアクセスしか有さず、それらのデバイスからスナップショットを収集することしか担当しないことになる。いくつかの実施形態では、これらの収集エージェントは、論理的に集中されたスナップショット収集マネージャへの永続的な接続を維持し得る。他の例では、アクティブタスクに関する情報を交換するためにエージェントと集中された収集マネージャとの間に周期的な通信があり得る。収集エージェントとスナップショット収集マネージャ１４０４との間の接続は、エージェント１４０６によってまたは収集マネージャによって開始され得る。
【０１１２】
[0129]スナップショット収集マネージャ１４０４は、さらに、構成されたデバイスのサブセットからの収集をサポートするか、またはスナップショットを備えるデバイスから構成および状態情報のサブセットのみを収集し得る。たとえば、頻繁に変更される状態は、より高い頻度で収集され得、一方、より低い頻度で変化する状態は、異なる頻度で収集され得る。いくつかの実施形態では、スナップショット収集マネージャ１４０４は、事前構成されたデバイスからスナップショットを周期的に収集する能力をサポートし得る。これらは、完全なスナップショット、または異なる頻度で取られた異なるデバイスのスナップショット、または異なる頻度で取られたデバイスに対する異なるコマンドもしくは異なる種類の状態であり得る。たとえば、より低い頻度で変化する状態は、より低い頻度で収集され得、一方、他の状態は、より高い頻度で収集され得る。
【０１１３】
[0130]いくつかの実施形態では、スナップショット収集マネージャは、任意の個々のデバイス上で多くの同時コマンドを実行することを回避するように異なるスナップショット収集要求を組織化し得る。同じ要求が短期間で複数回受信される場合、収集マネージャ１４０４はまた、デバイスから同じコマンド出力を収集することを回避し得る。たとえば、デバイスＡについてのスナップショット収集要求が受信される場合、およびそれが実行されている間に、別の要求が同じデバイスについて受信される場合、スナップショット収集マネージャは、単にスナップショットを再び収集せず、それがそのデバイスのためにちょうど収集した出力を再使用し得る。
【０１１４】
[0131]図１５は、本発明の一実施形態による、ネットワーク分析のハイレベルの例示的な方法を示す流れ図である。本出願の実施形態は、ユーザに対話型で直観的なプラットフォームを介して改善されたネットワーク分析技術を提供する。図１５中のハイレベルフロー１５００は、１５０２において、ネットワーク分析システムがネットワーク上のネットワークデバイスに関係する構成データと状態データとを受信することを含み得る。上記で説明したように、構成データと状態データとは、ネットワーク分析システムによって与えられたプラットフォーム上のフィルタを使用してリモートで、自動的に、周期的に、および／またはユーザによって指定されて収集され得る。
【０１１５】
[0132]１５０４において、ネットワーク分析システムは、ネットワークフローパス情報を取得し得る。ネットワークフローパス情報は、収集された構成データと状態データとに基づき得るか、または本明細書で説明する技法によってネットワーク分析ツールを通して取得され得る。たとえば、ネットワーク分析ツールのプラットフォームを通して、ユーザは、冗長パス、ループ、ブラックホール化されたパスなどを識別するなど、トラブルシューティングおよび診断のためにトラフィックパスを通してナビゲートすることが可能であり得る。
【０１１６】
[0133]１５０６において、ネットワークフローパス情報は、図２〜図５の例示的なインターフェースに示すようにプラットフォーム上に公開され得る。たとえば、ネットワークフローパスを公開することによって、ユーザは、ネットワークフローパスを検索し、フィルタ処理することが可能であり得る。
【０１１７】
[0134]１５０８において、ネットワーク分析システムは、図２〜図５に示すように機能レイヤに関してデバイスレベルの転送挙動を含むフローパス情報をプラットフォーム上での表示のために与え得る。いくつかの実施形態では、構成データと状態データとはまた、プラットフォーム上での表示のために与えられ得る。たとえば、プラットフォームは、ユーザが根本原因および問題をより効率的で直観的に診断することを可能にするためにユーザへの表示のための関係する構成データと状態データとを決定し得る。
【０１１８】
[0135]表現は、汎用プロセッサまたはグラフィックスプロセッサなどの任意のコンピューティングハードウェア上にＪａｖａ（登録商標）、Ｃ＋＋、Ｃ＃、または任意の好適なプログラミング言語で実装され得る。いくつかの実施形態では、本発明は、フィールドプログラマブルゲートアレイまたは特定用途向け集積回路を介してハードウェアで直接実装され得る。
【０１１９】
[0136]図１６は、本発明の一実施形態による、コンピュータシステムのハイレベルブロック図１６００である。図１６に示すように、コンピュータシステムは、コンピュータシステムがローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、モバイルネットワーク（たとえば、ＥＤＧＥ、３Ｇ、４Ｇ、または他のモバイルネットワーク）、または他のネットワークを介して他のコンピュータシステムに接続することを可能にする、ネットワークインターフェース１６０２を含むバスを介して接続されたハードウェア要素を含み得る。コンピュータシステムは、中央処理ユニット（ＣＰＵ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、ネットワークプロセッサ、または他のプロセッサなどの１つまたは複数のプロセッサ１６０４をさらに含み得る。プロセッサは、シングルまたはマルチコアプロセッサを含み得る。
【０１２０】
[0137]いくつかの実施形態では、コンピュータシステムは、グラフィカルユーザインターフェース（ＧＵＩ）１６０６を含み得る。ＧＵＩ１６０６は、ユーザ視認可能データを出力するためにディスプレイ（ＬＥＤ、ＬＣＤ、タブレット、タッチスクリーン、または他のディスプレイ）に接続し得る。いくつかの実施形態では、ＧＵＩ１６０６は、（たとえば、タッチスクリーンまたは他のインタラクティブインターフェースを通して）命令を受信するように構成され得る。いくつかの実施形態では、入出力インターフェース１６０８は、マウス、キーボード、タッチセンシティブ入力デバイス、あるいは他の入力または出力デバイスなどの１つまたは複数の入力および／または出力デバイスに接続するために使用され得る。入出力インターフェース１６０８は、赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または他のワイヤレスデバイスに接続するためのワイヤードまたはワイヤレスインターフェースを含み得る。
【０１２１】
[0138]いくつかの実施形態では、コンピュータシステムは、ローカルまたはリモートのデータストア１６１０を含み得る。データストア１６１０は、当技術分野において知られている様々なコンピュータ可読記憶媒体、ストレージシステム、およびストレージサービス（たとえば、ディスクドライブ、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）あるいは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、リレーショナルデータベース、オブジェクトストレージシステム、ローカルまたはクラウドベースのストレージサービス、あるいは任意の他の記憶媒体、システム、またはサービス）を含み得る。データストア１６１０は、本明細書で説明するように生成、記憶、またはそうでなく利用されるデータを含み得る。たとえば、データストア１６１０は、上記で説明したように生成および記憶される計算フロー１６１２とネットワークモデル１６１４とを含み得る。メモリ１６１６は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、フラッシュメモリまたは他のメモリ技術を含む様々なメモリ技術を含み得る。メモリ１６１６は、本明細書で説明する方法を実装するために実行可能コードを含み得る。たとえば、メモリ１６１６は、本明細書で説明する方法をそれぞれ実装するネットワークアナライザモジュール１６１８と報告生成器モジュール１６２０とを含み得る。
【０１２２】
[0139]上記の例について、理解の明快のためにある程度詳細に説明したが、上記で説明した本発明の技法は、与えられた詳細に限定されない。上記で説明した本発明の技法を実装する多くの代替方法がある。開示する例は、例示的なものであり、限定的なものではない。
【図１】
2019536331.tif 000003
【図２】
2019536331.tif 000004
【図３】
2019536331.tif 000005
【図４】
2019536331.tif 000006
【図５】
2019536331.tif 000007
【図６】
2019536331.tif 000008
【図７】
2019536331.tif 000009
【図８】
2019536331.tif 000010
【図９】
2019536331.tif 000011
【図１０】
2019536331.tif 000012
【図１１】
2019536331.tif 000013
【図１２】
2019536331.tif 000014
【図１３】
2019536331.tif 000015
【図１４】
2019536331.tif 000016
【図１５】
2019536331.tif 000017
【図１６】
2019536331.tif 000018
【国際調査報告】
2019536331.tif 000019