説明

パケットキャプチャ装置

【課題】制御用プロセッサの処理負荷の軽減を達成できると共に、高速なパケット転送を可能とすることができるパケットキャプチャ装置を得る。
【解決手段】パケットキャプチャ部102は、UI部101でパケットキャプチャとして指定されたフィルタ条件をパケット転送エンジン200に対して通知する。転送エンジン側パケットキャプチャ部202は、パケット転送時に、制御用プロセッサ100から通知されたフィルタ条件に一致するパケットをコピーして制御用プロセッサ100に出力する。パケットキャプチャ部102は、パケット転送エンジン200から出力されたパケットをキャプチャデータとして取得する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えばホームゲートウェイやルータ等のパケット転送機器で提供される、送受信したパケットを装置内に蓄積するパケットキャプチャ機能を実現するパケットキャプチャ装置に関するものである。
【背景技術】
【0002】
パケットキャプチャ機能とは、実際のネットワーク上で流れるトラフィックのパケットを採取して、メモリ上やディスク上のファイルとして格納する機能である。パケットキャプチャ機能は、ネットワーク上に障害が発生した場合に、どこに問題があるのかを解析したり、ネットワーク設計通りのトラフィック制御(QoS等)が実施できているのかを確認したりするために利用される。
【0003】
パケットキャプチャは、例えば、Wireshark(登録商標。以下記載を省略する。)に代表されるパケットキャプチャ用のソフトウェアを用いることで、一般的なパーソナルコンピュータ上でも実施することが可能である。しかしながら、パーソナルコンピュータではCPUの処理性能やディスク容量に制限があるため、近年主流となっているギガビットイーサネットのような高速ネットワークのネットワーク診断を行う目的としては、専用の外部キャプチャ装置が用いられることも多い。キャプチャしたデータはPCAP(Packet CAPture)形式のフォーマットで格納しておくことで、前述のWiresharkなどを使ってパケットごとにIPヘッダやTCP/UDPヘッダなど、各種プロトコルの情報を解析して詳細に表示可能である。
【0004】
ネットワーク上のパケット転送の障害の切り分けを目的として、パケット転送を実行するルータ装置内部に送受信パケットを記録するパケットキャプチャ機能を実装する形態が存在する。このようなルータ装置におけるパケットキャプチャ機能としては、例えば特許文献1で示されるような構成および動作で実現されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−034721号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来のパケットキャプチャ動作ではパケット転送エンジンを経由せず、全てのパケットを制御用プロセッサ経由で転送処理することで実現されるため、パケット転送エンジンの高速性を生かせず、また、制御用プロセッサ側の処理負荷が大きくなるなどの問題点があった。
【0007】
この発明は上記のような課題を解決するためになされたもので、制御用プロセッサの処理負荷の軽減を達成できると共に、高速なパケット転送を可能とすることができるパケットキャプチャ装置を得ることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係るパケットキャプチャ装置は、パケット転送を行うパケット転送エンジンと、制御用プロセッサとからなるパケットキャプチャシステムであって、パケット転送エンジンは、パケット転送時に、制御用プロセッサから通知されたフィルタ条件に一致するパケットをコピーして制御用プロセッサに出力する転送エンジン側パケットキャプチャ部を備え、制御用プロセッサは、パケットキャプチャとして指定されたフィルタ条件をパケット転送エンジンに対して通知するパケットキャプチャ部と、パケット転送エンジンから出力されたパケットを監視するキャプチャ用デバイスとを備え、パケットキャプチャ部は、キャプチャ用デバイスで受信したパケットをキャプチャデータとして取得するようにしたものである。
【発明の効果】
【0009】
この発明のパケットキャプチャ装置は、パケット転送エンジン側でパケットキャプチャを行い、これを制御用プロセッサ側でキャプチャデータとして取得するようにしたので、制御用プロセッサの処理負荷を軽減することができると共に、高速なパケット転送を可能とすることができる。
【図面の簡単な説明】
【0010】
【図1】この発明の実施の形態1によるパケットキャプチャ装置を示す構成図である。
【図2】この発明の実施の形態1によるパケットキャプチャ装置のフィルタ条件を示す説明図である。
【図3】この発明の実施の形態2によるパケットキャプチャ装置を示す構成図である。
【図4】この発明の実施の形態2によるパケットキャプチャ装置の第1のフィルタ条件を示す説明図である。
【図5】この発明の実施の形態2によるパケットキャプチャ装置の第2のフィルタ条件を示す説明図である。
【発明を実施するための形態】
【0011】
実施の形態1.
図1は、この発明の実施の形態1によるパケットキャプチャ装置を示す構成図である。
図1に示すパケットキャプチャ装置は、例えば高速ルータ機器に適用され、制御用プロセッサ100とパケット転送エンジン200とからなる。制御用プロセッサ100は、ルータ機器における各種の制御を行うためのプロセッサであり、本発明では、パケットのキャプチャ処理を制御するための機能を有するプロセッサである。制御用プロセッサ100は、UI(User Interface)部101、パケットキャプチャ部102、キャプチャ用デバイス103、キャプチャデータ格納部104を備えている。また、パケット転送エンジン200は、ルータ機器におけるネットワーク上のパケットの転送処理を行うための機能部であり、キャプチャ用フィルタ格納部201、転送エンジン側パケットキャプチャ部202を備えている。
【0012】
制御用プロセッサ100におけるUI部101は、ユーザインタフェースを管理する機能部であり、ユーザがキャプチャ条件を入力できるようGUI(Graphical User Interface)やCLI(Command Line Interface)を提供している。パケットキャプチャ部102は、UI部101で入力されたフィルタ条件をパケット転送エンジン200側のキャプチャ用フィルタ格納部201に格納すると共に、キャプチャ用デバイス103で検知されたパケットをキャプチャデータとしてキャプチャデータ格納部104に格納する機能を有している。キャプチャ用デバイス103は、パケット転送エンジン200における転送エンジン側パケットキャプチャ部202からパケットが出力されたかを監視し、出力された場合はこれを受信する機能部である。キャプチャデータ格納部104は、キャプチャ結果を保持するための記憶部である。
【0013】
パケット転送エンジン200におけるキャプチャ用フィルタ格納部201は、制御用プロセッサ100側から通知されたフィルタ条件を保持するための記憶部である。転送エンジン側パケットキャプチャ部202は、パケット転送エンジン200が転送するパケットをキャプチャ用フィルタ格納部201のフィルタ条件に基づいてキャプチャし、フィルタ条件に一致したパケットが存在した場合は、コピー部203によってコピーを行い、そのパケットデータを制御用プロセッサ100に出力する機能を有している。
【0014】
次に、実施の形態1のパケットキャプチャ装置の動作について説明する。
先ず、ユーザ操作について説明する。例えば、パケットのキャプチャデータを収集したいユーザが、UI部101が提供するGUIやCLIにより、図2に示したパケットキャプチャフィルタ条件を設定する。ユーザの入力したフィルタ条件は、UI部101、パケットキャプチャ部102を経由して、パケット転送エンジン200側のキャプチャ用フィルタ格納部201に格納される。
【0015】
パケット転送エンジン200では、制御用プロセッサ100から事前に設定されるフロー情報を用いてパケットの転送を行う際に、転送エンジン側パケットキャプチャ部202によりキャプチャ用フィルタ格納部201を参照する。転送エンジン側パケットキャプチャ部202は、転送しようとしているパケットがキャプチャ対象であるか否かをフィルタ条件のどれかに一致するかどうかで判断する。即ち、転送エンジン側パケットキャプチャ部202は、パケットのIPヘッダ部の送信元アドレス、宛先アドレス、上位プロトコル情報、UDP/TCPヘッダの送信元ポート番号、宛先ポート番号などの情報を抽出し、キャプチャ用フィルタ格納部201に格納されているフィルタ条件の各エントリ(図2参照)との比較処理を実行する。ここで、キャプチャ対象でないと判断されたパケットについてはそのままフロー情報に基づいた高速パケット転送処理を行う。一方、フィルタ条件のどれかと一致してキャプチャ対象と判断されたパケットは、転送エンジン側パケットキャプチャ部202におけるコピー部203でパケットのコピー処理を行い、元の受信パケットはそのままフロー情報に基づいた高速パケット転送処理を行う。また、コピー部203でコピーしたパケットは制御用プロセッサ100のキャプチャ用デバイス103宛に通知する。
【0016】
制御用プロセッサ100側のパケットキャプチャ部102は、キャプチャ用デバイス103を監視しており、パケット転送エンジン200側から通知されたパケットをキャプチャデータとしてPCAP形式のフォーマットでキャプチャデータ格納部104への格納処理を実行する。
【0017】
以上のように、実施の形態1のパケットキャプチャ装置によれば、パケット転送を行うパケット転送エンジンと、制御用プロセッサとからなるパケットキャプチャシステムであって、パケット転送エンジンは、パケット転送時に、制御用プロセッサから通知されたフィルタ条件に一致するパケットをコピーして制御用プロセッサに出力する転送エンジン側パケットキャプチャ部を備え、制御用プロセッサは、パケットキャプチャとして指定されたフィルタ条件をパケット転送エンジンに対して通知するパケットキャプチャ部と、パケット転送エンジンから出力されたパケットを監視するキャプチャ用デバイスとを備え、パケットキャプチャ部は、キャプチャ用デバイスで受信したパケットをキャプチャデータとして取得するようにしたので、高速にパケット転送を実行することができると共に、制御用プロセッサ側の処理負荷を上げることなく、キャプチャデータを保持することができる、などの効果がある。
【0018】
実施の形態2.
図3は、この発明の実施の形態2によるパケットキャプチャ装置を示す構成図である。
図3に示すパケットキャプチャ装置は、制御用プロセッサ100aとパケット転送エンジン200aとからなり、これらの基本的な機能は実施の形態1と同様である。制御用プロセッサ100aは、UI部101、パケットキャプチャ部102a、キャプチャ用デバイス103、キャプチャデータ格納部104、第1のキャプチャ用フィルタ格納部105を備えている。また、パケット転送エンジン200aは、第2のキャプチャ用フィルタ格納部201aと転送エンジン側パケットキャプチャ部202とからなる。
【0019】
制御用プロセッサ100aにおいて、UI部101、キャプチャ用デバイス103、キャプチャデータ格納部104の機能は実施の形態1と同様である。また、パケットキャプチャ部102aは、UI部101を介してパケットキャプチャとして指定されたフィルタ条件を第1のフィルタ条件として第1のキャプチャ用フィルタ格納部105に格納すると共に、第1のフィルタ条件よりも比較項目を少なくした(簡略化した)第2のフィルタ条件をパケット転送エンジン200aの第2のキャプチャ用フィルタ格納部201aに格納し、かつ、キャプチャ用デバイス103で受信したパケットの中から第1のフィルタ条件に一致するパケットをキャプチャデータとして取得するよう構成されている。図4は、第1のフィルタ条件を示す説明図であり、図5は、第2のフィルタ条件を示す説明図である。また、第1のキャプチャ用フィルタ格納部105は、パケットキャプチャとして指定されたフィルタ条件を保持するための記憶部である。
【0020】
パケット転送エンジン200aにおいて、第2のキャプチャ用フィルタ格納部201aと転送エンジン側パケットキャプチャ部202の基本的な機能は実施の形態1と同様であるが、第2のキャプチャ用フィルタ格納部201aに格納されるフィルタ条件が実施の形態1とは異なっている。実施の形態2では、第2のキャプチャ用フィルタ格納部201aに格納されるフィルタ条件は、第1のキャプチャ用フィルタ格納部105に格納される第1のフィルタ条件よりも比較項目が少ない第2のフィルタ条件(図5参照)である。転送エンジン側パケットキャプチャ部202の機能は実施の形態1と同様である。
【0021】
次に、実施の形態2のパケットキャプチャ装置の動作について説明する。
先ず、ユーザ操作について説明する。例えば、パケットのキャプチャデータを収集したいユーザが、UI部101が提供するGUIやCLIにより、図4に示したパケットキャプチャフィルタ条件を設定する。ユーザの入力したフィルタ条件は、UI部101を経由してパケットキャプチャ部102aに通知される。パケットキャプチャ部102aでは通知されたキャプチャフィルタを、例えば宛先情報のみに限定することで条件を簡略化した第2のフィルタ条件を生成してパケット転送エンジン200a第2のキャプチャ用フィルタ格納部201aに格納する。また、ユーザの入力したフィルタ条件を第1のフィルタ条件として第1のキャプチャ用フィルタ格納部105に格納する。例えば、図4に示された第1のフィルタ条件に比べて、図5に示された第2のフィルタ条件は、宛先IPアドレス、宛先ポート番号及びプロトコルといった必要最低限の項目だけとなっている。
【0022】
パケット転送エンジン200aでは、制御用プロセッサ100aから事前に設定されるフロー情報を用いてパケットの転送を行う際に、転送エンジン側パケットキャプチャ部202により第2のキャプチャ用フィルタ格納部201aに格納されている第2のフィルタ条件を参照する。転送エンジン側パケットキャプチャ部202は転送しようとしているパケットがキャプチャ対象であるか否かを第2のフィルタ条件のどれかに一致するかどうかで判断する。キャプチャ対象でないと判断されたパケットについてはそのままフロー情報に基づいた高速パケット転送処理を行う。
【0023】
第2のフィルタ条件のどれかと一致してキャプチャ対象と判断されたパケットは、転送エンジン側パケットキャプチャ部202のコピー部203でパケットのコピー処理を行い、元の受信パケットはそのままフロー情報に基づいた高速パケット転送処理を行う。コピー部203でコピーしたパケットはキャプチャ用デバイス103経由で制御用プロセッサ100aに通知される。
【0024】
制御用プロセッサ100a側のパケットキャプチャ部102aはキャプチャ用デバイス103を監視しており、パケット転送エンジン200a側から通知されたパケットを受信して、制御用プロセッサ100a側で保持する第1のフィルタ条件を参照する。パケットキャプチャ部102aは転送しようとしているパケットがキャプチャ対象であるか否かを第1のフィルタ条件のどれかに一致するかどうかで判断する。キャプチャ対象でないと判断されたパケットについてはそのまま廃棄する。一方、第1のフィルタ条件のどれかと一致してキャプチャ対象と判断されたパケットは、キャプチャデータとしてPCAP形式のフォーマットでキャプチャデータ格納部104への格納処理を実行する。
【0025】
以上のように、実施の形態2のパケットキャプチャ装置によれば、パケット転送を行うパケット転送エンジンと、制御用プロセッサとからなるパケットキャプチャシステムであって、制御用プロセッサは、パケットキャプチャとして指定されたフィルタ条件を第1のフィルタ条件として保持すると共に、第1のフィルタ条件よりも比較項目を少なくした第2のフィルタ条件をパケット転送エンジンに対して通知するパケットキャプチャ部と、パケット転送エンジンから出力されたパケットを監視するキャプチャ用デバイスとを備え、パケット転送エンジンは、パケット転送時に、制御用プロセッサから通知された第2のフィルタ条件に一致するパケットをコピーして制御用プロセッサに出力する転送エンジン側パケットキャプチャ部を備え、パケットキャプチャ部は、キャプチャ用デバイスで受信したパケットの中から第1のフィルタ条件に一致するパケットをキャプチャデータとして取得するようにしたので、パケットキャプチャを行う場合のパケット転送エンジン側のパケットキャプチャ部の処理負荷が軽減されるため、パケット転送の高速性をさらに高められるという効果がある。
【0026】
なお、上記各実施の形態ではパケットキャプチャ実施の一例として、パケット転送エンジン200(200a)の一箇所でのキャプチャ例を示したが、受信時、送信時、転送時など、複数の箇所で転送エンジン側パケットキャプチャ部202を配置してもよく、実施の形態1、2と同様の効果を奏する。
【0027】
また、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0028】
100,100a 制御用プロセッサ、101 UI部、102,102a パケットキャプチャ部、103 キャプチャ用デバイス、104 キャプチャデータ格納部、105 第1のキャプチャ用フィルタ格納部、200,200a パケット転送エンジン、201 キャプチャ用フィルタ格納部、201a 第2のキャプチャ用フィルタ格納部、202 転送エンジン側パケットキャプチャ部、203 コピー部。

