JPH11341072A - Tcp通信高速化装置 - Google Patents

Tcp通信高速化装置

Info

Publication number
JPH11341072A
JPH11341072A JP14344998A JP14344998A JPH11341072A JP H11341072 A JPH11341072 A JP H11341072A JP 14344998 A JP14344998 A JP 14344998A JP 14344998 A JP14344998 A JP 14344998A JP H11341072 A JPH11341072 A JP H11341072A
Authority
JP
Japan
Prior art keywords
tcp
packet
htp
flow control
tgw
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.)
Granted
Application number
JP14344998A
Other languages
English (en)
Other versions
JP3315926B2 (ja
Inventor
Teruyuki Hasegawa
輝之 長谷川
Toru Hasegawa
亨 長谷川
Satohiko Kato
聰彦 加藤
Kohei Yoshiizumi
浩平 吉泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDD Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KDD Corp filed Critical KDD Corp
Priority to JP14344998A priority Critical patent/JP3315926B2/ja
Priority to US09/314,710 priority patent/US6535515B1/en
Publication of JPH11341072A publication Critical patent/JPH11341072A/ja
Application granted granted Critical
Publication of JP3315926B2 publication Critical patent/JP3315926B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/39Credit based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • H04L2012/5653Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
    • H04L2012/5658Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL] using the AAL5

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

