(57)【特許請求の範囲】
【請求項１】
複数のネットワーク装置を備えるネットワークシステムであって、
前記複数のネットワーク装置の各々は、演算装置及び前記演算装置に接続される記憶装置を有し、
前記ネットワークシステムは、
端末間の通信の制御単位である複数の通信フローを流れるパケットを転送する転送機能部と、
前記通信フローの通信状態を分析する分析部と、
を備え、
前記転送機能部及び前記分析部は、少なくとも一つの前記ネットワーク装置の前記演算装置が前記記憶装置に格納されるプログラムを実行することによって実現され、
前記分析部は、
前記転送機能部から任意の通信フローに属するパケットを受信し、前記受信したパケットのヘッダ情報の解析結果に基づいて当該任意の通信フローの管理情報であるフロー情報の生成及び更新を行う受信処理部と、
複数の前記通信フローの各々の前記フロー情報を記憶するフロー通信状態記憶部と、
前記フロー情報に基づいて、前記複数の通信フローの各々の通信品質の劣化の発生を判定し、通信品質の劣化が発生している前記通信フローが経由する通信経路上の劣化箇所を特定する劣化箇所特定部と、を有し、
前記劣化箇所特定部は、
前記複数の通信フローの各々の通信品質の劣化の発生を判定するための複数の指標を算出する指標算出部を有し、
前記複数の指標に基づいて、前記通信フローの通信品質の劣化が発生しているか否かを判定し、前記通信品質の劣化が発生している通信フローが経由する通信経路上の前記劣化箇所を特定し、
前記指標算出部は、送信元の端末から送信されるパケットであって、一度も再送されていないパケットの廃棄率である非累積的データ廃棄率、及び送信先の端末に対して再送されるパケットの割合であるパケット再送率を前記複数の指標として算出し、又は、前記非累積的データ廃棄率、及び前記送信先の端末から送信された応答パケットの廃棄に伴い再送されるパケットの割合である過剰送信率を前記複数の指標として算出することを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記劣化箇所特定部は、
前記フロー通信状態記憶部から、処理対象の通信フローの前記フロー情報を読み出し、
前記処理対象の通信フローのフロー情報に基づいて、前記非累積的データ廃棄率及び前記パケット再送率、又は前記非累積的データ廃棄率及び前記過剰送信率を算出し、
前記非累積的データ廃棄率が所定の閾値より大きいか否かを判定し、
前記非累積的データ廃棄率が所定の閾値より大きい場合、前記処理対象の通信フローの通信品質に劣化が発生していると判定し、前記送信元の端末から前記パケットを中継する前記ネットワーク装置との間の通信経路を前記劣化箇所として特定し、
前記非累積的データ廃棄率が所定の閾値以下である場合、前記パケット再送率又は前記過剰送信率が所定の閾値より大きいか否かを判定し、
前記パケット再送率又は前記過剰送信率が所定の閾値より大きい場合、前記処理対象の通信フローの通信品質に劣化が発生していると判定し、前記パケットを中継する前記ネットワーク装置と前記送信先の端末との間の通信経路を前記劣化箇所として特定することを特徴とするネットワークシステム。
【請求項３】
請求項１に記載のネットワークシステムであって、
前記ネットワークシステムは複数のネットワークを含み、
前記端末は、少なくとも一つのネットワークを介して、前記転送機能部を有する前記ネットワーク装置と接続し、
前記劣化箇所特定部は、処理対象の通信フローに対する処理結果をフロー通信状態記憶部に記憶し、
前記分析部は、さらに、前記劣化箇所特定部の処理の結果に基づいて前記ネットワークシステムにおいて通信品質の劣化要因が存在するネットワークを特定するための情報である通信品質劣化状態情報を生成する低品質ネットワーク特定部を有することを特徴とするネットワークシステム。
【請求項４】
請求項３に記載のネットワークシステムであって、
前記低品質ネットワーク特定部は、
前記通信フロー毎の前記劣化箇所特定部の処理の結果に基づいて、前記複数のネットワークの各々について、前記ネットワークを経由する前記通信フローの中で前記通信品質が劣化していると判定された通信フローが含まれる割合を算出し、
前記複数のネットワークの各々の前記割合を前記通信品質劣化状態情報として生成することを特徴とするネットワークシステム。
【請求項５】
複数のネットワーク装置を備えるネットワークシステムにおける通信品質の判定方法であって、
前記複数のネットワーク装置の各々は、演算装置及び前記演算装置に接続される記憶装置を有し、
前記ネットワークシステムは、
端末間の通信の制御単位である複数の通信フローを流れるパケットを転送する転送機能部と、
前記通信フローの通信状態を分析する分析部と、
を備え、
前記転送機能部及び前記分析部は、少なくとも一つの前記ネットワーク装置の前記演算装置が前記記憶装置に格納されるプログラムを実行することによって実現され、
前記分析部は、前記複数の通信フローの各々の通信品質の劣化の発生を判定するための複数の指標を算出する指標算出部を含み、
前記通信品質の判定方法は、
前記分析部が、前記転送機能部から任意の通信フローに属するパケットを受信し、前記受信したパケットのヘッダ情報の解析結果に基づいて当該任意の通信フローの管理情報であるフロー情報の生成及び更新を行う第１のステップと、
前記分析部が、複数の前記通信フローの各々の前記フロー情報を記憶する第２のステップと、
前記指標算出部が、前記フロー情報に基づいて、送信元の端末から送信されるパケットであって、一度も再送されていないパケットの廃棄率である非累積的データ廃棄率、及び送信先の端末に対して再送されるパケットの割合であるパケット再送率を前記複数の指標として算出し、又は、前記非累積的データ廃棄率、及び前記送信先の端末から送信された応答パケットの廃棄に伴い再送されるパケットの割合である過剰送信率を前記複数の指標として算出する第３のステップと、
前記分析部が、前記フロー情報に基づいて、前記複数の通信フローの各々の通信品質の劣化の発生を判定し、通信品質の劣化が発生している前記通信フローが経由する通信経路上の劣化箇所を特定する第４のステップと、を含み、
前記第３のステップは、
前記分析部が、前記複数の指標に基づいて、前記通信フローの通信品質の劣化が発生しているか否かを判定するステップと、
前記分析部が、前記複数の指標に基づいて、前記通信品質の劣化が発生している通信フローが経由する通信経路上の前記劣化箇所を特定するステップと、を含むことを特徴とする通信品質の判定方法。
【請求項６】
請求項５に記載の通信品質の判定方法であって、
前記第４のステップは、
前記指標算出部が、前記分析部が記憶する複数の通信フローの前記フロー情報の中から、処理対象の通信フローの前記フロー情報を読み出すステップと、
前記指標算出部が、前記処理対象の通信フローのフロー情報に基づいて、前記非累積的データ廃棄率及び前記パケット再送率、又は前記非累積的データ廃棄率及び前記過剰送信率を算出するステップと、
前記分析部が、前記非累積的データ廃棄率が所定の閾値より大きいか否かを判定するステップと、
前記非累積的データ廃棄率が所定の閾値より大きい場合、前記分析部が、前記処理対象の通信フローの通信品質に劣化が発生していると判定し、前記送信元の端末から前記パケットを中継する前記ネットワーク装置との間の通信経路を前記劣化箇所として特定するステップと、
前記非累積的データ廃棄率が所定の閾値以下である場合、前記分析部が、前記パケット再送率又は前記過剰送信率が所定の閾値より大きいか否かを判定するステップと、
前記パケット再送率又は前記過剰送信率が所定の閾値より大きい場合、前記分析部が、前記処理対象の通信フローの通信品質に劣化が発生していると判定し、前記パケットを中継する前記ネットワーク装置と前記送信先の端末との間の通信経路を前記劣化箇所として特定するステップと、
を含むことを特徴とする通信品質の判定方法。
【請求項７】
請求項５に記載の通信品質の判定方法であって、
前記ネットワークシステムは複数のネットワークを含み、
前記端末は、少なくとも一つのネットワークを介して、前記転送機能部を有する前記ネットワーク装置と接続し、
前記通信品質の判定方法は、
前記分析部が、処理対象の通信フローに対する処理結果を記憶する第５のステップと、
前記分析部が、前記複数の通信フローに対する処理結果に基づいて前記ネットワークシステムにおいて通信品質の劣化要因が存在するネットワークを特定するための情報である通信品質劣化状態情報を生成する第６のステップと、を含むことを特徴とする通信品質の判定方法。
【請求項８】
請求項７に記載の通信品質の判定方法であって、
前記第６のステップは、
前記分析部が、前記複数の通信フローに対する処理結果に基づいて、前記複数のネットワークの各々について、前記ネットワークを経由する前記通信フローの中で前記通信品質が劣化していると判定された通信フローが含まれる割合を算出するステップと、
前記分析部が、前記複数のネットワークの各々の前記割合を前記通信品質劣化状態情報として生成するステップと、を含むことを特徴とする通信品質の判定方法。
【請求項９】
演算装置及び前記演算装置に接続される記憶装置を備え、ネットワークシステム内の複数の端末を接続する転送装置が受信したパケットを解析する分析装置であって、
前記分析装置は、前記転送装置から、端末間の通信の制御単位である任意の通信フローに属するパケットを受信し、前記受信したパケットのヘッダ情報の解析結果に基づいて当該任意の通信フローの管理情報であるフロー情報の生成及び更新を行う受信処理部と、
複数の前記通信フローの各々の前記フロー情報を記憶するフロー通信状態記憶部と、
前記フロー情報に基づいて、前記複数の通信フローの各々の通信品質の劣化の発生を判定し、通信品質の劣化が発生している前記通信フローが経由する通信経路上の劣化箇所を特定する劣化箇所特定部と、を備え、
前記劣化箇所特定部は、
前記複数の通信フローの各々の通信品質の劣化の発生を判定するための複数の指標を算出する指標算出部を有し、
前記複数の指標に基づいて、前記通信フローの通信品質の劣化が発生しているか否かを判定し、前記通信品質の劣化が発生している通信フローが経由する通信経路上の前記劣化箇所を特定し、
前記指標算出部は、送信元の端末から送信されるパケットであって、一度も再送されていないパケットの廃棄率である非累積的データ廃棄率、及び送信先の端末に対して再送されるパケットの割合であるパケット再送率を前記複数の指標として算出し、又は、前記非累積的データ廃棄率、及び前記送信先の端末から送信された応答パケットの廃棄に伴い再送されるパケットの割合である過剰送信率を前記複数の指標として算出することを特徴とする分析装置。
【請求項１０】
請求項９に記載の分析装置であって、
前記劣化箇所特定部は、
前記フロー通信状態記憶部から、処理対象の通信フローの前記フロー情報を読み出し、
前記処理対象の通信フローのフロー情報に基づいて、前記非累積的データ廃棄率及び前記パケット再送率、又は前記非累積的データ廃棄率及び前記過剰送信率を算出し、
前記非累積的データ廃棄率が所定の閾値より大きいか否かを判定し、
前記非累積的データ廃棄率が所定の閾値より大きい場合、前記処理対象の通信フローの通信品質に劣化が発生していると判定し、前記送信元の端末から前記パケットを中継する前記転送装置との間の通信経路を前記劣化箇所として特定し、
前記非累積的データ廃棄率が所定の閾値以下である場合、前記パケット再送率又は前記過剰送信率が所定の閾値より大きいか否かを判定し、
前記パケット再送率又は前記過剰送信率が所定の閾値より大きい場合、前記処理対象の通信フローの通信品質に劣化が発生していると判定し、前記パケットを中継する前記転送装置と前記送信先の端末との間の通信経路を前記劣化箇所として特定することを特徴とする分析装置。
【請求項１１】
請求項９に記載の分析装置であって、
前記複数の端末の各々は、少なくとも一つのネットワークを介して、前記転送装置と接続し、
前記劣化箇所特定部は、処理対象の通信フローに対する処理結果をフロー通信状態記憶部に記憶し、
前記分析装置は、さらに、前記劣化箇所特定部の処理の結果に基づいて前記ネットワークシステムにおいて通信品質の劣化要因が存在するネットワークを特定するための情報である通信品質劣化状態情報を生成する低品質ネットワーク特定部を有することを特徴とする分析装置。
【請求項１２】
請求項１１に記載の分析装置であって、
前記低品質ネットワーク特定部は、
前記通信フロー毎の前記劣化箇所特定部の処理の結果に基づいて、前記複数のネットワークの各々について、前記ネットワークを経由する前記通信フローの中で前記通信品質が劣化していると判定された通信フローが含まれる割合を算出し、
前記複数のネットワークの各々の前記割合を前記通信品質劣化状態情報として生成することを特徴とする分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムにおける通信品質の測定方法に関する。
【背景技術】
【０００２】
通信網を広域に広げるために、Ｗｉ−Ｆｉアクセスポイント及び携帯電話基地局等、多数の通信中継点が各地に設置されている。通信品質の劣化に起因する通信速度の低下及び通信の安定性の低下等、通信の利便性の低下を防ぐためには、通信品質の劣化要因が存在する通信中継点を調査する必要がある。
【０００３】
保守要員を現地に派遣して通信品質の測定を行う場合、保守コストが増大し、また、保守要員の派遣に時間がかかる。そのため、通信品質の劣化が発生した場合に通信装置を用いて自動的に対策を実施することができない。また、Ｍ２Ｍ／ＩｏＴの普及に伴い、事業者が管理する通信ゲートウェイの数が増大し、通信品質の劣化が発生の要因が存在する劣化箇所を特定することが困難となる。
【０００４】
本技術分野の背景技術として、特開２００６−２４６１１８号公報（特許文献１）がある。
【０００５】
特許文献１には、「通信プロトコルの機能あるいは通信プロトコルの上位に位置するアプリケーションの機能により、データ転送を確実に行うために途中でデータが損失したときに再度データ転送を行う通信において、送信側から受信側までの間のある一地点（観測点）でのモニタにより通信品質を測定するパケット交換網における一点観測型の品質劣化切り分け方法であって、パケットヘッダ情報から測定対象となるフロー（送受信端末間での通信の開始から終了まで）を抽出するフロー抽出ステップと、パケットロス，遅延の発生箇所を推定し、シーケンス番号からなる空間を分割したシーケンス区間毎に設置されたカウンタ中の、該当するパケットの属する区間に対応するカウンタを操作し、エンドツーエンドにおけるＮＷ品質を推定するＮＷ品質推定ステップと、前記操作後のカウンタ情報を用いて、前記観測点を基点として劣化箇所が受信側か送信側かを判定する劣化箇所判定ステップとを有し、且つ前記ＮＷ品質推定ステップが、ＴＣＰプロトコルを利用した場合、パケットロスの発生箇所を判定する際に、受信側から同じシーケンス番号を持つＡＣＫが閾値以上の回数送出されたことを以って前記フロー上にパケットロスが発生したものとし、保持データ内における最大ウィンドウサイズの範囲を捜索し、この捜索範囲内の該当するパケットの有無を判定し、ロス箇所に該当するカウンタ値を増加させること」が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２４６１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の方式では、保持データ内における最大ウィンドウサイズの範囲を捜索し、この捜索範囲内の該当するパケットの有無を判定し、ロス箇所に該当するカウンタ値を増加させる。そのため、観測点の通信量が多い場合、オンメモリで処理することができないという問題、及び、リアルタイムに大量の通信フローの各々について劣化箇所を判定できないという問題がある。
【課題を解決するための手段】
【０００８】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のネットワーク装置を備えるネットワークシステムであって、前記複数のネットワーク装置の各々は、演算装置及び前記演算装置に接続される記憶装置を有し、前記ネットワークシステムは、端末間の通信の制御単位である複数の通信フローを流れるパケットを転送する転送機能部と、前記通信フローの通信状態を分析する分析部と、を備え、前記転送機能部及び前記分析部は、少なくとも一つの前記ネットワーク装置の前記演算装置が前記記憶装置に格納されるプログラムを実行することによって実現され、前記分析部は、前記転送機能部から任意の通信フローに属するパケットを受信し、前記受信したパケットのヘッダ情報の解析結果に基づいて当該任意の通信フローの管理情報であるフロー情報の生成及び更新を行う受信処理部と、複数の前記通信フローの各々の前記フロー情報を記憶するフロー通信状態記憶部と、前記フロー情報に基づいて、前記複数の通信フローの各々の通信品質の劣化の発生を判定し、通信品質の劣化が発生している前記通信フローが経由する通信経路上の劣化箇所を特定する劣化箇所特定部と、を有し、前記劣化箇所特定部は、前記複数の通信フローの各々の通信品質の劣化の発生を判定するための複数の指標を算出する指標算出部を有し、前記複数の指標に基づいて、前記通信フローの通信品質の劣化が発生しているか否かを判定し、前記通信品質の劣化が発生している通信フローが経由する通信経路上の前記劣化箇所を特定し、前記指標算出部は、送信元の端末から送信されるパケットであって、一度も再送されていないパケットの廃棄率である非累積的データ廃棄率、及び送信先の端末に対して再送されるパケットの割合であるパケット再送率を前記複数の指標として算出し、又は、前記非累積的データ廃棄率、及び前記送信先の端末から送信された応答パケットの廃棄に伴い再送されるパケットの割合である過剰送信率を前記複数の指標として算出することを特徴とする。
【発明の効果】
【０００９】
本発明の一態様によれば、通信フローの通信品質をリアルタイムに計測し、劣化箇所を特定することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】実施例１のネットワークシステムの構成の一例を示す説明図である。
【図２】実施例１の分析装置のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図３】実施例１の分析装置が受信するミラーパケットのフォーマットを示す図である。
【図４】実施例１の分析装置及び転送装置の各機能部の関係を示すブロック図である。
【図５】実施例１の分析装置の各機能が実行する処理の流れを示す図である。
【図６】実施例１のｓｅｓｓｉｏｎ＿ｄａｔａ構造体のデータ構造の一例を示す図である。
【図７】実施例１のｃａｐｔｕｒｅ＿ｄａｔａ構造体のデータ構造を示す図である。
【図８】実施例１のａｎａｌｙｓｉｓ＿ｄａｔａ構造体のデータ構造を示す図である。
【図９】実施例１のｓｅｓｓｉｏｎ＿ｄａｔａ構造体、ｃａｐｔｕｒｅ＿ｄａｔａ構造体、ａｎａｌｙｓｉｓ＿ｄａｔａ構造体の関連性を示す図である。
【図１０】実施例１のフロー通信状態記憶部におけるｓｅｓｓｉｏｎ＿ｄａｔａ構造体の配置例を示す図である。
【図１１】実施例１のネットワーク構成情報記憶部が記憶するネットワーク構成情報のデータ構造を示す図である。
【図１２】実施例１の通信品質劣化状態記憶部が記憶する通信品質劣化状態情報のデータ構造を示す図である。
【図１３】実施例１の受信処理部が実行する処理の詳細を説明するフローチャートである。
【図１４】実施例１の劣化箇所特定部が実行する処理の詳細を説明するフローチャートである。
【図１５】実施例１の品質劣化判定処理の判定方法を説明する図である。
【図１６】実施例１のフロー情報の一部の値の遷移状態を示す図である。
【図１７】実施例１における通信フローの非累積的データ廃棄率及びパケット再送率の関係を示す図である。
【図１８】実施例１の低品質ネットワーク特定部が実行する処理の詳細を説明するフローチャートである。
【図１９】実施例１の通信品質劣化状態記憶部が出力する通信品質劣化状態情報の一例を示す図である。
【図２０】実施例２の分析装置及び転送装置の各機能部の関係を示すブロック図である。
【図２１】実施例２のｃａｐｔｕｒｅ＿ｄａｔａ構造体のデータ構造を示す図である。
【図２２】実施例２のａｎａｌｙｓｉｓ＿ｄａｔａ構造体のデータ構造を示す図である。
【図２３】実施例２の受信処理部が実行する処理の詳細を説明するフローチャートである。
【図２４】実施例２の劣化箇所特定部が実行する処理の詳細を説明するフローチャートである。
【図２５】実施例３のネットワークシステムの構成の一例を示す説明図である。
【図２６】実施例３の分析装置、転送装置及び通信装置の各機能部の関係を示すブロック図である。
【図２７】実施例３の通信フロー抽出部が実行する処理の詳細を説明するフローチャートである。
【図２８】実施例４の転送装置の各機能部の関係を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施例を説明する。各実施例は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については、同一の参照符号が付されている。
【実施例１】
【００１２】
実施例１では、本発明の基本的な一例について説明する。図１は、実施例１のネットワークシステムの構成の一例を示す説明図である。
【００１３】
実施例１のネットワークシステムは、分析装置１００、転送装置１０１、一つ以上の中継装置１０３を含む複数のネットワーク１１０、及び複数の端末１０４から構成される。
【００１４】
分析装置１００は転送装置１０１と接続する。転送装置１０１は、複数のネットワーク１１０と接続する。端末１０４は、ネットワーク１１０を介して転送装置１０１と接続する。また、端末１０４は、ネットワーク１１０を介して他の端末と通信する。
【００１５】
図１に示す例では、端末１０４−１、１０４−２は、ネットワーク１１０−１を介して転送装置１０１と接続する。端末１０４−３、１０４−４は、ネットワーク１１０−２を介して転送装置１０１と接続する。端末１０４−５は、ネットワーク１１０−３を介して転送装置１０１と接続する。端末１０４−６は、ネットワーク１１０−４を介して転送装置１０１と接続する。端末１０４−７は、ネットワーク１１０−５を介して転送装置１０１と接続する。端末１０４−８、１０４−９は、ネットワーク１１０−６を介して転送装置１０１と接続する。
【００１６】
それぞれのネットワーク１１０−１、１１０−２、１１０−３、１１０−４、１１０−５、１１０−６には、中継装置１０３−１、１０３−２、１０３−３、１０３−４、１０３−５、１０３−６が含まれる。中継装置１０３は、例えば、スイッチ、及びゲートウェイ装置等が考えられる。
【００１７】
転送装置１０１は、端末１０４から送信されるパケットをネットワーク１１０に転送する。ネットワーク１１０に転送されたパケットは中継装置１０３によって端末１０４に転送される。転送装置１０１は、ミラーパケットを生成する機能を有する。転送装置１０１は、生成されたミラーパケットを分析装置１００に送信する。
【００１８】
分析装置１００は、通信網の集約点となる転送装置１０１を経由する通信フローに属するパケットのヘッダ情報を解析し、通信フローの通信品質の劣化を検出する。分析装置１００は、通信フローの通信品質の判定に用いる複数の指標を算出する指標算出部を有する。
【００１９】
具体的には、分析装置１００は、ミラーパケットの観測結果に基づいて複数の指標を算出する。分析装置１００は、当該複数の指標を用いて通信フローが経由する経路上において、通信品質の劣化要因が存在する箇所（ネットワーク１１０）を特定する。さらに、分析装置１００は、複数の通信フローの通信品質の判定結果に基づいて、ネットワークシステム全体における通信品質の劣化要因が存在する箇所（ネットワーク１１０）を特定する。
【００２０】
以下の説明では、通信フローが経由する経路上において、通信品質の劣化要因が存在する箇所を、フローの劣化箇所とも記載し、また、ネットワーク全体における通信品質の劣化要因が存在する箇所をネットワークシステムの劣化箇所とも記載する。
【００２１】
実施例１の分析装置１００が算出する指標は以下のような特徴を有する。第１に、指標の算出処理において、パケット廃棄率より解析に必要なデータ量が少なく、高速に算出できることである。第２に、通信フローに属するパケットの廃棄の影響を評価できることである。すなわち、パケット廃棄率に類似する指標であって、パケット廃棄率より解析に必要なデータ量が少なくかつ高速に算出できる指標である。実施例１では、前述した特徴を有する指標として、非累積的データ廃棄率及びパケット再送率を用いる。
【００２２】
非累積的データ廃棄率は、ある特定のデータを含み、かつ、送信元の端末１０４から初めて送信されたパケットのみを対象としたパケット廃棄率である。非累積的データ廃棄率では、送信元の端末１０４又は転送装置１０１から再送されたパケットは考慮されない。そのため、解析に必要なデータ量を削減し、かつ、解析負荷の低減によるリアルタイムな算出が実現できる。すなわち、演算負荷が小さい。
【００２３】
パケット再送率は、送信先の端末１０４に対して再送されるパケットの割合である。パケット再送率は、パケットが廃棄されたため、送信先の端末１０４に再送されるパケットの数をカウントすればよい。そのため、解析に必要なデータ量を削減し、また、解析負荷の低減によるリアルタイムな算出が実現できる。
【００２４】
分析装置１００は、後述するように、非累積的データ廃棄率及びパケット再送率を用いて、送信元の端末１０４と転送装置１０１との間の通信経路、又は、送信先の端末１０４と転送装置１０１との間の通信経路どちらがフローの劣化箇所に該当するかを特定する。
【００２５】
図２は、実施例１の分析装置１００のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【００２６】
分析装置１００は、ハードウェア構成として、演算装置２００、主記憶装置２０１、二次記憶装置２０２、複数のＮＩＦ２０３、及び出力装置２０４を有する。演算装置２００、主記憶装置２０１、二次記憶装置２０２、複数のＮＩＦ２０３、及び出力装置２０４はシステムバス２０５を介して互いに接続される。なお、各構成は、複数のシステムバス２０５を介して互いに接続されてもよいし、また、直接接続されてもよい。
【００２７】
演算装置２００は、主記憶装置２０１に格納されるプログラムを実行する。演算装置２００は、例えば、ＣＰＵ、ＧＰＵ等が考えられる。演算装置２００がプログラムを実行することによって分析装置１００が有する機能を実現する。以下では、機能部を主語に処理を説明する場合、演算装置２００が当該機能部を実現するプログラムを実行していることを示す。
【００２８】
主記憶装置２０１は、演算装置２００が実行するプログラム及び当該プログラムの実行に必要なデータを格納する。また、主記憶装置２０１は、各プログラムが使用するワークエリア、及びバッファ等の記憶領域を有する。主記憶装置２０１に格納されるプログラムについては後述する。
【００２９】
二次記憶装置２０２は、プログラム及びデータを格納する。主記憶装置２０１に格納されるプログラム及びデータは二次記憶装置２０２に格納されてもよい。この場合、演算装置２００が、二次記憶装置２０２からプログラム及びデータを読み出し、主記憶装置２０１上に当該プログラム及びデータをロードする。
【００３０】
ＮＩＦ２０３は、他の装置と接続するためのインタフェースである。本実施例の分析装置１００は、転送装置１０１に接続する二つのＮＩＦ２０３−１、２０３−２を備える。ＮＩＦ２０３は、転送装置１０１からのミラーパケットを受信した場合、受信したミラーパケットを後述する受信処理部２１１に出力する。
【００３１】
出力装置２０４は、分析装置１００の処理結果等を出力するインタフェースである。例えば、処理結果を表示するディスプレイ、タッチパネル等が考えられる。なお、他の装置に処理結果を送信するＮＩＦとして出力装置２０４が実装されてもよい。なお、出力装置２０４は、出力機能として実現してもよい。本実施例は、出力装置２０４の実装方法に限定されない。
【００３２】
なお、転送装置１０１も分析装置１００と同様のハードウェア構成であるものとする。
【００３３】
次に、主記憶装置２０１に格納されるプログラムについて説明する。本実施例の主記憶装置２０１は、受信処理部２１１、フロー通信状態記憶部２１２、劣化箇所特定部２１３、低品質ネットワーク特定部２１４、及びネットワーク構成情報記憶部２１５を実現するプログラムを格納する。なお、主記憶装置２０１には前述した以外のプログラムが格納されてもよい。
【００３４】
受信処理部２１１は、転送装置１０１から受信したミラーパケットとフロー通信状態記憶部２１２に格納されるデータを処理し、フロー通信状態記憶部２１２に処理結果を格納する。
【００３５】
フロー通信状態記憶部２１２は、通信フローの管理情報であるフロー情報を記憶する。フロー情報は通信フローごとに通信状態を示す情報を含む。受信処理部２１１、劣化箇所特定部２１３、及び低品質ネットワーク特定部２１４は、フロー通信状態記憶部２１２に格納されるフロー情報を読み出し、また、フロー通信状態記憶部２１２にデータを書き込む。フロー情報の詳細は、図６から図１０を用いて説明する。
【００３６】
劣化箇所特定部２１３は、フロー通信状態記憶部２１２に保存されるフロー情報を用いて、通信フローごとに非累積的データ廃棄率及びパケット再送率を算出する。また、劣化箇所特定部２１３は、非累積的データ廃棄率及びパケット再送率を用いて、各通信フローについて通信品質が劣化しているか否かを判定する。また、劣化箇所特定部２１３は、前述の判定結果に基づいて、通信フローの送信元及び送信先のどちらに通信品質の劣化の要因が存在するかを特定する。すなわち、フローの劣化箇所が特定される。劣化箇所特定部２１３が実行した処理の結果はフロー通信状態記憶部２１２に格納される。
【００３７】
ネットワーク構成情報記憶部２１５は、転送装置１０１を経由する通信フローのネットワーク構成に関する情報である、ネットワーク構成情報を記憶する。本実施例では、予めネットワーク構成情報が入力されているものとする。なお、転送装置１０１から受信したミラーパケットに基づいて、受信処理部２１１等が自動的にネットワーク構成情報を生成してもよい。ネットワーク構成情報の詳細は図１１を用いて説明する。
【００３８】
低品質ネットワーク特定部２１４は、フロー通信状態記憶部２１２の保存されるフロー情報及びネットワーク構成情報記憶部２１５に保存されるネットワーク構成情報を用いて、ネットワークシステムにおける通信品質の劣化の要因が存在する箇所を特定する。すなわち、ネットワークシステムの劣化箇所が特定される。低品質ネットワーク特定部２１４が実行した処理の結果は、低品質ネットワーク特定部２１４内の通信品質劣化状態記憶部４３２に格納される。
【００３９】
受信処理部２１１、フロー通信状態記憶部２１２、劣化箇所特定部２１３、低品質ネットワーク特定部２１４、及びネットワーク構成情報記憶部２１５の一部又は全てを、演算装置２００、ＮＩＦ２０３、出力装置２０４の一つ又は複数のハードウェアに実装されてもよい。また、一つの物理的なＮＩＦを用いて実現される論理的なＮＩＦを用いてもよい。
【００４０】
図３は、実施例１の分析装置１００が受信するミラーパケットのフォーマットを示す図である。
【００４１】
パケット３００は、ＭＡＣヘッダ３１０、ＩＰヘッダ３２０、ＴＣＰヘッダ３３０、ＴＣＰオプションヘッダ３４０、及びペイロード３５０を含む。
【００４２】
ＭＡＣヘッダ３１０は、ＤＭＡＣ３１１、ＳＭＡＣ３１２、ＴＰＩＤ３１３、ＴＣＩ３１４、及びＴｙｐｅ３１５を含む。
【００４３】
ＤＭＡＣ３１１は、宛先ＭＡＣアドレスを表す。ＳＭＡＣ３１２は、送信元ＭＡＣアドレスを表す。ＴＰＩＤ３１３は、タグ付きフレームであること及びタグの種類を表す。ＴＣＩ３１４は、タグの情報を表す。Ｔｙｐｅ３１５は、ＭＡＣフレームのタイプを表す。
【００４４】
ＴＣＩ３１４は、さらに、ＰＣＰ３１６、ＣＦＩ３１７、及びＶＩＤ３１８を含む。ＰＣＰ３１６は優先度を表す。ＣＦＩ３１７はＭＡＣアドレスが正規フォームであるか否かを表す。ＶＩＤ３１８はＶＬＡＮのＩＤを表す。なお、ＶＬＡＮが使用されていないネットワークの場合、ＴＰＩＤ３１３及びＴＣＩ３１４は存在しない。この場合、分析装置１００はＶＩＤが「０」であるものとして処理を行う。
【００４５】
ＩＰヘッダ３２０は、ＩＰ  ｌｅｎｇｔｈ３２１、ｐｒｏｔｏｃｏｌ３２２、ＳＩＰ３２３、及びＤＩＰ３２４を含む。
【００４６】
ＩＰ  ｌｅｎｇｔｈ３２１は、ＭＡＣヘッダ３１０を除くパケット長を表す。ｐｒｏｔｏｃｏｌ３２２は、プロトコル番号を表す。ＳＩＰ３２３は、送信元ＩＰアドレスを表す。ＤＩＰ３２４は、宛先ＩＰアドレスを表す。
【００４７】
ＴＣＰヘッダ３３０は、ｓｒｃ．ｐｏｒｔ３３１、ｄｓｔ．ｐｏｒｔ３３２、ＳＥＱ３３３、ＡＣＫ３３４、ｆｌａｇ３３５、ｔｃｐ  ｈｌｅｎ３３６、及びｗｉｎ＿ｓｉｚｅ３３７を含む。
【００４８】
ｓｒｃ．ｐｏｒｔ３３１は、送信元ポート番号を表す。ｄｓｔ．ｐｏｒｔ３３２は、宛先ポート番号を表す。ＳＥＱ３３３は、送信シーケンス番号を表す。ＡＣＫ３３４は、受信シーケンス番号を表す。ｆｌａｇ３３５は、ＴＣＰフラグ番号を表す。ｔｃｐ  ｈｌｅｎ３３６は、ＴＣＰのヘッダ長を表す。ｗｉｎ＿ｓｉｚｅ３３７は、対向装置へ通知する広告ウィンドウサイズを表す。
【００４９】
ＴＣＰオプションヘッダ３４０は、０又は複数のオプションを含む。例えば、ｏｐｔｉｏｎ  ｋｉｎｄ３４１、ｏｐｔｉｏｎ  ｌｅｎｇｔｈ３４２、及びオプション情報３４３等のオプションが含まれる。ｏｐｔｉｏｎ  ｋｉｎｄ３４１は、オプション種別を表す。ｏｐｔｉｏｎ  ｌｅｎｇｔｈ３４２は、オプション長を表す。オプション情報３４３は、オプションの種類に応じた情報を表す。
【００５０】
例えば、ＭＳＳ（Ｍａｘｉｍｕｍ  Ｓｅｇｍｅｎｔ  Ｓｉｚｅ）オプションは、ＴＣＰ通信を開始するときに自装置の受信可能なＭＳＳサイズを対向装置に通知するために用いられる。ＳＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）オプションは、ＴＣＰ通信を開始するときに、自装置がＳＡＣＫオプションに対応可能であることを対向装置に通知するために用いられる。ＳＡＣＫオプションは、さらに、通信中にパケットの廃棄が検出されたときに部分的に受信できたデータ箇所を対向装置に通知するために用いられる。タイムスタンプオプションは、通信中の自装置の受信時刻を対向装置に通知するために用いられる。ウィンドウスケールオプションは、ｗｉｎ＿ｓｉｚｅ３３７によって通知される値を右シフトするビット数を対向装置に通知して対向装置に通知可能な広告ウィンドウサイズの最大値を大きくするために用いられる。このように、ＴＣＰオプションヘッダ３４０は、通信開始時及び通信中に自装置の対応可能な機能及び情報を対向装置に伝えるために用いられる。
【００５１】
図４は、実施例１の分析装置１００及び転送装置１０１の各機能部の関係を示すブロック図である。
【００５２】
転送装置１０１は、四つのＮＩＦ４１１−１、４１１−２、４１１−３、４１１−４を有し、また、ポートミラーリング機能部４１０を含む。ポートミラーリング機能部４１０は、ＮＩＦ４１１−１から受信したパケットをＮＩＦ４１１−２に転送し、また、受信したパケットと同一のミラーパケットをＮＩＦ４１１−３から分析装置１００に送信する。また、ポートミラーリング機能部４１０は、ＮＩＦ４１１−２から受信したパケットをＮＩＦ４１１−１に転送し、また、受信したパケットと同一のミラーパケットをＮＩＦ４１１−４から分析装置１００に送信する。
【００５３】
ＮＩＦ２０３−１、２０３−２は、転送装置１０１から受信したミラーパケットを受信処理部２１１に出力する。
【００５４】
受信処理部２１１は、ＮＩＦ２０３−１からパケットが入力された場合、ＮＩＦ４１１−１からＮＩＦ４１１−２の方向に送信されたパケットであると判定する。また、受信処理部２１１は、ＮＩＦ２０３−２からパケットが入力された場合、ＮＩＦ４１１−２からＮＩＦ４１１−１の方向に送信されたパケットである判定する。受信処理部２１１は、ＮＩＦ２０３から入力されたミラーパケットのヘッダ情報に基づいて、ミラーパケットに対応するパケットが属する通信フローのフロー情報がフロー通信状態記憶部２１２に保存されているか否かを判定する。
【００５５】
上記情報がフロー通信状態記憶部２１２に保存されている場合、受信処理部２１１は、フロー通信状態記憶部２１２に保存される情報及びミラーパケットのヘッダ情報を解析し、フロー通信状態記憶部２１２に保存されるフロー情報を更新する。
【００５６】
上記情報がフロー通信状態記憶部２１２に保存されていない場合、受信処理部２１１は、ミラーパケットのヘッダ情報を解析し、新たなフロー情報を、フロー通信状態記憶部２１２に保存する。ミラーパケットのヘッダ情報のみを処理することによって、処理負荷を軽減し、ペイロードが暗号化されている通信にも適用することができる。
【００５７】
フロー通信状態記憶部２１２は、受信処理部２１１、劣化箇所特定部２１３、及び低品質ネットワーク特定部２１４から並列にフロー情報の更新操作を受け付ける。受信処理部２１１、劣化箇所特定部２１３、及び低品質ネットワーク特定部２１４が並列に処理を実行することによって、分析装置１００内の処理の高速化が可能となる。
【００５８】
劣化箇所特定部２１３は、指標算出部として、非累積的データ廃棄率算出部４２１及びパケット再送率算出部４２２を含む。非累積的データ廃棄率算出部４２１及びパケット再送率算出部４２２は、それぞれ、フロー通信状態記憶部２１２に記憶される各フロー情報に基づいて、各通信フローの非累積的データ廃棄率及びパケット再送率を算出する。なお、一つの指標算出部が非累積的データ廃棄率及びパケット再送率を算出してもよい。
【００５９】
また、劣化箇所特定部２１３は、非累積的データ廃棄率及びパケット再送率に基づいて通信フローの通信品質が劣化しているか否かを判定する。劣化箇所特定部２１３は、通信品質が劣化している場合、非累積的データ廃棄率及びパケット再送率を用いて処理の結果に基づいてフローの劣化箇所を特定し、フロー通信状態記憶部２１２に結果を保存する。
【００６０】
低品質ネットワーク特定部２１４は、通信品質劣化状態算出部４３１及び通信品質劣化状態記憶部４３２を含む。
【００６１】
通信品質劣化状態算出部４３１は、フロー通信状態記憶部２１２に記憶される各フロー情報から劣化箇所特定部２１３の処理結果を取得する。通信品質劣化状態算出部４３１は、取得された処理結果をネットワーク構成情報記憶部２１５に保存されるネットワーク構成情報にマッピングすることによって、通信品質劣化状態情報を生成する。通信品質劣化状態算出部４３１は、生成された通信品質劣化状態情報を通信品質劣化状態記憶部４３２に保存する。
【００６２】
ネットワーク構成情報記憶部２１５は、ネットワーク構成情報を記憶する。ネットワーク構成情報は、ネットワークの一覧と各ネットワークの識別条件、転送装置１０１に対してＮＩＦ４１１−１側又はＮＩＦ４１１−２側の何れに存在するネットワークであるかを示す情報から構成される。ネットワーク構成情報は、低品質ネットワーク特定部２１４によって読み出され、通信品質劣化状態情報の生成に用いられる。
【００６３】
図５は、実施例１の分析装置１００の各機能が実行する処理の流れを示す図である。受信処理部２１１、劣化箇所特定部２１３、及び低品質ネットワーク特定部２１４はそれぞれ並列に動作する。
【００６４】
まず、受信処理部２１１の処理の流れについて説明する。受信処理部２１１は、転送装置１０１からミラーパケットを受信した場合（ステップＳ５１０）、ミラーパケットのヘッダ情報のみをコピーする（ステップＳ５１１）。
【００６５】
受信処理部２１１は、ミラーパケットのヘッダ情報及びフロー通信状態記憶部２１２が管理するフロー情報を用いて通信情報検索処理を実行し（ステップＳ５１２）、また、情報格納処理を実行する（ステップＳ５１３）。
【００６６】
具体的には、受信処理部２１１は、フロー通信状態記憶部２１２に保存されるフロー情報を参照して、受信したミラーパケットに対応するパケットが属する通信フローのフロー情報を検索する。受信処理部２１１は、検索結果及びミラーパケットのヘッダ情報に基づいて所定の処理を実行する。また、受信処理部２１１は、前述の処理の結果及びミラーパケットのヘッダ情報の一部をフロー通信状態記憶部２１２に保存する。
【００６７】
次に、劣化箇所特定部２１３の処理の流れについて説明する。劣化箇所特定部２１３は、通信情報巡回処理を実行する（ステップＳ５２０）。具体的には、劣化箇所特定部２１３は、フロー通信状態記憶部２１２に保存される複数のフロー情報を順番に読み出す。
【００６８】
劣化箇所特定部２１３は、各フロー情報に対して指標算出処理を実行する（ステップＳ５２１）。具体的には、非累積的データ廃棄率算出部４２１及びパケット再送率算出部４２２が、通信品質の劣化を検出するための指標である、非累積的データ廃棄率及びパケット再送率を算出する。算出された非累積的データ廃棄率及びパケット再送率は、各フロー情報に反映される。
【００６９】
劣化箇所特定部２１３は、非累積的データ廃棄率及びパケット廃棄率の二種類の指標を用いて、品質劣化判定処理を実行する（ステップＳ５２２）。
【００７０】
具体的には、劣化箇所特定部２１３は、通信フローの通信品質が劣化しているか否かを判定する。通信フローの通信品質が劣化していると判定された場合、劣化箇所特定部２１３は、送信元の端末１０４と転送装置１０１との間の通信経路、又は、送信先の端末１０４と転送装置１０１との間の通信経路の何れがフローの劣化箇所であるかを特定する。その後、劣化箇所特定部２１３は、処理の結果をフロー通信状態記憶部２１２に保存する。一方、通信フローの通信品質が劣化していないと判定された場合、劣化箇所特定部２１３は、通信フローの通信品質が劣化していない旨を示す処理の結果をフロー通信状態記憶部２１２に保存する。
【００７１】
次に、低品質ネットワーク特定部２１４の処理の流れについて説明する。低品質ネットワーク特定部２１４は、通信情報巡回処理を実行する（ステップＳ５３０）。具体的には、低品質ネットワーク特定部２１４は、フロー通信状態記憶部２１２に保存される複数のフロー情報を順番に読み出す。
【００７２】
低品質ネットワーク特定部２１４は、フロー通信状態記憶部２１２に保存されるフロー情報、及びネットワーク構成情報記憶部２１５に保存されるネットワーク構成情報を用いて通信品質劣化状態算出処理を実行する（ステップＳ５３１）。
【００７３】
具体的には、通信品質劣化状態算出部４３１が、フロー情報に含まれる劣化箇所特定部２１３の判定の結果をネットワーク構成情報に反映することによって通信品質劣化状態情報を生成する。さらに、通信品質劣化状態算出部４３１は、通信品質劣化状態情報を通信品質劣化状態記憶部に４３２保存する。
【００７４】
次に、図６から図１０を用いて、フロー通信状態記憶部２１２に保存されるフロー情報のデータ構造について説明する。以下の説明では、転送装置１０１のＮＩＦ４１１−１に接続されるネットワーク１１０のグループをグループ１と記載し、また、ＮＩＦ４１１−２に接続されるネットワーク１１０のグループをグループ２と記載する。また、グループ１に含まれるネットワーク１１０と接続する端末１０４をグループ１の端末１０４と記載し、また、グループ２に含まれるネットワーク１１０と接続する端末１０４をグループ２の端末１０４と記載する。
【００７５】
フロー通信状態記憶部２１２に保存されるフロー情報は、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００、及びａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００の三種類のデータ構造体から構成される。ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００は、通信フローを管理するための基本的な情報である。ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００は、通信フローの通信状態等を管理するための情報である。ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００は、ミラーパケットの受信時に受信処理部２１１によって更新される。ａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００は、通信フローに対する解析の結果を管理するための情報である。ａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００は、主に、劣化箇所特定部２１３によって更新される。
【００７６】
図６は、実施例１のｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００のデータ構造の一例を示す図である。
【００７７】
受信処理部２１１は、通信フロー毎に図６に示すようなｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００を生成する。
【００７８】
ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００は、ｓｒｃ＿ｉｐ６０１、ｄｅｓｔ＿ｉｐ６０２、ｓｒｃ＿ｐｏｒｔ６０３、ｄｅｓｔ＿ｐｏｒｔ６０４、ｖｌａｎ６０５、ｐｒｅｖ６０６、ｎｅｘｔ６０７、ｃｄ［０］６０８、ｃｄ［１］６０９、及びａｄ６１０を含む。
【００７９】
ｓｒｃ＿ｉｐ６０１は、グループ１の端末１０４のＩＰアドレスであり、ｄｅｓｔ＿ｉｐ６０２は、グループ２の端末１０４のＩＰアドレスである。ｓｒｃ＿ｐｏｒｔ６０３は、グループ１の端末１０４のポート番号であり、ｄｅｓｔ＿ｐｏｒｔ６０４は、グループ２の端末１０４のポート番号である。
【００８０】
ｖｌａｎ６０５はｖｌａｎ番号である。ｐｒｅｖ６０６及びｎｅｘｔ６０７は、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００に対するポインタ変数である。ｃｄ［０］６０８及びｃｄ［１］６０９は、後述するｃａｐｔｕｒｅ＿ｄａｔａ構造体７００に対するポインタ変数である。ａｄ６１０は、後述するａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００に対するポインタ変数である。
【００８１】
図７は、実施例１のｃａｐｔｕｒｅ＿ｄａｔａ構造体７００のデータ構造を示す図である。
【００８２】
受信処理部２１１は、一つの通信フローについて二つのｃａｐｔｕｒｅ＿ｄａｔａ構造体７００を生成する。具体的には、グループ１の端末１０４からグループ２の端末１０４へ送信されるパケットに対するｃａｐｔｕｒｅ＿ｄａｔａ構造体７００、及びグループ２の端末１０４からグループ１の端末１０４へ送信されるパケットに対するｃａｐｔｕｒｅ＿ｄａｔａ構造体７００が生成される。
【００８３】
ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００は、ｓｅｑ７０１、ｎｅｘｔ＿ｓｅｑ７０６、ｔｘ＿ｐｋｔｓ７０２、ｒｅｔｒ＿ｐｋｔｓ７０３、ｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４、及びｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５を含む。
【００８４】
ｓｅｑ７０１は、これまでに受信したミラーパケットのシーケンス番号の最後尾の番号である。ｎｅｘｔ＿ｓｅｑ７０６は、次に受信するミラーパケットに含まれるシーケンス番号の予測値である。ｔｘ＿ｐｋｔｓ７０２は、これまでに受信したミラーパケットの数である。ｒｅｔｒ＿ｐｋｔｓ７０３は、これまでに受信したミラーパケットのうちＴＣＰによる再送パケットの数である。
【００８５】
ｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４は、再送パケットを除いたパケットのペイロードサイズの累計値である。ｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５は、１回以上廃棄されたパケットのペイロードサイズの累計値である。
【００８６】
図８は、実施例１のａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００のデータ構造を示す図である。なお、ａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００は、主に劣化箇所特定部２１３によって更新される。
【００８７】
ａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００は、ｒｅｔｒ＿ｒａｔｅ８０１、ｎｏｎｃｕｌ＿ｌｏｓｓ＿ｒａｔｅ８０２、及びｂａｄ＿ｌｏｃａｔｉｏｎ８０３を含む。
【００８８】
ｒｅｔｒ＿ｒａｔｅ８０１は、パケット再送率である。ｎｏｎｃｕｌ＿ｌｏｓｓ＿ｒａｔｅ８０２は、非累積的データ廃棄率である。ｂａｄ＿ｌｏｃａｔｉｏｎ８０３はフローの劣化箇所を示す値である。
【００８９】
本実施例では、ｂａｄ＿ｌｏｃａｔｉｏｎ８０３には、「０」、「１」、又は「２」のいずれかの値が設定される。「０」はフローの劣化箇所が存在しないことを示す。「１」は、送信元の端末１０４と転送装置１０１との間の通信経路がフローの劣化箇所であることを示す。「２」は、送信先の端末１０４と転送装置１０１との間の通信経路がフローの劣化箇所であることを示す。
【００９０】
図９は、実施例１のｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００、ａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００の関連性を示す図である。
【００９１】
受信処理部２１１は、新たな通信フローを介した通信が開始された場合、一つのｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００と、通信フローを流れるパケットの送信方向が異なる二つのｃａｐｔｕｒｅ＿ｄａｔａ構造体７００と、一つのａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００とを生成する。
【００９２】
受信処理部２１１は、フロー通信状態記憶部２１２に通信フローの情報が存在し、かつ、当該通信フローを流れる新たなミラーパケットを受信した場合、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００を更新する。
【００９３】
グループ１の端末１０４からグループ２の端末１０４に送信されるパケットに関するｃａｐｔｕｒｅ＿ｄａｔａ構造体７００は、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００のｃｄ［０］６０８によって示される。また、グループ２の端末１０４からグループ１の端末１０４に送信されるパケットに関するｃａｐｔｕｒｅ＿ｄａｔａ構造体７００は、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００のｃｄ［１］６０９によって示される。また、ａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００は、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００のａｄ６１０によって示される。
【００９４】
図１０は、実施例１のフロー通信状態記憶部２１２におけるｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００の配置例を示す図である。
【００９５】
フロー通信状態記憶部２１２は、フロー情報をオープンハッシュテーブル構造によって保持する。オープンハッシュテーブル構造は、各通信フローの管理情報を保持するｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００を示すポインタ１００１が複数並んだ配列として表現される。配列の数は例えば２００万である。各ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００は、他のｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００を示すポインタとして、ｐｒｅｖ６０６及びｎｅｘｔ６０７を含む。
【００９６】
各通信フローのｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００と、ポインタ１００１との関係は、以下の方法によって決定される。ｓｒｃ＿ｉｐ６０１、ｄｅｓｔ＿ｉｐ６０２、ｓｒｃ＿ｐｏｒｔ６０３、ｄｅｓｔ＿ｐｏｒｔ６０４、及びｖｌａｎ６０５の五つの値を結合したビット列に対してハッシュ関数ｍｄ５を適用して得られた値を、配列の要素数で除算することによって剰余ｘが算出される。配列のｘ番目のポインタ１００１がｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００を指し示すポインタとして決定される。さらに、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００のｐｒｅｖ６０６は、配列のｘ番目のポインタ１００１のアドレスを指し示すように決定される。
【００９７】
ここで、あるｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｙから算出された剰余がｘであり、さらに、既にｘ番目のポインタ１００１が別のｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｚを指し示している場合を考える。この場合、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｚのｎｅｘｔ６０７がｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｙを指し示し、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｙのｐｒｅｖ６０６がｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｚを指し示すように決定される。
【００９８】
図１１は、実施例１のネットワーク構成情報記憶部２１５が記憶するネットワーク構成情報１１００のデータ構造を示す図である。
【００９９】
ネットワーク構成情報記憶部２１５は、複数の行を含むテーブルとしてネットワーク構成情報１１００を記憶する。一つの行は、ネットワークＩＤ１１０１、グループＩＤ１１０２、及び所属端末識別情報１１０３から構成される。
【０１００】
ネットワークＩＤ１１０１は、ネットワークシステム内のネットワーク１１０を一意に識別するための識別情報である。グループＩＤ１１０２は、ネットワーク１１０が含まれるグループを一意に識別するための識別情報である。本実施例では、グループＩＤ１１０２には「グループ１」又は「グループ２」のいずれかが格納される。
【０１０１】
所属端末識別情報１１０３は、ネットワーク１１０に接続される端末１０４を識別するための情報である。本実施例の所属端末識別情報１１０３には、一つ若しくは複数のサブネットの識別情報、又は一つ若しくは複数のｖｌａｎの識別情報が格納される。なお、サブネット及びｖｌａｎの識別情報を組み合わせた情報、ｖｌａｎ以外のカプセル化で用いられるタグ情報、又は、ｖｌａｎ以外のカプセル化によって識別されるネットワークを示すタグ情報等が格納されてもよい。
【０１０２】
分析装置１００は、ネットワーク構成情報１１００を用いてネットワークシステム上の通信フローの通信経路を把握できる。例えば、あるミラーパケットのＳＩＰ３２３がＳｕｂｎｅｔ  ＡのＩＰアドレス、ＤＩＰ３２４がＳｕｂｎｅｔ  ＥのＩＰアドレスである場合、分析装置１００は、当該ミラーパケットに対応するパケットが属する通信フローの通信経路が、識別情報が「Ａ」であるネットワーク１１０及び識別情報が「Ｅ」であるネットワーク１１０を経由する通信経路であることが分かる。
【０１０３】
図１２は、実施例１の通信品質劣化状態記憶部４３２が記憶する通信品質劣化状態情報１２００のデータ構造を示す図である。
【０１０４】
通信品質劣化状態記憶部４３２は、複数の行を含むテーブルとして通信品質劣化状態情報１２００を記憶する。一つの行は、ネットワークＩＤ１２０１、Ｇｏｏｄ１２０２、Ｂａｄ１２０３、及びＢａｄ＿ｒａｔｅ１２０４から構成される。
【０１０５】
ネットワークＩＤ１２０１は、ネットワークＩＤ１１０１と同一のものである。Ｇｏｏｄ１２０２は、ネットワーク１１０を経由する通信フローのうち、通信品質が劣化していないと判定された通信フローの数を示す。Ｂａｄ１２０３は、ネットワーク１１０を経由する通信フローのうち、通信品質が劣化していると判定された通信フローの数を示す。Ｂａｄ＿ｒａｔｅ１２０４は、通信品質が劣化していると判定された通信フローの割合を示す。
【０１０６】
なお、通信品質劣化状態情報１２００の各行の各カラムには初期値として「０」が設定される。したがって、図１２に示す通信品質劣化状態情報１２００は、初期化された状態を示す。
【０１０７】
図１３は、実施例１の受信処理部２１１が実行する処理の詳細を説明するフローチャートである。受信処理部２１１は、分析装置１００が起動した後、以下で説明する処理を開始する。なお、本実施例は受信処理部２１１が処理を開始するタイミングに限定されない。
【０１０８】
受信処理部２１１は、転送装置１０１からミラーパケットを受信した場合（ステップＳ５１０）、受信したミラーパケットのヘッダ情報を主記憶装置２０１にコピーする（ステップＳ５１１）。ヘッダ情報のみを主記憶装置２０１にコピーすることによって、主記憶装置２０１の記憶容量の消費を低減し、また、処理の高速化を実現できる。
【０１０９】
次に、受信処理部２１１は、通信情報検索処理を開始する（ステップＳ５１２）。
【０１１０】
通信情報検索処理では、まず、受信処理部２１１は、フロー通信状態記憶部２１２に保存されるフロー情報の中から受信したミラーパケットに対応するパケットが属する通信フローのフロー情報を検索する。受信処理部２１１は、検索の結果、前述したフロー情報がフロー通信状態記憶部２１２に保存されているか否かを判定する（ステップＳ１３０１）。具体的には、以下のような処理が実行される。
【０１１１】
ＮＩＦ２０３−１が受信したミラーパケットの場合、受信処理部２１１は、ｓｒｃ＿ｉｐ６０１がＳＩＰ３２３に一致し、ｄｅｓｔ＿ｉｐ６０２がＤＩＰ３２４に一致し、ｓｒｃ＿ｐｏｒｔ６０３がｓｒｃ．ｐｏｒｔ３３１に一致し、ｄｅｓｔ＿ｐｏｒｔ６０４がｄｓｔ．ｐｏｒｔ３３２に一致し、かつ、ｖｌａｎ６０５がＶＩＤ３１８に一致するｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００が存在するか否かを判定する。前述した条件を満たすｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００が存在する場合、受信処理部２１１は、ミラーパケットに対応するパケットが属する通信フローのフロー情報がフロー通信状態記憶部２１２に保存されていると判定する。
【０１１２】
ＮＩＦ２０３−２が受信したミラーパケットの場合、受信処理部２１１は、ｓｒｃ＿ｉｐ６０１がＤＩＰ３２４に一致し、ｄｅｓｔ＿ｉｐ６０２がＳＩＰ３２３に一致し、ｓｒｃ＿ｐｏｒｔ６０３がｄｓｔ．ｐｏｒｔ３３２に一致し、ｄｅｓｔ＿ｐｏｒｔ６０４がｓｒｃ．ｐｏｒｔ３３１に一致し、かつ、ｖｌａｎ６０５がＶＩＤ３１８に一致するｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００が存在するか否かを判定する。前述した条件を満たすｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００が存在する場合、受信処理部２１１は、ミラーパケットに対応するパケットが属する通信フローのフロー情報がフロー通信状態記憶部２１２に保存されていると判定する。
【０１１３】
なお、ミラーパケットを受信したＮＩＦ２０３−１及びＮＩＦ２０３−２によって判定条件が異なる理由は、同一の通信フローを流れるパケットの送信方向の違いを考慮したものである。以上がステップＳ１３０１の処理の説明である。
【０１１４】
ミラーパケットに対応するパケットが属する通信フローのフロー情報がフロー通信状態記憶部２１２に保存されると判定された場合、受信処理部２１１は、フロー通信状態記憶部２１２から検索されたフロー情報を読み出す（ステップＳ１３０２）。その後、受信処理部２１１は、情報格納処理を開始する（ステップＳ５１３）。情報格納処理では、受信処理部２１１は、検索されたフロー情報を更新する（ステップＳ１３０４）。その後、受信処理部２１１は、ステップＳ５１０に戻る。ステップＳ１３０４では、以下のような処理が実行される。
【０１１５】
まず、受信処理部２１１は、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００のｔｘ＿ｐｋｔｓ７０２に「１」を加算する。
【０１１６】
ヘッダ情報のＳＥＱ３３３がｃａｐｔｕｒｅ＿ｄａｔａ構造体７００のｓｅｑ７０１よりも後ろの番号である場合、受信処理部２１１は、ｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４にミラーパケットのペイロード長を加算する。ヘッダ情報のＳＥＱ３３３がｃａｐｔｕｒｅ＿ｄａｔａ構造体７００のｓｅｑ７０１よりも手前の番号である場合、受信処理部２１１は、ｒｅｔｒ＿ｐｋｔｓ７０３に「１」を加算する。
【０１１７】
ヘッダ情報のＳＥＱ３３３がｃａｐｔｕｒｅ＿ｄａｔａ構造体７００のｎｅｘｔ＿ｓｅｑ７０６より大きい場合、下式（１）によって算出される容量のデータが廃棄されていることを示す。そのため、受信処理部２１１は、ｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５に式（１）によって算出される容量を加算する。
【０１１８】
【数１】
0006494471.tif 000002
【０１１９】
受信処理部２１１は、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００のｓｅｑ７０１にヘッダ情報のＳＥＱ３３３を設定する。また、受信処理部２１１は、下式（２）によって算出される値を、ｎｅｘｔ＿ｓｅｑ７０６に設定する。式（２）によって算出される値は、パケットが廃棄されていない場合に分析装置１００が次の受信するパケットのＳＥＱ３３３の予測値を表す。以上がステップＳ１３０４の処理の説明である。
【０１２０】
【数２】
0006494471.tif 000003
【０１２１】
ステップＳ１３０１において、ミラーパケットに対応するパケットが属する通信フローのフロー情報がフロー通信状態記憶部２１２に保存されていないと判定された場合、受信処理部２１１は、フロー情報を生成し、フロー通信状態記憶部２１２に保存する（ステップＳ１３０３）。その後、受信処理部２１１は、情報格納処理を開始する（ステップＳ５１３）。情報格納処理では、受信処理部２１１は、ヘッダ情報に基づいて、新たに生成されたフロー情報に値を設定する（ステップＳ１３０５）。その後、受信処理部２１１は、ステップＳ５１０に戻る。ステップＳ１３０５では、以下のような処理が実行される。
【０１２２】
受信処理部２１１は、ｔｘ＿ｐｋｔｓ７０２に「１」を設定し、ｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４にミラーパケットのペイロード長を設定する。また、受信処理部２１１は、ｒｅｔｒ＿ｐｋｔｓ７０３及びｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５のそれぞれに「０」を設定する。また、受信処理部２１１は、ｎｅｘｔ＿ｓｅｑ７０６に式（２）によって算出される値を設定する。以上がステップＳ１３０５の処理の説明である。
【０１２３】
図１４は、実施例１の劣化箇所特定部２１３が実行する処理の詳細を説明するフローチャートである。劣化箇所特定部２１３は、周期的、フロー情報が更新された場合、又は、管理者等から指示を受け付けた場合、以下で説明する処理を開始する。なお、本実施例は、劣化箇所特定部２１３が処理を開始するタイミングに限定されない。
【０１２４】
劣化箇所特定部２１３は、通信情報巡回処理を実行する（ステップＳ５２０）。具体的には、劣化箇所特定部２１３は、フロー通信状態記憶部２１２に保存される複数のフロー情報の中から処理対象のフロー情報を選択する。
【０１２５】
次に、劣化箇所特定部２１３は、選択されたフロー情報を用いて指標算出処理を開始する（ステップＳ５２１）。指標算出処理では、非累積的データ廃棄率の算出処理及びパケット再送率の算出処理がそれぞれ実行される（ステップＳ１４０１、ステップＳ１４０２）。
【０１２６】
非累積的データ廃棄率の算出処理では、まず、非累積的データ廃棄率算出部４２１が、選択されたフロー情報のｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４及びｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５を読み出す（ステップＳ１４１０）。非累積的データ廃棄率算出部４２１は、下式（３）に基づいて非累積的データ廃棄率を算出する（ステップＳ１４１１）。このとき、非累積的データ廃棄率算出部４２１は、フロー通信状態記憶部２１２に対して、選択されたフロー情報のｎｏｎｃｕｌ＿ｌｏｓｓ＿ｒａｔｅ８０２に算出された非累積的データ廃棄率を保存する。
【０１２７】
【数３】
0006494471.tif 000004
【０１２８】
パケット再送率の算出処理では、まず、パケット再送率算出部４２２が、フロー通信状態記憶部２１２から、選択されたフロー情報のｔｘ＿ｐｋｔｓ７０２及びｒｅｔｒ＿ｐｋｔｓ７０３を読み出す（ステップＳ１４２０）。パケット再送率算出部４２２は、下式（４）に基づいてパケット再送率を算出する（ステップＳ１４２１）。このとき、パケット再送率算出部４２２は、フロー通信状態記憶部２１２に対して、選択されたフロー情報のｒｅｔｒ＿ｒａｔｅ８０１に算出されたパケット再送率を保存する。
【０１２９】
【数４】
0006494471.tif 000005
【０１３０】
以上が指標算出処理の具体的な説明である。次に、劣化箇所特定部２１３は、算出された非累積的データ廃棄率及びパケット再送率を用いて品質劣化判定処理を開始する（ステップＳ５２２）。
【０１３１】
品質劣化判定処理では、まず、劣化箇所特定部２１３が、フロー通信状態記憶部２１２から、選択されたフロー情報のｎｏｎｃｕｌ＿ｌｏｓｓ＿ｒａｔｅ８０２を読み出し、非累積的データ廃棄率が所定の閾値より大きいか否かを判定する（ステップＳ１４０３）。
【０１３２】
非累積的データ廃棄率が所定の閾値より大きい場合、劣化箇所特定部２１３は、通信フローの通信品質が劣化し、かつ、グループ１のネットワーク１１０（送信元の端末１０４と転送装置１０１との間の通信経路）が劣化箇所であると判定する（ステップＳ１４０６）。その後、劣化箇所特定部２１３は、ステップＳ１４０８に進む。このとき、劣化箇所特定部２１３は、フロー通信状態記憶部２１２に対して、選択されたフロー情報のｂａｄ＿ｌｏｃａｔｉｏｎ８０３に「１」を保存する。
【０１３３】
非累積的データ廃棄率が所定の閾値以下の場合、劣化箇所特定部２１３は、フロー通信状態記憶部２１２から、選択されたフロー情報のｒｅｔｒ＿ｒａｔｅ８０１を読み出し、パケット再送率が所定の閾値より大きいか否かを判定する（ステップＳ１４０４）。
【０１３４】
パケット再送率が所定の閾値より大きい場合、劣化箇所特定部２１３は、通信フローの通信品質が劣化し、かつ、グループ２のネットワーク１１０（送信先の端末１０４と転送装置１０１との間の通信経路）が劣化箇所であると判定する（ステップＳ１４０７）。その後、劣化箇所特定部２１３は、ステップＳ１４０８に進む。このとき、劣化箇所特定部２１３は、フロー通信状態記憶部２１２に対して、選択されたフロー情報のｂａｄ＿ｌｏｃａｔｉｏｎ８０３に「２」を保存する。
【０１３５】
パケット再送率が所定の閾値以下の場合、劣化箇所特定部２１３は、通信フローの通信品質に劣化が発生していないと判定する（ステップＳ１４０５）。その後、劣化箇所特定部２１３は、ステップＳ１４０８に進む。このとき、劣化箇所特定部２１３は、フロー通信状態記憶部２１２に対して、選択されたフロー情報のｂａｄ＿ｌｏｃａｔｉｏｎ８０３に「０」を保存する。
【０１３６】
ステップＳ１４０８では、劣化箇所特定部２１３が、フロー通信状態記憶部２１２に保存されるフロー情報のうち、未処理のフロー情報が存在するか否かを判定する（ステップＳ１４０８）。
【０１３７】
未処理のフロー情報が存在すると判定された場合、劣化箇所特定部２１３は、ステップＳ５２０に戻り、同様の処理を実行する。未処理のフロー情報が存在しないと判定された場合、劣化箇所特定部２１３は、処理を終了する。この場合、劣化箇所特定部２１３は、一定時間経過するまで、又は、指示を受け付けるまで、待ち状態となる。
【０１３８】
ステップＳ１４０３の判定処理及びステップＳ１４０４の判定処理のそれぞれで用いられる閾値は、０より大きく１より小さい範囲内の数値が用いられる。例えば、閾値として「０．０１」が用いられる。なお、それぞれの判定処理で使用される閾値は、異なった値でもよいし、同一の値でもよい。以上が品質劣化判定処理の具体的な説明である。
【０１３９】
ここで、図１５を用いて、非累積的データ廃棄率及びパケット再送率を用いた劣化箇所の特定方法について説明する。
【０１４０】
図１５は、実施例１の品質劣化判定処理の判定方法を説明する図である。図１６は、実施例１のフロー情報の一部の値の遷移状態を示す図である。説明の簡単のため、端末１０４−１から端末１０４−６にデータを送信する通信フローを考える。このとき、ネットワーク１１０−１がグループ１のネットワーク１１０に対応し、ネットワーク１１０−４がグループ２のネットワーク１１０に対応する。
【０１４１】
まず、非累積的データ廃棄率を用いた劣化箇所の特定方法の仕組みについて説明する。
【０１４２】
端末１０４−１が、ＳＥＱ３３３が「１００」、「２００」、「３００」、「４００」、「５００」、「６００」、「７００」、「８００」、「９００」、及び「１０００」である１０個のパケットを送信した場合を考える。また、各パケットのペイロード長は「１００」であるものとする。この場合、転送装置１０１が、ＳＥＱ３３３が「３００」であるパケットを受信した場合、受信処理部２１１によってフロー情報のｎｅｘｔ＿ｓｅｑ７０６には「４００」が保存される。
【０１４３】
ＳＥＱ３３３が「４００」、「５００」である二つのパケットがネットワーク１１０−１において廃棄された場合、転送装置１０１は、ＳＥＱ３３３が「３００」であるパケットを受信した後、ＳＥＱ３３３が「６００」であるパケットを受信することになる。このとき、受信処理部２１１は、式（１）に基づいて値「２００」を算出し、フロー情報のｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５に「２００」を保存する。その後、転送装置１０１が、ＳＥＱ３３３が「７００」、「８００」、「９００」、「１０００」であるパケットを受信した場合、分析装置１００は、８個のパケットを観測したことになるため、フロー情報のｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４は「８００」となる。なお、各パケットを受信した時点のｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４、及びｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５は、図１６に示すように変化する。
【０１４４】
この場合、非累積的データ廃棄率は、下式（５）に示すように「０．２５」となる。
【０１４５】
【数５】
0006494471.tif 000006
【０１４６】
一方、ＳＥＱ３３３が「４００」、「５００」である二つのパケットがネットワーク１１０−４において廃棄された場合、転送装置１０１はすべてのパケットを端末１０４−１から受信しているため、ｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５は「０」、ｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４は「１０００」となる。この場合、非累積的データ廃棄率は式（６）に示すように「０」となる。
【０１４７】
【数６】
0006494471.tif 000007
【０１４８】
前述したように、非累積的データ廃棄率は、転送装置１０１がＳＥＱ３３３の番号順に受信できなかったパケットのバイト数に基づいて算出されるため、ネットワーク１１０−１においてパケットが廃棄された場合、非累積的データ廃棄率の値は大きくなる。一方、非累積的データ廃棄率は、ネットワーク１１０−４におけるパケットの廃棄の影響を受けない。したがって、非累積的データ廃棄率は、ネットワーク１１０−１を経由する通信フローの通信品質に関連する値として用いることができる。
【０１４９】
次に、パケット再送率を用いた劣化箇所の特定方法の仕組みについて説明する。
【０１５０】
端末１０４−１が、ＳＥＱ３３３が「１００」、「２００」、「３００」、「４００」、「５００」、「６００」、「７００」、「８００」、「９００」、及び「１０００」である１０個のパケットを送信した場合を考える。また、パケットのペイロード長は「１００」であるものとする。
【０１５１】
ＳＥＱ３３３が「４００」、「５００」である二つのパケットがネットワーク１１０−４において廃棄された場合、ｔｘ＿ｐｋｔｓ７０２は「１０」である。端末１０４−１からＳＥＱ３３３が「４００」、「５００」である二つのパケットが再送された場合、ｔｘ＿ｐｋｔｓ７０２は「１２」、ｒｅｔｒ＿ｐｋｔｓ７０３は「２」となる。したがって、式（４）にしたがってパケット再送率は「０．１６７」と算出される。
【０１５２】
送信先の端末１０４−６から確認の応答がない場合、ネットワーク１１０−１又はネットワーク１１０−４のいずれかにおいてパケットが廃棄されたことを示す。この場合、送信元の端末１０４−１は、いずれのネットワーク１１０においてパケットが廃棄されたかにかかわらず、廃棄されたパケットを再送する。分析装置１００は、転送装置１０１が再送パケットを受信すると、ｒｅｔｒ＿ｐｋｔｓ７０３を更新する。
【０１５３】
ネットワーク１１０−１においてパケットが廃棄された場合、ｔｘ＿ｐｋｔｓ７０２は更新されない。一方、ネットワーク１１０−４においてパケットが廃棄された場合、ｔｘ＿ｐｋｔｓ７０２が更新される。
【０１５４】
パケット再送率は、式（４）に示すようにｒｅｔｒ＿ｐｋｔｓ７０３をｔｘ＿ｐｋｔｓ７０２で除算することに算出される値である。したがって、パケット再送率は、ネットワーク１１０−１及びネットワーク１１０−４の両方の通信品質の劣化の影響を受ける。したがって、パケット再送率は、ネットワーク１１０−１及びネットワーク１１０−４を経由する通信フローの通信品質に関連する値として用いることができる。
【０１５５】
なお、ｒｅｔｒ＿ｐｋｔｓ７０３を通信フローの通信品質を判定する指標として用いた場合、ネットワーク全体の通信量が判定結果に影響するため、本実施例では、パケット再送率を指標として用いる。
【０１５６】
本実施例の劣化箇所特定部２１３は、前述したようなパケットが廃棄された箇所に依存する二つの指標を用いて、通信品質の劣化の検出、及び、劣化箇所を特定する。
【０１５７】
具体的には、劣化箇所特定部２１３は、まず、非累積的データ廃棄率を用いてネットワーク１１０−１における通信品質の劣化の有無を判定する（ステップＳ１４０３）。非累積的データ廃棄率が所定の閾値以下の場合、劣化箇所特定部２１３は、パケット再送率を用いてネットワーク１１０−４における通信品質の劣化の有無を判定する（ステップＳ１４０４）。
【０１５８】
パケット再送率は、ネットワーク１１０−１及びネットワーク１１０−４の両方の通信品質の劣化の影響を受ける値である。しかし、非累積的データ廃棄率に基づく判定結果からネットワーク１１０−１の通信品質の劣化を排除できため、劣化箇所特定部２１３は、パケット再送率に基づいてネットワーク１１０−４の通信品質の劣化の有無を判定できる。
【０１５９】
なお、ネットワーク１１０−１及びネットワーク１１０−４の両方が劣化箇所である場合も考えられる。この場合、分析装置１００は、端末１０４−６から端末１０４−１に送信されるパケットについて同様の判定を行うことによって、両方のネットワーク１１０が劣化箇所であることと特定できる。すなわち、分析装置１００は、端末１０４−１から端末１０４−６に送信されるパケットのヘッダ情報の解析結果から、ネットワーク１１０−１の通信品質の劣化を検出し（ステップＳ１４０６）、また、端末１０４−６から端末１０４−１に送信されるパケットのヘッダ情報の解析結果から、ネットワーク１１０−４の通信品質の劣化を検出する（ステップＳ１４０６）。
【０１６０】
したがって、分析装置１００は、送信元及び送信先の両方のネットワーク１１０に通信品質の劣化要因が存在する場合には対応できる。
【０１６１】
図１７は、実施例１における通信フローの非累積的データ廃棄率及びパケット再送率の関係を示す図である。
【０１６２】
図１７では、縦軸は通信フローのパケット再送率を示し、横軸は通信フローの非累積的データ廃棄率を示す。
【０１６３】
非累積的データ廃棄率が閾値より大きい場合、送信元のネットワーク１１０が劣化箇所であること示す。例えば、図１５に示すような通信フローにおいて、ネットワーク１１０−１が劣化箇所である場合、当該通信フローの非累積的データ廃棄率及びパケット再送率の関係は点１７０１のようになる。
【０１６４】
非累積的データ廃棄率が閾値以下であり、かつ、パケット再送率が閾値より大きい場合、送信先のネットワーク１１０が劣化箇所であることを示す。例えば、図１５に示すような通信フローにおいて、ネットワーク１１０−４が劣化箇所である場合、当該通信フローの非累積的データ廃棄率及びパケット再送率の関係は点１７０２のようになる。
【０１６５】
非累積的データ廃棄率及びパケット再送率が閾値より小さい場合、通信フローの通信品質に劣化が発生していないことを示す。
【０１６６】
図１８は、実施例１の低品質ネットワーク特定部２１４が実行する処理の詳細を説明するフローチャートである。図１９は、実施例１の通信品質劣化状態記憶部４３２が出力する通信品質劣化状態情報１２００の一例を示す図である。
【０１６７】
低品質ネットワーク特定部２１４は、周期的、劣化箇所特定部２１３が処理を終了した場合、又は、管理者等から指示を受け付けた場合、以下で説明する処理を開始する。なお、本実施例は、低品質ネットワーク特定部２１４が処理を開始するタイミングに限定されない。
【０１６８】
低品質ネットワーク特定部２１４は、通信品質劣化状態記憶部４３２に保存される通信品質劣化状態情報１２００を初期化する（ステップＳ１８０１）。具体的には、低品質ネットワーク特定部２１４は、通信品質劣化状態情報１２００の全ての行のＧｏｏｄ１２０２、Ｂａｄ１２０３、及びＢａｄ＿ｒａｔｅ１２０４に初期値「０」を設定する。これによって、通信品質劣化状態情報１２００は図１２に示すような状態となる。
【０１６９】
次に、低品質ネットワーク特定部２１４は、通信情報巡回処理を実行する（ステップＳ５３０）。具体的には、低品質ネットワーク特定部２１４は、フロー通信状態記憶部２１２に保存される複数のフロー情報の中から処理対象のフロー情報を選択する。
【０１７０】
次に、低品質ネットワーク特定部２１４は、通信品質劣化状態算出処理を開始する（ステップＳ５３１）。
【０１７１】
通信品質劣化状態算出処理では、まず、通信品質劣化状態算出部４３１が、選択されたフロー情報に基づいて、当該フロー情報に対応する通信フローの通信品質が劣化しているか否かを判定する（ステップＳ１８０２）。
【０１７２】
具体的には、通信品質劣化状態算出部４３１は、選択されたフロー情報のｂａｄ＿ｌｏｃａｔｉｏｎ８０３に「１」又は「２」が設定されているか否かを判定する。ｂａｄ＿ｌｏｃａｔｉｏｎ８０３に「１」又は「２」が設定されている場合、通信品質劣化状態算出部４３１は、通信フローの通信品質が劣化していると判定する。
【０１７３】
フロー情報に対応する通信フローの通信品質が劣化していると判定された場合、通信品質劣化状態算出部４３１は、劣化箇所であるネットワーク１１０に対応する行のＢａｄ１２０３に「１」を加算し、また、劣化箇所でないネットワーク１１０に対応する行のＧｏｏｄ１２０２に「１」を加算する（ステップＳ１８０３）。その後、通信品質劣化状態算出部４３１はステップＳ１８０５に進む。具体的には、以下のような処理が実行される。
【０１７４】
通信品質劣化状態算出部４３１は、ネットワーク構成情報１１００及びフロー情報のｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００に基づいて、通信フローの送信元のネットワーク１１０及び送信先のネットワーク１１０を特定する。
【０１７５】
通信品質劣化状態算出部４３１は、フロー情報のｂａｄ＿ｌｏｃａｔｉｏｎ８０３に「１」が設定されている場合、送信元のネットワーク１１０に対応する行のＢａｄ１２０３に「１」を加算し、また、送信先のネットワーク１１０に対応する行のＧｏｏｄ１２０２に「１」を加算する。
【０１７６】
通信品質劣化状態算出部４３１は、フロー情報のｂａｄ＿ｌｏｃａｔｉｏｎ８０３に「２」が設定されている場合、送信先のネットワーク１１０に対応する行のＢａｄ１２０３に「１」を加算し、また、送信元のネットワーク１１０に対応する行のＧｏｏｄ１２０２に「１」を加算する。以上が、ステップＳ１８０３の処理の説明である。
【０１７７】
ステップＳ１８０２において、フロー情報に対応する通信フローの通信品質が劣化していないと判定された場合、通信品質劣化状態算出部４３１は、送信元及び送信先のそれぞれのネットワーク１１０に対応する行のＧｏｏｄ１２０２に「１」を加算する（ステップＳ１８０４）。その後、通信品質劣化状態算出部４３１はステップＳ１８０５に進む。なお、送信元及び送信先のネットワーク１１０を特定する方法は、ステップＳ１８０３と同一である。
【０１７８】
ステップＳ１８０５では、通信品質劣化状態算出部４３１は、未処理のフロー情報が存在するか否かを判定する（ステップＳ１８０５）。
【０１７９】
未処理のフロー情報が存在すると判定された場合、通信品質劣化状態算出部４３１は、ステップＳ５３０に戻り、同様の処理を実行する。
【０１８０】
未処理のフロー情報が存在しないと判定された場合、通信品質劣化状態算出部４３１は、通信品質劣化状態情報１２００に基づいて、各ネットワーク１１０のＢａｄ＿ｒａｔｅ１２０４を算出する（ステップＳ１８０６）。具体的には、通信品質劣化状態算出部４３１は、下式（７）を用いてＢａｄ＿ｒａｔｅ１２０４を算出し、通信品質劣化状態記憶部４３２に対して算出されたＢａｄ＿ｒａｔｅ１２０４を保存する。
【０１８１】
【数７】
0006494471.tif 000008
【０１８２】
ここで、第１の通信フロー、第２の通信フロー、第３の通信フロー、第４の通信フロー、第５の通信フロー、第６の通信フロー、及び第７の通信フローの七つの通信フローを考える。
【０１８３】
第１の通信フローは、ネットワークＩＤ１２０１が「Ａ」及び「Ｄ」のネットワーク１１０を経由する。第２の通信フローは、ネットワークＩＤ１２０１が「Ａ」及び「Ｅ」のネットワーク１１０を経由する。第３の通信フローは、ネットワークＩＤ１２０１が「Ａ」及び「Ｆ」のネットワーク１１０を経由する。第４の通信フローは、ネットワークＩＤ１２０１が「Ｂ」及び「Ｄ」のネットワーク１１０を経由する。第５の通信フローは、ネットワークＩＤ１２０１が「Ｂ」及び「Ｅ」のネットワーク１１０を経由する。第６の通信フローは、ネットワークＩＤ１２０１が「Ｃ」及び「Ｄ」のネットワーク１１０を経由する。第７の通信フローは、ネットワークＩＤ１２０１が「Ｃ」及び「Ｆ」のネットワーク１１０を経由する。
【０１８４】
第１の通信フロー及び第６の通信フローについて、ネットワークＩＤ１２０１が「Ｄ」のネットワーク１１０が劣化箇所として特定され、また、第４の通信フローについて、ネットワークＩＤ１２０１が「Ｂ」のネットワーク１１０が劣化箇所として特定されたものとする。この場合、通信品質劣化状態情報１２００は、図１９に示すような状態に更新される。図１９に示すように、ネットワークＩＤ１２０１が「Ｂ」及び「Ｄ」のネットワーク１１０のＢａｄ＿ｒａｔｅ１２０４は、他のネットワーク１１０のＢａｄ＿ｒａｔｅ１２０４より大きい。図１８の説明に戻る。
【０１８５】
通信品質劣化状態記憶部４３２は、出力装置２０４を介して更新された通信品質劣化状態情報１２００を外部に出力する（ステップＳ１８０７）。その後、低品質ネットワーク特定部２１４は、処理を終了する。この場合、低品質ネットワーク特定部２１４は、一定時間経過するまで、又は、指示を受け付けるまで、待ち状態となる。
【０１８６】
なお、出力装置２０４から出力される通信品質劣化状態情報１２００は、図１又は図１５に示すようなグラフ形式のデータとして出力してもよいし、表形式のデータとして出力してもよい。なお、本実施例は、出力装置２０４から出力されるデータ形式に限定されない。
【０１８７】
Ｂａｄ＿ｒａｔｅ１２０４は、ネットワークシステム全体におけるネットワーク１１０の通信品質の劣化度合いを表す指標として用いることができる。このようにして、ネットワークシステムの劣化箇所を可視化できる。
【０１８８】
実施例１の分析装置１００は、ポートミラーリング機能部４１０を有する転送装置１０１から送信されるミラーパケットを用いて処理を実行していたが、ネットワークタップから送信されるパケットを用いて同様の処理を実行してもよい。
【０１８９】
実施例１では、通信プロトコルとしてＴＣＰを例に説明したがこれに限定されない。例えば、ＳＣＴＰ等のようにパケットに対してデータの送受信の順番を示す番号が付与され、かつ、廃棄されたパケットを再送する機能を有する通信プロトコルであれば、本発明を適用できる。
【０１９０】
実施例１によれば、分析装置１００は、パケット廃棄率に類似する指標であり、また、通信フローの通信品質を評価する指標である非累積的データ廃棄率及びパケット再送率に基づいて、通信フローの通信品質の劣化を検出できる。さらに、分析装置１００は、非累積的データ廃棄率及びパケット再送率を組み合わせることによって、送信元の端末１０４と転送装置１０１との間の通信経路（ネットワーク１１０）、又は、送信先の端末１０４と転送装置１０１との間の通信経路（ネットワーク１１０）のいずれに通信品質の劣化要因が存在するかを特定できる。
【０１９１】
また、実施例１によれば、分析装置１００は、複数の通信フローの通信品質の判定結果に基づいて、ネットワークシステムの劣化箇所（ネットワーク１１０）を特定できる。分析装置１００は、特定された箇所を表示する情報を出力することによって、ネットワークシステムの劣化箇所を可視化できる。これによって、ネットワークシステムの管理者は、通信品質の劣化を解消するための操作等を行うことができる。
【０１９２】
また、分析装置１００は、ＴＣＰより上位のプロトコルに関する情報を用いることなく、非累積的データ廃棄率及びパケット再送率を算出できるため、汎用的にＴＣＰセッションに対して適用できる。
【実施例２】
【０１９３】
実施例１では、分析装置１００は、非累積的データ廃棄率及びパケット再送率を用いて、通信フローの通信品質を判定する。実施例２では、通信フローの通信品質を判定する指標として非累積的データ廃棄率及び過剰送信率を用いる点が実施例１と異なる。ここで、過剰送信率とは、送信先の端末１０４にパケットが送信されたが、その応答パケットが廃棄されたことに起因して、送信先の端末１０４に再送されるパケットの割合を示す。
【０１９４】
以下、実施例１との差異を中心に実施例２について説明する。なお、実施例１と同一の構成、同一の処理については同一の符号を付し、説明を省略する。
【０１９５】
ネットワークシステムの構成は実施例１と同一であるため説明を省略する。また、分析装置１００のハードウェア構成は実施例１と同一であるため説明を省略する。
【０１９６】
図２０は、実施例２の分析装置１００及び転送装置１０１の各機能部の関係を示すブロック図である。なお、転送装置１０１は、実施例１と同一のものであるため説明を省略する。
【０１９７】
実施例２の分析装置１００の主記憶装置２０１は、受信処理部２００１、フロー通信状態記憶部２１２、劣化箇所特定部２００２、低品質ネットワーク特定部２１４、及びネットワーク構成情報記憶部２１５を実現するプログラムを格納する。フロー通信状態記憶部２１２、低品質ネットワーク特定部２１４、及びネットワーク構成情報記憶部２１５は実施例１と同一のものであるため説明を省略する。
【０１９８】
実施例２の受信処理部２００１は、過剰送信率を算出するための情報をフロー通信状態記憶部２１２に保存する点が実施例１と異なる。また、実施例２では、フロー通信状態記憶部２１２に保存されるフロー情報が一部異なる。
【０１９９】
実施例２の劣化箇所特定部２００２は、パケット再送率算出部４２２の代わりに、過剰送信率算出部２０１１を含む。過剰送信率算出部２０１１は、過剰送信率を算出する。また、実施例２の劣化箇所特定部２００２は、非累積的データ廃棄率及び過剰送信率を用いて通信フローの通信品質の劣化を検出する。
【０２００】
ここで、実施例２のフロー通信状態記憶部２１２に保存されるフロー情報について説明する。実施例２のフロー情報は、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００、ｃａｐｔｕｒｅ＿ｄａｔａ構造体２１００、及びａｎａｌｙｓｉｓ＿ｄａｔａ構造体２２００の三種類のデータ構造体から構成される。実施例２では、ｃａｐｔｕｒｅ＿ｄａｔａ構造体２１００及びａｎａｌｙｓｉｓ＿ｄａｔａ構造体２２００に含まれる値が、実施例１のｃａｐｔｕｒｅ＿ｄａｔａ構造体７００及びａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００と一部異なる。
【０２０１】
図２１は、実施例２のｃａｐｔｕｒｅ＿ｄａｔａ構造体２１００のデータ構造を示す図である。図２２は、実施例２のａｎａｌｙｓｉｓ＿ｄａｔａ構造体２２００のデータ構造を示す図である。
【０２０２】
実施例２のｃａｐｔｕｒｅ＿ｄａｔａ構造体２１００は、ｓｅｑ７０１、ａｃｋ２１０１、ｎｅｘｔ＿ｓｅｑ７０６、ａｃｋｅｄ＿ｂｙｔｅｓ２１０２、ｘｍｉｔ＿ｂｙｔｅｓ２１０３、ｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４、及びｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５を含む。
【０２０３】
ａｃｋ２１０１は、最新の確認応答番号である。ａｃｋｅｄ＿ｂｙｔｅｓ２１０２は、確認応答パケットによって送信先の端末１０４が受信したことが確認されたパケットのバイト数である。ｘｍｉｔ＿ｂｙｔｅｓ２１０３は、送信先の端末１０４に対する送信が確認されたパケットのバイト数である。
【０２０４】
実施例２のａｎａｌｙｓｉｓ＿ｄａｔａ構造体２２００は、ｅｘｃｅｓｓ＿ｘｍｉｔ＿ｒａｔｅ２２０１、ｎｏｎｃｕｌ＿ｌｏｓｓ＿ｒａｔｅ８０２、及びｂａｄ＿ｌｏｃａｔｉｏｎ８０３を含む。ｅｘｃｅｓｓ＿ｘｍｉｔ＿ｒａｔｅ２２０１は、過剰送信率である。
【０２０５】
図２３は、実施例２の受信処理部２００１が実行する処理の詳細を説明するフローチャートである。
【０２０６】
ステップＳ５１０、ステップＳ５１１、及びステップＳ５１２は、実施例１と同一の処理である。実施例２では、ステップＳ５１３の情報格納処理の処理内容が一部異なる。
【０２０７】
受信処理部２００１は、フロー通信状態記憶部２１２から検索されたフロー情報を読み出した後（ステップＳ１３０２）、検索されたフロー情報を更新する（ステップＳ２３０１）。その後、受信処理部２００１は、ステップＳ５１０に戻る。ステップＳ２３０１では、以下のような処理が実行される。
【０２０８】
受信処理部２００１は、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００のｘｍｉｔ＿ｂｙｔｅｓ２１０３にミラーパケットのペイロードサイズを加算する。受信処理部２００１は、ミラーパケットのＡＣＫ３３４がｃａｐｔｕｒｅ＿ｄａｔａ構造体７００のａｃｋ２１０１より進んでいる場合、ＡＣＫ３３４からａｃｋ２１０１を減算して得られた値をａｃｋｅｄ＿ｂｙｔｅｓ２１０２に加算する。また、受信処理部２００１は、ａｃｋ２１０１にミラーパケットのＡＣＫ３３４を設定する。
【０２０９】
ｓｅｑ７０１、ｎｅｘｔ＿ｓｅｑ７０６、ｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４、及びｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５の更新方法は、実施例１と同一であるため説明を省略する。以上がステップＳ２３０１の処理の説明である。
【０２１０】
受信処理部２００１は、フロー通信状態記憶部２１２に新たなフロー情報を生成した後（ステップＳ１３０３）、当該フロー情報に値を設定する（ステップＳ２３０２）。その後、受信処理部２００１は、ステップＳ５１０に戻る。ステップＳ２３０２では、以下のような処理が実行される。
【０２１１】
受信処理部２００１は、ミラーパケットのペイロードサイズをｘｍｉｔ＿ｂｙｔｅｓ２１０３に設定し、ミラーパケットのＡＣＫ３３４をａｃｋ２１０１に設定し、ａｃｋｅｄ＿ｂｙｔｅｓ２１０２に「０」を設定する。
【０２１２】
ｓｅｑ７０１、ｎｅｘｔ＿ｓｅｑ７０６、ｎｏｎｃｕｌ＿ｔｘ＿ｂｙｔｅｓ７０４、及びｎｏｎｃｕｌ＿ｌｏｓｓ＿ｂｙｔｅｓ７０５の設定方法は、実施例１と同一であるため説明を省略する。以上がステップＳ２３０２の処理の説明である。
【０２１３】
図２４は、実施例２の劣化箇所特定部２００２が実行する処理の詳細を説明するフローチャートである。
【０２１４】
実施例２では、指標算出処理及び品質劣化判定処理の一部が異なる。
【０２１５】
指標算出処理では、劣化箇所特定部２００２が、パケット再送率の算出処理の代わりに、過剰送信率の算出処理を実行する（ステップＳ２４０１）。なお、非累積的データ廃棄率の算出処理（ステップＳ１４０１）は、実施例１と同一である。
【０２１６】
過剰送信率の算出処理では、まず、過剰送信率算出部２０１１が、フロー通信状態記憶部２１２から、選択されたフロー情報のａｃｋｅｄ＿ｂｙｔｅｓ２１０２及びｘｍｉｔ＿ｂｙｔｅｓ２１０３を読み出す（ステップＳ２４１０）。過剰送信率算出部２０１１は、下式（８）に基づいて過剰送信率を算出する（ステップＳ２４１１）。このとき、過剰送信率算出部２０１１は、フロー通信状態記憶部２１２に対して、選択されたフロー情報のｅｘｃｅｓｓ＿ｘｍｉｔ＿ｒａｔｅ２２０１に算出された過剰送信率を保存する。
【０２１７】
【数８】
0006494471.tif 000009
【０２１８】
品質劣化判定処理では、劣化箇所特定部２００２が、非累積的データ廃棄率が所定の閾値以下の場合、フロー通信状態記憶部２１２から、選択されたフロー情報のｅｘｃｅｓｓ＿ｘｍｉｔ＿ｒａｔｅ２２０１を読み出し、過剰送信率が所定の閾値より大きいか否かを判定する（ステップＳ２４０２）。
【０２１９】
過剰送信率が所定の閾値より大きい場合、劣化箇所特定部２００２は、通信フローの通信品質が劣化し、かつ、グループ２のネットワーク１１０（送信先の端末１０４と転送装置１０１との間の通信経路）が劣化箇所であると判定する（ステップＳ１４０７）。その後、劣化箇所特定部２００２は、ステップＳ１４０８に進む。このとき、劣化箇所特定部２００２は、フロー通信状態記憶部２１２に対して、選択されたフロー情報のｂａｄ＿ｌｏｃａｔｉｏｎ８０３に「２」を保存する。
【０２２０】
ステップＳ２４０２の判定処理で用いられる閾値は、０より大きく１より小さい範囲内の数値が用いられる。例えば、閾値として「０．１」が用いられる。
【０２２１】
過剰送信率は、パケットが廃棄され、送信先の装置からの応答がない場合にパケットが再送されると値が大きくなる。すなわち、過剰送信率は、パケット再送率と同様に、図１５に示すようなネットワーク１１０−１及びネットワーク１１０−４の両方の通信品質の劣化の影響を受ける。したがって、実施例１と同様に、非累積的データ廃棄率及び過剰送信率を用いて、フローの劣化箇所を特定できる。
【０２２２】
実施例２によれば、実施例１とは異なる指標を用いても実施例１と同様の効果を奏することができる。すなわち、パケット廃棄率に類似する指標であり、また、通信フローの通信品質を評価する指標を用いることによって、実施例１で述べたような効果を奏することができる。
【実施例３】
【０２２３】
実施例３では、分析装置１００が、処理結果に基づいて、通信品質の劣化を解消するための制御を行う点が実施例１と異なる。以下、実施例１との差異を中心に実施例３について説明する。なお、実施例１と同一の構成、同一の処理については同一の符号を付し、説明を省略する。
【０２２４】
図２５は、実施例３のネットワークシステムの構成の一例を示す説明図である。図２６は、実施例３の分析装置１００、転送装置１０１及び通信装置２５００の各機能部の関係を示すブロック図である。
【０２２５】
実施例３のネットワークシステムは、ＷＡＮ高速化機能を有する通信装置２５００を含む点が実施例１のネットワークシステムと異なる。通信装置２５００は、転送装置１０１及び分析装置１００と接続する。
【０２２６】
実施例３の分析装置１００は一部構成が異なる。具体的には、分析装置１００は、出力装置２０４の代わりに、通信装置２５００と接続するためのＮＩＦ２６０１を有する。また、実施例３の分析装置１００の主記憶装置２０１には、通信フロー抽出部２６１０を実現するプログラムが格納される。
【０２２７】
通信フロー抽出部２６１０は、低品質ネットワーク特定部２１４の処理結果、フロー情報、及びネットワーク構成情報１１００に基づいて高速化機能を適用する通信フローを抽出する。通信フロー抽出部２６１０は、抽出結果を高速化対象フローリストとして生成し、ＮＩＦ２６０１を経由して通信装置２５００に当該リストを送信する。
【０２２８】
通信装置２５００は、三つのＮＩＦ２６２０を有する。なお、通信装置２５００は、分析装置１００と同様に、演算装置２００、主記憶装置２０１、及び二次記憶装置２０２等のハードウェアを有する。また。通信装置２５００が有する主記憶装置２０１には、ＷＡＮ高速化処理部２６３０、フィルタ２６３１、及び機能切替部２６３２を実現するプログラムが格納される。
【０２２９】
ＷＡＮ高速化処理部２６３０は、ＮＩＦ２６２０−１からフィルタ２６３１−１を経由して受け取ったパケットのＴＣＰ通信を終端し、より高速な輻輳制御アルゴリズムを実行するＴＣＰ通信によってＮＩＦ２６２０−２へパケットを出力する。また、ＷＡＮ高速化処理部２６３０は、ＮＩＦ２６２０−２からフィルタ２６３１−２を経由して受け取ったパケットのＴＣＰ通信を終端し、ＲＥＮＯとして知られるアルゴリズムを実行するＴＣＰ通信によってＮＩＦ２６２０−１へパケットを出力する。
【０２３０】
機能切替部２６３２は、ＮＩＦ２６２０−３を経由して分析装置１００から受け取った高速化対象フローリストに基づいて、フィルタ２６３１−１、２６３１−２に対し、ＷＡＮ高速化機能の有効化、無効化の制御を行う。具体的には、機能切替部２６３２は、高速化対象の通信フローについてはＷＡＮ高速化処理部２６３０を経由するようにフィルタ２６３１に指示し、それ以外の通信フローについてはＷＡＮ高速化処理部２６３０を経由しないよう指示する。
【０２３１】
フィルタ２６３１−１は、ＮＩＦ２６２０−１から受け取ったパケットが属する通信フローが高速化対象の通信フローである場合、ＷＡＮ高速化処理部２６３０に当該パケットを出力する。受け取ったパケットが属する通信フローが高速化対象の通信フローではない場合、フィルタ２６３１−１は、ＮＩＦ２６２０−２にパケットを出力する。
【０２３２】
フィルタ２６３１−２は、ＮＩＦ２６２０−２から受け取ったパケットが属する通信フローが高速化対象の通信フローである場合、ＷＡＮ高速化処理部２６３０に当該パケットを出力する。受け取ったパケットが属する通信フローが高速化対象の通信フローではない場合、フィルタ２６３１−２は、ＮＩＦ２６２０−１にパケットを出力する。
【０２３３】
図２７は、実施例３の通信フロー抽出部２６１０が実行する処理の詳細を説明するフローチャートである。
【０２３４】
通信フロー抽出部２６１０は、低品質ネットワーク特定部２１４から通信品質劣化状態情報１２００を受け取ると、以下で説明する処理を開始する。なお、本実施例は、通信フロー抽出部２６１０が処理を開始するタイミングに限定されない。
【０２３５】
通信フロー抽出部２６１０は、高速化対象フローリストを初期化する（ステップＳ２７００）。
【０２３６】
具体的には、通信フロー抽出部２６１０は、高速化対象フローリストを空にし、当該リストに登録された通信フローの数を表す変数ａｃｃｅｌ＿ｎｕｍを「０」に設定する。
【０２３７】
次に、通信フロー抽出部２６１０は、通信品質劣化状態情報１２００の行をＢａｄ＿ｒａｔｅ１２０４の値が大きい順にソートする（ステップＳ２７０１）。通信フロー抽出部２６１０は、通信品質劣化状態情報１２００から処理対象となる行、すなわち、処理対象のネットワーク１１０を選択する（ステップＳ２７０２）。本実施例では、通信品質劣化状態情報１２００の上の行、すなわち、Ｂａｄ＿ｒａｔｅ１２０４が大きい順に処理対象のネットワーク１１０が選択される。
【０２３８】
次に、通信フロー抽出部２６１０は、高速化対象フローリストに、処理対象のネットワークを通過する全ての通信フローを追加する（ステップＳ２７０３）。具体的には、以下のような処理が実行される。
【０２３９】
通信フロー抽出部２６１０は、処理対象の行のネットワークＩＤ１１０１、フロー通信状態記憶部２１２に保存されるフロー情報、及びネットワーク構成情報記憶部２１５に保存されるネットワーク構成情報１１００を用いて、処理対象のネットワークを通過する全ての通信フローを特定する。さらに、通信フロー抽出部２６１０は、特定された各通信フローの識別情報を高速化対象フローリストに追加する。なお、通信フロー抽出部２６１０は、リストの末尾に各通信フローの行を追加する。
【０２４０】
また、通信フロー抽出部２６１０は、高速化対象フローリストに新たに追加された通信フローの数を変数ａｃｃｅｌ＿ｎｕｍに加算する。
【０２４１】
なお、通信フローの識別情報は、例えば、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００を用いることが考えられる。以上がステップＳ２７０３の処理の説明である。
【０２４２】
次に、通信フロー抽出部２６１０は、変数ａｃｃｅｌ＿ｎｕｍが閾値ｍａｘ＿ａｃｃｅｌより大きいか否かを判定する（ステップＳ２７０４）。閾値ｍａｘ＿ａｃｃｅｌは、高速化対象フローリストに登録可能な通信フローの数を示す。閾値ｍａｘ＿ａｃｃｅｌは、例えば、「１００００」等、ＷＡＮ高速化処理部２６３０が同時に制御可能な通信フローの最大数以下の値に設定される。
【０２４３】
変数ａｃｃｅｌ＿ｎｕｍが閾値ｍａｘ＿ａｃｃｅｌより大きいと判定された場合、通信フロー抽出部２６１０は、ステップＳ２７０６に進む。
【０２４４】
変数ａｃｃｅｌ＿ｎｕｍが閾値ｍａｘ＿ａｃｃｅｌ以下であると判定された場合、通信フロー抽出部２６１０は、全てのネットワーク１１０について処理が完了したか否かを判定する（ステップＳ２７０５）。すなわち、通信品質劣化状態情報１２００の全ての行について処理が完了したか否かが判定される。
【０２４５】
全てのネットワーク１１０について処理が完了していると判定された場合、通信フロー抽出部２６１０は、ステップＳ２７０６に進む。一方、全てのネットワーク１１０について処理が完了していないと判定された場合、通信フロー抽出部２６１０は、ステップＳ２７０２に戻り、同様の処理を実行する。なお、ステップＳ２７０２では、前回選択されたネットワーク１１０の次に、Ｂａｄ＿ｒａｔｅ１２０４の値が大きいネットワーク１１０が選択される。
【０２４６】
ステップＳ２７０６では、通信フロー抽出部２６１０は、高速化対象フローリストに含まれる通信フローの中から閾値ｍａｘ＿ａｃｃｅｌの数だけ通信フローを選択し、選択された通信フローを最終的に高速化対象フローリストに登録する（ステップＳ２７０６）。
【０２４７】
通信フロー抽出部２６１０は、高速化対象フローリストを通信装置２５００に送信し（ステップＳ２７０７）、その後、処理を終了する。
【０２４８】
実施例３によれば、通信装置２５００は、分析装置１００の処理結果に基づいて、通信品質の劣化に対する動的な制御を行うことができる。また、ＷＡＮ高速化処理部２６３０が制御可能な通信フローの数に制限がある場合、通信装置２５００は、Ｂａｄ＿ｒａｔｅ１２０４の値が大きいネットワーク１１０を経由する通信フローを優先的に制御できるため、ＷＡＮ高速化処理部２６３０を効率的に使用することができる。
【実施例４】
【０２４９】
実施例４では、転送装置１０１が、分析装置１００が有する機能を実装している点が実施例１と異なる。以下、実施例１との差異を中心に実施例４について説明する。なお、実施例１と同一の構成、同一の処理については同一の符号を付し、説明を省略する。
【０２５０】
実施例４のネットワークシステムは、分析装置１００が含まれない点が実施例１のネットワークシステムと異なる。
【０２５１】
図２８は、実施例４の転送装置１０１の各機能部の関係を示すブロック図である。
【０２５２】
実施例４の転送装置１０１は、出力装置２８００を有する。出力装置２８００は出力装置２０４と同一のものである。また、実施例４の転送装置１０１の主記憶装置２０１は、パケット転送部２８１０、及び分析部２８２０を実現するプログラムを格納する。
【０２５３】
パケット転送部２８１０は、一方のＮＩＦ４１１を介して受信したパケットを他方のＮＩＦ４１１を介して送信する。また、パケット転送部２８１０は、受信したパケットを主記憶装置２０１にコピーし、コピーしたパケットを分析部２８２０の受信処理部２１１にミラーパケットとして出力する。なお、主記憶装置２０１には、ＮＩＦ４１１−１から受信したパケットをコピーするバッファ、及び、ＮＩＦ４１１−２から受信したパケットをコピーするバッファを有する。受信処理部２１１は、パケットがコピーされたバッファを判別することによってパケットの流れる方向を判別できる。
【０２５４】
分析部２８２０は、分析装置１００が有する機能を実現する機能部である。分析部２８２０には、受信処理部２１１、フロー通信状態記憶部２１２、劣化箇所特定部２１３、低品質ネットワーク特定部２１４、及びネットワーク構成情報記憶部２１５が含まれる。
【０２５５】
受信処理部２１１、フロー通信状態記憶部２１２、劣化箇所特定部２１３、低品質ネットワーク特定部２１４、及びネットワーク構成情報記憶部２１５の構成及び実行する処理は、実施例１と同一のものであるため説明を省略する。
【０２５６】
実施例４によれば、転送装置１０１が分析部２８２０を実装することによって、ネットワークシステムの構成を変更することなく、実施例１と同様の効果を奏することができる。
【０２５７】
実施例４では、転送装置１０１が分析部２８２０を有するが、本発明はこれに限定されない。ネットワークシステム内の中継装置１０３、及び通信装置２５００等ネットワークシステムにおける端末１０４間の通信を制御する各種ネットワーク装置が分析部２８２０を備えてもよい。
【０２５８】
なお、実施例１から実施例４は、物理的な端末１０４間の通信フローを対象にしていたがこれに限定されない。例えば、一つの計算機上に仮想的な端末を実現し、複数の仮想的な端末間の通信フローについても同様の構成を適用できる。この場合、転送装置１０１は、例えば、転送部として実現される。なお、転送機能部は、当該計算機が有する主記憶装置２０１上のプログラムを演算装置２００が実行することによって実現される。
【０２５９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０２６０】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるＣＰＵが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０２６１】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０２６２】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるＣＰＵが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０２６３】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０２６４】
１００  分析装置
１０１  転送装置
１０３  中継装置
１０４  端末
１１０  ネットワーク
２１１、２００１  受信処理部
２１２  フロー通信状態記憶部
２１３、２００２  劣化箇所特定部
２１４  低品質ネットワーク特定部
２１５  ネットワーク構成情報記憶部
４１０  ポートミラーリング機能部
４１１  ＮＩＦ
４２１  非累積的データ廃棄率算出部
４２２  パケット再送率算出部
４３１  通信品質劣化状態算出部
４３２  通信品質劣化状態記憶部
２０１１  過剰送信率算出部
２５００  通信装置
２６１０  通信フロー抽出部
２６３０  ＷＡＮ高速化処理部
２６３２  機能切替部
２８１０  パケット転送部
２８２０  分析部
【図１】
0006494471.tif 000010
【図２】
0006494471.tif 000011
【図３】
0006494471.tif 000012
【図４】
0006494471.tif 000013
【図５】
0006494471.tif 000014
【図６】
0006494471.tif 000015
【図７】
0006494471.tif 000016
【図８】
0006494471.tif 000017
【図９】
0006494471.tif 000018
【図１０】
0006494471.tif 000019
【図１１】
0006494471.tif 000020
【図１２】
0006494471.tif 000021
【図１３】
0006494471.tif 000022
【図１４】
0006494471.tif 000023
【図１５】
0006494471.tif 000024
【図１６】
0006494471.tif 000025
【図１７】
0006494471.tif 000026
【図１８】
0006494471.tif 000027
【図１９】
0006494471.tif 000028
【図２０】
0006494471.tif 000029
【図２１】
0006494471.tif 000030
【図２２】
0006494471.tif 000031
【図２３】
0006494471.tif 000032
【図２４】
0006494471.tif 000033
【図２５】
0006494471.tif 000034
【図２６】
0006494471.tif 000035
【図２７】
0006494471.tif 000036
【図２８】
0006494471.tif 000037