【特許請求の範囲】
【請求項1】
パケット転送を行うパケット転送エンジンと、制御用プロセッサとからなるパケットキャプチャシステムであって、
前記パケット転送エンジンは、パケット転送時に、前記制御用プロセッサから通知されたフィルタ条件に一致するパケットをコピーして前記制御用プロセッサに出力する転送エンジン側パケットキャプチャ部を備え、
前記制御用プロセッサは、
パケットキャプチャとして指定されたフィルタ条件を前記パケット転送エンジンに対して通知するパケットキャプチャ部と、
前記パケット転送エンジンから出力されたパケットを監視するキャプチャ用デバイスとを備え、
前記パケットキャプチャ部は、前記キャプチャ用デバイスで受信したパケットをキャプチャデータとして取得することを特徴とするパケットキャプチャ装置。
【請求項2】
パケット転送を行うパケット転送エンジンと、制御用プロセッサとからなるパケットキャプチャシステムであって、
前記制御用プロセッサは、
パケットキャプチャとして指定されたフィルタ条件を第1のフィルタ条件として保持すると共に、当該第1のフィルタ条件よりも比較項目を少なくした第2のフィルタ条件を前記パケット転送エンジンに対して通知するパケットキャプチャ部と、前記パケット転送エンジンから出力されたパケットを監視するキャプチャ用デバイスとを備え、
前記パケット転送エンジンは、
パケット転送時に、前記制御用プロセッサから通知された第2のフィルタ条件に一致するパケットをコピーして前記制御用プロセッサに出力する転送エンジン側パケットキャプチャ部を備え、
前記パケットキャプチャ部は、前記キャプチャ用デバイスで受信したパケットの中から前記第1のフィルタ条件に一致するパケットをキャプチャデータとして取得することを特徴とするパケットキャプチャ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−156695(P2012−156695A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−12997(P2011−12997)
【出願日】平成23年1月25日(2011.1.25)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】