(57)【要約】  本発明は、複数のリンクによって互いに接続される複数の分析回路を有する通信リンク上で、トラフィックを分析するシステムを提示する。各々の分析回路は、上記通信リンクのデータ伝送速度よりも低速のデータ伝送速度を有し、パケットについて異なるレベルで、各々が分析を実施するのに適している。第１の分析回路によって第１レベルの分析で分析されたパケットから取り出された情報は、第２の分析回路で実施される第２レベルの分析に転送され、第２の分析回路で実施される更なる分析は、第１の分析回路で実施された分析によって決まる。本発明のシステム及び付随する方法は、高速で高負荷のトラフィックフローを評価する計算機ネットワークのために、効率的、実用的、および改良されたトラフィックフロー分析を可能にし、さらに先端技術のために、改良されたプロトコル分析を可能にする。【選択図】図２
2008541587.tif 000002
【特許請求の範囲】
【請求項１】
通信リンク（２００'）上のパケットのトラフィック分析を実施するためのトラフィック分析システム（１０）であって、
複数のリンク（２０２ａ−２０２ｎ）によって、互いに接続している複数の分析回路（３１０；３２０ａ−３２０ｎ；３３０ｉ−３３０ｊ）であって、各々の回路が、前記通信リンクのデータ伝送速度よりも低速のデータ伝送速度を有する分析回路を備え、
ここで、前記複数の分析回路は、前記通信リンクに沿って往復するパケットについて、各々が異なるレベルの分析を実施するのに適し、第１の分析回路によって第１レベルの分析で分析されたパケットから取り出された情報は、第２の分析回路で実施される第２レベルの分析に転送され、前記第２の分析回路で実施される更なる分析は、前記第１の分析回路で実施された分析によって決まる、トラフィック分析システム。
【請求項２】
前記第１および第２の分析回路は、各々が異なるレベルの分析を実施するのに適しており、前記第１および第２の分析回路によって実施される前記分析によって提供される状態情報を受け取るための共通メモリ（４００）を備える請求項１に記載のシステム。
【請求項３】
前記第１および第２の分析回路は、各々が異なるレベルの分析を実施するのに適しており、各々が下位レベルおよび上位レベルの分析回路を備え、前記下位レベルの分析回路は、明示的なレベルの分析を実施するのに適し、一方で、前記上位レベルの分析回路は、黙示的なレベルの分析を実施するのに適している請求項１または２に記載のいずれかのシステム。
【請求項４】
前記明示的なレベルの分析は、前記パケットのヘッダーが、パケット・シグネチャーを明確にするのに有効な情報を充分に特定するためのプロトコルを、認識するのに適している請求項３に記載のシステム。
【請求項５】
複数のネットワークに接続する通信リンク（２００'）上のパケット分析を実施することによって、ネットワーク・トラフィックフローを調査する方法であって、
各々が異なる層において異なるレベルの分析を実施するのに適した、複数の分析回路を備えるトラフィック分析システム（１０）内に、分析の連続レベルを設定することであって、複数の分析回路（３１０；３２０ａ−３２０ｎ；３３０ｉ−３３０ｊ）は、複数のリンク（２０２ａ−２０２ｎ）によって、互いに接続され、各々の回路が、前記通信リンクのデータ伝送速度よりも低速のデータ伝送速度を有する分析回路を備える、分析の連続レベル設定と、
前記複数の分析回路によって分析されたパケットを転送することであって、第１の分析回路によって第１レベルの分析で分析されたパケットから取り出された情報が、第２の分析回路で実施される第２レベルの分析に転送されるという具合に転送される、パケット転送と、
前記第２の分析回路で実施される分析のために、前記第１の分析回路で実施された分析を使用すること、を備えるネットワーク・トラフィックフローの調査方法。
【請求項６】
分析の連続レベルでの設定は、パケットのソース・アドレスまたはシグネチャーをハッシュ・コーディングにより前記パケットを分類することで、前記第１レベルの分析回路によって実施される第１レベルの分析を規定すること、および、前記第２レベルの分析内の前記第２の分析回路に、前記分類したパケットを転送することを備える請求項５に記載の方法。
【請求項７】
前記第１および第２のレベルの分析によって実施された前記分析に基づき、前記トラフィックフローの意味上の認識を提供することを備える請求項５または６に記載の方法。
【請求項８】
複数のネットワークに接続する通信リンク（２００''）上のトラフィック分析を実施するために、ネットワーク・トラフィックフローを調査する方法であって、請求項１から５のいずれか一項に記載のシステム内に、さらに、基本プロセッサ（５１０ａ−５１０ｘ）を一体化させたネットワーク・プロセッサ（５００）、メモリ（６００）、および、通信バス９００を経由して接続されるストレージ・モジュール（７００）を備え、ここで、
前記通信リンクの入力端部（２０５）に到着した入力パケット（１０００）を、前記基本プロセッサ（５１０ａ−５１０ｘ）の少なくとも１つで、分析（２１０）するステップと、
前記パケットを前記メモリに複写（２２０）するステップと、
前記パケットを分析するためのプロセッサを使用して、前記メモリに格納された前記パケットを処理（２４０）し、前記ストレージ・モジュールに状態情報を書き込み（２５０）するステップと、
並行に、かつ複写、再現、および処理のステップとは無関係に、入力される前記入力パケットの全てのために、前記分析を実施するステップと、を備えるネットワーク・トラフィックフローの調査方法。
【請求項９】
前記ネットワーク・マイクロプロセッサは、並行処理アーキテクチャを備える請求項８に記載の方法。
【請求項１０】
前記パケットを前記通信リンクの出力リンク（２１５）に再現（２３０）することを、さらに備える請求項８または請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機ネットワークに関するもので、特に高速接続リンク上でのトラフィックフロー分析に関する。
【背景技術】
【０００２】
トラフィックフローを調査することは、多大な処理時間および監視と分類のために多大なパワーを費やすことになる。また、トラフィックデータの量および伝送速度の両方が、特にインターネットのトラフィックデータにおいて、猛烈に増加し続けている。トラフィックフロー分析のためのシステムは、しばしば種々の障害に遭遇する。この障害は、トラフィックフローのパッセージ・レベルにおいて、意味の明確性、信頼性、および有用性のある分類およびネットワーク・トラフィックの処理を得るために必要な、種々のタイプの厳しい処理のために発生する。
【０００３】
通信ネットワーク上を往復するトラフィックの分類は、各々のトラフィックフローに適用できる形態に基づいて、分類方法を決定することが可能である。すなわち、データパケットを適切に処理する前に、トラフィックフローの分類は、ネットワーク・コンポーネントに、データパケットの種々の特性およびデータパケット内に含まれる情報にしたがって、データパケットを分類させることを可能にする。従って、適切で効果あるデータ処理は、パケットの信頼できる分類方法によって殆んど決まる。パケットが分類された後、ネットワーク・コンポーネントは、このパケットを適切に取扱いおよび処理する方法を決定することができる。
【０００４】
例えば、ファイアウォール内において、セキュリティ・システムの設定は、一般に、特定の伝送を阻止するために、プロトコル特性の認識を頼りにしている。また、サービスの品質を管理する装置において、このような装置は、種々のシナリオを記載した複雑な規則に応じてデータに優先順位を配分する。上記シナリオと接続間で搬送されるデータパケットとの間での対応は、これらの接続を分類するための技術を使用する。
【０００５】
説明を元に戻すと、ネットワークの制御および管理を実施することは、上記ネットワーク上でデジタルのデータストリームを生成する、種々の送信器と受信器との間での接続を分類することが要求される。このことは、強力で信頼性のある分類方法が要求され、したがってトラフィック分析が要求されることになる。
【０００６】
さらに、パケットの分析および分類は、しばしばプロトコル属性を構築する複雑なタスク、すなわち、プロトコルによって伝達される、データおよびパラメータ名称の意味上のストリームで使用されるプロトコル名称の指名順番を決定するタスクを含むことになる。異なるプロトコルを識別するために、グラフベースまたは知識ベースを構築することは、非常に厳しいタスクである。何故なら、パケット通信ネットワーク内で使用される新規プロトコルの数は増加しており、同様にプロトコル修正の数および新規の従属リンクの数も増加しているからである。
【０００７】
一般的に、データパケットの観測タスクは、ネットワークのノード、たとえば、接続が通過する箇所で、通過用データパケットを生成する代理サーバのようなノードに割り当てられる。従って、現存するトラフィックフローの分析は、一般的に図１に示すような計算機ネットワークシステム内で実施される。種々の計算機間の高速トラフィック（例えば、パケットまたはデータグラム）を分析するためのトラフィック分析システムは、通信リンク２００を使用して、第２のネットワーク１１０に接続する第１のネットワーク１００を含む。通信リンク２００は、分析器３００によって分析され、この分析器３００は、第１のネットワーク１００と第２のネットワーク１１０との間の両方向または片方向に流れるトラフィックを測定し分析する。第１のネットワーク１００と第２のネットワーク１１０との間のトラフィックは、ビジネス用ネットワークでは通常１Ｇｂｐｓであるが、しかしオペレータ用ネットワークの中核においては数十Ｇｂｐｓと同等の高速にすることができる。
【０００８】
上記で説明したように、負荷の重いネットワークにおいて、正確で緻密な方法で、すべてのトラフィックを連続して分析することは、手に負えない仕事である。分析器３００での測定および分析の能力は、同時に流れるフローの数Ｎ（例えば、トラフィックフロー・サイズ）および各フローのスループットの数Ｔ（例えば、トラフィックフロー速度）によって決定される。Ｎは、指定されたアプリケーションのコンテクスト（context）を管理するのに必要なメモリ容量に直接影響し、一方で、Ｔは、パケットに顕著な損失が無くて、分析を実施するのに必要な処理能力に直接影響を与える。Ｔは、経過時間内で処理できるパケット量を規定することになり、結果として各々のパケットに割り当てできる処理の総数を規定することになる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
既知のシステムにおいて、処理の総数は、フローＮの増加と共に比例して増加する。そして、各々のパケットがフローの状態に貢献でき、かつ各々のパケットがサイズＮに関係するデータ構造で負担できる範囲である限り、増加する。所定の物的インフラストラクチャは、固有の性能と固有の配置数とに関連して動作状況を示すのは明らかであり、Ｄを減少させることでＮを増加させるか、またはＮを減少させることでＤを増加させるかのいずれかで、一定状況を作り出すことを可能にする。換言すれば、Ｎ×Ｄは、ほぼ一定である。
【００１０】
しかしながら、現存する計算機ネットワークの実態と発展は、ＮおよびＴ共に比例して同時に増加しつつある。すなわち、ネットワーク・トラフィックのサイズと速度は、もはや反比例するのではなく、ＮおよびＴともに増加している。これに加えて、監視および分析に委ねられるトラフィックフローは、大規模で複雑になっている。
【課題を解決するための手段】
【００１１】
従って、高速で負荷の重いトラフィックフローを評価する計算機に対して、効率的、実用的、および改良されたトラフィックフロー分析を実施するように、さらに、たとえばＶｏＩＰ（Voice over IP）アプリケーションのような新興技術のために改良されたプロトコル分析を実施するように、新規の方法とシステムとを発展させることが、要求されている。
【００１２】
従って、本発明の１つの目的は、複数のリンクによって互いに接続されている複数の分析回路を有する通信リンク上で、トラフィック分析を実施するためのトラフィック分析システムを提示することであり、上記分析回路の各々は、上記通信リンクのデータ伝送速度よりも低速のデータ伝送速度を有し、上記分析回路は、パケットを分析するのに、各々が異なるレベルで実施するのに適する。第１の分析回路によって第１レベルの分析で分析されたパケットから取り出された情報は、第２の分析回路で実施される第２レベルの分析に転送され、第２の分析回路で実施される更なる分析は、第１の分析回路で実施された分析によって決まる。
【００１３】
また、下記特徴の１つ以上を含めることができる。
【００１４】
本発明の１つの態様において、各々が異なるレベルの分析を実施するのに適した前記第１および第２の分析回路は、前記第１および第２の分析回路によって実施される分析によって提供される状態情報を受け取るための共通メモリを含む。
【００１５】
別の実施態様において、各々が異なるレベルの分析を実施するのに適した前記第１および第２の分析回路は、各々が下位レベルおよび上位レベルの分析回路を備え、下位レベルの分析回路は、明示的レベルの分析を実施するのに適し、一方で上位レベルの分析回路は、黙示的なレベルの分析を実施するのに適している。
【００１６】
さらに別の実施態様において、前記明示的レベルの分析は、パケットのヘッダーが、パケット・シグネチャーを明確にするのに有効な情報を充分に特定するためのプロトコルを、認識するのに適している。
【００１７】
さらに、本発明は、また、種々のネットワークに接続する通信リンク上でパケット分析を実施することにより、ネットワーク・トラフィックフローを調査する方法を提示する。上記調査方法は、各々が、異なる層において異なるレベルの分析を実施するのに適した、分析回路を有するトラフィック分析システム内で、分析の連続レベルを設定する。また、上記分析回路は、リンクによって互いに接続され、このリンクは、上記通信リンクのデータ伝送速度よりも低速のデータ伝送速度を有する。また、上記調査方法は、上記分析回路によって分析されたパケットを転送するが、第１の分析回路によって第１レベルの分析で分析されたパケットから取り出された情報を、第２の分析回路で実施される第２レベルの分析に転送するという具合に転送し、そして、上記調査方法は、後続の第２の分析回路で実施される分析のために、第１レベルの分析回路で実施された分析結果を使用する。
【００１８】
本発明の他の特徴は、さらに従属クレームの中に列挙してある。
【発明を実施するための最良の形態】
【００１９】
改善されたシステムおよび方法の上記態様と異なる態様とが、以下の説明等から明解になるであろう。
【００２０】
図２に関連して、トラフィック分析システム１０は、階層的分析器３１０を含み、この階層的分析器は、図１のトラフィック分析システムの分析器３００を置き換えるものである。
【００２１】
階層的分析器３１０は、第１のネットワーク１００’と第２のネットワーク１１０’との間の通信リンク２００’を介して通過するトラフィックフローのために、分析用の連続層を規定する。結果として、階層的分析器３１０は、トラフィックフロー上の第１レベルの分析を実施し、第２レベルの分析は、分析器３２０ａ−３２０ｎによって実施され、第３レベルの分析は、分析器３３０ｉ−３３０ｊによって実施される。トラフィック分析システム１０は、通信リンク２００’上のパケットのフローサイズと速度によって決まるトラフィックを、的確に分析し分類するのに必要なレベル数に等しいレベル数の分析器を有することができる。
【００２２】
階層的分析器３１０および分析器３２０ａ−３２０ｎは、リンク２０２ａ−２０２ｎによって接続され、通信リンク２００’を介して通過するパケットの数は、リンク２０２ａ−２０２ｎを介して通過するパケットの数よりも大きい。
【００２３】
例えば、第１レベルの分析において、階層的分析器３１０は、第１レベルの分類を実施し、すなわちパケットのタイプのヘッダー識別などに従って、パケットを分類する第１の処理を実施する。また、階層的分析器３１０は、パターン認識技術またはパタンマッチングのような明確なタイプのプロトコル分析を実施することもできる。
【００２４】
上記のような明確なプロトコルには、イーサネット（登録商標）用プロトコルがあり、ここでは、イーサネット（登録商標）用パケットのヘッダーは、プロトコルスタック内で後続するプロトコルが、たとえば、可能な限りバージョンと共に、ＬＬＣプロトコルまたはＩＰプロトコルのいずれかを規定する。同様に、ＩＰプロトコルに基づくパケットのヘッダーは、プロトコルスタック内で後続するプロトコルは、ＴＣＰ、ＵＤＰ、またはＩＣＭＰプロトコルのいずれかを規定する。第１レベルの分析は、プロトコル分析の明確なタイプに付随させることができるが、このことに限定する必要はない。
【００２５】
低位レベルで実施される第１レベルの分析が、階層的分析器３１０で一旦実施されると、第２レベルの分析、すなわち分析器３２０ａ−３２０ｎは、第１レベルの階層的分析器３１０によって実施された先行の分類に従い、さらにパケットは調査することができる。換言すれば、分析器３２０ａ−３２０ｎは、高位レベルにおいて黙示的なタイプの分析を実施することになり、この高位レベルは、黙示的なプロトコルの存在を意味し、認識させるものである。プロトコルが、プロトコルスタック内で当該プロトコルに先行するプロトコルのヘッダーによって規定される方法では容易に認識できないとき、このプロトコルは、黙示的と言われる。ポイントキャスト（Pointcast）または、カザー（Kazaa）のようなアプリケーションレベルのプロトコルの多くが、このケースに該当する。このプロトコルを接続のプロトコルスタック内で使用することは、これらの接続用コンテクストによって決まり、この接続用コンテクストは、一般的に事前交渉によって確定される。この事前交渉は、接続部周辺で往復するパケットのフローに沿って、実時間でスキャン処理すると同時にコンパイル処理することのために、困難なことである。例えば、ＨＴＴＰ、Ｔｅｌｎｅｔ，ＦＴＰプロトコルのような特定の既知のプロトコルは、明示的および黙示的なプロトコルの境界に位置する。これらのプロトコルは、ＴＣＰプロトコルのヘッダー内に表された予約ポート番号が送信先を表示している場合、明示的とみなすことができる。このときに表示される送信先が、送信されてくるプロトコルを、規定の方法で特定することを可能にする。たとえば、番号８０は、ＨＴＴＰプロトコルに対応し、番号２３は、Ｔｅｌｎｅｔプロトコルに対応し、番号２１は、ＦＴＰプロトコルに対応する。例えば、クライアント・ステーションは、ＴＣＰのもとでポート番号８０を使用し、動的ポート番号をピア接続に割り当てることで、サーバステーションと共にＨＴＴＰ問い合せ接続を確立させることになる。このピア接続は、サーバステーションがクライアント・ステーションに応答することを可能にする。サーバステーションの応答をクライアント・ステーションに伝達するためのピア接続でのＨＴＴＰプロトコルの明示的性質は、問い合せ接続のコンテクストに関連した、ポート番号の動的割り当てを介して、減少することになる。また、クライアント・ステーションが、サーバステーションと事前交渉すること、ポート番号を、ＨＴＴＰ問い合せ接続のために、番号８０から識別すること、を阻止するものは何も無い。この場合、ＨＴＴＰプロトコルは、明示的よりも一層黙示的である。上記条件は、他のプロトコルにとっても真実として維持されており、同種の技術は、この難局に対処することが可能である。
【００２６】
この後、第２レベルの分析は、第１レベルの分析によって提供される知識などを充実させる。引き続いて、第３のレベルの分析器３３０ｉ−３３０ｊのような、さらなるレベルが付加されることにより、分析器３３０ｉ−３３０ｊは、先行する第２レベルの分析で実施された分析を使用し、自身のさらなる分析で先行レベルの知識などを充実させる。
【００２７】
さらに、第１レベルの分析の別の例として、第１レベルの階層的分析器３１０によって実施される第１レベルの分析が考えられる。このとき、ＩＰソース、ＩＰ送信先アドレス、トランスポート・コード、ソースポートと送信先ポートにおいてハッシュ・キーで計算をすること、アプリケーション・ポートを使用して分類を行う第２レベルの分析のためにパケットを分析器３２０ａ−３２０ｎに転送すること、および、トラフィックフローの意味上の認識に付随する第３レベルの分類を実施するタスクを分析器３３０ｉ−３３０ｊに依頼することで、上記分析が実施される。例えば、トラフィックフローの意味上の認識は、トラフィックからの重要なパケット要素を得るために、プロトコル図およびプロトコルに付随するモジュラー自己特定メカニズムを使用することを含むことができる。このことは、国際公開番号ＷＯ2004/017595号パンフレットに記載されている。
【００２８】
また、図２に関連して、トラフィック分析システム１０のすべての分析器は、共通メモリ４００を共有することができ、この共通のメモリは、実施した分析に関する状態情報を格納する。例えば、上述したシナリオにおいて、分析器３２０ａ−３２０ｎおよび分析器３３０ｉ−３３０ｊにとって、共通メモリ４００を共有することは必要なことである。実際、分析器３１０、３２０ａ−３２０ｎ、および３３０ｉ−３３０ｊ、およびすべての分析器にとって、異なる後続レベルのために、共通メモリ４００を共有することは必要なことである。一例は、分析タスクの分割は、各々のセンサからの資源情報を統計的に使用することを当てにするときである。
【００２９】
ここで、図３に関連して、別のトラフィック分析システム２０が表示されており、階層的レベルの分析が、独立した処理ユニットを使用して実施される。この実施は、ＰＣ計算機のようないくつかのＣＰＵを組み合わせること、または並行処理アーキテクチャたとえばネットワーク用プロセッサを使用すること、または一層広範囲に、分析用連続層の構造化および関連データ共有化を可能にする、いずれかの他のタイプのメカニズムを使用することで、実施される。
【００３０】
図３は、通信リンク２００''上の双方向のデータトラフィックを示し、この双方向のデータトラフィックは、基本プロセッサ５１０ａ−５１０ｘを集積したネットワーク・プロセッサ５００を介して通過していく。このネットワーク・プロセッサ５００は、高性能の通信バス９００を経由して、メモリ６００、ストレージ・モジュール７００、および従来型マイクロプロセッサ８００に接続される。
【００３１】
図３にさらに示すように、階層的分析のために双方向のデータトラフィックを分析するとき、通信リンク２００''は、入力端部２０５で到着パケット１０００を受け取る。この到着パケット１０００は、ステップ（２１０）で、基本プロセッサ５１０ａ−５１０ｘの１つによって、第１に分析される。そして、この到着パケット１０００は、ステップ（２２０）で、メモリ６００に複写される。例えば、必要であれば、この到着パケット１０００は、ステップ（２３０）で、出力端部２１５において通信リンク２００''へと再現される。これは、受動的な分析が、監視目的のために実施されるケースであって、ファイアウォール・アプリケーションのような他のアプリケーションと同時実施のケースではない。並行して、同様なステップが、他のパケットのために実施される。そして、メモリ６００に格納されたパケット１０００は、ステップ（２４０）で、従来型マイクロプロセッサ８００によって処理される。このステップは、パケットを分析する処理であり、ステップ（２５０）で、上記マイクロプロセッサは、ストレージ・モジュール７００に状態情報を書き込む。分析のこの部分は、すべてのパケットを含むのではなく、パケットの一部だけを含む。加えて、到着パケット１０００のすべてを分析することは、複写処理や再生処理とは、並行かつ独立して実施することができ、同様に従来型マイクロプロセッサ８００を使用するパケットの処理とも並行かつ独立して実施することができる。
【００３２】
一例として、従来型マイクロプロセッサ８００は、異なるプロトコルの分析に付随する分析、および異なるプロトコルのコンテクスト内のパケットの分析を実施することができる。例えば、異なるプロトコルのコンテクスト内のパケットの分析とは、黙示的プロトコル対明示的プロトコルの分析であり、パケットを早急に特定し、使用プロトコルの指定順序を向上させた形でネットワーク接続を分類するような、有効なトラフィックフロー上の意味ある情報を取り出すために実施される。
【図面の簡単な説明】
【００３３】
【図１】典型的なトラフィック分析システムの概略図である。
【図２】本発明による第１の実施態様の概略図である。
【図３】本発明による別の実施態様の概略図である。
【図１】
2008541587.tif 000003
【図２】
2008541587.tif 000004
【図３】
2008541587.tif 000005
【国際調査報告】
2008541587.tif 000006
2008541587.tif 000007