(57)【要約】【課題】ＴＣＰ／ＩＰプロトコルの知識・熟練した技能がなくても、ＴＣＰ／ＩＰプロトコルの不具合を正確に再現する試験をミスが生じないように実行することができ、また、試験を行う際の労力を軽減すること。【解決手段】トラフィック生成装置３２から試験サーバ装置４１へ試験トラフィックデータ５５を送信する。この試験トラフィックデータ５５の応答データである応答トラフィックデータ５７を、通信網エミュレータ装置３７に構築した擬似通信環境で処理してＴＣＰ／ＩＰプロトコルの不具合を再現する。この再現を行うための設定および制御を、予め定められた設定情報４５ａ，４５ｂ，４５ｃおよび制御情報４７ａ，４７ｂ，４７ｃを用いて試験制御装置４４により自動で行う。【選択図】  図１
2004201121.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置とサーバ装置との通信におけるプロトコルの不具合を再現する試験を行うプロトコル試験システムにおいて、
前記クライアント装置の機能を有し、前記サーバ装置との間でトラフィックを発生する特定パターンの試験データを生成し、この生成された試験データを前記サーバ装置へ送信する生成装置と、
前記生成装置と前記サーバ装置との間に接続され、
前記生成装置から前記サーバ装置へ送信される前記試験データと、前記試験データに応答して前記サーバ装置から前記生成装置へ返信される応答データとを、前記プロトコルの不具合が発生した通信環境と同様に構築した擬似通信環境により処理するエミュレータ装置と、
前記生成装置における前記試験データの生成処理と、前記エミュレータ装置における前記擬似通信環境の構築処理と、前記サーバ装置における前記応答データを返信する応答処理とを実行するための設定および制御を行う試験制御装置と
を備えたことを特徴とするプロトコル試験システム。
【請求項２】
前記試験制御装置は、前記生成装置における前記試験データの生成処理と、前記エミュレータ装置における前記擬似通信環境の構築処理と、前記サーバ装置における前記応答処理とを行わせるための設定を、予め定められた設定情報に基づいて行う
ことを特徴とする請求項１に記載のプロトコル試験システム。
【請求項３】
前記試験制御装置は、前記試験の始動および停止の少なくとも一方を行わせるための制御情報を、前記生成装置、前記エミュレータ装置および前記サーバ装置へ送信する
ことを特徴とする請求項１または２に記載のプロトコル試験システム。
【請求項４】
前記試験制御装置は、前記試験が行われている際に、前記生成装置、前記エミュレータ装置および前記サーバ装置の動作状態を管理し、前記生成装置、前記エミュレータ装置および前記サーバ装置の少なくとも１つが異常状態となった際にそれら全ての動作を停止させるように制御する
ことを特徴とする請求項１から３の何れか１項に記載のプロトコル試験システム。
【請求項５】
前記試験制御装置は、前記サーバ装置のＴＣＰ／ＩＰスタックに関わる情報およびパケットデータの固有情報を含むパラメータを前記設定情報として前記生成装置へ送信し、
前記生成装置は、前記パラメータをヘッダ情報とするパケットデータを作成し、このパケットデータを少なくとも１つ用いて前記試験データとする
ことを特徴とする請求項２から４の何れか１項に記載のプロトコル試験システム。
【請求項６】
前記試験制御装置は、特定のトラフィックの発生パターン情報を前記設定情報として前記生成装置へ送信し、
前記生成装置は、前記発生パターン情報に応じた個数の前記パケットデータを前記試験データとして送信する
ことを特徴とする請求項５に記載のプロトコル試験システム。
【請求項７】
前記試験制御装置は、前記試験の繰り返し回数を前記設定情報として前記生成装置へ送信し、
前記生成装置は、前記サーバ装置から受信した前記応答データの再送要求を、前記繰り返し回数だけ行う
ことを特徴とする請求項２から６の何れか１項に記載のプロトコル試験システム。
【請求項８】
前記エミュレータ装置は、前記擬似通信環境を構築するプログラムを備え、
前記試験制御装置は、前記プログラムが前記擬似通信環境を構築するためのパラメータ情報を、前記設定情報として前記エミュレータ装置へ送信する
ことを特徴とする請求項２から４の何れか１項に記載のプロトコル試験システム。
【請求項９】
前記サーバ装置は、前記試験データに応答した応答データを返信する試験用の応答プログラムを備え、前記試験制御装置は、前記応答プログラムが前記応答処理を行うためのパラメータ情報を、前記設定情報として前記サーバ装置へ送信する
ことを特徴とする請求項２から４の何れか１項に記載のプロトコル試験システム。
【請求項１０】
クライアント装置とサーバ装置との通信におけるプロトコルの不具合を再現する試験を行うプロトコル試験方法において、
前記サーバ装置との間でトラフィックを発生する特定パターンの試験データを生成し、この生成された試験データを前記サーバ装置へ送信する生成ステップと、
前記生成ステップにおいて生成された前記試験データに応答して前記サーバ装置から返信される応答データを、前記プロトコルの不具合が発生した通信環境と同じ擬似通信環境により処理するエミュレートステップと、
前記生成ステップにおける前記試験データの生成処理と、前記エミュレートステップにおける前記擬似通信環境の構築処理と、前記サーバ装置における前記応答処理とを実行する設定および制御を行う試験制御ステップと
を備えたことを特徴とするプロトコル試験方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットの基盤技術となっているＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)プロトコルの不具合を再現するプロトコル試験システムおよびプロトコル試験方法に関する。
【０００２】
【従来の技術】
インターネットの基盤技術の一つにＴＣＰ／ＩＰプロトコルがある。ＴＣＰ／ＩＰプロトコルは、様々なコンピュータに実装されており、最近では、電子手帳（ＰＤＡ）、携帯電話機などの小型電子機器にも実装されている。これらの小型電子機器もインターネットに接続することができ、ネットワークアプリケーションを実行することができる。ＴＣＰ／ＩＰプロトコルは、インターネットユーザの需要に応じて、新機能が次々と追加されているが、新機能の実装に伴いＴＣＰ／ＩＰプロトコルの不具合が多く発生している。
【０００３】
ＴＣＰ／ＩＰプロトコルの開発者は、ユーザなどから報告された不具合の情報を手掛かりにして、ＴＣＰ／ＩＰプロトコルの不具合を再現することにより、その不具合の原因を突き止め、ＴＣＰ／ＩＰプロトコルの実装の修正を行っている。
従来の不具合を再現する方法を説明する。図５に一般的なＴＣＰ／ＩＰアプリケーションを用いたクライアント装置−サーバ装置のシステムを示す。試験者は、アプリケーション層１０に属するＴＣＰ／ＩＰアプリケーションのクライアント装置１１をサーバ装置１２に接続することによって、クライアント装置１１とサーバ装置１２間で通信を行いＴＣＰ／ＩＰプロトコルを試験する。この際、ＴＣＰ／ＩＰアプリケーションによって、ＴＣＰ／ＩＰプロトコルを実行するプログラムと、ＯＳ(Operating System)１３，１４のＴＣＰ／ＩＰスタック１５，１６というＯＳ層１８のレベルに属するプログラムとが用いられ、クライアント装置１１とサーバ装置１２との間で通信が実行される。
【０００４】
このシステムにおいて、ＴＣＰ／ＩＰプロトコルの不具合を再現させるには、不具合が発生した時の通信環境を構築することと、不具合を発生させたＴＣＰ／ＩＰプロトコルのヘッダ情報、パラメータおよびトラフィックを作り出すことが必要である。
これらは、普通のＴＣＰ／ＩＰアプリケーションでは不可能である。前者の通信環境の構築は、ＤｕｍｍｙｎｅｔまたはＮＩＳＴ  Ｎｅｔというネットワークエミュレータ装置の特殊なネットワークツールで実現することができる。これらのツール、すなわちネットワークエミュレータ装置では、通信網の帯域幅、遅延、ロス率をエミュレート（再現）することができる。
【０００５】
後者のＴＣＰ／ＩＰプロトコルのヘッダ情報、パラメータおよびトラフィックの生成は、下記の非特許文献１に記載されたＴＢＩＴというトラフィックを生成する代表的な特殊なツールで実現することができる。ＴＢＩＴは、特定のトラフィックデータ（トラフィックを生成させるためのデータ）をサーバ装置へ送信し、サーバ装置からの応答を受信して、サーバ装置のＯＳにおけるＴＣＰ／ＩＰスタックの振る舞いを調査するネットワークツールである。
【０００６】
これらのツールを組み合わせたプロトコル試験システムを図６に示す。この図６においては、ＴＢＩＴ２１とサーバ装置１２とが、ＯＳ層１８において、上記のツールであるネットワークエミュレータ装置２３を介して接続されている。ＴＢＩＴ２１は、ＯＳ２５のＴＣＰ／ＩＰスタック２７から特定のトラフィックデータを、ネットワークエミュレータ装置２３を介してサーバ装置１２へ送信し、サーバ装置１２からの応答を受信する。これによって、ＴＣＰ／ＩＰプロトコルの不具合が再現可能となる。そして、その受信された応答情報からサーバ装置１２のＯＳ１４におけるＴＣＰ／ＩＰスタックの振る舞いを調査する。
【０００７】
【非特許文献１】
June 2001, In Proceedings of SIGCOMM 2001.Or the earlier ICSI HYPERLINK "http://www.icir.org/tbit/tbit-tr.ps" Technical Report 01-002, February 2001, or the old  HYPERLINK "http://www.icir.org/tbit/tbit.Jul00.ps" July 2000 version．
【０００８】
【発明が解決しようとする課題】
しかし、上述した従来のプロトコル試験システムに用いるＴＢＩＴ２１は、ＴＣＰ／ＩＰプロトコルの不具合を再現するツールとして最小限の機能をもっているが、不具合を再現するのが主な目的ではないためＴＣＰ／ＩＰプロトコルの不具合を正確に再現することができないという問題がある。
【０００９】
また、ＴＢＩＴ２１およびネットワークエミュレータ装置２３のツールを、ＴＣＰ／ＩＰアプリケーションと組み合わせてプロトコル試験システムを構成し、このシステムで試験を行う場合、試験者が手動で個々のツールを設定・実行しなければならない。このためＴＣＰ／ＩＰプロトコルの知識を熟知している必要があると共に熟練した技能を必要とし、また、手動による労力の負担が生じ、さらに、入手の介在により潜在的なミスの発生が生じるという問題がある。
【００１０】
そこで、本発明は、このような課題に鑑みてなされたものであり、ＴＣＰ／ＩＰプロトコルの知識・熟練した技能がなくても、ＴＣＰ／ＩＰプロトコルの不具合を正確に再現する試験をミスが生じないように実行することができ、また、試験を行う際の労力を軽減することができるプロトコル試験システムおよびプロトコル試験方法を提供することを目的としている。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１によるプロトコル試験システムは、クライアント装置とサーバ装置との通信におけるプロトコルの不具合を再現する試験を行うプロトコル試験システムにおいて、前記クライアント装置の機能を有し、前記サーバ装置との間でトラフィックを発生する特定パターンの試験データを生成し、この生成された試験データを前記サーバ装置へ送信する生成装置と、前記生成装置と前記サーバ装置との間に接続され、前記生成装置から前記サーバ装置へ送信される前記試験データと、前記試験データに応答して前記サーバ装置から前記生成装置へ返信される応答データとを、前記プロトコルの不具合が発生した通信環境と同様に構築した擬似通信環境により処理するエミュレータ装置と、前記生成装置における前記試験データの生成処理と、前記エミュレータ装置における前記擬似通信環境の構築処理と、前記サーバ装置における前記応答データを返信する応答処理とを実行するための設定および制御を行う試験制御装置とを備えたことを特徴としている。
【００１２】
この構成によれば、生成装置からサーバ装置へ送信される試験データと、この試験データの応答データとを擬似通信環境で処理してプロトコルの不具合を再現することができ、この再現を行うための設定および制御を試験制御装置にて自動で行うことができる。
また、本発明の請求項２によるプロトコル試験システムは、請求項１において、前記試験制御装置は、前記生成装置における前記試験データの生成処理と、前記エミュレータ装置における前記擬似通信環境の構築処理と、前記サーバ装置における前記応答処理とを行わせるための設定を、予め定められた設定情報に基づいて行うことを特徴としている。
【００１３】
この構成によれば、プロトコル（例えば、ＴＣＰ／ＩＰプロトコル）の不具合を再現するために必要な生成装置、エミュレータ装置およびサーバ装置における設定を、予め定められた設定情報で自動的に行うことができる。
また、本発明の請求項３によるプロトコル試験システムは、請求項１または２において、前記試験制御装置は、前記試験の始動および停止の少なくとも一方を行わせるための制御情報を、前記生成装置、前記エミュレータ装置および前記サーバ装置へ送信することを特徴としている。
【００１４】
この構成によれば、プロトコルの不具合を再現する試験の始動または停止を、試験制御装置から制御情報を送信することにより容易かつ正確に行うことができる。
また、本発明の請求項４によるプロトコル試験システムは、請求項１から３の何れか１項において、前記試験制御装置は、前記試験が行われている際に、前記生成装置、前記エミュレータ装置および前記サーバ装置の動作状態を管理し、前記生成装置、前記エミュレータ装置および前記サーバ装置の少なくとも１つが異常状態となった際にそれら全ての動作を停止させるように制御することを特徴としている。
【００１５】
この構成によれば、試験中に生成装置、エミュレータ装置およびサーバ装置の少なくとも１つが動作異常となった場合に、それら全ての装置を停止させるようにしたので、各装置を保護すると共に、それまでの試験状態を保持することができる。
また、本発明の請求項５によるプロトコル試験システムは、請求項２から４の何れか１項において、前記試験制御装置は、前記サーバ装置のＴＣＰ／ＩＰスタックに関わる情報およびパケットデータの固有情報を含むパラメータを前記設定情報として前記生成装置へ送信し、前記生成装置は、前記パラメータをヘッダ情報とするパケットデータを作成し、このパケットデータを少なくとも１つ用いて前記試験データとすることを特徴としている。
【００１６】
この構成によれば、個々に認識可能なパケットデータを複数合わせて試験データとすることができるので、種々のプロトコルの不具合を再現することができる。
また、本発明の請求項６によるプロトコル試験システムは、請求項５において、前記試験制御装置は、特定のトラフィックの発生パターン情報を前記設定情報として前記生成装置へ送信し、前記生成装置は、前記発生パターン情報に応じた個数の前記パケットデータを前記試験データとして送信することを特徴としている。
【００１７】
この構成によれば、エミュレータ装置を介した生成装置とサーバ装置との間に、特定のトラフィック状態を発生させることができる。
また、本発明の請求項７によるプロトコル試験システムは、請求項２から６の何れか１項において、前記試験制御装置は、前記試験の繰り返し回数を前記設定情報として前記生成装置へ送信し、前記生成装置は、前記サーバ装置から受信した前記応答データの再送要求を、前記繰り返し回数だけ行うことを特徴としている。
【００１８】
この構成によれば、生成装置に試験繰り返し回数を設定することによって、その回数だけサーバ装置から応答データを受信して試験を行うことができる。
また、本発明の請求項８によるプロトコル試験システムは、請求項２から４の何れか１項において、前記エミュレータ装置は、前記擬似通信環境を構築するプログラムを備え、前記試験制御装置は、前記プログラムが前記擬似通信環境を構築するためのパラメータ情報を、前記設定情報として前記エミュレータ装置へ送信することを特徴としている。
【００１９】
この構成によれば、エミュレータ装置に構築される擬似通信環境を、任意に設定することができる。
また、本発明の請求項９によるプロトコル試験システムは、請求項２から４の何れか１項において、前記サーバ装置は、前記試験データに応答した応答データを返信する試験用の応答プログラムを備え、前記試験制御装置は、前記応答プログラムが前記応答処理を行うためのパラメータ情報を、前記設定情報として前記サーバ装置へ送信することを特徴としている。
【００２０】
この構成によれば、サーバ装置が試験時に行う試験データに対する応答動作を、任意に設定することができる。
本発明の請求項１０によるプロトコル試験方法は、クライアント装置とサーバ装置との通信におけるプロトコルの不具合を再現する試験を行うプロトコル試験方法において、前記サーバ装置との間でトラフィックを発生する特定パターンの試験データを生成し、この生成された試験データを前記サーバ装置へ送信する生成ステップと、前記生成ステップにおいて生成された前記試験データに応答して前記サーバ装置から返信される応答データを、前記プロトコルの不具合が発生した通信環境と同じ擬似通信環境により処理するエミュレートステップと、前記生成ステップにおける前記試験データの生成処理と、前記エミュレートステップにおける前記擬似通信環境の構築処理と、前記サーバ装置における前記応答処理とを実行する設定および制御を行う試験制御ステップとを備えたことを特徴としている。
【００２１】
この方法によれば、サーバ装置へ送信される試験データと、この試験データの応答データとを擬似通信環境で処理してプロトコルの不具合を再現することができ、この再現を行うための設定および制御を自動で行うことができる。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して説明する。
（実施の形態）
図１は、本発明の実施の形態に係るプロトコル試験システムの構成を示すブロック図である。
【００２３】
この図１に示すプロトコル試験システム３０は、制御部３１ａおよびトラフィック生成装置３２を備えた試験装置３３と、制御部３１ｂおよびネットワークエミュレータ装置３６を備えた通信網エミュレータ装置３７と、ＴＣＰ／ＩＰスタック４０を有する試験サーバ装置４１および制御部３１ｃを備えたコンピュータシステム４３とを備え、トラフィック生成装置３２がネットワークエミュレータ装置３６を介して試験サーバ装置４１に接続され、さらに各制御部３１ａ，３１ｂ，３１ｃに、試験制御装置４４が接続されて構成されている。
【００２４】
各制御部３１ａ，３１ｂ，３１ｃは、試験制御装置４４によって制御されるトラフィック生成装置３２、ネットワークエミュレータ装置３６および試験サーバ装置４１のインターフェイス機能を有する。
試験装置３３は、制御部３１ａを介して試験制御装置４４との間で、設定情報４５ａ、制御情報４７ａおよび状態情報４９ａを送受信し、トラフィック生成装置３２を操作する機能を有する。
【００２５】
通信網エミュレータ装置３７は、制御部３１ｂを介して試験制御装置４４との間で、設定情報４５ｂ、制御情報４７ｂおよび状態情報４９ｂを送受信し、ネットワークエミュレータ装置３６を操作する機能を有する。
コンピュータシステム４３は、制御部３１ｃを介して試験制御装置４４との間で、設定情報４５ｃ、制御情報４７ｃおよび状態情報４９ｃを送受信し、試験サーバ装置４１を管理する機能を有する。
【００２６】
試験制御装置４４は、各制御部３１ａ，３１ｂ，３１ｃを介して、トラフィック生成装置３２、ネットワークエミュレータ装置３６および試験サーバ装置４１を制御し、ＴＣＰ／ＩＰプロトコルの不具合を再現する試験を自動実行する。さらに、各々の装置３２，３６，４１へ、設定情報４５ａ，４５ｂ，４５ｃおよび制御情報４７ａ，４７ｂ，４７ｃを送信し、この応答として各々の装置３２，３６，４１から状態情報４９ａ，４９ｂ，４９ｃを受信する。そして、その状態情報４９ａ，４９ｂ，４９ｃをもとに自動試験のプロセスを管理し、試験対象である試験サーバ装置４１のＴＣＰ／ＩＰスタック４０におけるＴＣＰ／ＩＰプロトコルの不具合を再現するように構成されている。
【００２７】
この試験制御装置４４は、図２に示すように、トラフィック生成装置制御部５１と、ネットワークエミュレータ装置制御部５２と、試験サーバ装置制御部５３と、この各々の制御部５１〜５３を管理・制御する制御プログラム部５４とを備えて構成されている。各々の制御部５１〜５３は、トラフィック生成装置３２、ネットワークエミュレータ装置３６および試験サーバ装置４１に接続され、これら装置３２，３６，４１の状態情報４９ａ，４９ｂ，４９ｃを保存する状態データベース５１ｄ，５２ｄ，５３ｄを有する。
【００２８】
制御プログラム部５４は、それら状態データベース５１ｄ〜５３ｄを管理することにより試験のプロセスを把握しており、何れかの装置３２，３６，４１が異常状態になった場合の異常情報が制御プログラム部５４に伝達されると、割り込みによって他の装置３２，３６，４１も緊急停止する機能を有する。
また、試験制御装置４４は、試験の始動前の準備を行う機能を有する。この機能は、トラフィック生成装置制御部５１からトラフィック生成装置３２に対して、設定情報４５ａとしてトラフィックデータのヘッダ情報の元となるＴＣＰパラメータと、特定のトラフィックを発生させるためのパターン情報（以下、トラフィック発生パターン情報という）と、試験を所望回数繰り返すための情報（以下、試験繰り返し回数という）とを記述した情報を送信する。また、ネットワークエミュレータ装置制御部５２からネットワークエミュレータ装置３６に対して、擬似通信環境を構築するプログラムの設定パラメータ（通信環境のパラメータ）である帯域幅、遅延、ロス率、キュー長、ジッターの各値を設定情報４５ｂとして送信する。さらに、試験サーバ装置制御部５３から試験サーバ装置４１に対して、設定情報４５ｃとして試験サーバ装置４１のプログラムの設定パラメータを送信するものである。各々の装置３２，３６，４１は、送信された設定情報４５ａ，４５ｂ，４５ｃを受信し、試験のための設定を行うものである。
【００２９】
また、試験制御装置４４は、試験の始動時に、トラフィック生成装置制御部５１からトラフィック生成装置３２に試験トラフィックデータ送信の始動を指示する制御情報４７ａを送信し、ネットワークエミュレータ装置制御部５２からネットワークエミュレータ装置３６に擬似通信環境プログラムの始動を指示する制御情報４７ｂを送信し、試験サーバ装置制御部５３から試験サーバ装置４１に試験サーバ装置プログラムの始動を指示する制御情報４７ｃを送信する機能を有する。さらに、試験の停止時に、各々の装置３２，３６，４１に対して停止を指示する制御情報４７ａ，４７ｂ，４７ｃを送信する機能を有する。
【００３０】
トラフィック生成装置３２は、クライアント装置に該当し、図１に示すように、ＴＣＰ／ＩＰプロトコルの不具合を再現する試験トラフィックデータ５５を生成し、この試験トラフィックデータ５５を通信網エミュレータ装置３７を介して、試験対象である試験サーバ装置４１へ送信し、試験サーバ装置４１からの応答トラフィックデータ５７を受信する。この応答トラフィックデータ５７の状態と設定情報４５ａで設定された試験条件とに応じて、試験サーバ装置４１に対して応答トラフィックデータ５７の再送要求を行い、所望のプロトコルの不具合を得る機能を有する。
【００３１】
ネットワークエミュレータ装置３６は、ＴＣＰ／ＩＰプロトコルの不具合が発生した通信環境と同じ擬似通信環境を構築する。この擬似通信環境は、ネットワークエミュレータ装置制御部５２から設定情報４７ａとして送られてくる擬似通信環境プログラムの設定パラメータによって設定される。また、その擬似通信環境の機能は、ＴＣＰ／ＩＰプロトコルの不具合が発生した時と同じ通信環境で試験トラフィックデータ５５または応答トラフィックデータ５７を仲介し、サーバ装置１２またはトラフィック生成装置３２へ転送するものである。また、試験中における擬似通信環境の状態は固定ではなく、実際の通信環境と同じく時々刻々変化するようにプログラミングされている。
【００３２】
試験サーバ装置４１は、ＴＣＰ／ＩＰアプリケーションサーバ装置であり、クライアント装置からリクエストを受信し、リクエストの指示に従って特定のファイルをクライアント装置に返信するＴＣＰ／ＩＰアプリケーションに基づき作動する。このプロトコル試験システム３０においては、トラフィック生成装置３２からリクエストに該当する試験トラフィックデータ５５を受信して応答トラフィックデータ５７を返信する。この応答動作は、試験サーバ装置プログラムに設定情報４９ａとして送信されてくるパラメータを設定することで実現可能となっている。また、トラフィック生成装置３２から送信される試験トラフィックデータ５５群のうち先頭のトラフィックデータ５５には、データファイルを試験サーバ装置４１から受信するダウンロードのリクエスト（試験リクエスト情報）が含まれる。試験サーバ装置４１は、そのリクエストに従って、リクエスト後に送信されてくる試験トラフィックデータ５５の応答トラフィックデータ５７としてデータファイルをトラフィック生成装置３２に送信するようになっている。
【００３３】
また、トラフィック生成装置３２は、図３に示すように、ＯＳ６１にＴＣＰ／ＩＰスタック６３が配置されたＯＳ層１８の上層であるアプリケーション層１０に、パケット受信部６５と、パケット保存部６７と、パケットロス発生部６９と、パケットロス発生指示部７１と、再送確認応答パケット作成部７３と、確認応答パケット作成部７５と、パケット作成部７７と、プロトコルヘッダ作成部７９と、ＴＣＰパラメータ入力指示部８０と、ペイロードデータ作成部８１と、送信指示部８３と、遅延タイマー部８５とを備えて構成されている。
【００３４】
また、トラフィック生成装置３２において、トラフィックデータはパケットデータに分割され、パケットデータの単位で処理が行われるようになっている。
パケット受信部６５は、応答トラフィックデータ５７を受信し、これをパケットデータに分割してパケット保存部６７へ出力すると共に、パケットロス発生部６９へ出力する。
【００３５】
パケット保存部６７は、その応答パケットデータを保存すると共に、パケット作成部７７からの試験パケットデータを保存する。つまり、パケット保存部６７では、試験トラフィックデータ５５と応答トラフィックデータ５７との全てのパケットデータが保存される。この保存時には、試験パケットデータと、このデータに対する応答である応答パケットデータとを比較できるように保存される。この保存された全パケットデータは、トラフィックを解析するために使用される。
【００３６】
パケットロス発生指示部７１は、試験制御装置４４からの設定情報４５ａに含まれるパケットロス発生条件に従って、パケットロス発生部６９にパケットロスを発生させる指示（以下、パケットロス発生指示という）を行う。
パケットロス発生指示部７１は、試験制御装置４４から設定情報４５ａとして送信されてくる試験繰り返し回数を検出し、パケットロス発生部６９にその回数分、パケットロス発生指示を行うものである。
【００３７】
パケットロス発生部６９は、パケットロス発生指示部７１からパケットロス発生指示が行われていれば、パケット受信部６５で受信された応答パケットデータをロスしたことにして処理し、パケットロス発生指示が行われていなければ、その処理を行わない。ロスしたことにする場合は、応答パケットデータをロスした状態に処理し、この処理されたパケットロスデータを再送確認応答パケット作成部７３へ出力する。ロスしたことにしない場合は、応答パケットデータを、そのままの状態で確認応答パケット作成部７５へ出力する。
【００３８】
再送確認応答パケット作成部７３は、パケットロス発生部６９からパケットロスデータが入力された場合は、このパケットロスデータから認識できるロスしたパケットの再転送を要求する確認応答パケット（以下、再送要求確認応答パケットという）を生成して、パケット作成部７７へ出力する。
確認応答パケット作成部７５は、パケットロス発生部６９から応答パケットデータが入力された場合は、この応答パケットデータを受信したことを試験サーバ装置４１に通知する通常の確認応答パケット（以下、通常応答パケットという）を生成して、パケット作成部７７へ出力する。
【００３９】
ＴＣＰパラメータ入力指示部８０は、設定情報４５ａに含まれるＴＣＰパラメータと、パケットのヘッダ情報の作成指示であるＴＣＰパラメータ入力指示とをプロトコルヘッダ作成部７９へ出力する。ＴＣＰパラメータには、使用しているポート番号、パケットのシーケンス番号、パケットの種類を示すフラグ、ＴＣＰ／ＩＰスタックが受け取り可能なデータサイズを知らせるウィンドウサイズ、時刻情報などが含まれている。
【００４０】
プロトコルヘッダ作成部７９は、ＴＣＰパラメータ入力指示によって、ＴＣＰパラメータをもとにヘッダ情報を作成し、このヘッダ情報をパケット作成部７７へ出力する。
ペイロードデータ作成部８１は、パケットのペイロード部に格納するペイロードデータを作成し、パケット作成部７７へ出力する。ペイロードデータは、試験を行う際の最初のリクエスト情報などである。
【００４１】
パケット作成部７７は、試験トラフィックデータ５５を構成する試験パケットデータを、プロトコルヘッダ作成部７９からのヘッダ情報およびペイロードデータ作成部８１からのペイロードデータをもとに作成する。この作成される試験パケットデータは２種類ある。一方は、ヘッダ情報であるＴＣＰ／ＩＰプロトコル情報を格納しているヘッダ部のみのパケットデータと、ヘッダ部とデータを格納しているペイロード部からなるパケットデータである。
【００４２】
ヘッダ部のみのパケットデータは、最初にトラフィック生成装置３２と試験サーバ装置４１との通信回線を接続する際に正常に回線が接続されたか否かの確認を行うために用いる。また、ヘッダ部およびペイロード部からなるパケットデータは、試験を行う際の最初のリクエストや、その後の実際の試験を行う際に用いるものである。
【００４３】
送信指示部８３は、遅延タイマー部８５に試験トラフィックデータ５５の送信を行うタイミングとなる遅延時間を指示する。この遅延時間は、設定情報４５に含まれるトラフィックの発生パターン情報によって指示される。
遅延タイマー部８５は、送信指示部８３から指示される遅延時間をタイムアップ時間として設定し、この設定された遅延時間がタイムアップするまでにパケット作成部７７で作成される試験パケットデータを作成順に保持し、タイムアップ時に、その保持された試験パケットデータを試験トラフィックデータ５５として送信する。つまり、遅延時間に応じた個数の試験パケットデータが蓄積され、この複数個の試験パケットデータが試験トラフィックデータ５５として送信される。このように、試験パケットデータの個数を変えることによって、所望パターンのトラフィック状態を発生可能なようにしている。
【００４４】
このように、トラフィック生成装置３２は、パケットロス、ＴＣＰパラメータ、トラフィック発生パターンの３つの要素で、ＴＣＰ／ＩＰプロトコルの不具合を再現するための特定のトラフィックデータ（試験トラフィックデータ５５）を生成するようになっている。
次に、このような構成のプロトコル試験システム３０によってＴＣＰ／ＩＰプロトコルの不具合を再現する試験の動作を、図４に示すフローチャートを参照して説明する。
【００４５】
ステップＳ１において、試験制御装置４４により試験の始動前の準備が行われる。トラフィック生成装置制御部５１から制御部３１ａを介してトラフィック生成装置３２へ、ＴＣＰパラメータと、トラフィック発生パターン情報と、試験繰り返し回数とが含まれた設定情報４５ａが送信される。また、ネットワークエミュレータ装置制御部５２から制御部３１ｂを介してネットワークエミュレータ装置３６へ、通信環境の設定パラメータが含まれた設定情報４５ｂが送信される。さらに、試験サーバ装置制御部５３から制御部３１ｃを介して試験サーバ装置４１へ、試験サーバ装置４１のプログラムの設定パラメータが含まれた設定情報４５ｃが、試験サーバ装置４１へ送信される。
【００４６】
これによって、トラフィック生成装置３２、ネットワークエミュレータ装置３６および試験サーバ装置４１において、試験のための設定が行われる。つまり、トラフィック生成装置３２においては、試験のためのトラフィックデータを送受信する設定が行われ、ネットワークエミュレータ装置３６においては、擬似通信環境プログラムのパラメータ設定が行われ、試験サーバ装置４１においては、試験サーバ装置プログラムのパラメータ設定が行われる。
【００４７】
この設定後、ステップＳ２において、ネットワークエミュレータ装置３６を介したトラフィック生成装置３２と試験サーバ装置４１との間の試験通信回線の接続の正常性が確認される。これは、トラフィック生成装置３２において作成されたヘッダ部のみのパケットデータが送信されることによって行われる。
このパケットデータの作成は次のように行われる。トラフィック生成装置３２において、まず、ＴＣＰパラメータ入力指示部８０からプロトコルヘッダ作成部７９へ、設定情報４５ａに含まれるＴＣＰパラメータと、このＴＣＰパラメータ入力指示が出力される。プロトコルヘッダ作成部７９において、そのＴＣＰパラメータ入力指示に応じて、送信のポート番号、パケットのシーケンス番号、パケットの種類を示すフラグ、ＴＣＰ／ＩＰスタックが受け取り可能なデータサイズを知らせるウィンドウサイズ、時刻情報を含むＴＣＰパラメータによってヘッダ情報が作成される。このヘッダ情報はパケット作成部７７へ出力される。パケット作成部７７では、そのヘッダ情報がヘッダ部に格納されることによって、ＴＣＰ／ＩＰプロトコル情報を格納しているヘッダ部のみのパケットデータが作成される。このヘッダ部のみのパケットデータがネットワークエミュレータ装置３６を介して試験サーバ装置４１へ送信される。この送信が行われる場合は、遅延タイマー部８５はスルー状態とされる。ヘッダ部のみのパケットデータを受信した試験サーバ装置４１において、その応答情報がトラフィック生成装置３２へ返信され、ネットワークエミュレータ装置３６を介したトラフィック生成装置３２と試験サーバ装置４１間の回線接続の正常性が確認される。この際、正常に接続されたとする。
【００４８】
ステップＳ３において、試験制御装置４４によって試験の始動時の処理が行われる。試験制御装置４４からトラフィック生成装置３２に試験トラフィックデータ送信の始動を指示する制御情報４７ａが送信され、ネットワークエミュレータ装置３６に擬似通信環境プログラムの始動を指示する制御情報４７ｂが送信され、試験サーバ装置制御部５３から試験サーバ装置４１に試験サーバ装置プログラムの始動を指示する制御情報４７ｃが送信される。この送信された制御情報４７ａ，４７ｂ，４７ｃが各装置３２，３６，４１で受信されると、その制御情報４７ａ，４７ｂ，４７ｃで指示された試験のための処理が始動する。
【００４９】
ステップＳ４において、トラフィック生成装置３２から試験サーバ装置４１へ試験リクエストが先頭に付けられた試験トラフィックデータ５５が送信され、試験サーバ装置４１からトラフィック生成装置３２へ、そのリクエストに応じた応答トラフィックデータ５７が返信される。この場合の試験トラフィックデータ５５の送信は、遅延タイマー部８５に設定された遅延時間に応じた個数の試験パケットデータが蓄積され、この複数個の試験パケットデータが試験トラフィックデータ５５として送信される。
【００５０】
この際、ステップＳ５に示すように、応答トラフィックデータ５７が、ネットワークエミュレータ装置３６に設定された擬似通信環境で処理される。
この処理された応答トラフィックデータ５７は、ステップＳ６に示すように、トラフィック生成装置３２のパケット受信部６５で受信された後、応答パケットデータに分解され、パケット保存部６７に保存されると共に、パケットロス発生部６９へ出力される。
【００５１】
パケットロス発生部６９では、ステップＳ７に示すように、パケットロスを発生するか否かが判断される。ここで、パケットロス発生指示部７１からパケットロス発生指示が行われていれば、ステップＳ８において、パケットロス発生部６９で受信された応答パケットデータがロスしたことにして処理され、この処理によるパケットロスデータが再送確認応答パケット作成部７３へ出力される。
【００５２】
再送確認応答パケット作成部７３では、パケットロスデータが入力されると、ステップＳ９に示すように、そのパケットロスデータから認識できるロスしたパケットの再転送を要求する再送要求確認応答パケットが生成され、パケット作成部７７へ出力される。
パケット作成部７７では、ステップＳ１０に示すように、再送要求確認応答パケットが試験トラフィックデータ５５として試験サーバ装置４１へ送信され、この再送要求に応じた応答トラフィックデータ５７がトラフィック生成装置３２に返信される。この再送要求を行う試験トラフィックデータ５５および、その応答トラフィックデータ５７は、ステップＳ５に示すように、擬似通信環境で処理され、ステップＳ６の上記処理が行われた後、ステップＳ７において再びパケットロス発生の判断が行われる。
【００５３】
ここで、パケットロス発生指示部７１からパケットロス発生指示が行われていなければ、ステップＳ１１において、パケットロス発生部６９で受信された応答パケットデータがロスしていないことにして処理される。この場合、応答パケットデータが、そのままの状態で確認応答パケット作成部７５へ出力される。
ステップＳ１２において、パケットロス発生部６９から応答パケットデータが入力された確認応答パケット作成部７５では、応答パケットデータに対する通常の確認応答パケットが作成され、パケット作成部７７へ出力される。
【００５４】
そして、ステップＳ１３において、パケット作成部７７では、再送要求確認応答パケットが試験トラフィックデータ５５として試験サーバ装置４１へ送信される。これによって試験が終了する。この終了後に、試験サーバ装置４１へ新たな試験トラフィックデータ５５が送信される場合は、上述で説明したステップＳ３からステップＳ１３の処理が繰り返されることになる。
【００５５】
また、本試験の最中は、トラフィック生成装置３２、ネットワークエミュレータ装置３６および試験サーバ装置４１の各々から試験制御装置４４へ状態情報４９ａ，４９ｂ，４９ｃが送信され、状態データベース５１ｄ〜５３ｄに格納される。この格納された状態情報４９ａ，４９ｂ，４９ｃは、制御プログラム部５４によって管理されており、例えばネットワークエミュレータ装置３６が異常状態と検出された場合、割り込みによって他の装置であるトラフィック生成装置３２および試験サーバ装置４１が緊急停止される。
【００５６】
このように、本実施の形態のプロトコル試験システム３０によれば、トラフィック生成装置３２から試験サーバ装置４１へ試験トラフィックデータ５５を送信し、この試験トラフィックデータ５５の応答データである応答トラフィックデータ５７を、通信網エミュレータ装置３７に構築した擬似通信環境で処理してＴＣＰ／ＩＰプロトコルの不具合を再現することができ、この再現を行うための設定および制御を、予め定められた設定情報４５ａ，４５ｂ，４５ｃおよび制御情報４７ａ，４７ｂ，４７ｃを用いて試験制御装置４４により自動で行うようにした。したがって、ＴＣＰ／ＩＰプロトコルの知識・熟練した技能がなくても、ＴＣＰ／ＩＰプロトコルの不具合を正確に再現する試験をミスが生じないように実行することができる。また、試験を行う際の労力を軽減することができる。
【００５７】
また、試験制御装置４４から試験の始動または停止を命令する制御情報４７ａ，４７ｂ，４７ｃを、トラフィック生成装置３２、ネットワークエミュレータ装置３６および試験サーバ装置４１へ送信するようにしたので、試験の始動または停止を容易かつ正確に行うことができる。
また、試験制御装置４４によって、試験が行われている際に、トラフィック生成装置３２、ネットワークエミュレータ装置３６および試験サーバ装置４１の動作状態を管理し、何れかの装置が異常状態となった際に全ての装置を停止するようにしたので、試験中の異常時から各装置を保護することができる。
【００５８】
また、試験制御装置４４から試験サーバ装置４１のＴＣＰ／ＩＰスタックに関わる情報およびパケットデータの固有情報を含むＴＣＰパラメータを設定情報４５ａとしてトラフィック生成装置３２へ送信し、トラフィック生成装置３２が、そのＴＣＰパラメータをヘッダ情報とするパケットデータを作成し、このパケットデータを１乃至は２以上用いて試験パケットデータとするようにした。これによって、個々に認識可能な試験パケットデータを複数合わせて試験トラフィックデータ５５とすることができるので、種々のＴＣＰ／ＩＰプロトコルの不具合を再現することができる。
【００５９】
また、試験制御装置４４から特定のトラフィックの発生パターン情報を設定情報４５ａとしてトラフィック生成装置３２へ送信し、トラフィック生成装置３２が、発生パターン情報に応じた個数の試験パケットデータを試験トラフィックデータ５５として送信するようにした。これによって、トラフィック生成装置３２と試験サーバ装置４１との間に、特定のトラフィック状態を発生させることができる。
【００６０】
また、試験制御装置４４から試験の繰り返し回数を設定情報４５ａとしてトラフィック生成装置３２へ送信し、トラフィック生成装置３２が、試験サーバ装置４１から受信した応答トラフィックデータ５７の再送要求を、その繰り返し回数だけ行うようにした。これによって、任意回数だけ試験サーバ装置４１から応答トラフィックデータ５７を受信して試験を行うことができる。また、この試験を繰り返す機能によって、一連の試験を何百何千回繰り返すストレステストを実行したり、高負荷状態におけるプロトコルの不具合の再現を試みることが可能となる。
【００６１】
また、ネットワークエミュレータ装置３６に擬似通信環境を構築するプログラムを備え、試験制御装置４４からそのプログラムが擬似通信環境を構築するためのパラメータ情報を設定情報４５ｂとして送信するようにしたので、ネットワークエミュレータ装置３６に構築される擬似通信環境を、任意に設定することができる。
【００６２】
また、試験サーバ装置４１に、試験トラフィックデータ５５に応答した応答トラフィックデータ５７を返信する試験用の応答プログラムを備え、試験制御装置４４から応答プログラムが応答を行うためのパラメータ情報を、試験サーバ装置４１へ設定情報４５ｃとして送信するようにしたので、試験サーバ装置４１が試験時に行う応答動作を、任意に設定することができる。
なお、以上はＴＣＰ／ＩＰプロトコルの場合について説明したが、その他のプロトコルについても本発明が適用できることは明らかである。例えば、ＵＤＰについて、本発明を適用することができる。
【００６３】
【発明の効果】
以上説明したように、本発明に係るプロトコル試験システムおよびプロトコル試験方法によれば、生成装置からサーバ装置へ試験データを送信し、この試験データの応答結果である応答データを、エミュレータ装置に構築した擬似通信環境で処理してプロトコルの不具合を再現することができ、この再現を行うための設定および制御を、予め定められた情報を用いて試験制御装置により自動で行うようにした。したがって、プロトコルの知識・熟練した技能がなくても、プロトコルの不具合を正確に再現する試験をミスが生じないように実行することができるという効果が得られる。また、試験を行う際の労力を軽減することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るプロトコル試験システムの構成を示すブロック図である。
【図２】上記のプロトコル試験システムの試験制御装置の構成を示すブロック図である。
【図３】上記のプロトコル試験システムのトラフィック生成装置の構成を示すブロック図である。
【図４】上記のプロトコル試験システムによってＴＣＰ／ＩＰプロトコルの不具合を再現する試験の動作を説明するためのフローチャートである。
【図５】一般的なＴＣＰ／ＩＰアプリケーションを用いたクライアント装置−サーバ装置のシステムである。
【図６】従来のプロトコル試験システムの構成を示すブロック図である。
【符号の説明】
１０  アプリケーション層
１８  ＯＳ層
３０  プロトコル試験システム
３１ａ，３１ｂ，３１ｃ  制御部
３２  トラフィック生成装置
３３  試験装置
３６  ネットワークエミュレータ装置
３７  通信網エミュレータ装置
４０，６３  ＴＣＰ／ＩＰスタック
４１  試験サーバ装置
４３  コンピュータシステム
４４  試験制御装置
４５ａ，４５ｂ，４５ｃ  設定情報
４７ａ，４７ｂ，４７ｃ  制御情報
４９ａ，４９ｂ，４９ｃ  状態情報
５１  トラフィック生成装置制御部
５２  ネットワークエミュレータ装置制御部
５３  試験サーバ装置制御部
５４  制御プログラム部
５５  試験トラフィックデータ
５７  応答トラフィックデータ
６１  ＯＳ
６５  パケット受信部
６７  パケット保存部
６９  パケットロス発生部
７１  パケットロス発生指示部
７３  再送確認応答パケット作成部
７５  確認応答パケット作成部
７７  パケット作成部
７９  プロトコルヘッダ作成部
８０  ＴＣＰパラメータ入力指示部
８１  ペイロードデータ作成部
８３  送信指示部
【図１】
2004201121.tif 000003
【図２】
2004201121.tif 000004
【図３】
2004201121.tif 000005
【図４】
2004201121.tif 000006
【図５】
2004201121.tif 000007
【図６】
2004201121.tif 000008