(57)【要約】 【課題】 広域網を介してTCP/IPによるLAN間
通信を行うネットワークシステムに用いられるTCPゲ
ートウェハにおいて、複数のTCPコネクションを扱う
場合に、効率的なバッファ利用を行うことができるよう
にする。 【解決手段】 送信側及び受信側に配置されたTCPゲ
ートウェイにおいて、送信側端末からのTCPパケット
に対し、受信側端末に代わってTCPのフロー制御なら
びに再送制御を終端し、また対向配置された同装置との
間で独自のフロー制御手順ならびにSSCOPを用いた
データリンク層での選択再送手順を用いてパケットを転
送し、さらに受信側端末に対し送信側端末に代わりTC
Pの処理手順に従ってパケットを転送する処理を、複数
のTCPコネクションに対して同時に提供するようにし
た。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、広域網等を用い
たLAN(Local Area Network)間通
信に用いられるTCP通信高速化装置に関する。
【0002】
【従来の技術】一般に、広域網等を介してTCP/IP
によるLAN間通信を行う場合、LANと広域網との接
続にはルータと呼ばれるOSI参照モデルにおける第3
層(ネットワークレイヤ)レベルまでの処理を行う相互
接続装置が使用されている。この相互接続装置では、O
SI参照モデルにおける物理層からネットワーク層まで
のプロトコル処理を実現しており、フロー制御ならびに
誤り制御は端末間のTCPによりエンドツーエンドでや
りとりされている。
【0003】上記のように端末間のTCPによりフロー
制御ならびに誤り制御をエンドツーエンドで行う通信で
は、広域網に遅延・誤り・輻輳等がある場合に、帯域に
応じたスループットが得られないという問題がある。こ
れに対し、TCPを拡張してウインドウスケールと呼ば
れる新しいパラメータを導入し、大きなウインドウサイ
ズを実現することで、遅延が大きい場合のスループット
向上を図る手法も提案されている。しかし、この手法で
大きなウインドウサイズを有効に利用するためには、通
信を行う双方の端末に、拡張したTCPを導入するのみ
ならず、通信相手やアプリケーション毎に、双方でTC
Pウインドウサイズを調整する必要がある。他方、遅延
によるスループット低下を避ける手法として、相互接続
装置にTCPまでの処理を行わせ、相互接続装置間に独
自のプロトコルを導入して、リンクバイリンクのフロー
制御を実現する手法が特開平7−250100号公報な
どに既に提案されている。
【0004】
【発明が解決しようとする課題】上記のようなTCPま
での処理を行う相互接続装置では、遅延に対応したフロ
ー制御を行うために、大きなウインドウサイズを有する
プロトコルを採用している。このとき、個々のTCPコ
ネクション毎に大きなウインドウサイズを割り当て、個
別にフロー制御を提供しているため、複数のTCPコネ
クションを扱う場合、効率的なバッファ利用ができず、
また、バッファオーバフローを起こす可能性もある。
【0005】この発明は、複数のTCPコネクションを
扱う場合に、効率的なバッファ利用を行うことができる
TCP通信高速化装置を提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明は、複数のLAN間を接続してTC
P/IPによるデータ通信を実現している広域網の両端
に付加されるTCP通信高速化装置であって、OSI参
照モデルにおけるデータリンク層でのパケット中継機能
を有するとともに、受信したパケットに対しOSI参照
モデルにおけるトランスポート層のTCPまでの処理を
提供するパケット処理手段と、送信側端末から入力され
たTCPパケットに対し、受信側端末に代わってTCP
のフロー制御ならびに再送制御を終端する終端手段と、
広域網を介して対向配置された同装置との間で、独自の
フロー制御手順ならびにSSCOPを用いたデータリン
ク層での選択再送手順を用いてパケットを転送する第1
のパケット転送手段と、受信側端末に対し、送信側端末
に代わってTCPのフロー制御ならびに再送制御に従っ
てパケットを転送する第2のパケット転送手段とを備
え、複数のTCPコネクションに対し、前記終端手段、
第1及び第2のパケット転送手段の処理を同時に提供す
ることを特徴とする。
【0007】請求項2の発明は、請求項1において、対
向する装置との間では、個々のTCPコネクションに対
し、遅延に応じた広いウインドウサイズに基づくフロー
制御を提供すると同時に、全てのTCPコネクションを
対象としたフロー制御を行うことを特徴とする。
【0008】上記TCP通信高速化装置においては、全
体のTCPコネクションに対するフロー制御のために、
パケットには個々のTCPコネクション毎に付与される
シーケンス番号とは別の、全てのTCPコネクションで
共通のシーケンス番号(グローバルシーケンス番号)を
付与し、予め設定した装置内に保持可能なデータパケッ
ト数の最大値をもとに、受信可能なグローバルシーケン
ス番号の最大値をクレジットとして対向側に通知する。
送信側では、通知されたグローバルシーケンス番号にな
るまでパケットを送信することができる。
【0009】また、各TCPコネクションでは、送信側
端末からTCPデータパケットを受信した際に、個々の
TCPコネクションに与えられているウインドウに空き
があり、かつグローバルクレジットが有れば、対向側に
パケットを転送する。グローバルクレジットが無い場合
は、TCPコネクション単位で送信待ちキューを管理す
る。
【0010】また、全体のTCPコネクションに対する
フロー制御では、双方の装置で互いにクレジット待ちの
状態によりデッドロックに陥ることの無いように、装置
内に保持されない、ユーザデータを含まないグローバル
クレジット通知、ACK、SYN、FIN、RSTなど
のパケットに対して、グローバルシーケンス番号の更新
を行わないことでフロー制御を機能させない。
【0011】さらに、全体のTCPコネクションに対す
るフロー制御により、対向側への送信が新たに可能とな
った場合は、個々のTCPコネクションに付与されるウ
インドウの空きが大きい順にパケットを送信することに
より、スループットの公平性を確保する。
【0012】
【発明の実施の形態】以下、この発明に係わるTCP通
信高速化装置をTCPゲートウェイに適用した場合の実
施形態について説明する。
【0013】図3は、広域ATM(Asynchron
ous Transfer Mode)網をベースとした
ネットワークシステムの概略構成図である。物理的に離
れた位置にあるLAN1,2には、それぞれ端末12、
13が接続され、ルータ3,4、ATM交換機5,6を
介して広域ATM網7に接続されている。同じく物理的
に離れた位置にあるATM端末8,9は、ATM交換機
5,6を介して広域ATM網7に接続されている。TC
Pゲートウェイ(以下、TGW)10,11は、前記A
TM交換機5,6に接続され、以下のような要領に従っ
てパケットを中継する。
【0014】図1は、図3に示すネットワークシステム
のプロトコル構成を示す説明図、図2は、図1に示すT
GW10(11)のさらに詳細なプロトコル構成とパケ
ットの流れを示す説明図である。
【0015】なお、図1は、LAN1,2のプロトコル
としてTCP/IPを対象とした例を示している。この
うち、図1(a)は端末12,13間のプロトコルスタ
ックを、図1(b)はATM端末8,9間のプロトコル
スタックをそれぞれ示している。また、図1及び2にお
いて、TGW10,11のIP部分は、IPヘッダの付
加・削除・パラメータのェックのみを行い、IPルーチ
ング機能は持たないものとする。また、LLC−SNA
P部分は必要に応じて使用する。
【0016】TGW10(11)は、データリンク層で
のパケット中継機能を有するとともに、受信したパケッ
トに対しトランスポート層のTCPまでの処理を提供す
るパケット処理手段と、送信側のATM端末8から入力
されたTCPパケットに対し、受信側のATM端末9に
代わってTCPのフロー制御ならびに再送制御を終端す
る終端手段と、広域網7を介して対向配置された同装置
11との間で、独自のフロー制御手順ならびにSSCO
Pを用いたデータリンク層での選択再送手順を用いてパ
ケットを転送する第1のパケット転送手段と、ATM端
末9に対し、ATM端末8に代わりTCPの処理手順に
従ってパケットを転送する第2のパケット転送手段とを
備え、複数のTCPコネクションに対し、前記終端手
段、第1及び第2のパケット転送手段の処理を同時に提
供する。とくに、対向する装置との間では、個々のTC
Pコネクションに対し、遅延に応じた広いウインドウサ
イズに基づくフロー制御を提供すると同時に、全てのT
CPコネクションを対象としたフロー制御を行う。
【0017】次に、端末間でパケット転送を行う場合の
TGW10,11の手順について説明する。なお、この
例では、LLC−SNAP(Logical Link
Control−Subnetwork Access
Protocol)を用いてパケットのカプセル化を行
っているものとする。
【0018】1.ATM端末8,9またはルータ3,4
(以下、端末)は、広域ATM網7を介してパケットを
転送するため、予め定められたVCC(Virtual
Channel connection)を用いてパケ
ットを出力する。
【0019】2.双方のATM交換機5,6は、TGW
10,11での処理が必要なVCCに対して、本来端末
間で設定すべきVCCを各々の側のTGWで終端する。
そして、終端したVCC毎に、別途TGW間で、中継用
のVCCならびに後述するSSCOPコネクションを設
定する。TGW10,11では、端末側VCCと対向T
GW側VCCを1対1で対応させて、データリンクレベ
ルでパケットを交換する。
【0020】3.TGW10(11)では、端末8
(9)からLLC−SNAPによりカプセル化されて送
られてきたパケットを検査し、TGW処理すべきTCP
パケットに対しては、TCPからHTPに変換し、SS
COPにAA−DATA.request を要求して
SD PDUによる確認型のデータ転送を行う。対向す
るTGW9(8)からの入力に対しては逆の処理を行
う。TGW処理をしないパケットについては、SSCO
PにAA−UNITDATA.request を要求
して、UD PDUによる非確認型のデータ転送を行
い、そのままTGWを通過させる。
【0021】なお、前記SSCOPは、強力な選択再送
機能を有する確認型プロトコルである。このSSCOP
を用いることにより、TGW間でのHTPパケット紛失
を考慮する必要がなくなる。
【0022】次に、HTPコネクション確立の手順につ
いて説明する。
【0023】TGW10,11では、TCPコネクショ
ン確立手順をエンドツーエンドで行わせ、これを利用し
てHTPコネクショを確立する。図4に、HTPコネク
ション確立時の通信シーケンスを示す。HTPコネクシ
ョン確立の手順は、通常、以下の通りである。
【0024】1.TCPではコネクション確立のため
に、SYN、SYN+ACK、ACKの3つのパケット
を交換してコネクションを確立する。TGW1では、端
末1からのTCP−SYN受信時に、TCP・HTPコ
ネクションを管理するためのコネクションテーブルを作
成し、受信したTCP−SYNをHTP−SYNに書き
換えTGW2へ送信する。以降、端末1から再送された
TCP−SYNを受信した場合はこれを破棄する。
【0025】2.HTP−SYNを受信したTGW11
では、同様にコネクションテーブルを作成し、HTP−
SYNをTCP−SYNに書き換えて端末9に送信す
る。TCP−SYNが紛失した場合は、タイマにより再
送する。
【0026】3.端末9からのTCP−SYN+ACK
を受信したTGW11は、これをHTP−SYN+AC
Kに書き換えTGW10へ送信する。以降、TGW10
からHTP−ACKを受信するまでに、端末9からTC
P−SYN+ACKが再送された場合はこれを破棄す
る。
【0027】4.HTP−SYN−ACKを受信したT
GW10では、これをTCP−SYN+ACKに書き換
えて端末8に送信する。TCP−SYN+ACKが紛失
した場合は、タイマにより再送する。
【0028】5.TCP−ACKを受信したTGW10
では、これをHTP−ACKに書き換えてTGW11へ
送信しHTPコネクション確立を終了する。
【0029】6.HTP−ACKを受信したTGW11
では、これをTCP−ACKに書き換えて端末9に送信
し、HTPコネクション確立を終了する。以降、端末9
からTCP−SYN+ACK(再送)を受信した場合
は、TCP−ACKで応答する。
【0030】次に、HTPコネクション解放の手順につ
いて説明する。
【0031】HTPコネクションの解放についても、T
CPコネクション解放をエンドツーエンドで行わせつつ
実現する。図5に、HTPコネクションの解放時の通信
シーケンスを示す。その手順は、通常、以下の通りであ
る。
【0032】1.TCPではコネクション解放のため
に、通信方向毎にFINならびにFINに対するACK
を交換する。TGW10では、端末8から最初のTCP
−FINを受信すると、これをHTP−FINに書き換
え、TGW11に対して、全てのHTPデータパケット
を送信した後に送信する。以降、TGW11からHTP
−FINに対するHTP−ACKを受信するまでは、端
末8に対してTCP−FINを送達確認しない。
【0033】2.HTP−FINを受信したTGW2で
は、これをTCP−FINに書き換え、端末9に対し
て、全てのTCPデータパケットを送信した後に送信す
る。以降、端末9からTCP−FINに対するTCP−
ACKを受信するまでは、TGW10に対してHTP−
FINの送達確認を行わない。また、TCP−FINが
紛失した場合は、タイマにより再送する。
【0034】3.TCP−FINに対するTCP−AC
Kを受信したTGW11では、TGW10にHTP−F
INに対するHTP−ACKを送信する。
【0035】4.HTP−FINに対するHTP−AC
Kを受信したTGW10では、端末8にTCP−FIN
に対するTCP−ACKを送信する。
【0036】5.TGW10では、上記4.以降、端末
8からのTCP−FIN再送に対して、対応するTCP
−ACKを返す。
【0037】6.端末9から最後のTCP−FINを受
信すると、前記1.〜4.と同様の要領により、エンド
ツーエンドで、その送達確認を行わせる。ただし、TG
W10(TGW11)では、最後のHTP(TCP)−
ACK送信後は、HTPコネクションが解放されたもの
とみなし、コネクションテーブルを削除する。なお、端
末9に送信された最後のTCP−ACKが紛失した場合
も、HTPが介在することなく、エンドツーエンドでT
CP−FINとそのTCP−ACKが交換可能である。
【0038】上記HTPにおけるフロー制御の概要は以
下の通りである。
【0039】1.HTPでは、個々のHTPコネクショ
ンに付与される送信ウインドウ、ならびにリンク(=V
CC)中の全てのHTPコネクションに対して付与され
るグローバルクレジットにより、フロー制御を行う。こ
れらは、それぞれ、対向TGWからのHTP−ACKな
らびにHTP−GLCDTを用いて更新される。
【0040】2.個々のHTPコネクションに対するウ
インドウについては、TCP−ACK受信により保持し
ているTCPデータパケット(TCP−DT)が解放さ
れ、最大HTPウインドウサイズ(HTP winsi
ze)/N1[byte]のHTP−DTが新たに受信可
能となる毎に、対向するTGWへ更新を通知する。HT
P winsizeならびにN1は予め設定する。HT
Pパケットは、設定された送信ウインドウを超えてHT
P−DTを送信してはならない。
【0041】3.一方、グローバルクレジットを用いた
フロー制御の概要は以下の通りである。
【0042】a)HTPでは、全コネクションに共通の
16bitのシーケンス番号(GSN)を通知する。デ
ータを持つHTPパケットを送信する場合のみ、GSN
を1増やして送信する。
【0043】b)全コネクションで保持しているパケッ
ト数を管理して、パケット単位でクレジット(受信可能
なHTP−DTのGSNの最大値)を通知する。
【0044】c)HTPパケットに付加したGSNがC
DTより小さい場合に送信可能とする。送信できない場
合は、グローバル送信待ちキューにコネクションテーブ
ルを連結する。連結の順番は、HTP送信ウインドウの
空きの大きい順とする。ただし、データを持たないHT
P−ACK等はGSNの更新は行わず、従って、常に送
信可能である。
【0045】d)クレジット更新によりHTP−DTを
送信する際は、グローバル送信待ちキューの先頭のコネ
クションから送信する。またこの際に、1パケット送信
毎に、送信したコネクションテーブルを適切な位置(H
TP送信ウインドウの空きの大きい順)に連結し直す。
【0046】e)TCP−ACK受信により保持してい
るTCP−DTが解放され、グローバルウインドウサイ
ズ(GL winsize)/N2[個]のクレジットが
新たに通知可能になる毎に、対向するTGWへクレジッ
ト更新を通知する。GLwinsizeならびにN2は
予め設定する。
【0047】f)クレジットの値は、min(SSCO
P max winsize、max global wi
nsize)−(TCP側で保持しているTCPパケッ
ト数)+(最新の受信パケットに付加されたGSN)と
する。
【0048】これらにより、TGWに用意するバッファ
の量は、グローバルクレジットにより制限しつつ、TG
Wにパケットが滞留しなければ、個々のHTPコネクシ
ョンのウインドウは遅延に応じた値を使用することが可
能となる。
【0049】図6、図7及び図8は、HTP−DT送信
の処理手順を示すフローチャートである。TGWでは、
1)TCP−DT入力、2)HTP送信ウインドウ更
新、3)グローバルクレジット更新、のいずれかによっ
てHTP−DTを送信する。以下、その概要について説
明する。
【0050】1.TCP−DT入力時(図6) 入力されたTCP−DTをHTP−DTに変換し(S1
1)、コネクションテーブル内のHTP送信待ちキュー
を確認する(S12)。キューが空でなければ、いずれ
かのフロー制御により送信不可能と判断し、HTP送信
待ちキューにHTP−DTを連結して終了する(S1
6)。S12でキューが空であれば、グローバルクレジ
ットの有無を確認する(S13)。クレジットが無けれ
ば、HTP送信待ちキューにHTP−DTを連結し(S
17)、続いてHTP送信ウインドウを確認する(S1
8)。ウインドウが開いている場合は、グローバル送信
キューにコネクションテーブルを(新規に)連結してか
ら終了する(S19)。そうでない場合はそのまま終了
する。また、S13でグローバルクレジットが有る場合
は、HTP送信ウインドウを確認し(S14)、ウイン
ドウが開いている場合は、SSCOPへ出力する(S1
5)。また、ウインドウが閉じている場合は、HTP送
信待ちキューにHTP−DTを連結して終了する(S1
6)。
【0051】2.HTPウインドウ更新時(図7) HTP送信待ちキューを確認し(S21)、HTP−D
Tが存在しなければ終了する。S21でHTP−DTが
あれば、グローバルクレジットの有無を確認する(S2
2)。クレジットが無い場合は、グローバル送信キュー
にコネクションテーブルを新規に連結、もしくは更新し
たHTP送信ウインドウに合わせて再連結して終了する
(S25)。S22でクレジットが有る場合は、HTP
ウインドウを確認する(S23)。ウインドウが開いて
いれば、SSCOPへ出力し(S24)、S9へ戻る。
S23でウインドウが閉じている場合は終了する。
【0052】3.グローバルクレジット更新時(図8) グローバル送信待ちキューを確認し(S31)、キュー
が空であれば終了する。S31でキューにコネクション
テーブルが有れば、先頭のテーブルからHTP−DTを
取り出し、SSCOPへ出力する(S32、S33)。
次に、出力したコネクションのHTP送信待ちキューな
らびにHTP送信ウインドウが開いているかどうかを確
認する(S34)。HTP送信待ちキューが空、もしく
はHTP送信ウインドウが閉じていれば、グローバル送
信待ちキューからコネクションテーブルを削除し(S3
7)、グローバル送信待ちキューを確認する(S3
8)。キューが空であれば終了する。キューが空でない
場合は、S36から処理を続行する。S34でHTP送
信待ちキューが空でなく、かつHTP送信ウインドウが
開いている場合は、更新したHTP送信ウインドウに合
わせてコネクションテーブルをグローバル送信待ちキュ
ーに再連結する(S35)。続いて、グローバルクレジ
ットの有無を確認する(S36)。クレジットが無い場
合は終了し、ある場合はS32に戻る。
【0053】図9に、SSCOPのシーケンスを含む、
データ転送時の通信シーケンス例を示す。
【0054】1.端末(Terminal)8からのT
CP−DT(データ)パケットを受信したTGW10で
は、TCPのプロトコル処理に従ってTCP−ACKパ
ケットを返す。
【0055】2.TGW10では、受信したTCP−D
TをHTP−DTに書き換え、個々のコネクション毎の
フロー制御ならびにコネクション全体のフロー制御に従
って、TGW11へ送信する。
【0056】3.HTPパケット(HTP−DT、HT
P−ACK、HTP−GWNDなど)は、TGW10の
SSCOPにより、SD PDUを用いて転送される。
【0057】4.TGW11では、受信したHTP−D
TをTCP−DTに書き換え、TCPのプロトコル処理
に従って端末2に転送する。
【0058】5.TGW11では、端末9からのTCP
−ACK受信により、一定量のTCP−DTが送達確認
される毎に、個々のウインドウを更新するためのHTP
−ACKやグローバルクレジットを更新するためのHT
P−GWNDをTGW1へ送信する。
【0059】6.SDの紛失は、USTAT PDU 又
はPOLL PDUとSTAT PDUの交換により検出
し、SSCOPでは、紛失を通知されたSDのみを再送
する。HTPはSSCOPでの再送を意識しない。
【0060】
【実施例】次に、実施例として、上記実施形態のTGW
を使って実施した通信実験の結果について説明する。
【0061】1.実験構成 TCPゲートウェイの効果を実証するため、図10に示
すシステム構成により通信実験を行った。具体的には、
TGW−A、−Bとして、それぞれ2枚のATMボード
(FORE SBA200E)を有する2台のSPAR
C Station 20(SS20:SuperSPA
RC II 75MHz、128Mbytes、Sola
ris 2.5.1)、端末A、Bとして、それぞれ1
枚のATMボード(FORE PCA200E)を有す
る2台のPC(Pentium II 233MHz、6
4Mbytes、Solaris 2.6)を用意し、
これらを、ATMスイッチ(FORE ASX200)
ならびにネットワーク内に遅延や伝送誤りを挿入するた
めのデータチャネルシミュレータ(ADTECH SX
/14)を介して接続した。なお、回線については、端
末−TGW間はOC−3(155Mbps)、TGW間
はOC−3ならびにDS−3(45MMbps)を使用
した。
【0062】2.実験内容 実験内容は以下の通りである。
【0063】2−1.通常の(ウインドウスケールを持
たない)TCPを用いた場合の、TGWの有無によるス
ループットの比較。
【0064】a)DS3回線に、200msecの往復
伝送遅延(RTT)を挿入。
【0065】b)TGW無の状態は、TGWと接続して
いる2本のOC−3回線をTGWに入力する直前でルー
プバックさせることにより実現する。
【0066】c)TGWのウインドウサイズは、個々の
HTPコネクションに対するウインドウサイズが1Mb
ytes、グローバルクレジットの最大値が2048個
とする。
【0067】d)TCPのウインドウサイズは3656
0bytes(デフォルト値)とする。
【0068】2−2.伝送誤りのある環境における、ウ
インドウスケールを有するTCP(TGW無)と、(T
GW+通常のTCP)とのスループットの比較。
【0069】a)2−1.a)−c)に同じ。
【0070】b)(TGW+通常TCP)の場合のTC
Pのウインドウサイズは36560bytesとする。
ウインドウスケールをサポートするTCPでは1Mby
tesとする。
【0071】c)TCPコネクション数は1〜4とす
る。
【0072】d)ウインドウスケールを有するTCPを
用いる場合は、DS−3回線での輻輳を防ぐため、端末
でDS−3に合わせた速度でデータを送出するようにト
ラヒックシェーピングを行う。
【0073】e)BER=0(なし)、1E−9、1E
−8、1E−7のいずれかを誤り率を持つ、ランダムビ
ット誤りを挿入する。
【0074】2−3.輻輳のある環境における、ウイン
ドウスケールを有するTCP (TGW無)と、(TG
W+通常のTCP)とのスループットの比較。
【0075】a)2−2.a)−b)に同じ。
【0076】b)端末では、トラヒックシェーピングを
行わない(OC−3の速度で送信する)。この場合、A
TMスイッチにおけるDS−3回線への出力キューで輻
輳が発生する可能性がある。
【0077】c)図11に示すように、(1)同時に通
信開始・終了(Simultaneous)、(2)異
なるタイミングで通信開始・同時に通信終了(Diff
erent Start Time)、(3)大量のデー
タ転送と少量のデータ転送の組み合わせ(Transm
itting Large and Small Dat
a)、の3種類の状況設定に従って通信する。
【0078】3.結果 3−1.通常のTCPとの比較 通常のTCPを用いた場合、TGW無では1.47Mb
psのスループットであったが、TGW有では、33.
5Mbpsまでスループットが向上した。
【0079】3−2.ウインドウスケールオプションを
有するTCPとの比較(ランダムビット誤り有) 図12に、ランダムビット誤りを挿入した場合の、ウイ
ンドウスケールオプションを有するTCPと(通常のT
CP+TGW)の実験結果を示す。図12の縦軸はスル
ープット(Total Throughput)を、横
軸はビット誤り率(BER)をそれぞれ表している。す
なわちこのグラフは、ビット誤り率1E−09〜1E−
07に設定された擬似的な環境下でどのような速度が得
られるかを示したもので、実線は本発明による結果を、
破線は従来例による結果をそれぞれ表している。ただ
し、TCPGWの2及び4チャンネルは、ともに結果が
同じであったため、一つの実線で示している。
【0080】図12に示すように、TGWを用いること
によって、伝送誤りがある場合においても、スループッ
ト低下を防ぐことが可能となることが明らかとなった。
これは、TCPによる誤り回復機能ならびにエンドツー
エンドのフロー制御よりも、TGWを用いた場合のSS
COPによる誤り回復機能ならびにリンクバイリンクの
フロー制御の方が有効に機能しているためと考えられ
る。
【0081】3−3.輻輳のある環境におけるウインド
ウスケールオプションを有するTCPとの比較 状況設定(1) (TGW+通常のTCP)では、合計スループットが3
5.9Mbpsであり、また、個々のコネクションのス
ループットは全ての場合で17.95Mbpsであっ
た。一方、ウインドウスケールオプション付きのTCP
では、合計スループットが31.4Mbpsであり、個
々のコネクションのスループットは、最も悪い場合で1
8.6Mbpsと13.6Mbpsであった。この結果
から、TGWが回線の利用効率が高くかつ公平な通信を
実現していることがわかる。これは、ウインドウスケー
ル付きのTCPでは、エンドツーエンドでフロー制御を
行うため、ATMスイッチにおけるDS3への出力時に
輻輳が発生するのに対して、TGWでは、TCP側で端
末からの送信を制御しながら、DS3回線に応じた送信
レートでHTPパケットを送信可能であり、従って輻輳
が発生しないためと考えられる。
【0082】状況設定(2) (TGW+通常のTCP)では、最初に開始したコネク
ション1のスループットが18Mbps、次に開始した
コネクション2のスループットは17.9Mbpsであ
った。一方ウインドウスケールオプション付きのTCP
では、それぞれ、19.2Mbpsと14.3Mbps
であった。これらの結果からも、状況設定1で選られた
知見に加えて、TGWが後から加わったコネクションに
対しても公平なスループットを提供可能であることがわ
かる。これは、状況設定1と同様の理由に加えて、TG
Wでは、送信側TCPとのフロー制御を遅延の少ない環
境で終端することで、送信側端末のTCPにおいて輻輳
を回避するために行われるスロースタート手順を素早く
終了させているためであると考えられる。
【0083】状況設定(3) 図13に、状況設定3に従った通信実験の結果を示す。
合計スループットならびに個々のスループット共に、
(TGW+通常のTCP)の方が高い値を得ている。特
に、少量データ転送のスループットが、では、合計スル
ープットが34.5Mbpsであり、また、大量データ
転送のスループットを大幅に改善している。これらの結
果も、状況設定1、2と同様の理由によるものと考えら
れる。
【0084】
【発明の効果】以上説明したように、この発明に係わる
TCP通信高速化装置においては、送信側端末から要求
されるバッファ量を制限しつつ、回線帯域をコネクショ
ン数に依存することなく有効かつ公平に使用することが
できるので、複数のTCPコネクションを扱う場合に効
率的なバッファ利用を行うことができる。
【図面の簡単な説明】
【図1】(a),(b)は実施形態に係わるネットワー
クシステムのプロトコル構成を示す説明図。
【図2】TGWのさらに詳細なプロトコル構成とパケッ
トの流れを示す説明図。
【図3】広域ATM網をベースとしたネットワークシス
テムの概略構成図。
【図4】HTPコネクション確立時の通信シーケンスを
示す説明図。
【図5】HTPコネクションの解放時の通信シーケンス
を示す説明図。
【図6】HTP−DT送信におけるTCP−DT入力時
の処理手順を示すフローチャート。
【図7】HTP−DT送信におけるHTPウインドウ更
新時の処理手順を示すフローチャート。
【図8】HTP−DT送信におけるグローバルクレジッ
ト更新時の処理手順を示すフローチャート。
【図9】SSCOPのシーケンスを含むデータ転送時の
通信シーケンス例を示す説明図。
【図10】実施例に係わるシステム構成を示す概略構成
図。
【図11】実施例における3種類の状況設定の内容を示
す説明図。
【図12】ランダムビット誤りを挿入した場合のウイン
ドウスケールオプションを有するTCPと(通常のTC
P+TGW)の実験結果を示すグラフ。
【図13】状況設定3に従った通信実験の結果を示す説
明図。
【符号の説明】
1,2 LAN 3,4 ルータ 5,6 ATM交換機 7 広域ATM網 8,9 ATM端末 10,11 TGW
───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉泉 浩平 東京都新宿区西新宿2丁目3番2号 国際 電信電話株式会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のLAN間を接続してTCP/IP
    によるデータ通信を実現している広域網の両端に付加さ
    れるTCP通信高速化装置であって、 OSI参照モデルにおけるデータリンク層でのパケット
    中継機能を有するとともに、受信したパケットに対しO
    SI参照モデルにおけるトランスポート層のTCPまで
    の処理を提供するパケット処理手段と、 送信側端末から入力されたTCPパケットに対し、受信
    側端末に代わってTCPのフロー制御ならびに再送制御
    を終端する終端手段と、 広域網を介して対向配置された同装置との間で、独自の
    フロー制御手順ならびにSSCOPを用いたデータリン
    ク層での選択再送手順を用いてパケットを転送する第1
    のパケット転送手段と、 受信側端末に対し、送信側端末に代わってTCPのフロ
    ー制御ならびに再送制御に従ってパケットを転送する第
    2のパケット転送手段と、 を備え、複数のTCPコネクションに対し、前記終端手
    段、第1及び第2のパケット転送手段の処理を同時に提
    供することを特徴とするTCP通信高速化装置。
  2. 【請求項2】 対向する装置との間では、個々のTCP
    コネクションに対し、遅延に応じた広いウインドウサイ
    ズに基づくフロー制御を提供すると同時に、全てのTC
    Pコネクションを対象としたフロー制御を行うことを特
    徴とする請求項1記載のTCP通信高速化装置。
