(57)【要約】【課題】ＮＡＰＴテーブルの数を推定する。【解決手段】パケットデータを取得し、そのパケットデータがセッションを開始するものである場合はＮＡＰＴテーブルの数を１つ増加し、通信終了後、ＮＡＰＴテーブルに設定された保有時間が経過した場合はＮＡＰＴテーブルの数を１つ減少する。これにより、ルータ内のＮＡＰＴテーブルの数を推定することができる。【選択図】図１
2014135719.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上を流れるパケットをキャプチャしたパケットデータからルータが保持するＮＡＰＴテーブルの数を推定するキャプチャデータ解析装置であって、
パケットデータを取得する取得手段と、
前記パケットデータが前記ルータによって中継される新たな通信を開始するパケットデータである場合はＮＡＰＴテーブルの数を１つ増加し、前記ルータによって中継される通信を終了するパケットデータである場合あるいはＮＡＰＴテーブルに設定された保有時間が経過した場合は前記ＮＡＰＴテーブルの数を１つ減少する推定手段と、
前記推定手段が推定した前記ＮＡＰＴテーブルの数を出力する出力手段と、
を有することを特徴とするキャプチャデータ解析装置。
【請求項２】
ネットワーク上を流れるパケットをキャプチャしたパケットデータからルータが保持するＮＡＰＴテーブルの数を推定するキャプチャデータ解析装置であって、
パケットデータを取得する取得手段と、
前記パケットデータが前記ルータによって中継される新たな通信を開始するパケットデータである場合はＮＡＰＴテーブルの数を１つ増加し、前記ルータによって中継される通信が終了したと判断される時から予め設定した保有時間が経過した場合は前記ＮＡＰＴテーブルの数を１つ減少する推定手段と、
前記推定手段が推定した前記ＮＡＰＴテーブルの数を出力する出力手段と、
を有することを特徴とするキャプチャデータ解析装置。
【請求項３】
前記出力手段は、前記ＮＡＰＴテーブルの数を時系列で出力することを特徴とする請求項１又は２記載のキャプチャデータ解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上を流れるパケットをキャプチャしたキャプチャデータを解析する技術に関する。
【背景技術】
【０００２】
ローカルエリアネットワークに接続された端末が外部のネットワークと通信する場合に、ローカルエリアネットワークと外部のネットワークとを接続するルータがローカルエリアネットワーク内の端末から送信されたパケットの送信元アドレスおよびポート番号をルータにプールされたグローバルアドレスおよびポート番号に変換して通信を行うＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）が利用される（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“ネットワークアドレス変換”、［online］、［平成２４年１１月１２日検索］、インターネット〈 URL：http://ja.wikipedia.org/wiki/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E5%A4%89%E6%8F%9B〉
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ルータはローカルエリアネットワークの変換前のプライベートＩＰアドレス及びポート番号と変換後のグローバルＩＰアドレス及びポート番号の組みをＮＡＰＴテーブルとして保持している。ＮＡＰＴテーブルを保持する数には上限があり、その上限を超える場合はＮＡＰＴテーブルが生成できずに通信エラーとなる。
【０００５】
ネットワーク障害の原因を究明するためにパケットをキャプチャしたキャプチャデータを解析することが有効であるが、ＮＡＰＴテーブルの数はルータ内に保持されており、キャプチャデータの解析では、ＮＡＰＴテーブルの数を知ることはできなかった。
【０００６】
本発明は、上記に鑑みてなされたものであり、ＮＡＰＴテーブルの数を推定することを目的とする。
【課題を解決するための手段】
【０００７】
第１の本発明に係るキャプチャデータ解析装置は、ネットワーク上を流れるパケットをキャプチャしたパケットデータからルータが保持するＮＡＰＴテーブルの数を推定するキャプチャデータ解析装置であって、パケットデータを取得する取得手段と、前記パケットデータが前記ルータによって中継される新たな通信を開始するパケットデータである場合はＮＡＰＴテーブルの数を１つ増加し、前記ルータによって中継される通信を終了するパケットデータである場合あるいはＮＡＰＴテーブルに設定された保有時間が経過した場合は前記ＮＡＰＴテーブルの数を１つ減少する推定手段と、前記推定手段が推定した前記ＮＡＰＴテーブルの数を出力する出力手段と、を有することを特徴とする。
【０００８】
第２の本発明に係るキャプチャデータ解析装置は、ネットワーク上を流れるパケットをキャプチャしたパケットデータからルータが保持するＮＡＰＴテーブルの数を推定するキャプチャデータ解析装置であって、パケットデータを取得する取得手段と、前記パケットデータが前記ルータによって中継される新たな通信を開始するパケットデータである場合はＮＡＰＴテーブルの数を１つ増加し、前記ルータによって中継される通信が終了したと判断される時から予め設定した保有時間が経過した場合は前記ＮＡＰＴテーブルの数を１つ減少する推定手段と、前記推定手段が推定した前記ＮＡＰＴテーブルの数を出力する出力手段と、を有することを特徴とする。
【０００９】
上記キャプチャデータ解析装置において、前記出力手段は、前記ＮＡＰＴテーブルの数を時系列で出力することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ＮＡＰＴテーブルの数を推定することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態におけるキャプチャデータ解析装置の構成を示す機能ブロック図である。
【図２】本実施の形態におけるキャプチャデータ解析装置の処理の流れを示すフローチャートである。
【図３】ＮＡＰＴテーブルを説明する図である。
【図４】ＮＡＰＴテーブルの数の推定結果を示すグラフである。
【図５】第１の実施の形態のキャプチャデータ解析装置が推定したテーブル数の変化と実際のテーブル数の変化を示すグラフである。
【図６】第２の実施の形態のキャプチャデータ解析装置が推定したテーブル数の変化と実際のテーブル数の変化を示すグラフである。
【発明を実施するための形態】
【００１２】
＜第１の実施の形態＞
以下、本発明の実施の形態について図面を用いて説明する。
【００１３】
図１は、本実施の形態におけるキャプチャデータ解析装置の構成を示す機能ブロック図である。同図に示すキャプチャデータ解析装置は、ユーザ宅内のネットワーク上を流れるパケットをキャプチャしたパケットデータを記載したキャプチャファイルをキャプチャファイル蓄積部２から読み出して解析する。キャプチャファイル蓄積部２には、ユーザ宅内でキャプチャされたパケットの数カ月分のキャプチャデータが蓄積される。キャプチャデータを記載したキャプチャファイルは、キャプチャファイルのサイズやキャプチャの期間に応じて複数に分割されてキャプチャファイル蓄積部２に蓄積される。キャプチャファイルには、キャプチャしたパケットデータがキャプチャ時刻とともに時系列順に記載される。また、キャプチャファイル内で一番最初のキャプチャデータのキャプチャ時刻を開始時刻、一番最後のキャプチャデータのキャプチャ時刻を終了時刻としたヘッダーを備える。以下、本実施の形態におけるキャプチャデータ解析装置について説明する。
【００１４】
図１に示すキャプチャデータ解析装置は、入力部１１、ファイル操作部１２、推定部１３、および出力部１４を備える。キャプチャデータ解析装置が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはキャプチャデータ解析装置が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００１５】
入力部１１は、処理対象のキャプチャファイルの格納場所を入力する。例えば、キャプチャファイル蓄積部２がキャプチャファイルを蓄積しているフォルダを入力し、そのフォルダに存在するキャプチャファイル全てを処理対象とする。あるいは、キャプチャファイルを複数選択して処理対象のキャプチャファイルを指定してもよい。
【００１６】
ファイル操作部１２は、処理対象のキャプチャファイルを時系列順に取得してキャプチャデータ解析装置が備えるメモリ上に読み込む。複数のキャプチャファイルが指定された場合、処理対象のキャプチャファイルをメモリ上に一度に全部読み込むことはできないので、キャプチャファイルを時系列順に取得してメモリ上に読み込み、メモリ上に読み込んだキャプチャファイルを推定部１３が処理した後は、メモリ上のデータを破棄して次のキャプチャファイルを読み込む。キャプチャファイルの時系列順は、キャプチャファイルの先頭に記述されたヘッダーの開始時刻、終了時刻を参照して判定する。あるいは、キャプチャファイルのファイル名が規則的に付けられる場合、例えばファイル名に通し番号が付与される場合、ファイル名に作成された日時を含む場合など、そのファイル名によりキャプチャファイルの時系列順を判定してもよい。キャプチャファイルの時系列順は、例えばキャプチャファイルのファイル名を時系列順に並べてファイル操作部１２が保持しておくとよい。
【００１７】
推定部１３は、ファイル操作部１２が読み込んだキャプチャファイルからパケットデータを取得し、ユーザ宅のローカルエリアネットワークを外部のネットワークに接続するルータ内のＮＡＰＴテーブルの数を推定する。具体的には、キャプチャファイルには、キャプチャしたパケットデータがキャプチャ時刻とともに時系列順に記載されているので、推定部１３は、キャプチャファイルの先頭から順にパケットデータを取得し、確立したＴＣＰセッションの数、送出されたＵＤＰパケットの数、終了したＴＣＰセッションの数、および利用されていないＮＡＰＴテーブルの経過時間からＮＡＰＴテーブルの数を推定する。メモリ上に読み込まれたキャプチャファイルの最後のキャプチャデータを処理し終えると、そのキャプチャファイルは不要となるのでメモリ上から破棄される。
【００１８】
出力部１４は、推定部１３によるＮＡＰＴテーブルの数の推定結果を出力する。
【００１９】
次に、本実施の形態におけるキャプチャデータ解析装置の動作について説明する。
【００２０】
図２は、本実施の形態におけるキャプチャデータ解析装置の処理の流れを示すフローチャートである。
【００２１】
まず、入力部１１がキャプチャファイルの格納場所を入力する（ステップＳ１１）。このとき、ログ生成の対象期間を示す抜き出し期間やオフセット時間を入力してもよい。抜き出し期間が指定された場合は、キャプチャファイルすべてからログを生成するのではなく、抜き出し期間内にキャプチャされたパケットデータからログを生成する。オフセット時間が指定された場合は、キャプチャファイルに記録されたパケットのキャプチャ時刻をオフセット時間で補正する。
【００２２】
続いて、ファイル操作部１２がキャプチャファイルを時系列順に取得してメモリ上に読み込む（ステップＳ１２）。
【００２３】
そして、推定部１３が読み込まれたキャプチャファイルに記載されたパケットデータを取得してＮＡＰＴテーブルの数を更新する（ステップＳ１３）。ＮＡＰＴテーブルの数を推定する処理の詳細については後述する。
【００２４】
読み込んだキャプチャファイルの処理が終了すると、処理対象となるキャプチャファイルを全て処理したか否か判定し（ステップＳ１４）、まだ処理していないキャプチャファイルが存在する場合は（ステップＳ１４のＮｏ）、ステップＳ１２に戻り次のキャプチャファイルを読み込む。このときメモリ上に読み込まれているキャプチャファイルは処理し終えているので破棄する。
【００２５】
処理対象となるキャプチャファイルを全て処理した場合は（ステップＳ１４のＹｅｓ）、推定部１３が推定したＮＡＰＴテーブルの数を出力部１４が出力する（ステップＳ１５）。
【００２６】
次に、推定部１３によるＮＡＰＴテーブルの数を推定する処理について説明する。
【００２７】
図３は、ＮＡＰＴテーブルを説明する図である。図３に示すユーザ宅内のネットワークには、ルータ３、端末４Ａ，４Ｂが接続されている。ルータ３は、ユーザ宅のローカルエリアネットワークを外部のネットワーク１００に接続する。ルータ３のネットワーク１００側のインタフェースにはグローバルＩＰアドレス(xxx.xxx.xxx.xxx)が付与され、ローカルエリアネットワーク側のインタフェースにはプライベートＩＰアドレス(10.0.0.1)が付与されている。端末４Ａ，４ＢそれぞれにはプライベートＩＰアドレス（10.0.0.2, 10.0.0.3）が付与されている。
【００２８】
端末４Ａ，４Ｂがネットワーク１００に対して通信を開始すると、ルータ３は、ネットワーク１００側へ送出されるパケットの送信元ＩＰアドレスと送信元ポート番号をルータ３のネットワーク側のＩＰアドレス(xxx.xxx.xxx.xxx)と空いているポート番号に変換してネットワーク１００側へ転送するとともに、送信元ＩＰアドレス、送信元ポート番号と変換後のＩＰアドレス、変換後のポート番号とを対応付けてＮＡＰＴテーブルを生成する。ローカルエリアネットワークとネットワーク１００との間の１つのＴＣＰセッションにつき１つのＮＡＰＴテーブルが追加され、ＴＣＰセッションが終了すると追加されたＮＡＰＴテーブルは削除される。また、ＵＤＰによる通信はセッションの概念がないため、ＮＡＰＴテーブルの保有時間が設定されて、保有時間経過後にＮＡＰＴテーブルが削除される。
【００２９】
図３に示すＮＡＰＴテーブルでは、端末４Ａから送出されたパケットの送信元ＩＰアドレス(10.0.0.2)、送信元ポート番号(10000)が、ＩＰアドレス(xxx.xxx.xxx.xxx)、ポート番号(20001)に変換されてネットワーク１００側に送出されている。ルータ３は、ネットワーク１００側からＩＰアドレス(xxx.xxx.xxx.xxx)、ポート番号(20001)を宛先とするパケットを受信すると、ＮＡＰＴテーブルを参照してパケットの宛先をＩＰアドレス(10.0.0.2)、ポート番号(10000)に書き換えてローカルエリアネットワーク側に転送する。
【００３０】
推定部１３は、キャプチャファイルから取得したパケットデータがローカルエリアネットワークとネットワーク１００との間の新たな通信を開始するパケットデータである場合は、ＮＡＰＴテーブルの数を１つ増加させ、ローカルエリアネットワークとネットワーク１００との間の通信の終了を示すパケットデータを取得したとき、あるいはＮＡＰＴテーブルに設定された保有時間が経過したときにＮＡＰＴテーブルの数を１つ減少させる。例えば、取得したパケットがローカルエリアネットワークからネットワーク１００へ送出されるＴＣＰのＳＹＮパケットであった場合、あるいはローカルエリアネットワークからネットワーク１００へ送出されるＵＤＰで送信元ＩＰアドレスと送信元ポート番号の組みがＮＡＰＴテーブルに存在しない場合、ルータ３においてＮＡＰＴテーブルが追加されたと推定してＮＡＰＴテーブルの数を１つ増加させる。ＵＤＰはセッションの概念がないため、新たな送信元（ＩＰアドレスとポート番号）からネットワーク１００へデータが送信された場合に、ローカルエリアネットワークとネットワーク１００との間で新たな通信が開始されるものとして扱う。また、取得したパケットがセッションの終了を示すＴＣＰのＦＩＮ／ＡＣＫパケットであった場合、あるいはＵＤＰによる通信でＮＡＰＴテーブルの保有時間が経過した場合、ルータ３においてＮＡＰＴテーブルが削除されたと推定してＮＡＰＴテーブルの数を１つ減少させる。なお、ＮＡＰＴテーブルの保有時間はルータ３の設定によるため、推定部１３にルータ３のＮＡＰＴテーブルの保有時間を予め設定しておく。
【００３１】
図４は、ＮＡＰＴテーブルの数の推定結果を示すグラフである。横軸に時間、縦軸にＮＡＰＴテーブルの数をとり、ＮＡＰＴテーブルの数を時系列で出力し、ＮＡＰＴテーブルの数の推移を示している。
【００３２】
以上説明したように、本実施の形態によれば、パケットデータを取得し、そのパケットデータがセッションを開始するものである場合はＮＡＰＴテーブルの数を１つ増加し、セッションを終了するものである場合あるいはＮＡＰＴテーブルに設定された保有時間が経過した場合はＮＡＰＴテーブルの数を１つ減少することにより、ＴＣＰセッションによるＮＡＰＴテーブルの数だけでなくＵＤＰによるＮＡＰＴテーブルの数も含むルータ内のＮＡＰＴテーブルの数を推定することができる。
【００３３】
＜第２の実施の形態＞
第１の実施の形態のキャプチャデータ解析装置は、ＴＣＰについては、セッション終了後（ＦＩＮ／ＡＣＫパケットを検出した時）すぐにＮＡＰＴテーブルの数を１つ減少させていた。しかしながら、ルータ３は、セッションの終了後すぐにＮＡＰＴテーブルを削除するのではなく、予め設定された保有時間経過後にＮＡＰＴテーブルを削除するものが多数である。
【００３４】
図５（ａ）は、第１の実施の形態のキャプチャデータ解析装置が推定したＮＡＰＴテーブル数の変化を示すグラフであり、図５（ｂ）は、そのときの実際のＮＡＰＴテーブル数の変化を示すグラフである。図５（ａ）の推定したテーブル数のピークは、図５（ｂ）の実際のテーブル数のピークの３分の１になっており、実際のテーブル数よりもかなり少なく推定されていた。このテーブル数の推定の誤りは、第１の実施の形態では、セッション終了後すぐにＮＡＰＴテーブル数を減少させていたことに起因すると考えられる。そこで、第２の実施の形態では、ＴＣＰについて、セッション終了後すぐにＮＡＰＴテーブル数を減少させず、さらに通信エラーやセッションのリセットを考慮してＮＡＰＴテーブル数を推定する。なお、第２の実施の形態のキャプチャデータ解析装置の構成は第１の実施の形態と同様であるので、ここでの説明は省略する。
【００３５】
キャプチャファイルから取得したパケットデータが、ローカルネットワークとネットワーク１００との間に新たな通信を開始するパケットデータである場合は、推定するＮＡＰＴテーブル数を増加させる。このとき、送信元ＩＰアドレスと送信元ポート番号の組みをＮＡＰＴテーブルとして保持する。
【００３６】
ルータ３が中継する通信が終了したと判断される時から予め設定された保有時間が経過した場合、つまり保有時間以上使われないＮＡＰＴテーブルが存在する場合は、推定するＮＡＰＴテーブル数を減少させる。ＴＣＰについては、セッションの終了を示すＦＩＮ／ＡＣＫパケットが送受信されると、それ以降、該当するＮＡＰＴテーブルを利用した通信は行われなくなる。また、ＴＣＰパケットのＲＳＴフラグがセットされてセッションが強制終了された場合や何らかの理由でＴＣＰの通信が行われなくなった場合も、該当するＮＡＰＴテーブルを利用した通信は行われなくなる。そこで、第２の実施の形態では、ＴＣＰについても第１の実施の形態のＵＤＰと同様に、保有時間以上使われないＮＡＰＴテーブルが存在する場合は、ルータ３においてそのＮＡＰＴテーブルが削除されたものとしてＮＡＰＴテーブル数を減少させる。なお、ルータ３に設定されたＮＡＰＴテーブルの保有時間と同じ値をキャプチャデータ解析装置の保有時間として設定しておく。
【００３７】
図６（ａ）は、第２の実施の形態のキャプチャデータ解析装置が推定したＮＡＰＴテーブル数の変化を示すグラフであり、図６（ｂ）は、そのときの実際のＮＡＰＴテーブル数の変化を示すグラフである。図６（ａ）の推定したテーブル数は、図６（ｂ）の実際のテーブル数と同程度となっており、第１の実施の形態と比べて、テーブル数の推定の誤りがかなり改善されている。
【００３８】
以上説明したように、本実施の形態によれば、パケットデータを取得し、そのパケットデータがセッションを開始するものである場合はＮＡＰＴテーブルの数を１つ増加し、保有時間以上使われないＮＡＰＴテーブルが存在する場合はＮＡＰＴテーブルの数を１つ減少することにより、ルータ内のＮＡＰＴテーブルの数をより正確に推定することができる。
【符号の説明】
【００３９】
１１…入力部
１２…ファイル操作部
１３…推定部
１４…出力部
２…キャプチャファイル蓄積部
３…ルータ
４Ａ，４Ｂ…端末
１００…ネットワーク
【図１】
2014135719.tif 000003
【図２】
2014135719.tif 000004
【図３】
2014135719.tif 000005
【図４】
2014135719.tif 000006
【図５】
2014135719.tif 000007
【図６】
2014135719.tif 000008