(57)【特許請求の範囲】
【請求項１】
パケット転送を行うパケット転送エンジンと、制御用プロセッサとからなるパケットキャプチャ装置であって、
前記制御用プロセッサは、
パケットキャプチャとして指定されたフィルタ条件を第１のフィルタ条件として保持すると共に、当該第１のフィルタ条件よりも比較項目を少なくした第２のフィルタ条件を前記パケット転送エンジンに対して通知するパケットキャプチャ部と、
前記パケット転送エンジンから出力されたパケットを監視するキャプチャ用デバイスとを備え、
前記パケット転送エンジンは、
パケット転送時に、前記制御用プロセッサから通知された第２のフィルタ条件に一致するパケットをコピーして前記制御用プロセッサに出力する転送エンジン側パケットキャプチャ部を備え、
前記パケットキャプチャ部は、前記キャプチャ用デバイスで受信したパケットの中から前記第１のフィルタ条件に一致するパケットをキャプチャデータとして取得することを特徴とするパケットキャプチャ装置。
【請求項２】
前記制御用プロセッサは、前記キャプチャデータをＰＣＡＰ（Ｐａｃｋｅｔ  ＣＡＰｔｕｒｅ）形式のフォーマットで格納するキャプチャデータ格納部を備えることを特徴とする請求項１記載のパケットキャプチャ装置。
【請求項３】
前記パケットキャプチャ部は、前記第１のフィルタ条件のうち、宛先に関する情報を選択し、前記第２のフィルタ条件とすることを特徴とする請求項１または請求項２記載のパケットキャプチャ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばホームゲートウェイやルータ等のパケット転送機器で提供される、送受信したパケットを装置内に蓄積するパケットキャプチャ機能を実現するパケットキャプチャ装置に関するものである。
【背景技術】
【０００２】
パケットキャプチャ機能とは、実際のネットワーク上で流れるトラフィックのパケットを採取して、メモリ上やディスク上のファイルとして格納する機能である。パケットキャプチャ機能は、ネットワーク上に障害が発生した場合に、どこに問題があるのかを解析したり、ネットワーク設計通りのトラフィック制御（ＱｏＳ等）が実施できているのかを確認したりするために利用される。
【０００３】
パケットキャプチャは、例えば、Ｗｉｒｅｓｈａｒｋ（登録商標。以下記載を省略する。）に代表されるパケットキャプチャ用のソフトウェアを用いることで、一般的なパーソナルコンピュータ上でも実施することが可能である。しかしながら、パーソナルコンピュータではＣＰＵの処理性能やディスク容量に制限があるため、近年主流となっているギガビットイーサネットのような高速ネットワークのネットワーク診断を行う目的としては、専用の外部キャプチャ装置が用いられることも多い。キャプチャしたデータはＰＣＡＰ（Ｐａｃｋｅｔ  ＣＡＰｔｕｒｅ）形式のフォーマットで格納しておくことで、前述のＷｉｒｅｓｈａｒｋなどを使ってパケットごとにＩＰヘッダやＴＣＰ／ＵＤＰヘッダなど、各種プロトコルの情報を解析して詳細に表示可能である。
【０００４】
ネットワーク上のパケット転送の障害の切り分けを目的として、パケット転送を実行するルータ装置内部に送受信パケットを記録するパケットキャプチャ機能を実装する形態が存在する。このようなルータ装置におけるパケットキャプチャ機能としては、例えば特許文献１で示されるような構成および動作で実現されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０３４７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のパケットキャプチャ動作ではパケット転送エンジンを経由せず、全てのパケットを制御用プロセッサ経由で転送処理することで実現されるため、パケット転送エンジンの高速性を生かせず、また、制御用プロセッサ側の処理負荷が大きくなるなどの問題点があった。
【０００７】
この発明は上記のような課題を解決するためになされたもので、制御用プロセッサの処理負荷の軽減を達成できると共に、高速なパケット転送を可能とすることができるパケットキャプチャ装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るパケットキャプチャ装置は、パケット転送を行うパケット転送エンジンと、制御用プロセッサとからなるパケットキャプチャ装置であって、制御用プロセッサは、パケットキャプチャとして指定されたフィルタ条件を第１のフィルタ条件として保持すると共に、第１のフィルタ条件よりも比較項目を少なくした第２のフィルタ条件をパケット転送エンジンに対して通知するパケットキャプチャ部と、パケット転送エンジンから出力されたパケットを監視するキャプチャ用デバイスとを備え、パケット転送エンジンは、パケット転送時に、制御用プロセッサから通知された第２のフィルタ条件に一致するパケットをコピーして制御用プロセッサに出力する転送エンジン側パケットキャプチャ部を備え、パケットキャプチャ部は、キャプチャ用デバイスで受信したパケットの中から第１のフィルタ条件に一致するパケットをキャプチャデータとして取得するようにしたものである。
【発明の効果】
【０００９】
この発明のパケットキャプチャ装置は、パケット転送エンジン側でパケットキャプチャを行い、これを制御用プロセッサ側でキャプチャデータとして取得するようにしたので、制御用プロセッサの処理負荷を軽減することができると共に、高速なパケット転送を可能とすることができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１によるパケットキャプチャ装置を示す構成図である。
【図２】この発明の実施の形態１によるパケットキャプチャ装置のフィルタ条件を示す説明図である。
【図３】この発明の実施の形態２によるパケットキャプチャ装置を示す構成図である。
【図４】この発明の実施の形態２によるパケットキャプチャ装置の第１のフィルタ条件を示す説明図である。
【図５】この発明の実施の形態２によるパケットキャプチャ装置の第２のフィルタ条件を示す説明図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は、この発明の実施の形態１によるパケットキャプチャ装置を示す構成図である。
図１に示すパケットキャプチャ装置は、例えば高速ルータ機器に適用され、制御用プロセッサ１００とパケット転送エンジン２００とからなる。制御用プロセッサ１００は、ルータ機器における各種の制御を行うためのプロセッサであり、本発明では、パケットのキャプチャ処理を制御するための機能を有するプロセッサである。制御用プロセッサ１００は、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部１０１、パケットキャプチャ部１０２、キャプチャ用デバイス１０３、キャプチャデータ格納部１０４を備えている。また、パケット転送エンジン２００は、ルータ機器におけるネットワーク上のパケットの転送処理を行うための機能部であり、キャプチャ用フィルタ格納部２０１、転送エンジン側パケットキャプチャ部２０２を備えている。
【００１２】
制御用プロセッサ１００におけるＵＩ部１０１は、ユーザインタフェースを管理する機能部であり、ユーザがキャプチャ条件を入力できるようＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）やＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）を提供している。パケットキャプチャ部１０２は、ＵＩ部１０１で入力されたフィルタ条件をパケット転送エンジン２００側のキャプチャ用フィルタ格納部２０１に格納すると共に、キャプチャ用デバイス１０３で検知されたパケットをキャプチャデータとしてキャプチャデータ格納部１０４に格納する機能を有している。キャプチャ用デバイス１０３は、パケット転送エンジン２００における転送エンジン側パケットキャプチャ部２０２からパケットが出力されたかを監視し、出力された場合はこれを受信する機能部である。キャプチャデータ格納部１０４は、キャプチャ結果を保持するための記憶部である。
【００１３】
パケット転送エンジン２００におけるキャプチャ用フィルタ格納部２０１は、制御用プロセッサ１００側から通知されたフィルタ条件を保持するための記憶部である。転送エンジン側パケットキャプチャ部２０２は、パケット転送エンジン２００が転送するパケットをキャプチャ用フィルタ格納部２０１のフィルタ条件に基づいてキャプチャし、フィルタ条件に一致したパケットが存在した場合は、コピー部２０３によってコピーを行い、そのパケットデータを制御用プロセッサ１００に出力する機能を有している。
【００１４】
次に、実施の形態１のパケットキャプチャ装置の動作について説明する。
先ず、ユーザ操作について説明する。例えば、パケットのキャプチャデータを収集したいユーザが、ＵＩ部１０１が提供するＧＵＩやＣＬＩにより、図２に示したパケットキャプチャフィルタ条件を設定する。ユーザの入力したフィルタ条件は、ＵＩ部１０１、パケットキャプチャ部１０２を経由して、パケット転送エンジン２００側のキャプチャ用フィルタ格納部２０１に格納される。
【００１５】
パケット転送エンジン２００では、制御用プロセッサ１００から事前に設定されるフロー情報を用いてパケットの転送を行う際に、転送エンジン側パケットキャプチャ部２０２によりキャプチャ用フィルタ格納部２０１を参照する。転送エンジン側パケットキャプチャ部２０２は、転送しようとしているパケットがキャプチャ対象であるか否かをフィルタ条件のどれかに一致するかどうかで判断する。即ち、転送エンジン側パケットキャプチャ部２０２は、パケットのＩＰヘッダ部の送信元アドレス、宛先アドレス、上位プロトコル情報、ＵＤＰ／ＴＣＰヘッダの送信元ポート番号、宛先ポート番号などの情報を抽出し、キャプチャ用フィルタ格納部２０１に格納されているフィルタ条件の各エントリ（図２参照）との比較処理を実行する。ここで、キャプチャ対象でないと判断されたパケットについてはそのままフロー情報に基づいた高速パケット転送処理を行う。一方、フィルタ条件のどれかと一致してキャプチャ対象と判断されたパケットは、転送エンジン側パケットキャプチャ部２０２におけるコピー部２０３でパケットのコピー処理を行い、元の受信パケットはそのままフロー情報に基づいた高速パケット転送処理を行う。また、コピー部２０３でコピーしたパケットは制御用プロセッサ１００のキャプチャ用デバイス１０３宛に通知する。
【００１６】
制御用プロセッサ１００側のパケットキャプチャ部１０２は、キャプチャ用デバイス１０３を監視しており、パケット転送エンジン２００側から通知されたパケットをキャプチャデータとしてＰＣＡＰ形式のフォーマットでキャプチャデータ格納部１０４への格納処理を実行する。
【００１７】
以上のように、実施の形態１のパケットキャプチャ装置によれば、パケット転送を行うパケット転送エンジンと、制御用プロセッサとからなるパケットキャプチャシステムであって、パケット転送エンジンは、パケット転送時に、制御用プロセッサから通知されたフィルタ条件に一致するパケットをコピーして制御用プロセッサに出力する転送エンジン側パケットキャプチャ部を備え、制御用プロセッサは、パケットキャプチャとして指定されたフィルタ条件をパケット転送エンジンに対して通知するパケットキャプチャ部と、パケット転送エンジンから出力されたパケットを監視するキャプチャ用デバイスとを備え、パケットキャプチャ部は、キャプチャ用デバイスで受信したパケットをキャプチャデータとして取得するようにしたので、高速にパケット転送を実行することができると共に、制御用プロセッサ側の処理負荷を上げることなく、キャプチャデータを保持することができる、などの効果がある。
【００１８】
実施の形態２．
図３は、この発明の実施の形態２によるパケットキャプチャ装置を示す構成図である。
図３に示すパケットキャプチャ装置は、制御用プロセッサ１００ａとパケット転送エンジン２００ａとからなり、これらの基本的な機能は実施の形態１と同様である。制御用プロセッサ１００ａは、ＵＩ部１０１、パケットキャプチャ部１０２ａ、キャプチャ用デバイス１０３、キャプチャデータ格納部１０４、第１のキャプチャ用フィルタ格納部１０５を備えている。また、パケット転送エンジン２００ａは、第２のキャプチャ用フィルタ格納部２０１ａと転送エンジン側パケットキャプチャ部２０２とからなる。
【００１９】
制御用プロセッサ１００ａにおいて、ＵＩ部１０１、キャプチャ用デバイス１０３、キャプチャデータ格納部１０４の機能は実施の形態１と同様である。また、パケットキャプチャ部１０２ａは、ＵＩ部１０１を介してパケットキャプチャとして指定されたフィルタ条件を第１のフィルタ条件として第１のキャプチャ用フィルタ格納部１０５に格納すると共に、第１のフィルタ条件よりも比較項目を少なくした（簡略化した）第２のフィルタ条件をパケット転送エンジン２００ａの第２のキャプチャ用フィルタ格納部２０１ａに格納し、かつ、キャプチャ用デバイス１０３で受信したパケットの中から第１のフィルタ条件に一致するパケットをキャプチャデータとして取得するよう構成されている。図４は、第１のフィルタ条件を示す説明図であり、図５は、第２のフィルタ条件を示す説明図である。また、第１のキャプチャ用フィルタ格納部１０５は、パケットキャプチャとして指定されたフィルタ条件を保持するための記憶部である。
【００２０】
パケット転送エンジン２００ａにおいて、第２のキャプチャ用フィルタ格納部２０１ａと転送エンジン側パケットキャプチャ部２０２の基本的な機能は実施の形態１と同様であるが、第２のキャプチャ用フィルタ格納部２０１ａに格納されるフィルタ条件が実施の形態１とは異なっている。実施の形態２では、第２のキャプチャ用フィルタ格納部２０１ａに格納されるフィルタ条件は、第１のキャプチャ用フィルタ格納部１０５に格納される第１のフィルタ条件よりも比較項目が少ない第２のフィルタ条件（図５参照）である。転送エンジン側パケットキャプチャ部２０２の機能は実施の形態１と同様である。
【００２１】
次に、実施の形態２のパケットキャプチャ装置の動作について説明する。
先ず、ユーザ操作について説明する。例えば、パケットのキャプチャデータを収集したいユーザが、ＵＩ部１０１が提供するＧＵＩやＣＬＩにより、図４に示したパケットキャプチャフィルタ条件を設定する。ユーザの入力したフィルタ条件は、ＵＩ部１０１を経由してパケットキャプチャ部１０２ａに通知される。パケットキャプチャ部１０２ａでは通知されたキャプチャフィルタを、例えば宛先情報のみに限定することで条件を簡略化した第２のフィルタ条件を生成してパケット転送エンジン２００ａ第２のキャプチャ用フィルタ格納部２０１ａに格納する。また、ユーザの入力したフィルタ条件を第１のフィルタ条件として第１のキャプチャ用フィルタ格納部１０５に格納する。例えば、図４に示された第１のフィルタ条件に比べて、図５に示された第２のフィルタ条件は、宛先ＩＰアドレス、宛先ポート番号及びプロトコルといった必要最低限の項目だけとなっている。
【００２２】
パケット転送エンジン２００ａでは、制御用プロセッサ１００ａから事前に設定されるフロー情報を用いてパケットの転送を行う際に、転送エンジン側パケットキャプチャ部２０２により第２のキャプチャ用フィルタ格納部２０１ａに格納されている第２のフィルタ条件を参照する。転送エンジン側パケットキャプチャ部２０２は転送しようとしているパケットがキャプチャ対象であるか否かを第２のフィルタ条件のどれかに一致するかどうかで判断する。キャプチャ対象でないと判断されたパケットについてはそのままフロー情報に基づいた高速パケット転送処理を行う。
【００２３】
第２のフィルタ条件のどれかと一致してキャプチャ対象と判断されたパケットは、転送エンジン側パケットキャプチャ部２０２のコピー部２０３でパケットのコピー処理を行い、元の受信パケットはそのままフロー情報に基づいた高速パケット転送処理を行う。コピー部２０３でコピーしたパケットはキャプチャ用デバイス１０３経由で制御用プロセッサ１００ａに通知される。
【００２４】
制御用プロセッサ１００ａ側のパケットキャプチャ部１０２ａはキャプチャ用デバイス１０３を監視しており、パケット転送エンジン２００ａ側から通知されたパケットを受信して、制御用プロセッサ１００ａ側で保持する第１のフィルタ条件を参照する。パケットキャプチャ部１０２ａは転送しようとしているパケットがキャプチャ対象であるか否かを第１のフィルタ条件のどれかに一致するかどうかで判断する。キャプチャ対象でないと判断されたパケットについてはそのまま廃棄する。一方、第１のフィルタ条件のどれかと一致してキャプチャ対象と判断されたパケットは、キャプチャデータとしてＰＣＡＰ形式のフォーマットでキャプチャデータ格納部１０４への格納処理を実行する。
【００２５】
以上のように、実施の形態２のパケットキャプチャ装置によれば、パケット転送を行うパケット転送エンジンと、制御用プロセッサとからなるパケットキャプチャシステムであって、制御用プロセッサは、パケットキャプチャとして指定されたフィルタ条件を第１のフィルタ条件として保持すると共に、第１のフィルタ条件よりも比較項目を少なくした第２のフィルタ条件をパケット転送エンジンに対して通知するパケットキャプチャ部と、パケット転送エンジンから出力されたパケットを監視するキャプチャ用デバイスとを備え、パケット転送エンジンは、パケット転送時に、制御用プロセッサから通知された第２のフィルタ条件に一致するパケットをコピーして制御用プロセッサに出力する転送エンジン側パケットキャプチャ部を備え、パケットキャプチャ部は、キャプチャ用デバイスで受信したパケットの中から第１のフィルタ条件に一致するパケットをキャプチャデータとして取得するようにしたので、パケットキャプチャを行う場合のパケット転送エンジン側のパケットキャプチャ部の処理負荷が軽減されるため、パケット転送の高速性をさらに高められるという効果がある。
【００２６】
なお、上記各実施の形態ではパケットキャプチャ実施の一例として、パケット転送エンジン２００（２００ａ）の一箇所でのキャプチャ例を示したが、受信時、送信時、転送時など、複数の箇所で転送エンジン側パケットキャプチャ部２０２を配置してもよく、実施の形態１、２と同様の効果を奏する。
【００２７】
また、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００２８】
１００，１００ａ  制御用プロセッサ、１０１  ＵＩ部、１０２，１０２ａ  パケットキャプチャ部、１０３  キャプチャ用デバイス、１０４  キャプチャデータ格納部、１０５  第１のキャプチャ用フィルタ格納部、２００，２００ａ  パケット転送エンジン、２０１  キャプチャ用フィルタ格納部、２０１ａ  第２のキャプチャ用フィルタ格納部、２０２  転送エンジン側パケットキャプチャ部、２０３  コピー部。
【図１】
0005583038.tif 000002
【図２】
0005583038.tif 000003
【図３】
0005583038.tif 000004
【図４】
0005583038.tif 000005
【図５】
0005583038.tif 000006