(57)【特許請求の範囲】
【請求項１】
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した何れかの所定期間に、前記割合の増加量が第２の閾値以上となる特定端末が予め定めた台数以上である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析プログラム。
【請求項２】
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した所定期間の各々について、前記割合の増加量が第２の閾値以上となる特定端末を抽出すると共に、前記所定期間の何れかに、抽出した前記特定端末の前記割合の増加量が前記第２の閾値以上となる確率が、予め定めた確率以下である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析プログラム。
【請求項３】
前記割合の増加量の平均値および前記割合の増加量の標準偏差に基づいて、前記第２の閾値を設定する
請求項１または請求項２記載のパケット解析プログラム。
【請求項４】
前記割合の増加量として、前記割合の増加率を用いる
請求項１〜請求項３の何れか１項に記載のパケット解析プログラム。
【請求項５】
前記複数の端末の各々から送信されたパケットの欠落の有無を、時系列に沿って出力する
請求項１〜請求項４の何れか１項に記載のパケット解析プログラム。
【請求項６】
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した何れかの所定期間に、前記割合の増加量が第２の閾値以上となる特定端末が予め定めた台数以上である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析方法。
【請求項７】
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した所定期間の各々について、前記割合の増加量が第２の閾値以上となる特定端末を抽出すると共に、前記所定期間の何れかに、抽出した前記特定端末の前記割合の増加量が前記第２の閾値以上となる確率が、予め定めた確率以下である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析方法。
【請求項８】
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出する算出部と、
前記割合を算出した何れかの所定期間に、前記算出部によって算出された前記割合の増加量が第２の閾値以上となる特定端末が予め定めた台数以上である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する判定部と、
を含むパケット解析装置。
【請求項９】
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出する算出部と、
前記割合を算出した所定期間の各々について、前記算出部によって算出された前記割合の増加量が第２の閾値以上となる特定端末を抽出すると共に、前記所定期間の何れかに、抽出した前記特定端末における前記割合の増加量が前記第２の閾値以上となる確率が、予め定めた確率以下である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する判定部と、
を含むパケット解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、パケット解析プログラム、パケット解析方法およびパケット解析装置に関する。
【背景技術】
【０００２】
情報化社会の発展に伴い、例えばコンピュータまたはスマートフォン等の情報端末をネットワークに接続してクラウドサービスを利用する等、異なる情報端末間でパケットを送受信する機会が増加しつつある。
【０００３】
ネットワーク経由でパケットを送受信する場合、何らかの理由によってネットワーク上のパケットが欠落する（パケットロスともいう）ことがある。したがって、ネットワークを流れるパケットを取得してパケットロス状況を解析する各種パケット解析装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８６７７２号公報
【特許文献２】特開２０１０−１６７２２号公報
【特許文献３】特開２０１０−１０９４９９号公報
【特許文献４】特開２０１３−１５０２９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
パケット解析装置は、例えばパケットを送信する端末（以下、送信端末という）とパケットの送信先である端末（以下、受信端末という）とを接続するネットワーク間に挿入され、ネットワークを流れるパケットを監視する。
【０００６】
例えば、パケット解析装置と受信端末との間でＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)プロトコルに準拠したパケットが欠落した場合、パケット解析装置は、ＴＣＰヘッダのシーケンス番号の重複によりパケットロスを検知する。
【０００７】
一方、パケット解析装置と送信端末との間でＴＣＰ／ＩＰプロトコルに準拠したパケットが欠落した場合、パケット解析装置でパケットを受信する前に、欠落したパケットの再送処理が送信端末によって実行される。
【０００８】
この場合、送信端末は、送信したパケットに対する受信端末からの送達確認（ACK：ACKNOWLEDGE）の有無によってパケットの再送処理が必要か判断するため、所定の期間内にACKを受信しなかった場合、送信したパケットの再送を行う。したがって、従来のパケット解析装置では、例えば同一のセッションにおけるパケットの受信間隔が所定の期間以上であれば、パケット解析装置と送信端末との間でパケットロスが発生したと判定することがある。
【０００９】
しかしながら、送信端末では、例えばＨＴＴＰ(Hypertext Transfer Protocol)におけるチャンク形式エンコーディングのように、データを任意のパケット長を有する複数のパケットに分割して、受信端末に順次送信することがある。この場合、送信端末は、パケットの送信間隔を調整しながらパケットを受信端末に送信する。したがって、場合によってはパケットの送信間隔が所定の期間より長くなり、パケット解析装置と送信端末との間でパケットロスが発生していないにも関わらず、パケット解析装置はパケットロスが発生したと誤判定する状況が発生することがある。
【００１０】
また、ネットワークにおけるトラフィック量の増加およびネットワークに接続されるスイッチ装置等のネットワーク機器の中継処理のため、パケットの到達が所定の期間以上遅延する場合にも、パケット解析装置はパケットロスが発生したと誤判定することがある。
【００１１】
一つの側面として、開示の技術は、パケットの取得前に発生したパケットロスを精度良く検知することを目的とする。
【課題を解決するための手段】
【００１２】
一つの態様として、パケット解析プログラムは、コンピュータに、所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出させる。また、パケット解析プログラムは、コンピュータに、割合を算出した何れかの所定期間に、割合の増加量が第２の閾値以上となる特定端末が予め定めた台数以上である特定の所定期間が存在する場合に、特定の所定期間においてパケットの欠落が有ると判定させる。
【発明の効果】
【００１３】
一つの側面として、開示の技術は、パケットの取得前に発生したパケットロスを精度良く検知することができる、という効果を有する。
【図面の簡単な説明】
【００１４】
【図１】ネットワークの一例を示す図である。
【図２】スイッチ装置の接続例を示す図である。
【図３】第１実施形態および第２実施形態に係るパケット解析装置の構成の一例を示す図である。
【図４】パケット解析装置をコンピュータで実現する場合の構成の一例を示す図である。
【図５Ａ】パケット解析処理の流れの一例を示すフローチャートである。
【図５Ｂ】パケット解析処理の流れの一例を示すフローチャートである。
【図６】セッション管理テーブルの一例を示す図である。
【図７】パケット集計テーブルの一例を示す図である。
【図８】初期化データを追加したパケット集計テーブルの一例を示す図である。
【図９】初期化データを追加したパケット集計テーブルの一例を示す図である。
【図１０】パケット間隔増加検知データの一例を示す図である。
【図１１Ａ】第１実施形態に係るパケットロス判定処理の流れの一例を示すフローチャートである。
【図１１Ｂ】第１実施形態に係るパケットロス判定処理の流れの一例を示すフローチャートである。
【図１２】増加量管理テーブルの一例を示す図である。
【図１３】パケットロス集計テーブルの一例を示す図である。
【図１４】アドレス変換テーブルの一例を示す図である。
【図１５】パケットロス通知データの一例を示す図である。
【図１６】パケットロス通知データに基づいて表示される画面の一例を示す図である。
【図１７Ａ】第２実施形態に係るパケットロス判定処理の流れの一例を示すフローチャートである。
【図１７Ｂ】第２実施形態に係るパケットロス判定処理の流れの一例を示すフローチャートである。
【図１８】第３実施形態に係るパケット解析装置の構成の一例を示す図である。
【図１９】第３実施形態に係るパケットロス判定処理の流れの一例を示すフローチャートである。
【図２０】第４実施形態に係るパケット解析装置の構成の一例を示す図である。
【図２１Ａ】第４実施形態に係るパケットロス判定処理の流れの一例を示すフローチャートである。
【図２１Ｂ】第４実施形態に係るパケットロス判定処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、以下では、同じ働きを担う構成要素または処理には全図面を通して同じ符号を付与し、重複する説明を適宜省略する。
【００１６】
（第１実施形態）
図１に示すネットワーク１は、パケット解析装置２、スイッチ装置３−１〜３−５、クライアント端末４−１〜４−５およびサーバ５−１〜５−５を含む。
【００１７】
クライアント端末４−１および４−２はそれぞれスイッチ装置３−１に接続され、スイッチ装置３−１は、スイッチ装置３−５に接続される。また、クライアント端末４−３、４−４および４−５はそれぞれスイッチ装置３−３に接続され、スイッチ装置３−３は、スイッチ装置３−５に接続される。
【００１８】
一方、サーバ５−１、５−２および５−３はそれぞれスイッチ装置３−２に接続され、スイッチ装置３−２は、スイッチ装置３−５に接続される。また、サーバ５−４および５−５はそれぞれスイッチ装置３−４に接続され、スイッチ装置３−４は、スイッチ装置３−５に接続される。更にスイッチ装置３−５には、パケット解析装置２が接続される。
【００１９】
なお、以降では、スイッチ装置３−１〜３−５の各々を区別して説明する必要がない場合、スイッチ装置３−１〜３−５をまとめて「スイッチ装置３」と表すことにする。同様に、クライアント端末４−１〜４−５を「クライアント端末４」、サーバ５−１〜５−５を「サーバ５」と表すことにする。なお、図１はネットワーク１の一例を示したものであり、ネットワーク１の例はこれに限られない。
【００２０】
クライアント端末４は、指定したサーバ５からスイッチ装置３を経由してパケットを受信する。例えば、クライアント端末４−１がパケットをサーバ５−１から受信する場合、当該パケットは、サーバ５−１、スイッチ装置３−２、スイッチ装置３−５およびスイッチ装置３−１を経由してクライアント端末４−１に到達する。
【００２１】
したがって、前述の状況では、サーバ５は送信端末の一例であり、クライアント端末４は受信端末の一例である。
【００２２】
一方、ネットワーク１において、例えばクライアント端末４がサーバ５にパケットを要求する電文を送信する場合もある。この場合には、クライアント端末４が送信端末となり、サーバ５が受信端末となる。
【００２３】
このように、ネットワーク１では、状況に応じて送信端末および受信端末が変化する。説明の便宜上、ここでは、クライアント端末４が、指定したサーバ５からパケットを受信する例を用いて、パケット解析装置２の動作について説明するが、クライアント端末４が送信したパケットをサーバ５が受信する形態であってもよい。
【００２４】
なお、ネットワーク１において、スイッチ装置３は、サーバ５から送信されたパケットを中継するネットワーク機器の一例であり、ネットワーク機器はスイッチ装置３に限定されない。例えば、スイッチ装置３を必要に応じてルータ等の他のネットワーク機器に置き換えてもよい。
【００２５】
また、クライアント端末４とスイッチ装置３、サーバ５とスイッチ装置３、パケット解析装置２とスイッチ装置３、およびスイッチ装置３同士をそれぞれ接続する通信回線は有線に限られず、無線であってもよく、または有線と無線の混合形態であってもよい。
【００２６】
パケット解析装置２は、パケット解析装置２の接続先であるスイッチ装置３−５を通過するパケットを時系列に沿ってセッション毎に監視し、ネットワーク１においてパケットの欠落が発生したか否か、すなわちパケットロスの有無を判定する。
【００２７】
ここで、セッションとは、特定のサーバ５と特定のクライアント端末４との間に確立された１対１の論理的な通信路をいう。
【００２８】
ネットワーク１では、サーバ５から送信される何れのパケットもスイッチ装置３−５を通過してクライアント端末４に到達するため、ネットワーク１全体のパケットを監視するには、パケット解析装置２をスイッチ装置３−５に接続することが好ましい。
【００２９】
したがって、図２に示すように、例えばネットワーク１に含まれる各種装置を接続するためのポート６−１〜６−８を備えたスイッチ装置３−５に、スイッチ装置３−１〜３−４およびパケット解析装置２が接続される。
【００３０】
例えばスイッチ装置３−１とスイッチ装置３−２を接続する通信回線上のパケットをパケット解析装置２で監視する場合、スイッチ装置３−５のミラーリング機能を適切に設定すれば、監視対象の通信回線を流れるパケットのコピーがポート６−８からも出力される。このように、パケット解析装置２では、スイッチ装置３のミラーリング機能を用いて監視するポートを選択することで、パケットの送受信を監視する通信回線が選択される。
【００３１】
ネットワーク１では、パケットの通信プロトコルとして、サーバ５とクライアント端末４の間でパケットの送達確認が行われるコネクション型プロトコル、具体的には、例えばＴＣＰ／ＩＰが用いられる。
【００３２】
したがって、クライアント端末４がサーバ５から送信されたパケットを受信した場合、クライアント端末４は、パケットの送信元であるサーバ５に向けてＡＣＫを送信して、パケットを受信したことをパケットの送信元であるサーバ５に通知する。パケットの送信元であるサーバ５は、ＡＣＫをクライアント端末４から受信すると、パケットの要求元であるクライアント端末４でパケットが受信されたと判定し、次の処理に移行する。
【００３３】
しかし、例えばネットワーク１の何れかの箇所でパケットが欠落して、パケットがクライアント端末４に送達されない場合、パケットの送信元であるサーバ５にはクライアント端末４からのＡＣＫが送達されない。したがって、パケットの送信元であるサーバ５の再送タイマがタイムアウトするため、当該サーバ５は、欠落したパケットと同じ内容のパケットをパケットの要求元であるクライアント端末４に向けて再送する。
【００３４】
したがって、仮にパケット解析装置２の接続先であるスイッチ装置３−５と受信端末の間でパケットロスが発生した場合、パケット解析装置２は、例えばパケットのシーケンス番号の重複からパケットロスの有無を判定することができる。具体的には、同一のセッションにおいて、前回取得したパケットのＴＣＰヘッダに含まれるシーケンス番号と同じシーケンス番号を有するパケットが再び確認できた場合に、パケット解析装置２は、パケットロスが発生したと判定することができる。
【００３５】
しかし、前述したように、パケット解析装置２の接続先であるスイッチ装置３−５と送信端末の間でパケットロスが発生した場合は、パケットのシーケンス番号に基づいてパケットロスの有無を判定することは困難になる。
【００３６】
以降では、パケット解析装置２での、パケット解析装置２の接続先であるスイッチ装置３−５と送信端末の間におけるパケットロスの有無の判定方法について説明する。
【００３７】
なお、パケット解析装置２の接続先であるスイッチ装置３−５と送信端末の間を「パケット解析装置２の上流」という場合がある。また、パケット解析装置２の接続先であるスイッチ装置３−５と受信端末の間を「パケット解析装置２の下流」という場合がある。
【００３８】
図３に示すように、パケット解析装置２は、パケット間隔算出部１０、セッション管理テーブル１２、パケット集計テーブル１４、パケット間隔増加検知データ１６を含む。更に、パケット解析装置２は、増加量管理テーブル１８、パケットロス判定部２０、パケットロス集計テーブル２２およびアドレス変換テーブル２４を含む。
【００３９】
パケット間隔算出部１０は、スイッチ装置３−５における監視対象の通信回線上のパケット８を取得し、セッション管理テーブル１２を生成する。ここで、セッション管理テーブル１２とは、セッション毎に送信端末および受信端末のＩＰアドレス等を記録した管理テーブルである。
【００４０】
また、パケット間隔算出部１０は、所定期間において、送信端末毎に送信された、通信方向毎の連続するパケット間の時間間隔を表すパケット間隔を算出する。そして、パケット間隔算出部１０は、パケット間隔が予め定めた期間以上となる回数をパケット受信回数と共に、パケット集計テーブル１４に所定期間毎に記録する。なお、通信方向の詳細については後ほど説明する。また、当該パケット間隔は開示の技術のパケット送信間隔の一例である。
【００４１】
そして、パケット間隔算出部１０は、パケット集計テーブル１４に基づいて、所定期間毎に、送信端末から送信されたパケットの受信回数に対する、パケット間隔が予め定めた期間以上となる回数の割合を、送信端末毎に算出する。更に、パケット間隔算出部１０は、所定期間毎、かつ、送信端末毎に算出した前述の割合（以降、検知率ｒｄという）を、パケット間隔増加検知データ１６として出力する。
【００４２】
一方、パケットロス判定部２０は、パケット間隔算出部１０が出力したパケット間隔増加検知データ１６を取得し、送信端末毎に、直前の所定期間に対する検知率ｒｄの増加量を算出し、増加量管理テーブル１８に記録する。
【００４３】
また、パケットロス判定部２０は、増加量管理テーブル１８に記録されている過去の検知率ｒｄの増加量に基づいて、最新の検知率ｒｄの増加量と比較する増加量閾値を送信端末毎に設定する。そして、パケットロス判定部２０は、検知率ｒｄの増加量が増加量閾値以上であるか否かを所定期間毎、かつ、送信端末毎に判定して、当該判定結果をパケットロス集計テーブル２２に記録する。
【００４４】
更に、パケットロス判定部２０は、パケットロス集計テーブル２２を参照し、検知率ｒｄの増加量が増加量閾値以上となる送信端末の数に基づいて、パケット解析装置２の上流でパケットロスが発生したか否かを判定する。
【００４５】
そして、パケットロス判定部２０は、当該判定結果に基づいて、パケット解析装置２の上流におけるパケットロスの有無を所定期間毎、かつ、送信端末毎に表したパケットロス通知データ２６を生成する。この場合、パケットロス判定部２０は、アドレス変換テーブル２４を参照して、例えば送信端末のＩＰアドレスを送信端末に予め割り当てられている装置名称に変換した上で、パケットロス通知データ２６を生成する。そして、パケットロス判定部２０は、生成したパケットロス通知データ２６を出力する。
【００４６】
なお、セッション管理テーブル１２、パケット集計テーブル１４、パケット間隔増加検知データ１６、増加量管理テーブル１８、パケットロス集計テーブル２２、アドレス変換テーブル２４およびパケットロス通知データ２６の詳細については、後ほど説明する。
【００４７】
図４に示すコンピュータ１００は、ＣＰＵ１０２、メモリ１０４および不揮発性の記憶部１０６を含む。ＣＰＵ１０２、メモリ１０４および不揮発性の記憶部１０６は、バス１０８を介して互いに接続される。また、コンピュータ１００は、入力装置１１２、通信装置１１４および表示装置１１６とコンピュータ１００を接続するＩ／Ｏ（Input/Output）１１０を備え、Ｉ／Ｏ１１０はバス１０８に接続される。
【００４８】
ここで、入力装置１１２は、例えばキーボードおよびマウス等の入力デバイスを含む。また、入力装置１１２は、例えばＣＤ(Compact Disc)、ＤＶＤ(Digital Versatile Disk)またはメモリカード等の記録媒体１１８に記録されるプログラム等を読み取る読み取り装置を含む。
【００４９】
通信装置１１４は、例えばパケット８をスイッチ装置３から受信するための通信プロトコル（例えばＴＣＰ／ＩＰプロトコル）を含み、パケット８をスイッチ装置３から受信する。そして、通信装置１１４は、受信したパケット８をＩ／Ｏ１１０を介してコンピュータ１００に出力する。
【００５０】
表示装置１１６は、例えばコンピュータ１００がパケットロス通知データ２６に基づいて生成した画像を画面に表示する。
【００５１】
また、記憶部１０６は、フラッシュメモリまたはＨＤＤ（Hard Disk Drive）等によって実現できる。
【００５２】
なお、図４の例では、入力装置１１２、通信装置１１４および表示装置１１６をコンピュータ１００と独立した装置として示しているが、これに限られず、コンピュータ１００に内蔵してもよい。
【００５３】
記憶部１０６には、コンピュータ１００を図３に示すパケット解析装置２として機能させるためのパケット解析プログラム１２０と、アドレス変換テーブル２４を生成するための情報を含むアドレス変換情報１２６が記憶される。記憶部１０６に記憶されるパケット解析プログラム１２０は、パケット間隔算出プロセス１２２およびパケットロス判定プロセス１２４を含む。
【００５４】
ＣＰＵ１０２は、パケット解析プログラム１２０を記憶部１０６から読み出してメモリ１０４に展開し、パケット解析プログラム１２０に含まれる各プロセスを実行することで、コンピュータ１００を図３に示すパケット解析装置２として動作させる。
【００５５】
すなわち、ＣＰＵ１０２がパケット間隔算出プロセス１２２を実行することで、コンピュータ１００が図３に示すパケット間隔算出部１０として動作する。また、ＣＰＵ１０２がパケットロス判定プロセス１２４を実行することで、コンピュータ１００が図３に示すパケットロス判定部２０として動作する。
【００５６】
また、ＣＰＵ１０２は、アドレス変換情報１２６をメモリ１０４に展開して、メモリ１０４にアドレス変換テーブル２４を生成する。
【００５７】
なお、コンピュータ１００は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現することも可能である。
【００５８】
また、本実施形態に係るコンピュータ１００のＣＰＵ１０２には日時を管理するカレンダ機能が含まれる。パケット解析プログラム１２０は、予め定めたＡＰＩ（Application Programming Interface）を用いることで、日時情報をＣＰＵ１０２から取得することができる。
【００５９】
次に、第１実施形態に係るパケット解析装置２の作用について説明する。パケット解析装置２は、例えばユーザから入力装置１１２を介して解析開始指示を受け付けた場合に、図５Ａおよび図５Ｂに示すパケット解析処理を行う。この場合、後述する比較時刻の値は、例えば０時０分（以下、“0:00”と記載する場合がある）に予め初期化されているものとする。
【００６０】
更に、以降では、パケット間隔算出部１０を算出部１０と記載し、パケットロス判定部２０を判定部２０と記載する。また、図５Ａおよび図５Ｂをまとめて図５と記載する場合がある。
【００６１】
まず、図５ＡのステップＳ１０において、算出部１０は、監視対象である通信回線上のパケット８を受信したか否かを判定する。パケット８を受信していない場合はステップＳ２０に移行する。
【００６２】
ステップＳ２０において、算出部１０は、ユーザから入力装置１１２を介してパケット解析処理の終了指示を受け付けたか否かを判定する。終了指示を受け付けた場合には、図５に示すパケット解析処理を終了する。
【００６３】
一方、パケット解析処理の終了指示を受け付けていない場合にはステップＳ１０に戻り、パケット８を受信したか否か繰り返し判定することで、ユーザから終了指示を受け付けるまで、監視対象である通信回線上を流れるパケット８を受信し続ける。
【００６４】
ステップＳ１０の判定処理が肯定判定の場合、すなわちパケット８を受信した場合には、ステップＳ３０に移行する。
【００６５】
ステップＳ３０において、算出部１０は、受信したパケット８にパケット８を受信した時刻情報（タイムスタンプともいう）を関連付けて、例えばメモリ１０４の予め定めた領域に記憶する。
【００６６】
そして、算出部１０は、受信したパケット８のヘッダを解析し、パケット８を送信した送信端末のＩＰアドレス（送信元アドレスともいう）およびポート番号（送信元ポート番号ともいう）を取得する。また、算出部１０は、受信したパケット８のヘッダを解析し、パケット８の送信先である受信端末のＩＰアドレス（送信先アドレスともいう）およびポート番号（送信先ポート番号ともいう）を取得する。更に、算出部１０は、受信したパケット８のヘッダを解析し、パケット８を送受信する場合のトランスポート層（すなわち、ＯＳＩ参照モデルにおけるレイヤ４）に適用されているプロトコルを取得する。
【００６７】
ステップＳ４０において、算出部１０は、メモリ１０４の予め定めた領域に記憶されているセッション管理テーブル１２を参照し、受信したパケット８のセッションと同じセッション情報が、既にセッション管理テーブル１２に登録されているか否かを判定する。
【００６８】
図６に示すように、セッション管理テーブル１２は、送信先アドレス、送信先ポート番号、送信元アドレス、送信元ポート番号、トランスポート層プロトコル、タイムスタンプおよび通信方向に関する情報を行方向に関連付けたテーブルである。
【００６９】
ここで、通信方向とは、ネットワーク１におけるパケット８の通信方向を示す情報である。例えば、サーバ５からクライアント端末４に向かって送信されるパケット８の通信方向を“１”、クライアント端末４からサーバ５に向かって送信されるパケット８の通信方向を“０”として表している。なお、通信方向を示す“０”および“１”の値は一例であり、セッション管理テーブル１２の通信方向の情報からパケット８の通信方向を特定することができれば、どのような値を用いてもよいことは言うまでもない。
【００７０】
セッションは、例えば送信先アドレス、送信先ポート番号、送信元アドレス、送信元ポート番号およびトランスポート層プロトコルの組合せ、すなわちセッション情報により表される。したがって、算出部１０は、受信したパケット８のセッション情報が既にセッション管理テーブル１２の何れかの行データに含まれている場合、受信したパケット８のセッションと同じセッション情報が既にセッション管理テーブル１２に登録されていると判定する。なお、以降では、セッション管理テーブル１２の行データをセッションデータという。
【００７１】
セッション管理テーブル１２には通信方向の情報が含まれるため、パケット８の送信先アドレスおよび送信先ポート番号と、送信元アドレスおよび送信元ポート番号とが入れ替わっているそれぞれのセッション情報を、１つのセッションデータで扱うことができる。したがって、算出部１０は、パケット８の送信先アドレスおよび送信先ポート番号と、送信元アドレスおよび送信元ポート番号とが入れ替わっているセッション情報がセッション管理テーブル１２にある場合にも、セッション管理テーブル１２に登録済みと判定する。
【００７２】
なお、セッション管理テーブル１２には、必ずしも通信方向の情報を含めなくてもよい。この場合には、パケット８の送信先アドレスおよび送信先ポート番号と、送信元アドレスおよび送信元ポート番号とが入れ替わっているそれぞれのセッション情報を、個別のセッションデータとしてセッション管理テーブル１２に登録することになる。
【００７３】
しかし、図６に示すように、セッション管理テーブル１２に通信方向の情報を含めた場合、セッション管理テーブル１２に通信方向の情報を含めない場合と比較して、セッション管理テーブル１２の行数、すなわち、データ量を減少させることができる。
【００７４】
ステップＳ４０の判定が否定判定の場合、すなわち、受信したパケット８のセッションと同じセッション情報がセッション管理テーブル１２に登録されていない場合には、ステップＳ５０に移行する。
【００７５】
なお、セッション管理テーブル１２のタイムスタンプには、該当するセッション情報で表される送信端末から前回受信したパケット８の時刻情報が記録される。
【００７６】
ステップＳ５０において、算出部１０は、受信したパケット８のセッション情報を含むセッションデータを図６に示すセッション管理テーブル１２に追加する。この場合、算出部１０は、追加するセッションデータのタイムスタンプとして、ステップＳ３０でパケット８に関連付けたタイムスタンプを用いる。
【００７７】
また、算出部１０は、例えばパケット８の送信元アドレスに基づいて、セッション管理テーブル１２に追加するセッションデータの通信方向を設定する。具体的には、例えば各クライアント端末４のＩＰアドレスを予めメモリ１０４に記憶しておく。そして、算出部１０は、受信したパケット８の送信元アドレスが何れのクライアント端末４のＩＰアドレスとも一致しなければ、通信方向に“１”を設定すればよい。また、算出部１０は、受信したパケット８の送信元アドレスが何れかのクライアント端末４のＩＰアドレスと一致すれば、通信方向に“０”を設定すればよい。
【００７８】
一方、ステップＳ４０の判定処理が肯定判定の場合、すなわち、受信したパケット８のセッションと同じセッション情報がセッション管理テーブル１２に登録されている場合には、ステップＳ６０に移行する。
【００７９】
ネットワーク１で送受信されるパケット８には、例えばパケット８のデータ部に送信端末が付加したデータが含まれるパケット、すなわちデータパケットと称されるパケットの他、データパケットの送達確認に用いられるＡＣＫ等が含まれる。
【００８０】
したがって、ステップＳ６０において、算出部１０は、受信したパケット８がデータパケットであるか否かを判定し、受信したパケット８がデータパケットでない場合にはステップＳ１０に戻って次のパケット８の受信を行う。一方、受信したパケット８がデータパケットである場合にはステップＳ７０に移行する。
【００８１】
受信したパケット８がデータパケットか否か判定する理由は、後述するように、送信端末が送信するデータパケットの送信間隔を算出するためである。なお、算出部１０は、受信したパケット８のヘッダに含まれるデータ部のデータ長を参照し、例えばデータ部のデータ長が“０”であれば、受信したパケット８はデータパケットではないと判定する。
【００８２】
ステップＳ７０において、算出部１０は、前述したように、例えばパケット８の送信元アドレスに基づいてパケット８の通信方向を判定する。そして、算出部１０は、パケット８のセッションと同じセッション情報を含むセッション管理テーブル１２のセッションデータを参照し、受信したパケット８の通信方向と当該セッションデータの通信方向とが同じか否かを判定する。
【００８３】
受信したパケット８の通信方向が、セッション管理テーブル１２の対応するセッション情報の通信方向と異なる場合、すなわち、パケット８の通信方向が前回受信したパケット８の通信方向と異なる場合には、後述する図５ＢのステップＳ１２０に移行する。
【００８４】
一方、パケット８の通信方向が、セッション管理テーブル１２の対応するセッション情報の通信方向と同じ場合、すなわち、パケット８の通信方向が前回受信したパケット８の通信方向と同じ場合には、ステップＳ８０に移行する。
【００８５】
すなわち、同じセッションであっても、サーバ５とクライアント端末４で交互にパケット８を送信して、受信したパケット８の通信方向が前回受信したパケットの通信方向と異なる場合には、後述するステップＳ８０〜Ｓ１１０の処理を実行しないようにする。これは、同じ送信端末から連続して送信されたパケット８の送信間隔を、後述するステップＳ９０で算出するためである。
【００８６】
ステップＳ８０において、算出部１０は、まずパケット集計テーブル１４を参照する。
【００８７】
ここで、図７を用いてパケット集計テーブル１４について説明する。図７に示すように、パケット集計テーブル１４は、例えば出力時刻毎におけるパケット８の受信回数Ｃａｌｌおよび間隔増加回数Ｃｄを、パケット８の送信元アドレス毎に集計したテーブルである。
【００８８】
出力時刻とは、時刻を所定期間毎に分割した場合に、当該分割された期間に含まれる時刻の各々を一意に示すインデックスとして用いられる時刻である。
【００８９】
例えば、出力時刻が“9:01”とは、時刻が９時００分を超え、かつ、９時０１分以下の期間を表し、出力時刻が“9:02”とは、時刻が９時０１分を超え、かつ、９時０２分以下の期間を表す。なお、ここでは所定期間を１分に設定した例について説明するが、所定期間の設定値に制限はなく、所定期間を１分以外の値に設定してもよい。
【００９０】
受信回数Ｃａｌｌは、対応する出力時刻で表される所定期間における送信元アドレス毎のパケット８の受信回数を表す。間隔増加回数Ｃｄは、対応する出力時刻で表される所定期間において受信した送信元アドレス毎のパケット８のうち、前回受信したパケット８との間隔が予め定めた期間以上となる回数を表す。
【００９１】
一例として、図７のパケット集計テーブル１４の送信元アドレスが“192.168.1.11”で、かつ、出力時刻が“9:03”の欄に含まれる値の説明を行う。この場合、送信元アドレスが“192.168.1.11”で表される送信端末が、“9:03”の出力時刻で表される所定期間にパケット８を１８００回送信し、そのうち、９０回に亘ってパケット８の送信間隔が予め定めた期間以上になったことを表している。
【００９２】
そして、算出部１０は、パケット集計テーブル１４において、受信したパケット８のタイムスタンプに対応する出力時刻の行データの、パケット８の送信元アドレスの受信回数Ｃａｌｌを１つ増加する。以降では、出力時刻で表される行データのことを「出力時刻データ」といい、パケット８のタイムスタンプに対応する出力時刻の行データのことを「パケット８の出力時刻データ」と記載することにする。
【００９３】
なお、受信したパケット８の出力時刻データがパケット集計テーブル１４に存在しない場合、算出部１０は、出力時刻以外の全ての要素を“０”に設定した初期化データをパケット集計テーブル１４に追加する。すなわち、算出部１０は、受信したパケット８のタイムスタンプに対応する出力時刻を出力時刻欄に設定し、かつ、受信回数Ｃａｌｌおよび間隔増加回数Ｃｄを“０”に設定した初期化データを、パケット集計テーブル１４に追加する。
【００９４】
図８は、受信したパケット８のタイムスタンプが例えば“09:05:18”であるため、出力時刻が“9:05”まで存在するパケット集計テーブル１４に対して、出力時刻が“9:06”の初期化データを新たに追加した例を表している。
【００９５】
なお、パケット集計テーブル１４に追加する出力時刻が、パケット集計テーブル１４の出力時刻と所定期間単位で連続しない場合、算出部１０は、出力時刻が所定期間単位で連続するように、初期化データをパケット集計テーブル１４に追加する。
【００９６】
ここで、「出力時刻と所定期間単位で連続しない」とは、例えば所定期間が１分であれば、パケット集計テーブル１４に既に記録されている最新の出力時刻と、パケット集計テーブルに追加しようとする出力時刻との間隔が１分を超える状況をいう。
【００９７】
具体的には、受信したパケット８のタイムスタンプが例えば“09:06:18”の場合、受信したパケット８に対応する出力時刻は“9:07”となる。この場合に、パケット集計テーブル１４に記録されている最新の出力時刻が“9:05”であれば、各々の出力時刻の間隔が所定期間を超えていることになる。
【００９８】
したがって、図９に示すように、算出部１０は、受信したパケット８のタイムスタンプに対応する出力時刻、すなわち、出力時刻が“9:07”の初期化データと、出力時刻が“9:06”の初期化データとをパケット集計テーブル１４に追加する。なお、以降では「パケット８のタイムスタンプに対応する出力時刻」を「パケット８の出力時刻」という。
【００９９】
その上で、算出部１０は、パケット集計テーブル１４における受信したパケット８の出力時刻データにおける、パケット８の送信元アドレスの受信回数Ｃａｌｌを１つ増加する。
【０１００】
ステップＳ９０において、算出部１０は、受信したパケット８のセッションと同じセッション情報を含むセッションデータのタイムスタンプを、図６に示したセッション管理テーブル１２から取得する。すなわち、算出部１０は、受信したパケット８を送信した送信端末と同じ送信端末から前回受信したパケット８のタイムスタンプを取得する。
【０１０１】
一方、算出部１０は、ステップＳ３０でメモリ１０４に記憶した、受信したパケット８のタイムスタンプを取得する。
【０１０２】
そして、算出部１０は、前回受信したパケット８のタイムスタンプと今回受信したパケット８のタイムスタンプとの差分を求め、パケット８のパケット間隔を算出する。
【０１０３】
引き続き、図５ＢのステップＳ１００において、算出部１０は、ステップＳ９０で算出したパケット間隔が、閾値ｔｈ１以上か否かを判定する。パケット間隔が閾値ｔｈ１以上の場合にはステップＳ１１０に移行し、そうでない場合には、ステップＳ１１０を実行せずにステップＳ１２０に移行する。
【０１０４】
閾値ｔｈ１は、パケット８の欠落によって、送信端末で欠落したパケット８の再送が行われたとみなすことができる値に設定することが好ましい。
【０１０５】
例えば、閾値ｔｈ１を、予め送信端末に設定されているパケット８の再送タイムアウト(ＲＴＯ:Retransmission Time Out)の値に設定すればよい。なお、ＲＴＯとは、パケット８の再送を開始するまでのＡＣＫの待ち時間である。
【０１０６】
更に、閾値ｔｈ１を、送信端末でパケット８を送信してから、当該パケット８に対するＡＣＫを受信端末から受信するまでの遅延時間(ＲＴＴ:Round Trip Time)を考慮して逐次修正されたＲＴＯの値に設定してもよい。この場合、値が固定されたＲＴＯに基づいて閾値ｔｈ１を設定する場合に比べて、実際のネットワーク１のトラフィック量および接続形態に合わせて閾値ｔｈ１を設定することができる。
【０１０７】
なお、算出したパケット間隔と比較する当該閾値ｔｈ１は、開示の技術における第１の閾値の一例である。
【０１０８】
ステップＳ１１０において、算出部１０は、パケット集計テーブル１４における受信したパケット８の出力時刻データのうち、パケット８の送信元アドレスの間隔増加回数Ｃｄを１つ増加する。
【０１０９】
ステップＳ１２０において、算出部１０は、受信したパケット８の出力時刻が、後述するステップＳ１６０で更新される比較時刻より後の時刻か否かを判定する。受信したパケット８の出力時刻が比較時刻より後の時刻であれば、ステップＳ１３０に移行する。一方、受信したパケット８の出力時刻が比較時刻以前の時刻であれば、ステップＳ１３０〜Ｓ１６０の処理を実行せずに、ステップＳ１７０に移行する。
【０１１０】
なお、既に述べたように、比較時刻の初期値は、受信したパケット８の出力時刻より前の時刻となるように“0:00”に設定されている。
【０１１１】
ステップＳ１３０において、算出部１０は、パケット集計テーブル１４を参照して、受信したパケット８の出力時刻より前の直近の出力時刻、すなわち直前の出力時刻における検知率ｒｄを、送信元アドレス毎に算出する。
【０１１２】
送信元アドレス毎の検知率ｒｄは、各送信元アドレス欄における受信回数Ｃａｌｌおよび間隔増加回数Ｃｄを用いて（１）式により算出される。
【０１１３】
【数１】
0006578999.tif 000002
【０１１４】
ステップＳ１３０において、受信したパケット８の出力時刻に対する直前の出力時刻の検知率ｒｄを算出する理由は、これ以降、直前の出力時刻に対応した所定期間に含まれるタイムスタンプが関連付けられたパケット８を受信することはないためである。すなわち、直前の出力時刻におけるパケット集計テーブル１４の出力時刻データが、これ以降変化することなく確定したためである。なお、以降では、ステップＳ１０で受信したパケット８の出力時刻に対する直前の出力時刻のことを、「対象出力時刻」という場合がある。
【０１１５】
なお、パケット集計テーブル１４の最初の出力時刻、すなわち、最初に受信したパケット８が含まれる出力時刻では、パケット８の受信タイミングによっては、所定期間に亘ってパケット８の受信回数Ｃａｌｌおよび間隔増加回数Ｃｄを集計できていない場合がある。
【０１１６】
例えば、最初に受信したパケット８のタイムスタンプが９時００分４０秒の場合、出力時刻が“9:01”の出力時刻データには、９時１分までの２０秒間に受信したパケット８の受信回数Ｃａｌｌおよび間隔増加回数Ｃｄしか含まれないことになる。したがって、算出部１０は、対象出力時刻がパケット集計テーブル１４の最初の出力時刻である場合、ユーザの設定に従って、検知率ｒｄを算出するかしないか判断するようにしてもよい。
【０１１７】
ステップＳ１４０において、算出部１０は、ステップＳ１３０で算出した対象出力時刻における検知率ｒｄを送信元アドレス毎にパケット間隔増加検知データ１６に追加する。算出部１０は、対象出力時刻における検知率ｒｄを追加したパケット間隔増加検知データ１６を、例えばメモリ１０４の予め定めた領域に記憶する。なお、以降では、パケット間隔増加検知データ１６を「検知データ１６」という場合がある。
【０１１８】
ここで、図１０を用いて検知データ１６について説明する。図１０に示すように、検知データ１６は、例えば出力時刻毎における検知率ｒｄを、パケット８の送信元アドレス毎に集計したデータである。
【０１１９】
例えば、対象出力時刻が“9:05”である場合、図７に示すパケット集計テーブル１４に基づき、出力時刻が“9:05”の出力時刻データが検知データ１６に追加される。
【０１２０】
なお、追加する対象出力時刻が、検知データ１６の最新の出力時刻と所定期間単位で連続しない場合、算出部１０は、出力時刻が所定期間単位で連続するように、対象出力時刻と前記最新の出力時刻との間に初期化データを追加する。
【０１２１】
具体的には、対象出力時刻が“9:05”であり、検知データ１６に記録されている最新の出力時刻が“9:03”である場合、対象出力時刻が“9:05”の出力時刻データに加えて、出力時刻が“9:04”の初期化データも検知データ１６に追加する。
【０１２２】
ステップＳ１５０において、判定部２０は、ステップＳ１４０で生成された検知データ１６に基づいて、出力時刻毎、かつ、送信端末毎に、パケット解析装置２の上流におけるパケットロスの有無を判定するパケットロス判定処理を実行する。なお、パケットロス判定処理の詳細については、後ほど説明する。
【０１２３】
ステップＳ１６０において、算出部１０は、受信したパケット８の出力時刻を比較時刻に設定する。すなわち、ステップＳ１２０において、受信したパケット８の出力時刻と比較する比較時刻は、受信したパケット８の出力時刻によって逐次更新される。
【０１２４】
これは、出力時刻が同じパケット８を複数受信した場合、後から受信したパケット８によって、ステップＳ１３０〜Ｓ１６０の処理が重複して実行されることを防ぐためである。
【０１２５】
ステップＳ１７０において、算出部１０は、受信したパケット８のセッションと同じセッション情報を含むセッション管理テーブル１２のセッションデータのタイムスタンプおよび通信方向を更新する。
【０１２６】
具体的には、算出部１０は、該当するセッションデータのタイムスタンプを、ステップＳ３０でパケット８に関連付けたタイムスタンプに設定する。また、算出部１０は、該当するセッションデータの通信方向を、受信したパケット８の通信方向に設定する。したがって、セッション管理テーブル１２のタイムスタンプおよび通信方向には、直前に受信したパケット８の対応する情報がセッションデータ毎にそれぞれ記録されることになる。
【０１２７】
ステップＳ１７０の実行後は再び図５ＡのステップＳ１０に戻り、次のパケット８の受信を行う。
【０１２８】
次に、ステップＳ１５０におけるパケットロス判定処理について詳細に説明する。
【０１２９】
判定部２０は、ステップＳ１５０において、図１１Ａおよび図１１Ｂに示すパケットロス判定処理を行う。なお、以降では、図１１Ａおよび図１１Ｂをまとめて図１１という場合がある。
【０１３０】
まず、図１１ＡのステップＳ２００において、判定部２０は、算出部１０が図５ＢのステップＳ１４０で生成した検知データ１６をメモリ１０４から読み込む。
【０１３１】
ステップＳ２１０において、判定部２０は、ステップＳ２００で読み込んだ検知データ１６に含まれる送信元アドレスのうち、まだ選択していない送信元アドレスを１つ選択する。
【０１３２】
ステップＳ２２０において、判定部２０は、後述するステップＳ２５０で更新される増加量管理テーブル１８の内容に基づいて、ステップＳ２１０で選択した送信元アドレスにおける検知率ｒｄの増加量の平均値ｒａｖｅおよび標準偏差ｒｓｔｄを算出する。
【０１３３】
図１２に示すように、増加量管理テーブル１８は送信元アドレス毎に存在し、検知データ１６における各出力時刻の直前の出力時刻に対する検知率ｒｄの変化量が増加する場合に、当該検知率ｒｄの増加量を記録したテーブルである。
【０１３４】
なお、図１２に示す増加量管理テーブル１８の例では、検知率ｒｄの各増加量にＮｏ．１〜Ｎｏ．ｍ（ｍは自然数）の番号が割り当てられているが、検知率ｒｄの増加量だけが増加量管理テーブル１８に記録されていてもよい。
【０１３５】
ステップＳ２３０において、判定部２０は、検知データ１６を参照して、対象出力時刻の直前の出力時刻における検知率ｒｄに対する対象出力時刻の検知率ｒｄの変化量を算出する。
【０１３６】
ステップＳ２４０において、判定部２０は、ステップＳ２３０で算出した検知率ｒｄの変化量が０より大きいか否か、すなわち、検知率ｒｄの変化量が増加したか否かを判定する。検知率ｒｄの変化量が増加した場合はステップＳ２５０に移行する。
【０１３７】
ステップＳ２５０において、判定部２０は、ステップＳ２３０で算出した検知率ｒｄの変化量、すなわち検知率ｒｄの増加量を、選択した送信元アドレスの増加量管理テーブル１８に記録する。したがって、次回のステップＳ２２０では、対象出力時刻における検知率ｒｄの増加量を含めた形で、検知率ｒｄの増加量の平均値ｒａｖｅおよび標準偏差ｒｓｔｄを算出することができる。
【０１３８】
ステップＳ２６０において、判定部２０は、ステップＳ２５０で増加量管理テーブル１８に記録した対象出力時刻における検知率ｒｄの増加量が、閾値ｔｈ２以上か否かを判定する。検知率ｒｄの増加量が閾値ｔｈ２以上の場合にはステップＳ２７０に移行する。
【０１３９】
ここで、閾値ｔｈ２は、検知率ｒｄの増加量が急増したとみなせる程度の値に設定することが好ましい。具体的には、閾値ｔｈ２は、ステップＳ２２０で算出した検知率ｒｄの増加量の平均値ｒａｖｅおよび標準偏差ｒｓｔｄを用いて、送信端末毎に（２）式によって設定される。
【０１４０】
【数２】
0006578999.tif 000003
【０１４１】
この場合、統計学的に検知率ｒｄの増加量が閾値ｔｈ２以上となる確率は約０．２７％となる。したがって、検知率ｒｄの増加量が閾値ｔｈ２以上となる状況のことを、「検知率ｒｄの増加量が急増した」状況という。
【０１４２】
なお、（２）式は閾値ｔｈ２の設定例であり、閾値ｔｈ２の設定が（２）式に限られないことは言うまでもない。また、閾値ｔｈ２は、開示の技術における第２の閾値の一例である。
【０１４３】
ステップＳ２７０において、判定部２０は、選択した送信元アドレスで表される送信端末で、対象出力時刻における検知率ｒｄの増加量が閾値ｔｈ２以上であることを、パケットロス集計テーブル２２に記録する。
【０１４４】
ここで、図１３を用いてパケットロス集計テーブル２２について説明する。図１３に示すように、パケットロス集計テーブル２２は、例えば出力時刻毎における検知率ｒｄの増加量の大きさを、パケット８の送信元アドレス毎に集計したテーブルである。
【０１４５】
例えば、検知率ｒｄの増加量が閾値ｔｈ２以上である場合には“１”、検知率ｒｄの増加量が閾値ｔｈ２未満である場合には“０”がパケットロス集計テーブル２２の該当する位置に設定される。
【０１４６】
なお、検知率ｒｄの増加量の大きさを示す“０”および“１”の値は一例であり、他の値によって検知率ｒｄの増加量の大きさを示すようにしてもよいことは言うまでもない。
【０１４７】
一例として、図１３のパケットロス集計テーブル２２の送信元アドレスが“192.168.1.11”で、かつ、出力時刻が“9:03”で示される位置に設定された値に注目する。この場合、当該値が“１”であることから、送信元アドレスが“192.168.1.11”で表される送信端末では、“9:03”の出力時刻で表される所定期間に検知率ｒｄの増加量が閾値ｔｈ２以上となった、すなわち検知率ｒｄの増加量が急増したことがわかる。
【０１４８】
なお、対象出力時刻がパケットロス集計テーブル２２の最新の出力時刻と所定期間単位で連続しない場合、判定部２０は、出力時刻が所定期間単位で連続するように、対象出力時刻と前記最新の出力時刻との間に、初期化データを追加する。
【０１４９】
具体的には、パケットロス集計テーブル２２に追加する対象出力時刻が“9:05”であり、パケットロス集計テーブル２２に記録されている最新の出力時刻が“9:03”の場合、判定部２０は、出力時刻が“9:04”の初期化データも追加する。
【０１５０】
一方、ステップＳ２４０またはＳ２６０の判定処理が否定判定となった場合には、ステップＳ２８０に移行する。
【０１５１】
ステップＳ２８０において、判定部２０は、選択した送信元アドレスで表される送信端末で、対象出力時刻における検知率ｒｄの増加量が閾値ｔｈ２未満であることを、パケットロス集計テーブル２２に記録する。
【０１５２】
ステップＳ２９０において、判定部２０は、検知データ１６に含まれる全ての送信元アドレスを選択したか否かを判定する。検知データ１６に含まれる送信元アドレスの中に、まだ選択していない送信元アドレスがある場合にはステップＳ２１０に戻る。そして、ステップＳ２１０〜Ｓ２９０の処理を繰り返すことで、対象出力時刻における検知率ｒｄの増加量の急増状況を送信元アドレス毎に設定したパケットロス集計テーブル２２が得られる。
【０１５３】
特定の出力時刻において検知率ｒｄの増加量が急増した送信端末では、そうでない送信端末に比べて、当該特定の出力時刻で表される所定期間において、パケット解析装置２の上流でパケットロスが発生した可能性が高いと考えられる。
【０１５４】
しかしながら、パケットロスはネットワーク１におけるトラフィック量の増大、スイッチ装置３の障害、或いは通信回線の切断等、ネットワーク１におけるパケット８の伝送系の障害によって発生する場合が多い。この場合、複数の送信端末で、一斉に検知率ｒｄの増加量が急増するものと考えられる。
【０１５５】
したがって、検知率ｒｄの増加量の急増状況に基づいて、送信端末毎にパケットロスの発生を判定するのではなく、特定の出力時刻に複数の送信端末で検知率ｒｄの増加量の急増が発生した場合に、パケットロスが発生したと判定することが好ましい。
【０１５６】
そのため、ステップＳ３００において、判定部２０は、対象出力時刻における検知率ｒｄの増加量が閾値ｔｈ２以上であると判定された送信端末の送信元アドレスを、パケットロス集計テーブル２２から抽出する。具体的には、判定部２０は、対象出力時刻の出力時刻データに“１”が設定されている送信元アドレスを抽出する。
【０１５７】
ステップＳ３１０において、判定部２０は、ステップＳ３００で抽出した送信元アドレスの抽出数が、閾値ｔｈ３以上か否かを判定する。送信元アドレスの抽出数が閾値ｔｈ３以上の場合にはステップＳ３２０に移行する。
【０１５８】
ここで、閾値ｔｈ３は、例えばネットワーク１においてパケット８の伝送系に障害が発生した場合に、検知率ｒｄの増加量が急増すると予想される送信端末の数に設定することが好ましい。前述したように、この場合は複数の送信端末で検知率ｒｄの増加量の急増が発生すると考えられることから、閾値ｔｈ３は２以上の値に設定される。なお、当該送信端末の数は、例えばネットワーク１における実測、或いはネットワーク１の設計仕様に基づくコンピュータシミュレーション等により予め求めることができる。
【０１５９】
送信元アドレスの抽出数が閾値ｔｈ３以上である場合、判定部２０は、抽出した送信元アドレスで表される送信端末のパケット８がパケット解析装置２の上流で欠落した、すなわちパケットロスが発生したと判定する。
【０１６０】
ステップＳ３２０において、判定部２０は、アドレス変換テーブル２４を参照して、パケットロス集計テーブル２２に含まれる送信元アドレスの各々を、ホスト名、すなわち送信元アドレスに対応する送信端末に割り当てた名称に変換する。
【０１６１】
図１４に示すように、アドレス変換テーブル２４は、送信元アドレスとホスト名とを対応づけたテーブルである。図１４に示すアドレス変換テーブルの例では、送信元アドレスが“192.168.1.11”の送信端末に対して、“Ｗｅｂ１”のホスト名が対応付けられ、他の送信元アドレスの送信端末に対しても、何らかのホスト名が対応付けられていることを表している。
【０１６２】
ステップＳ３３０において、判定部２０は、パケットロス集計テーブル２２およびステップＳ３２０で取得したホスト名に基づいて、パケットロス通知データ２６を生成する。具体的には、判定部２０は、前回生成したパケットロス通知データ２６をメモリ１０４から取得して、対象出力時刻における各送信端末のパケットロスの有無を示した出力時刻データを、パケットロス通知データ２６に追加する。なお、メモリ１０４にパケットロス通知データ２６が記憶されていない場合には、判定部２０は、空のパケットロス通知データ２６を新たに作成して、対象出力時刻における出力時刻データをパケットロス通知データ２６に追加する。
【０１６３】
図１５に、パケットロス通知データ２６の一例を示す。判定部２０は、例えば、パケットロスが発生したと判定されるホスト名には“１”、パケットロスの発生が認められないホスト名には“０”を設定した出力時刻データを、パケットロス通知データ２６に追加する。
【０１６４】
なお、対象出力時刻が、パケットロス通知データ２６の最新の出力時刻と所定期間単位で連続しない場合、判定部２０は、出力時刻が所定期間単位で連続するように、対象出力時刻と前記最新の出力時刻との間に初期化データを追加する。
【０１６５】
例えば、対象出力時刻が“9:05”であり、パケットロス通知データ２６に記録されている最新の出力時刻が“9:03”の場合、判定部２０は、出力時刻が“9:04”の初期化データもパケットロス通知データ２６に追加する。
【０１６６】
判定部２０は、生成したパケットロス通知データ２６を表示装置１１６に出力して、図１１に示すパケットロス判定処理を終了する。この場合に、判定部２０は、生成したパケットロス通知データ２６を例えばメモリ１０４の予め定めた領域に記憶する。そして、既に説明した図５ＢのステップＳ１６０に移行する。
【０１６７】
パケットロス通知データ２６を受け付けた表示装置１１６は、パケットロス通知データ２６の内容に基づいて、送信端末毎にパケットロスの有無を時系列に沿った形態で表示装置１１６の画面に表示する。
【０１６８】
図１６に、図１５に示したパケットロス通知データ２６に基づいて表示装置１１６に表示される画面の一例を示す。
【０１６９】
図１６の画面例では、横軸に出力時刻が時系列に沿って配置され、縦軸にパケット８を送信した送信端末のホスト名が配置される。図１５に示したパケットロス通知データ２６では、出力時刻が“9:03”の期間に、Ｗｅｂ１、Ｗｅｂ２およびＷｅｂ３でパケットロスが発生し、その他の出力時刻ではパケットロスが発生していないことを表している。したがって、図１６に示した画面例においても、パケットロスに関して同様の状況が示されることになる。
【０１７０】
一方、ステップＳ３１０において、送信元アドレスの抽出数が閾値ｔｈ３未満の場合には、ステップＳ３２０およびＳ３３０の処理を実行することなく、図１１に示すパケットロス判定処理を終了する。これは、閾値ｔｈ３未満の数の送信端末において検知率ｒｄの増加量が急増した場合には、パケットロスではなく、パケット８の遅延等が発生したことによって検知率ｒｄの増加量が急増したと考える方が適切であると考えられるためである。
【０１７１】
以上により、図５Ａおよび図５Ｂに示したパケット解析処理を終了する。
【０１７２】
このように、第１実施形態に係るパケット解析装置２は、ユーザからパケット解析処理の終了指示を受け付けるまで、監視対象である通信回線を流れるパケット８を受信して、出力時刻毎、すなわち所定期間毎に各送信端末における検知率ｒｄを算出する。そして、パケット解析装置２は、連続する出力時刻において検知率ｒｄの増加量を算出し、検知率ｒｄの増加量が閾値ｔｈ２以上となる送信端末が閾値ｔｈ３以上存在する場合に、これらの送信端末でパケットロスが発生したと判定する。
【０１７３】
したがって、第１実施形態に係るパケット解析装置２は、単にパケット８の送信間隔が予め定めた間隔より長くなった場合にパケット解析装置２の上流でパケットロスが発生したと検知する場合に比べて、パケットロスの有無を精度よく検知することができる。
【０１７４】
また、第１実施形態に係るパケット解析装置２では、図５のパケット解析処理を実行する毎に、検知率ｒｄの増加量の平均値ｒａｖｅおよび標準偏差ｒｓｔｄを用いて閾値ｔｈ２を設定する。したがって、値を固定した閾値ｔｈ２を用いる場合に比べて、ネットワーク１における実際のパケット間隔の増加状況に合わせて閾値ｔｈ２を設定することができるため、パケット解析装置２の上流におけるパケットロスをより精度良く検知することができる。
【０１７５】
また、第１実施形態に係るパケット解析装置２は、パケットロス通知データ２６によって、パケットロスの有無の判定結果を時系列に沿って出力する。したがって、パケットロスの有無に関する最新の判定結果のみを出力する場合と比較して、ネットワーク１におけるパケットロスの発生状況の変化傾向をユーザに提供することができる。
【０１７６】
なお、第１実施形態に係るパケット解析装置２では、図１１ＡのステップＳ２６０において、検知率ｒｄの増加量と閾値ｔｈ２を比較したが、例えば検知率ｒｄの増加率と閾値を比較するようにしてもよい。この場合、検知率ｒｄの増加率が特定の閾値以上か否かによって、その判定結果をパケットロス集計テーブル２２に記録する。
【０１７７】
（第２実施形態）
第１実施形態に係るパケット解析装置２では、検知率ｒｄの増加量が閾値ｔｈ２以上となる送信端末の数に基づいて、パケット解析装置２の上流でパケットロスが発生しているか否かを判定した。
【０１７８】
第２実施形態では、同じ出力時刻において、検知率ｒｄの増加量が特定の閾値以上となる送信端末の発生確率に基づいて、パケット解析装置の上流でパケットロスが発生しているか否かを判定するパケット解析装置２Ａについて説明する。
【０１７９】
なお、第２実施形態に係るパケット解析装置２Ａが接続されるネットワークの形態は、図１に示すネットワーク１と同様である。また、パケット解析装置２Ａは、図３に示すパケット解析装置２の構成例と同様の構成を含む。したがって、パケット解析装置２Ａをコンピュータで実現する場合の構成例も、図４と同様となる。
【０１８０】
次に、第２実施形態に係るパケット解析装置２Ａの作用について説明する。パケット解析装置２Ａは、第１実施形態に係るパケット解析装置２と同様に、例えばユーザから入力装置１１２を介して解析開始指示を受け付けた場合に、図５Ａおよび図５Ｂに示すパケット解析処理を行う。
【０１８１】
しかし、パケット解析装置２Ａは、図５ＢのステップＳ１５０において、図１１に示したパケットロス判定処理の代わりに、図１７に示すパケットロス判定処理を実行する。ここで、図１７とは、図１７Ａおよび図１７Ｂを示す。
【０１８２】
図１７に示すパケットロス判定処理が、図１１に示したパケットロス判定処理と異なる点は、ステップＳ２２５およびＳ３０２が新たに追加され、図１１ＢのステップＳ３１０がステップＳ３０４に置き換えられた点である。
【０１８３】
図１７ＡのステップＳ２２５において、判定部２０は、送信元アドレス毎に、検知率ｒｄの増加量が閾値ｔｈ２以上なる確率ｐｉを算出する。ここで、確率ｐｉにおける添え字“ｉ”は、パケットロス集計テーブル２２に登録されている送信元アドレスを識別するインデックス番号であり、例えば連続した自然数が用いられる。
【０１８４】
具体的には、判定部２０は、パケットロス集計テーブル２２を参照し、パケットロス集計テーブル２２に記録されている出力時刻の数に対して、値が“１”に設定されている出力時刻の数の割合を送信元アドレス毎に算出する。そして、当該割合の各々を送信元アドレスｉにおける確率ｐｉとする。
【０１８５】
例えば、図１３に示したパケットロス集計テーブル２２において、“192.168.1.11”〜“192.168.1.15”の各送信元アドレスに割り当てたインデックス番号をそれぞれ“１”〜“５”とする。この場合、確率ｐ１、ｐ２およびｐ３はそれぞれ０．２となり、確率ｐ４およびｐ５はそれぞれ０となる。
【０１８６】
判定部２０は、算出した確率ｐｉを、例えばメモリ１０４の予め定めた領域に記憶する。
【０１８７】
そして、図１７ＢのステップＳ３０２において、判定部２０は、ステップＳ３００で抽出した送信元アドレスで表される各々の送信端末における検知率ｒｄの増加量が、同じ出力時刻において閾値ｔｈ２以上となる確率ｐを算出する。
【０１８８】
当該確率ｐは、ステップＳ３００において抽出された各々の送信元アドレスに対応する確率ｐｉの乗算によって算出可能である。
【０１８９】
例えば、ステップＳ３００において、“192.168.1.11”および“192.168.1.12”の送信元アドレスが抽出され、“192.168.1.11”に対応する確率ｐｉが確率ｐ１、“192.168.1.12”に対応する確率ｐｉが確率ｐ２の場合、確率ｐは（３）式により算出される。
【０１９０】
【数３】
0006578999.tif 000004
【０１９１】
ステップＳ３０４において、判定部２０は、ステップＳ３０２で算出した確率ｐが、閾値ｔｈ４以下か否かを判定する。確率ｐが閾値ｔｈ４以下の場合にはステップＳ３２０に移行し、そうでない場合には、図１７に示すパケットロス判定処理を終了する。
【０１９２】
確率ｐは、検知率ｒｄの増加量が閾値ｔｈ２となる送信元アドレス毎の確率ｐｉの乗算によって算出されるため、検知率ｒｄの増加量が急増した送信端末の数が増える程、値が小さくなる傾向にある。したがって、閾値ｔｈ４は、例えばネットワーク１においてパケット８の伝送系に障害が発生した場合に、検知率ｒｄの増加量が急増すると予想される送信端末の数および送信端末の標準的な確率ｐｉに基づいて設定することが好ましい。
【０１９３】
なお、当該送信端末の数および標準的な確率ｐｉの値は、例えばネットワーク１における実測、或いはネットワーク１の設計仕様に基づくコンピュータシミュレーション等により予め求めることができる。
【０１９４】
したがって、ステップＳ３０２で算出した確率ｐが閾値ｔｈ４以下の場合、判定部２０は、ステップＳ３００で抽出した送信元アドレスで表される送信端末のパケット８が、パケット解析装置２の上流で欠落したと判定することができる。
【０１９５】
以降、第１実施形態に係るパケット解析装置２と同様に、判定部２０は、ステップＳ３２０およびステップＳ３３０の処理を実行してパケットロス通知データ２６を生成し、生成したパケットロス通知データ２６を表示装置１１６に出力する。
【０１９６】
このように、第２実施形態に係るパケット解析装置２Ａは、同じ出力時刻において、検知率ｒｄの増加量が閾値ｔｈ２以上となる送信端末の存在する確率ｐが閾値ｔｈ４以下となる場合に、当該送信端末の各々でパケットロスが発生したと判定する。
【０１９７】
したがって、パケット解析装置２Ａは、検知率ｒｄの増加量が急増した送信端末の数が閾値ｔｈ３未満の場合であっても、パケット解析装置２Ａの上流でパケットロスが発生したと判定することができる。
【０１９８】
なお、パケット解析装置２Ａでは、第１実施形態に係るパケット解析装置２と同様に、図１７ＡのステップＳ２６０において、検知率ｒｄの増加量の代わりに検知率ｒｄの増加率を閾値と比較するようにしてもよい。
【０１９９】
（第３実施形態）
第１実施形態および第２実施形態に係るパケット解析装置２、２Ａでは、所定期間に受信したパケット８のうち、パケット間隔が閾値ｔｈ１以上となるパケット８の検知率ｒｄの増加量に基づいて、パケットロスが発生しているか否かを判定した。
【０２００】
第３実施形態では、検知率ｒｄの増加量の代わりに検知率ｒｄに基づいて、パケット解析装置の上流でパケットロスが発生しているか否かを判定するパケット解析装置２Ｂについて説明する。
【０２０１】
なお、第３実施形態に係るパケット解析装置２Ｂが接続されるネットワークの形態は、図１に示すネットワーク１と同様である。
【０２０２】
図１８に示すように、パケット解析装置２Ｂは、パケット間隔算出部１０、セッション管理テーブル１２、パケット集計テーブル１４、パケット間隔増加検知データ１６、パケットロス判定部２０およびアドレス変換テーブル２４を含む。図１８に示すパケット解析装置２Ｂの構成例が、図３に示した第１実施形態および第２実施形態に係るパケット解析装置２、２Ａの構成例と異なる点は、増加量管理テーブル１８およびパケットロス集計テーブル２２が削除された点である。なお、パケット解析装置２Ｂをコンピュータで実現する場合の構成例は、図４と同様となる。
【０２０３】
次に、第３実施形態に係るパケット解析装置２Ｂの作用について説明する。パケット解析装置２Ｂは、第１実施形態に係るパケット解析装置２と同様に、例えばユーザから入力装置１１２を介して解析開始指示を受け付けた場合に、図５Ａおよび図５Ｂに示すパケット解析処理を行う。
【０２０４】
しかし、パケット解析装置２Ｂは、図５ＢのステップＳ１５０において、図１１に示したパケットロス判定処理の代わりに、図１９に示すパケットロス判定処理を実行する。
【０２０５】
まず、ステップＳ１９０において、判定部２０は、例えばメモリ１０４の予め定めた領域に記憶される判定カウンタの値を“０”に初期化する。
【０２０６】
その後、既に説明した図１１ＡのステップＳ２００およびＳ２１０を実行して、判定部２０は、検知データ１６に含まれる送信元アドレスのうち、まだ選択していない送信元アドレスを１つ選択する。
【０２０７】
ステップＳ２１５において、判定部２０は、検知データ１６の内容に基づいて、ステップＳ２１０で選択した送信元アドレスにおける、これまでの検知率ｒｄの平均値ｈａｖｅおよび標準偏差ｈｓｔｄを算出する。
【０２０８】
ステップＳ２３５において、判定部２０は、検知データ１６を参照して、ステップＳ２１０で選択した送信元アドレスにおける対象出力時刻の検知率ｒｄが閾値ｔｈ５以上か否かを判定する。検知率ｒｄが閾値ｔｈ５以上の場合にはステップＳ２４５に移行する。
【０２０９】
ここで、閾値ｔｈ５は、検知率ｒｄが急増したとみなせる程度の値に設定することが好ましい。具体的には、閾値ｔｈ２の算出例である（２）式と同様に、閾値ｔｈ５は、ステップＳ２１５で算出した検知率ｒｄの平均値ｈａｖｅおよび標準偏差ｈｓｔｄを用いて、送信端末毎に（４）式により設定される。
【０２１０】
【数４】
0006578999.tif 000005
【０２１１】
なお、検知率ｒｄが閾値ｔｈ５以上となる状況のことを、検知率ｒｄが急増した状況という。また、（４）式は閾値ｔｈ５の設定例であり、閾値ｔｈ５の設定が（４）式に限られないことは言うまでもない。閾値ｔｈ５は、開示の技術における第２の閾値の一例である。
【０２１２】
ステップＳ２４５において、判定部２０は、判定カウンタを１つ増加する。
【０２１３】
一方、ステップＳ２３５で検知率ｒｄが閾値ｔｈ５未満の場合には、ステップＳ２４５を実行せずにステップＳ２９０に移行する。
【０２１４】
そして、前述したようにステップＳ２９０において、判定部２０は、検知データ１６に含まれる全ての送信元アドレスを選択したか否かを判定し、全ての送信元アドレスを選択するまで、ステップＳ２１０〜Ｓ２９０の処理を繰り返す。
【０２１５】
したがって、判定カウンタには、対象出力時刻において検知率ｒｄが閾値ｔｈ５以上となる送信端末の数が記録される。
【０２１６】
ステップＳ３０５において、判定部２０は、判定カウンタの値が閾値ｔｈ６以上か否かを判定する。判定カウンタの値が閾値ｔｈ６以上の場合にはステップＳ３１５に移行する。
【０２１７】
ここで、閾値ｔｈ６は、例えばネットワーク１においてパケット８の伝送系に障害が発生した場合に、検知率ｒｄが急増すると予想される送信端末の数に設定することが好ましい。前述したように、この場合には複数の送信端末で検知率ｒｄの急増が発生すると考えられることから、閾値ｔｈ６は２以上の値に設定される。なお、当該送信端末の数は、例えばネットワーク１における実測、或いはネットワーク１の設計仕様に基づくコンピュータシミュレーション等により予め求めることができる。
【０２１８】
判定カウンタの値が閾値ｔｈ６以上である場合、判定部２０は、検知率ｒｄが閾値ｔｈ５以上となる送信端末でパケットロスが発生したと判定する。
【０２１９】
したがって、ステップＳ３１５において、判定部２０は、アドレス変換テーブル２４を参照して、検知データ１６に含まれる送信元アドレスの各々をホスト名に変換する。
【０２２０】
そして、図１１ＢのステップＳ３３０と同様の処理を行い、判定部２０は、パケットロス通知データ２６を生成すると共に、生成したパケットロス通知データ２６を表示装置１１６に出力する。
【０２２１】
一方、ステップＳ３０５において、判定カウンタの値が閾値ｔｈ６未満の場合には、ステップＳ３１５およびＳ３３０の処理を実行することなく、図１９に示すパケットロス判定処理を終了する。これは、閾値ｔｈ６未満の数の送信端末において検知率ｒｄが急増した場合には、パケットロスではなく、パケット８の遅延等が発生したことによって検知率ｒｄが急増したと考える方が適切であるからである。
【０２２２】
以上により、図１９に示したパケット解析処理を終了する。
【０２２３】
このように、第３実施形態に係るパケット解析装置２Ｂは、検知率ｒｄが閾値ｔｈ５以上となる送信端末の数に基づいて、パケット解析装置２Ｂの上流でパケットロスが発生しているか否かを判定する。この場合、連続する出力時刻における検知率ｒｄの増加量を算出する必要がないため、検知率ｒｄの増加量に基づいてパケットロスが発生しているか否かを判定する場合に比べて、パケットロスの判定に要する時間を短縮することができる。
【０２２４】
（第４実施形態）
第３実施形態に係るパケット解析装置２Ｂは、検知率ｒｄが閾値ｔｈ５以上となる送信端末の数に基づいて、パケット解析装置２Ｂの上流でパケットロスが発生しているか否かを判定した。
【０２２５】
第４実施形態では、同じ出力時刻において、検知率ｒｄが特定の閾値以上となる送信端末の発生確率に基づいて、パケット解析装置の上流でパケットロスが発生しているか否かを判定するパケット解析装置２Ｃについて説明する。すなわち、第４実施形態は、第２実施形態に係るパケット解析装置２Ａの変形例であり、検知率ｒｄの増加量の代わりに検知率ｒｄでパケット間隔の増加の度合いを評価するものである。
【０２２６】
なお、第４実施形態に係るパケット解析装置２Ｃが接続されるネットワークの形態は、図１に示すネットワーク１と同様である。
【０２２７】
図２０に示すように、パケット解析装置２Ｃは、パケット間隔算出部１０、セッション管理テーブル１２、パケット集計テーブル１４およびパケット間隔増加検知データ１６を含む。また、パケット解析装置２Ｃは、パケットロス判定部２０、パケットロス集計テーブル２２Ａおよびアドレス変換テーブル２４を含む。
【０２２８】
図２０に示すパケット解析装置２Ｃの構成例が、図３に示した第１実施形態および第２実施形態に係るパケット解析装置２、２Ａの構成例と異なる点は、増加量管理テーブル１８が削除された点である。また、図３のパケットロス集計テーブル２２が、パケットロス集計テーブル２２Ａに置き換えられている。パケットロス集計テーブル２２Ａの詳細については後ほど説明する。
【０２２９】
なお、パケット解析装置２Ｃをコンピュータで実現する場合の構成例は、図４と同様となる。
【０２３０】
次に、第４実施形態に係るパケット解析装置２Ｃの作用について説明する。パケット解析装置２Ｃは、第２実施形態に係るパケット解析装置２Ａと同様に、例えばユーザから入力装置１１２を介して解析開始指示を受け付けた場合に、図５Ａおよび図５Ｂに示すパケット解析処理を行う。
【０２３１】
しかし、パケット解析装置２Ｃは、図５ＢのステップＳ１５０において、図１７に示したパケットロス判定処理の代わりに、図２１に示すパケットロス判定処理を実行する。ここで、図２１とは、図２１Ａおよび図２１Ｂを示す。
【０２３２】
図２１に示すパケットロス判定処理は、図１７に示した第２実施形態に係るパケットロス判定処理において、閾値以上となる確率の算出対象を検知率ｒｄの増加量から検知率ｒｄに置き換えたものである。したがって、図２１では、図１７の検知率ｒｄの変化量を判定するステップＳ２４０、並びに、検知率ｒｄの増加量および増加回数を記録するステップＳ２５０に相当する処理が削除される。図２１のその他のステップについては、図１７の処理と同一または類似した処理が行われる。
【０２３３】
既に説明したステップＳ２００およびＳ２１０を実行した後、ステップＳ２１５において、判定部２０は、ステップＳ２１０で選択した送信元アドレスの検知率ｒｄの平均値ｈａｖｅおよび標準偏差ｈｓｔｄを算出する。
【０２３４】
ステップＳ２２２において、判定部２０は、送信元アドレス毎に、検知率ｒｄが閾値ｔｈ５以上となる確率ｑｉを算出する。
【０２３５】
具体的には、判定部２０は、検知データ１６を参照し、各出力時刻のうち、検知率ｒｄが閾値ｔｈ５以上となる出力時刻の割合を送信元アドレス毎に算出する。そして、当該割合の各々を送信元アドレスｉにおける確率ｑｉとする。
【０２３６】
判定部２０は、算出した確率ｑｉを、例えばメモリ１０４の予め定めた領域に記憶する。
【０２３７】
ステップＳ２３２において、判定部２０は、検知データ１６を参照して、ステップＳ２１０で選択した送信元アドレスにおける対象出力時刻の検知率ｒｄを取得する。
【０２３８】
ステップＳ２４２において、判定部２０は、ステップＳ２３２で取得した検知率ｒｄが閾値ｔｈ５以上か否かを判定する。検知率ｒｄが閾値ｔｈ５以上の場合にはステップＳ２５５に移行する。
【０２３９】
ステップＳ２５５において、判定部２０は、ステップＳ２１０で選択した送信元アドレスで表される送信端末における対象出力時刻の検知率ｒｄが閾値ｔｈ５以上であることを、パケットロス集計テーブル２２Ａに記録する。
【０２４０】
ここで、パケットロス集計テーブル２２Ａは、例えば出力時刻毎における検知率ｒｄの大きさを、パケット８の送信元アドレス毎に集計したテーブルであり、図１３に示したパケットロス集計テーブル２２と同様のデータ構造を有する。
【０２４１】
図１３に示したパケットロス集計テーブル２２では、検知率ｒｄの増加量が閾値ｔｈ２以上である場合には“１”、検知率ｒｄの増加量が閾値ｔｈ２未満である場合には“０”がパケットロス集計テーブル２２の該当する位置に設定される。しかし、パケットロス集計テーブル２２Ａでは、検知率ｒｄが閾値ｔｈ５以上である場合には“１”、検知率ｒｄが閾値ｔｈ５未満である場合には“０”がパケットロス集計テーブル２２Ａの該当する位置に設定される。
【０２４２】
なお、検知率ｒｄの大きさを示す“０”および“１”の値は一例であり、他の値によって検知率ｒｄの大きさを示すようにしてもよいことは言うまでもない。
【０２４３】
また、対象出力時刻がパケットロス集計テーブル２２Ａの最新の出力時刻と所定期間単位で連続しない場合、判定部２０は、出力時刻が所定期間単位で連続するように、対象出力時刻と前記最新の出力時刻との間に初期化データを追加する。
【０２４４】
一方、ステップＳ２４２の判定処理が否定判定となった場合には、ステップＳ２６５に移行する。
【０２４５】
ステップＳ２６５において、判定部２０は、ステップＳ２１０で選択した送信元アドレスで表される送信端末における対象出力時刻の検知率ｒｄが閾値ｔｈ５未満であることを、パケットロス集計テーブル２２Ａに記録する。
【０２４６】
そして、ステップＳ２９０において、判定部２０は、検知データ１６に含まれる全ての送信元アドレスを選択したか否かを判定し、全ての送信元アドレスを選択するまで、ステップＳ２１０〜Ｓ２９０の処理を繰り返す。
【０２４７】
したがって、パケットロス集計テーブル２２Ａにおける対象出力時刻の出力時刻データには、全ての送信元アドレスに対して“０”または“１”が設定される。
【０２４８】
ステップＳ３０６において、判定部２０は、対象出力時刻における検知率ｒｄが閾値ｔｈ５以上であると判定された送信端末の送信元アドレスを、パケットロス集計テーブル２２Ａから抽出する。
【０２４９】
ステップＳ３０８において、判定部２０は、ステップＳ３０６で抽出した送信元アドレスで表される各々の送信端末における検知率ｒｄが、同じ出力時刻において閾値ｔｈ５以上となる確率ｑを算出する。
【０２５０】
当該確率ｑは、ステップＳ３０６において抽出された各々の送信元アドレスに対応する確率ｑｉの乗算によって算出可能である。
【０２５１】
ステップＳ３１２において、判定部２０は、ステップＳ３０８で算出した確率ｑが、閾値ｔｈ７以下か否かを判定する。確率ｑが閾値ｔｈ７以下の場合にはステップＳ３２０に移行し、そうでない場合には、図２１に示すパケットロス判定処理を終了する。
【０２５２】
確率ｑは、確率ｐと同様に、検知率ｒｄが急増した送信端末の数が増える程、値が小さくなる傾向にある。
【０２５３】
したがって、閾値ｔｈ７は、例えばネットワーク１においてパケット８の伝送系に障害が発生した場合に、検知率ｒｄが急増すると予想される送信端末の数および送信端末の標準的な確率ｑｉに基づいて設定することが好ましい。なお、当該送信端末の数および標準的な確率ｑｉの値は、例えばネットワーク１における実測、或いはネットワーク１の設計仕様に基づくコンピュータシミュレーション等により予め求めることができる。
【０２５４】
したがって、ステップＳ３０８で算出した確率ｑが閾値ｔｈ７以下の場合、判定部２０は、ステップＳ３０６で抽出した送信元アドレスで表される送信端末のパケット８が、パケット解析装置２Ｃの上流で欠落したと判定することができる。
【０２５５】
以降、第２実施形態に係るパケット解析装置２Ａと同様に、判定部２０は、ステップＳ３２０およびステップＳ３３０の処理を実行してパケットロス通知データ２６を生成し、生成したパケットロス通知データ２６を表示装置１１６に出力する。
【０２５６】
このように、第４実施形態に係るパケット解析装置２Ｃは、同じ出力時刻において、検知率ｒｄが閾値ｔｈ５以上となる送信端末の存在する確率ｑが閾値ｔｈ７以下となる場合に、当該送信端末の各々でパケットロスが発生したと判定する。
【０２５７】
したがって、パケット解析装置２Ｃは、連続する出力時刻における検知率ｒｄの増加量を算出する必要がない。また、パケット解析装置２Ｃは、検知率ｒｄが急増した送信端末の数が閾値ｔｈ６未満の場合であっても、パケット解析装置２Ｃの上流でパケットロスが発生したと判定することができる。
【０２５８】
なお、前述した各実施形態に係るパケット解析装置２、２Ａ、２Ｂおよび２Ｃ（以下、パケット解析装置２等という）では、パケット８を受信する度に図５に示したパケット解析処理を行う例を示した。しかし、パケット解析装置２等でパケット解析処理を実行する契機はこれに限られない。
【０２５９】
例えば、パケット解析装置２等は、ユーザからパケット８の受信開始指示を受け付けてから終了指示を受け付けるまでの期間に亘ってパケット８を受信し、受信したパケット８をメモリ１０４の予め定めた領域に一旦記憶する。この場合、パケット解析装置２等は、受信したパケット８の各々にタイムスタンプを関連付けて、メモリ１０４に記憶する。
【０２６０】
そして、パケット解析装置２等は、ユーザから解析開始指示を受け付けた場合に、記憶したパケット８をタイムスタンプの古い順にメモリ１０４から１つずつ取得し、図５に示したパケット解析処理を行うようにしてもよい。
【０２６１】
また、パケット解析装置２等は、図７に示したパケット集計テーブル１４におけるパケット８の間隔増加回数Ｃｄではなく、検知率ｒｄに基づく値を用いて、パケット解析装置２等の上流でパケットロスが発生したか否かを判定する。検知率ｒｄに基づく値とは、例えば検知率ｒｄの増加量、検知率ｒｄの増加率または検知率ｒｄ等が挙げられる。
【０２６２】
仮に、パケット８の間隔増加回数Ｃｄを用いて、パケットロスが発生したか否かを判定しようとした場合、パケット８の間隔増加回数Ｃｄは、特定の出力時刻に、より多くのパケット８を送信する送信端末ほど増加する傾向が見られる。したがって、パケット８の間隔増加回数Ｃｄは、送信端末によるパケット８の送信頻度の影響を受けてしまい、パケット８の間隔増加回数Ｃｄを用いてパケット解析装置２等でパケットロスが発生したか否かを判定することは困難になる。
【０２６３】
なお、こうした状況は、パケット８の間隔増加回数Ｃｄに基づく値、例えばパケット８の間隔増加回数Ｃｄの増加量または間隔増加回数Ｃｄの増加率を用いた場合においても同様に発生する。
【０２６４】
また、パケット解析装置２等は、パケットロス通知データ２６を、例えばネットワーク１に接続されたコンピュータ等の他の端末に送信し、図１６に示したような、パケットロス通知データ２６に基づく画面例を当該他の端末に表示させるようにしてもよい。
【０２６５】
また、パケット解析装置２等では、図２に示したように、スイッチ装置３のミラーリング機能を用いて監視するポートを選択することで、パケットの送受信を監視する通信回線を選択する。したがって、パケット集計テーブル１４、パケット間隔増加検知データ１６、増加量管理テーブル１８、パケットロス集計テーブル２２、２２Ａおよびパケットロス通知データ２６は、パケットの送受信を監視する通信回線毎に管理される。
【０２６６】
また、出力時刻に関する設定方法には様々な変形を加えることができる。例えば、パケット集計テーブル１４、検知データ１６、パケットロス集計テーブル２２、２２Ａおよびパケットロス通知データ２６の出力時刻は、一例として時分で表したが、年月日を付加してもよい。また、出力時刻を年月日時分秒で表してもよい。この場合、パケット集計テーブル１４、検知データ１６、パケットロス集計テーブル２２、２２Ａおよびパケットロス通知データ２６を日毎に作成する必要がなくなる。
【０２６７】
また、出力時刻を秒単位で設定する場合、例えば９時００分００秒のように、きりのよい時刻を設定時刻に設定するのではなく、パケット８を受信した時刻から出力時刻を設定するようにしてもよい。例えば、所定間隔が１分で、かつ、パケット８を受信した時刻が９時００分２１秒であれば、出力時刻を“9:00:21”、“9:01:21”、“9:02:21”、・・・のように設定してもよい。
【０２６８】
以上、各実施形態を用いて開示の技術を説明したが、開示の技術は各実施形態に記載の範囲には限定されない。開示の技術の要旨を逸脱しない範囲で各実施形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も開示の技術の技術的範囲に含まれる。例えば、開示の技術の要旨を逸脱しない範囲で処理の順序を変更してもよい。
【０２６９】
また、各実施形態では、パケット解析プログラム１２０が記憶部１０６に予め記憶（インストール）されている形態を説明したが、これに限定されるものではない。開示の技術に係るパケット解析プログラムは、コンピュータ読取可能な記録媒体１１８に記録された形態で提供することも可能である。例えば、開示の技術に係るパケット解析プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたはＵＳＢメモリ等の可搬型記録媒体に記録された形態で提供することも可能である。また、開示の技術に係るパケット解析プログラムは、フラッシュメモリ等の半導体メモリ等に記録された形態で提供することも可能である。
【０２７０】
以上の第１実施形態〜第４実施形態を含む各実施形態に関し、更に以下の付記を開示する。
【０２７１】
（付記１）
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した何れかの所定期間に、前記割合の増加量が第２の閾値以上となる特定端末が予め定めた台数以上である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析プログラム。
【０２７２】
（付記２）
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した所定期間の各々について、前記割合の増加量が第２の閾値以上となる特定端末を抽出すると共に、前記所定期間の何れかに、抽出した前記特定端末の前記割合の増加量が前記第２の閾値以上となる確率が、予め定めた確率以下である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析プログラム。
【０２７３】
（付記３）
前記割合の増加量の平均値および前記割合の増加量の標準偏差に基づいて、前記第２の閾値を設定する
付記１または付記２記載のパケット解析プログラム。
【０２７４】
（付記４）
前記割合の増加量として、前記割合の増加率を用いる
付記１〜付記３の何れか１項に記載のパケット解析プログラム。
【０２７５】
（付記５）
前記複数の端末の各々から送信されたパケットの欠落の有無を、時系列に沿って出力する
付記１〜付記４の何れか１項に記載のパケット解析プログラム。
【０２７６】
（付記６）
前記複数の端末の各々がパケットを再送するまでの再送開始時間に基づいて、前記複数の端末毎に前記第１の閾値を設定する
付記１〜付記５の何れか１項に記載のパケット解析プログラム。
【０２７７】
（付記７）
前記複数の端末の各々から送信されたパケットの欠落の有無を出力する場合、前記複数の端末の各々に予め対応付けられた端末名で出力する
付記１〜付記６の何れか１項に記載のパケット解析プログラム。
【０２７８】
（付記８）
前記複数の端末の各々から送信されたパケットを予め記憶装置に記憶し、前記記憶装置に記憶したパケットを用いて、前記複数の端末毎、かつ、前記複数の所定期間毎に前記割合を算出する
付記１〜付記７の何れか１項に記載のパケット解析プログラム。
【０２７９】
（付記９）
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した何れかの所定期間に、前記割合の増加量が第２の閾値以上となる特定端末が予め定めた台数以上である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析方法。
【０２８０】
（付記１０）
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した所定期間の各々について、前記割合の増加量が第２の閾値以上となる特定端末を抽出すると共に、前記所定期間の何れかに、抽出した前記特定端末の前記割合の増加量が前記第２の閾値以上となる確率が、予め定めた確率以下である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析方法。
【０２８１】
（付記１１）
前記割合の増加量の平均値および前記割合の増加量の標準偏差に基づいて、前記第２の閾値を設定する
付記９または付記１０記載のパケット解析方法。
【０２８２】
（付記１２）
前記割合の増加量として、前記割合の増加率を用いる
付記９〜付記１１の何れか１項に記載のパケット解析方法。
【０２８３】
（付記１３）
前記複数の端末の各々から送信されたパケットの欠落の有無を、時系列に沿って出力する
付記９〜付記１２の何れか１項に記載のパケット解析方法。
【０２８４】
（付記１４）
前記複数の端末の各々がパケットを再送するまでの再送開始時間に基づいて、前記複数の端末毎に前記第１の閾値を設定する
付記９〜付記１３の何れか１項に記載のパケット解析方法。
【０２８５】
（付記１５）
前記複数の端末の各々から送信されたパケットの欠落の有無を出力する場合、前記複数の端末の各々に予め対応付けられた端末名で出力する
付記９〜付記１４の何れか１項に記載のパケット解析方法。
【０２８６】
（付記１６）
前記複数の端末の各々から送信されたパケットを予め記憶装置に記憶し、前記記憶装置に記憶したパケットを用いて、前記複数の端末毎、かつ、前記複数の所定期間毎に前記割合を算出する
付記９〜付記１５の何れか１項に記載のパケット解析方法。
【０２８７】
（付記１７）
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出する算出部と、
前記割合を算出した何れかの所定期間に、前記算出部によって算出された前記割合の増加量が第２の閾値以上となる特定端末が予め定めた台数以上である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する判定部と、
を含むパケット解析装置。
【０２８８】
（付記１８）
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出する算出部と、
前記割合を算出した所定期間の各々について、前記算出部によって算出された前記割合の増加量が第２の閾値以上となる特定端末を抽出すると共に、前記所定期間の何れかに、抽出した前記特定端末における前記割合の増加量が前記第２の閾値以上となる確率が、予め定めた確率以下である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する判定部と、
を含むパケット解析装置。
【０２８９】
（付記１９）
前記判定部は、前記割合の増加量の平均値および前記割合の増加量の標準偏差に基づいて、前記第２の閾値を設定する
付記１７または付記１８記載のパケット解析装置。
【０２９０】
（付記２０）
前記割合の増加量として、前記割合の増加率を用いる
付記１７〜付記１９の何れか１項に記載のパケット解析装置。
【０２９１】
（付記２１）
前記判定部は、前記複数の端末の各々から送信されたパケットの欠落の有無を、時系列に沿って出力する
付記１７〜付記２０の何れか１項に記載のパケット解析装置。
【０２９２】
（付記２２）
前記第１の閾値は、前記複数の端末の各々がパケットを再送するまでの再送開始時間に基づいて、前記複数の端末毎に設定される
付記１７〜付記２１の何れか１項に記載のパケット解析装置。
【０２９３】
（付記２３）
前記判定部は、前記複数の端末の各々から送信されたパケットの欠落の有無を出力する場合、前記複数の端末の各々に予め対応付けられた端末名で出力する
付記１７〜付記２２の何れか１項に記載のパケット解析装置。
【０２９４】
（付記２４）
前記算出部は、前記複数の端末の各々から送信されたパケットを予め記憶装置に記憶し、前記記憶装置に記憶したパケットを用いて、前記複数の端末毎、かつ、前記複数の所定期間毎に前記割合を算出する
付記１７〜付記２３の何れか１項に記載のパケット解析装置。
【０２９５】
（付記２５）
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した何れかの所定期間に、前記割合の増加量が第２の閾値以上となる特定端末が予め定めた台数以上である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０２９６】
（付記２６）
コンピュータに
所定期間毎に、複数の端末の各々から送信されたパケット数に対する、パケット送信間隔が第１の閾値以上となるパケット数で表される割合を、複数の端末の各々毎に算出し、
前記割合を算出した所定期間の各々について、前記割合の増加量が第２の閾値以上となる特定端末を抽出すると共に、前記所定期間の何れかに、抽出した前記特定端末の前記割合の増加量が前記第２の閾値以上となる確率が、予め定めた確率以下である特定の所定期間が存在する場合に、前記特定の所定期間においてパケットの欠落が有ると判定する
処理を実行させるパケット解析プログラムを記録したコンピュータ読み取り可能な記録媒体。
【符号の説明】
【０２９７】
１・・・ネットワーク、２（２Ａ、２Ｂ、２Ｃ）・・・パケット解析装置、３・・・スイッチ装置、４・・・クライアント端末、５・・・サーバ、６・・・ポート、８・・・パケット、１０・・・パケット間隔算出部（算出部）、１２・・・セッション管理テーブル、１４・・・パケット集計テーブル、１６・・・パケット間隔増加検知データ（検知データ）、１８・・・増加量管理テーブル、２０・・・パケットロス判定部（判定部）、２２（２２Ａ）・・・パケットロス集計テーブル、２４・・・アドレス変換テーブル、２６・・・パケットロス通知データ、１００・・・コンピュータ、１０２・・・ＣＰＵ、１０４・・・メモリ、１０６・・・記憶部、１０８・・・バス、１１０・・・Ｉ／Ｏ、１１２・・・入力装置、１１４・・・通信装置、１１６・・・表示装置、１１８・・・記録媒体、１２０・・・パケット解析プログラム
【図１】
0006578999.tif 000006
【図２】
0006578999.tif 000007
【図３】
0006578999.tif 000008
【図４】
0006578999.tif 000009
【図５Ａ】
0006578999.tif 000010
【図５Ｂ】
0006578999.tif 000011
【図６】
0006578999.tif 000012
【図７】
0006578999.tif 000013
【図８】
0006578999.tif 000014
【図９】
0006578999.tif 000015
【図１０】
0006578999.tif 000016
【図１１Ａ】
0006578999.tif 000017
【図１１Ｂ】
0006578999.tif 000018
【図１２】
0006578999.tif 000019
【図１３】
0006578999.tif 000020
【図１４】
0006578999.tif 000021
【図１５】
0006578999.tif 000022
【図１６】
0006578999.tif 000023
【図１７Ａ】
0006578999.tif 000024
【図１７Ｂ】
0006578999.tif 000025
【図１８】
0006578999.tif 000026
【図１９】
0006578999.tif 000027
【図２０】
0006578999.tif 000028
【図２１Ａ】
0006578999.tif 000029
【図２１Ｂ】
0006578999.tif 000030