(57)【特許請求の範囲】
【請求項１】
第１の通信網と第２の通信網との間に配置されると共に、トランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）と、通常のトランスポート制御プロトコル（ＴＣＰ）とをサポートしているルータ装置であって、
前記第１の通信網におけるクライアントにダイナミックにＩＰアドレスを割り当てる割当手段と、
前記第１の通信網の前記クライアントに前記割当手段から新たなＩＰアドレスが割り当てられた際の初回のセッションにおいて予め定められている初回コネクション・カウント値未満のコネクション・カウント値をデフォルト値としてキャッシュしているキャッシュ手段と、
前記第１の通信網の前記クライアントから第１のコネクション・カウント値を含むセッション開始のセグメントを受信した際に、該第１のコネクション・カウント値と前記キャッシュ手段にキャッシュされている第２のコネクション・カウント値とを比較して、前記第１のコネクション・カウント値が前記第２のコネクション・カウント値を超えている際に、前記受信したセグメントが新規のセッションのセグメントと判断する処理手段とを備え、
前記第１の通信網の前記クライアントが前記初回のセッションにおいて前記第１のコネクション・カウント値として前記初回コネクション・カウント値を含むセグメントを送信することにより、３ウェイハンドシェイクを行うことなくトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）の接続確立を行えるようにしたことを特徴とするルータ装置。
【請求項２】
トランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）と、通常のトランスポート制御プロトコル（ＴＣＰ）とのプロトコル変換を行う変換手段を備え、
該変換手段により、前記第１の通信網におけるトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）をサポートしている前記クライアントとの間はトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）で接続することができると共に、前記第２の通信網における通常のトランスポート制御プロトコル（ＴＣＰ）をサポートしているサーバとの間は通常のトランスポート制御プロトコル（ＴＣＰ）で接続することができ、前記クライアントと前記サーバとの間で通信を行う際に、３ウェイハンドシェイクを行うことなく前記クライアントとの間をトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）で接続確立できるようにしたことを特徴とする請求項１記載のルータ装置。
【請求項３】
トランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）と、通常のトランスポート制御プロトコル（ＴＣＰ）とのプロトコル変換を行う変換手段を備え、
該変換手段により、前記第１の通信網におけるトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）をサポートしている前記クライアントとの間をトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）で接続することができると共に、前記第２の通信網におけるトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）をサポートしているサーバとの間をトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）で接続することができ、前記クライアントと前記サーバとの間で通信を行う際に、３ウェイハンドシェイクを行うことなく前記クライアントとの間、及び前記サーバとの間をトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）により、それぞれ独立して接続確立できるようにしたことを特徴とする請求項１記載のルータ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、第１の通信網と第２の通信網との間に配置されると共に、トランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）の初回セッションにおいても３ウェイハンドシェイクを回避する機能と、通常のトランスポート制御プロトコル（ＴＣＰ）とをサポートしているルータ装置に関するものである。
【０００２】
【従来の技術】
従来、通信網における通信に用いるネットワーク・プロトコルとして、トランスポート制御プロトコル（以下、「ＴＣＰ（Transport Control Protocol）」という）が知られている。このＴＣＰは、ＯＳＩ参照モデルの第４層のトランスポート層に位置し、再送信、パケットの順番制御およびフロー制御などの機能を有するプロトコルであり、インターネットにおける通信の標準的なプロトコルとして用いられている。また、このＴＣＰは、携帯電話などの移動情報端末から移動通信網を介してインターネットへ接続して通信するときにも使用されている。
【０００３】
ネットワーク上に位置しているクライアント１００とサーバ２００との間において、データの授受を１度ずつ行うときのＴＣＰのシーケンスの一例を図８に示す。
ＴＣＰを用いてデータの授受を行う際には、まずクライアント１００とサーバ２００とを接続する接続確立処理が行われる。ＴＣＰの接続確立処理では、まずアクティブオープンを実行するクライアント１００からパッシブオープンを実行するサーバ２００へ、サーバ２００を指定したＳＹＮフラグを含むセグメント（ＳＥＧ１：セグメント１）が送出される。ここで、「セグメント」とは、ＴＣＰが下位のネットワーク層との授受を行なう際の単位である。また、「ＳＹＮフラグ」とはセグメント内に設けられた複数の制御フラグのうち、シーケンス番号の同期をとるためのＳＹＮ（Synchronize）フラグであり、ここに「１」がセットされることによりＳＹＮフラグが送られるようになる。
【０００４】
サーバ２００は、上記ＳＹＮフラグを含むセグメント（以下、「ＳＹＮセグメント」という）を受信したことにより、ＳＹＮに対する確認応答であるＡＣＫ（ＳＹＮ）を返す。さらに、サーバ２００側からのシーケンス番号の同期をとるためのＳＹＮフラグを送出する。すなわち、サーバ２００の初期シーケンス番号を含む（ＳＹＮ＋ＡＣＫ）セグメント（ＳＥＧ２：セグメント２）を生成して、サーバ２００はクライント１００に返す。クライアント１００は、サーバ２００から送信されてきたセグメント２におけるＳＹＮに対する確認応答であるＡＣＫ（ＳＹＮ）をセグメント３（ＳＥＧ３）で返す。これにより、クライアント１００とサーバ２００との間においてＴＣＰの接続が確立することになる。このように、３つのセグメントの授受により接続確立を行うことから、このような接続確立処理は３ウェイハンドシェイク（３ＷＨ）による接続確立処理と呼ばれる。
【０００５】
このようにして接続確立されるとデータの授受が可能となり、クライアント１００は、例えばデータをリクエストするdataセグメント（ＳＥＧ４：セグメント４）をサーバ２００へ送る。このdataセグメントを受信したサーバ２００は、データを受信した確認応答であるＡＣＫ（data）セグメント（ＳＥＧ５：セグメント５）をクライアント１００へ返す。そして、サーバ２００はリクエストされたデータ（data）をdataセグメント（ＳＥＧ６：セグメント６）によりクライアント１００へ送る。クライアント１００は、リプライされたデータを受信した確認応答であるＡＣＫ（data）セグメント（ＳＥＧ７：セグメント７）をサーバ２００へ返す。
【０００６】
これにより、データの授受が終了すると、次にＴＣＰの接続終了処理が行われる。ＴＣＰの接続終了処理では、まずアクティブクローズを実行するクライアント１００からパッシブクローズを実行するサーバ２００へ、ＦＩＮセグメント（ＳＥＧ８：セグメント８）が送信される。ここで、上記「ＦＩＮセグメント」は、送信者がデータの送信が終了したことを知らせるセグメントであり、ＦＩＮ（Finish）フラグに「１」がセットされている。サーバ２００はＦＩＮセグメント（ＳＥＧ８）を受信すると、ＦＩＮに対する確認応答であるＡＣＫ（ＦＩＮ）セグメントを返す。さらに、サーバ２００からクライアント１００への通信を終了させるためのＦＩＮフラグを送出する。すなわち、サーバ２００は（ＦＩＮ＋ＡＣＫ）セグメント（ＳＥＧ９：セグメント９）を、クライント１００に返す。クライアント１００は（ＦＩＮ＋ＡＣＫ）セグメント（ＳＥＧ９）を受信すると、ＦＩＮに対する確認応答であるＡＣＫ（ＦＩＮ）セグメント（ＳＥＧ１０：セグメント１０）をサーバ２００へ返す。これにより、サーバ２００とクライアント１００との間のＴＣＰ接続はクローズされる。
【０００７】
上記したように、接続確立処理および接続終了処理においてクライアント１００側およびサーバ２００側において、それぞれＳＹＮフラグやＦＩＮフラグを送信して接続あるいは終了しているのは、ＴＣＰが上りと下りの全２重信であり、上りと下りの通信路のオープンあるいはクローズがそれぞれ必要とされるからである。このように、転送対象データの伝送の前後で接続確立処理および接続終了処理をそれぞれ実行すると共に確認応答をすることにより、ＴＣＰにおいては信頼性のあるデータ伝送を行なえるようにしている。
【０００８】
【発明が解決しようとする課題】
ところで、ＴＣＰを用いた通信を行う場合、図８に示すようにデータ伝送前後の接続開始処理および接続終了処理において、合計６つのセグメントの送受信が必要となり、一度ずつのデータの授受を行う場合であっても１０個のセグメントの送受信が必要となる。このため、クライアント１００からの要求に対してサーバ２００が応答するというような一連の処理からなる処理単位であるトランザクション処理を行う場合は、接続確立処理および接続終了処理のオーバーヘッドが発生し、トランザクション処理の速度が低下してしまうという問題があった。特に、携帯電話通信網のような移動通信網の場合は無線系の伝送路が介在し、高速のデータ伝送速度を確保することが難しいため、より効率的なトランザクション処理を行なうことができるトランスポート層のプロトコルが望まれていた。
【０００９】
そこで、接続確立処理および接続終了処理のオーバーヘッドの発生を回避し、効率的なトランザクション処理を行なうことができるトランスポート層を提供するために、トランザクション型のトランスポート制御プロトコル（以下「Ｔ／ＴＣＰ」という。）を用いることが考えられる。このＴ／ＴＣＰは、ＲＦＣ（Request For Comment）１３７９、１６４４に定義が記述されているプロトコルである。
Ｔ／ＴＣＰでは、初回の接続を行う際には３ウェイハンドシェイク（３ＷＨ）のネゴシエーションを行って接続確立を行う。この場合、Ｔ／ＴＣＰでは接続されたセッションをＣＣ（コネクション・カウント）値という値で管理している。このため、次のセッション開始時に保持しているＣＣ値を送ることにより、３ＷＨを回避して接続確立を行うことができるようになる。これは古いセッションかどうかの判別に使用される。例えば、クライアントが送ったＳＹＮセグメントのＣＣ値が、サーバにキャッシュされているＣＣ値を超えた場合は、サーバは新規のセッションと判断して３ＷＨを行うことなく接続するようにする。なお、送信側が送るＣＣ値はセッションが開始される際にインクリメントされ、サーバにはクライアントから送られたクライアント毎の最後のＣＣ値がキャッシュされている。
【００１０】
Ｔ／ＴＣＰのシーケンスの例を図９に示す。図９に示すシーケンスにおいて、クライアント１００のキャッシュCC[B]にはy1がＣＣ値としてキャッシュされており、サーバ３００のキャッシュCC[A]にはx2がＣＣ値としてキャッシュされているものとする。シーケンスを開始する際にクライアント１００は、SYNフラグ＋データ１（data1）のセグメント１０（ＳＥＧ１０）のヘッダにＣＣ値としてCC=x3を付加し、サーバ３００を指定して送信する。付加するＣＣ値は、セッションが開始される際にインクリメントされるコネクションカウンタの値とされる。このSYNフラグを含むセグメント１０を受信したサーバ３００は、セグメント１０におけるＣＣ値x3の大きさとキャッシュCC[A]にキャッシュされているＣＣ値x2との大きさを比較する。この場合、x3>x2であったとするとサーバ３００はクライアント１００との新規のシーケンスのセグメントと判断する。そして、サーバ３００は受信したデータ１でリクエストされたデータ２（data2）を用意する。
【００１１】
次いで、サーバ３００は、SYNフラグ＋ACK（SYN、data1）フラグ＋データ２（data2）のセグメント１１（ＳＥＧ１１）を生成し、そのヘッダにＣＣ値としてサーバ３００におけるコネクションカウンタの値であるＣＣ値CC=y2と、受信したＣＣ値をCC.echo=x3として付加し、クライアント１００を指定して送信する。この場合のACK(SYN、data1)は、SYNフラグとdata1を受信したことの応答確認であり、CC.echo=x3はセッションの初めのＳＹＮセグメント（セグメント１０）に対するセグメントであることを確認するためのエコーである。クライアント１００は、セグメント１１によりSYNフラグとデータ２が受信されると共に、ACK（SYN、data1）フラグとCC.echo=x3が返ってきたことから、SYNフラグとdata2を受信したことの応答確認であるACK（SYN、data2）フラグのセグメント１２（ＳＥＧ１２）をサーバ３００へ送信する。このように、Ｔ／ＴＣＰでは３ＷＨを実行することなくデータ授受のトランザクションを実行することができるようになる。なお、初めのＳＹＮセグメントで送られてきたＣＣ値をキャッシュされているＣＣ値と比較することにより、３ＷＨを回避させるメカニズムをＴＡＯ（TCP Accelerated Open）といい、比較することをＴＡＯテストという。すなわち、図９に示すシーケンスではＴＡＯテストは成功している。
【００１２】
次に、例えばクライアント１００にＩＰアドレスが新規に割り当てられる等して、初回のシーケンスを行う場合のＴ／ＴＣＰのシーケンスを図１０に示す。このような初回のシーケンスの際には、クライアント１００はコネクションカウンタのＣＣ値に代えてオプションとして用意されているCC.NEWを送ることができる。すなわち、クライアント１００はSYNフラグ＋データ１（data1）のセグメント１（ＳＥＧ１）のヘッダにCC.NEW=xを付加し、サーバ３００を指定して送信する。サーバ３００のキャッシュにはｘ０がＣＣ値としてキャッシュされているが、セグメント１に付加されているＣＣがCC.NEWとされていることから、キャッシュ内のＣＣ値を無効としてキャッシュ内のＣＣ値と受信したＣＣ値との比較は行わない。また、受信したＣＣ値がCC.NEWとされていることから、セグメント１におけるデータ１はキューに入れられる。次いで、SYNフラグ＋ACK(SYN)を含むセグメント２（ＳＥＧ２）が生成され、そのヘッダにサーバ３００のＣＣ値であるCC=y1とCC.ECHO=xが付加されてクライアント１００へ送信される。
【００１３】
セグメント２を受信したクライアント１００は、ACK(SYN)フラグを確認すると共にCC.ECHO=xが返ってきたことを確認して、送られてきたＣＣ値y1をキャッシュに保管する。次いで、サーバ３００からのＳＹＮに対する応答確認であるACK（SYN）を含むセグメント３（ＳＥＧ３）を生成し、そのヘッダにCC=xを付加してサーバ３００へ送信する。これにより、３ＷＨが行われて接続確立されることから、ACK（SYN）のセグメント３を受信したサーバ３００は、キューに入れていたデータ１をアプリケーションへ送る。さらに、キャッシュにCC=xをキャッシュする。次いで、サーバ３００は、データ１でリクエストされたデータ２（data2）を含むセグメント４（ＳＥＧ４）のヘッダにCC=y2を付加してクライアント１００へ送信する。クライアント１００は、セグメント４によりデータ２が受信されたことから、ACK（data2）フラグを含むセグメント５（ＳＥＧ５）を生成し、そのヘッダにCC=xを付加してサーバ３００へ送信する。このように、Ｔ／ＴＣＰを用いて通信を行う際にＴＡＯテストが成功すれば、図９に示すように初回以降のセッションについては３ＷＨを回避して、Ｔ／ＴＣＰの通信を行えるようになる。
【００１４】
ところで、インターネット上のサーバにおいては、ＴＣＰだけをサポートしておりＴ／ＴＣＰをサポートしていないサーバも多く用いられている。一方、移動通信網のようにリソースの限られている通信網においては上記したＴ／ＴＣＰを用いることが有効である。そこで、移動機とインターネットとの間で通信を行う場合には、Ｔ／ＴＣＰを用いる移動通信網と、ＴＣＰあるいはＴ／ＴＣＰが用いられるインターネット等の通信網との間に通信プロトコルを変換可能なルータ装置を配置することになる。
しかしながら、Ｔ／ＴＣＰを用いても初回のセッションの開始時には３ウェイハンドシェイクを回避することができず、移動通信網のようにリソースの限られている通信網の効率が低下するという問題点があった。特に、移動通信網における移動機においてはルータ装置によりダイナミックにＩＰアドレスが割り当てられることから、ＩＰアドレスが割り当てられてセッションを開始する毎に３ウェイハンドシェイクを実行する必要があり、Ｔ／ＴＣＰを用いても効率的なトランザクション処理を行なうことができないことになる。
【００１５】
そこで、本発明は上記問題点を解決するために、初回のセッション開始時においても３ウェイハンドシェイクを回避することのできるルータ装置を提供することを目的としている。
【００１６】
【課題を解決するための手段】
上記目的を達成するために、本発明のルータ装置は、第１の通信網と第２の通信網との間に配置されると共に、トランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）と、通常のトランスポート制御プロトコル（ＴＣＰ）とをサポートしているルータ装置であって、前記第１の通信網におけるクライアントにダイナミックにＩＰアドレスを割り当てる割当手段と、前記第１の通信網の前記クライアントに前記割当手段から新たなＩＰアドレスが割り当てられた際の初回のセッションにおいて予め定められている初回コネクション・カウント値未満のコネクション・カウント値をデフォルト値としてキャッシュしているキャッシュ手段と、前記第１の通信網の前記クライアントから第１のコネクション・カウント値を含むセッション開始のセグメントを受信した際に、該第１のコネクション・カウント値と前記キャッシュ手段にキャッシュされている第２のコネクション・カウント値とを比較して、前記第１のコネクション・カウント値が前記第２のコネクション・カウント値を超えている際に、前記受信したセグメントが新規のセッションのセグメントと判断する処理手段とを備え、前記第１の通信網の前記クライアントが前記初回のセッションにおいて前記第１のコネクション・カウント値として前記初回コネクション・カウント値を含むセグメントを送信することにより、３ウェイハンドシェイクを行うことなくトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）の接続確立を行えるようにしている。
【００１７】
また、上記本発明のルータ装置において、トランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）と、通常のトランスポート制御プロトコル（ＴＣＰ）とのプロトコル変換を行う変換手段を備え、該変換手段により、前記第１の通信網におけるトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）をサポートしている前記クライアントとの間はトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）で接続することができると共に、前記第２の通信網における通常のトランスポート制御プロトコル（ＴＣＰ）をサポートしているサーバとの間は通常のトランスポート制御プロトコル（ＴＣＰ）で接続することができ、前記クライアントと前記サーバとの間で通信を行う際に、３ウェイハンドシェイクを行うことなく前記クライアントとの間をトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）で接続確立できるようにしてもよい。
さらに、上記本発明のルータ装置において、トランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）と、通常のトランスポート制御プロトコル（ＴＣＰ）とのプロトコル変換を行う変換手段を備え、該変換手段により、前記第１の通信網におけるトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）をサポートしている前記クライアントとの間をトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）で接続することができると共に、前記第２の通信網におけるトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）をサポートしているサーバとの間をトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）で接続することができ、前記クライアントと前記サーバとの間で通信を行う際に、３ウェイハンドシェイクを行うことなく前記クライアントとの間、及び前記サーバとの間をトランザクション型のトランスポート制御プロトコル（Ｔ／ＴＣＰ）により、それぞれ独立して接続確立できるようにしてもよい。
【００１８】
このような本発明によれば、第１の通信網あるいは第２の通信網からの初回のセッションにおいて予め定められている初回コネクション・カウント値に満たないコネクション・カウント値をデフォルト値としてキャッシュしているキャッシュ手段をルータ装置に備えるようにしている。これにより、第１の通信網あるいは第２の通信網からの初回のセッションに通知されるコネクション・カウント値は、ルータ装置にキャッシュされているコネクション・カウント値を超えるようになるので、３ウェイハンドシェイクを回避してＴ／ＴＣＰの接続を行うことができるようになる。これにより、Ｔ／ＴＣＰを用いて効率的なトランザクション処理を行えるようになる。
また、例えば第１の通信網とされる移動通信網における移動機（クライアント）と、例えば第２の通信網とされるインターネットにおけるサーバとを接続する際に、移動機との間をＴ／ＴＣＰで接続すると共にサーバとの間をＴＣＰで接続することができる。この場合においても、移動機との間においては、３ウェイハンドシェイクを回避してＴ／ＴＣＰの接続確立を行うことができるため、移動通信網における無線リソースを有効に使用することができるようになる。
【００１９】
【発明の実施の形態】
本発明の実施の形態のルータ装置を、第１の通信網としての移動通信網と第２の通信網としてのインターネット（The Internet）との間に配置した通信システムの構成例を図１に示す。
図１に示す通信システムは、移動通信網１０と、本発明にかかるＴＣＰルータ４と、インターネット５とを備えて構成されている。移動通信網１０において、携帯電話機である複数の移動機１ａ、１ｂは基地局２のサービスエリアに在圏しており、基地局２との間で無線通信回線を介して通信を行っている。基地局はセル毎に設けられており、その内の基地局２だけが示されている。これらの基地局は上位ノードである交換機３に接続されており、交換機３には基地局２を含む複数の基地局の間の交換を行っている。この移動通信網１０では、伝送速度が比較的低い無線通信回線を含む場合でも高速のデータ転送が可能となるように、トランスポート層の通信プロトコルとして、トランザクション型のトランスポート制御プロトコルであるＴ／ＴＣＰがサポートされている。
【００２０】
本発明にかかるＴＣＰルータ４は、移動通信網１０との間においてデータ送受信を行なう第１のデータ送受信部４ａと、インターネット５との間においてデータ送受信を行なう第２のデータ送受信部４ｃと、通信プロトコル変換を含むデータ処理を行なうデータ処理部４ｂとを備えている。第１のデータ送受信部４ａおよび第２のデータ送受信部４ｃは、ＯＳＩ参照モデルのリンク層における信号処理を行なっている。また、データ処理部４ｂは、移動通信網における移動機とインターネット５におけるWEBサーバ６との間でＴＣＰあるいはＴ／ＴＣＰを用いて通信を行う際のデータ処理を行っている。ところで、ＴＣＰルータ４にはグローバルアドレスが割り当てられており、各移動機にはグローバルアドレスを割り当てることができないため、ＩＰアドレスを要求する移動機にダイナミックにＩＰアドレスを割り当てるＩＰマスカレード機能をデータ処理部４ｂは有している。さらに、データ処理部４ｂは、ＴＣＰとＴ／ＴＣＰとの変換時、および、タイマ制御のためのバッファリング・ウィンドウ機能も有している。このデータ処理部４ｂには、データ記憶部、セグメント生成部及びタイミング制御部が備えられている。データ記憶部は、移動通信網１０及びインターネット５から受信したデータを一時記憶するテンポラリレジスタである。また、セグメント生成部は、移動通信網１０及びインターネット５に向けて送出するＴＣＰあるいはＴ／ＴＣＰのセグメントを生成している。さらに、タイミング制御部は、移動通信網１０及びインターネット５に向けて送信する各セグメントの送信タイミングを制御している。
【００２１】
インターネット５上に位置しているＷＥＢサーバ６は、トランスポート層の通信プロトコルとして、インターネット５で広く用いられている通常のＴＣＰに加えてトランザクション型のＴ／ＴＣＰとをサポートしているが、ＷＥＢサーバによってはＴ／ＴＣＰをサポートしていないサーバも存在している。
ここで、例えば基地局２に在圏する移動機１ａがインターネット５上のＷＥＢサーバ６にアクセスする際に、ＴＣＰルータ４のＩＰマスカレード機能により移動機１ａに新たにＩＰアドレスが割り当てられたとする。このような場合には、ＣＣ値の設定をし直すことから、従来は初回のセッションにおいてはCCオプションとして用意されているCC.NEWを送り、３ウェイハンドシェイクを行うことにより接続確立を行うようにしていた。本発明にかかるＴＣＰルータ４では、このような場合においては、ＴＣＰルータ４のキャッシュに設定される初回のセッションにおけるデフォルトのＣＣ値が、例えば“０”に設定される。そして、クライアントである移動機１ａ、１ｂ・・・・においては初回のセッションにおけるコネクションカウンタのデフォルト値が“１”に設定される。これにより、新たにＩＰアドレスが割り当てられて初回のセッションを行う際にも、３ウェイハンドシェイクを回避してＴ／ＴＣＰ接続することができるようになる。
【００２２】
以下に、例えば基地局２に在圏する新たにＩＰアドレスが割り当てられた移動機１ａが、インターネット５上のＷＥＢサーバ６にＴＣＰルータ４を介してアクセスする際に、３ウェイハンドシェイクを回避することのできるシーケンスを図２に示す。ただし、図２に示すシーケンスは移動機１ａおよびＷＥＢサーバ６とがＴ／ＴＣＰをサポートしているものとされている。
移動機１ａはＴ／ＴＣＰをサポートしていることから、セッションを開始する際に移動機１ａは、ＳＹＮ＋ＦＩＮ＋データ１（data1）からなるセグメント１（ＳＥＧ１）を生成して、そのヘッダに初回のセッション時に設定されるデフォルト値のＣＣ値（CC=1）を付加し、ＷＥＢサーバ６を宛先として送信する。このCC=1が付加されたSYNフラグを含むセグメント１はＴＣＰルータ４により受信され、受信したＴＣＰルータ４は、セグメント１におけるＣＣ値「１」の大きさとキャッシュされているＣＣ値との大きさとを比較する。この場合、ＴＣＰルータ４にキャッシュされている移動機１ａに割り当てられたＩＰアドレスに対応するＣＣ値はデフォルト値の「０」とされていることから、セグメント１に付加されたＣＣ値の値がキャッシュされたＣＣ値を超えてＴＡＯテストは成功し、ＴＣＰルータ４はセグメント１を移動機１ａからの新規のセッションのセグメントと判断する。
【００２３】
そして、ＴＣＰルータ４は、宛先であるＷＥＢサーバ６との間のセッションを開始するように、ＳＹＮ＋ＦＩＮ＋データ１（data1）からなるセグメント１０（ＳＥＧ１０）を生成して、そのヘッダにＣＣ値としてCC=10を付加し、ＷＥＢサーバ６を指定して送信する。付加するＣＣ値は、ＴＣＰルータ４におけるコネクションカウンタの値であり、この場合は「１０」とされている。このＳＹＮフラグを含むセグメント１０はＷＥＢサーバ６により受信され、受信したＷＥＢサーバ６は、セグメント１０におけるＣＣ値「１０」の大きさとキャッシュされているＣＣ値との大きさとを比較する。この場合、ＷＥＢサーバ６にキャッシュされているＴＣＰルータ４におけるＣＣ値が「１０」未満であったとすると、ＴＡＯテストは成功し、ＷＥＢサーバ６はセグメント１０をＴＣＰルータ４からの新規のセッションのセグメントと判断する。
【００２４】
そこで、ＷＥＢサーバ６は受信したデータ１をアプリケーションに送り、データ１でリクエストされたデータ２（data2）を用意して、ＳＹＮ＋ＦＩＮ＋ＡＣＫ（SYN,FIN,data1）＋データ２（data2）からなるセグメント１１（ＳＥＧ１１）を生成して、そのヘッダにＣＣ値としてCC=5とCCecho=10を付加し、移動機１ａを宛先として送信する。付加するＣＣ値は、ＷＥＢサーバ６におけるコネクションカウンタの値であり、この場合は「５」とされている。また、CC.echo=10はCC=10が付加された初回のＳＹＮセグメント（セグメント１０）に対するＳＹＮ，ＡＣＫセグメントであることをＴＣＰルータ４が確認するためのエコーである。なお、ＷＥＢサーバ６はＳＹＮフラグと共にＦＩＮフラグを受信したことから、セッションの終了待ち状態となる。
【００２５】
ＴＣＰルータ４では、セグメント１１にCC.echo=10が付加されていることから、セグメント１１はセグメント１０に対するＳＹＮ，ＡＣＫ（SYN,FIN,data1）セグメントであることが確認される。さらに、セグメント１１によりＦＩＮフラグとデータ２が受信されることから、ＳＹＮ＋ＦＩＮ＋ＡＣＫ（SYN,FIN,data1）＋データ２（data2）からなるセグメント２（ＳＥＧ２）を生成して、そのヘッダにＣＣ値としてCC=5とCCecho=1を付加し、移動機１ａに送信する。CC.echo=1はCC=1が付加された初回のＳＹＮセグメント（セグメント１）に対するＳＹＮ，ＡＣＫセグメントであることを移動機１ａが確認するためのエコーである。移動機１ａでは、セグメント２を受信することによりＳＹＮフラグ、ＦＩＮフラグとデータ２が受信されると共に、ACK（SYN,FIN,data1）フラグとCC.echo=1が返ってきたことから、データ２をアプリケーションへ供給する。次いで、ＦＩＮフラグとデータ２（data2）を受信したことの応答確認であるACK（FIN、data2）セグメント３（ＳＥＧ３）を生成して、そのヘッダにＣＣ値としてCC=1を付加してＷＥＢサーバ６を宛先として送信する。また、ＦＩＮフラグを受信したことから、セグメント１においてＦＩＮフラグを送信して終了待ちとなっていたセッションを終了させる。
【００２６】
ＴＣＰルータ４は、移動機１ａからＣＣ値がCC=1とされたACK（FIN、data2）セグメント３を受信すると、移動機１ａとのセッションを終了させると共に、ＦＩＮフラグとデータ２（data2）を受信したことの応答確認であるACK（FIN、data2）セグメント１２（ＳＥＧ１２）を生成して、そのヘッダにＣＣ値としてCC=10を付加して、ＷＥＢサーバ６へ送信する。ＷＥＢサーバ６は、ＴＣＰルータ４からＣＣ値がCC=10とされたACK（FIN、data2）セグメント１２を受信すると、終了待ち状態とされていたセッションを終了させる。
このように、初回のセッションにおけるＣＣ値を予め定めておくことにより、Ｔ／ＴＣＰを用いて初回のセッションを開く際にも３ウェイハンドシェイクを実行することなく、データ授受のトランザクションを実行することができるようになる。この場合、本発明のＴＣＰルータ４を移動通信網１０とインターネット５との間に設けていると、上述したように移動通信網１０とＴＣＰルータ４とのセッションと、ＴＣＰルータ４とインターネット５とのセッションはそれぞれ独立したセッションとなることから、それぞれのセッションにおいて３ウェイハンドシェイクを回避することができる。
【００２７】
次に、例えば基地局２に在圏する移動機１ａが、インターネット５上のＷＥＢサーバ６にＴＣＰルータ４を介してアクセスする際に、ＷＥＢサーバ６においてＴＡＯテストが失敗した際のシーケンスを図３に示す。ただし、図３に示すシーケンスは移動機１ａおよびＷＥＢサーバ６とがＴ／ＴＣＰをサポートしているものとされている。
図３に示すシーケンスにおいて、移動機１ａはＴ／ＴＣＰをサポートしていることから、セッションを開始する際に移動機１ａは、ＳＹＮ＋ＦＩＮ＋データ１（data1）からなるセグメント１（ＳＥＧ１）を生成して、そのヘッダにＣＣ値としてCC=1を付加し、ＷＥＢサーバ６を宛先として送信する。このSYNフラグを含むセグメント１はＴＣＰルータ４により受信され、受信したＴＣＰルータ４は、セグメント１におけるＣＣ値「１」の大きさとキャッシュされているＣＣ値との大きさとを比較する。この場合、ＴＣＰルータ４にキャッシュされている移動機１ａに割り当てられたＩＰアドレスに対応するＣＣ値が「０」とされていると、ＴＣＰルータ４におけるＴＡＯテストは成功し、ＴＣＰルータ４はセグメント１を移動機１ａからの新規のシーケンスのセグメントと判断する。
【００２８】
そして、ＴＣＰルータ４は、宛先であるＷＥＢサーバ６との間のセッションを開始するように、ＳＹＮ＋ＦＩＮ＋データ１（data1）からなるセグメント１０（ＳＥＧ１０）を生成して、そのヘッダにＣＣ値としてCC=10を付加し、ＷＥＢサーバ６を指定して送信する。このＳＹＮフラグを含むセグメント１０はＷＥＢサーバ６により受信され、受信したＷＥＢサーバ６は、セグメント１０におけるＣＣ値「１０」の大きさとキャッシュされているＣＣ値との大きさとを比較することによりＴＡＯテストを行う。この場合、ＷＥＢサーバ６にキャッシュされているＴＣＰルータ４におけるＣＣ値が「１１」以上であったとすると、ＴＡＯテストは失敗し、Ｔ／ＴＣＰに代えてＴＣＰで接続するように３ウェイハンドシェイクが実行されるようになる。
【００２９】
そこで、ＷＥＢサーバ６は、ＳＹＮ＋ＡＣＫ（SYN）からなるセグメント１１（ＳＥＧ１１）を生成して、移動機１ａを宛先として送信する。セグメント１１を受信したＴＣＰルータ４は、このＳＹＮ＋ＡＣＫ（SYN，data1）セグメントをセグメント２として、そのヘッダにＣＣ値としてCC=11とCCecho=1を付加して移動機１ａに送信する。移動機１ａはセグメント２を受信すると、CC.echo=1が付加されていることから、セグメント２はセグメント１に対するＳＹＮ，ＡＣＫ（SYN,data1）セグメントであることを確認する。そして、ＡＣＫ（FIN）が返らなかったことから再送するＦＩＮフラグを含むＦＩＮ＋ＡＣＫ（SYN）からなるセグメント３（ＳＥＧ３）を生成して、そのヘッダにＣＣ値としてCC=1を付加し、ＷＥＢサーバ６を宛先として送信する。このＡＣＫセグメント３をＴＣＰルータ４が受信することにより、移動機１ａとＴＣＰルータ４間において３ウェイハンドシェイクが行われてＴ／ＴＣＰ接続されることになる。
【００３０】
ＴＣＰルータ４は、セグメント３を受信すると、セグメント３に基づいて再送するＦＩＮフラグとキューイングされていたデータ１（data1）を含むＦＩＮ＋ＡＣＫ（SYN）＋データ１（data1）からなるセグメント１２（ＳＥＧ１２）を生成して、ＷＥＢサーバ６へ送信する。なお、ＴＣＰルータ４はＦＩＮフラグを受信しており、移動機１ａ間のセッションの終了待ち状態となる。このセグメント１２をＷＥＢサーバ６が受信することにより、ＴＣＰルータ４とＷＥＢサーバ６間において３ウェイハンドシェイクが行われて、ＴＣＰ接続されるようになる。これにより、データ１がアプリケーションに送られて、データ１でリクエストされたデータ２（data2）が用意される。そこで、ＷＥＢサーバ６は、ＦＩＮ＋ＡＣＫ（FIN、data1）＋データ２（data2）からなるセグメント１３（ＳＥＧ１３）を作成し、ＴＣＰルータ４へ送信する。なお、ＷＥＢサーバ６はＦＩＮフラグを受信しており、ＴＣＰルータ４間のセッションの終了待ち状態となる。
【００３１】
ＴＣＰルータ４は、受信したセグメント１３に基づいてＦＩＮ＋ＡＣＫ（FIN、data1）＋データ２（data2）からなるセグメント４（ＳＥＧ４）を作成し、そのヘッダにCC=11のＣＣ値を付加して移動機１ａへ送信する。移動機１ａはセグメント４を受信すると、ＦＩＮフラグとデータ２（data2）を受信したことの応答確認であるACK（FIN、data2）セグメント５（ＳＥＧ５）を生成して、そのヘッダにＣＣ値としてCC=1を付加して、ＷＥＢサーバ６を宛先として送信する。さらに、ＦＩＮフラグとACK（FIN）とを受信したことから、セッションを終了させる。セグメント５を受信したＴＣＰルータ４は、ACK（FIN、data2）セグメント１４（ＳＥＧ１４）を生成して、ＷＥＢサーバ６へ送信する。これにより、ＴＣＰルータ４は移動機１ａおよびＷＥＢサーバ６とのセッションをクローズする。さらに、セグメント１４を受信したＷＥＢサーバ６は、終了待ちしていたセッションをクローズする。
【００３２】
次に、例えば基地局２に在圏する移動機１ａが、インターネット５上のＷＥＢサーバ６にＴＣＰルータ４を介してアクセスする際に、ＷＥＢサーバ６がＴ／ＴＣＰをサポートしていない場合のシーケンスを図４に示す。ただし、図４に示すシーケンスは、ＴＣＰルータ４においてＴＡＯテストが成功しているシーケンスとされている。
図４に示すシーケンスにおいて、移動機１ａはＴ／ＴＣＰをサポートしていることから、セッションを開始する際に移動機１ａは、ＳＹＮ＋ＦＩＮ＋データ１（data1）からなるセグメント１（ＳＥＧ１）を生成して、そのヘッダにＣＣ値としてCC=1を付加し、ＷＥＢサーバ６を宛先として送信する。このSYNフラグを含むセグメント１はＴＣＰルータ４により受信され、受信したＴＣＰルータ４は、セグメント１におけるＣＣ値「１」の大きさとキャッシュされているＣＣ値との大きさとを比較する。この場合、ＴＣＰルータ４にキャッシュされている移動機１ａに割り当てられたＩＰアドレスに対応するＣＣ値が「０」とされていると、ＴＣＰルータ４におけるＴＡＯテストは成功し、ＴＣＰルータ４はセグメント１を移動機１ａからの新規のシーケンスのセグメントと判断する。
【００３３】
そして、ＴＣＰルータ４は、宛先であるＷＥＢサーバ６との間のセッションを開始するように、ＳＹＮ＋ＦＩＮ＋データ１（data1）からなるセグメント１０（ＳＥＧ１０）を生成して、そのヘッダにＣＣ値としてCC=10を付加し、ＷＥＢサーバ６を宛先として送信する。このＳＹＮフラグを含むセグメント１０はＷＥＢサーバ６により受信されるが、受信したＷＥＢサーバ６は、Ｔ／ＴＣＰをサポートしていないことからＣＣ値およびデータ１（data1）は破棄される。そして、セグメント１０に基づいてＳＹＮ＋ＡＣＫ（SYN）からなるセグメント１１（ＳＥＧ１１）が生成されて、移動機１ａを宛先として送信される。
【００３４】
このセグメント１１を受信したＴＣＰルータ４は、ＳＹＮフラグに対する応答確認であるこのＡＣＫ（SYN）セグメント１２を生成して、ＷＥＢサーバ６へ送信する。これにより、３ウェイハンドシェイクが行われＴＣＰルータ４とＷＥＢサーバ６との間がＴＣＰにより接続されるようになる。そこで、ＴＣＰルータ４は、キューイングしていたデータ１（data1）をセグメント１３によりＷＥＢサーバ６へ再送する。このセグメント１３を受信したＷＥＢサーバ６においては、データ１がアプリケーションに送られて、データ１でリクエストされたデータ２（data2）・・・が用意される。そこで、ＷＥＢサーバ６は、データ２（data2）からなるセグメント１４（ＳＥＧ１４）を作成し、ＴＣＰルータ４へ送信する。ＷＥＢサーバ６は、送るデータが終了するとＦＩＮセグメント１５を作成してＴＣＰルータ４へ送信する。
【００３５】
ＴＣＰルータ４がＦＩＮセグメント１５を受信すると、セグメント１１およびセグメント１５に基づくと共にセグメント１４で受信したデータ２（data2）を含むＳＹＮ＋ＦＩＮ＋ＡＣＫ（SYN，FIN，data1）＋データ（data2）からなるセグメントを作成する。そして、そのヘッダにＣＣ値としてCC=11とCCecho=1を付加して移動機１ａに送信する。移動機１ａはセグメント２を受信すると、CC.echo=1が付加されていることから、セグメント２がセグメント１に対するＳＹＮ，ＡＣＫセグメントであることが確認される。そして、ＳＹＮフラグ、ＦＩＮフラグおよびデータ２を受信したことの応答確認であるＡＣＫ（SYN，FIN，data2）からなるセグメント３（ＳＥＧ３）を生成して、そのヘッダにＣＣ値としてCC=1を付加し、ＷＥＢサーバ６を宛先として送信する。なお、移動機１ａは、ACK（FIN）とＦＩＮフラグとを受信したことから、セッションを終了させる。
【００３６】
ＴＣＰルータ４は、セグメント３を受信すると、セグメント３に基づいてＡＣＫ（FIN，data2）からなるセグメント１６（ＳＥＧ１６）を生成して、ＷＥＢサーバ６へ送信する。これにより、ＴＣＰルータ４は移動機１ａおよびＷＥＢサーバ６とのセッションをクローズする。さらに、セグメント１６を受信したＷＥＢサーバ６もセッションをクローズする。
このように、ＷＥＢサーバ６がＴ／ＴＣＰをサポートしていない場合であっても、移動機１ａとＴＣＰルータ４間を３ウェイハンドシェイクを回避してＴ／ＴＣＰにより接続することができる。従って、ＷＥＢサーバ６がＴ／ＴＣＰをサポートしていない場合であっても、移動通信網１０の無線リソースを有効に使用することができるようになる。
【００３７】
次に、例えば基地局２に在圏する移動機１ａが、インターネット５上のＷＥＢサーバ６にＴＣＰルータ４を介してアクセスした際に、ＷＥＢサーバ６がＴ／ＴＣＰをサポートしていないと共に、タイムアウトした場合のシーケンスを図５に示す。
図５に示すシーケンスは、セグメント１を受信したＴＣＰルータ４においてタイマセットされる点を除いて図４に示すセグメント１３までのシーケンスと同様とされるので、その説明は省略する。ＴＣＰルータ４から再送されたデータ１（data1）からなるセグメント１３を受信したＷＥＢサーバ６では、データ１がアプリケーションに送られて、データ１でリクエストされたデータ２（data2）が用意される。しかし、データ２の用意に時間がかかりその間に図示するようにタイムアウトしたものとする。
【００３８】
この場合、ＴＣＰルータ４は、ＳＹＮ＋ＡＣＫ（SYN，FIN，data1）からなるセグメント２（ＳＥＧ２）を作成して、そのヘッダにＣＣ値としてCC=11とCCecho=1を付加して移動機１ａに送信する。移動機１ａはセグメント２を受信すると、CC.echo=1が付加されていることから、セグメント２はセグメント１に対するＳＹＮ，ＡＣＫセグメントであることを確認する。そして、ＳＹＮフラグを受信したことの応答確認であるＡＣＫ（SYN）からなるセグメント３（ＳＥＧ３）を生成して、そのヘッダにＣＣ値としてCC=1を付加し、ＷＥＢサーバ６を宛先として送信する。ここで、データ１でリクエストされたデータ２（data2）が用意されたとすると、ＷＥＢサーバ６はデータ２（data2）からなるセグメント１４（ＳＥＧ１４）を作成し、ＴＣＰルータ４へ送信する。ＴＣＰルータ４がセグメント１４を受信すると、セグメント１４で受信したデータ２（data2）からなるセグメント４（ＳＥＧ４）を作成して、そのヘッダにＣＣ値としてCC=1を付加して移動機１ａに送信する。
【００３９】
この場合、ＴＣＰルータ４におけるインターネット側のタイムアウト時間は、移動通信網１０側のタイムアウト時間より短くされている。これにより、図５に示すように移動機１ａにおいてＡＣＫが返らないことからセグメントの再送を行う前に、移動機１ａはＳＹＮ＋ＡＣＫセグメントを受信することができるようになる。このため、移動通信網１０においては再送による無線リソースの浪費を防止することができるようになる。
【００４０】
次に、例えば基地局２に在圏する移動機１ａが、インターネット５上のＷＥＢサーバ６にＴＣＰルータ４を介してアクセスした際に、伝送するデータが複数のセグメントにまたがる場合のシーケンスを図６に示す。ただし、図６に示すシーケンスは、ＷＥＢサーバ６がＴ／ＴＣＰをサポートしていない場合のシーケンスとされている。
図６に示すシーケンスにおいて、移動機１ａはＴ／ＴＣＰをサポートしており、伝送するデータが１セグメントで伝送可能なデータ量を超えていることから、セッションを開始する際に移動機１ａは、最初にＳＹＮ＋データ１（data1）からなるセグメント１（ＳＥＧ１）を生成して、そのヘッダにＣＣ値としてCC=1を付加し、ＷＥＢサーバ６を宛先として送信する。次いで、残るデータ２（data2）＋ＦＩＮからなるセグメント２（ＳＥＧ２）を生成して、そのヘッダにＣＣ値としてCC=1を付加し、ＷＥＢサーバ６を宛先として送信する。これらのセグメント１およびセグメント２はＴＣＰルータ４により受信され、受信したＴＣＰルータ４はＴＡＯテストを行う。ここでは、ＴＡＯテストは成功したものとし、ＴＣＰルータ４はＳＹＮフラグを含むセグメント１を移動機１ａからの新規のセッションのセグメントと判断する。
【００４１】
そして、ＴＣＰルータ４は、宛先であるＷＥＢサーバ６との間のセッションを開始するように、ＳＹＮ＋データ１（data1）からなるセグメント１０（ＳＥＧ１０）を生成して、そのヘッダにＣＣ値としてCC=10を付加し、ＷＥＢサーバ６を宛先として送信する。このＳＹＮフラグを含むセグメント１０はＷＥＢサーバ６により受信されるが、受信したＷＥＢサーバ６においては、Ｔ／ＴＣＰをサポートしていないことからＣＣ値およびデータ１（data1）は破棄される。そして、セグメント１０に基づいてＳＹＮ＋ＡＣＫ（SYN）からなるセグメント１１（ＳＥＧ１１）が生成されて、移動機１ａを宛先として送信される。
【００４２】
このセグメント１１を受信したＴＣＰルータ４は、ＳＹＮフラグに対する応答確認であるＡＣＫ（SYN）セグメント１２を生成して、ＷＥＢサーバ６へ送信する。これにより、３ウェイハンドシェイクによるＴＣＰ接続確立が行われＴＣＰルータ４とＷＥＢサーバ６との間がＴＣＰにより接続されるようになる。そこで、ＴＣＰルータ４は、キューイングしていたデータ１（data1）をセグメント１３（ＳＥＧ１３）によりＷＥＢサーバ６へ再送する。続いて、キューイングしていたデータ２（data2）とＦＩＮフラグからなるセグメント１４（ＳＥＧ１４）を生成して、ＷＥＢサーバ６へ送信する。このセグメント１３およびセグメント１４を受信したＷＥＢサーバ６においては、データ１およびデータ２がアプリケーションに送られて、データ１およびデータ２でリクエストされたデータ３（data3）およびデータ４（data4）が用意される。そこで、まずＷＥＢサーバ６は、データ３（data3）およびデータ１，データ２およびＦＩＮフラグに対する応答確認であるＡＣＫ（data1，data2，FIN）からなるセグメント１５（ＳＥＧ１５）を作成し、ＴＣＰルータ４へ送信する。
【００４３】
ＴＣＰルータ４がＦＩＮセグメント１５を受信すると、セグメント１１およびセグメント１５に基づくと共にセグメント１５で受信したデータ３（data3）を含むＳＹＮ＋ＡＣＫ（SYN，FIN，data1，data2）＋データ３（data3）からなるセグメントを作成する。そして、そのヘッダにＣＣ値としてCC=11とCCecho=1を付加して移動機１ａに送信する。続いて、ＷＥＢサーバ６は、データ４（data4）と終了を示すＦＩＮフラグからなるセグメント１６（ＳＥＧ１６）を作成し、ＴＣＰルータ４へ送信する。セグメント１６を受信したＴＣＰルータ４は、受信したデータ４（data4）とＦＩＮフラグからなるセグメント４（ＳＥＧ４）を作成して、そのヘッダにＣＣ値としてCC=1を付加して移動機１ａに送信する。
【００４４】
移動機１ａはセグメント３を受信すると、CC.echo=1が付加されていることから、セグメント３がセグメント１に対するＳＹＮ，ＡＣＫセグメントであることが確認される。そして、セグメント３およびセグメント４で受信したＳＹＮフラグ、ＦＩＮフラグおよびデータ３，データ４の応答確認であるＡＣＫ（SYN，data3，data4，FIN）からなるセグメント５（ＳＥＧ５）を生成して、そのヘッダにＣＣ値としてCC=1を付加し、ＷＥＢサーバ６を宛先として送信する。なお、移動機１ａは、ACK（FIN）とＦＩＮフラグとを受信したことから、セッションを終了させる。ＴＣＰルータ４は、セグメント５を受信すると、セグメント５に基づいてＡＣＫ（data3，data4，FIN）からなるセグメント１７（ＳＥＧ１７）を生成して、ＷＥＢサーバ６へ送信する。これにより、ＴＣＰルータ４は移動機１ａおよびＷＥＢサーバ６とのセッションをクローズする。さらに、セグメント１７を受信したＷＥＢサーバ６もセッションをクローズする。
【００４５】
このように、データが複数セグメントにわたる場合であっても、移動機１ａとＴＣＰルータ４間は３ウェイハンドシェイクを回避したＴ／ＴＣＰにより、少ないセグメントにより複数セグメントにわたるデータの授受を行うことができる。従って、データが複数セグメントにわたる場合であっても、移動通信網１０の無線リソースを有効に活用することができるようになる。
【００４６】
次に、ＴＣＰルータ４におけるバッファリング・ウィンドウ機能について図７を参照して説明する。
図７には、移動機１ａとＴＣＰルータ４との間において３つのセッションが同時に行われている場合のバッファ構成が示されている。この場合、ＴＣＰルータ４においては、セッション毎にバッファ１４ａ，１４ｂ，１４ｃが用意される。この３つのバッファ１４ａ，１４ｂ，１４ｃのサイズはそれぞれ８ｋバイト（8kByte）とされる。また、交換機３において移動機１ａに用意されるバッファ１３ａのサイズは８ｋバイト（8kByte）とされる。さらに、移動機１ａにおいては、セッション毎にバッファ１１ａ，１１ｂ，１１ｃが用意され、その３つのバッファ１１ａ，１１ｂ，１１ｃのサイズはそれぞれ８ｋバイト（8kByte）とされる。
【００４７】
このように、交換機３においてはセッション毎のバッファが用意されないため、交換機３のウィンドウサイズに応じてＴＣＰルータ４は、３つのセッションのデータを交換機３に送っている。例えば、セッション１におけるバッファ１４ａに格納されているデータは、８ｋバイトの内の２ｋバイトを交換機３に送り、セッション２におけるバッファ１４ｂに格納されているデータは、８ｋバイトの内の２ｋバイトを交換機３に送り、セッション３におけるバッファ１４ｃに格納されているデータは、８ｋバイトの内の４ｋバイトを交換機３に送るようにバッファ制御している。このように、ＴＣＰルータ４は交換機３におけるバッファ１３ａのウィンドウサイズに応じて、バッファリングされているデータの量を制御して送信している。これにより、交換機３のバッファサイズが１６ｋバイトや３２ｋバイトになった際にも対応させることができるようになる。なお、交換機３におけるバッファ１３ａに格納された３つのセッションのデータは移動機１ａに送られて、セッション毎のバッファ１１ａ，１１ｂ，１１ｃにそれぞれ格納される。
【００４８】
【発明の効果】
本発明は以上のように、第１の通信網あるいは第２の通信網からの初回のセッションにおいて予め定められている初回コネクション・カウント値に満たないコネクション・カウント値をデフォルト値としてキャッシュしているキャッシュ手段をルータ装置に備えるようにしている。これにより、第１の通信網あるいは第２の通信網からの初回のセッションに通知されるコネクション・カウント値は、ルータ装置にキャッシュされているコネクション・カウント値を超えるようになるので、３ウェイハンドシェイクを回避してＴ／ＴＣＰの接続を行うことができるようになる。これにより、Ｔ／ＴＣＰを用いて効率的なトランザクション処理を行えるようになる。
また、例えば第１の通信網とされる移動通信網における移動機（クライアント）と、例えば第２の通信網とされるインターネットにおけるサーバとを接続する際に、移動機との間をＴ／ＴＣＰで接続すると共にサーバとの間をＴＣＰで接続することができる。この場合においても、移動機との間においては、３ウェイハンドシェイクを回避してＴ／ＴＣＰの接続確立を行うことができるため、移動通信網における無線リソースを有効に使用することができるようになる。
【図面の簡単な説明】
【図１】本発明の実施の形態のルータ装置を、第１の通信網としての移動通信網と第２の通信網としてのインターネットとの間に配置した通信システムの構成例を示す図である。
【図２】本発明の実施の形態のルータ装置において、３ウェイハンドシェイクを回避することのできるシーケンス図である。
【図３】本発明の実施の形態のルータ装置において、ＴＡＯテストが失敗した場合のシーケンス図である。
【図４】本発明の実施の形態のルータ装置において、ＷＥＢサーバがＴ／ＴＣＰをサポートしていない場合のシーケンス図である。
【図５】本発明の実施の形態のルータ装置において、タイムアウトした場合のシーケンス図である。
【図６】本発明の実施の形態のルータ装置において、伝送するデータが複数のセグメントにまたがる場合のシーケンス図である。
【図７】本発明の実施の形態のルータ装置におけるバッファリング・ウィンドウ機能を説明するための図である。
【図８】ＴＣＰのシーケンス図である。
【図９】３ウェイハンドシェイクを回避することのできるＴ／ＴＣＰのシーケンス図である。
【図１０】初回のセッションにおけるＴ／ＴＣＰのシーケンス図である。
【符号の説明】
１ａ，１ｂ  移動機、２  基地局、３  交換機、４  ＴＣＰルータ、４ａ  データ送受信部、４ｂ  データ処理部、４ｃ  データ送受信部、５  インターネット、６  ＷＥＢサーバ、１０  移動通信網、１１ａ，１１ｂ，１１ｃ  バッファ、１３ａ  バッファ、１４ａ，１４ｂ，１４ｃ  バッファ、１００  クライアント、１００  クライント、２００  サーバ、３００  サーバ
【図１】
0003867896.tif 000002
【図２】
0003867896.tif 000003
【図３】
0003867896.tif 000004
【図４】
0003867896.tif 000005
【図５】
0003867896.tif 000006
【図６】
0003867896.tif 000007
【図７】
0003867896.tif 000008
【図８】
0003867896.tif 000009
【図９】
0003867896.tif 000010
【図１０】
0003867896.tif 000011