JP14344998A 1998-05-25 1998-05-25 Tcp通信高速化装置 Expired - Fee Related JP3315926B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP14344998A JP3315926B2 (ja) 1998-05-25 1998-05-25 Tcp通信高速化装置
US09/314,710 US6535515B1 (en) 1998-05-25 1999-05-19 TCP communication speed improving system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14344998A JP3315926B2 (ja) 1998-05-25 1998-05-25 Tcp通信高速化装置

Publications (2)

Publication Number Publication Date
JPH11341072A true JPH11341072A (ja) 1999-12-10
JP3315926B2 JP3315926B2 (ja) 2002-08-19

Family

ID=15338969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14344998A Expired - Fee Related JP3315926B2 (ja) 1998-05-25 1998-05-25 Tcp通信高速化装置

Country Status (2)

Country Link
US (1) US6535515B1 (ja)
JP (1) JP3315926B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005020524A1 (ja) * 2003-08-20 2005-03-03 Nec Corporation セッション中継装置及び中継方法
US7054902B2 (en) 2001-10-23 2006-05-30 Packeteer, Inc. Multicast delivery systems and methods
KR100649643B1 (ko) * 2005-05-11 2006-11-27 부산대학교 산학협력단 Tcp/ip 가속장치
JP2012147375A (ja) * 2011-01-14 2012-08-02 Fujitsu Advanced Engineering Ltd スイッチ装置、輻輳防止方法、及び輻輳防止プログラム
JP2013179502A (ja) * 2012-02-28 2013-09-09 Fujitsu Ltd 通信制御装置、通信制御方法および通信制御プログラム
JP2013247632A (ja) * 2012-05-29 2013-12-09 Mitsubishi Electric Corp Tcp通信高速化装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3604615B2 (ja) * 2000-04-21 2004-12-22 株式会社東芝 通信装置、中継装置および通信制御方法
US6757248B1 (en) * 2000-06-14 2004-06-29 Nokia Internet Communications Inc. Performance enhancement of transmission control protocol (TCP) for wireless network applications
US6822947B2 (en) * 2001-02-02 2004-11-23 Telefonaktiebolaget L M Ericsson (Publ) Radio network emulator for a packet core network
GB2403378B (en) * 2003-06-27 2007-05-30 Ipwireless Inc Method and arrangement for TCP flow control
CN100423513C (zh) * 2006-03-21 2008-10-01 杭州华三通信技术有限公司 一种tcp连接的合并方法
JP2008099139A (ja) * 2006-10-13 2008-04-24 Fujitsu Ltd 通信方法
US8374091B2 (en) * 2009-03-26 2013-02-12 Empire Technology Development Llc TCP extension and variants for handling heterogeneous applications
US10229230B2 (en) * 2015-01-06 2019-03-12 International Business Machines Corporation Simulating a large network load

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2671097B1 (fr) 1990-12-28 1993-04-23 Sanofi Sa Souche mutante de xanthomonas campestris, procede d'obtention de xanthane et xanthane non visqueux.
CN1104687C (zh) * 1996-01-31 2003-04-02 伊普思龙网络公司 传输网络中在包路由选择和包交换之间动态转换的改进方法及设备
JPH1032584A (ja) * 1996-07-17 1998-02-03 Matsushita Electric Ind Co Ltd 再送制御機能を有するデータ転送装置
JPH1053676A (ja) 1996-08-09 1998-02-24 Chisso Corp 低溶出性成形品
JPH1079740A (ja) * 1996-09-03 1998-03-24 Hitachi Ltd Atmスイッチを用いたルータ装置
US6105064A (en) * 1997-05-30 2000-08-15 Novell, Inc. System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval
US6252878B1 (en) * 1997-10-30 2001-06-26 Cisco Technology, Inc. Switched architecture access server
US6247058B1 (en) * 1998-03-30 2001-06-12 Hewlett-Packard Company Method and apparatus for processing network packets using time stamps

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054902B2 (en) 2001-10-23 2006-05-30 Packeteer, Inc. Multicast delivery systems and methods
WO2005020524A1 (ja) * 2003-08-20 2005-03-03 Nec Corporation セッション中継装置及び中継方法
KR100649643B1 (ko) * 2005-05-11 2006-11-27 부산대학교 산학협력단 Tcp/ip 가속장치
JP2012147375A (ja) * 2011-01-14 2012-08-02 Fujitsu Advanced Engineering Ltd スイッチ装置、輻輳防止方法、及び輻輳防止プログラム
JP2013179502A (ja) * 2012-02-28 2013-09-09 Fujitsu Ltd 通信制御装置、通信制御方法および通信制御プログラム
JP2013247632A (ja) * 2012-05-29 2013-12-09 Mitsubishi Electric Corp Tcp通信高速化装置

