(57)【要約】  ＴＣＰセッションエミュレーション装置は、受信パケットのヘッダから得られるＩＰ（Internet Protocol）アドレス及びポート番号の少なくとも１つを検索キーとしてＴＣＰプロトコルのセッションを特定する識別子を検索するためのセッション検索テーブルと、前記セッション検索テーブルの検索結果として求められる前記識別子に基づいて引かれ、セッションステータスコードを得るためのセッション状態管理メモリと、前記セッション状態管理メモリから得られた前記セッションステータスコードに応じて、複数のアプリケーションプロトコルのいずれかが使用する前記ＴＣＰプロトコルの擬似セッション動作を決定するシーケンサとを備える。【特許請求の範囲】
【請求項１】
受信パケットのヘッダから得られるＩＰ（Internet Protocol）アドレス及びポート番号の少なくとも１つを検索キーとしてＴＣＰ（Transmission Control Protocol）プロトコルのセッションを特定する識別子を検索するためのセッション検索テーブルと；
前記セッション検索テーブルの検索結果として求められる前記識別子に基づいて引かれ、セッションステータスコードを得るためのセッション状態管理メモリと；
前記セッション状態管理メモリから得られた前記セッションステータスコードに応じて、複数のアプリケーションプロトコルのいずれかが使用する前記ＴＣＰプロトコルの擬似セッション動作を決定するシーケンサと；
を備えるＴＣＰセッションエミュレーション装置。
【請求項２】
前記シーケンサは、ＨＴＴＰ（Hyper Text Transfer Protocol）、ＦＴＰ（File Transfer Protocol）、及びＳＭＴＰ（Simple Mail Transfer Protocol）を含むアプリケーションプロトコル毎に設けられている
請求項１記載のＴＣＰセッションエミュレーション装置。
【請求項３】
前記セッションステータスコードは、前記ＴＣＰプロトコルのセッションが通信しているポート番号、前記ＴＣＰプロトコルの遷移状態を示すＴＣＰ状態コード、及び前記アプリケーションプロトコルの遷移状態を示す上位状態コードから構成されている
請求項１記載のＴＣＰセッションエミュレーション装置。
【請求項４】
意図的に前記ＴＣＰプロトコルのセッションの異常処理動作を発生させるために予め設定される設定値を保持する状態設定レジスタを更に備え；
前記設定値及び前記セッションステータスコードの双方の値に応じて、前記シーケンサの動作を決定する
請求項１記載のＴＣＰセッションエミュレーション装置。
【請求項５】
前記受信パケットのヘッダからヘッダ情報として、前記ＩＰアドレス及び前記ポート番号とともに、ＴＣＰプロトコルの順序番号、確認応答番号及びコードビットを得る抽出手段と；
前記抽出手段で得た前記ヘッダ情報及び前記シーケンサからのヘッダ内容指示に基づいて、送信パケットのヘッダ情報を生成し、応答パケットのヘッダとして付加して送信する手段と；
を更に備える請求項１記載のＴＣＰセッションエミュレーション装置。
【請求項６】
前記受信パケットの受信時刻をタイムスタンプ情報として対応のセッション毎に前記セッション状態管理メモリに格納する手段と；
応答パケットの遅延時間を設定するレジスタとを更に備え；
前記応答パケットを前記設定された遅延時間後に送出して応答遅延を実現する
請求項１記載のＴＣＰセッションエミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信プロトコルとしてＴＣＰ（Transmission Control Protocol）を用いる通信ネットワークシステムにおいてＴＣＰ通信の性能を検証する装置に関し、特にＩＰ（Internet Protocol）ネットワークに接続される機器（通信装置）あるいはアプリケーションソフトウェアにおいて発生するイベント（事象）をエミュレート（模擬）するためのＴＣＰセッションエミュレーション装置に関する。
【背景技術】
【０００２】
特開平１１−２７３０８号公報（特許文献１）などには、ＴＣＰプロトコルの振る舞い及び内部手順をエミュレートすることにより、通信シーケンス状態を解析し、スループット低下時の原因を調査する技術が開示されている。これらの技術では、実際の通信をモニタし、ＴＣＰプロトコルの状態遷移を解析することにより、問題動作の原因となる状態を調査している。【０００３】
しかし、従来のエミュレーション技術では、通信システムまたは通信装置同士の実通信をモニタし、ＴＣＰプロトコルの状態遷移の正常性を確認することは可能であるが、意図的に（擬似的に）異常シーケンス状態や高負荷状態などを発生し、その時の通信システムの処理動作の正当性を確認することはできない。また、通信システム同士のハンドシェーク動作の応答遅延を意図的に発生することにより、応答待ち処理のタイムアウト時における動作の正当性を確認することもできない。【０００４】
また、従来の試験装置の一構成例を図１０に示すが、この構成においては、ヘッダ抽出・プロトコル識別部２０において受信パケットのヘッダを抽出してプロトコルの識別を行い、選択されたパケットを受信パケット読出／書込（Ｒ／Ｗ）制御部２１により受信パケットバッファ２２に書き込むこと、及び送信パケット読出／書込（Ｒ／Ｗ）制御部２３により指定される送信パケットバッファ２４のデータにヘッダ内容設定レジスタ２５及びパケットヘッダ生成部２６の協働にて生成されたヘッダを付加し、送出パケット生成部２７により送信パケットを生成して、ネットワークに送出することは可能である。しかし、この従来の試験装置においては、やはりＴＣＰプロトコルの状態遷移を擬似的に発生していない。
［特許文献１］特開平１１−２７３０８号公報
［特許文献２］特開２０００−２６７９６３号公報
［特許文献３］特開２０００−１０６５５７号公報
［特許文献４］特開２００４−１４０５９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、実際のネットワークでは意図的に発生することが難しいＴＣＰプロトコル上の異常シーケンス状態の発生や高負荷状態の発生を設定に応じて任意に発生することを可能にする技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のＴＣＰセッションエミュレーション装置は、受信パケットのヘッダから得られるＩＰ（Internet Protocol）アドレス及びポート番号の少なくとも１つを検索キーとしてＴＣＰ（Transmission Control Protocol）プロトコルのセッションを特定する識別子を検索するためのセッション検索テーブルと；前記セッション検索テーブルの検索結果として求められる前記識別子に基づいて引かれ、セッションステータスコードを得るためのセッション状態管理メモリと；前記セッション状態管理メモリから得られた前記セッションステータスコードに応じて、複数のアプリケーションプロトコルのいずれかが使用する前記ＴＣＰプロトコルの擬似セッション動作を決定するシーケンサとを備える。【０００７】
この構成を採るＴＣＰセッションエミュレーション装置において、前記シーケンサは、ＨＴＴＰ（Hyper Text Transfer Protocol）、ＦＴＰ（File Transfer Protocol）、及びＳＭＴＰ（Simple Mail Transfer Protocol）を含むアプリケーションプロトコル毎に設けられている。【０００８】
また、前記セッションステータスコードは、前記ＴＣＰプロトコルのセッションが通信しているポート番号、前記ＴＣＰプロトコルの遷移状態を示すＴＣＰ状態コード、及び前記アプリケーションプロトコルの遷移状態を示す上位状態コードから構成されている。【０００９】
ＴＣＰセッションエミュレーション装置は、意図的に前記ＴＣＰプロトコルのセッションの異常処理動作を発生させるために予め設定される設定値を保持する状態設定レジスタを更に備え；前記設定値及び前記セッションステータスコードの双方の値に応じて、前記シーケンサの動作を決定する。【００１０】
また、ＴＣＰセッションエミュレーション装置は、前記受信パケットのヘッダからヘッダ情報として、前記ＩＰアドレス及び前記ポート番号とともに、ＴＣＰプロトコルの順序番号、確認応答番号及びコードビットを得る抽出手段と；前記抽出手段で得た前記ヘッダ情報及び前記シーケンサからのヘッダ内容指示に基づいて、送信パケットのヘッダ情報を生成し、応答パケットのヘッダとして付加して送信する手段とを更に備える。【００１１】
さらに、ＴＣＰセッションエミュレーション装置は、前記受信パケットの受信時刻をタイムスタンプ情報として対応のセッション毎に前記セッション状態管理メモリに格納する手段と；応答パケットの遅延時間を設定するレジスタとを更に備え；前記応答パケットを前記設定された遅延時間後に送出して応答遅延を実現する。
【発明の効果】
【００１２】
本発明によれば、ＴＣＰプロトコルのセッション動作を擬似的に実行可能にすることにより、意図的に異常シーケンス、大量のトラフィック、応答遅延などを発生させることが可能となり、ネットワーク機器（通信装置）やアプリケーションソフトウェアの検証に有益である。これにより、ＩＰネットワーク関連システムの品質向上に大いに寄与する。【００１３】
本発明の他の課題、特徴及び利点は、図面及び請求の範囲とともに取り上げられる際に、以下に記載される一実施の形態を読むことにより明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】図１は本発明の一実施の形態のＴＣＰセッションエミュレーション装置が適用される通信ネットワークシステムの構成を示すブロック図。
【図２】図２は本発明の一実施の形態のＴＣＰセッションエミュレーション装置の構成を示すブロック図。
【図３】本発明の一実施の形態のＴＣＰセッションエミュレーション装置の動作手順を説明するための図。
【図４】送信パケットバッファの構成例を示す図。
【図５】セッション検索テーブルの構成例を示す図。
【図６】セッション状態管理メモリの構成例を示す図。
【図７】応答パケット生成シーケンサの動作手順を説明するための図。
【図８】応答パケット生成シーケンサの構成例を示す図。
【図９】ＴＣＰプロトコルの状態遷移図。
【図１０】従来の試験装置の構成例を示すブロック図。
【符号の説明】
【００１５】
ＴＳＥ  ＴＣＰセッションエミュレーション装置
１      ヘッダ抽出・プロトコル識別部
２      セッション検索テーブル
３      セッション状態管理メモリ
４      受信パケットバッファ
５      送信パケットバッファ
６      応答パケット生成シーケンサ
７      状態設定レジスタ
８      パケットヘッダ生成部
９      応答パケット生成部
１０    タイムスタンプ生成部
１１    受信パケット読出／書込（Ｒ／Ｗ）制御部
１２    送信パケット読出／書込（Ｒ／Ｗ）制御部
１３    遅延設定レジスタ
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して、本発明について更に詳細に説明する。図面には本発明の好ましい実施形態が示されている。しかし、本発明は、多くの異なる形態で実施されることが可能であり、本明細書に記載される実施形態に限定されると解釈されてはならない。むしろ、これらの実施形態は、本明細書の開示が徹底的かつ完全となり、当業者に本発明の範囲を十分に伝えるように提供される。【００１７】
図２に示す本発明の一実施の形態のＴＣＰ（Transmission Control Protocol）セッションエミュレーション装置ＴＳＥは、図１（Ａ），（Ｂ）に構成例を示す通信ネットワークシステムＳＹＳに適用する。【００１８】
図１、図２及び動作手順を示す図３を併せ参照すると、通信ネットワークシステムＳＹＳは少なくとも１つのネットワーク（ＩＰ（Internet Protocol）ネットワーク）ＮＷを含む。このネットワークＮＷはＵＮＩＸ（登録商標）などのコンピュータネットワークや広域のパケット交換網を構成する。ネットワークＮＷには、通常、ＩＰアドレスをそれぞれ持つ通信装置として、サーバＳＶ及びクライアントＣＬが接続される。サーバＳＶとクライアントＣＬとは、ネットワークＮＷを経由する通信回線（通信路またはコネクションと記載することもある）を通してデータの送受信（ＴＣＰ通信）を行う。【００１９】
通信プロトコルとしてのＴＣＰは、ＯＳＩ（Open Systems Interconnection）参照モデルの第三層のＩＰ（ネットワーク層）の上の第四層（トランスポート層）のプロトコルである。ＴＣＰの特徴は信頼性のあるデータ伝送（転送）を行うこと、つまり通信の開始から終了まで通信路の信頼性を保持してデータの正常な送信の制御と、さらにエラー時のエラー検出及び回復とを行うことにある。このため、ＴＣＰではコネクション・オリエンテッドなバーチャル通信路を設定して、上位層のユーザに全二重・双方向のストリームサービスを提供する。【００２０】
通信ネットワークシステムＳＹＳにおいて、ストリームサービスでコネクション・オリエンテッドなデータ転送を行い、信頼性を維持するには、ＴＣＰ通信の性能を模擬試験することが必要不可欠となる。【００２１】
ＴＣＰセッションエミュレーション装置ＴＳＥは、擬似クライアントＣＬあるいは擬似サーバＳＶに実装可能である。ここで、擬似クライアントＣＬは、非常に多くのクライアントＣＬがサーバＳＶへのアクセスを行っている状態を擬似的に発生させるものであり、擬似サーバＳＶは、多くの実際のクライアントＣＬとの擬似的な通信を行うものである。ＴＣＰセッションエミュレーション装置ＴＳＥを擬似クライアントＣＬあるいは擬似サーバＳＶとして、通信ネットワークシステムＳＹＳに導入することにより、通常では難しいサーバＳＶの限界処理性能に近いクライアント数を用いた実機検証や、ネットワークＮＷ上でのパケットロスなどにより発生するシーケンス異常を擬似的に発生することが可能である。【００２２】
ＴＣＰセッションエミュレーション装置ＴＳＥにおいて、ヘッダ抽出・プロトコル識別部１は、ネットワークＮＷから受信したパケットよりヘッダ部の抽出及びプロトコルの識別を行う（図３中、Ｓ１０，Ｓ１１）。ヘッダ抽出・プロトコル識別部１は、対象となるＴＣＰパケット（厳密には、ＴＣＰ／ＩＰパケット）のＩＰアドレス及びポート番号を抽出し、ＴＣＰセッションを検索するためのセッション検索テーブル２に検索キーとして入力する（図３中、Ｓ１２，Ｓ１３）。セッション検索テーブル２は検索エンジンを含む連想メモリ（ＣＡＭ：Content Addressable Memory）で構成される。【００２３】
セッション検索テーブル２の検索結果は、それぞれのＴＣＰセッション番号を示すセッション識別子（アドレス）として、セッション状態管理メモリ３のエントリ番号を特定するために使用される（図３中、Ｓ１４）。セッション状態管理メモリ３には、コネクションが確立されているそれぞれのＴＣＰセッションの状態（ステート：state）を示すコード（セッションステータスコード）、受信パケットバッファ４のパケット格納位置を示すアドレス（受信バッファアドレス）、パケット受信の時刻を示すタイムスタンプなどの情報が、エントリ番号（セッション番号）毎に登録されている（図３中、Ｓ１５，Ｓ１６）。【００２４】
セッション状態管理メモリ３から出力されるセッションステータスコードは、応答パケット生成シーケンサ６の次ステートへの遷移条件として使用される（図３中、Ｓ１７）。ここでは、応答パケット生成シーケンサ６は、ＴＣＰセッションの状態遷移を実現するハードウェアシーケンサであり、セッションステータスコードと、主制御部（ＣＰＵ：Central Processor Unit）から設定される状態設定レジスタ７の値とを条件として遷移することにより、通常動作あるいは異常動作について、ＴＣＰセッション上のハンドシェーク（３ｗａｙ  ｈａｎｄｓｈａｋｅ）動作を実現する（図３中、Ｓ１８）。応答パケット生成シーケンサ６は、遷移後の状態を示すセッションステータスコードをセッション状態管理メモリ３に書き込む（図３中、Ｓ１９）。【００２５】
応答パケット生成シーケンサ６において受信パケットに対する応答動作が決定後に、応答動作に対応する送信ヘッダの内容及び送信データの内容がパケットヘッダ生成部８及び送信パケット読出／書込（Ｒ／Ｗ）制御部１２に渡される。パケットヘッダ生成部８は、応答パケット生成シーケンサ６からの指示内容（送信ヘッダの内容）に基づいて、送信パケットヘッダを生成し、応答パケット生成部９に出力する。送信パケットＲ／Ｗ制御部１２は、応答パケット生成シーケンサ６からの指示内容（送信データの内容）に基づいて、送信パケット読出アドレスを送信パケットバッファ５に出力する。応答パケット生成部９は、送信パケットバッファ５からの送信パケットデータにパケットヘッダ生成部８からの送信パケットヘッダを付加して、応答パケットを生成し、ネットワークＮＷのコネクションを通して相手先へ返送する（図３中、Ｓ２１）。【００２６】
遅延設定レジスタ１３に設定された遅延時間が経過したか否かについては、セッション状態管理メモリ３から読み出されるタイムスタンプ情報と、タイムスタンプ生成部１０のタイマ値との比較に基づいて、送信パケットＲ／Ｗ制御部１２において判定され、設定遅延時間の経過後に、送信パケットバッファ５から送信パケットデータが読み出され、応答パケット生成部９から送信される（図３中、Ｓ２０，Ｓ２１）。【００２７】
なお、セッション検索テーブル２に一致するエントリがない場合、受信パケットのＩＰアドレス及びポート番号がセッション検索テーブル２に登録され、セッション状態管理メモリ３において対応のセッションステータスコードが初期値に設定される（図３中、Ｓ１４，Ｓ２２，Ｓ２３）。【００２８】
また、ヘッダ抽出・プロトコル識別部１においては、送信するパケットのヘッダ情報として、ＴＣＰヘッダの順序番号（シーケンス番号）及び確認応答番号が更に抽出され、パケットヘッダ生成部８に送られる。これらの順序番号及び確認応答番号は、応答パケット生成部９における応答パケットの生成に使用される。【００２９】
ＴＣＰセッションエミュレーション装置ＴＳＥにおいては、受信パケット読出／書込（Ｒ／Ｗ）制御部１１により受信パケットバッファ４に格納されたパケットデータをＣＰＵから読み出すこと、及び送信パケットバッファ５に対するパケットデータをＣＰＵが設定することが可能であり、上位プロトコル処理をＣＰＵにより処理することが可能である。応答パケット生成シーケンサ６においてＣＰＵによるプロトコル処理が必要とされた場合には、応答パケット生成シーケンサ６からＣＰＵに対して割り込み通知が行われる。なお、ＴＣＰセッションエミュレーション装置ＴＳＥから先に、つまりネットワークＮＷにパケット（応答パケットではなくトラフィック生成のためのパケット）を送信する場合には、ＣＰＵから送信パケットＲ／Ｗ制御部１２に送出制御を通知することにより、パケットの送信が実施される。【００３０】
一層詳述すると、上述したＴＣＰセッションエミュレーション装置ＴＳＥにおいては、送信パケットバッファ５の内容については、図４に示すように、アプリケーションの各プロトコル（例えば、ＨＴＴＰ（Hyper Text Transfer Protocol）、ＦＴＰ（File Transfer Protocol）、ＳＭＴＰ（Simple Mail Transfer Protocol）など）に対応するパケットデータが、予めＣＰＵにより書き込まれている。したがって、セッション状態管理メモリ３からセッションステータスコードを受けた応答パケット生成シーケンサ６は、該当するプロトコルが格納されているアドレスを示す送信データ内容指示を送信パケットＲ／Ｗ制御部１２に渡すことにより、送信パケットバッファ５における該当プロトコルの格納されているアドレスから送信パケットデータが読み出される。【００３１】
図５はセッション検索テーブル２の構成例を示す。この構成例に示すように、セッション検索テーブル２には、発信元アドレス及び宛先アドレス（いずれもＩＰアドレス）、プロトコルコード、発信元ポート番号及び宛先ポート番号が格納されている。このテーブル２の各エントリはＴＣＰの個々のセッション（セッション番号）に対応しており、受信パケットから抽出された上記ヘッダ情報、つまり発信元アドレス、宛先アドレス、プロトコルコード、発信元ポート番号、及び宛先ポート番号の少なくとも１つに基づいて、このテーブル２を検索することにより、ＴＣＰセッションが識別される。【００３２】
図６はセッション状態管理メモリ３の構成例を示す。セッション状態管理メモリ３の各エントリはセッション検索テーブル２の各エントリと対応している。セッション状態管理メモリ３には、セッション状態を示すセッションステータスコード、受信パケットの格納位置を示す受信バッファアドレス、及びパケットを受信した時刻を示すタイムスタンプが格納されている。ここで、セッションステータスコードは、ＴＣＰセッションが通信しているポート番号、ＴＣＰの遷移状態を示すＴＣＰ状態コード、及び上位プロトコル（アプリケーションプロトコル）の遷移状態を示す上位状態コードから構成されている。上位プロトコルの状態遷移については、ハードウェア及びソフトウェアのいずれかにより実施されるが、ソフトウェアにより状態遷移を実施する場合には、応答パケット生成シーケンサ６から通知される割り込みにより、次状態の状態遷移が発生する。【００３３】
図７は応答パケット生成シーケンサ６の動作手順例を示す。この動作手順（Ｓ７１〜Ｓ７８）により、ＴＣＰプロトコルの状態遷移が実現されるが、ＴＣＰプロトコル状態がＥＳＴＡＢＬＩＳＨＥＤになっている場合に、上位プロトコルの通信が実施される。上位プロトコルの状態遷移については、ハードウェアあるいはソフトウェアにて構成される応答パケット生成シーケンサ６内部の上位プロトコル処理シーケンサ（プロトコルシーケンサ）（図８）に現在の状態を示す上位状態コードを渡すことにより行われる。【００３４】
また、異常シーケンスを発生させる場合には、状態設定レジスタ７の設定内容に応じて、ＴＣＰプロトコルの状態遷移を通常とは異なる状態へと遷移させる。なお、この動作手順で示されるＴＣＰプロトコルの状態遷移はハードウェアにて実施することより、大量のトラフィック発生状態を生成することが可能となる。【００３５】
図８は応答パケット生成シーケンサ６の構成例を示す。この構成例のように、応答パケット生成シーケンサ６は、図９に示すＴＣＰプロトコルの状態遷移においてＥＳＴＡＢＬＩＳＨＥＤとなり上位プロトコルの通信が可能となった際に、ポート番号に応じて、応答パケット生成シーケンサ６内部の上位のプロトコル処理シーケンサが動作するような階層的な構成を採る。上位プロトコル処理シーケンサについては、ＦＩＮの送受信によりＴＣＰプロトコルの状態遷移がＣＬＯＳＥ状態に遷移する際に、シーケンス動作を完了する。【００３６】
異常状態発生の具体例として、ＴＣＰプロトコルのＳＹＮパケット受信に対するＡＣＫの応答パケットが正常に返らないという場合を示すと、状態設定レジスタ７に異常状態発生の設定を行い、応答パケット生成シーケンサ６内部のＴＣＰシーケンサがＳＹＮ＿ＲＣＶＤの状態で、通常であればＡＣＫパケットをＳＹＮパケットの送信元に返すような送信指示を送信パケットＲ／Ｗ制御部１２及びパケットヘッダ生成部８に送るところを、この動作を実施せずにＡＣＫパケットを送信しないまま、ＳＹＮ＿ＲＣＶＤに留まるという動作をする。【００３７】
また、パケットヘッダ内部の確認応答番号の異常を発生させる場合には、状態設定レジスタ７に異常状態発生の設定を行い、応答パケット生成シーケンサ６を経由して、送信パケットヘッダ内容指示にて異常生成指示の信号が伝えられ、パケットヘッダ生成部８において、通常とは異なる確認応答番号が格納されたパケットヘッダが生成され、通信先には、この異常ヘッダを有するパケットが送信されることになる。【００３８】
図９はＲＦＣ７９３で規定されているＴＣＰプロトコルの状態遷移を示し、この状態遷移に則って、応答パケット生成シーケンサ６の動作が決定される。ＴＣＰプロトコルでは、ＴＣＰヘッダ中の発信元ポート番号及び宛先ポート番号と、ＩＰヘッダ中のＩＰアドレスとにより識別されるコネクションを確立する。このコネクション確立は、３ウエイハンドシェーク、つまりＳＹＮ（同期）、ＡＣＫ（確認）、及びＳＹＮ＋ＡＣＫ（確認応答）という３つのＴＣＰセグメントで行われる。データ転送においては、ＴＣＰヘッダ中の順序番号及び確認応答番号を用いる。データ転送が終わると、ＦＩＮ（終了）及びＡＣＫ（確認）という２つのＴＣＰセグメントの交換を通信装置または通信システム間で行うことにより、コネクションを解放する。【００３９】
ＴＣＰヘッダには、発信元ポート番号、宛先ポート番号、順序番号、確認応答番号、コードビット（制御ビット）、ウインドウサイズ、チェックサム、及び緊急（アージェント）ポインタなどのフィールドがある。【００４０】
ＴＣＰヘッダの６ビットのコードビットフィールドには、ＵＲＧ、ＡＣＫ、ＰＳＨ、ＲＳＴ、ＳＹＮ、及びＦＩＮの６個のフラグビットがある。各コードビットの意味は次のとおりである。
（１）ＵＲＧ：緊急ポインタが有効である。
（２）ＡＣＫ：確認応答番号が有効である。
（３）ＰＳＨ：受信側（受け手）はデータを可能な限り早急にアプリケーションに渡さなければならない。
（４）ＲＳＴ：コネクションをリセットする。
（５）ＳＹＮ：コネクションを初期化するために順序番号を同期させる。
（６）ＦＩＮ：送信側（送り手）はデータの送信を終了した。【００４１】
これらのコードビットは１つだけをオン状態にするか、複数を同時にオン状態にすることができる。コードビットがオン状態のＴＣＰセグメントを次のように呼ぶ。
（１）ＳＹＮセグメント：ＳＹＮビットのみがオン（ＡＣＫビットはオフ）。
（２）ＳＹＮ＋ＡＣＫセグメント：ＳＹＮビット及びＡＣＫビットのみがオン。
（３）ＡＣＫセグメント：データフィールドにユーザデータは無く、ＡＣＫビットのみがオン。
（４）ＤＴセグメント：ＵＲＧビット及びＲＳＴビットのオン・オフに関係なく、ユーザデータが有り、ＡＣＫビットのみがオン。
（５）ＦＩＮセグメント：ＦＩＮビットがオン（ＡＣＫビットがオンのことが多い）。
（６）ＲＳＴセグメント：ＲＳＴビットがオン（ＡＣＫビットがオンのことが多い）。【００４２】
ＴＣＰプロトコルに対するイベント（事象）には、送信イベント（送信したＴＣＰセグメント）及び受信イベント（受信したＴＣＰセグメント）などがあり、代表例及びその意味は次に示すとおりである。
（１）ＳＹＮｓｅｎｔ：送信したＳＹＮセグメント。
（２）ＳＹＮ＋ＡＣＫｓｅｎｔ：送信したＳＹＮ＋ＡＣＫセグメント。
（３）ＡＣＫｓｅｎｔ：送信したＡＣＫセグメント。
（４）ＤＴ／ＡＣＫｓｅｎｔ：送信したＤＴセグメントまたはＡＣＫセグメント。
（５）ＦＩＮｓｅｎｔ：送信したＦＩＮセグメント。
（６）ＳＹＮｒｅｃｖ：受信したＳＹＮセグメント。
（７）ＳＹＮ＋ＡＣＫｒｅｃｖ：受信したＳＹＮ＋ＡＣＫセグメント。
（８）ＡＣＫｒｅｃｖ：受信したＡＣＫセグメント。
（９）ＤＴ／ＡＣＫｒｅｃｖ：受信したＤＴセグメントまたはＡＣＫセグメント。
（１０）ＦＩＮｒｅｃｖ：受信したＦＩＮセグメント。【００４３】
ＴＣＰプロトコルにおける状態（ステート）は、図９に示すように、ＣＬＯＳＥＤ、ＬＩＳＴＥＮ、ＳＹＮ＿ＳＥＮＴ、ＳＹＮ＿ＲＣＶＤ、ＥＳＴＡＢＬＩＳＨＥＤ、ＦＩＮ＿ＷＡＩＴ＿１、ＦＩＮ＿ＷＡＩＴ＿２、ＣＬＯＳＩＮＧ、ＣＬＯＳＥ＿ＷＡＩＴ、ＬＡＳＴ＿ＡＣＫ、及びＴＩＭＥ＿ＷＡＩＴという値を採り得る。これらの値の意味は次に示すとおりである。
（１）ＣＬＯＳＥＤ：コネクション無しの状態。
（２）ＬＩＳＴＥＮ：待ち状態。
（３）ＳＹＮ＿ＳＥＮＴ：ＳＹＮセグメントを送信してコネクション確立処理中の状態。
（４）ＳＹＮ＿ＲＣＶＤ：ＳＹＮセグメントを受信してコネクション確立処理中の状態。
（５）ＥＳＴＡＢＬＩＳＨＥＤ：双方向にデータ転送可能な状態。
（６）ＦＩＮ＿ＷＡＩＴ＿１：データ送信終了要求の状態。
（７）ＦＩＮ＿ＷＡＩＴ＿２：データ送信終了完了の状態。
（８）ＣＬＯＳＩＮＧ：データ送受信同時終了の状態。
（９）ＴＩＭＥ＿ＷＡＩＴ：コネクション解放完了時のコネクション情報保持状態。
（１０）ＣＬＯＳＥ＿ＷＡＩＴ：コネクション解放の待機状態。
（１１）ＬＡＳＴ＿ＡＣＫ：最終ＡＣＫの受信待ち状態。【００４４】
上述したように、ＴＣＰセッションエミュレーション装置ＴＳＥにおいては、ネットワークＮＷの通信回線からの受信パケットがＴＣＰパケットであることを認識した場合、セッション検索テーブル２が検索され、セッション状態管理メモリ３の記憶情報と状態設定レジスタ７の設定値とにより、応答パケット生成シーケンサ６の初期状態及び動作状態が決定される。また、パケットを受信した時刻はタイムスタンプとして、セッション状態管理メモリ３に格納され、パケット送出タイミングの決定に使用される。【００４５】
［変形例］
上述した一実施の形態における処理はコンピュータで実行可能なプログラムとして提供され、ＣＤ−ＲＯＭやフレキシブルディスクなどの記録媒体、さらには通信回線を経て提供可能である。【００４６】
また、上述した一実施の形態における各処理はその任意の複数または全てを選択し組合せて実施することもできる。
【図１】
2007010593.tif 000002
【図２】
2007010593.tif 000003
【図３】
2007010593.tif 000004
【図４】
2007010593.tif 000005
【図５】
2007010593.tif 000006
【図６】
2007010593.tif 000007
【図７】
2007010593.tif 000008
【図８】
2007010593.tif 000009
【図９】
2007010593.tif 000010
【図１０】
2007010593.tif 000011
【国際調査報告】
2007010593.tif 000012
2007010593.tif 000013
2007010593.tif 000014
2007010593.tif 000015