IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7323782パケット解析プログラム、パケット解析方法およびパケット解析装置
<>
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図1
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図2
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図3
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図4
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図5
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図6
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図7
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図8
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図9
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図10
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図11
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図12
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図13
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図14
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図15
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図16
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図17
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図18
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図19
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図20
  • 特許-パケット解析プログラム、パケット解析方法およびパケット解析装置 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-01
(45)【発行日】2023-08-09
(54)【発明の名称】パケット解析プログラム、パケット解析方法およびパケット解析装置
(51)【国際特許分類】
   H04L 43/0864 20220101AFI20230802BHJP
【FI】
H04L43/0864
【請求項の数】 11
(21)【出願番号】P 2019131130
(22)【出願日】2019-07-16
(65)【公開番号】P2021016133
(43)【公開日】2021-02-12
【審査請求日】2022-04-07
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】岡田 純代
(72)【発明者】
【氏名】上野 仁
(72)【発明者】
【氏名】飯塚 史之
(72)【発明者】
【氏名】荻原 一隆
(72)【発明者】
【氏名】李 忠翰
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特開2008-283621(JP,A)
【文献】特開2012-039565(JP,A)
【文献】特開2005-184580(JP,A)
【文献】特開2017-139567(JP,A)
【文献】特開2012-134614(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/00-43/55
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
第1の通信装置と第1のスイッチを経由して接続され、第2の通信装置と第2のスイッチを経由して接続されて、パケット通信の中継を行う中継装置に対して、
前記第1のスイッチを通じて前記第1の通信装置と前記中継装置とのパケット往復で発生する複数の第1の遅延時間を取得し
前記第2のスイッチを通じて前記第1の通信装置と前記中継装置とのパケット往復で発生する複数の第2の遅延時間を取得し、
前記第1の遅延時間および前記第2の遅延時間の各々を遅延時間の大きさにもとづいてソートして、ソート後の順番が同じ前記第1の遅延時間と前記第2の遅延時間との差を求めるソート遅延算出によって装置遅延を算出する、
処理を実行させるパケット解析プログラム。
【請求項2】
前記処理は、所定期間で算出した前記装置遅延のうちから装置遅延最大値を検出して前記装置遅延最大値が所定閾値以上の出現頻度または割合が所定閾値以上になる場合、前記中継装置が過負荷状態にあることを検知する請求項1記載のパケット解析プログラム。
【請求項3】
前記処理は、
所定期間に取得した複数の前記第1の遅延時間の第1のばらつき状態、および前記所定期間に取得した複数の前記第2の遅延時間の第2のばらつき状態が特定ばらつき状態でない場合、前記ソート遅延算出によって前記装置遅延を算出し、
前記第1のばらつき状態および前記第2のばらつき状態が前記特定ばらつき状態である場合、複数の前記第1の遅延時間の第1の平均値と、複数の前記第2の遅延時間の第2の平均値との差を求める平均遅延算出によって前記装置遅延を算出する請求項1記載のパケット解析プログラム。
【請求項4】
前記処理は、
第1の時間で取得した複数の前記第1の遅延時間から複数の第1の最小値を検出して、前記第1の最小値のうちの最小値である第2の最小値を取得し、
前記第1の時間で取得した複数の前記第1の遅延時間から複数の第1の最大値を検出して、前記第1の最大値のうちの最大値である第2の最大値を取得し、
第2の時間で取得した複数の前記第1の遅延時間のうちの第3の最小値と、前記第2の時間で取得した複数の前記第1の遅延時間のうちの第3の最大値とが共に、前記第2の最小値から前記第2の最大値との間の範囲内に存在する場合、前記第1の時間から前記第2の時間までの前記所定期間において、前記第1のばらつき状態は、前記特定ばらつき状態であると判定する、
請求項3記載のパケット解析プログラム。
【請求項5】
前記処理は、
第1の時間で取得した複数の前記第1の遅延時間のうちの最小値と、前記第1の時間で取得した複数の前記第1の遅延時間のうちの最大値との差分値である複数の第1の差分値を算出し、
前記第1の差分値のうちの最大差分値を検出し、
第2の時間で取得した複数の前記第1の遅延時間のうちの最小値と、前記第2の時間で取得した複数の前記第1の遅延時間のうちの最大値との差分値である第2の差分値を算出し、
前記第2の差分値が前記最大差分値未満の場合、前記第1の時間から前記第2の時間までの前記所定期間において、前記第1のばらつき状態は、前記特定ばらつき状態であると判定する、
請求項3記載のパケット解析プログラム。
【請求項6】
前記処理は、
第1の時間で取得した複数の前記第1の遅延時間から第1の統計情報を算出し、
前記第1の統計情報のうちの最大値を検出し、
第2の時間で取得した複数の前記第1の遅延時間から第2の統計情報を算出し、
前記第2の統計情報が前記最大値未満の場合、前記第1の時間から前記第2の時間までの前記所定期間において、前記第1のばらつき状態は、前記特定ばらつき状態であると判定
前記第1の統計情報および前記第2の統計情報として、前記第1の遅延時間の分散または標準偏差を算出する、
請求項3記載のパケット解析プログラム。
【請求項7】
コンピュータが、
第1の通信装置と第1のスイッチを経由して接続され、第2の通信装置と第2のスイッチを経由して接続されて、パケット通信の中継を行う中継装置に対して、
前記第1のスイッチを通じて前記第1の通信装置と前記中継装置とのパケット往復で発生する複数の第1の遅延時間を取得し
前記第2のスイッチを通じて前記第1の通信装置と前記中継装置とのパケット往復で発生する複数の第2の遅延時間を取得し、
前記第1の遅延時間および前記第2の遅延時間の各々を遅延時間の大きさにもとづいてソートして、ソート後の順番が同じ前記第1の遅延時間と前記第2の遅延時間との差を求めるソート遅延算出によって装置遅延を算出する、
パケット解析方法。
【請求項8】
第1の通信装置と第1のスイッチを経由して接続され、第2の通信装置と第2のスイッチを経由して接続されて、パケット通信の中継を行う中継装置に対して、前記第1のスイッチを通じて前記第1の通信装置と前記中継装置とのパケット往復で発生する複数の第1の遅延時間を取得し前記第2のスイッチを通じて前記第1の通信装置と前記中継装置とのパケット往復で発生する複数の第2の遅延時間とを取得し、前記第1の遅延時間および前記第2の遅延時間の各々を遅延時間の大きさにもとづいてソートして、ソート後の順番が同じ前記第1の遅延時間と前記第2の遅延時間との差を求めるソート遅延算出によって装置遅延を算出する制御部、
を有するパケット解析装置。
【請求項9】
前記処理は、
第1の時間で取得した複数の前記第2の遅延時間から複数の第1の最小値を検出して、前記第1の最小値のうちの最小値である第2の最小値を取得し、
前記第1の時間で取得した複数の前記第2の遅延時間から複数の第1の最大値を検出して、前記第1の最大値のうちの最大値である第2の最大値を取得し、
第2の時間で取得した複数の前記第2の遅延時間のうちの第3の最小値と、前記第2の時間で取得した複数の前記第2の遅延時間のうちの第3の最大値とが共に、前記第2の最小値から前記第2の最大値との間の範囲内に存在する場合、前記第1の時間から前記第2の時間までの前記所定期間において、前記第2のばらつき状態は、前記特定ばらつき状態であると判定する、
請求項3記載のパケット解析プログラム。
【請求項10】
前記処理は、
第1の時間で取得した複数の前記第2の遅延時間のうちの最小値と、前記第1の時間で取得した複数の前記第2の遅延時間のうちの最大値との差分値である複数の第1の差分値を算出し、
前記第1の差分値のうちの最大差分値を検出し、
第2の時間で取得した複数の前記第2の遅延時間のうちの最小値と、前記第2の時間で取得した複数の前記第2の遅延時間のうちの最大値との差分値である第2の差分値を算出し、
前記第2の差分値が前記最大差分値未満の場合、前記第1の時間から前記第2の時間までの前記所定期間において、前記第2のばらつき状態は、前記特定ばらつき状態であると判定する、
請求項3記載のパケット解析プログラム。
【請求項11】
前記処理は、
第1の時間で取得した複数の前記第2の遅延時間から第1の統計情報を算出し、
前記第1の統計情報のうちの最大値を検出し、
第2の時間で取得した複数の前記第2の遅延時間から第2の統計情報を算出し、
前記第2の統計情報が前記最大値未満の場合、前記第1の時間から前記第2の時間までの前記所定期間において、前記第2のばらつき状態は、前記特定ばらつき状態であると判定し、
前記第1の統計情報および前記第2の統計情報として、前記第2の遅延時間の分散または標準偏差を算出する、
請求項3記載のパケット解析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット解析プログラム、パケット解析方法およびパケット解析装置に関する。
【背景技術】
【0002】
通信ネットワークのセキュリティ対策の1つにファイアウォール(FW:Firewall)装置が利用されている。ファイアウォール装置は、パケット中継点に設置されてパケット監視を行うことで、ウイルス感染による内部ネットワークからのデータ漏洩や、外部ネットワークからのウイルスファイルの転送による攻撃等を検知して遮断する。
【0003】
パケット監視に関連する技術としては、例えば、プローブから提供されたパケット情報および識別情報にもとづき、パケットが伝送された情報処理システムを識別してパケットの処理遅延を監視する技術が提案されている。また、装置間の通信に係る特性値を算出し、特性値の正常性を判定することによって、装置間の通信品質の劣化原因箇所を推定する技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-76780号公報
【文献】特開2014-179938号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ファイアウォール装置は、上記のような防御処理が原因で装置遅延が発生すると過負荷状態になる場合がある。ファイアウォール装置が過負荷状態のままの運用が続くと、正常な通信に対する通信品質が劣化する可能性がある。このため、ファイアウォール装置の装置遅延を精度よく算出できる技術が要望されている。
【0006】
1つの側面では、本発明は、装置遅延を精度よく算出することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、パケット解析プログラムが提供される。パケット解析プログラムは、コンピュータに、第1の通信装置と第1のスイッチを経由して接続され、第2の通信装置と第2のスイッチを経由して接続されて、パケット通信の中継を行う中継装置に対して、第1のスイッチを通じて第1の通信装置と中継装置とのパケット往復で発生する複数の第1の遅延時間を取得し第2のスイッチを通じて第1の通信装置と中継装置とのパケット往復で発生する複数の第2の遅延時間を取得し、第1の遅延時間および第2の遅延時間の各々を遅延時間の大きさにもとづいてソートして、ソート後の順番が同じ第1の遅延時間と第2の遅延時間との差を求めるソート遅延算出によって装置遅延を算出する処理を実行させる。
【発明の効果】
【0008】
1側面によれば、装置遅延を精度よく算出することができる。
【図面の簡単な説明】
【0009】
図1】第1の実施の形態のパケット解析システムの一例を説明するための図である。
図2】第2の実施の形態のパケット解析システムの一例を示す図である。
図3】コネクションの対応付けの一例を説明するための図である。
図4】コネクションの対応付けの一例を説明するための図である。
図5】パケット解析装置のハードウェアの一例を示す図である。
図6】パケット解析装置の機能ブロックの一例を示す図である。
図7】FW遅延算出の一例を説明するための図である(ソート遅延算出)。
図8】FW遅延算出の一例を説明するための図である(平均遅延算出)。
図9】ばらつきが小さい場合のFW遅延算出のシミュレーション結果を示す図である。
図10】ばらつきが大きい場合のFW遅延算出のシミュレーション結果を示す図である。
図11】ばらつき判定処理の一例を説明するための図である。
図12】ばらつき判定処理の一例を説明するための図である。
図13】ばらつき判定処理の一例を説明するための図である。
図14】ばらつき判定処理の一例を説明するための図である。
図15】パケット解析装置の動作を示すフローチャートである。
図16】ばらつき判定の動作を示すフローチャートである。
図17】ばらつき判定の動作を示すフローチャートである。
図18】ばらつき判定の動作を示すフローチャートである。
図19】ばらつき判定の動作を示すフローチャートである。
図20】FW遅延算出期間の一例を示す図である。
図21】過負荷判定期間の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態について図1を用いて説明する。図1は、第1の実施の形態のパケット解析システムの一例を説明するための図である。パケット解析システム1-1は、通信装置2、3、中継装置4、スイッチsw1、sw2およびパケット解析装置1を備える。
【0011】
中継装置4は、通信装置2、3のパケット通信の中継を行う。また、通信装置2と中継装置4との伝送路上にはスイッチsw1が設けられ、通信装置3と中継装置4との伝送路上にはスイッチsw2が設けられている。パケット解析装置1は、スイッチsw1、sw2に接続されており、スイッチsw1、sw2を通じて中継装置4を流れるパケットを取得してパケット解析を行う。
【0012】
パケット解析装置1は、制御部1aと記憶部1bを備える。制御部1aは、通信装置2と中継装置4とのパケット往復で発生する第1の遅延時間と、通信装置3と中継装置4とのパケット往復で発生する第2の遅延時間とを取得する。第1、第2の遅延時間は、例えば、信号を発してから応答が返って来るまでの時間であるRTT(Round-Trip Time)である。
【0013】
制御部1aは、第1の遅延時間および第2の遅延時間の各々を遅延時間の大きさにもとづいてソートして、ソート後の順番が同じ第1の遅延時間と第2の遅延時間との差を求めるソート遅延算出によって装置遅延を算出する。記憶部1bは、取得した遅延時間や遅延算出結果等のパケット解析に関するデータを記憶する。
【0014】
図1に示す例を用いて動作の流れを説明する。
〔ステップS1〕中継装置4の装置遅延が、以下のステップS1aからステップS1fの動作または処理を通じて算出される。
【0015】
〔ステップS1a〕通信装置3は、パケットを送信する。パケットは、スイッチsw2を介して中継装置4へ送信される。
〔ステップS1b〕中継装置4は、パケットを受信するとパケットを中継送信する。パケットは、スイッチsw1を介して通信装置2へ送信される。
【0016】
〔ステップS1c〕パケットを正常受信した通信装置2は、ACK(ACKパケット)を送信する。ACKは、スイッチsw1を介して中継装置4へ送信される。
〔ステップS1d〕中継装置4は、ACKを受信するとACKを中継送信する。ACKは、スイッチsw2を介して通信装置3へ送信される。
【0017】
〔ステップS1e〕制御部1aは、スイッチsw1を通じてパケットをキャプチャした時刻と、スイッチsw1を通じてACKをキャプチャした時刻とにもとづいて、遅延時間t1(第1の遅延時間)を取得する。遅延時間t1は、中継装置4がパケットを受信してからACKを受信するまでのRTTに相当する。
【0018】
〔ステップS1f〕制御部1aは、スイッチsw2を通じてパケットをキャプチャした時刻と、スイッチsw2を通じてACKをキャプチャした時刻とにもとづいて、遅延時間t2(第2の遅延時間)を取得する。遅延時間t2は、中継装置4がパケットを受信してからACKを受信するまでのRTTに相当する。
【0019】
〔ステップS2〕ステップS1の処理によって、複数の遅延時間t1および複数の遅延時間t2が取得されたとする。制御部1aは、遅延時間t1をソートし、かつ遅延時間t2をソートする。
【0020】
〔ステップS3〕制御部1aは、ソート後の順番が同じ遅延時間t1と遅延時間t2との差を求めるソート遅延算出によって装置遅延Tを算出する。
例えば、制御部1aは、遅延時間t1を小さい順にソートし、かつ遅延時間t2を小さい順にソートして、ソート後の順番が同じ遅延時間t1と遅延時間t2との差を求めて装置遅延Tを算出する。
【0021】
このように、パケット解析装置1では、中継装置4の前後でキャプチャしたパケットから、通信装置2と中継装置4間で生じる遅延時間t1と、通信装置3と中継装置4間で生じる遅延時間t2とを取得する。そして、取得した遅延時間t1、t2をそれぞれソートし、ソート後の順番が同じ遅延時間t1、t2との差を求めて装置遅延を算出する。
【0022】
このような制御によって、パケット解析装置1は、後述するコネクションの対応付けを不要にして、中継装置4で生じる装置遅延を、コネクションの対応付けを行った場合と比較して劣ることなく精度よく算出することができる。
【0023】
[第2の実施の形態]
次に第2の実施の形態について説明する。第2の実施の形態は、中継装置をファイアウォール装置(以下、FW装置と表記)とし、FW装置で生じる遅延にもとづきFW装置の過負荷状態を検知するものである。なお、以降では、FW装置に生じる遅延をFW遅延と呼ぶ場合がある。
【0024】
<システム構成>
図2は、第2の実施の形態のパケット解析システムの一例を示す図である。パケット解析システム1-2は、ホストa1、・・・、a6、ホストb1、・・・、b3、アクセス網2a、コア網2b、スイッチsw1、sw2、インターネット3a、FW装置40およびパケット解析装置10を備える。
【0025】
イントラネット側には、ホストa1、・・・、a6、アクセス網2a、コア網2b、スイッチsw1が位置し、インターネット側には、スイッチsw2、インターネット3aおよびホストb1、・・・、b3が位置する。
【0026】
各拠点21、・・・、23は、アクセス網2aに接続され、拠点21にはホストa1、a2が存在し、拠点22にはホストa3、a4が存在し、拠点23にはホストa5、a6が存在する。
【0027】
コア網2bは、アクセス網2aおよびスイッチsw1に接続される。インターネット3aは、ホストb1、・・・、b3およびスイッチsw2に接続される。FW装置40およびパケット解析装置10は、スイッチsw1、sw2に接続される。
【0028】
パケット解析装置10は、イントラネット側からFW装置40へ流れるパケットを、スイッチsw1を介して取得する。同様にして、インターネット側からFW装置40へ流れるパケットを、スイッチsw2を介して取得する。そして、パケット解析装置10は、取得したパケットにもとづいて、FW装置40に生じるFW遅延を算出する。
【0029】
<コネクション毎のFW遅延>
FW遅延を求める場合、FW装置40の前後でキャプチャしたパケットのタイムスタンプでFW遅延を算出すると、計算量が膨大になるため実用的ではない。このため、コネクション毎にFW遅延を算出する手法が考えられる。この場合、FW装置40の前段に存在するコネクションと、FW装置40の後段に存在するコネクションとの対応付けが求められる。
【0030】
図3は、コネクションの対応付けの一例を説明するための図である。1台のイントラネット側ホストと、1台のインターネット側ホストとが1対1で通信する場合(単一コネクションの場合)を示している。
【0031】
通常、コネクションの対応関係は、ソース側のIPアドレス/ポート番号と、デスティネーション側のIPアドレス/ポート番号とによって対応付けられる。また、FW装置40においては、イントラネット側ホストのIPアドレス/ポート番号のNAPT(Network Address Port Translation)変換が行われる。
【0032】
ここで、スイッチsw1でキャプチャされたパケットp1、p2、p3において、パケットp1のイントラネット側ホストのIPアドレス/ポート番号は(a:1)であり、インターネット側ホストのIPアドレス/ポート番号は(X:100)である。
【0033】
また、パケットp2は、イントラネット側ホストのIPアドレス/ポート番号は(a:2)であり、インターネット側ホストのIPアドレス/ポート番号は(Y:200)である。さらに、パケットp3は、イントラネット側ホストのIPアドレス/ポート番号は(b:101)であり、インターネット側ホストのIPアドレス/ポート番号は(Z:300)である。
【0034】
一方、パケットp1、p2、p3は、FW装置40によってイントラネット側ホストのIPアドレス/ポート番号がNAPT変換される。NAPT変換後にスイッチsw2でキャプチャされたパケットpaは、イントラネット側ホストのIPアドレス/ポート番号は(P:111)に変換され、インターネット側ホストのIPアドレス/ポート番号は変わらずに(X:100)である。
【0035】
また、NAPT変換後にスイッチsw2でキャプチャされたパケットpbは、イントラネット側ホストのIPアドレス/ポート番号は(P:112)に変換され、インターネット側ホストのIPアドレス/ポート番号は変わらずに(Y:200)である。
【0036】
さらに、NAPT変換後にスイッチsw2でキャプチャされたパケットpcは、イントラネット側ホストのIPアドレス/ポート番号は(Q:501)に変換され、インターネット側ホストのIPアドレス/ポート番号は変わらずに(Z:300)である。
【0037】
ここで、イントラネット側ホストと、インターネット側ホストとの間に1つのコネクションが設定されている場合、インターネット側ホストのIPアドレス/ポート番号は異なる。すなわち、パケットpa、pb、pcそれぞれのインターネット側ホストのIPアドレス/ポート番号は互いに異なる。
【0038】
このため、パケットp1のインターネット側ホストのIPアドレス/ポート番号(X:100)に一致するのは、パケットpaに確定する。よって、パケットp1が流れるイントラネット側のコネクションと、パケットpaが流れるインターネット側のコネクションとが対応付けられる。
【0039】
また、パケットp2のインターネット側ホストのIPアドレス/ポート番号(Y:200)に一致するのは、パケットpbに確定する。よって、パケットp2が流れるイントラネット側のコネクションと、パケットpbが流れるインターネット側のコネクションとが対応付けられる。
【0040】
さらに、パケットp3のインターネット側ホストのIPアドレス/ポート番号(Z:300)に一致するのは、パケットpcに確定する。よって、パケットp3が流れるイントラネット側のコネクションと、パケットpcが流れるインターネット側のコネクションとが対応付けられる。
【0041】
このように、1台のイントラネット側ホストと、1台のインターネット側ホストとが通信する場合、イントラネット側のコネクションと、インターネット側のコネクションとは容易に対応付けが可能である。
【0042】
図4は、コネクションの対応付けの一例を説明するための図である。複数のイントラネット側ホストと、1台のインターネット側ホストとがn対1で通信する場合(複数コネクションの場合)を示している。
【0043】
スイッチsw1でキャプチャされたパケットp11、p12、p13において、パケットp11のイントラネット側ホストのIPアドレス/ポート番号は(a:1)であり、インターネット側ホストのIPアドレス/ポート番号は(X:100)である。
【0044】
また、パケットp12は、イントラネット側ホストのIPアドレス/ポート番号は(a:2)であり、インターネット側ホストのIPアドレス/ポート番号は(X:100)である。さらに、パケットp13は、イントラネット側ホストのIPアドレス/ポート番号は(b:101)であり、インターネット側ホストのIPアドレス/ポート番号は(X:100)である。
【0045】
一方、パケットp11、p12、p13は、FW装置40によってイントラネット側ホストのIPアドレス/ポート番号がNAPT変換される。NAPT変換後にスイッチsw2でキャプチャされたパケットpAは、イントラネット側ホストのIPアドレス/ポート番号は(P:111)に変換され、インターネット側ホストのIPアドレス/ポート番号は変わらずに(X:100)である。
【0046】
また、NAPT変換後にスイッチsw2でキャプチャされたパケットpBは、イントラネット側ホストのIPアドレス/ポート番号は(P:112)に変換され、インターネット側ホストのIPアドレス/ポート番号は変わらずに(X:100)である。
【0047】
さらに、NAPT変換後にスイッチsw2でキャプチャされたパケットpCは、イントラネット側ホストのIPアドレス/ポート番号は(Q:501)に変換され、インターネット側ホストのIPアドレス/ポート番号は変わらずに(X:100)である。
【0048】
ここで、複数のイントラネット側ホストが、1台のインターネット側ホストにアクセスする場合、インターネット側ホストのIPアドレス/ポート番号は同じになる。すなわち、パケットpA、pB、pCそれぞれのインターネット側ホストのIPアドレス/ポート番号は同じ(X:100)である。
【0049】
このため、パケットp11のインターネット側ホストのIPアドレス/ポート番号(X:100)に一致するものは、パケットpA、pB、pCがあり確定しない。このため、パケットp11が流れるイントラネット側のコネクションに対応するインターネット側のコネクションは、パケットpA、pB、pCのどれが流れるコネクションなのかが対応付けることが困難である。パケットp12、p13についても同様のことがいえる。
【0050】
このように、FW装置40ではイントラネット側ホストのIPアドレス/ポート番号がNAPT変換されるので、図4に示すような複数コネクションの場合では、FW装置40の前段と後段とでコネクションの対応付けが困難である。
【0051】
ここで、コネクション毎にFW遅延を算出する場合、図4に示すような状態では、対応が付かないパケットを排除してFW装置40の遅延を算出することが考えられる。しかし、このような算出手法では少ないデータでの算出になるため誤差が生じ、また、多くのデータを収集しようとすると、FW遅延の算出までに時間がかかるという問題がある。
【0052】
本発明ではこのような点に鑑みてなされたものであり、コネクションの対応付けを行わずに、FW装置40で発生するFW遅延を効率よく算出し、さらに過負荷状態を精度よく検知するものである。
【0053】
<ハードウェア>
次に第2の実施の形態の構成および動作について以降詳しく説明する。図5は、パケット解析装置のハードウェアの一例を示す図である。パケット解析装置10は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。
【0054】
プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101の機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0055】
メモリ102は、パケット解析装置10の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0056】
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0057】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、パケット解析装置10の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
【0058】
グラフィック処理装置104には、モニタ201が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ201の画面に表示させる。モニタ201としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0059】
入力インタフェース105には、キーボード202とマウス203とが接続されている。入力インタフェース105は、キーボード202やマウス203から送られてくる信号をプロセッサ101に送信する。
【0060】
なお、マウス203はポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0061】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク204に記録されたデータの読み取りを行う。光ディスク204は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク204には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(Re Writable)などがある。
【0062】
機器接続インタフェース107は、パケット解析装置10に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置205やメモリリーダライタ206を接続することができる。メモリ装置205は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ206は、メモリカード207へのデータの書き込み、またはメモリカード207からのデータの読み出しを行う装置である。メモリカード207は、カード型の記録媒体である。
【0063】
ネットワークインタフェース108は、ネットワーク110(無線LAN(Local Area Network)を含む)に接続されている。ネットワークインタフェース108は、ネットワーク110を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0064】
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示したパケット解析装置1も、図5に示したパケット解析装置10と同様のハードウェアにより実現することができる。
【0065】
パケット解析装置10は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。パケット解析装置10に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【0066】
例えば、パケット解析装置10に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またパケット解析装置10に実行させるプログラムを、光ディスク204、メモリ装置205、メモリカード207などの可搬型記録媒体に記録しておくこともできる。
【0067】
可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0068】
<機能ブロック>
図6は、パケット解析装置の機能ブロックの一例を示す図である。なお、以降では、遅延時間をRTTと呼ぶ場合がある。パケット解析装置10は、制御部11、記憶部12およびインタフェース部13を備える。制御部11は、RTT測定部11a、ばらつき判定部11b、FW遅延算出部11c、FW遅延最大値検出部11dおよび過負荷検知部11eを含む。
【0069】
RTT測定部11aは、スイッチsw1を通じてキャプチャしたパケットにもとづいて、イントラネット側ホストとFW装置40における遅延時間であるRTT1を測定する。また、RTT測定部11aは、スイッチsw2を通じてキャプチャしたパケットにもとづいて、インターネット側ホストとFW装置40とにおける遅延時間であるRTT2を測定する。
【0070】
ばらつき判定部11bは、所定期間に取得したRTT1の第1のばらつき状態、および所定期間に取得したRTT2の第2のばらつき状態のばらつき度合を判定する(具体的な判定処理の内容については図11以降で後述)。
【0071】
FW遅延算出部11cは、ばらつき判定部11bによって第1、第2のばらつき状態が特定ばらつき状態にあるという結果が出された場合、RTT1の第1の平均値と、RTT2の第2の平均値を求め、第1、第2の平均値の差にもとづいて、FW遅延を算出する(以下、平均遅延算出と呼ぶ場合がある)。なお、特定ばらつき状態については図11以降で後述するが、特定ばらつき状態とは、ばらつき具合が小さい状態に相当する。
【0072】
また、FW遅延算出部11cは、ばらつき判定部11bによって第1、第2のばらつき状態が特定ばらつき状態にないという結果が出された場合、RTT1を小さい順にソートし、かつRTT2を小さい順にソートして、小さい順にRTT1とRTT2との差を求めて装置遅延を算出する(以下、ソート遅延算出と呼ぶ場合がある)。
【0073】
FW遅延最大値検出部11dは、所定期間で算出したFW遅延のうちからFW遅延最大値を検出する。過負荷検知部11eは、所定期間におけるFW遅延最大値の出現頻度と、閾値とを比較し、FW遅延最大値が所定閾値以上の出現頻度または割合が所定閾値以上になる場合、FW装置40が過負荷状態にあることを検知する。過負荷検知部11eは、過負荷状態を検知した場合、例えば、アラーム通知を行う。
【0074】
記憶部1bは、取得したRTTやFW遅延算出結果等のパケット解析に関するデータを記憶する。また、記憶部1bは、運用状態に関する制御情報等も記憶する。インタフェース部13は、スイッチswに接続して、通信インタフェース制御を行う。また、インタフェース部13は、保守端末等に接続して、外部データの入出力インタフェース制御を行う。
【0075】
なお、制御部11は図5のプロセッサ101により実現され、記憶部12は図5のメモリ102により実現される。また、インタフェース部13は図5のネットワークインタフェース108、入力インタフェース105または機器接続インタフェース107により実現することができる。
【0076】
<FW遅延算出>
次にFW遅延算出について図7図8を用いて説明する。図7は、FW遅延算出の一例を説明するための図である。ソート遅延算出の例を示している。グラフg1は、コネクション毎に算出したFW遅延を示しており、縦軸はRTT(ms)、横軸はコネクション識別子である。コネクションA、・・・、Dは、FW装置40を介して、イントラネット側ホストとインターネット側ホストを繋ぐコネクションである。
【0077】
コネクションAでは、スイッチsw1を通じて測定されたRTTa1と、スイッチsw2を通じて測定されたRTTa2とにもとづいて、FW遅延daが算出されている。コネクションBでは、スイッチsw1を通じて測定されたRTTb1と、スイッチsw2を通じて測定されたRTTb2とにもとづいて、FW遅延dbが算出されている。
【0078】
コネクションCでは、スイッチsw1を通じて測定されたRTTc1と、スイッチsw2を通じて測定されたRTTc2とにもとづいて、FW遅延dcが算出されている。コネクションDでは、スイッチsw1を通じて測定されたRTTd1と、スイッチsw2を通じて測定されたRTTd2とにもとづいて、FW遅延ddが算出されている。
【0079】
このように、イントラネット側ホストとインターネット側ホストを繋ぐコネクションが認識できれば、コネクション毎にFW遅延を算出することができる。しかし、図4で上述したように、FW装置40の前段に設定されるイントラネット側コネクションと、後段に設定されるインターネット側コネクションとの対応付けが困難な場合がある。
【0080】
したがって、パケット解析装置10は、このようなコネクションの対応付けにもとづく遅延算出は行わない。図7のグラフg2に示す例では、パケット解析装置10は、スイッチsw1を通じて測定したRTT1と、スイッチsw2を通じて測定したRTT2をそれぞれ小さい順にソートし、小さい順に(RTT2-RTT1)を算出することでFW遅延を求める。
【0081】
グラフg2は、RTTのソートにもとづいて算出したFW遅延を示しており、縦軸はRTT(ms)、横軸はソート番号(RTTの小さい順に付した番号)である。
スイッチsw1を通じて測定されたRTT1は、RTTa1<RTTc1<RTTb1<RTTd1の順にソートされる。また、スイッチsw2を通じて測定されたRTT2は、RTTc2<RTTb2<RTTa2<RTTd2の順にソートされる。
【0082】
したがって、ソート番号1では、スイッチsw1を通じて測定されたRTTa1と、スイッチsw2を通じて測定されたRTTc2とにもとづいて、FW遅延d1が算出されている。ソート番号2では、スイッチsw1を通じて測定されたRTTc1と、スイッチsw2を通じて測定されたRTTb2とにもとづいて、FW遅延d2が算出されている。
【0083】
また、ソート番号3では、スイッチsw1を通じて測定されたRTTb1と、スイッチsw2を通じて測定されたRTTa2とにもとづいて、FW遅延d3が算出されている。ソート番号4では、スイッチsw1を通じて測定されたRTTd1と、スイッチsw2を通じて測定されたRTTd2とにもとづいて、FW遅延d4が算出されている。
【0084】
パケット解析装置10では、このように算出したFW遅延d1、・・・、d4のうちから最大となるFW遅延最大値を検出し、検出したFW遅延最大値と閾値とを比較する。そして、FW遅延最大値が所定閾値以上の出現頻度または割合が所定閾値以上になる場合、FW装置40は過負荷状態になっていると判定する。
【0085】
図8は、FW遅延算出の一例を説明するための図である。平均遅延算出の例を示している。図7では、RTT1とRTT2とをそれぞれ小さい順にソート処理して、小さい順に(RTT2-RTT1)を算出してFW遅延を求めた。
【0086】
これに対し、図8では、RTT1とRTT2とのばらつきがどちらも小さい場合、RTT1の平均値AVG(RTT1)と、RTT2の平均値AVG(RTT2)を求めて、AVG(RTT2)-AVG(RTT1)を算出してFW遅延を求める。なお、“ばらつきが小さい”とは、特定ばらつき状態であることに相当する。
【0087】
グラフg3は、RTTの平均にもとづいて算出したFW遅延を示しており、縦軸はRTT(ms)、横軸はコネクション識別子である。コネクションAでは、スイッチsw1を通じてRTTa1が測定され、スイッチsw2を通じてRTTa2が測定されている。コネクションBでは、スイッチsw1を通じてRTTb1が測定され、スイッチsw2を通じてRTTb2が測定されている。
【0088】
コネクションCでは、スイッチsw1を通じてRTTc1が測定され、スイッチsw2を通じてRTTc2が測定されている。コネクションDでは、スイッチsw1を通じてRTTd1が測定され、スイッチsw2を通じてRTTd2が測定されている。
【0089】
パケット解析装置10は、RTTa1、RTTb1、RTTc1、RTTd1の第1のばらつき状態と、RTTa2、RTTb2、RTTc2、RTTd2の第2のばらつき状態とが共に小さい場合、すなわち、第1、第2のばらつき状態が特定ばらつき状態にある場合、平均遅延算出を行う。
【0090】
この例では、パケット解析装置10は、スイッチsw1で測定したRTT1の平均値AVG(RTT1)=(RTTa1+RTTb1+RTTc1+RTTd1)/4を算出する。さらに、スイッチsw2で測定したRTT2の平均値AVG(RTT2)=(RTTa2+RTTb2+RTTc2+RTTd2)/4を算出する。
【0091】
そして、パケット解析装置10は、AVG(RTT2)-AVG(RTT1)によってFW遅延を算出し、所定期間におけるFW遅延のうちのFW遅延最大値と、所定閾値とを比較し、FW遅延最大値が所定閾値以上になり、その出現頻度または割合が所定閾値以上になる場合、FW装置40は過負荷状態になっていると判定する。
【0092】
このように、パケット解析装置10は、RTT1およびRTT2のばらつき度合いが双方共に小さい場合は(RTT1およびRTT2が特定ばらつき状態にある場合は)、RTT1およびRTT2のそれぞれの平均値からFW遅延を算出する。これにより、図7に示したソート処理を省くことができるので処理負荷を軽減できるという効果を有している。
【0093】
<シミュレーション結果>
次にRTTのばらつきが小さい場合と、RTTのばらつきが大きい場合とに分けて、実データで計算したときのそれぞれのシミュレーション結果について説明する。
【0094】
図9は、ばらつきが小さい場合のFW遅延算出のシミュレーション結果を示す図である。テーブルTa1は、項目として、時刻、サンプル数、FW遅延最大値(正解値)、FW遅延最大値(ソート遅延算出)およびFW遅延最大値(平均遅延算出)を有する。
【0095】
例えば、時刻16:41において、サンプル数=7でシミュレーションが行われている。このときFW遅延最大値の正解値は134である。また、サンプル数=7でソート遅延算出により求めたFW遅延のうちでFW遅延最大値は134になっている。さらに、サンプル数=7で平均遅延算出により求めたFW遅延のうちでFW遅延最大値は114.7143になっている。
【0096】
グラフg11は、テーブルTa1をグラフ化したものであり、縦軸はFW遅延最大値(μs)、横軸は時刻である。ラインk1はFW遅延最大値の正解値、ラインk2はFW遅延最大値(ソート遅延算出)、ラインk3はFW遅延最大値(平均遅延算出)である。
【0097】
グラフg11に示されるように、RTT1およびRTT2のばらつきが共に小さい場合、平均遅延算出にもとづいて求めたFW遅延最大値でも正解値との乖離は少ないことがわかる。したがって、パケット解析装置10では、RTT1およびRTT2のばらつきが共に小さい場合、ソート遅延算出よりも処理負荷が軽減可能な平均遅延算出によってFW遅延を算出する。
【0098】
図10は、ばらつきが大きい場合のFW遅延算出のシミュレーション結果を示す図である。テーブルTa2は、項目として、時刻、サンプル数、FW遅延最大値(正解値)、FW遅延最大値(ソート遅延算出)およびFW遅延最大値(平均遅延算出)を有する。
【0099】
グラフg12は、テーブルTa2をグラフ化したものであり、縦軸はFW遅延最大値(μs)、横軸は時刻である。ラインk1はFW遅延最大値の正解値、ラインk2はFW遅延最大値(ソート遅延算出)、ラインk3はFW遅延最大値(平均遅延算出)である。
【0100】
グラフg12に示されるように、RTT1およびRTT2のばらつきが共に小さくない場合、平均遅延算出にもとづいて求めたFW遅延最大値は正解値との乖離が大きく、ソート遅延算出にもとづいて求めたFW遅延最大値は正解値との乖離は小さいことがわかる。したがって、パケット解析装置10では、RTT1およびRTT2のばらつきが共に小さくない場合、ソート遅延算出によって求めたFW遅延にもとづいてFW遅延最大値を検出する。
【0101】
<ばらつき判定>
次にRTTのばらつき判定処理について図11から図14を用いて説明する。図11は、ばらつき判定処理の一例を説明するための図である。グラフg21は、縦軸はRTT、横軸は時刻である。時刻10:01から10:10までの過去10分間で10回測定したRTT1の最小値およびRTT2の最大値の推移にもとづくばらつき判定を示している。
【0102】
時刻10:01において、スイッチsw1を通じて測定される複数のRTT1のうち、最小値としてRTTa1minが測定されている。同様にして、時刻10:02から10:10において、スイッチsw1を通じて測定される複数のRTT1のうち、最小値としてRTTb1min、・・・、RTTj1minがそれぞれ測定されている。
【0103】
また、時刻10:01において、スイッチsw1を通じて測定される複数のRTT1のうち、最大値としてRTTa1maxが測定されている。同様にして、時刻10:02から10:10それぞれにおいて、スイッチsw1を通じて測定される複数のRTT1のうち、最大値としてRTTb1max、・・・、RTTj1maxが測定されている。
【0104】
図11において、RTTa1min、・・・、RTTj1minのうちの最小値はRTTe1minであり、RTTa1max、・・・、RTTj1maxのうちの最大値はRTTc1maxであり、RTTe1minとRTTc1maxとの範囲をr1とする。
【0105】
一方、時刻10:11において、スイッチsw1を通じて測定される複数のRTT1のうち、最小値としてRTTk1minが測定され、スイッチsw1を通じて測定される複数のRTT1のうち、最大値としてRTTk1maxが測定されたとする。
【0106】
ここで、時刻10:11において今回測定したRTTk1minおよびRTTk1maxが範囲r1内に存在する場合、RTTk1minおよびRTTk1maxは、ばらつきが小さいと判定される。
【0107】
この場合、時刻10:11に測定されたRTTmink1と、時刻10:11に測定されたRTTk1maxとは、ばらつきが小さく特定ばらつき状態にあると判定される。
また、RTTk1minおよびRTTk1maxのいずれか一方が範囲r1外に存在する場合、RTTk1minおよびRTTk1maxは、ばらつきが大きいと判定される。
【0108】
この場合、時刻10:11に測定されたRTTk1minと、時刻10:11に測定されたRTTk1maxとは、ばらつきが小さくなく特定ばらつき状態にないと判定される。
【0109】
したがって、上記のようなRTT1の最小値および最大値の推移にもとづいて、特定ばらつき状態にあると判定された場合、時刻10:11において、平均遅延算出によってFW遅延が算出されてFW遅延最大値が検出される。また、特定ばらつき状態にないと判定された場合、時刻10:11において、ソート遅延算出によってFW遅延が算出されてFW遅延最大値が検出される。
【0110】
スイッチsw2を通じて測定される複数のRTT2の場合も、RTT1の場合と同様に判定される。
このようなRTT1の最小値および最大値の推移にもとづいて特定ばらつき状態を判定して、ソート遅延算出制御によってFW遅延を算出することで、コネクションの対応付けを不要とし、パケット解析装置10は、FW遅延を、コネクションの対応付けを行った場合と比較して劣ることなく精度よく算出することができる。
【0111】
図12は、ばらつき判定処理の一例を説明するための図である。グラフg22は、縦軸はRTTの最小値と最大値の差、横軸は時刻である。時刻10:01から10:10までの過去10分間で10回測定したRTT1の最小値と最大値との差の推移にもとづくばらつき判定を示している。
【0112】
時刻10:01において、スイッチsw1を通じて測定されるRTT1の最小値と最大値との差としてRTTdif1が測定されている。同様にして、時刻10:02から10:10において、RTT1の最小値と最大値との差としてRTTdif2、・・・、RTTdif10がそれぞれ測定されている。
【0113】
図12において、RTTdif1、・・・、RTTdif10のうちの最大値はRTTdif3である。また、時刻10:11において、RTT1の最小値と最大値との差としてRTTdif11が測定されたとする。
【0114】
ここで、時刻10:11において今回測定したRTTdif11がRTTdif3未満に存在する場合、RTTdif1、・・・、RTTdif10、RTTdif11は、ばらつきが小さいと判定される。
【0115】
この場合、RTTdifの算出に使用した、時刻10:11に測定されたRTT1の最小値と最大値とは、ばらつきが共に小さく特定ばらつき状態にあると判定される。
また、今回測定したRTTdif11がRTTdif3以上に存在する場合、RTTdif11は、ばらつきが大きいと判定される。
【0116】
この場合、時刻10:11に測定されたRTT1の最小値と最大値とは、ばらつきが共に小さくなく特定ばらつき状態にあると判定される。
したがって、上記のようなRTT1の最小値と最大値との差の推移にもとづいて、特定ばらつき状態にあると判定された場合、時刻10:11において、平均遅延算出によってFW遅延が算出されてFW遅延最大値が検出される。また、特定ばらつき状態にないと判定された場合、時刻10:11において、ソート遅延算出によってFW遅延が算出されてFW遅延最大値が検出される。
【0117】
スイッチsw2を通じて測定される複数のRTT2の場合も、RTT1の場合と同様に判定される。
このようなRTT1の最小値と最大値との差の推移にもとづいて特定ばらつき状態を判定して、ソート遅延算出制御によってFW遅延を算出することで、コネクションの対応付けを不要とし、パケット解析装置10は、FW遅延を、コネクションの対応付けを行った場合と比較して劣ることなく精度よく算出することができる。
【0118】
図13は、ばらつき判定処理の一例を説明するための図である。グラフg23は、縦軸はRTTの分散、横軸は時刻である。時刻10:01から10:10までの過去10分間で10回測定したRTTの統計情報として分散を算出した際の分散の推移にもとづくばらつき判定を示している。分散sは、以下の式(1)で算出される。
【0119】
【数1】
【0120】
なお、nはデータの総数、xは個々の数値、xmは平均値である。例えば、時刻t0において、スイッチsw1を通じて2つのRTT1a、RTT1bが取得されたとする。
この場合、時刻t0における分散sは、n=2、x=RTT1a、x=RTT1b、およびxm=(RTT1a+RTT1b)/2にもとづいて、式(1)から算出される。時刻10:01において、RTT1の分散としてRTTs1が算出されている。同様にして、時刻10:02から10:10において、RTT1の分散としてRTTs2、・・・、RTTs10が算出されている。
【0121】
図13において、RTTs1、・・・、RTTs10のうちの最大値は、RTTs3である。また、時刻10:11において、RTT1の分散として、RTTs11が算出されたとする。
【0122】
ここで、時刻10:11において今回測定したRTTs11がRTTs3未満に存在する場合、RTTs11は、ばらつきが小さいと判定される。この場合、RTT1は、ばらつきが小さく特定ばらつき状態にあると判定される。
【0123】
また、時刻10:11において今回測定したRTTs11がRTTs3以上に存在する場合、RTTs11は、ばらつきが大きいと判定される。この場合、RTT1は、ばらつきが共に小さくなく特定ばらつき状態にないと判定される。
【0124】
したがって、上記のようなRTT1の分散の推移にもとづいて、特定ばらつき状態にあると判定された場合、時刻10:11において、平均遅延算出によってFW遅延が算出されてFW遅延最大値が検出される。また、特定ばらつき状態にないと判定された場合、時刻10:11において、ソート遅延算出によってFW遅延が算出されてFW遅延最大値が検出される。
【0125】
スイッチsw2を通じて測定される複数のRTT2の場合も、RTT1の場合と同様に判定される。
このようなRTT1の分散の推移にもとづいて特定ばらつき状態を判定して、ソート遅延算出制御によってFW遅延を算出することで、コネクションの対応付けを不要とし、パケット解析装置10は、FW遅延を、コネクションの対応付けを行った場合と比較して劣ることなく精度よく算出することができる。
【0126】
図14は、ばらつき判定処理の一例を説明するための図である。グラフg24は、縦軸はRTTの標準偏差、横軸は時刻である。時刻10:01から10:10までの過去10分間で10回測定したRTTの統計情報として標準偏差を算出した際の標準偏差の推移にもとづくばらつき判定を示している。標準偏差sは、以下の式(2)から算出される。なお、sは式(1)に示した分散である。
【0127】
【数2】
【0128】
時刻10:01において、RTT1の標準偏差としてRTTs1が算出されている。同様にして、時刻10:02から10:10において、RTT1の標準偏差としてRTTs2、・・・、RTTs10が算出されている。
【0129】
図14において、RTTs1、・・・、RTTs10のうちの最大値はRTTs3である。また、時刻10:11において、RTT1の標準偏差としてRTTs11が算出されたとする。
【0130】
ここで、時刻10:11において今回測定したRTTs11がRTTs3未満に存在する場合、RTTs11は、ばらつきが小さいと判定される。この場合、時刻10:11に測定されたRTT1は、ばらつきが小さく特定ばらつき状態にあると判定される。
【0131】
また、時刻10:11において今回測定したRTTs11がRTTs3以上に存在する場合、RTTs11は、ばらつきが大きいと判定される。この場合、時刻10:11に測定されたRTT1は、ばらつきが共に小さくなく特定ばらつき状態にないと判定される。
【0132】
したがって、上記のようなRTT1の標準偏差の推移にもとづいて、特定ばらつき状態にあると判定された場合、時刻10:11において、平均遅延算出によってFW遅延が算出されてFW遅延最大値が検出される。また、特定ばらつき状態にないと判定された場合、時刻10:11において、ソート遅延算出によってFW遅延が算出されてFW遅延最大値が検出される。
【0133】
スイッチsw2を通じて測定される複数のRTT2の場合も、RTT1の場合と同様に判定される。
このようなRTT1の標準偏差の推移にもとづいて特定ばらつき状態を判定して、ソート遅延算出制御によってFW遅延を算出することで、コネクションの対応付けを不要とし、パケット解析装置10は、FW遅延を、コネクションの対応付けを行った場合と比較して劣ることなく精度よく算出することができる。
【0134】
また、上記の図11から図14に示したような、ばらつき判定処理を行うことにより、RTT1およびRTT2のばらつき度合いを精度よく判定することができる。
<フローチャート>
図15は、パケット解析装置の動作を示すフローチャートである。
【0135】
〔ステップS11〕制御部11は、RTT1およびRTT2のばらつきが小さく特定ばらつき状態にあるか否かを判定する。RTT1およびRTT2のばらつきが共に小さく特定ばらつき状態にある場合はステップS13へ処理が進み、RTT1またはRTT2のばらつきが小さくなく特定ばらつき状態にない場合はステップS12へ処理が進む。
【0136】
〔ステップS12〕制御部11は、ソート遅延算出によりFW遅延を算出する。
〔ステップS13〕制御部11は、平均遅延算出によりFW遅延を算出する。
〔ステップS14〕制御部11は、FW遅延を記録する。
【0137】
〔ステップS15〕制御部11は、FW装置40の過負荷判定期間において、記録したFW遅延のうちでFW遅延最大値を検出し、該FW遅延最大値の出現頻度が閾値以上であるか否かを判定する。閾値以上の場合はステップS16へ処理が進み、閾値未満の場合はステップS11へ処理が戻る。
【0138】
〔ステップS16〕制御部11は、FW装置40が過負荷状態であることを検知する。
図16は、ばらつき判定の動作を示すフローチャートである。図15に示したステップS1の処理において、図11で上述したRTT1の最大値および最小値の推移にもとづくばらつき判定の処理フローを示している。
【0139】
〔ステップS21〕制御部11は、ある測定時刻において取得した複数のRTT1のうちで最大のRTT1であるRTT1maxを検出し、さらに複数の過去の測定時刻のうち(例えば、過去10回分)でRTT1maxのうちの最大値(max(RTT1max))を検出する。制御部11は、ある測定時刻において取得した複数のRTT1のうちで最小のRTT1であるRTT1minを検出し、さらに複数の過去の測定時刻のうち(例えば、過去10回分)でRTT1minのうちの最小値(min(RTT1min))を検出する。
【0140】
〔ステップS22〕制御部11は、ある測定時刻において取得した複数のRTT2のうちで最大のRTT2であるRTT2maxを検出し、さらに複数の過去の測定時刻のうち(例えば、過去10回分)でRTT2maxのうちの最大値(max(RTT2max))を検出する。制御部11は、ある測定時刻において取得した複数のRTT2のうちで最小のRTT2であるRTT2minを検出し、さらに複数の過去の測定時刻のうち(例えば、過去10回分)でRTT2minのうちの最小値(min(RTT2min))を検出する。
【0141】
〔ステップS23〕制御部11は、今回の測定時刻において取得したRTT1のうちで最大値を検出し、RTT1の最大値がmax(RTT1max)よりも小さいか否かを判定する。小さい場合はステップS24へ処理が進み、小さくない場合はステップS25bへ処理が進む。
【0142】
〔ステップS24〕制御部11は、今回の測定時刻において取得したRTT1のうちで最小値を検出し、RTT1の最小値がmin(RTT1min)よりも大きいか否かを判定する。大きい場合はステップS25aへ処理が進み、大きくない場合はステップS25bへ処理が進む。
【0143】
〔ステップS25a〕制御部11は、RTT1のばらつきは小さいと判定する。ステップS26へ処理が進む。
〔ステップS25b〕制御部11は、RTT1のばらつきは大きいと判定する。ステップS29bへ処理が進む。
【0144】
〔ステップS26〕制御部11は、今回の測定時刻において取得したRTT2のうちで最大値を検出し、RTT2の最大値がmax(RTT2max)よりも小さいか否かを判定する。小さい場合はステップS27へ処理が進み、小さくない場合はステップS28bへ処理が進む。
【0145】
〔ステップS27〕制御部11は、今回の測定時刻において取得したRTT2のうちで最小値を検出し、RTT2の最小値がmin(RTT2min)よりも大きいか否かを判定する。大きい場合はステップS28aへ処理が進み、大きくない場合はステップS28bへ処理が進む。
【0146】
〔ステップS28a〕制御部11は、RTT2のばらつきは小さいと判定する。ステップS29aへ処理が進む。
〔ステップS28b〕制御部11は、RTT2のばらつきが大きいと判定する。ステップS29bへ処理が進む。
【0147】
〔ステップS29a〕制御部11は、RTT1およびRTT2のばらつきが共に小さく、特定ばらつき状態にあると判定する(以降、図15のステップS13へ処理が進む)。
〔ステップS29b〕制御部11は、RTT1またはRTT2のばらつきが小さくなく、特定ばらつき状態にないと判定する(以降、図15のステップS12へ処理が進む)。
【0148】
図17は、ばらつき判定の動作を示すフローチャートである。図15に示したステップS1の処理において、図12で上述したRTT1の最小値と最大値との差の推移にもとづくばらつき判定の処理フローを示している。
【0149】
〔ステップS31〕制御部11は、ある測定時刻において取得した複数のRTT1のうちで最小のRTT1であるRTT1minと、最大のRTT1であるRTT1maxとを検出し、RTT1minとRTT1maxとの差であるRTT1difpを算出する。
【0150】
〔ステップS32〕複数の過去の測定時刻において算出したRTT1difpのうちの最大値であるmax(RTT1difp)を検出する。
〔ステップS32a〕制御部11は、ある測定時刻において取得した複数のRTT2のうちで最小のRTT2であるRTT2minと、最大のRTT2であるRTT2maxとを検出し、RTT2minとRTT2maxとの差であるRTT2difpを算出する。
【0151】
〔ステップS32b〕複数の過去の測定時刻において算出したRTT2difpのうちの最大値であるmax(RTT2difp)を検出する。
〔ステップS33〕制御部11は、今回の測定時刻において取得したRTT1のうちの最小値と、RTT1のうちの最大値との差分をとってRTT1difcを算出し、今回の測定時刻において取得したRTT2のうちの最小値と、RTT2のうちの最大値との差分をとってRTT2difcを算出し、RTT1difcがmax(RTT1difp)未満か否かを判定し、RTT2difcがmax(RTT2difp)未満か否かを判定する。
【0152】
RTT1difcがmax(RTT1difp)未満であり、かつ、RTT2difcがmax(RTT2difp)未満の場合はステップS34へ処理が進み、そうでない場合、例えば、RTT1difcがmax(RTT1difp)以上の場合はステップS35へ処理が進む。
【0153】
〔ステップS34〕制御部11は、RTT1およびRTT2のばらつきは共に小さく、特定ばらつき状態にあると判定する(以降、図15のステップS13へ処理が進む)。
〔ステップS35〕制御部11は、RTT1およびRTT2のばらつきは共に小さくなく、特定ばらつき状態にないと判定する(以降、図15のステップS12へ処理が進む)。
【0154】
図18は、ばらつき判定の動作を示すフローチャートである。図15に示したステップS1の処理において、図13で上述したRTT1およびRTT2の分散の推移にもとづくばらつき判定の処理フローを示している。
【0155】
〔ステップS41〕制御部11は、ある測定時刻において取得した複数のRTT1の分散であるRTTs1pを算出する。
〔ステップS42〕制御部11は、複数の過去の測定時刻において算出したRTTs1pのうちの最大値であるmax(RTTs1p)を検出する。
【0156】
〔ステップS42a〕制御部11は、ある測定時刻において取得した複数のRTT2の分散であるRTTs2pを算出する。
〔ステップS42b〕制御部11は、複数の過去の測定時刻において算出したRTTs2pのうちの最大値であるmax(RTTs2p)を検出する。
【0157】
〔ステップS43〕制御部11は、今回の測定時刻において取得したRTT1の分散であるRTTs1cと、今回の測定時刻において取得したRTT2の分散であるRTTs2cとを算出し、RTTs1cがmax(RTTs1p)未満か否かを判定し、RTTs2cがmax(RTTs2p)未満か否かを判定する。
【0158】
RTTs1cがmax(RTTs1p)未満であり、かつRTTs2cがmax(RTTs2p)未満の場合はステップS44へ処理が進み、そうでない場合、例えば、RTTs2cがmax(RTTs2p)以上の場合はステップS45へ処理が進む。
【0159】
〔ステップS44〕制御部11は、RTT1およびRTT2のばらつきは共に小さく、特定ばらつき状態にあると判定する(以降、図15のステップS13へ処理が進む)。
〔ステップS45〕制御部11は、RTT1およびRTT2のばらつきは共に小さくなく、特定ばらつき状態にないと判定する(以降、図15のステップS12へ処理が進む)。
【0160】
図19は、ばらつき判定の動作を示すフローチャートである。図15に示したステップS1の処理において、図14で上述したRTT1およびRTT2の標準偏差の推移にもとづくばらつき判定の処理フローを示している。
【0161】
〔ステップS51〕制御部11は、ある測定時刻において取得した複数のRTT1の標準偏差であるRTTs1pを算出する。
〔ステップS52〕制御部11は、複数の過去の測定時刻において算出したRTTs1pのうちの最大値であるmax(RTTs1p)を検出する。
【0162】
〔ステップS52a〕制御部11は、ある測定時刻において取得した複数のRTT2の標準偏差であるRTTs2pを算出する。
〔ステップS52b〕制御部11は、複数の過去の測定時刻において算出したRTTs2pのうちの最大値であるmax(RTTs2p)を検出する。
【0163】
〔ステップS53〕制御部11は、今回の測定時刻において取得したRTT1の標準偏差であるRTTs1cと、今回の測定時刻において取得したRTT2の標準偏差であるRTTs2cとを算出し、RTTs1cがmax(RTTs1p)未満か否かを判定し、RTTs2cがmax(RTTs2p)未満か否かを判定する。
【0164】
RTTs1cがmax(RTTs1p)未満であり、かつRTTs2cがmax(RTTs2p)未満の場合はステップS54へ処理が進み、そうでない場合、例えば、RTTs2cがmax(RTTs2p)以上の場合はステップS55へ処理が進む。
【0165】
〔ステップS54〕制御部11は、RTT1およびRTT2のばらつきは共に小さく、特定ばらつき状態にあると判定する(以降、図15のステップS13へ処理が進む)。
〔ステップS55〕制御部11は、RTT1およびRTT2のばらつきは共に小さくなく、特定ばらつき状態にないと判定する(以降、図15のステップS12へ処理が進む)。
【0166】
<FW遅延の算出期間>
図20は、FW遅延算出期間の一例を示す図である。
〔時刻10:00〕制御部11は、時刻09:50から09:59においてFW遅延を算出した期間を過去10分のFW遅延算出期間とする。また、制御部11は、時刻10:00において取得したRTT1およびRTT2にもとづいて現在のFW遅延を算出する。
【0167】
〔時刻10:01〕制御部11は、時刻09:51から10:00においてFW遅延を算出した期間を過去10分のFW遅延算出期間とする。また、制御部11は、時刻10:01において取得したRTT1およびRTT2にもとづいて現在のFW遅延を算出する。
【0168】
〔時刻10:02〕制御部11は、時刻09:52から10:01においてFW遅延を算出した期間を過去10分のFW遅延算出期間とする。また、制御部11は、時刻10:02において取得したRTT1およびRTT2にもとづいて現在のFW遅延を算出する。
【0169】
<過負荷の判定期間>
図21は、過負荷判定期間の一例を示す図である。
〔時刻10:00〕制御部11は、時刻09:50から09:59において過負荷判定を行った期間を過去10分の過負荷判定期間とする。また、制御部11は、時刻10:00において取得したRTT1およびRTT2にもとづいて現在の過負荷判定を行う。
【0170】
〔時刻10:01〕制御部11は、時刻09:51から10:00において過負荷判定を行った期間を過去10分の過負荷判定期間とする。また、制御部11は、時刻10:01において取得したRTT1およびRTT2にもとづいて現在の過負荷判定を行う。
【0171】
〔時刻10:02〕制御部11は、時刻09:52から10:01において過負荷判定を行った期間を過去10分の過負荷判定とする。また、制御部11は、時刻10:02において取得したRTT1およびRTT2にもとづいて現在の過負荷判定を行う。
【0172】
以上説明したように、第2の実施の形態のパケット解析装置10は、RTT1およびRTT2のばらつき状態が特定ばらつき状態にあるか否かを判定し、特定ばらつき状態にある場合、RTT1の平均値と、RTT2の平均値との差を求めてFW遅延を算出する。
【0173】
また、パケット解析装置10は、RTT1およびRTT2のばらつき状態が特定ばらつき状態にない場合、RTT1を小さい順にソートし、かつRTT2を小さい順にソートして、小さい順にRTT1とRTT2との差を求めてFW遅延を算出する。そして、算出したFW遅延のうちからFW遅延最大値を検出して閾値との比較判定を行う。このような制御により、過負荷状態を早期に精度よく検知することが可能になる。
【0174】
上記で説明した本発明のパケット解析装置1、10の処理機能は、コンピュータによって実現することができる。この場合、パケット解析装置1、10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0175】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、CD-ROM/RW等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。
【0176】
プログラムを流通させる場合、例えば、そのプログラムが記録されたCD-ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0177】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【0178】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
【0179】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0180】
1-1 パケット解析システム
1 パケット解析装置
1a 制御部
1b 記憶部
2、3 通信装置
4 中継装置
sw1、sw2 スイッチ
t1、t2 遅延時間
T 装置遅延
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21