Also Published As

Publication number Publication date
JP3315926B2 (ja) 2002-08-19
US6535515B1 (en) 2003-03-18

Similar Documents

Publication Publication Date Title
EP1507353B1 (en) Transmission/reception of data flows with different QoS requirements
JP4164365B2 (ja) デュアル・プロキシ装置を設けることによる無線インタフェースを介するtcp性能の改良技術
US5519699A (en) Method of protocol termination and a packet data communication system applied the method
EP0454364B1 (en) High speed transport protocol with two windows
JP3448481B2 (ja) 非対称回線用tcp通信高速化装置
JP3315926B2 (ja) Tcp通信高速化装置
JP2000115232A (ja) デ―タ・パケット送信方法および装置
WO2003043285A2 (en) Flow control between performance enhancing proxies over variable bandwidth split links
KR19990066799A (ko) 에이티엠 통신망내에서 수행되는 인버스 멀티플렉싱 과정
JPH10200598A (ja) 通信装置
US6473430B2 (en) Systems and methods for connecting frame relay devices via an ATM network using a frame relay proxy signaling agent
JPH07250100A (ja) 広域網を用いたlan間の相互通信方式及びこれに用いる相互接続装置
JP2001156795A (ja) パケットのフロー制御装置および方法
Cisco X.25 and LAPB Commands
Cisco X.25 Configuration Commands
Cisco X.25 Configuration Commands
Cisco X.25 Configuration Commands
Cisco X.25 Configuration Commands
Cisco X.25 and LAPB Commands
Cisco X.25 and LAPB Commands
Cisco X.25 and LAPB Commands
Cisco X.25 Configuration Commands
Cisco X.25 Configuration Commands
Cisco X.25 Configuration Commands
Cisco X.25 Configuration Commands

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110607

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120607

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140607

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees