[go: up one dir, main page]

JPH10200598A - 通信装置 - Google Patents

通信装置

Info

Publication number
JPH10200598A
JPH10200598A JP236597A JP236597A JPH10200598A JP H10200598 A JPH10200598 A JP H10200598A JP 236597 A JP236597 A JP 236597A JP 236597 A JP236597 A JP 236597A JP H10200598 A JPH10200598 A JP H10200598A
Authority
JP
Japan
Prior art keywords
tcp
network
protocol data
transport layer
data unit
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
JP236597A
Other languages
English (en)
Other versions
JP3482091B2 (ja
Inventor
Masahiro Takagi
雅裕 高木
Eiji Kamagata
映二 鎌形
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP00236597A priority Critical patent/JP3482091B2/ja
Priority to US08/999,330 priority patent/US6091733A/en
Publication of JPH10200598A publication Critical patent/JPH10200598A/ja
Application granted granted Critical
Publication of JP3482091B2 publication Critical patent/JP3482091B2/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
    • 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/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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 TCPの標準的な実装をもつ端末のTCPの
実装を変更することなく、該端末を非対称な通信路に接
続した場合にTCPのスループットを向上させることが
できる通信装置の提供。 【解決手段】 通信装置100を介して端末111等か
ら端末121等に対し、TCPによって送信するデータ
は、通信装置100によって横取りされて(TCP層の
引き上げられて)、一旦元のデータに組み立てられ、更
に1つのTCPセグメントが複数のIPデータグラムに
フラグメントされるようにTCPセグメントのサイズを
変換した後、端末121等に対して送信される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、トランスポート層
を含む通信プロトコルを使用する通信装置に関する。
【0002】
【従来の技術】TCP/IPは代表的なトランスポート
層を含む通信プロトコルである。従来のTCP/IPネ
ットワークの構成例を図10に示す。
【0003】同図に示すネットワークでは、ネットワー
ク610に属する端末131、132とこれとは異なる
ネットワーク620に属する端末141、142、14
3とが相互に通信するために、ネットワーク610とネ
ットワーク620とをIPルータ150により接続して
いる。IPルータ150は、IPアドレスa.a.a.
1またはa.a.b.1のインタフェースからIPデー
タグラムを受信し、該IPデータグラムのIPヘッダの
送信先IPアドレスをキーとしてルーティングテーブル
を引き、出力すべき適切なインタフェースにIPデータ
グラムを出力する。例えば、IPアドレスa.a.a.
2の端末131からIPアドレスa.a.b.2の端末
141に送信されたIPデータグラムは、IPルータ1
50のa.a.a.1インタフェースで受信され、a.
a.b.1インタフェースに出力され、端末141に達
する。
【0004】ところで、ネットワークを利用する多くの
マルチメディアサービスでは、データをサーバ端末から
クライアント端末にダウンロードするものが多い点に着
目して、最近では端末への入力の帯域幅が端末からの出
力の帯域幅に比べて極めて広い、非対称なアクセスネッ
トワークが開発されている。
【0005】しかし、このような非対称な伝送路を持つ
ネットワークでは、推奨されているTCPの実装方式に
おいて「2つのTCPセグメントに対して1つのack
を返す」というアルゴリズムがあることから、サーバか
らクライアント方向へのTCPのスループットを低下さ
せることがある。なぜならば、サーバからクライアント
方向への帯域幅は、 (クライアント→サーバ方向帯域幅)×(2×最大セグ
メントサイズ)/ackサイズ を上回ることができないからである。
【0006】そこで、2個のTCPセグメントに対して
1つのackを返すというアルゴリズムを変更し、n個
のTCPセグメント(n>2)に対して1つのackを
返すようにして、ackの数を減らせばスループットは
向上するが、これでは推奨されたTCPの実装方式を破
ることになり、しかも全ての端末のTCPの実装を変更
することは困難である。
【0007】なお、TCPセグメントはより一般的には
トランスポート層プロトコルデータユニット、IPデー
タグラムはネットワーク層プロトコルデータユニットと
呼ばれる。
【0008】
【発明が解決しようとする課題】本発明は、このような
課題を解決するためになされたもので、TCPの標準的
な実装をもつ端末のTCPの実装を変更することなく、
該端末を非対称な通信路に接続した場合にTCPのスル
ープットを向上させることができる通信装置を提供する
ことを目的とする。
【0009】
【課題を解決するための手段】かかる課題を解決するた
め、請求項1記載の本発明は、少なくともトランスポー
ト層を持つ通信プロトコルにより通信を行う通信装置で
あって、第1のネットワークから第1のトランスポート
層プロトコルデータユニット(PDU)を入力する第1
のインタフェース手段と、前記第1のトランスポート層
プロトコルデータユニットを、このトランスポート層プ
ロトコルデータユニットに含まれたデータを含みかつ第
1のトランスポート層とは異なるプロトコルデータユニ
ットサイズの第2のトランスポート層に変換する変換手
段と、前記第2のトランスポート層プロトコルデータユ
ニットを第2のネットワークへ出力する第2のインタフ
ェース手段とを具備する。
【0010】請求項2記載の本発明は、少なくともトラ
ンスポート層を持つ通信プロトコルにより通信を行う通
信装置であって、第1のネットワークへトランスポート
層プロトコルデータユニットを出力する第1のインタフ
ェース手段と、第2のネットワークへトランスポート層
プロトコルデータユニットを出力する第2のインタフェ
ース手段と、前記第1のインタフェース手段より複数の
ネットワーク層プロトコルデータユニットに分割されな
いプロトコルデータユニットサイズのトランスポート層
プロトコルデータユニットを出力し、前記第2のインタ
フェース手段より複数のネットワーク層プロトコルデー
タユニットに分割されたプロトコルデータユニットサイ
ズのトランスポート層プロトコルデータユニットを出力
することを許容する手段とを具備する。
【0011】請求項3記載の発明は、請求項1または2
記載の通信装置であって、前記第2のインターフェース
手段が、出力の帯域幅が入力の帯域幅よりも大きい非対
称性をもつことを特徴とする。
【0012】請求項4記載の発明は、少なくともトラン
スポート層を持つ通信プロトコルにより通信を行う通信
装置であって、第1のネットワークから第1のトランス
ポート層プロトコルデータユニットを入力する第1のイ
ンタフェース手段と、前記第1のネットワークにネット
ワーク層ルータを介して接続され、かつ第1のネットワ
ークから第2のネットワーク方向の帯域が逆方向よりも
大きい非対称性を持つ第2のネットワークと、前記イン
タフェース手段から第1のネットワークと第2のネット
ワークを経由するトランスポート層プロトコルデータユ
ニットを出力する場合、前記第2のネットワークにおい
て複数のネットワーク層プロトコルデータユニットに分
割されるプロトコルデータユニットサイズのトランスポ
ート層プロトコルデータユニットを出力する手段とを具
備する。
【0013】請求項5記載の発明は、請求項2〜4のい
ずれかに記載の通信装置であって、複数のネットワーク
層プロトコルデータユニットに分割されるプロトコルデ
ータユニットサイズのトランスポート層プロトコルデー
タユニットを出力することを許容するか否かを、該トラ
ンスポート層プロトコルデータユニットを受信する端末
の属性に基づき決定することを特徴とする。
【0014】例えば、非対称性の高い伝送路を持つネッ
トワークでは、サーバからクライアント方向の広帯域側
の帯域が使い尽くされる前に、狭帯域側の帯域をack
が圧迫する。これに対して、本発明では、例えば第2の
インターフェースから出力される第2のTCPセグメン
トの長さを長くなるようにすれば、同じ全体の送信デー
タのサイズに対するackが減少し、サーバからクライ
アントへのスループットが向上する。
【0015】つまり、非対称性の大きな伝送路におい
て、帯域幅は、 (クライアント→サーバ方向帯域幅)×(n×最大セグ
メントサイズ)/ackサイズ によって制限されるが、本発明により最大セグメントサ
イズ(第2のTCPセグメントの長さ)が大きく制御さ
れるので、この制限を取り除くことができる。
【0016】本発明の通信装置は、TCPセグメントが
非対称通信路においては例えば複数のIPフラグメント
に分割されるほど大きくなるようにTCPセグメントサ
イズを制御することが可能となるため、同じサイズのバ
ルクデータをサーバ端末からクライアント端末に送るた
めのTCPセグメントの数を減らすことができ、この結
果TCPセグメントに対するackが減るのである。a
ckが減少するのは、通常のTCPの実装では、TCP
セグメントが失われずに順調に流れ(重複ackが発生
しない)、かつクライアント端末のアプリケーシヨンが
十分に速くデータを読み続ける(閉じた受信ウィンドウ
が大きく開いたことを示すackが送信されない)限
り、1つのTCPセグメントに複数のackが返される
ことはない、という性質を利用している。
【0017】本発明はサーバ端末及びクライアント端末
のTCPプロトコルの実装の変更を要求しない。よっ
て、非対称な伝送路を持つネットワークの設備として、
本発明の通信装置を導入すればその効果は絶大である。
【0018】
【発明の実施の形態】以下、図面を参照して本発明の一
実施形態を詳細に説明する。
【0019】図1に本発明の一実施形態に係る通信装置
の構成を示す。
【0020】通信装置100は、アプリケーション20
0、201と、TCP最大セグメントサイズ制御部30
1、TCP入力部303、TCP出力部304及びTC
Pセグメントサイズ変換部302を含むTCP中継部3
05を備えたTCP層300と、IP中継部401、I
P入力部402及びIP出力部403を備えたIP層4
00、IF入力部501及びIF出力部502を備えて
IPアドレスa.a.a.1を持つIF部500と、I
F入力部511及びIF出力部512を備えてIPアド
レスa.a.b.1を持つIF部510とを備える。
【0021】ここで、IF部500は入力と出力の帯域
幅が等しい対称な伝送路(後述のネットワーク610)
に接続され、IF部510は出力側の帯域幅が入力側の
帯域幅よりも大きな非対称伝送路(後述のネットワーク
620)に接続される。
【0022】また、図1中、ブロック間の実線の矢印は
データの流れを示し、破線の矢印は制御の流れを示す。
【0023】なお、UDP部等の本発明に関係の薄い部
分は図示を省略している。
【0024】図2にデータ通信装置100を含むネット
ワーク構成図を示す。
【0025】IPアドレスa.a.a.2を持つ端末1
11、IPアドレスa.a.a.3を持つ端末112は
入出力対称な伝送路を持つネットワーク610に接続さ
れている。
【0026】IPアドレスa.a.b.2を持つ端末1
21、IPアドレスa.a.b.3を持つ端末122、
IPアドレスa.a.b.4を持つ端末123は非対称
な伝送路を持つネットワーク620に接続されている。
但し、各端末121、122、123は、通信装置10
0の場合と異なり、入力側の帯域幅が出力側の帯域幅よ
りも大きい。
【0027】IP層400は、通常のIP層と次の点で
異なる。
【0028】通常のIP層では、IP入力部402は自
装置(ホスト)宛のIPデータグラム(ここでは送信先
アドレスがa.a.a.1またはa.a.b.1のも
の)を上位層(TCP層)に上げ、それ以外をIP中継
部401に渡す。しかし、本発明に係るIP入力部40
2はIPデータグラムの送信先アドレスが定められたネ
ットワーク(ここではネットワーク620)に属する端
末のアドレス(端末121、122及び123のIPア
ドレスa.a.b.2、a.a.b.3、a.a.b.
4)であり、かつプロトコルがTCPである場合は、該
IPデータグラムをTCP部400に送る。以下、この
IPデータグラムを「TCP中継対象IPデータグラ
ム」と呼ぶ。但し、IPデータグラムの送信先アドレス
が予め登録されたネットワークまたはホストアドレスで
あっても、プロトコルがTCP以外である場合はIP中
継部401に該IPデータグラムを渡す。
【0029】TCP層300は、通常のTCP層と次の
点で異なる。
【0030】通常のTCP層では、TCP入力部303
はTCPセグメントから取り出したデータを送信先ポー
ト番号に対応するアプリケーション200、201に送
る。しかし、本発明に係るTCP入力部303は、IP
入力部402から送られてきたTCPセグメントにTC
P中継対象IPデータグラムが含まれていた場合には、
このTPCセグメントから取り出したデータをTCP中
継部305に送る。
【0031】通常、SYNメッセージの交換によりTC
Pのコネクションを確立する際には、TCP最大セグメ
ント制御部301は自側のTCP最大セグメントサイズ
(mss:Maximum Segment Siz
e)と相手側のTCP mssとの小さい方を、該TC
Pコネクションのmssとしている。ここで、自側のm
ssはそのコネクションが経由するIF部の最大転送ユ
ニットサイズ(MTU:Maximum Transf
er Unit)からTCPとIPのヘッダサイズを差
し引いた値を元に決める(実装上の最適化により若干異
なる)。相手側のmssは相手の出すSYNメッセージ
のオプションからわかる。しかし、本発明に係るTCP
最大セグメントサイズ制御部301は、TCPコネクシ
ョンを終端するいずれか一方の端末のIPアドレスが定
められたネットワーク(ここではネットワーク620)
に属する端末のアドレス(端末121、122及び12
3のIPアドレスa.a.b.2、a.a.b.3、
a.a.b.4)である場合(前述のTCP中継対象I
Pデータグラムは通信装置100のIPアドレスa.
a.a.1とa.a.b.1を含まないが、ここでは含
んでいても良い)、該端末に対向する側のIF部510
にフラグメントされたIPデータグラムが流れるよう
に、該IF部のMTUからTCPとIPのヘッダの大き
さを差し引いた大きさよりも大きな値を当該TCPコネ
クションのmssとする。通信装置100において、2
つのTCPコネクションを接続して元来のTCPコネク
ションを中継する場合は、2つのTCPコネクションの
内、定められたネットワークに属する端末側のTCPコ
ネクションの値をmssとする。
【0032】このmssの値は、TCP出力部304に
伝えられる。
【0033】なお、登録されたネットワークに通信装置
100が直接接続されず、1つ以上のルータを介して登
録されたネットワークに接続される場合には、例えば通
信装置とネットワーク620との間に別のネットワーク
とルータが介在するような場合には、登録されたネット
ワークより手前のルータのいずれかでフラグメントが行
われるようなmssとする。
【0034】SYNメッセージの交換時に、当該SYN
メッセージの発信元と送信先のIPアドレスが、通信装
置100のIPアドレスに対応しない場合は、当該TC
Pコネクションを通信装置100で中継する。このた
め、TCP最大セグメント制御部301は、TCPセグ
メントサイズ変換部302のしきい値をmss以上の値
に設定する。
【0035】TCPセグメントサイズ変換部302は、
TCP入力部303から受け取ったバッファ内のデータ
がしきい値を越えると、TCP出力部304にデータを
送る。TCPセグメントサイズ変換部302が確保する
バッフアのサイズは、定められたネットワーク(ここで
はネットワーク620)に属する端末(端末121.1
22、及び123)側の受信ウィンドウサイズを元(受
信ウインドウサイズの数倍程度)に決める。
【0036】また、TCP中継部305は、TCPセグ
メントサイズ変換部302の他に、中継すべきTCPコ
ネクションの一方から受け取ったSYNメッセージ、F
INメッセージ等を他方に中継する。
【0037】また、TCP入力部303とTCP出力部
304によって実現されるTCP再送部の再送アルゴリ
ズムは、以下の点で通常のTCP再送アルゴリズムと異
なる。 TCP入力部303は、重複ack、例えば既
にackされたシーケンス番号を持ち、受信ウィンドウ
サイズが直前のackと同じ値であるヘッダだけのTC
P ackを1つ受信すると、直ちに該シーケンス番号
を持つTCPセグメントを送信するようにTCP出力部
304に要求する。
【0038】さらに、TCP入力部303は、上記重複
ackに対する再送を行った後に受信するTCP ac
kのシーケンス番号が、既に送信済みのシーケンス番号
を持つ場合、直ちに該シーケンス番号を持つTCPセグ
メントを送信するようにTCP出力部304に要求し、
この後送信済みでないシーケンス番号を持つTCPac
kを受信するまでの間、連続的に受信する送信済みのシ
ーケンス番号を持つTCP ackに対し該シーケンス
番号を持つTCPセグメントを直ちに再送するようにT
CP出力部304に要求する。
【0039】このように構成された通信装置100内の
アプリケーション200または201が、図3に示すよ
うに、定められた端末121、122または123に対
し、TCPによって送るデータは、1つのTCPセグメ
ントが複数のIPデータグラムにフラグメントとされた
形になる。
【0040】また、図4に示すように、通信装置100
より、端末111または112から定められた端末12
1、122または123に対し、TCPによって送信す
るデータは、通信装置100によって横取りされて(T
CP層の引き上げられて)、一旦元のデータに組み立て
られ、更に1つのTCPセグメントが複数のIPデータ
グラムにフラグメントされるようにTCPセグメントの
サイズを変換した後、端末121、122または123
に対して送信される。
【0041】ある端末(端末121等)が定められたネ
ットワーク(ネットワーク620等)に属する場合で
も、該端末がここで提供される通常のTCP/IPへの
追加機能の適用を拒否した場合は、通信装置100は該
TCPコネクションに対しては、拡張のない通常のTC
P/IP通信装置として動作する。例えば定められたネ
ットワーク内の端末からのSYNメッセージのTCPオ
プションに拒否を要求する情報を追加することができ
る。
【0042】次に、このようの構成された通信装置10
0の動作を図5〜図7に基づき説明する。
【0043】図中の斜め矢印はTCPセグメントの流れ
を示し、縦方向の長さはセグメントを送るために必要な
時間を示す。帯域幅が一定でセグメントサイズが大きく
なれば傾きは大きくなり、セグメントサイズが一定で帯
域幅が広くなれば傾きは小さくなる。
【0044】サーバ端末からTCP中継装置、TCP中
継装置からサーバ端末、及びTCP中継装置からクライ
アント端末の方向は同じ帯域幅を持つが、クライアント
端末からTCP中継装置方向への帯域幅は、前記の3つ
よりも狭い。つまり、この例は、ネットワーク610に
属するサーバ端末(端末111または112)から通信
装置100を経由して、クライアント端末(端末12
1、122または123)に大きなデータを転送するも
のである。
【0045】クライアント端末は、サーバ端末に対し
て、シーケンス番号=992、クライアント端末側ms
s=1000、受信ウィンドウサイズ=16000とい
う情報を含むSYNメッセージ[1]を送る。TCP中
継装置のIP入力部402はTCP中継対象IPデータ
グラムとして、通常はIP層で中継されるIPデータグ
ラムを横取りして、TCP層に上げる。
【0046】TCP最大セグメントサイズ制御部301
は、TCP中継装置のIPアドレスをa.a.b.1と
し、クライアント端末間に設定されるTCPコネクショ
ンのmssを予め定められた4000とし、TCP出力
制御部304に伝える。
【0047】また、TCP最大セグメントサイズ制御部
301は、TCPセグメントサイズ変換部302のしき
い値を4000に設定する。
【0048】さらに、TCPセグメントサイズ変換部3
02は、受信ウィンドウサイズの数倍、例えば3倍のサ
イズである48000のバッフアを確保する。
【0049】TCP中継部305はSYNメッセージ
[1]をSYNメッセージ[2]として中継する。
【0050】SYNメッセージ[2]のmssはIPア
ドレスa.a.a.1で終端される通常のTCPコネク
ションの場合と同じ方法で定めれば良く、一般にはSY
Nメッセージ[1]の値と一致しない。また、受信ウィ
ンドウサイズも必ずしも一致させる必要はない。バッフ
アは48000確保してあるのでこれを受信ウィンドウ
サイズにできるが、受信ウィンドウサイズをあまりに大
きくすると、かえってTCPの性能を落とす場合がある
ので、ここでは受信ウィンドウサイズを16000とし
てある。
【0051】なお、受信ウィンドウサイズがより小さく
な例がack[81]、[84]に示されている。
【0052】TCP中継部305は、サーバ端末が返す
SYNメッセージ[3]をSYNメッセージ[4]とし
てクライアント端末に中継する。SYNメッセージ
[4]のmssは、クライアント端末が送るTCPセグ
メントの大きさを決める元になるデータである。このm
ssは、TCP中継装置が送るTCPセグメントサイズ
とは無関係にできるので、TCP最大セグメントサイズ
制御部402が定めたmssである必要はなく、ここで
はIPアドレスa.a.b.1のIF部510のMTU
サイズから決めた値を用いている。この際に、クライア
ント端末からサーバ端末方向へのバッファの確保等も行
う。
【0053】クライアント端末がTCPセグメント
[5]によって、「get data」というコマンド
をサーバ端末に送る。すると、クライアント端末からサ
ーバ端末へのデータは、TCP中継装置によって直ちに
サーバ端末にTCPセグメント[6]として送られる。
【0054】サーバ端末は、これに応じて要求されたデ
ータの一部をTCPセグメント[7]、[9]、[1
0]、[12]としてクライアント端末に送る。
【0055】TCP中継装置はこれを横取りして、すな
わちTCP層に引き上げつつ、ack[8]、[11]
を返す一方で、送られたデータをTCPセグメントサィ
ズ変換部302のバッファに溜める。
【0056】ackに示す受信ウィンドウサイズは、バ
ッファの残り容量が32000を割らない限り、160
00に固定する。
【0057】TCPセグメント[12]を受け取った時
点でTCPセグメントサイズ変換部302のしきい値に
達するので、TCPセグメントサイズ変換部302は、
バッファ内のデータを送信するようにTCP出力部30
4に要求する。TCP出力部304は送られたデータが
mssに達しているため、直ちにこれを1つのTCPセ
グメント[13]として送る。このTCPセグメント
[13]はIP出力部403によって、4つのIPデー
タグラムにフラグメントとされて(図4参照)、クライ
アント端末に達する。
【0058】TCPセグメント[19]、[30]など
の受信によって、再びTCPセグメントサイズ変換部3
02のしきい値に達するので、TCPセグメントサイズ
変換部302は、バッファ内のデータを送信するように
TCP出力部304に要求するが、既知のTCPのスロ
ースタートアルゴリズムによって決められる輻輳ウィン
ドウの制限(この時点で4000)により、TCP出力
機能304はack[20]を受信すると輻輳ウィンド
ウサイズは8000となるので、TCP出力部304は
2つのTCPセグメント[35]、[42]をクライア
ント端末に送信する。
【0059】ここでクライアント端末は、2つTCPセ
グメントを受信する度に1つのackを返す。これはT
CPで推奨されている実装である。このアルゴリズムに
従うクライアン卜端末に対しては、TCPセグメントサ
イズが大きくすれば、同じデータ量を送信する際のac
kの数が減少することは明らかである。クライアント端
末が1つのTCPセグメントに対して1つのackを返
す場合もあるが(図示せず)、やはリTCPセグメント
サイズを十分に大きくすれば、ackの数は減少する。
通常のTCPの実装では、TCPセグメントが失われず
に順調に流れ(重複ackが発生しない)、かつクライ
アント端末のアプリケーションが十分に速くデータを読
み続ける(閉じた受信ウィンドウが大きく開いたことを
示すackが送信されない)限り、1つのTCPセグメ
ントに複数のackが返されることはない。
【0060】図7にこのTCPコネクションを切断する
シーケンスを示す。
【0061】サーバ端末は最後のデータにFINメッセ
ージを重畳したTCPセグメント[4]を送信する。T
CP中継装置のack[5]により、サーバ端末からT
CP中継装置方向のTCPコネクションは切断される。
【0062】TCP中継装置はTCPセグメントサイズ
変更部302のバッフアが空になるまでクライアント端
末にデータの送信(TCPセグメント[7]、[8]、
[9]、[10])し続ける。バッフアのデータはしき
い値を越えていないが、FINがあるため、それを最後
のデータとして、FINメッセージを重畳させたTCP
セグメーント[11]を送る。
【0063】ack[12]でTCP中継装置からクラ
イアント端末方向のTCPコネクションが閉じる。クラ
イアント端末のアプリケーションの要求でFINメッセ
ージ[13]が送られ、これに対するack[14]で
クライアント端末からTCP中継装置方向へのTCPコ
ネクションが閉じる。これによつて、TCP中継装置か
らサーバ端末方向へのこれ以上のデータの流れが無いこ
とが保証されるので、TCP中継装置はFINメッセー
ジ[15]をサーバ端末に送り、これに対するack
[16]により、最後に残ったTCP中継装置からサー
バ端末方向へのTCPコネクションも閉じられる。
【0064】次に、図8〜9に基づき通信装置100自
体がサーバ端末として、クライアント端末(端末12
1、122または123)と通信する場合の動作を説明
する。TCPコネクションの設定と開放及びTCPセグ
メントが失われない順調な場合のバルクデータの流れに
関しては、上述した動作例から中継に関する部分を除い
たものにほぼ等しいので省略する。ここでは、TCPセ
グメントが失われた場合の再送制御に重点をおいて説明
する。
【0065】図8は、サーバ端末からクライアント端末
に対して、ウィンドウが十分に開いた初期状態(この例
では16000)で、あるTCPセグメント[4]が失
われた場合を示す。
【0066】TCPセグメント[5]、[6]は予想さ
れる18001と異なるシーケンス番号を持つため、ク
ライアント端末は通常のack[7]と重複ack
[8]を返す。
【0067】TCPのセグメントサイズを意図的に大き
くしているために、ウィンドウサイズが比較的大きな割
りに、重複ackの数が少なく、高速再送(Fast
Retransmission)が行われない。標準的
なTCPの実装では、IPデータグラムの順序が変わり
得ることを考慮して、重複ackが3になった時にはじ
めて、サーバ端末が高速再送を行うようにしきい値を設
定している。
【0068】しかし、このしきい値を本発明に採用する
と、TCPセグメントサイズを大きくしているためウィ
ンドウサイズの割りに重複ackが少なくなり、高速再
送ではなくタイムアウトによる再送となる確率が高く、
スループットが下がるという欠点が現れる。
【0069】本発明が有効な非対称通信路はアクセスネ
ットワークに多い点を考慮すると、通信装置100とク
ライアント端末はルータを介さずに接続されているか、
ルータの段数が少なく経路がほぼ固定されるので、IP
データグラムの順序が狂うことはほとんど考慮する必要
がない。従つて、高速再送のしき値を重複ack1つに
設定することができる。TCPセグメント[9]の再送
はこの条件を満たしたために行われる。重複ackを2
にしても、重複ackを1にした場合よりは劣るがある
程度の改善は望める。
【0070】図9は、図8と同様の初期条件で、TCP
セグメント[2]、[5]が失われた場合を示す。重複
ack[6]によりTCPセグメント[8]が高速再送
されるが、通常の高速再送アルゴリズムでは、TCPセ
グメント[5]は再送されない。ウィンドウ内で複数の
TCPセグメントが失われるのは、通常はネットワーク
が輻輳していることを示唆し、このTCPセグメントを
再送しないことは輻輳状態からネットワークを回復させ
るために役立つ。
【0071】しかし、本発明に有効な非対称通信路は無
線である場合も多く、この場合のバースト的なTCPセ
グメントの喪失は輻輳を意味しているわけではない。
【0072】そこで、TCPセグメント[5]を再送す
るために、高速再送したTCPセグメント(このでは
[8]に対すると解釈できる。)ack(ここでは[1
0])が、そのTCPセグメントを再送した時点で既に
送信済みのシーケンス番号をackしていれば、直ちに
該TCPセグメント(ここでは[11])を再送する。
なお、この再送についても送信済みのシーケンス番号の
ackが返って来れば、同様に再送を行う。
【0073】次に図11に基づいて、通信装置100が
直接的でなくルータ124を介して間接的に非対称性を
持つネットワーク630に接続されている場合の動作を
説明する。
【0074】図2とほぼ同じだが、ネットワーク621
の伝送路の帯域はネットワーク620と異なり対称であ
り、端末123はルータ124に置き換えられ、端末1
31が追加され、更にルータ124から端末131方向
への帯域幅が端末131からルータ124方向への帯域
幅よりも広いという非対称な伝送路を持つネットワーク
630が追加されている。
【0075】端末111または端末112をサーバと
し、端末131をクライアントとするとき、通信装置1
00は、サーバからクライアント方向へのTCPセグメ
ントをネットワーク630において複数のIPデータグ
ラムにフラグメントされるようにTCPセグメントサイ
ズを制御する。具体的な詳細は既に述べたものとほとん
ど同じであるから省略する。
【0076】また、端末121または端末122をサー
バとした場合、出力されるIPデータグラムを一旦通信
装置100を経由してからルータ124によってネット
ワーク630に中継されるようにルーティングの設定を
行えば、やはり同様に動作する。
【0077】
【発明の効果】以上詳述したように、本発明によれば、
TCPの標準的な実装をもつ端末のTCPの実装を変更
することなく、該端末を非対称な通信路に接続した場合
にTCPのスループットを向上させることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る通信装置の構成図で
ある。
【図2】本発明の一実施形態に係るネットワークの構成
図である。
【図3】TCPセグメントをIPフラグメントする際の
データ形式の模式図である。
【図4】TCPセグメントサイズ変換時のデータ形式の
模式図である。
【図5】本発明の一実施形態に係る通信装置によるTC
P中継時のシーケンス図である。
【図6】図5の連図である。
【図7】図6の連図である。
【図8】本発明の一実施形態に係る通信装置のTCPセ
グメント再送時のシーケンス図である。
【図9】本発明の一実施形態に係る通信装置のTCPセ
グメント再送時のシーケンス図である。
【図10】従来のネットワークの構成図である。
【図11】本発明の他の実施形態に係るネットワークの
構成図である。
【符号の説明】
100 通信装置 200、201 アプリケーション 300 TCP層 301 TCP最大セグメントサイズ制御部 302 TCPセグメントサイズ変換部 303 TCP入力部 304 TCP出力部 305 TCP中継部 400 IP層 401 IP中継部401 402 IP入力部 403 IP出力部 500、510 IF部 501、511 IF入力部 502、512 IF出力部 610、620 ネットワーク

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 少なくともトランスポート層を持つ通信
    プロトコルにより通信を行う通信装置であって、 第1のネットワークから第1のトランスポート層プロト
    コルデータユニットを入力する第1のインタフェース手
    段と、 前記第1のトランスポート層プロトコルデータユニット
    を、このトランスポート層プロトコルデータユニットに
    含まれたデータを含みかつ第1のトランスポート層とは
    異なるプロトコルデータユニットサイズの第2のトラン
    スポート層に変換する変換手段と、 前記第2のトランスポート層プロトコルデータユニット
    を第2のネットワークへ出力する第2のインタフェース
    手段とを具備することを特徴とする通信装置。
  2. 【請求項2】 少なくともトランスポート層を持つ通信
    プロトコルにより通信を行う通信装置であって、 第1のネットワークへトランスポート層プロトコルデー
    タユニットを出力する第1のインタフェース手段と、 第2のネットワークへトランスポート層プロトコルデー
    タユニットを出力する第2のインタフェース手段と、 前記第1のインタフェース手段より複数のネットワーク
    層プロトコルデータユニットに分割されないプロトコル
    データユニットサイズのトランスポート層プロトコルデ
    ータユニットを出力し、前記第2のインタフェース手段
    より複数のネットワーク層プロトコルデータユニットに
    分割されたプロトコルデータユニットサイズのトランス
    ポート層プロトコルデータユニットを出力することを許
    容する手段とを具備することを特徴とする通信装置。
  3. 【請求項3】 請求項1または2記載の通信装置であっ
    て、 前記第2のインターフェース手段が、出力の帯域幅が入
    力の帯域幅よりも大きい非対称性をもつことを特徴とす
    る通信装置。
  4. 【請求項4】 少なくともトランスポート層を持つ通信
    プロトコルにより通信を行う通信装置であって、 第1のネットワークから第1のトランスポート層プロト
    コルデータユニットを入力する第1のインタフェース手
    段と、 前記第1のネットワークにネットワーク層ルータを介し
    て接続され、かつ第1のネットワークから第2のネット
    ワーク方向の帯域が逆方向よりも大きい非対称性を持つ
    第2のネットワークと、 前記インタフェース手段から第1のネットワークと第2
    のネットワークを経由するトランスポート層プロトコル
    データユニットを出力する場合、前記第2のネットワー
    クにおいて複数のネットワーク層プロトコルデータユニ
    ットに分割されるプロトコルデータユニットサイズのト
    ランスポート層プロトコルデータユニットを出力する手
    段とを具備することを特徴とする通信装置。
  5. 【請求項5】 請求項2〜4のいずれかに記載の通信装
    置であって、 複数のネットワーク層プロトコルデータユニットに分割
    されるプロトコルデータユニットサイズのトランスポー
    ト層プロトコルデータユニットを出力することを許容す
    るか否かを、該トランスポート層プロトコルデータユニ
    ットを受信する端末の属性に基づき決定することを特徴
    とする通信装置。
JP00236597A 1997-01-09 1997-01-09 通信装置 Expired - Fee Related JP3482091B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00236597A JP3482091B2 (ja) 1997-01-09 1997-01-09 通信装置
US08/999,330 US6091733A (en) 1997-01-09 1997-12-29 Communication device using communication protocol including transport layer and communication method using communication protocol including transport layer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00236597A JP3482091B2 (ja) 1997-01-09 1997-01-09 通信装置

Publications (2)

Publication Number Publication Date
JPH10200598A true JPH10200598A (ja) 1998-07-31
JP3482091B2 JP3482091B2 (ja) 2003-12-22

Family

ID=11527243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00236597A Expired - Fee Related JP3482091B2 (ja) 1997-01-09 1997-01-09 通信装置

Country Status (2)

Country Link
US (1) US6091733A (ja)
JP (1) JP3482091B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1116122A1 (en) * 1998-08-28 2001-07-18 Intel Corporation Method and apparatus for transmitting and receiving network protocol compliant signal packets over a platform bus
JP2003087320A (ja) * 2001-09-06 2003-03-20 Kddi Corp パケット中継装置、及びその方法
JP2008518531A (ja) * 2004-10-29 2008-05-29 株式会社エヌ・ティ・ティ・ドコモ 異なるプロトコル実装間の切替えを行う方法および装置
KR100909536B1 (ko) * 2001-08-15 2009-07-27 삼성전자주식회사 지능형 인터넷 프로토콜 패킷 릴레이 장치 및 방법
JP2010034644A (ja) * 2008-07-25 2010-02-12 Kyocera Corp 中継装置およびバッファ量制御方法
JP2012048573A (ja) * 2010-08-27 2012-03-08 Canon Inc 半導体集積回路、データ処理装置

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11163947A (ja) * 1997-09-22 1999-06-18 Toshiba Corp ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
JP3620010B2 (ja) * 1998-05-22 2005-02-16 富士通株式会社 無線通信システムで用いられる装置とプログラム記録媒体
US6295561B1 (en) * 1998-06-30 2001-09-25 At&T Corp System for translating native data structures and specific message structures by using template represented data structures on communication media and host machines
JP3602972B2 (ja) * 1998-07-28 2004-12-15 富士通株式会社 通信性能測定装置及びその測定方法
US6327626B1 (en) * 1998-09-15 2001-12-04 Alteon Networks, Inc. Method and apparatus for MSS spoofing
US6587431B1 (en) * 1998-12-18 2003-07-01 Nortel Networks Limited Supertrunking for packet switching
US6453357B1 (en) * 1999-01-07 2002-09-17 Cisco Technology, Inc. Method and system for processing fragments and their out-of-order delivery during address translation
US7009967B1 (en) 1999-08-07 2006-03-07 Shrikumar Hariharasubrahmanian Systems and methods for transmitting data packets
AU6758000A (en) * 1999-08-07 2001-09-17 Shrikumar Hariharasubrahmanian Virtual memory systems and methods
JP2001142845A (ja) * 1999-11-17 2001-05-25 Toshiba Corp コンピュータシステムおよびデータ転送制御方法
US6778523B1 (en) * 2000-01-12 2004-08-17 Kent Ridge Digital Labs Connectionless oriented communications network
JP3730480B2 (ja) * 2000-05-23 2006-01-05 株式会社東芝 ゲートウェイ装置
JP3814185B2 (ja) * 2000-11-13 2006-08-23 松下電器産業株式会社 基地局装置、移動通信端末装置、及びそれらを用いた無線アクセスシステム
US20020124095A1 (en) * 2001-03-02 2002-09-05 Sultan Israel Daniel Apparatus and method for sending point-to-point protocol over ethernet
US7362707B2 (en) * 2001-07-23 2008-04-22 Acme Packet, Inc. System and method for determining flow quality statistics for real-time transport protocol data flows
US7774492B2 (en) * 2001-07-26 2010-08-10 Citrix Systems, Inc. System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections
US20030045798A1 (en) * 2001-09-04 2003-03-06 Richard Hular Multisensor probe for tissue identification
US7281052B2 (en) 2001-12-14 2007-10-09 International Business Machines Corporation Data tracing identifiers
JP4362261B2 (ja) * 2002-01-17 2009-11-11 日本電気通信システム株式会社 音声符号制御方法
US6781990B1 (en) 2002-02-11 2004-08-24 Extreme Networks Method and system for managing traffic in a packet network environment
US7152124B1 (en) 2002-02-11 2006-12-19 Extreme Networks Method and system for maintaining temporal consistency of resources and data in a multiple-processor packet switch
US7584262B1 (en) 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
US7298746B1 (en) 2002-02-11 2007-11-20 Extreme Networks Method and system for reassembling and parsing packets in a network environment
US7321926B1 (en) 2002-02-11 2008-01-22 Extreme Networks Method of and system for allocating resources to resource requests
US7447777B1 (en) 2002-02-11 2008-11-04 Extreme Networks Switching system
US7814204B1 (en) 2002-02-11 2010-10-12 Extreme Networks, Inc. Method of and system for analyzing the content of resource requests
US7286546B2 (en) 2002-07-31 2007-10-23 Infosys Technologies Ltd. Method and system for providing reliable and fast communications with mobile entities
GB2406245B (en) * 2003-09-17 2006-01-04 Siemens Ag A method of transmitting packet data on a network
US20050071510A1 (en) * 2003-09-29 2005-03-31 Nokia Corporation Transport layer communication
JP2005167353A (ja) * 2003-11-28 2005-06-23 Ntt Docomo Inc 送信装置およびプログラム
DE102004036488A1 (de) * 2004-07-28 2006-03-23 Siemens Ag Verfahren, Vorrichtung und System zur adaptiven Optimierung von Transportprotokollen bei der Übertragung von Bildern
US20060114931A1 (en) * 2004-11-30 2006-06-01 Yokogawa Electric Corporation IPv6/IPv4 packet conversion system
JP4785551B2 (ja) * 2005-03-07 2011-10-05 キヤノン株式会社 通信装置及び通信方法並びにコンピュータにより実行可能なプログラム
JP4407556B2 (ja) * 2005-03-29 2010-02-03 日本電気株式会社 セッション中継装置、セッション中継方法およびプログラム
US8352728B2 (en) * 2006-08-21 2013-01-08 Citrix Systems, Inc. Systems and methods for bulk encryption and decryption of transmitted data
EP2009867A1 (en) * 2007-06-28 2008-12-31 Alcatel Lucent Access node with TCP traffic termination
JP2013535131A (ja) * 2010-06-09 2013-09-09 プラヴァラ インコーポレイテッド 複数の異なるネットワークを介したデータの伝送
JP5976277B2 (ja) * 2011-02-23 2016-08-23 富士通株式会社 伝送制御方法
TWI602064B (zh) 2016-11-23 2017-10-11 財團法人工業技術研究院 資料傳輸系統,以及其所使用的拓樸架構建立方法與拓樸架構修復方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931961A (en) * 1996-05-08 1999-08-03 Apple Computer, Inc. Discovery of acceptable packet size using ICMP echo

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1116122A1 (en) * 1998-08-28 2001-07-18 Intel Corporation Method and apparatus for transmitting and receiving network protocol compliant signal packets over a platform bus
EP1116122A4 (en) * 1998-08-28 2003-05-21 Intel Corp METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING PACKETS OF SIGNALS CONFORMING TO NETWORK PROTOCOL ON PLATFORM BUS
KR100909536B1 (ko) * 2001-08-15 2009-07-27 삼성전자주식회사 지능형 인터넷 프로토콜 패킷 릴레이 장치 및 방법
JP2003087320A (ja) * 2001-09-06 2003-03-20 Kddi Corp パケット中継装置、及びその方法
JP2008518531A (ja) * 2004-10-29 2008-05-29 株式会社エヌ・ティ・ティ・ドコモ 異なるプロトコル実装間の切替えを行う方法および装置
JP4642855B2 (ja) * 2004-10-29 2011-03-02 株式会社エヌ・ティ・ティ・ドコモ 異なるプロトコル実装間の切替えを行う方法および装置
JP2010034644A (ja) * 2008-07-25 2010-02-12 Kyocera Corp 中継装置およびバッファ量制御方法
JP2012048573A (ja) * 2010-08-27 2012-03-08 Canon Inc 半導体集積回路、データ処理装置

Also Published As

Publication number Publication date
US6091733A (en) 2000-07-18
JP3482091B2 (ja) 2003-12-22

Similar Documents

Publication Publication Date Title
JPH10200598A (ja) 通信装置
US6341129B1 (en) TCP resegmentation
US6907042B1 (en) Packet processing device
JP5544430B2 (ja) 通信装置および通信システム
US5519699A (en) Method of protocol termination and a packet data communication system applied the method
JP3448481B2 (ja) 非対称回線用tcp通信高速化装置
EP0912028B1 (en) Mechanism for dispatching packets via a telecommunications network
JP4164365B2 (ja) デュアル・プロキシ装置を設けることによる無線インタフェースを介するtcp性能の改良技術
US6426944B1 (en) Method and apparatus for controlling data messages across a fast packet network
US20040192312A1 (en) Communication system for voice and data with wireless TCP server
EP1343267A2 (en) Data transmission confirmation in a wireless communication system
US7676593B2 (en) Method of bandwidth control by rewriting ACK number
EP2632102A1 (en) Method and device for data transmission
EP1393497B1 (en) Dual mode service platform within network communication system
EP1295428A2 (en) Performance enhancement of transmission control protocol (tcp) for wireless network applications
US20050120140A1 (en) Method of and system for multi-patch communication
CN100407698C (zh) 无线链路控制层的数据传输方法
JP4229807B2 (ja) データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム
US7490160B2 (en) Method of efficiently transmitting/receiving data using transport layer in a mobile ad hoc network, and network device using the method
JP3808882B2 (ja) ゲートウェイ装置および無線端末装置
JP2001136209A (ja) 通信装置
EP2697950B1 (en) Technique for managing communications at a router
Ahmad The Network and Higher Layer Functions

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030930

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

Free format text: PAYMENT UNTIL: 20081010

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081010

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091010

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101010

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees