(57)【要約】  ネットワークが普及し、映像ストリームやＩＰ電話等の様々なサービスが実現されている。それに合わせ、ネットワークの複雑化も進むが、ネットワーク上を流通するすべてのパケットを管理する方法がなく、品質の保証や、信頼性の確保が課題となっている。また、故障時の復旧対応といった、維持管理のコストの増加も大きな問題となっている。そこで、通信路上を流通するパケットをリアルタイムで検知し、ネットワークの状況を可視化するＩＰプローブを、動的再構成可能プロセッサを含むヘテロジニアスマルチコアプロセッサで実現する。パケット解析で、パケットの特性によって構成機能を変化させることで、様々な規格やサービスに対し柔軟に対応しつつ、低電力・高性能を達成する。また、これらのノードを複数配置することで、ネットワーク全体状況を可視化する。これにより、低電力・小型なＩＰプローブノードが実現し、これをネットワーク上に複数個配置することにより、これまで観測することができなかったネットワーク上を流通するパケットの動向をリアルタイムで把握できることになり、ネットワーク品質の向上、保守管理コストの低減が実現される。
2009148021.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理演算セルを有する第１のプロセッサコアと、前記第１のプロセッサコアの処理内容を決定するための第２のプロセッサコアとを具備するプロセッサを有し、
前記複数の論理演算セルのそれぞれは、演算機能及び隣接する前記複数の論理演算セルとの接続関係を変更可能であり、
前記プロセッサは、受信したパケットのヘッダから第１の情報を抽出し、前記第２のプロセッサコアが前記第１の情報に基づいて決定した前記第１のプロセッサコアの処理内容に従って、前記第１のプロセッサコアの前記演算機能及び前記接続関係を変更することを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
前記第１の情報は、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート、プロトコル、送信先ポート若しくはパケットデータサイズ、又はこれらの組合せであり、
前記情報処理装置は、前記第１の情報、総パケット数、総パケットデータサイズ、毎秒パケット数、毎秒パケットデータサイズ、毎秒パケットデータ量若しくは第１の固有値、又はこれらの組合せについてのデータを記録した第１のテーブルをさらに有することを特徴とする情報処理装置。
【請求項３】
請求項２記載の情報処理装置において、
前記第１のテーブルは、特定の頻度で、前記情報処理装置の外部に設けられたサーバに送信されることを特徴とする情報処理装置。
【請求項４】
請求項３記載の情報処理装置において、
前記情報処理装置は、前記第１のテーブルに記憶されたデータの一部を参照することで、受信する複数のパケットが同一のフローに属するか否かを判定することを特徴とする情報処理装置。
【請求項５】
請求項１記載の情報処理装置において、
前記プロセッサは、前記第１の情報を抽出する際に、前記パケットがどのフローに属しているかを示す第１の固有値が前記ヘッダに含まれているかいないかを判定し、含まれていない場合は前記第１の固有値を前記ヘッダに付加することを特徴とする情報処理装置。
【請求項６】
請求項１記載の情報処理装置において、
前記第１のプロセッサコアと前記第２のプロセッサコアとを接続するためのバスと、
前記第１のプロセッサコアを前記情報処理装置の外部に設けられた第１のメモリに接続するためのメモリコントローラとをさらに有することを特徴とする情報処理装置。
【請求項７】
請求項１記載の情報処理装置において、
前記情報処理装置は、前記第１のプロセッサコアが用いるプログラムを記憶するための第２のメモリをさらに有し、
前記プロセッサは、前記第１の情報の情報に基づいて前記第１のプロセッサコアの次の構成を決定し、前記決定した構成に基づいて前記第２のメモリより前記第１のプロセッサコアのプログラムをロードすることを特徴とする情報処理装置。
【請求項８】
請求項５記載の情報処理装置において、
前記情報処理装置は、外部にある第２の情報処理装置と接続される場合に、前記第２の情報処理装置に前記第１の固有値を送信し、前記第２の情報処理装置から第２のパケットがどのフローに属する情報であるかを示す第２の固有値を受信し、
前記情報処理装置は、前記第１及び第２の固有値に基づいて、第２のテーブルを作成することを特徴とする情報処理装置。
【請求項９】
複数の第１の論理演算セルを有する第１のプロセッサコアと、前記第１のプロセッサコアの処理内容を決定するための第２のプロセッサコアとを具備する第１のプロセッサを有する第１の情報処理装置と、
前記第１の情報処理装置に隣接して配置され、複数の第２の論理演算セルを有する第３のプロセッサコアと、前記第３のプロセッサコアの処理内容を決定するため第４のプロセッサコアとを具備する第２のプロセッサを有する第２の情報処理装置とを有し、
前記複数の第１の論理演算セルのそれぞれは、第１の演算機能及び隣接する前記複数の第１の論理演算セルとの第１の接続関係を変更可能であり、
前記第１のプロセッサは、受信した第１のパケットの第１のヘッダから第１の情報を抽出し、前記第２のプロセッサコアが前記第１の情報に基づいて決定した前記第１のプロセッサコアの処理内容に従って、前記第１のプロセッサコアの前記第１の演算機能及び前記第１の接続関係を変更し、
前記複数の第２の論理演算セルのそれぞれは、第２の演算機能及び隣接する前記複数の第２の論理演算セルとの第２の接続関係を変更可能であり、
前記第２のプロセッサは、受信した第２のパケットの第２のヘッダから第２の情報を抽出し、前記第４のプロセッサコアが前記第２の情報に基づいて決定した前記第３のプロセッサコアの処理内容に従って、前記第３のプロセッサコアの前記第２の演算機能及び前記第２の接続関係を変更し、
前記第１のプロセッサは、前記第１の情報を抽出する際に、前記第１のパケットがどのフローに属しているかを示す第１の固有値が前記第１のヘッダに含まれているかいないかを判定し、含まれていない場合は前記第１の固有値を前記第１のヘッダに付加し、
前記第２のプロセッサは、前記第２の情報を抽出する際に、前記第２のパケットがどのフローに属しているかを示す第２の固有値が前記第２のヘッダに含まれているかいないかを判定し、含まれていない場合は前記第２の固有値を前記第２のヘッダに付加し、
前記第１の情報処理装置は、前記第１の固有値を前記第２の情報処理装置に送信し、前記第２の固有値を前記第２の情報処理装置から受信し、前記第１の固有値及び前記第２の固有値に基づいて第２のテーブルを作成することを特徴とするネットワークシステム。
【請求項１０】
請求項９記載のネットワークシステムにおいて、
前記第２のテーブルは、前記第１の情報処理装置のＩＤ番号、前記第２の情報処理装置のＩＤ番号、ポート識別フラグ、平均パケットデータ量、平均パケット数、ノード間平均パケット通過時間若しくはフロー状態又はこれらの組合せであることを特徴とするネットワークシステム。
【請求項１１】
請求項１０記載のネットワークシステムにおいて、
前記第２のテーブルは、前記平均パケットデータ量、前記平均パケット数及び前記ノード間平均パケット通過時間とを有し、
前記第１の情報処理装置は、前記平均パケットデータ量と、前記平均パケット数又は前記ノード間平均パケット通過時間とを対比することで、異常な通信を検出することを特徴とするネットワークシステム。
【請求項１２】
第１の情報処理装置が受信した第１のパケットの第１のヘッダから第１の情報を抽出する第１工程と、
前記第１の情報に基づいて前記第１の情報処理装置が有する第１のプロセッサコアの次の構成を決定する第２工程と、
前記第１のプロセッサコアを前記第２工程で決定された構成へと切り替える第３工程とを有することを特徴とする情報処理方法。
【請求項１３】
請求項１２記載の情報処理方法において、
前記第１の情報は、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート、プロトコル、送信先ポート若しくはパケットデータサイズ、又はこれらの組合せであり、
前記第１工程の後に、前記第１の情報、総パケット数、総パケットデータサイズ、毎秒パケット数、毎秒パケットデータサイズ、毎秒パケットデータ量若しくはフロー固有値、又はこれらの組合せについてのデータが記録された第１のテーブルを作成する第４工程をさらに有することを特徴とする情報処理方法。
【請求項１４】
請求項１３記載の情報処理方法において、
前記第１工程の後に、前記第１のテーブルに記録されたデータを、指定された頻度で、前記情報処理装置の外部に設けられたサーバに送信する複数の第５工程をさらに有することを特徴とする情報処理方法。
【請求項１５】
請求項１４記載の情報処理方法において、
前記第４工程の後に、前記第１のテーブルに記録されたデータを参照し、前記第１の情報処理装置が受信する複数のパケットが同一のフローであるか否かを判定する第６工程をさらに有することを特徴とする情報処理方法。
【請求項１６】
請求項１２記載の情報処理方法において、
前記第１工程において、前記第１のパケットがどのフローに属するかを示す第１の固有値が前記第１のヘッダに含まれているかいないかを判定する第７工程と、
前記第７工程において前記第１の固有値が前記第１のヘッダに含まれていないと判定された場合に、前記第１の固有値を求める第８工程と、
前記第８工程の後に、前記第１の固有値を前記第１のヘッダに付加する第９工程とをさらに有することを特徴とする情報処理方法。
【請求項１７】
請求項１６記載の情報処理方法において、
前記第１の固有値を前記情報処理装置に隣接して接続された第２の情報処理装置に送信し、前記第２の情報処理装置から第２の固有値を受信する第１０工程と、
前記第１の固有値及び前記第２の固有値に基づいて、前記情報処理装置のＩＤ番号、前記隣接して接続された情報処理装置のＩＤ番号、ポート識別フラグ、平均パケットデータ量、平均パケット数、ノード間平均パケットデータ量若しくはフロー状態又はこれらの組合せを記録し第２のテーブルを作成する第１１工程とをさらに有することを特徴とする情報処理方法。
【請求項１８】
請求項１６記載の情報処理方法において、
前記第１の固有値を前記第２の情報処理装置に送信し、前記第２の情報処理装置から第２の固有値を受信する第１２工程と、
前記第１の固有値及び前記第２の固有値に基づいて、平均パケットデータ量、平均パケット数及びノード間平均パケット通過時間を記録する第１３工程と、
前記平均パケットデータ量と、前記平均パケットデータ数又はノード間平均パケット通過時間とを比較することで、異常な通信を検出する第１４工程とをさらに有することを特徴とする情報処理方法。
【請求項１９】
請求項１２記載の情報処理方法において、
前記第３工程において、前記第１のプロセッサコアの構成情報を記憶したメモリから前記第２工程で決定された構成をロードする第１６工程をさらに有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上を流れるパケットを効率よく解析する手段として、動的再構成可能プロセッサを含んだヘテロジニアスマルチコアプロセッサを用いた、ネットワークの状況を可視化するパケット解析装置に関する。
【背景技術】
【０００２】
ネットワークの普及が急速に進んでいる。各家庭へのブロードバンド普及率は既に５０％を超え、多様なサービスが提供され始めている。ネットワークトラフィックは増加の一歩をたどっており、電子メール、Ｗｅｂブラウジング等これまでテキスト中心のトラフィックから、動画ストリーミングサービス、ＩＰ電話、等のデータ量が飛躍的に大きなデータがネットワークを飛び交い、我々の生活にとって重要な社会インフラとなっている。しかしながら、インターネットをベースとしたこれまでのネットワークはベストエフォート型のサービスであり、その品質確保が大きな問題となっている。例えば、ＩＰ電話や映像配信等の品質保証（Ｑｕａｌｉｔｙ ｏｆ Ｓｅｒｖｉｃｅ: ＱｏＳ）、故障に対する信頼性の確保を如何に実現するかが、ネットワークの差別化要因となりつつある。その流れを受けて、電話や映像配信のＱｏＳ保証、通信内容のセキュリティ性保証といった高度なサービスへの対応を目指し、次世代ネットワーク（Ｎｅｘｔ Ｇｅｎｅｒａｔｉｏｎ Ｎｅｔｗｏｒｋ: ＮＧＮ）の構築が進められている。【０００３】
またこのような状況は、通信事業者（キャリア）が提供するインフラネットワークだけでなく、会社等の組織内で敷設されるイントラネットワークにおいても同様に当てはまる。ＱｏＳを制御したり自動管理等を可能としたりするためには、高価なルータ機器が必要になりコスト的に導入が難しい。しかしながら、ネットワークの維持管理には多くのコストがかかっているのが現状である。【０００４】
また、家庭のブロードバンド普及率が高まる中、デジタルテレビを初めとする様々な情報家電がネットワークに接続され始めている。例えば他にもデジタルビデオレコーダ、ＩＰ電話、ＰＣ、オーディオ、カメラ、といった機器にＬＡＮ接続端子が設けられ、これらの機器が家庭内ネットワークを介してインターネットに接続される状況となりつつある。家庭内ネットワークの構築に際しても、電力線を用いた通信（Ｐｏｗｅｒ Ｌｉｎｅ Ｃｏｍｍｕｎｉｃａｔｉｏｎ: ＰＬＣ）方式が普及を始めるなど、家庭内機器のネットワーク化が進んでいる。家庭内ネットワークと外部ネットワークの界面にはホームゲートウェイまたはホームルータが配置され、セキュリティを目的としたファイアウォール機能、複数の機器と外部ネットワーク間でのパケットのフォワーディング機能を提供する。【０００５】
さらに、会社内のイントラネットワークでは、特に保守管理のコスト低減が重要となっている。業務で使用する場合、ネットワークの信頼性が高い次元で要求される。高信頼性が要求される基幹ネットワークでは、パケット解析や故障検出等が可能な高機能ルータを導入することが多いが、一般業務で使用される末端ネットワークや一般事務で用いられるようなネットワークでは、家庭向けにも用いられるような単機能ルータやハブでネットワークを構成することが多い。そのようなネットワークでは、障害等の問題が発生すると、その原因を追究するための調査に多大な時間がかかる。【０００６】
本願発明者は、以上の背景を踏まえて、ネットワークにおけるパケット解析や故障検出についての先行技術文献を調査した。その概要は、以下の通りである。【０００７】
パケット解析、経路検索といったネットワーク処理を行うルータ等の機器は、非常に高い演算性能を要求するため、従来は当該処理を専用ハードウェアで実行していた。しかしながら、新たなサービスの導入等に伴うパケット処理方式の変更に対応ができないといった問題がある。そこで、多数個の演算セルを配置し、その機能と配線を動的に再構成することで、専用ハードウェアに近い性能を出しつつも、機能を柔軟に切り替えることが可能なリコンフィグラブルデバイス（動的再構成可能プロセッサ）が提案されている。例えば、特許文献１では、多数個の演算素子と、当該素子間を結ぶ配線と、配線間を結ぶスイッチで構成したリコンフィギュラブルデバイスの一形態が開示されている。また、特許文献２では、複数個の演算素子と隣接する素子間を結合する配線と、当該演算素子の機能を制御する回路と、メモリを備えたリコンフィギュラブルデバイスの一形態が開示されている。【０００８】
このようなリコンフィギュラブルデバイスを用いて、ネットワーク処理を高速化する方式が提案されている。特許文献３では、ネットワーク間に含まれるノード間の最短経路を探索するためのシステムが開示されている。また、特許文献４では、ルータ等のネットワーク機器において、パケットのあて先アドレスから中継先アドレスを検索する装置が開示されている。中継先のアドレスを検索する際に、リコンフィギュラブルデバイス上に比較対象とするアドレス情報を設定し、当該情報を切替えながら比較することで、高速に検索する手段を提供する。また、特許文献５では、ルータ等におけるネットワーク機器において、パケット処理に関して転送、破棄、等を決定するための制御をリコンフィグラブルデバイスと汎用プロセッサの協調で行う手段を提供している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】ＷＯ０２／０９５９４６
【特許文献２】特開２００６−１３９６７０号公報
【特許文献３】特開２００７−３０６４４２号公報
【特許文献４】特開２００７−０１３８５６号公報
【特許文献５】特開２００５−１１７２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明が解決すべき課題は、以下の通りである。【００１１】
ネットワークの維持管理、保守や管理にコストがかかる要因としては、以下のような課題が考えられる。【００１２】
第１には、会社やビル建屋内のネットワーク機器やネットワーク障害が発生しても、障害を解決するためにその原因を掴むまでに多大な時間と人的コストが掛かってしまうという、問題がある。ユーザから通信障害を受けると、ネットワーク管理者はネットワークの状況を解析する装置をユーザサイドに設置されたネットワーク機器に接続し、現地で解析作業を進める必要があるためである。【００１３】
第２には、障害も複合的な原因で発生しており、再現性に乏しいケースもあり、原因解明が難しく、また、複雑化するシステムの中で、問題の切り分けが難しいという問題がある。例えば、ユーザが通信品質を得ることができていない場合、サービス提供者側のサーバ等機器の問題、通信経路の問題、またはユーザサイドの機器の問題、何れであるかを切り分ける必要もある。しかしながら、このような切り分けを行うためのネットワーク状況を、管理者側がリアルタイムで知る手段がないためである。【００１４】
そこで、以上の課題を解決するためには、通信路上を流通するパケットをリアルタイムで検知し、ネットワーク全体のトラフィック量やノード間通信時間（レイテンシ）をリアルタイムに把握することで、障害の解析やネットワーク上のボトルネック経路を発見することを容易とするための、ネットワークの状況を「見える化」する仕組みが必要となる。【００１５】
しかしながら、このようにネットワーク全体のトラフィック量やノード間通信時間（レイテンシ）をリアルタイムで把握するための手段は、現状では存在しない。前述の特許文献においても、上述の課題を解決するための構成は発見されなかった。
【課題を解決するための手段】
【００１６】
上述の課題を解決するために本願において開示される発明のうち代表的なものの概要を簡単に説明すれば以下の通りである。【００１７】
汎用プロセッサである第１のプロセッサコアと、構成要素を動的に再構築可能な第２のプロセッサコアとを具備するプロセッサを有し、パケットを受信した際に、パケットのヘッダから第１の情報を抽出し、第１の情報に基づいて第２のプロセッサコアの構成要素を再構築することを特徴とするＩＰプローブ。【００１８】
または、ネットワーク上に配置されたＩＰプローブにおけるパケットの処理方法であって、ＩＰプローブが受信したパケットのヘッダから第１の情報を抽出する第１工程と、第１の情報に基づいてＩＰプローブが有するプロセッサコアの次の構成を決定する第２工程と、プロセッサコアを第２工程で判定された構成へと切り替える第３工程とを有することを特徴とするパケットの処理方法。
【発明の効果】
【００１９】
本発明により、ネットワーク品質の向上、保守管理コストの低減等が実現される。
【図面の簡単な説明】
【００２０】
【図１】ＩＰプローブの構成の一例を示した図である。
【図２】ＩＰプローブの構成の一例を示した図である。
【図３】ＩＰプローブの構成の一例を示した図である。
【図４】ＩＰプローブ処理用へテロマルチコアプロセッサの構成例を示した図である。
【図５】ＩＰプローブ処理用へテロマルチコアプロセッサの構成例を示した図である。
【図６】動的再構成可能プロセッサの構成を示した図である。
【図７】ＩＰプローブを適用した会社内ネットワークの構成例を示した図である。
【図８】ＩＰプローブを適用した家庭向けネットワークの構成例を示した図である。
【図９】ＩＰプローブ処理全体フローを説明する図である。
【図１０】動的再構成可能プロセッサ上でのパケット解析処理フローを示した図である。
【図１１】統計テーブルの構成を示した図である。
【図１２】ヘテロマルチコア上でのＩＰプローブ並列処理の方法を示した図である。
【図１３】複数個のＩＰプローブノードを配置したときのネットワーク構成例を示した図である。
【図１４】ＩＰプローブノード間連携用管理テーブルの構成を示した図である。
【図１５】ＩＰプローブによるネットワーク状況表示の例を示した図である。
【符号の説明】
【００２１】
１０１、１０２・・・物理層チップ、１０３、１０４・・・ＬＡＮコントローラ、１０５・・・メモリ、１０６・・・プロセッサ、１０７・・・パケットプロセッサ、１０８・・・メモリ、１１１、１１２・・・プロセッサ、１１３、１１４、１１５・・・メモリ、１２１、１２２、１２３、１２４・・・汎用プロセッサ、１２５、１２６・・・アクセラレータ、１２７・・・集中共有メモリ、１２８・・・データ転送コントローラ、１２９・・・メモリコントローラ、１３０・・・メモリ、１３１・・・ＬＡＮコントローラ、１３２・・・ＩＯインタフェース、１３３・・・チップ内バス、１４０・・・汎用プロセッサコア、１４１、１４４・・・ローカルメモリ、１４２、１４６・・・電力制御レジスタ、１４３、１４７・・・データ転送ユニット、１４５・・・アクセラレータコア、１５１、１５２・・・メモリコントローラ、１５３、１５４・・・メモリ、１５５、１５６・・・ＬＡＮコントローラ、１６０・・・シーケンサ、１６１・・・演算アレイ部、１６２・・・ＩＯインタフェース、１６３・・・クロスバネットワーク、１６４・・・コンフィグレーションマネージャ、１６５・・・ロードストアセル、１６６・・・ローカルメモリ、１６７・・・バスインタフェース、１８０・・・会社内ネットワーク、１８１・・・外部ネットワーク、１８２、１８４・・・ＩＰプローブ内蔵ルータ、１８３・・・サーバ、１８５、１９０、１９１・・・部署、１８６、１８９・・・ＩＰプローブ、１８７・・・ルータ、１８８・・・端末、２００・・・外部ネットワーク、２０１・・・サーバ、２０２・・・ゲートウェイ、２０３・・・内部ネットワーク、２０４、２１０・・・家庭、２０５・・・ＩＰプローブ、２０６、２１１・・・ゲートウェイ、２０７・・・デジタルテレビ、２０８・・・コンピュータ、２０９・・・ＩＰ電話、２２０〜２２１、２２３、２２５〜２３０・・・処理、２２２、２２４・・・分岐を含む処理、２４０〜２４３・・・処理、２４４・・・分岐を含む処理、２５０・・・送信元ＩＰアドレス、２５１・・・送信先ＩＰアドレス、２５２・・・送信元ポート、２５３・・・送信先ポート、２５４・・・プロトコル、２５５・・・パケット数、２５６・・・パケットデータ量、２５７・・・毎秒パケット数、２５８・・・毎秒パケットデータ量、２５９・・・フロー固有値情報、２７０〜２７９・・・処理、２９０〜２９４・・・ＩＰプローブ、３００・・・装置ＩＤ、３０１・・・接続装置ＩＤ、３０２・・・接続ポート、３０３・・・平均パケットデータ量、３０４・・・平均パケット数、３０５・・・平均パケット通過時間、３０６・・・状態、３１０・・・平均パケットデータ量、３１１・・・平均パケット通過時間、３１２・・・ネットワーク帯域使用状況を示す円グラフ、３１３・・・サービスサーバ、３１４・・・ＩＰプローブ。
【発明を実施するための形態】
【００２２】
以下、本発明の実施例を用いて、詳細に説明する。ＩＰプローブはネットワーク上を流れるパケットの動向を可視化し、ネットワークの状況をリアルタイムで把握するシステムである。パケットは、ネットワークを流れるデータの分割単位である。つまり、ネットワークに接続されたサーバやクライアント機器は、通信サービス（例えばファイル転送等）を実行する際、当該サービスが送受するデータを複数のパケットに分割してネットワーク上に送出する。このとき、同一の通信サービスに属するパケット群を、フローと呼ぶ。パケット分割する際、パケットの先頭（ヘッダ）部分に、当該パケットの属するフローに基づいたあて先情報等のパケット配信経路決定に関わる情報が付加される。ＩＰプローブは、当該システムが受信するパケットのヘッダ情報を解析し、送信元アドレス、送信先アドレス、プロトコルの種類、送信元ポート番号、送信先ポート番号等のパケット属性を表す情報を抽出し、それらの組み合わせから、パケットがもともと属していたフローを特定する。このフローの動向を把握することで、故障検知や品質制御、異常通信フローの検出等が可能となる。
【００２３】
＜ＩＰプローブの構成＞
図１にＩＰプローブの構成を示す。本システムは、ネットワーク（ＬＡＮ）に接続し、物理的な電気信号を受信しデジタル信号に変換する物理層チップ（ＰＨＹ）１０１、１０２、パケットの送受信を制御するＬＡＮコントローラ（ＬＣＴＬ）１０３、１０４、パケット解析を行うプロセッサ（ＨＭＣＰ）１０６、パケットデータ、処理途中のデータ及びプログラム等を保存するメモリ（ＲＡＭ）１０５で構成される。
【００２４】
ＰＨＹ、ＬＣＴＬは２ポート用意され、既存のネットワークに挿入する形で設置する。また、ネットワーク上の通信は上流方向と下流方向で多重化されているため、これら２ポートを利用して上流と下流で分けてパケットを受信することも可能である。
【００２５】
ＬＣＴＬはＨＭＣＰが持つ、例えばＰＣＩ  Ｅｘｐｒｅｓｓといった周辺デバイス拡張用の入出力端子に接続される。ＨＭＣＰは受信したパケットを解析し、統計情報を生成したり、帯域制御や異常フロー検出等の処理を実行したりする。ＲＡＭは一時データを保持するＤＲＡＭ等の揮発メモリ、プログラム等を格納する不揮発メモリまたはＲＯＭに相当する。
【００２６】
また別の構成として、パケット処理を専用に行うパケットプロセッサ（ＰＰ）１０７を付加した構成も考えられる。図２にＰＰを付加したときのＩＰプローブの構成図を示す。図２に示したように、ＰＰにてパケットのヘッダ部分離、パケットポート間転送、といったパケット処理を分離することで、ＨＭＣＰの処理負荷や転送帯域の使用を低減することが可能となる。例えば、ＰＨＹ１０１及びＬＣＴＬ１０３にて受信されたパケットはＰＰでパケットヘッダ情報を分離し、当該ヘッダ情報をＨＭＣＰに転送する。パケットはＰＰに接続されたパケットバッファ（ＲＡＭ）１０８に一時的に保存される。ＨＭＣＰはヘッダ情報を解析し、必要に応じて新たなヘッダ情報を追加してＰＰを制御するコマンドとともにＰＰへ転送する。ＰＰはＲＡＭに一時保存されているパケットデータを更新し、ＬＣＴＬ１０４、ＰＨＹ１０２にて当該パケットを送信する。
【００２７】
また、さらに複雑なパケット解析、または統計情報を利用したパケット制御等のＨＭＣＰの性能が求められるときは、ＰＰ、ＨＭＣＰのマルチチップ化構成とすることも考えられる。ＰＰ、ＨＭＣＰをマルチチップ化した時のＩＰプローブの構成図を図３に示す。図３は、ＰＰに対しＨＭＣＰを２個接続した構成である。例えば、ＰＨＹ１０１及びＬＣＴＬ１０３で受信されたパケットは、パケット本体をＲＡＭ１０８上に一時保存しパケットヘッダ情報をＨＭＣＰ１１１へ転送する。また、ＰＨＹ１０２及びＬＣＴＬ１０４で受信されたパケットは、パケット本体をＲＡＭ１０８上に一時保存しパケットヘッダ情報をＨＭＣＰ１１２へ転送する。このように異なるポートのデータを異なるＨＭＣＰにＰＰが割り振ることにより、ＨＭＣＰの負荷を分散できる。ＨＭＣＰ１１１及びＨＭＣＰ１１２はそれぞれメモリＲＡＭ１１４、１１５に接続され、またチップ間通信用のＲＡＭ１１３に共通で接続される。
【００２８】
＜ＨＭＣＰの構成＞
続いて、本実施例でＩＰプローブに適用するＨＭＣＰの構成例を示す。ＨＭＣＰはパケットを解析するプロセッサである。パケットそれぞれは、処理の順番を決定するようなデータ依存性が存在しないため、並列で処理することが可能である。従って、ＨＭＣＰは複数のプロセッサコアを搭載したマルチコアプロセッサを利用することが好ましい。
【００２９】
マルチコアプロセッサでは、プロセッサコアをクロック周波数並びに動作電圧を低くして複数個並列で動作させることにより、高い電力性能（高性能・低電力）を達成する。また、特定の処理を効率よく行う専用プロセッサ（アクセラレータ）を導入し、ヘテロジニアスな構成のマルチコアプロセッサとすることで、更なる電力性能の向上を実現することができる。
【００３０】
図４にＨＭＣＰの構成例を示す。本例では、４個の汎用プロセッサ（ＣＰＵ）１２１、１２２、１２３、１２４と２個のアクセラレータ（ＡＣＣ）１２５、１２６を搭載する。各コアは、高速なローカルメモリＬＭ１４１、１４４を搭載しており、頻繁にアクセスされるデータをＬＭに配置することにより、処理性能を向上させることができる。また、同様に各プロセッサコアは、外部メモリＲＡＭ１３０からデータを転送するためのデータ転送ユニットＤＴＵ１４３、１４７を備える。また、各コアのクロック周波数や電源電圧を設定する電力制御レジスタＰＲ１４２、１４６を持つ。ＨＭＣＰはさらに、各プロセッサコア間で共有されるデータを配置する集中共有メモリ（ＣＳＭ）１２７、外部メモリを接続するメモリコントローラ（ＭＥＭＣＴＬ）１２９、パケットプロセッサＰＰやＬＡＮコントローラＬＣＴＬ１３１を接続する周辺デバイス接続インタフェース（ＩＯＣＴＬ）１３２、ＲＡＭ１３０、ＬＭ１４１、１４４間でデータを転送するデータ転送コントローラ（ＤＭＡＣ）１２８を搭載する。プロセッサコア、メモリ、各種コントローラやインタフェースはチップ内バス（ＩＴＣＮＷ）１３３で相互に接続される。
【００３１】
上記ＨＭＣＰ上でのＩＰプローブ処理の簡単なフローを説明する。ＬＣＴＬ１３１にて受信されたパケット、またはＰＰにて切り出されたヘッダ情報は、ＤＭＡＣ１２８または各コアのＤＴＵ１４３、１４７によって、ＩＯＣＴＬ１３２およびＩＴＣＮＷ１３３を介し、ＡＣＣのＬＭ１４４またはＣＰＵのＬＭ１４１へ転送され、ＡＣＣまたはＣＰＵ上にて解析処理が実行される。解析処理の終了後、ＣＰＵ１２１〜１２４のいずれかが管理用ＣＰＵとして当該解析処理の結果に基づいて次の処理内容を判定し、当該処理内容を実行するための余裕のあるＣＰＵまたはＡＣＣを決定する。前記決定処理がなされたＣＰＵまたはＡＣＣ上のＤＴＵ１４３、１４７は、次に処理を実行するＣＰＵまたはＡＣＣのＬＭ１４１、１４４に前記解析結果を転送する。その後、解析結果に基づいて後述のＡＣＣの構成を再構築する。
【００３２】
以上のように、本実施例のＩＰプローブは、ＨＭＣＰ上でパケットのヘッダ情報を解析し、解析処理の結果に基づいて次の処理を決定し、それに対応した構成へとＡＣＣを再構築する点に特徴がある。このような構成とすることで、各ＡＣＣを処理するパケットに適した構成とすることが可能となり、ＡＣＣがパケットを効率よく処理できるようになるため、低消費電力で高性能なマルチコアプロセッサを実現することが可能となる。ＡＣＣの構成は、ＩＰプローブ上に設けられた集中共有メモリＣＳＭや外部メモリＲＡＭからロードすることが可能である。この特徴によってＡＣＣの処理に応じた最適な構成をロードすることが可能となる。
【００３３】
＜ＨＭＣＰの別構成＞
以上はＨＭＣＰの一構成例であり、たとえばプロセッサコア数やアクセラレータの種類、コア数は目的とする機能や性能によって決定される。また、画像表示等その他外部インタフェースを活用するための機能を具備することもできる。図５に、ＬＣＴＬまたはＰＰとのインタフェースを、アクセラレータＡＣＣと直結したときのＨＭＣＰの構成図を示す。本構成では、ＬＣＴＬまたはＰＰ１５５、１５６はバッファ用メモリＲＡＭ１５３、１５４及びメモリコントローラＭＥＭＣＴＬ１５１、１５２を介して直接ＡＣＣ１２５、１２６に接続される。ＡＣＣはＲＡＭ上のデータを直接アクセス可能であるため、ＲＡＭ上のデータを効率よくＡＣＣにて処理が可能となる。本構成での処理は、まずＬＣＴＬにより受信されたパケット、またはＰＰにて切り出されたヘッダ情報はＲＡＭ１５３、１５４に書き込まれる。ＨＭＣＰ上のＡＣＣ１２５、１２６はＲＡＭ１５３、１５４上のパケットを連続して取り込みパケット解析処理を行う。解析処理の終了後、管理用ＣＰＵは、当該解析処理の結果に基づいて次の処理内容を判定し、当該処理内容を実行するための、処理に余裕のあるＣＰＵまたはＡＣＣを決定する。前記決定処理がなされたＡＣＣ上のＤＴＵが、次に処理を実行するＣＰＵまたはＡＣＣのＬＭに前記解析結果を転送する。
【００３４】
以上のように、図５のＨＭＣＰの構成は、図４の構成と比較して、アクセラレータＡＣＣがメモリコントローラＭＥＭＣＴＬを介して外部のＲＡＭと直接アクセス可能である点に特徴がある。この特徴により、外部ＲＡＭ上のデータを効率よくＡＣＣで処理することが可能となる。また、ＡＣＣが外部のＲＡＭと直接アクセスできるため、チップ内バスを経由する実施例と比較してチップ内バスにかかる負荷も軽減される。これらの効果より、さらなるマルチコアプロセッサの性能向上を実現できる。
【００３５】
＜アクセラレータの構成＞
ＨＭＣＰが持つアクセラレータの具体的な構成例として、図６に動的再構成可能プロセッサ（ＤＲＰ）を示す。ＤＲＰは動的に機能を変更可能なＡＬＵを二次元配列状に接続した演算セルアレイで構成される。本ＤＲＰは、演算処理部、演算制御部、バスインタフェースの３つの要素から構成される。演算処理部には、算術論理演算を実行する演算セルを二次元的に接続した演算セルアレイ（ＡＡＲＹ）１６１、演算オペランドや演算結果などの演算データを格納するローカルメモリ（ＣＲＡＭ）１６６、ローカルメモリへのアクセスアドレス生成と読み書き制御を行うロードストアセル（ＬＳ）１６５、演算セルアレイとロードストアセルとの間を接続するクロスバネットワーク（ＸＢＮＷ）１６３が含まれる。演算セルアレイＡＡＲＹ１６１は３２個の汎用演算セル（算術論理演算セル（ＡＬＵ）×２４個、乗算セル（ＭＬＴ）×８個） からなる二次元演算セルアレイ構造となっている。各セルは隣接配線で接続されており、各セルの機能と隣接配線の接続をソフトウェアで変更可能となっている。この機能および配線接続を決定するためのソフトウェア記述をコンフィグレーションと呼ぶ。
【００３６】
また、演算制御部はそれぞれ演算処理部の動作内容および動作状態を制御するコンフィグレーションマネージャ（ＣＦＧＭ）１６４、シーケンスマネージャ（ＳＥＱＭ）１６０から構成される。ＣＦＧＭ１６４は、コンフィグレーション情報の記憶と管理を行い、ＳＥＱＭ１６０では複数のコンフィグレーションの実行順序を制御する。また、バスインタフェースは、チップ内ネットワークＩＴＣＮＷと接続を行うバスインタフェース（ＢＵＳＩＦ）１６７並びに、大容量メモリや演算セルアレイサイズを拡張するために他のＤＲＰとを接続するための拡張インタフェース（ＩＯＣＴＬ）１６２で構成する。
【００３７】
＜ネットワークに配置する時のシステム構成図＞
次に、ＩＰプローブをネットワークに複数配置して、ネットワーク全体の状況を可視化するシステムの構成を説明する。図７に会社等の組織内に敷設するネットワークＣＭＰＮＷ１８０にＩＰプローブを配置するときのネットワーク構成図を示す。ＣＭＰＮＷ１８０では、部署別（ＳＣ−Ａ１８５、ＳＣ−Ｂ１９０、ＳＣ−Ｃ１９１）にルータＲＴを配置し、各部署の端末ＴＭを接続する。また、部署間の通信路上に上位のルータＲＴＩＰＰ１８４を配置し、さらにサーバＳＲＶ１８３等の機器を接続し、最上位層のルータＲＴＩＰＰ１８２を介して外部ネットワークＯＴＮＷ１８１に接続する。
【００３８】
サーバＳＲＶ１８３は、端末に対してファイル転送等の各種のサービスを提供するのみならず、ＣＭＰＮＷ１８０に設置されたＩＰＰおよびＲＴＩＰＰの動作を設定するといった管理・制御を行い、また各ＩＰＰ、ＲＴＩＰＰからネットワーク状況を集約しネットワーク全体の情報を管理者に提供する役割を持つ。
【００３９】
ＩＰプローブＩＰＰ１８６は既存ネットワークの通信路のうち、パケットをトレースする通信路に追加され、または当該通信路が接続されるルータ等のネットワーク機器（ＲＴＩＰＰ）に組み込まれる。たとえば、会社内ネットワークＣＭＰＮＷにおいて、部署ＳＣ−Ａ１８５内のネットワークの通信状況を把握するために、ＳＣ−Ａに設置されたルータＲＴの上流通信経路にＩＰプローブＩＰＰ１８６を置く。
【００４０】
このようにすることで、ＳＣ−Ａ内の末端機器ＴＭ１８８とサーバＳＲＶ１８３や外部ネットワークＯＴＮＷ１８１との通信、または異なる部署ＳＣ−Ｂ１９０内の端末ＴＭとの通信におけるパケットの動向を把握することが可能となる。
【００４１】
＜家庭向けネットワークでの配置図＞
続いて家庭向けネットワークにＩＰプローブを適用した際のネットワーク構成図を図８に示す。通信インフラを提供する通信事業者はＩＮＮＷ２０３を構築し、各家庭ＨＮ−Ａ２０４、ＨＮ−Ｂ２１０に通信回線を提供する。ＩＮＮＷ２０３はゲートウェイＧＷ２０２を介してインターネット等の外部ネットワークＯＴＮＷ２００に接続される。ＩＮＮＷ２０３には、通信事業者がメールやＷＥＢ、映像ストリーミングといった各種サービスを提供するサーバＳＲＶ２０１が接続される。
【００４２】
各家庭では、ＩＮＮＷ２０３と家庭内の通信機器を接続する家庭内ネットワークとの接続口としてゲートウェイＨＧＷ２０６を配置する。ＨＧＷ２０６には、デジタルテレビＤＴＶ２０７、パソコンＰＣ２０８、ＩＰ電話ＴＬＰ２０９、といった通信機器が接続される。各通信機器は、ＨＧＷ２０６を介して、ＩＮＮＷ２０３上のサーバや各種通信機器、またはＯＴＮＷに接続されたサーバや各種通信機器とパケットの交換を行う。
【００４３】
ＩＰプローブＩＰＰ２０５は、ＨＧＷ２０６とＩＮＮＷ２０３を結ぶ通信路に配置され、または、ＨＧＷに内蔵する形（ＨＧＷＩＰＰ）２１１で配置され、家庭内機器とＩＮＮＷ、ＯＴＮＷ上のサーバ、通信機器との交換パケットをトレースする。その結果、たとえば家庭内通信機器が通信できない故障が発生したときに、通信事業者はＩＰＰ２０５やＨＧＷＩＰＰ２１１にアクセスすることにより、事業者側の提供ネットワークに問題があるか、家庭内のネットワークおよび通信機器に問題があるかを調査することができる。また、各種通信機器の帯域予約を設定しておくこともできる。たとえば、デジタルテレビでの映像ストリーミングやＩＰ電話の利用では、サービス品質を保つために一定以上の帯域をそれぞれのサービスで確保する必要がある。ユーザがＩＰＰに対し各サービスの使用帯域や優先度を設定しておくことで、ＩＰＰ２０５またはＨＧＷＩＰＰ２１１が設定された帯域情報を元にパケットの通信量を制御することが可能となる。
【００４４】
＜全体処理の処理フロー＞
続いて、ＩＰプローブの全体処理フローを、図９を用いて説明する。まず、ＬＣＴＬ１０３、１０４でパケット受信すると、ＰＰ１０７またはＨＣＭＰ１０６、１１１、１１２にパケット受信を割り込み等で通知する（ＰＲＣＶ）。ＰＰはパケットヘッダをパケット本体から分離し、パケット本体はＰＰに接続されたＲＡＭ１０８上に一時的に保持する。ＨＭＣＰはパケット受信の割り込みを受けて、ＰＰより分離されたヘッダ部をＨＭＣＰに転送する。
【００４５】
続いて、パケットヘッダ解析を実行する（２２１）。ヘッダ解析後、パケットフローを区別するためのフロー固有値ＨＫＥＹが、パケットヘッダに付加されているかを判定する（２２２）。これは、別のＩＰプローブにより、ＨＫＥＹがパケットヘッダに付加されている場合は、ＨＫＥＹを計算する必要がないからである。ＨＫＥＹが付加されていない場合はＨＫＥＹの導出を行う（２２３）。ＨＫＥＹは抽出されたヘッダ情報をキーとして、ハッシュ関数を適用することにより求められる。ＨＫＥＹにより、ＩＰプローブのＲＡＭに持つ統計テーブルにフローのエントリが追加されるが、もし、ＨＫＥＹが同一であるが、フローが異なる場合（ＨＫＥＹの衝突がある場合２２４）は、ＨＫＥＹの付け替えを行う（ＨＫＥＹ衝突回避処理２２５）。付け替えは、例えばヘッダ情報のキーに識別子を追加して、再度ハッシュ関数に適用する方法がある。
【００４６】
以上のように、本実施例の処理フローは、パケットを受信した際に、パケットがどのフローに属するかを判定するための値であるフロー固有値ＨＫＥＹが、パケットヘッダに付加されているかを判定し、付加されていなければＨＫＥＹを導出して付加する点に特徴がある。この特徴により、フロー固有値の導出を必要なときのみに行うことが可能となり、かつ確実にフロー固有値を用いたパケットの解析が可能となる。
【００４７】
続いて、統計テーブルのエントリを更新し（２２６）、パケットヘッダにＨＫＥＹを付加して、ＰＰへヘッダを転送しＰＰ上でパケット本体を再構成し（２２７）、パケットを送信する制御命令とともにＬＣＴＬへ送り、パケットを送信する（２２８）。
【００４８】
＜アクセラレータでのパケット解析処理方法＞
以上の全体フローのうち、本実施例ではパケット解析処理とフロー固有値を求める処理をＨＭＣＰが持つアクセラレータである動的再構成可能プロセッサＤＲＰにて実行する。ここでは、パケットヘッダから目的の情報を抽出するパケット解析処理を、ＤＲＰにて実行する方法について説明する。パケット解析は、パケットヘッダを構成するビット列から、あらかじめ決められた位置に配置された各種情報を抽出する処理である。
【００４９】
ヘッダ情報は具体的に以下のような識別情報や属性情報を持つ。ネットワークパケットは、標準化されているＯＳＩ（Ｏｐｅｎ Ｓｙｓｔｅｍｓ Ｉｎｔｅｒｃｏｎｎｅｃｔ）参照モデルによって７つに階層化されているが、本実施例では第３層のネットワーク層、及び第４層のトランスポート層で定義されるヘッダ情報を解析する装置を想定する。
【００５０】
ネットワーク層では、ルータ等の異なるネットワークセグメント間をルーティングするために必要な情報が定義される。例えば、ＴＣＰ／ＩＰで用いられるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）やＮｅｔＷａｒｅで使われるＩＰＸ（Ｉｎｔｅｒ−ｎｅｔｗｏｒｋ Ｐａｃｋｅｔ ｅＸｃｈａｎｇｅ）がある。パケットがネットワーク層を識別するフラグがＩＰパケットであることを表していたとすると、ＩＰのネットワーク層では、送信元ＩＰアドレス、送信先ＩＰアドレス、データ長、が定義されている。
【００５１】
またトランスポート層では、エンドツーエンドで信頼できるパケット配送を提供するための、接続確立やエラー回復等の機能を担当する。例えば、送達確認を伴う高信頼なデータ送受を実現するＴＣＰ（Ｔｒａｎｓｐｏｒｔ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ）、送達確認を行わず信頼性は劣るが高いスループットを実現するＵＤＰ（Ｕｓｅｒ Ｄａｔａｇｒａｍ Ｐｒｏｔｏｃｏｌ）などがある。ＴＣＰ、ＵＤＰでは上位のＦＴＰ（ＦｉｌｅＴｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）、ＨＴＴＰ（Ｈｙｐｅｒ Ｔｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）といったサービスが使用する通信ポート番号が定義される。
【００５２】
ＤＲＰでは、１コンフィグレーションで１属性情報、識別情報を抽出する。コンフィグレーションを変化させることにより、異なる属性情報、識別情報を抽出する。上述の通り、パケット情報は階層化されているため、ある情報を抽出後、その情報を元に次に抽出すべき属性・識別情報が決定されることもある。例えば、ネットワーク層でＩＰプロトコルとＩＰＸプロトコルでは、抽出対象が異なる。上位のトランスポート層でも例えば、ＴＣＰ、ＵＤＰで抽出対象の情報は異なる。また、ＤＲＰは演算アレイが複数のバンクに分かれたメモリと接続される構成となっているため、複数のパケットを並列で処理することも可能となっている。
【００５３】
よって、ＤＲＰのように構成を変えながら実行することで、複数パケットを並列で効率よく解析処理ができ、なおかつ様々なプロトコルや規格に柔軟に対応できる。
【００５４】
図１０にＤＲＰでのパケット解析の基本フローを示す。パケット解析処理を開始すると、まず抽出すべき目的データを決定し（２４０）、当該データを抽出するコンフィグレーションをＤＲＰ上のアレイにロードし（２４１）、当該コンフィグレーションに合わせた機能切り替えを行う（２４２）。そして、属性・識別情報抽出の演算を実行する（２４３）。次に、抽出されたデータより、次に抽出すべき属性・識別情報を持つ目的データを決定し、同様にコンフィグレーションロード、抽出実行を繰り返す（２４４）。
【００５５】
ＤＲＰはコンフィグレーションロードをアレイ上の演算と並行して行う機能を持つが、本機能を利用してパケット抽出中に例えば次の抽出データが前回パケット対象に抽出したパケットデータと同じ場合は、プレロードしておくことで、コンフィグレーションロードを隠蔽することもできる。通常、ファイル転送やストリーミング等、同じ属性のパケットが連続して送られてくることが多い。そこで、このようなコンフィグレーションのプレロードが有効となる。
【００５６】
＜保持する統計テーブル＞
続いて、ＩＰプローブが生成する統計情報テーブルについて説明する。図１１に本実施例における統計テーブルの生成例を示す。
【００５７】
本例では、パケット解析により、ＩＰパケットを対象に送信元ＩＰアドレス（ＳＩＰ）、送信先ＩＰアドレス（ＤＩＰ）、送信元ポート（ＳＰＲＴ）、送信先ポート（ＤＰＲＴ）、プロトコル（ＰＲＣＬ）、パケットデータサイズ等を抽出し、統計情報テーブルとしてＳＩＰ２５０、ＤＩＰ２５１、ＳＰＲＴ２５２、ＤＰＲＴ２５３、ＰＲＣＬ２５４、総パケット数（ＰＫＴ）２５５、総パケットデータサイズ（ＤＧＲＭ）２５６、毎秒パケット数（ＰＰＳ）２５７、毎秒パケットデータ量（ＢＰＳ）２５８、フロー固有値（ＨＫＥＹ）２５９等の情報を記録する。
【００５８】
以上のように、本実施例のＩＰプローブは、パケット解析によって送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート、プロトコル、送信先ポート若しくはパケットデータサイズ等のデータを抽出し、これらの情報及び総パケット数、総パケットデータサイズ、毎秒パケット数、毎秒パケットデータ量、フロー固有値等の情報を記録した統計テーブルを作成する点に特徴がある。
【００５９】
この構成により、フロー単位でどのパケットが流通しているかを把握することができるため、ＩＰプローブの配置された点におけるトラフィック量やノード間通信時間（レイテンシ）を、リアルタイムに把握することが可能となる。その結果、ネットワーク障害時にその原因をリアルタイムで解析することが可能となる。
【００６０】
このような構成のＩＰプローブを、例えば前述のように家庭内ネットワークに設けることで、ネットワーク障害の原因がキャリア網から家庭までのネットワーク経路にあるか、若しくは家庭内のネットワーク機器にあるかを特定することが可能となる。
【００６１】
また、この例では、ＳＩＰ、ＤＩＰ、ＰＲＣＬ、ＳＰＲＴ、ＤＰＲＴが同一のパケットを同一のフローとして記録しているが、フローの種別によっては、例えばＳＩＰとＤＩＰのみで、ＰＲＣＬ、ＳＰＲＴ、ＤＰＲＴ、は問わないといった場合は、エントリが無効であることを示す値が書き込まれ、ＳＩＰとＤＩＰが同一のパケットが同一のフローとして扱われる。本統計テーブル情報を利用することで、必要最低限の情報に基づいて同一フローであるか異常フローであるかを検知することが可能となる。
【００６２】
ここで、生成された統計テーブル情報は、特定の頻度でサーバに通知される。この頻度は、ＩＰプローブ毎にソフトウェア等で設定可能であるため、ネットワークの環境に応じて最適の間隔でサーバへ通知するよう設定することができる。例えば、通常は例えば５分といった大きな頻度で情報をサーバに通知するが、異常な通信が観測されたノードではより詳細な状況をつかむため、通知の頻度を高くし、例えば１０秒おきに通知する等、ＩＰプローブが接続されているネットワークの状況に応じて変化させることができる。これらの設定は、サーバから各ＩＰプローブに設定情報を配信することで、実現される。
【００６３】
統計テーブル情報の通知では、すべての情報を転送する必要はなく、フローを区別するフロー固有値とＰＰＳ、ＢＰＳ等の統計情報のみ転送される。また、例えば各フローでＰＰＳが大きい上位１０フローのみを転送する、等の設定を事前にサーバから行うことで、必要最低限の情報をサーバに送信しつつ、転送量を抑えることもできる。
【００６４】
このように、本実施例のＩＰプローブは、統計テーブルを特定の頻度でサーバに転送する点に特徴がある。この特徴によれば、サーバにおいて、従来のＩＰプローブでは知ることのできなかったネットワーク全体のトラフィック量をリアルタイムに把握することが可能となる。すると、ネットワーク全体でのボトルネック経路を発見することも容易となり、ネットワーク全体のスループットを向上させることが可能となる。
【００６５】
＜ＨＭＣＰ上での並列処理手法＞
ＨＭＣＰでのＩＰプローブ処理の並列処理方法について説明する。図９のＩＰプローブ処理フローに示す、パケット受信（ＰＲＣＶ）２２０はＣＰＵにて、パケットヘッダ解析（ＨＥＡＤ）２２１及びフロー固有値算出（ＨＫＥＹ）処理２２９はアクセラレータであるＤＲＰにて、ＨＫＥＹ衝突回避処理、テーブルエントリ更新、パケットヘッダ更新、パケット送信を含むテーブル更新処理ＴＢＬ２３０はＣＰＵにて実行する。パケット処理はパケット単位で並列処理が可能である。図１２に４個のＣＰＵ（ＣＰＵ０〜ＣＰＵ３）と２個のＡＣＣ（ＡＣＣ０、ＡＣＣ１）で構成されたＨＭＣＰ上でＩＰプローブ処理を行った際のガントチャートを示す。まず、ＣＰＵ０にてパケット受信ＰＲＣＶ２７０を行う。続いて、ＡＣＣ０にてヘッダ解析ＨＥＡＤ２７１とフロー固有値算出処理ＨＫＥＹ２７２を行い、最後にＣＰＵ０にてテーブル更新処理ＴＢＬ２７３を行う。前記パケット受信ＰＲＣＶ２７０後は、続けてＣＰＵ１でパケット受信ＰＲＣＶ２７４を実行する。同様に、ＨＥＡＤ２７５、ＨＫＥＹ２７６はＡＣＣ１にて、ＴＢＬ２７７をＣＰＵ１にて実行する。次のパケット受信ＰＲＣＶ２７８は次にＣＰＵ０で行い、同様にＡＣＣ０とＣＰＵ０で続きの処理を行う。
【００６６】
このように、ＣＰＵ０とＣＰＵ１で交互に並列で処理することで、受信パケットに対し連続的に処理を行うことができる。
【００６７】
なお、ＣＰＵ２及びＣＰＵ３では生成した統計情報テーブルを監視し、異常フロー検出等の応用機能を実行する。
【００６８】
＜ＩＰプローブノード連携処理手法＞
続いて、ＩＰプローブＩＰＰのノード間連携手法について説明する。ＩＰプローブＩＰＰはネットワーク上に複数配置されるが、各ノードは互いに通信することで、ネットワーク全体のパケット状況を管理する。
【００６９】
本実施例では、１個のノードは接続された通信経路の上流側、下流側のノードとのみ通信し、フロー固有値を送受信することによって、パケットフローの統計情報を共有し、各ノードがサーバと通信することによって、ネットワーク全体のパケットフローを可視化する。
【００７０】
例えば、図１３のように、ＩＰＰがネットワーク上に設置されているとする。各ノードでは図１４に示すような管理テーブルを持つ。本テーブルは、自ＩＰＰノードのＩＤ番号（ＩＰＰＩＤ）３００、接続ＩＰＰノードのＩＤ番号（ＣＮＴＩＰＰ）３０１、ポート識別フラグ（ＤＩＲ）３０２、ノード間平均パケットデータ量（ＡＧＴＰ）３０３、ノード間平均パケット数（ＡＧＰＰＳ）３０４、ノード間平均パケット通過時間（ＡＧＬＴ）３０５、フロー状態（ＳＴＡＴ）３０６の項目を持つ。なお、ＡＧＬＴはノード間でパケットの通過にかかる時間（レイテンシ）の平均であり、機器の故障や負荷の増加に伴うルータの性能不足等によりこの数値は増加する。この値がわかることで、例えばネットワークサービスのレスポンスが悪いときに、ネットワーク経路側の問題か、サービスを提供するサーバ側の問題かの切り分けを可能とする。
【００７１】
ここで、図１３のＩＰＰＩＤ２ノード２９１に着目する。ＩＰＰＩＤ２（２９１）は上流側ポートにＩＰＰＩＤ１（２９０）と接続関係を、下流側ポートにＩＰＰＩＤ３（２９２）及びＩＰＰＩＤ４（２９３）と接続関係を持つ。
【００７２】
ノード間管理テーブルは接続関係と、ノード間のパケット全体情報を示している。例えば、１行目のエントリは、自ノードＩＤは２であり、接続先のＩＤは３、接続ポートは下り方向ポートを示すＤＮ、平均パケットデータ量は３６１７Ｋバイト／秒、平均パケット数は８０パケット／秒、平均パケット通過時間は５０ミリ秒、状態は標準状態を示す１が記録される。
【００７３】
また、２行目のエントリでは、自ノードＩＤは２であり、接続先のＩＤは４、接続ポートは下り方向ＤＮ、平均パケットデータ量は２１Ｋバイト／秒、平均パケット数は３１２４パケット／秒、平均パケット通過時間は１５００ミリ秒で、異常状態を表す状態２が記録されている。ここで、２行目のエントリは、平均パケットデータ量に対し平均パケット数が非常に大きく、またパケット通過時間も通常状態に対して非常に大きいため、ポートアタックなどの攻撃を受け、ネットワーク機器の負荷が上がっている可能性があり、異常状態を表す状態２が記録されている。この管理テーブルは、各ノードから管理サーバＳＲＶに送信され、ＳＲＶ上でネットワーク全体の統合管理テーブルとしてそのコピーが管理される。
【００７４】
３行目のエントリでは、自ノードＩＤは２であり、接続先のＩＤは１、接続ポートは上り方向ポートを示すＵＰ、平均パケットデータ量は３７００Ｋバイト／秒、平均パケット数は８０パケット／秒、平均パケット通過時間は４０ミリ秒、状態は標準状態を示す１が記録される。
【００７５】
このように、本実施例のＩＰプローブは、その上流及び下流に接続されたＩＰプローブと固有値を送受信することで、ノード間の管理テーブルを作成することを特徴とする。この特徴により、ノード間でのトラフィックの書類や使用帯域、レイテンシ等をマップで表示することが可能となる。さらに、この管理テーブルの平均パケット量と、平均パケット数又はノード間平均パケット通過時間とを対比することで、異常な通信を検出することを特徴とする。すると、ネットワークの異常を速やかに把握することが可能となり、障害への対応を迅速に行うことも可能となる。
【００７６】
＜各ノードの機能＞
各ＩＰＰノードの機能は管理サーバＳＲＶよりＩＰＰへ配信される。本実施例では、ＨＭＣＰのアクセラレータＡＣＣとして動的再構成可能プロセッサを搭載しており、新たな規格のパケットを受信する、セキュリティを目的とした異常検出や帯域制御など新たな機能を設定したい場合は、プログラムを各ノードに配信すれば、容易にネットワーク全体の管理構成を変更することが可能である。
【００７７】
＜ネットワーク状況の提示方法＞
サーバＳＲＶは以上の手段にて集約した情報を、ネットワーク全体の通信量やノード間の状況を、グラフィカルなインタフェース（ＧＵＩ）で管理者やユーザに提示することができる。
【００７８】
図１５に図７で示したネットワークの状況を示すＧＵＩの一例を示す。図７の社内ネットワークに、ファイル転送や、電子メール、ＷＥＢサーバ等のサービスを行うサービスサーバ（ＳＶＣＳＲＶ）３１３を追加している。サーバＳＲＶはＩＰプローブＩＰＰまたはＩＰプローブを内蔵したルータＲＴＩＰＰからの情報により、接続されている機器（長方形の箱）とネットワークのトポロジ（機器間を接続する線）を表示する。また、ノード間の平均データ量、パケット量、平均パケット通過時間も提示する。本例では、平均パケットデータ量（スループット）（３１０）を線の太さで、ノード間の平均パケット通過時間（レイテンシ）（３１１）を線の色の濃さで示している。つまり、ノード間を接続する線の太さが太いほど、平均データ量が大であり、また線の色が薄いほど平均パケット通過時間が大であることを示す。これらの示し方は一例であり、例えば色の利用によってより効果的に示すこともできる。また、状態が異常な個所を点滅させたり、強調するような色を使ったり、といった提示が考えられる。また、平均パケット量など、他の指標値を画面の切替で表示することも考えられる。
【００７９】
以上のように、本実施例のＧＵＩは、上述のＩＰプローブを用いて集約した情報に基づいて、ノード間の通信状態を、線の濃さ、線の太さ、線の色等を変えて表現する点に特徴がある。また、異常箇所を、点滅や強調する色彩等の強調した表現で示す点や、上述のＩＰプローブによって取得した複数の情報を、画面を切り替えて順次表示する点にも特徴がある。
【００８０】
この特徴により、ネットワーク管理者やユーザは、現在のネットワークの状況を直感的に理解することが可能となり、また、障害箇所の特定も容易となるので、障害への対処も迅速に行うことができる。
【００８１】
また、あるノード上の通信の内訳をグラフで提示するといった方法も考えられる。例えば図１５では、ＩＰＰ３１４上の通信の内訳を円グラフ３１２で示している。円グラフ３１２では、ＷＥＢページを閲覧するサービスを提供するハイパーテキスト転送プロトコル（ｈｔｔｐ）、ファイル転送プロトコル（ｆｔｐ）、そしてノード間直接通信（ｐ２ｐ）の通信が行われていることを表す。ＩＰＰ３１４が接続されたネットワーク回線上では、データ量が大きく、レイテンシも大きい。通信の内訳を見ると、ノード間直接通信ｐ２ｐが大きな割合をしめ、この通信がネットワーク帯域を逼迫している原因であることがわかる。
【００８２】
このように、本実施例のＧＵＩは、通信の内訳をグラフ等の手段を用いて表現する点にも特徴がある。この特徴により、ネットワーク帯域を圧迫している原因を、ネットワーク管理者やユーザが直感的に理解することが可能となる。さらに、この特徴に基づいて、ＩＰプローブに特定の通信を遮断する、または特定の通信が使用する帯域を限定する機能を組み込むといった対応を取ることも容易となり、ネットワーク品質を高めることが可能となる。
【００８３】
以上、本発明により、低電力・小型なＩＰプローブノードが実現し、これをネットワーク上に複数個配置することにより、これまで観測することができなかったネットワーク上を流通するパケットの動向をリアルタイムで把握できることになり、ネットワーク品質の向上、保守管理コストの低減が実現される。
【産業上の利用可能性】
【００８４】
本発明は、ネットワーク上を流れるパケットを効率よく解析する手段として、動的再構成可能プロセッサを含んだヘテロジニアスマルチコアプロセッサを用いた、ネットワークの状況を可視化するパケット解析装置に利用して特に有用である。
【図１】
2009148021.tif 000003
【図２】
2009148021.tif 000004
【図３】
2009148021.tif 000005
【図４】
2009148021.tif 000006
【図５】
2009148021.tif 000007
【図６】
2009148021.tif 000008
【図７】
2009148021.tif 000009
【図８】
2009148021.tif 000010
【図９】
2009148021.tif 000011
【図１０】
2009148021.tif 000012
【図１１】
2009148021.tif 000013
【図１２】
2009148021.tif 000014
【図１３】
2009148021.tif 000015
【図１４】
2009148021.tif 000016
【図１５】
2009148021.tif 000017
【国際調査報告】
2009148021.tif 000018
2009148021.tif 000019
2009148021.tif 000020
2009148021.tif 000021