JP3867896B2 - Router device - Google Patents
Router device Download PDFInfo
- Publication number
- JP3867896B2 JP3867896B2 JP2001346918A JP2001346918A JP3867896B2 JP 3867896 B2 JP3867896 B2 JP 3867896B2 JP 2001346918 A JP2001346918 A JP 2001346918A JP 2001346918 A JP2001346918 A JP 2001346918A JP 3867896 B2 JP3867896 B2 JP 3867896B2
- Authority
- JP
- Japan
- Prior art keywords
- tcp
- segment
- control protocol
- data
- transport control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、第1の通信網と第2の通信網との間に配置されると共に、トランザクション型のトランスポート制御プロトコル(T/TCP)の初回セッションにおいても3ウェイハンドシェイクを回避する機能と、通常のトランスポート制御プロトコル(TCP)とをサポートしているルータ装置に関するものである。
【0002】
【従来の技術】
従来、通信網における通信に用いるネットワーク・プロトコルとして、トランスポート制御プロトコル(以下、「TCP(Transport Control Protocol)」という)が知られている。このTCPは、OSI参照モデルの第4層のトランスポート層に位置し、再送信、パケットの順番制御およびフロー制御などの機能を有するプロトコルであり、インターネットにおける通信の標準的なプロトコルとして用いられている。また、このTCPは、携帯電話などの移動情報端末から移動通信網を介してインターネットへ接続して通信するときにも使用されている。
【0003】
ネットワーク上に位置しているクライアント100とサーバ200との間において、データの授受を1度ずつ行うときのTCPのシーケンスの一例を図8に示す。
TCPを用いてデータの授受を行う際には、まずクライアント100とサーバ200とを接続する接続確立処理が行われる。TCPの接続確立処理では、まずアクティブオープンを実行するクライアント100からパッシブオープンを実行するサーバ200へ、サーバ200を指定したSYNフラグを含むセグメント(SEG1:セグメント1)が送出される。ここで、「セグメント」とは、TCPが下位のネットワーク層との授受を行なう際の単位である。また、「SYNフラグ」とはセグメント内に設けられた複数の制御フラグのうち、シーケンス番号の同期をとるためのSYN(Synchronize)フラグであり、ここに「1」がセットされることによりSYNフラグが送られるようになる。
【0004】
サーバ200は、上記SYNフラグを含むセグメント(以下、「SYNセグメント」という)を受信したことにより、SYNに対する確認応答であるACK(SYN)を返す。さらに、サーバ200側からのシーケンス番号の同期をとるためのSYNフラグを送出する。すなわち、サーバ200の初期シーケンス番号を含む(SYN+ACK)セグメント(SEG2:セグメント2)を生成して、サーバ200はクライント100に返す。クライアント100は、サーバ200から送信されてきたセグメント2におけるSYNに対する確認応答であるACK(SYN)をセグメント3(SEG3)で返す。これにより、クライアント100とサーバ200との間においてTCPの接続が確立することになる。このように、3つのセグメントの授受により接続確立を行うことから、このような接続確立処理は3ウェイハンドシェイク(3WH)による接続確立処理と呼ばれる。
【0005】
このようにして接続確立されるとデータの授受が可能となり、クライアント100は、例えばデータをリクエストするdataセグメント(SEG4:セグメント4)をサーバ200へ送る。このdataセグメントを受信したサーバ200は、データを受信した確認応答であるACK(data)セグメント(SEG5:セグメント5)をクライアント100へ返す。そして、サーバ200はリクエストされたデータ(data)をdataセグメント(SEG6:セグメント6)によりクライアント100へ送る。クライアント100は、リプライされたデータを受信した確認応答であるACK(data)セグメント(SEG7:セグメント7)をサーバ200へ返す。
【0006】
これにより、データの授受が終了すると、次にTCPの接続終了処理が行われる。TCPの接続終了処理では、まずアクティブクローズを実行するクライアント100からパッシブクローズを実行するサーバ200へ、FINセグメント(SEG8:セグメント8)が送信される。ここで、上記「FINセグメント」は、送信者がデータの送信が終了したことを知らせるセグメントであり、FIN(Finish)フラグに「1」がセットされている。サーバ200はFINセグメント(SEG8)を受信すると、FINに対する確認応答であるACK(FIN)セグメントを返す。さらに、サーバ200からクライアント100への通信を終了させるためのFINフラグを送出する。すなわち、サーバ200は(FIN+ACK)セグメント(SEG9:セグメント9)を、クライント100に返す。クライアント100は(FIN+ACK)セグメント(SEG9)を受信すると、FINに対する確認応答であるACK(FIN)セグメント(SEG10:セグメント10)をサーバ200へ返す。これにより、サーバ200とクライアント100との間のTCP接続はクローズされる。
【0007】
上記したように、接続確立処理および接続終了処理においてクライアント100側およびサーバ200側において、それぞれSYNフラグやFINフラグを送信して接続あるいは終了しているのは、TCPが上りと下りの全2重信であり、上りと下りの通信路のオープンあるいはクローズがそれぞれ必要とされるからである。このように、転送対象データの伝送の前後で接続確立処理および接続終了処理をそれぞれ実行すると共に確認応答をすることにより、TCPにおいては信頼性のあるデータ伝送を行なえるようにしている。
【0008】
【発明が解決しようとする課題】
ところで、TCPを用いた通信を行う場合、図8に示すようにデータ伝送前後の接続開始処理および接続終了処理において、合計6つのセグメントの送受信が必要となり、一度ずつのデータの授受を行う場合であっても10個のセグメントの送受信が必要となる。このため、クライアント100からの要求に対してサーバ200が応答するというような一連の処理からなる処理単位であるトランザクション処理を行う場合は、接続確立処理および接続終了処理のオーバーヘッドが発生し、トランザクション処理の速度が低下してしまうという問題があった。特に、携帯電話通信網のような移動通信網の場合は無線系の伝送路が介在し、高速のデータ伝送速度を確保することが難しいため、より効率的なトランザクション処理を行なうことができるトランスポート層のプロトコルが望まれていた。
【0009】
そこで、接続確立処理および接続終了処理のオーバーヘッドの発生を回避し、効率的なトランザクション処理を行なうことができるトランスポート層を提供するために、トランザクション型のトランスポート制御プロトコル(以下「T/TCP」という。)を用いることが考えられる。このT/TCPは、RFC(Request For Comment)1379、1644に定義が記述されているプロトコルである。
T/TCPでは、初回の接続を行う際には3ウェイハンドシェイク(3WH)のネゴシエーションを行って接続確立を行う。この場合、T/TCPでは接続されたセッションをCC(コネクション・カウント)値という値で管理している。このため、次のセッション開始時に保持しているCC値を送ることにより、3WHを回避して接続確立を行うことができるようになる。これは古いセッションかどうかの判別に使用される。例えば、クライアントが送ったSYNセグメントのCC値が、サーバにキャッシュされているCC値を超えた場合は、サーバは新規のセッションと判断して3WHを行うことなく接続するようにする。なお、送信側が送るCC値はセッションが開始される際にインクリメントされ、サーバにはクライアントから送られたクライアント毎の最後のCC値がキャッシュされている。
【0010】
T/TCPのシーケンスの例を図9に示す。図9に示すシーケンスにおいて、クライアント100のキャッシュCC[B]にはy1がCC値としてキャッシュされており、サーバ300のキャッシュCC[A]にはx2がCC値としてキャッシュされているものとする。シーケンスを開始する際にクライアント100は、SYNフラグ+データ1(data1)のセグメント10(SEG10)のヘッダにCC値としてCC=x3を付加し、サーバ300を指定して送信する。付加するCC値は、セッションが開始される際にインクリメントされるコネクションカウンタの値とされる。このSYNフラグを含むセグメント10を受信したサーバ300は、セグメント10におけるCC値x3の大きさとキャッシュCC[A]にキャッシュされているCC値x2との大きさを比較する。この場合、x3>x2であったとするとサーバ300はクライアント100との新規のシーケンスのセグメントと判断する。そして、サーバ300は受信したデータ1でリクエストされたデータ2(data2)を用意する。
【0011】
次いで、サーバ300は、SYNフラグ+ACK(SYN、data1)フラグ+データ2(data2)のセグメント11(SEG11)を生成し、そのヘッダにCC値としてサーバ300におけるコネクションカウンタの値であるCC値CC=y2と、受信したCC値をCC.echo=x3として付加し、クライアント100を指定して送信する。この場合のACK(SYN、data1)は、SYNフラグとdata1を受信したことの応答確認であり、CC.echo=x3はセッションの初めのSYNセグメント(セグメント10)に対するセグメントであることを確認するためのエコーである。クライアント100は、セグメント11によりSYNフラグとデータ2が受信されると共に、ACK(SYN、data1)フラグとCC.echo=x3が返ってきたことから、SYNフラグとdata2を受信したことの応答確認であるACK(SYN、data2)フラグのセグメント12(SEG12)をサーバ300へ送信する。このように、T/TCPでは3WHを実行することなくデータ授受のトランザクションを実行することができるようになる。なお、初めのSYNセグメントで送られてきたCC値をキャッシュされているCC値と比較することにより、3WHを回避させるメカニズムをTAO(TCP Accelerated Open)といい、比較することをTAOテストという。すなわち、図9に示すシーケンスではTAOテストは成功している。
【0012】
次に、例えばクライアント100にIPアドレスが新規に割り当てられる等して、初回のシーケンスを行う場合のT/TCPのシーケンスを図10に示す。このような初回のシーケンスの際には、クライアント100はコネクションカウンタのCC値に代えてオプションとして用意されているCC.NEWを送ることができる。すなわち、クライアント100はSYNフラグ+データ1(data1)のセグメント1(SEG1)のヘッダにCC.NEW=xを付加し、サーバ300を指定して送信する。サーバ300のキャッシュにはx0がCC値としてキャッシュされているが、セグメント1に付加されているCCがCC.NEWとされていることから、キャッシュ内のCC値を無効としてキャッシュ内のCC値と受信したCC値との比較は行わない。また、受信したCC値がCC.NEWとされていることから、セグメント1におけるデータ1はキューに入れられる。次いで、SYNフラグ+ACK(SYN)を含むセグメント2(SEG2)が生成され、そのヘッダにサーバ300のCC値であるCC=y1とCC.ECHO=xが付加されてクライアント100へ送信される。
【0013】
セグメント2を受信したクライアント100は、ACK(SYN)フラグを確認すると共にCC.ECHO=xが返ってきたことを確認して、送られてきたCC値y1をキャッシュに保管する。次いで、サーバ300からのSYNに対する応答確認であるACK(SYN)を含むセグメント3(SEG3)を生成し、そのヘッダにCC=xを付加してサーバ300へ送信する。これにより、3WHが行われて接続確立されることから、ACK(SYN)のセグメント3を受信したサーバ300は、キューに入れていたデータ1をアプリケーションへ送る。さらに、キャッシュにCC=xをキャッシュする。次いで、サーバ300は、データ1でリクエストされたデータ2(data2)を含むセグメント4(SEG4)のヘッダにCC=y2を付加してクライアント100へ送信する。クライアント100は、セグメント4によりデータ2が受信されたことから、ACK(data2)フラグを含むセグメント5(SEG5)を生成し、そのヘッダにCC=xを付加してサーバ300へ送信する。このように、T/TCPを用いて通信を行う際にTAOテストが成功すれば、図9に示すように初回以降のセッションについては3WHを回避して、T/TCPの通信を行えるようになる。
【0014】
ところで、インターネット上のサーバにおいては、TCPだけをサポートしておりT/TCPをサポートしていないサーバも多く用いられている。一方、移動通信網のようにリソースの限られている通信網においては上記したT/TCPを用いることが有効である。そこで、移動機とインターネットとの間で通信を行う場合には、T/TCPを用いる移動通信網と、TCPあるいはT/TCPが用いられるインターネット等の通信網との間に通信プロトコルを変換可能なルータ装置を配置することになる。
しかしながら、T/TCPを用いても初回のセッションの開始時には3ウェイハンドシェイクを回避することができず、移動通信網のようにリソースの限られている通信網の効率が低下するという問題点があった。特に、移動通信網における移動機においてはルータ装置によりダイナミックにIPアドレスが割り当てられることから、IPアドレスが割り当てられてセッションを開始する毎に3ウェイハンドシェイクを実行する必要があり、T/TCPを用いても効率的なトランザクション処理を行なうことができないことになる。
【0015】
そこで、本発明は上記問題点を解決するために、初回のセッション開始時においても3ウェイハンドシェイクを回避することのできるルータ装置を提供することを目的としている。
【0016】
【課題を解決するための手段】
上記目的を達成するために、本発明のルータ装置は、第1の通信網と第2の通信網との間に配置されると共に、トランザクション型のトランスポート制御プロトコル(T/TCP)と、通常のトランスポート制御プロトコル(TCP)とをサポートしているルータ装置であって、前記第1の通信網におけるクライアントにダイナミックにIPアドレスを割り当てる割当手段と、前記第1の通信網の前記クライアントに前記割当手段から新たなIPアドレスが割り当てられた際の初回のセッションにおいて予め定められている初回コネクション・カウント値未満のコネクション・カウント値をデフォルト値としてキャッシュしているキャッシュ手段と、前記第1の通信網の前記クライアントから第1のコネクション・カウント値を含むセッション開始のセグメントを受信した際に、該第1のコネクション・カウント値と前記キャッシュ手段にキャッシュされている第2のコネクション・カウント値とを比較して、前記第1のコネクション・カウント値が前記第2のコネクション・カウント値を超えている際に、前記受信したセグメントが新規のセッションのセグメントと判断する処理手段とを備え、前記第1の通信網の前記クライアントが前記初回のセッションにおいて前記第1のコネクション・カウント値として前記初回コネクション・カウント値を含むセグメントを送信することにより、3ウェイハンドシェイクを行うことなくトランザクション型のトランスポート制御プロトコル(T/TCP)の接続確立を行えるようにしている。
【0017】
また、上記本発明のルータ装置において、トランザクション型のトランスポート制御プロトコル(T/TCP)と、通常のトランスポート制御プロトコル(TCP)とのプロトコル変換を行う変換手段を備え、該変換手段により、前記第1の通信網におけるトランザクション型のトランスポート制御プロトコル(T/TCP)をサポートしている前記クライアントとの間はトランザクション型のトランスポート制御プロトコル(T/TCP)で接続することができると共に、前記第2の通信網における通常のトランスポート制御プロトコル(TCP)をサポートしているサーバとの間は通常のトランスポート制御プロトコル(TCP)で接続することができ、前記クライアントと前記サーバとの間で通信を行う際に、3ウェイハンドシェイクを行うことなく前記クライアントとの間をトランザクション型のトランスポート制御プロトコル(T/TCP)で接続確立できるようにしてもよい。
さらに、上記本発明のルータ装置において、トランザクション型のトランスポート制御プロトコル(T/TCP)と、通常のトランスポート制御プロトコル(TCP)とのプロトコル変換を行う変換手段を備え、該変換手段により、前記第1の通信網におけるトランザクション型のトランスポート制御プロトコル(T/TCP)をサポートしている前記クライアントとの間をトランザクション型のトランスポート制御プロトコル(T/TCP)で接続することができると共に、前記第2の通信網におけるトランザクション型のトランスポート制御プロトコル(T/TCP)をサポートしているサーバとの間をトランザクション型のトランスポート制御プロトコル(T/TCP)で接続することができ、前記クライアントと前記サーバとの間で通信を行う際に、3ウェイハンドシェイクを行うことなく前記クライアントとの間、及び前記サーバとの間をトランザクション型のトランスポート制御プロトコル(T/TCP)により、それぞれ独立して接続確立できるようにしてもよい。
【0018】
このような本発明によれば、第1の通信網あるいは第2の通信網からの初回のセッションにおいて予め定められている初回コネクション・カウント値に満たないコネクション・カウント値をデフォルト値としてキャッシュしているキャッシュ手段をルータ装置に備えるようにしている。これにより、第1の通信網あるいは第2の通信網からの初回のセッションに通知されるコネクション・カウント値は、ルータ装置にキャッシュされているコネクション・カウント値を超えるようになるので、3ウェイハンドシェイクを回避してT/TCPの接続を行うことができるようになる。これにより、T/TCPを用いて効率的なトランザクション処理を行えるようになる。
また、例えば第1の通信網とされる移動通信網における移動機(クライアント)と、例えば第2の通信網とされるインターネットにおけるサーバとを接続する際に、移動機との間をT/TCPで接続すると共にサーバとの間をTCPで接続することができる。この場合においても、移動機との間においては、3ウェイハンドシェイクを回避してT/TCPの接続確立を行うことができるため、移動通信網における無線リソースを有効に使用することができるようになる。
【0019】
【発明の実施の形態】
本発明の実施の形態のルータ装置を、第1の通信網としての移動通信網と第2の通信網としてのインターネット(The Internet)との間に配置した通信システムの構成例を図1に示す。
図1に示す通信システムは、移動通信網10と、本発明にかかるTCPルータ4と、インターネット5とを備えて構成されている。移動通信網10において、携帯電話機である複数の移動機1a、1bは基地局2のサービスエリアに在圏しており、基地局2との間で無線通信回線を介して通信を行っている。基地局はセル毎に設けられており、その内の基地局2だけが示されている。これらの基地局は上位ノードである交換機3に接続されており、交換機3には基地局2を含む複数の基地局の間の交換を行っている。この移動通信網10では、伝送速度が比較的低い無線通信回線を含む場合でも高速のデータ転送が可能となるように、トランスポート層の通信プロトコルとして、トランザクション型のトランスポート制御プロトコルであるT/TCPがサポートされている。
【0020】
本発明にかかるTCPルータ4は、移動通信網10との間においてデータ送受信を行なう第1のデータ送受信部4aと、インターネット5との間においてデータ送受信を行なう第2のデータ送受信部4cと、通信プロトコル変換を含むデータ処理を行なうデータ処理部4bとを備えている。第1のデータ送受信部4aおよび第2のデータ送受信部4cは、OSI参照モデルのリンク層における信号処理を行なっている。また、データ処理部4bは、移動通信網における移動機とインターネット5におけるWEBサーバ6との間でTCPあるいはT/TCPを用いて通信を行う際のデータ処理を行っている。ところで、TCPルータ4にはグローバルアドレスが割り当てられており、各移動機にはグローバルアドレスを割り当てることができないため、IPアドレスを要求する移動機にダイナミックにIPアドレスを割り当てるIPマスカレード機能をデータ処理部4bは有している。さらに、データ処理部4bは、TCPとT/TCPとの変換時、および、タイマ制御のためのバッファリング・ウィンドウ機能も有している。このデータ処理部4bには、データ記憶部、セグメント生成部及びタイミング制御部が備えられている。データ記憶部は、移動通信網10及びインターネット5から受信したデータを一時記憶するテンポラリレジスタである。また、セグメント生成部は、移動通信網10及びインターネット5に向けて送出するTCPあるいはT/TCPのセグメントを生成している。さらに、タイミング制御部は、移動通信網10及びインターネット5に向けて送信する各セグメントの送信タイミングを制御している。
【0021】
インターネット5上に位置しているWEBサーバ6は、トランスポート層の通信プロトコルとして、インターネット5で広く用いられている通常のTCPに加えてトランザクション型のT/TCPとをサポートしているが、WEBサーバによってはT/TCPをサポートしていないサーバも存在している。
ここで、例えば基地局2に在圏する移動機1aがインターネット5上のWEBサーバ6にアクセスする際に、TCPルータ4のIPマスカレード機能により移動機1aに新たにIPアドレスが割り当てられたとする。このような場合には、CC値の設定をし直すことから、従来は初回のセッションにおいてはCCオプションとして用意されているCC.NEWを送り、3ウェイハンドシェイクを行うことにより接続確立を行うようにしていた。本発明にかかるTCPルータ4では、このような場合においては、TCPルータ4のキャッシュに設定される初回のセッションにおけるデフォルトのCC値が、例えば“0”に設定される。そして、クライアントである移動機1a、1b・・・・においては初回のセッションにおけるコネクションカウンタのデフォルト値が“1”に設定される。これにより、新たにIPアドレスが割り当てられて初回のセッションを行う際にも、3ウェイハンドシェイクを回避してT/TCP接続することができるようになる。
【0022】
以下に、例えば基地局2に在圏する新たにIPアドレスが割り当てられた移動機1aが、インターネット5上のWEBサーバ6にTCPルータ4を介してアクセスする際に、3ウェイハンドシェイクを回避することのできるシーケンスを図2に示す。ただし、図2に示すシーケンスは移動機1aおよびWEBサーバ6とがT/TCPをサポートしているものとされている。
移動機1aはT/TCPをサポートしていることから、セッションを開始する際に移動機1aは、SYN+FIN+データ1(data1)からなるセグメント1(SEG1)を生成して、そのヘッダに初回のセッション時に設定されるデフォルト値のCC値(CC=1)を付加し、WEBサーバ6を宛先として送信する。このCC=1が付加されたSYNフラグを含むセグメント1はTCPルータ4により受信され、受信したTCPルータ4は、セグメント1におけるCC値「1」の大きさとキャッシュされているCC値との大きさとを比較する。この場合、TCPルータ4にキャッシュされている移動機1aに割り当てられたIPアドレスに対応するCC値はデフォルト値の「0」とされていることから、セグメント1に付加されたCC値の値がキャッシュされたCC値を超えてTAOテストは成功し、TCPルータ4はセグメント1を移動機1aからの新規のセッションのセグメントと判断する。
【0023】
そして、TCPルータ4は、宛先であるWEBサーバ6との間のセッションを開始するように、SYN+FIN+データ1(data1)からなるセグメント10(SEG10)を生成して、そのヘッダにCC値としてCC=10を付加し、WEBサーバ6を指定して送信する。付加するCC値は、TCPルータ4におけるコネクションカウンタの値であり、この場合は「10」とされている。このSYNフラグを含むセグメント10はWEBサーバ6により受信され、受信したWEBサーバ6は、セグメント10におけるCC値「10」の大きさとキャッシュされているCC値との大きさとを比較する。この場合、WEBサーバ6にキャッシュされているTCPルータ4におけるCC値が「10」未満であったとすると、TAOテストは成功し、WEBサーバ6はセグメント10をTCPルータ4からの新規のセッションのセグメントと判断する。
【0024】
そこで、WEBサーバ6は受信したデータ1をアプリケーションに送り、データ1でリクエストされたデータ2(data2)を用意して、SYN+FIN+ACK(SYN,FIN,data1)+データ2(data2)からなるセグメント11(SEG11)を生成して、そのヘッダにCC値としてCC=5とCCecho=10を付加し、移動機1aを宛先として送信する。付加するCC値は、WEBサーバ6におけるコネクションカウンタの値であり、この場合は「5」とされている。また、CC.echo=10はCC=10が付加された初回のSYNセグメント(セグメント10)に対するSYN,ACKセグメントであることをTCPルータ4が確認するためのエコーである。なお、WEBサーバ6はSYNフラグと共にFINフラグを受信したことから、セッションの終了待ち状態となる。
【0025】
TCPルータ4では、セグメント11にCC.echo=10が付加されていることから、セグメント11はセグメント10に対するSYN,ACK(SYN,FIN,data1)セグメントであることが確認される。さらに、セグメント11によりFINフラグとデータ2が受信されることから、SYN+FIN+ACK(SYN,FIN,data1)+データ2(data2)からなるセグメント2(SEG2)を生成して、そのヘッダにCC値としてCC=5とCCecho=1を付加し、移動機1aに送信する。CC.echo=1はCC=1が付加された初回のSYNセグメント(セグメント1)に対するSYN,ACKセグメントであることを移動機1aが確認するためのエコーである。移動機1aでは、セグメント2を受信することによりSYNフラグ、FINフラグとデータ2が受信されると共に、ACK(SYN,FIN,data1)フラグとCC.echo=1が返ってきたことから、データ2をアプリケーションへ供給する。次いで、FINフラグとデータ2(data2)を受信したことの応答確認であるACK(FIN、data2)セグメント3(SEG3)を生成して、そのヘッダにCC値としてCC=1を付加してWEBサーバ6を宛先として送信する。また、FINフラグを受信したことから、セグメント1においてFINフラグを送信して終了待ちとなっていたセッションを終了させる。
【0026】
TCPルータ4は、移動機1aからCC値がCC=1とされたACK(FIN、data2)セグメント3を受信すると、移動機1aとのセッションを終了させると共に、FINフラグとデータ2(data2)を受信したことの応答確認であるACK(FIN、data2)セグメント12(SEG12)を生成して、そのヘッダにCC値としてCC=10を付加して、WEBサーバ6へ送信する。WEBサーバ6は、TCPルータ4からCC値がCC=10とされたACK(FIN、data2)セグメント12を受信すると、終了待ち状態とされていたセッションを終了させる。
このように、初回のセッションにおけるCC値を予め定めておくことにより、T/TCPを用いて初回のセッションを開く際にも3ウェイハンドシェイクを実行することなく、データ授受のトランザクションを実行することができるようになる。この場合、本発明のTCPルータ4を移動通信網10とインターネット5との間に設けていると、上述したように移動通信網10とTCPルータ4とのセッションと、TCPルータ4とインターネット5とのセッションはそれぞれ独立したセッションとなることから、それぞれのセッションにおいて3ウェイハンドシェイクを回避することができる。
【0027】
次に、例えば基地局2に在圏する移動機1aが、インターネット5上のWEBサーバ6にTCPルータ4を介してアクセスする際に、WEBサーバ6においてTAOテストが失敗した際のシーケンスを図3に示す。ただし、図3に示すシーケンスは移動機1aおよびWEBサーバ6とがT/TCPをサポートしているものとされている。
図3に示すシーケンスにおいて、移動機1aはT/TCPをサポートしていることから、セッションを開始する際に移動機1aは、SYN+FIN+データ1(data1)からなるセグメント1(SEG1)を生成して、そのヘッダにCC値としてCC=1を付加し、WEBサーバ6を宛先として送信する。このSYNフラグを含むセグメント1はTCPルータ4により受信され、受信したTCPルータ4は、セグメント1におけるCC値「1」の大きさとキャッシュされているCC値との大きさとを比較する。この場合、TCPルータ4にキャッシュされている移動機1aに割り当てられたIPアドレスに対応するCC値が「0」とされていると、TCPルータ4におけるTAOテストは成功し、TCPルータ4はセグメント1を移動機1aからの新規のシーケンスのセグメントと判断する。
【0028】
そして、TCPルータ4は、宛先であるWEBサーバ6との間のセッションを開始するように、SYN+FIN+データ1(data1)からなるセグメント10(SEG10)を生成して、そのヘッダにCC値としてCC=10を付加し、WEBサーバ6を指定して送信する。このSYNフラグを含むセグメント10はWEBサーバ6により受信され、受信したWEBサーバ6は、セグメント10におけるCC値「10」の大きさとキャッシュされているCC値との大きさとを比較することによりTAOテストを行う。この場合、WEBサーバ6にキャッシュされているTCPルータ4におけるCC値が「11」以上であったとすると、TAOテストは失敗し、T/TCPに代えてTCPで接続するように3ウェイハンドシェイクが実行されるようになる。
【0029】
そこで、WEBサーバ6は、SYN+ACK(SYN)からなるセグメント11(SEG11)を生成して、移動機1aを宛先として送信する。セグメント11を受信したTCPルータ4は、このSYN+ACK(SYN,data1)セグメントをセグメント2として、そのヘッダにCC値としてCC=11とCCecho=1を付加して移動機1aに送信する。移動機1aはセグメント2を受信すると、CC.echo=1が付加されていることから、セグメント2はセグメント1に対するSYN,ACK(SYN,data1)セグメントであることを確認する。そして、ACK(FIN)が返らなかったことから再送するFINフラグを含むFIN+ACK(SYN)からなるセグメント3(SEG3)を生成して、そのヘッダにCC値としてCC=1を付加し、WEBサーバ6を宛先として送信する。このACKセグメント3をTCPルータ4が受信することにより、移動機1aとTCPルータ4間において3ウェイハンドシェイクが行われてT/TCP接続されることになる。
【0030】
TCPルータ4は、セグメント3を受信すると、セグメント3に基づいて再送するFINフラグとキューイングされていたデータ1(data1)を含むFIN+ACK(SYN)+データ1(data1)からなるセグメント12(SEG12)を生成して、WEBサーバ6へ送信する。なお、TCPルータ4はFINフラグを受信しており、移動機1a間のセッションの終了待ち状態となる。このセグメント12をWEBサーバ6が受信することにより、TCPルータ4とWEBサーバ6間において3ウェイハンドシェイクが行われて、TCP接続されるようになる。これにより、データ1がアプリケーションに送られて、データ1でリクエストされたデータ2(data2)が用意される。そこで、WEBサーバ6は、FIN+ACK(FIN、data1)+データ2(data2)からなるセグメント13(SEG13)を作成し、TCPルータ4へ送信する。なお、WEBサーバ6はFINフラグを受信しており、TCPルータ4間のセッションの終了待ち状態となる。
【0031】
TCPルータ4は、受信したセグメント13に基づいてFIN+ACK(FIN、data1)+データ2(data2)からなるセグメント4(SEG4)を作成し、そのヘッダにCC=11のCC値を付加して移動機1aへ送信する。移動機1aはセグメント4を受信すると、FINフラグとデータ2(data2)を受信したことの応答確認であるACK(FIN、data2)セグメント5(SEG5)を生成して、そのヘッダにCC値としてCC=1を付加して、WEBサーバ6を宛先として送信する。さらに、FINフラグとACK(FIN)とを受信したことから、セッションを終了させる。セグメント5を受信したTCPルータ4は、ACK(FIN、data2)セグメント14(SEG14)を生成して、WEBサーバ6へ送信する。これにより、TCPルータ4は移動機1aおよびWEBサーバ6とのセッションをクローズする。さらに、セグメント14を受信したWEBサーバ6は、終了待ちしていたセッションをクローズする。
【0032】
次に、例えば基地局2に在圏する移動機1aが、インターネット5上のWEBサーバ6にTCPルータ4を介してアクセスする際に、WEBサーバ6がT/TCPをサポートしていない場合のシーケンスを図4に示す。ただし、図4に示すシーケンスは、TCPルータ4においてTAOテストが成功しているシーケンスとされている。
図4に示すシーケンスにおいて、移動機1aはT/TCPをサポートしていることから、セッションを開始する際に移動機1aは、SYN+FIN+データ1(data1)からなるセグメント1(SEG1)を生成して、そのヘッダにCC値としてCC=1を付加し、WEBサーバ6を宛先として送信する。このSYNフラグを含むセグメント1はTCPルータ4により受信され、受信したTCPルータ4は、セグメント1におけるCC値「1」の大きさとキャッシュされているCC値との大きさとを比較する。この場合、TCPルータ4にキャッシュされている移動機1aに割り当てられたIPアドレスに対応するCC値が「0」とされていると、TCPルータ4におけるTAOテストは成功し、TCPルータ4はセグメント1を移動機1aからの新規のシーケンスのセグメントと判断する。
【0033】
そして、TCPルータ4は、宛先であるWEBサーバ6との間のセッションを開始するように、SYN+FIN+データ1(data1)からなるセグメント10(SEG10)を生成して、そのヘッダにCC値としてCC=10を付加し、WEBサーバ6を宛先として送信する。このSYNフラグを含むセグメント10はWEBサーバ6により受信されるが、受信したWEBサーバ6は、T/TCPをサポートしていないことからCC値およびデータ1(data1)は破棄される。そして、セグメント10に基づいてSYN+ACK(SYN)からなるセグメント11(SEG11)が生成されて、移動機1aを宛先として送信される。
【0034】
このセグメント11を受信したTCPルータ4は、SYNフラグに対する応答確認であるこのACK(SYN)セグメント12を生成して、WEBサーバ6へ送信する。これにより、3ウェイハンドシェイクが行われTCPルータ4とWEBサーバ6との間がTCPにより接続されるようになる。そこで、TCPルータ4は、キューイングしていたデータ1(data1)をセグメント13によりWEBサーバ6へ再送する。このセグメント13を受信したWEBサーバ6においては、データ1がアプリケーションに送られて、データ1でリクエストされたデータ2(data2)・・・が用意される。そこで、WEBサーバ6は、データ2(data2)からなるセグメント14(SEG14)を作成し、TCPルータ4へ送信する。WEBサーバ6は、送るデータが終了するとFINセグメント15を作成してTCPルータ4へ送信する。
【0035】
TCPルータ4がFINセグメント15を受信すると、セグメント11およびセグメント15に基づくと共にセグメント14で受信したデータ2(data2)を含むSYN+FIN+ACK(SYN,FIN,data1)+データ(data2)からなるセグメントを作成する。そして、そのヘッダにCC値としてCC=11とCCecho=1を付加して移動機1aに送信する。移動機1aはセグメント2を受信すると、CC.echo=1が付加されていることから、セグメント2がセグメント1に対するSYN,ACKセグメントであることが確認される。そして、SYNフラグ、FINフラグおよびデータ2を受信したことの応答確認であるACK(SYN,FIN,data2)からなるセグメント3(SEG3)を生成して、そのヘッダにCC値としてCC=1を付加し、WEBサーバ6を宛先として送信する。なお、移動機1aは、ACK(FIN)とFINフラグとを受信したことから、セッションを終了させる。
【0036】
TCPルータ4は、セグメント3を受信すると、セグメント3に基づいてACK(FIN,data2)からなるセグメント16(SEG16)を生成して、WEBサーバ6へ送信する。これにより、TCPルータ4は移動機1aおよびWEBサーバ6とのセッションをクローズする。さらに、セグメント16を受信したWEBサーバ6もセッションをクローズする。
このように、WEBサーバ6がT/TCPをサポートしていない場合であっても、移動機1aとTCPルータ4間を3ウェイハンドシェイクを回避してT/TCPにより接続することができる。従って、WEBサーバ6がT/TCPをサポートしていない場合であっても、移動通信網10の無線リソースを有効に使用することができるようになる。
【0037】
次に、例えば基地局2に在圏する移動機1aが、インターネット5上のWEBサーバ6にTCPルータ4を介してアクセスした際に、WEBサーバ6がT/TCPをサポートしていないと共に、タイムアウトした場合のシーケンスを図5に示す。
図5に示すシーケンスは、セグメント1を受信したTCPルータ4においてタイマセットされる点を除いて図4に示すセグメント13までのシーケンスと同様とされるので、その説明は省略する。TCPルータ4から再送されたデータ1(data1)からなるセグメント13を受信したWEBサーバ6では、データ1がアプリケーションに送られて、データ1でリクエストされたデータ2(data2)が用意される。しかし、データ2の用意に時間がかかりその間に図示するようにタイムアウトしたものとする。
【0038】
この場合、TCPルータ4は、SYN+ACK(SYN,FIN,data1)からなるセグメント2(SEG2)を作成して、そのヘッダにCC値としてCC=11とCCecho=1を付加して移動機1aに送信する。移動機1aはセグメント2を受信すると、CC.echo=1が付加されていることから、セグメント2はセグメント1に対するSYN,ACKセグメントであることを確認する。そして、SYNフラグを受信したことの応答確認であるACK(SYN)からなるセグメント3(SEG3)を生成して、そのヘッダにCC値としてCC=1を付加し、WEBサーバ6を宛先として送信する。ここで、データ1でリクエストされたデータ2(data2)が用意されたとすると、WEBサーバ6はデータ2(data2)からなるセグメント14(SEG14)を作成し、TCPルータ4へ送信する。TCPルータ4がセグメント14を受信すると、セグメント14で受信したデータ2(data2)からなるセグメント4(SEG4)を作成して、そのヘッダにCC値としてCC=1を付加して移動機1aに送信する。
【0039】
この場合、TCPルータ4におけるインターネット側のタイムアウト時間は、移動通信網10側のタイムアウト時間より短くされている。これにより、図5に示すように移動機1aにおいてACKが返らないことからセグメントの再送を行う前に、移動機1aはSYN+ACKセグメントを受信することができるようになる。このため、移動通信網10においては再送による無線リソースの浪費を防止することができるようになる。
【0040】
次に、例えば基地局2に在圏する移動機1aが、インターネット5上のWEBサーバ6にTCPルータ4を介してアクセスした際に、伝送するデータが複数のセグメントにまたがる場合のシーケンスを図6に示す。ただし、図6に示すシーケンスは、WEBサーバ6がT/TCPをサポートしていない場合のシーケンスとされている。
図6に示すシーケンスにおいて、移動機1aはT/TCPをサポートしており、伝送するデータが1セグメントで伝送可能なデータ量を超えていることから、セッションを開始する際に移動機1aは、最初にSYN+データ1(data1)からなるセグメント1(SEG1)を生成して、そのヘッダにCC値としてCC=1を付加し、WEBサーバ6を宛先として送信する。次いで、残るデータ2(data2)+FINからなるセグメント2(SEG2)を生成して、そのヘッダにCC値としてCC=1を付加し、WEBサーバ6を宛先として送信する。これらのセグメント1およびセグメント2はTCPルータ4により受信され、受信したTCPルータ4はTAOテストを行う。ここでは、TAOテストは成功したものとし、TCPルータ4はSYNフラグを含むセグメント1を移動機1aからの新規のセッションのセグメントと判断する。
【0041】
そして、TCPルータ4は、宛先であるWEBサーバ6との間のセッションを開始するように、SYN+データ1(data1)からなるセグメント10(SEG10)を生成して、そのヘッダにCC値としてCC=10を付加し、WEBサーバ6を宛先として送信する。このSYNフラグを含むセグメント10はWEBサーバ6により受信されるが、受信したWEBサーバ6においては、T/TCPをサポートしていないことからCC値およびデータ1(data1)は破棄される。そして、セグメント10に基づいてSYN+ACK(SYN)からなるセグメント11(SEG11)が生成されて、移動機1aを宛先として送信される。
【0042】
このセグメント11を受信したTCPルータ4は、SYNフラグに対する応答確認であるACK(SYN)セグメント12を生成して、WEBサーバ6へ送信する。これにより、3ウェイハンドシェイクによるTCP接続確立が行われTCPルータ4とWEBサーバ6との間がTCPにより接続されるようになる。そこで、TCPルータ4は、キューイングしていたデータ1(data1)をセグメント13(SEG13)によりWEBサーバ6へ再送する。続いて、キューイングしていたデータ2(data2)とFINフラグからなるセグメント14(SEG14)を生成して、WEBサーバ6へ送信する。このセグメント13およびセグメント14を受信したWEBサーバ6においては、データ1およびデータ2がアプリケーションに送られて、データ1およびデータ2でリクエストされたデータ3(data3)およびデータ4(data4)が用意される。そこで、まずWEBサーバ6は、データ3(data3)およびデータ1,データ2およびFINフラグに対する応答確認であるACK(data1,data2,FIN)からなるセグメント15(SEG15)を作成し、TCPルータ4へ送信する。
【0043】
TCPルータ4がFINセグメント15を受信すると、セグメント11およびセグメント15に基づくと共にセグメント15で受信したデータ3(data3)を含むSYN+ACK(SYN,FIN,data1,data2)+データ3(data3)からなるセグメントを作成する。そして、そのヘッダにCC値としてCC=11とCCecho=1を付加して移動機1aに送信する。続いて、WEBサーバ6は、データ4(data4)と終了を示すFINフラグからなるセグメント16(SEG16)を作成し、TCPルータ4へ送信する。セグメント16を受信したTCPルータ4は、受信したデータ4(data4)とFINフラグからなるセグメント4(SEG4)を作成して、そのヘッダにCC値としてCC=1を付加して移動機1aに送信する。
【0044】
移動機1aはセグメント3を受信すると、CC.echo=1が付加されていることから、セグメント3がセグメント1に対するSYN,ACKセグメントであることが確認される。そして、セグメント3およびセグメント4で受信したSYNフラグ、FINフラグおよびデータ3,データ4の応答確認であるACK(SYN,data3,data4,FIN)からなるセグメント5(SEG5)を生成して、そのヘッダにCC値としてCC=1を付加し、WEBサーバ6を宛先として送信する。なお、移動機1aは、ACK(FIN)とFINフラグとを受信したことから、セッションを終了させる。TCPルータ4は、セグメント5を受信すると、セグメント5に基づいてACK(data3,data4,FIN)からなるセグメント17(SEG17)を生成して、WEBサーバ6へ送信する。これにより、TCPルータ4は移動機1aおよびWEBサーバ6とのセッションをクローズする。さらに、セグメント17を受信したWEBサーバ6もセッションをクローズする。
【0045】
このように、データが複数セグメントにわたる場合であっても、移動機1aとTCPルータ4間は3ウェイハンドシェイクを回避したT/TCPにより、少ないセグメントにより複数セグメントにわたるデータの授受を行うことができる。従って、データが複数セグメントにわたる場合であっても、移動通信網10の無線リソースを有効に活用することができるようになる。
【0046】
次に、TCPルータ4におけるバッファリング・ウィンドウ機能について図7を参照して説明する。
図7には、移動機1aとTCPルータ4との間において3つのセッションが同時に行われている場合のバッファ構成が示されている。この場合、TCPルータ4においては、セッション毎にバッファ14a,14b,14cが用意される。この3つのバッファ14a,14b,14cのサイズはそれぞれ8kバイト(8kByte)とされる。また、交換機3において移動機1aに用意されるバッファ13aのサイズは8kバイト(8kByte)とされる。さらに、移動機1aにおいては、セッション毎にバッファ11a,11b,11cが用意され、その3つのバッファ11a,11b,11cのサイズはそれぞれ8kバイト(8kByte)とされる。
【0047】
このように、交換機3においてはセッション毎のバッファが用意されないため、交換機3のウィンドウサイズに応じてTCPルータ4は、3つのセッションのデータを交換機3に送っている。例えば、セッション1におけるバッファ14aに格納されているデータは、8kバイトの内の2kバイトを交換機3に送り、セッション2におけるバッファ14bに格納されているデータは、8kバイトの内の2kバイトを交換機3に送り、セッション3におけるバッファ14cに格納されているデータは、8kバイトの内の4kバイトを交換機3に送るようにバッファ制御している。このように、TCPルータ4は交換機3におけるバッファ13aのウィンドウサイズに応じて、バッファリングされているデータの量を制御して送信している。これにより、交換機3のバッファサイズが16kバイトや32kバイトになった際にも対応させることができるようになる。なお、交換機3におけるバッファ13aに格納された3つのセッションのデータは移動機1aに送られて、セッション毎のバッファ11a,11b,11cにそれぞれ格納される。
【0048】
【発明の効果】
本発明は以上のように、第1の通信網あるいは第2の通信網からの初回のセッションにおいて予め定められている初回コネクション・カウント値に満たないコネクション・カウント値をデフォルト値としてキャッシュしているキャッシュ手段をルータ装置に備えるようにしている。これにより、第1の通信網あるいは第2の通信網からの初回のセッションに通知されるコネクション・カウント値は、ルータ装置にキャッシュされているコネクション・カウント値を超えるようになるので、3ウェイハンドシェイクを回避してT/TCPの接続を行うことができるようになる。これにより、T/TCPを用いて効率的なトランザクション処理を行えるようになる。
また、例えば第1の通信網とされる移動通信網における移動機(クライアント)と、例えば第2の通信網とされるインターネットにおけるサーバとを接続する際に、移動機との間をT/TCPで接続すると共にサーバとの間をTCPで接続することができる。この場合においても、移動機との間においては、3ウェイハンドシェイクを回避してT/TCPの接続確立を行うことができるため、移動通信網における無線リソースを有効に使用することができるようになる。
【図面の簡単な説明】
【図1】本発明の実施の形態のルータ装置を、第1の通信網としての移動通信網と第2の通信網としてのインターネットとの間に配置した通信システムの構成例を示す図である。
【図2】本発明の実施の形態のルータ装置において、3ウェイハンドシェイクを回避することのできるシーケンス図である。
【図3】本発明の実施の形態のルータ装置において、TAOテストが失敗した場合のシーケンス図である。
【図4】本発明の実施の形態のルータ装置において、WEBサーバがT/TCPをサポートしていない場合のシーケンス図である。
【図5】本発明の実施の形態のルータ装置において、タイムアウトした場合のシーケンス図である。
【図6】本発明の実施の形態のルータ装置において、伝送するデータが複数のセグメントにまたがる場合のシーケンス図である。
【図7】本発明の実施の形態のルータ装置におけるバッファリング・ウィンドウ機能を説明するための図である。
【図8】TCPのシーケンス図である。
【図9】3ウェイハンドシェイクを回避することのできるT/TCPのシーケンス図である。
【図10】初回のセッションにおけるT/TCPのシーケンス図である。
【符号の説明】
1a,1b 移動機、2 基地局、3 交換機、4 TCPルータ、4a データ送受信部、4b データ処理部、4c データ送受信部、5 インターネット、6 WEBサーバ、10 移動通信網、11a,11b,11c バッファ、13a バッファ、14a,14b,14c バッファ、100 クライアント、100 クライント、200 サーバ、300 サーバ[0001]
BACKGROUND OF THE INVENTION
The present invention is arranged between a first communication network and a second communication network, and has a function of avoiding a 3-way handshake even in an initial session of a transaction type transport control protocol (T / TCP). The present invention relates to a router device that supports a normal transport control protocol (TCP).
[0002]
[Prior art]
Conventionally, a transport control protocol (hereinafter referred to as “TCP (Transport Control Protocol)”) is known as a network protocol used for communication in a communication network. This TCP is a protocol that is located in the fourth transport layer of the OSI reference model and has functions such as retransmission, packet order control and flow control, and is used as a standard protocol for communication on the Internet. Yes. TCP is also used when a mobile information terminal such as a cellular phone is connected to the Internet via a mobile communication network for communication.
[0003]
FIG. 8 shows an example of a TCP sequence when data is exchanged once between the
When data is exchanged using TCP, first, connection establishment processing for connecting the
[0004]
Upon receiving the segment including the SYN flag (hereinafter referred to as “SYN segment”), the
[0005]
When the connection is established in this way, data can be exchanged, and the
[0006]
As a result, when the data transmission / reception is completed, a TCP connection termination process is performed next. In the TCP connection termination process, first, a FIN segment (SEG8: Segment 8) is transmitted from the
[0007]
As described above, in the connection establishment process and the connection end process, the
[0008]
[Problems to be solved by the invention]
By the way, when performing communication using TCP, as shown in FIG. 8, in the connection start process and connection end process before and after data transmission, a total of six segments need to be transmitted and received, and data is exchanged once by one. Even if it exists, transmission / reception of 10 segments is required. For this reason, when performing transaction processing, which is a processing unit consisting of a series of processes in which the
[0009]
Therefore, in order to provide a transport layer that can avoid the overhead of connection establishment processing and connection termination processing and perform efficient transaction processing, a transaction-type transport control protocol (hereinafter referred to as “T / TCP”). Can be used. This T / TCP is a protocol whose definition is described in RFC (Request For Comment) 1379 and 1644.
In T / TCP, when the first connection is made, a three-way handshake (3WH) is negotiated to establish a connection. In this case, in T / TCP, the connected session is managed by a value called a CC (connection count) value. For this reason, by sending the CC value held at the start of the next session, connection establishment can be performed while avoiding 3WH. This is used to determine if it is an old session. For example, if the CC value of the SYN segment sent by the client exceeds the CC value cached in the server, the server determines that it is a new session and connects without performing 3WH. The CC value sent from the transmission side is incremented when the session is started, and the last CC value for each client sent from the client is cached in the server.
[0010]
An example of a T / TCP sequence is shown in FIG. In the sequence shown in FIG. 9, it is assumed that y1 is cached as a CC value in the cache CC [B] of the
[0011]
Next, the server 300 generates a segment 11 (SEG11) of a SYN flag + ACK (SYN, data1) flag + data 2 (data2), and a CC value CC = CC = a connection counter value in the server 300 as a CC value in the header. y2 and the received CC value are added as CC.echo = x3, and the
[0012]
Next, FIG. 10 shows a T / TCP sequence when an initial sequence is performed, for example, when an IP address is newly assigned to the
[0013]
The
[0014]
By the way, many servers on the Internet that support only TCP and do not support T / TCP are also used. On the other hand, it is effective to use T / TCP described above in a communication network with limited resources such as a mobile communication network. Therefore, when communication is performed between a mobile device and the Internet, a communication protocol can be converted between a mobile communication network using T / TCP and a communication network such as the Internet using TCP or T / TCP. A router device is arranged.
However, even if T / TCP is used, a three-way handshake cannot be avoided at the start of the first session, and the efficiency of a communication network with limited resources such as a mobile communication network is reduced. there were. In particular, in a mobile station in a mobile communication network, an IP address is dynamically assigned by a router device. Therefore, it is necessary to execute a 3-way handshake every time an IP address is assigned and a session is started. Even if it is used, efficient transaction processing cannot be performed.
[0015]
Accordingly, an object of the present invention is to provide a router device capable of avoiding the 3-way handshake even at the start of the first session in order to solve the above-described problems.
[0016]
[Means for Solving the Problems]
In order to achieve the above object, a router device according to the present invention is arranged between a first communication network and a second communication network, and is equipped with a transaction type transport control protocol (T / TCP), A router device supporting the transport control protocol (TCP) ofAssigning means for dynamically assigning an IP address to a client in the first communication network;The first communication networkWhen a new IP address is assigned to the client by the assigning means.A cache means for caching a connection count value less than a predetermined initial connection count value in a first session as a default value; and the first communication networkOf the clientWhen the session start segment including the first connection count value is received from the first connection count value and the second connection count value cached in the cache means are compared, Processing means for determining that the received segment is a segment of a new session when the first connection count value exceeds the second connection count value;Of the clientsIn the first sessionBy transmitting a segment including the initial connection count value as the first connection count valueConnection establishment of a transaction type transport control protocol (T / TCP) can be performed without performing a three-way handshake.
[0017]
In the router device of the present invention,A conversion unit that performs protocol conversion between a transaction-type transport control protocol (T / TCP) and a normal transport control protocol (TCP) is provided.Supports transactional transport control protocol (T / TCP) in the first communication networkAboveConnect with clients using transactional transport control protocol (T / TCP)As you canThe server that supports the normal transport control protocol (TCP) in the second communication network is connected using the normal transport control protocol (TCP).CanWhen communication is performed between the client and the server, a connection with the client can be established using a transaction-type transport control protocol (T / TCP) without performing a three-way handshake. Good.
Furthermore, the router device of the present invention further includes conversion means for performing protocol conversion between a transaction type transport control protocol (T / TCP) and a normal transport control protocol (TCP). It is possible to connect with the client that supports the transaction type transport control protocol (T / TCP) in the first communication network using the transaction type transport control protocol (T / TCP), and A server that supports a transactional transport control protocol (T / TCP) in the second communication network can be connected by a transactional transport control protocol (T / TCP), and the client and With the server When performing communication, it is possible to establish a connection independently between the client and the server by a transactional transport control protocol (T / TCP) without performing a three-way handshake. May be.
[0018]
According to the present invention, a connection count value that does not satisfy a predetermined initial connection count value in a first session from the first communication network or the second communication network is cached as a default value. The cache device is provided in the router device. As a result, the connection count value notified to the first session from the first communication network or the second communication network exceeds the connection count value cached in the router device. A T / TCP connection can be performed while avoiding a shake. As a result, efficient transaction processing can be performed using T / TCP.
For example, when connecting a mobile device (client) in a mobile communication network, which is a first communication network, and a server in the Internet, which is a second communication network, for example, T / TCP is connected between the mobile devices. And a TCP connection between the server and the server. Even in this case, since the T / TCP connection can be established while avoiding the 3-way handshake with the mobile device, radio resources in the mobile communication network can be used effectively. Become.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a configuration example of a communication system in which a router device according to an embodiment of the present invention is arranged between a mobile communication network as a first communication network and the Internet as a second communication network. .
The communication system shown in FIG. 1 includes a
[0020]
The
[0021]
The
Here, for example, when the mobile device 1 a located in the
[0022]
Below, for example, when a mobile station 1a newly assigned with an IP address located in the
Since the mobile device 1a supports T / TCP, when starting a session, the mobile device 1a generates a segment 1 (SEG1) composed of SYN + FIN + data 1 (data1), and the first session in the header. A default CC value (CC = 1) set at the time is added, and the
[0023]
Then, the
[0024]
Therefore, the
[0025]
In the
[0026]
When the
In this way, by setting the CC value in the first session in advance, even when the first session is opened using T / TCP, the data transfer transaction is executed without executing the 3-way handshake. Will be able to. In this case, when the
[0027]
Next, for example, when the mobile device 1a located in the
In the sequence shown in FIG. 3, since the mobile device 1a supports T / TCP, when starting a session, the mobile device 1a generates a segment 1 (SEG1) composed of SYN + FIN + data 1 (data1). Then, CC = 1 is added to the header as the CC value, and the
[0028]
Then, the
[0029]
Therefore, the
[0030]
When the
[0031]
The
[0032]
Next, for example, when the mobile device 1a located in the
In the sequence shown in FIG. 4, since the mobile device 1a supports T / TCP, when starting a session, the mobile device 1a generates a segment 1 (SEG1) composed of SYN + FIN + data 1 (data1). Then, CC = 1 is added to the header as the CC value, and the
[0033]
Then, the
[0034]
The
[0035]
When the
[0036]
When the
As described above, even when the
[0037]
Next, for example, when the mobile station 1a located in the
The sequence shown in FIG. 5 is the same as the sequence up to the segment 13 shown in FIG. 4 except that the timer is set in the
[0038]
In this case, the
[0039]
In this case, the timeout time on the Internet side in the
[0040]
Next, for example, when the mobile device 1a located in the
In the sequence shown in FIG. 6, since the mobile device 1a supports T / TCP and the data to be transmitted exceeds the amount of data that can be transmitted in one segment, the mobile device 1a First, a segment 1 (SEG1) composed of SYN + data 1 (data1) is generated, CC = 1 is added to the header as a CC value, and the
[0041]
Then, the
[0042]
The
[0043]
When the
[0044]
When the mobile station 1a receives the
[0045]
As described above, even when the data covers a plurality of segments, the T / TCP that avoids the 3-way handshake between the mobile device 1a and the
[0046]
Next, the buffering window function in the
FIG. 7 shows a buffer configuration when three sessions are simultaneously performed between the mobile device 1 a and the
[0047]
As described above, since the buffer for each session is not prepared in the
[0048]
【The invention's effect】
As described above, the present invention caches, as a default value, a connection count value that does not satisfy a predetermined initial connection count value in an initial session from the first communication network or the second communication network. Cache means is provided in the router device. As a result, the connection count value notified to the first session from the first communication network or the second communication network exceeds the connection count value cached in the router device. A T / TCP connection can be performed while avoiding a shake. As a result, efficient transaction processing can be performed using T / TCP.
For example, when connecting a mobile device (client) in a mobile communication network, which is a first communication network, and a server in the Internet, which is a second communication network, for example, T / TCP is connected between the mobile devices. And a TCP connection between the server and the server. Even in this case, since the T / TCP connection can be established while avoiding the 3-way handshake with the mobile device, radio resources in the mobile communication network can be used effectively. Become.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration example of a communication system in which a router device according to an embodiment of the present invention is arranged between a mobile communication network as a first communication network and the Internet as a second communication network. .
FIG. 2 is a sequence diagram capable of avoiding a 3-way handshake in the router device according to the embodiment of the present invention.
FIG. 3 is a sequence diagram when the TAO test fails in the router device according to the embodiment of the present invention.
FIG. 4 is a sequence diagram when the WEB server does not support T / TCP in the router device according to the embodiment of this invention.
FIG. 5 is a sequence diagram when a timeout occurs in the router device according to the embodiment of this invention.
FIG. 6 is a sequence diagram in a case where data to be transmitted extends over a plurality of segments in the router device according to the embodiment of this invention.
FIG. 7 is a diagram for explaining a buffering window function in the router device according to the embodiment of the present invention;
FIG. 8 is a sequence diagram of TCP.
FIG. 9 is a sequence diagram of T / TCP that can avoid a 3-way handshake.
FIG. 10 is a sequence diagram of T / TCP in the first session.
[Explanation of symbols]
1a, 1b mobile station, 2 base station, 3 switch, 4 TCP router, 4a data transmission / reception unit, 4b data processing unit, 4c data transmission / reception unit, 5 internet, 6 WEB server, 10 mobile communication network, 11a, 11b, 11c buffer , 13a buffer, 14a, 14b, 14c buffer, 100 clients, 100 clients, 200 servers, 300 servers
Claims (3)
前記第1の通信網におけるクライアントにダイナミックにIPアドレスを割り当てる割当手段と、
前記第1の通信網の前記クライアントに前記割当手段から新たなIPアドレスが割り当てられた際の初回のセッションにおいて予め定められている初回コネクション・カウント値未満のコネクション・カウント値をデフォルト値としてキャッシュしているキャッシュ手段と、
前記第1の通信網の前記クライアントから第1のコネクション・カウント値を含むセッション開始のセグメントを受信した際に、該第1のコネクション・カウント値と前記キャッシュ手段にキャッシュされている第2のコネクション・カウント値とを比較して、前記第1のコネクション・カウント値が前記第2のコネクション・カウント値を超えている際に、前記受信したセグメントが新規のセッションのセグメントと判断する処理手段とを備え、
前記第1の通信網の前記クライアントが前記初回のセッションにおいて前記第1のコネクション・カウント値として前記初回コネクション・カウント値を含むセグメントを送信することにより、3ウェイハンドシェイクを行うことなくトランザクション型のトランスポート制御プロトコル(T/TCP)の接続確立を行えるようにしたことを特徴とするルータ装置。A router arranged between the first communication network and the second communication network and supporting a transactional transport control protocol (T / TCP) and a normal transport control protocol (TCP) A device,
Assigning means for dynamically assigning an IP address to a client in the first communication network;
A connection count value less than a predetermined initial connection count value is cached as a default value in an initial session when a new IP address is assigned to the client of the first communication network by the assigning means Caching means,
When the session start segment including the first connection count value is received from the client of the first communication network , the first connection count value and the second connection cached in the cache means Processing means for comparing the count value and determining that the received segment is a segment of a new session when the first connection count value exceeds the second connection count value; Prepared,
The client of the first communication network transmits a segment including the initial connection count value as the first connection count value in the initial session, thereby enabling a transaction type without performing a three-way handshake. A router apparatus characterized in that a connection of a transport control protocol (T / TCP) can be established.
該変換手段により、前記第1の通信網におけるトランザクション型のトランスポート制御プロトコル(T/TCP)をサポートしている前記クライアントとの間はトランザクション型のトランスポート制御プロトコル(T/TCP)で接続することができると共に、前記第2の通信網における通常のトランスポート制御プロトコル(TCP)をサポートしているサーバとの間は通常のトランスポート制御プロトコル(TCP)で接続することができ、前記クライアントと前記サーバとの間で通信を行う際に、3ウェイハンドシェイクを行うことなく前記クライアントとの間をトランザクション型のトランスポート制御プロトコル(T/TCP)で接続確立できるようにしたことを特徴とする請求項1記載のルータ装置。 A conversion means for performing protocol conversion between a transactional transport control protocol (T / TCP) and a normal transport control protocol (TCP);
By the conversion means, between the clients that support the first transaction type transport control protocol in the communication network (T / TCP) is connected with a transaction-oriented transport control protocol (T / TCP) it it is, and from the server that supports normal transport control protocol in the second communication network (TCP) can be connected in a conventional transport control protocol (TCP), and the client When communicating with the server, it is possible to establish a connection with the client by a transactional transport control protocol (T / TCP) without performing a three-way handshake. The router device according to claim 1.
該変換手段により、前記第1の通信網におけるトランザクション型のトランスポート制御プロトコル(T/TCP)をサポートしている前記クライアントとの間をトランザクション型のトランスポート制御プロトコル(T/TCP)で接続することができると共に、前記第2の通信網におけるトランザクション型のトランスポート制御プロトコル(T/TCP)をサポートしているサーバとの間をトランザクション型のトランスポート制御プロトコル(T/TCP)で接続することができ、前記クライアントと前記サーバとの間で通信を行う際に、3ウェイハンドシェイクを行うことなく前記クライアントとの間、及び前記サーバとの間をトランザクション型のトランスポート制御プロトコル(T/TCP)により、それぞれ独立して接続確立できるようにしたことを特徴とする請求項1記載のルータ装置。 The conversion means connects the client supporting the transaction type transport control protocol (T / TCP) in the first communication network with the transaction type transport control protocol (T / TCP). And connecting with a server supporting the transaction type transport control protocol (T / TCP) in the second communication network using the transaction type transport control protocol (T / TCP). When performing communication between the client and the server, a transaction-type transport control protocol (T / TCP) is established between the client and the server without performing a three-way handshake. ) Router device according to claim 1, characterized in that to allow.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001346918A JP3867896B2 (en) | 2001-11-13 | 2001-11-13 | Router device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001346918A JP3867896B2 (en) | 2001-11-13 | 2001-11-13 | Router device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003152811A JP2003152811A (en) | 2003-05-23 |
JP3867896B2 true JP3867896B2 (en) | 2007-01-17 |
Family
ID=19159997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001346918A Expired - Fee Related JP3867896B2 (en) | 2001-11-13 | 2001-11-13 | Router device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3867896B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100910018B1 (en) | 2007-08-29 | 2009-07-30 | 포스데이타 주식회사 | Method and System for Handshaking in Wireless Communication System |
-
2001
- 2001-11-13 JP JP2001346918A patent/JP3867896B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003152811A (en) | 2003-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237153B2 (en) | Packet retransmission method and apparatus | |
US7965674B2 (en) | Sub-segment based transport layer protocol for wireless medium | |
JP4164365B2 (en) | Technology for improving TCP performance over a wireless interface by providing a dual proxy device | |
JP5038515B2 (en) | Data transmission | |
WO2018205688A1 (en) | Method, apparatus and system for data transmission | |
WO2021063147A1 (en) | Packet forwarding method and apparatus for heterogeneous network | |
WO2012051963A1 (en) | Method and device for data transmission | |
US9571409B2 (en) | Maximum transmission unit negotiation method and data terminal | |
WO2011100911A2 (en) | Detection processing method, data transmitter, data receiver and communication system | |
WO2010028593A1 (en) | A transmission method, device and communication equipment for transmission control protocol data packets | |
US20030158959A1 (en) | Establishment of communications using point to point protocols such that duplicate negotiations are avoided | |
CN102769520A (en) | Wireless network congestion control method based on stream control transmission protocol (SCTP) | |
CN111865940A (en) | Transmission optimization method and device | |
WO2013152614A1 (en) | System and method for network access based on application layer data | |
JP4384676B2 (en) | Method for controlling data communication apparatus | |
US20200084130A1 (en) | Transmission control protocol timestamp rewriting | |
US7286546B2 (en) | Method and system for providing reliable and fast communications with mobile entities | |
CN116074401B (en) | Method for realizing transmission layer protocol on programmable exchanger | |
JP3727198B2 (en) | Gateway device | |
JP3867896B2 (en) | Router device | |
JP3998649B2 (en) | Wireless terminal, access point device, data communication system, and data communication method | |
JP3741421B2 (en) | Data communication method and communication terminal device | |
JP3830352B2 (en) | Communication protocol conversion method and apparatus | |
JP3929452B2 (en) | Efficient data transmission / reception method using transport layer in mobile ad hoc network and network device using the method | |
JP3665309B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND COMMUNICATION METHOD |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20041012 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041015 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060825 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061005 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |