JP3711156B2 - File transfer method - Google Patents

File transfer method Download PDF

Info

Publication number
JP3711156B2
JP3711156B2 JP11278195A JP11278195A JP3711156B2 JP 3711156 B2 JP3711156 B2 JP 3711156B2 JP 11278195 A JP11278195 A JP 11278195A JP 11278195 A JP11278195 A JP 11278195A JP 3711156 B2 JP3711156 B2 JP 3711156B2
Authority
JP
Japan
Prior art keywords
tcp
protocol
data
file
network
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
Application number
JP11278195A
Other languages
Japanese (ja)
Other versions
JPH08305643A (en
Inventor
伊藤  嘉浩
雅巳 石倉
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
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP11278195A priority Critical patent/JP3711156B2/en
Publication of JPH08305643A publication Critical patent/JPH08305643A/en
Application granted granted Critical
Publication of JP3711156B2 publication Critical patent/JP3711156B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明はウインドウサイズが制限されたTCPなどのトランスポートプロトコルを用いたファイル転送方法に関し、高速ではあるが高遅延のネットワークにおいても、ウインドウサイズの制限に影響されることなく、効率的にデータ転送を行うことができるようにしたものである。
【0002】
【従来の技術】
ファイル転送のための標準プロトコルとして、UNIXを始めとした多くのコンピュータで使用されているFTP(File Transfer Protocol)が知られている。プロトコルとは通信規約である。
【0003】
FTPプロトコルはTCP/IP(Transmisson Control Protocol/Internet Protocol)上のサービスを用いるファイル転送プロトコルであり、ファイル転送の際に1本のTCPセッション(TCPプロトコルでの論理コネクション)を使用する。そのためファイル転送の性能はTCPプロトコルの転送能力、特にスライディングウインドウのウインドウサイズの上限により制限されるところが多く、ネットワークがより高速且つ高遅延になりつつある現状では、ネットワークの回線速度に比べて期待した程のスループットが得られないという問題がある。以下、この点について順を追って説明する。
【0004】
TCP/IPプロトコルは本来BSD系のUNIXで採用されたものであるが、現在では、世界的規模のネットワークであるインターネット(Internet)を始めとして広く用いられているプロトコルスイートである。
【0005】
そのうち、TCPプロトコルはOSI参照モデルの第4層(トランスポート層)に相当するコネクション型でバイトストリーム指向のトランスポートプロトコルであり、後述するように、再送付き肯定確認応答プロトコルの改良版である可変ウインドウサイズのスライディングウインドウプロトコルを用いて信頼性のある効率的なデータ転送サービスを提供している。また、IPプロトコルはOSI参照モデルの第3層(ネットワーク層)に相当するネットワークプロトコルである。
【0006】
なお、コネクション型とは事前に論理コネクションを確立した後にデータ転送を行う通信形態であり、コネクションレス型とは論理コネクションの確立を必要としないデータ転送の形態である。
【0007】
次に、スライディングウインドウプロトコルの説明の前に、再送付き肯定確認応答プロトコルについて説明する。信頼性のあるデータ転送を保証する多くのプロトコルでは、1回毎のデータ転送量を固定しておき、データ送信者はデータ受信者に対してデータを受信する度に確認応答を送信することを要求し、確認応答を待って次のデータを送出する。しかし、このような単純な肯定確認応答プロトコルでは、送信者は固定サイズのデータ転送毎に必ず確認応答を待たなければならないので、非効率的である。
【0008】
そこでTCPプロトコルでは、図5に示すように、転送しようとするパケットシーケンス51の中に可変サイズのウインドウ52を設定し、最初はウインドウ52内の全てのパケット1〜8を転送する。そして、一度送信者がウインドウ52内の最初のパケット1に対する確認応答を受信すると、ウインドウ52をスライドさせ、次のパケット9を送る。ウインドウ52のサイズは転送しようとするパケットシーケンス51のサイズに応じて可変であるが、TCPプロトコルでは上限を64KB(キロバイト)に制限している。なお、前述の如くTCPプロトコルはバイトストリーム指向であるため、実際には、パケット単位ではなくバイト単位でウインドウ52がスライドする。
【0009】
図6はスライディングウインドウプロトコルの動作概念を示し、ウインドウ内のパケット1〜8の送信に対し、受信側からそれぞれの確認応答53が出されている。
【0010】
このようなスライディングウインドウプロトコルを有するTCPプロトコルを用いたFTPプロトコルのアルゴリズムは図7に示され、その時のデータ転送の動作概念は図8に示される。
【0011】
即ち、図7において、ファイル転送要求コマンドが入力されると(ステップS71)、FTPプロトコルはデータ転送用に1本のTCPセッションをTCPプロトコルに確立させ(ステップS72)、ファイルのデータを転送する(ステップS73)。データ転送においては、図8に示すように、送信側はウインドウサイズ分だけのデータ81をまず転送し、その確認応答82を受信するまで次の転送を待つ。確認応答82を受信したら次のデータ83を転送し、またしても確認応答84を受信するまで次の転送を待つ。このような操作がファイルの全データを転送し終るまで繰り返される。全てのデータ転送が完了したら、図7のステップS74に示すように、FTPプロトコルがTCPセッションを終了する。
【0012】
図8から判るように、ウインドウサイズが可変なため単純な確認応答プロトコルよりも効率的であるが、可変ウインドウサイズのスライディングウインドウプロトコルを用いた場合でも、ファイルのサイズが大きい場合にはウインドウサイズの制限により何回かに分けてデータ転送が行われる。そのため、データ転送後から確認応答を受信するまでの間t1 がネットワーク上の空き時間として累積し、ネットワークのスループットを低下させる。この空き時間t1 はネットワークの往復遅延時間に左右され、高遅延なほど多くなる。また空き時間t1 が全体に対して占める割合は、1回のデータ送出に要する時間t2 が短いほど大きくなり、この時間t2 はネットワークの回線速度が高速なほど短くなる。
【0013】
一般にネットワークの最大実効スループットEは、ウインドウサイズをW、ネットワークの往復遅延時間をDとすると、次式(1)で与えられる。
【数1】
E=W/D …式(1)
【0014】
式(1)から判るように、伝送路上での遅延が大きくなる等、ネットワークの往復遅延時間が長くなると、最大実効スループットE以上に回線速度が高速なネットワークでは、回線速度と比べて期待した程のスループットが得られない。これは、これまでの説明から明らかなように、スライディングウインドウプロトコルにおけるウインドウサイズが不十分なため、確認応答を待つまでの空き時間がネットワークに生じるからである。
【0015】
最近では、フレームリレーやATM等の高速な通信技術が発達してきたこと、並びに、ネットワークが世界的規模に広がってきたことにより、ネットワークがより一層高速で且つ高遅延になりつつあるので、このようなネットワークでは、TCPプロトコルの性能、特に64KBというウインドウサイズの上限、によってFTPプロトコルのデータ転送能力が制限される、という効率上の問題点が露見してきた。
【0016】
この問題点の解決策として、従来、TCPプロトコルにおけるウインドウサイズの拡大が提案されている。
【0017】
しかし、ウインドウサイズを64KBより大きくすることはTCPプロトコル自体の拡張である。従って、TCP/IPプロトコルが既に機器のシステムの一部として組み込まれている場合が多いことを考慮すると、現在存在するTCP/IP製品にプロトコル自体の拡張となるウインドウサイズの拡大をそのまま適用することは困難である。
【0018】
また、ウインドウサイズを拡大した場合、品質の悪いネットワークでは、TCPセグメントの再送によるオーバヘッドが大きくなるため、逆にスループットが低下する恐れがある。
【0019】
従って、現状のファイル転送技術では、フレームリレーやATMの到来により高速化し、且つ、世界的規模への拡大により高遅延化したネットワークに十分対応することができず、効率的でない。
【0020】
【発明が解決しようとする課題】
本発明の課題は、上記従来技術の問題点に鑑み、ウインドウサイズの制限に影響されることなく、高速且つ高遅延のネットワークでの効率的なファイル転送を行うことができる方法を提供することである。
【0021】
【課題を解決するための手段】
上記課題を解決する本発明のファイル転送方法は、FTPプロトコルによりファイルを転送する際に、TCPセッションの数Nを、TCPプロトコルのウインドウサイズW、ネットワークの往復遅延時間D及び回線速度Bに基づいて、N = 1+[(B×D)/(8×W)]の式により決定し(但し、[]は、ガウス記号である。)、決定した数NでファイルをN個のデータに分割し、決定した数NのTCPセッションを確立して、N個のデータを同時並列的に転送することを特徴とするものである。
【0023】
更に本発明のファイル転送方法は、ウインドウサイズが制限されているトランスポートプロトコル上のサービスを用いるファイル転送方法においてウインドウサイズ、ネットワークの往復遅延時間及び回線速度に基づいて、必要な論理コネクションの数、N = 1+[(B×D)/(8×W)]の式により決定すること(但し、[]は、ガウス記号である。)、決定した数でファイルをN個のデータに分割し決定した数の論理コネクションを確立して、N個のデータを同時並列的に転送すること、を特徴とするものである。
【0024】
【作用】
FTPプロトコルは従来1本のTCPセッションによりデータ転送を行っているが、TCPプロトコル自体は複数のTCPセッションを確立することが可能である。
【0025】
そこで、ファイルを複数に分割し複数のデータ転送用TCPセッションによりデータ転送を行うことにより、TCPプロトコル自体には何の改変を与えることなく、ウインドウサイズの不足により生じるネットワークの空き時間を有効に利用することができる。また、複数のTCPセッションによりデータ転送を行うことにより、品質が良くないネットワークであっても、再送による帯域の浪費が少なくなる。
【0026】
ファイルの分割数及びTCPセッシッンの数は基本的には任意の固定した値でも良いが、小さすぎると効率向上の効果が少なく、大きすぎるとオーバヘッドが増えるので、ウインドウサイズとネットワークのパラメータとに基づき決定することが望ましい。即ち、ウインドウサイズが大きければ数を減らし、往復遅延時間が多いほど、あるいは回線速度が速いほど数を増せば良い。
【0027】
上述したデータ転送効率向上の技術は、TCPプロトコル上のFTPプロトコルに限らず、ウインドウサイズが制限されているトランスポートプロトコルを用いるファイル転送方法全にて拡張して適用することができる。
【0028】
【実施例】
以下、図面を参照して本発明の一実施例として、TCPプロトコル上でのFTPプロトコルによるファイル転送を説明する。図1には本発明の実施例のシステム構成が示され、図2には本発明の実施例のファイル転送アルゴリズムが示され、図3には2個のTCPセッションを用いたFTPデータ転送の動作概念が示され、図4には実験結果によるTCPセッションの数と総合スループットとの関係が示されている。
【0029】
図1において、送信側(または受信側)のシステム11は、FTP基本部12及びユーザインタフェース13に加えて、パラメータ収集モジュール14と、TCPセッション数計算モジュール15と、ファイル分割・統合モジュール16を備えている。このようなシステム11どうしがTCPドライバ17を介してネットワークで接続されている。また、システム11にはデータを格納するための記憶装置(ディスク)18が接続されている。
【0030】
ここで、TCPドライバ17は可変ウインドウサイズのスライディングウインドウプロトコルを含むTCPプロトコルを実行するものであり、TCPセッションの確立、ウインドウサイズの設定、データ転送、確認応答の送受、ウインドウのスライド等を行う。
【0031】
システム11の各部12〜16について説明すると、FTP基本部12はFTPプロトコルを実行する基本的機能に加えて、次のような各部を管理する機能を有する。
【0032】
(1)ユーザインタフェース13から“get"、“put"などのファイル転送要求のコマンドを受け取った時、パラメータ収集モジュール14にパラメータ収集を指示する。
(2)TCPセッション数計算モジュール15に必要とするTCPセッション数の計算を指示する。
(3)ファイル分割・統合モジュール16にファイルの分割または統合を指示する。
(4)TCPドライバ17にファイル転送先を指示し、また必要とする数のTCPセッションの確立を指示し、更にTCPセッションの終了を指示する。
【0033】
ユーザインタフェース13はコマンドラインの入力の処理などを行う。
【0034】
パラメータ収集モジュール14はTCPドライバ17から、最大ウインドウサイズW(bytes:バイト)と、ネットワークの往復遅延時間D(sec:秒)及び回線速度B(bps:1秒当りのビット数)といったパラメータを収集又は測定する。TCPプロトコルではW=64KBである。DとBはファイル転送先までのネットワーク上のルートによって変わるが、これらはTCPドライバ17にとって既知であり、インターネット(Internet)の場合にはICMP(Internet Control Message Protocol)プロトコルなどによって求まる。
【0035】
TCPセッション数計算モジュール15は、パラメータ収集モジュール14で得たパラメータW,D,Bを用いて、次式(2)または式(3)の計算により、必要とするデータ転送用のTCPセッション数Nを決定する。
【0036】
【数2】

Figure 0003711156
【0037】
【数3】
Figure 0003711156
【0038】
ここで、式(3)中の分子B×Dは確認応答を受信する前に転送可能なデータサイズ(ビット)であり、8×Wはウインドウサイズ(ビット)であるから、これらから必要なTCPセッショッ数Nを決定することができる。なお、式(2)と式(3)は等価である。
【0039】
ファイル分割・統合モジュール16は、FTP基本部12で指定されたファイルを記憶装置18から読み出し、これをモジュール15が決定したTCPセッション数Nで分割し、TCPドライバ17に与える。
【0040】
TCPドライバ17は、FTP基本部12を通してTCPセッシッ数Nが指定されると、N個のTCPセッションを確立し、モジュール16で分割されたN個のデータをそれぞれにTCPセッションを対応づけしてネットワークに転送する。
【0041】
システム11が受信側になる場合は、FTP基本部12はTCPドライブ17からTCPセッション数を受け取り、ファイル分割・統合モジュール16に対し、ファイルの統合を指示する。この指示を受けて、同モジュール16はTCPドライブ17から与えられる複数のTCPセッションのデータを1つのファイルに統合し、記憶装置18に格納する。
【0042】
次に、図2、図3を参照してシステム全体の動作を説明する。
(1)ファイル転送要求コマンドを入力すると(図2のステップS21)、まずウインドウサイズW,往復遅延時間D及び回線速度Bを収集(または測定)して、必要なデータ転送用TCPセッション数Nを決定する(ステップS22,S23)。
(2)次に、転送すべきファイルをN個のデータに分割し(ステップS24)、更に、TCPセッションをデータ転送用にN個確立する(ステップS25)。
(3)N個のTCPセッションを用いて、N個のデータを時分割手法により同時並列的に転送する(ステップS26)。図3にN=2とした場合のデータ転送動作を概念的に示す。但し、図3の時分割手法は一例にすぎず、任意のもので良い。
(4)N個のデータを全て転送したら、N個全てのTCPセッションを終了する(ステップS27)。
(5)受信側では、N個のTCPセッションにより転送されてきたN個のデータを統合し、1つのファイルにする(ステップS28)。
【0043】
本発明の有効性を確認するために、以下の実験を行った。その結果を図4に示す。
【0044】
即ち、回線速度を1.536Mbps 、往復遅延時間を40ms、200ms、500ms、1000msとしたシリアル回線で接続したLAN(Local Area Network)間で、FTPプロトコルによるデータ転送を行う。そして、1つのファイルを1〜4分割し、それぞれ1〜4個のデータ転送用TCPセッションにより転送し、各ケースにおける総合スループットを測定した。図4より、TCPセッション数の増加により総合スループットが向上することが良く判る。特に、高遅延の場合に効果が顕著である。
【0045】
【発明の効果】
本発明によれば、FTPのファイル転送において、TCPセッションの数Nを、TCPプロトコルのウインドウサイズW、ネットワークの往復遅延時間D及び回線速度Bに基づいて、N = 1+[(B×D)/(8×W)]の式により決定し(但し、[]は、ガウス記号である。)、決定した数NでファイルをN個のデータに分割し、決定した数NのTCPセッションを確立して、N個のデータを同時並列的に転送するので、TCPセッション数を最適化できると共に、TCPプロトコル自体には何の改変を与えることなく、ウインドウサイズの不足により生じるネットワークの空き時間を有効に利用することができ、特にインターネットのような高速・高遅延のネットワークでの効率的なFTPファイル転送ができる。また、複数のTCPセッションによりデータ転送を行うことにより、品質が良くないネットワークであっても、再送による帯域の浪費が少なくなる。
【0047】
更に、本発明によれば、TCPプロトコル上のFTPファイル転送に限らず、ウインドウサイズが制限されているトランスポートプロトコルを用いる各種のファイル転送において、効率的なデータ転送を実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るシステム構成を示す図。
【図2】本発明の一実施例に係るファイル転送アルゴリズムを示す図。
【図3】2個のTCPセッションを用いたFTPデータ転送の動作概念を示す図。
【図4】実験結果によるTCPセッション数と総合スループットとの関係を示す図。
【図5】スライディングウインドウの概念を示す図。
【図6】スライディングウインドウプロトコルを用いた確認応答プロトコルを示す図。
【図7】従来のファイル転送アルゴリズムを示す図。
【図8】従来のFTPデータ転送の動作概念を示す図。
【符号の説明】
11 システム
12 FTP基本部
13 ユーザインタフェース
14 パラメータ収集モジュール
15 TCPセッション数計算モジュール
16 ファイル分割・統合モジュール
17 TCPドライバ
18 記憶装置[0001]
[Industrial application fields]
The present invention relates to a file transfer method using a transport protocol such as TCP with a limited window size. Even in a high-speed but high-delay network, data transfer is efficiently performed without being affected by the window size limitation. It can be done.
[0002]
[Prior art]
As a standard protocol for file transfer, FTP (File Transfer Protocol) used in many computers such as UNIX is known. A protocol is a communication protocol.
[0003]
The FTP protocol is a file transfer protocol that uses a service on TCP / IP (Transmisson Control Protocol / Internet Protocol), and uses one TCP session (a logical connection in the TCP protocol) at the time of file transfer. Therefore, the file transfer performance is often limited by the TCP protocol transfer capability, especially the upper limit of the sliding window window size, and in the current situation where the network is becoming faster and more delayed, it is expected compared to the line speed of the network. There is a problem that a sufficient throughput cannot be obtained. Hereinafter, this point will be described in order.
[0004]
Although the TCP / IP protocol is originally adopted in BSD UNIX, it is a protocol suite widely used now including the Internet, which is a worldwide network.
[0005]
Among them, the TCP protocol is a connection type and byte stream oriented transport protocol corresponding to the fourth layer (transport layer) of the OSI reference model. As will be described later, the TCP protocol is a modified version of the positive acknowledgment protocol with retransmission. It provides a reliable and efficient data transfer service using a window size sliding window protocol. The IP protocol is a network protocol corresponding to the third layer (network layer) of the OSI reference model.
[0006]
The connection type is a communication form in which data transfer is performed after a logical connection is established in advance, and the connectionless type is a form of data transfer that does not require establishment of a logical connection.
[0007]
Next, the affirmative acknowledgment protocol with retransmission will be described before the description of the sliding window protocol. In many protocols that guarantee reliable data transfer, the data transfer amount per time is fixed, and the data sender sends an acknowledgment to the data receiver every time data is received. Request and wait for confirmation response and send the next data. However, such a simple positive acknowledgment protocol is inefficient because the sender must wait for an acknowledgment for every fixed-size data transfer.
[0008]
Therefore, in the TCP protocol, as shown in FIG. 5, a variable-size window 52 is set in the packet sequence 51 to be transferred, and all the packets 1 to 8 in the window 52 are transferred at first. Once the sender receives an acknowledgment for the first packet 1 in the window 52, the window 52 is slid and the next packet 9 is sent. The size of the window 52 is variable according to the size of the packet sequence 51 to be transferred, but the upper limit is limited to 64 KB (kilobytes) in the TCP protocol. Since the TCP protocol is byte stream oriented as described above, the window 52 actually slides in byte units instead of packet units.
[0009]
FIG. 6 shows an operation concept of the sliding window protocol, and each acknowledgment response 53 is issued from the receiving side for transmission of packets 1 to 8 in the window.
[0010]
The FTP protocol algorithm using the TCP protocol having such a sliding window protocol is shown in FIG. 7, and the operation concept of the data transfer at that time is shown in FIG.
[0011]
That is, in FIG. 7, when a file transfer request command is input (step S71), the FTP protocol establishes one TCP session for data transfer in the TCP protocol (step S72), and transfers file data (step S72). Step S73). In the data transfer, as shown in FIG. 8, the transmitting side first transfers the data 81 corresponding to the window size and waits for the next transfer until the confirmation response 82 is received. When the confirmation response 82 is received, the next data 83 is transferred, and the next transfer is waited until the confirmation response 84 is received again. Such an operation is repeated until all data of the file is transferred. When all the data transfer is completed, the FTP protocol ends the TCP session as shown in step S74 of FIG.
[0012]
As can be seen from FIG. 8, since the window size is variable, it is more efficient than a simple acknowledgment protocol. However, even when a sliding window protocol with a variable window size is used, if the file size is large, the window size Data transfer is performed several times due to restrictions. For this reason, t 1 is accumulated as free time on the network after the data transfer until the confirmation response is received, thereby reducing the network throughput. This idle time t 1 depends on the round-trip delay time of the network, and increases as the delay increases. Further, the ratio of the free time t 1 to the whole becomes larger as the time t 2 required for one data transmission becomes shorter, and this time t 2 becomes shorter as the line speed of the network becomes higher.
[0013]
In general, the maximum effective throughput E of the network is given by the following equation (1), where W is the window size and D is the round-trip delay time of the network.
[Expression 1]
E = W / D Formula (1)
[0014]
As can be seen from equation (1), when the round-trip delay time of the network becomes long, such as the delay on the transmission line becomes large, in a network where the line speed is higher than the maximum effective throughput E, it is expected as compared with the line speed. Throughput cannot be obtained. This is because, as is apparent from the above description, the window size in the sliding window protocol is insufficient, so that there is a free time in the network before waiting for an acknowledgment.
[0015]
Recently, high-speed communication technologies such as frame relay and ATM have been developed, and the network has been spreading worldwide, so the network is becoming even faster and more delayed. In such a network, the efficiency problem that the data transfer capability of the FTP protocol is limited by the performance of the TCP protocol, particularly the upper limit of the window size of 64 KB, has been revealed.
[0016]
As a solution to this problem, conventionally, an increase in the window size in the TCP protocol has been proposed.
[0017]
However, making the window size larger than 64 KB is an extension of the TCP protocol itself. Therefore, considering that the TCP / IP protocol is often already incorporated as part of the device system, the window size expansion, which is an extension of the protocol itself, should be applied as it is to the existing TCP / IP product. It is difficult.
[0018]
In addition, when the window size is increased, in a network with poor quality, the overhead due to retransmission of the TCP segment becomes large, so that the throughput may be reduced.
[0019]
Therefore, the current file transfer technology is not efficient because it cannot sufficiently cope with a network that has been speeded up due to the arrival of frame relay and ATM, and that has been delayed due to expansion on a global scale.
[0020]
[Problems to be solved by the invention]
An object of the present invention is to provide a method capable of performing efficient file transfer in a high-speed and high-delay network without being affected by the window size limitation in view of the above-described problems of the prior art. is there.
[0021]
[Means for Solving the Problems]
In the file transfer method of the present invention that solves the above problems, when transferring a file by the FTP protocol, the number N of TCP sessions is determined based on the window size W of the TCP protocol, the round-trip delay time D of the network, and the line speed B. , N = 1 + [(B × D) / (8 × W)] (where [] is a Gaussian symbol), and the file is divided into N pieces of data by the determined number N. establishes a TCP session determined number N, it is characterized in that transferring the N data simultaneously in parallel.
[0023]
Further file transfer method of the present invention, in the file transfer method of using a service on a transport protocol window size is limited, the window size W, based on the round trip time of the network D and line speed B, the required logic the number N of connections, N = 1 + [(B × D) / (8 × W)] can be determined by equation (where [] is a Gaussian symbol.), the determined file by the number N N It is characterized in that the data is divided into pieces of data , the determined number N of logical connections are established, and N pieces of data are transferred simultaneously and in parallel .
[0024]
[Action]
Although the FTP protocol conventionally performs data transfer by one TCP session, the TCP protocol itself can establish a plurality of TCP sessions.
[0025]
Therefore, by dividing the file into multiple files and performing data transfer using multiple TCP sessions for data transfer, the free time of the network caused by insufficient window size can be used effectively without any modification to the TCP protocol itself. can do. In addition, by transferring data through a plurality of TCP sessions, waste of bandwidth due to retransmission is reduced even in a network with poor quality.
[0026]
The number of file divisions and the number of TCP sessions may be arbitrarily fixed values. However, if it is too small, the effect of improving efficiency is small, and if it is too large, the overhead increases. It is desirable to decide. That is, the number should be reduced if the window size is large, and the number should be increased as the round trip delay time increases or the line speed increases.
[0027]
The above-described technology for improving the data transfer efficiency is not limited to the FTP protocol on the TCP protocol, and can be applied to all file transfer methods using a transport protocol in which the window size is limited.
[0028]
【Example】
Hereinafter, file transfer based on the FTP protocol over the TCP protocol will be described as an embodiment of the present invention with reference to the drawings. FIG. 1 shows a system configuration of an embodiment of the present invention, FIG. 2 shows a file transfer algorithm of the embodiment of the present invention, and FIG. 3 shows an FTP data transfer operation using two TCP sessions. The concept is shown, and FIG. 4 shows the relationship between the number of TCP sessions and the total throughput based on the experimental results.
[0029]
In FIG. 1, a transmission-side (or reception-side) system 11 includes a parameter collection module 14, a TCP session number calculation module 15, and a file division / integration module 16 in addition to the FTP basic unit 12 and the user interface 13. ing. Such systems 11 are connected to each other via a network via a TCP driver 17. The system 11 is connected to a storage device (disk) 18 for storing data.
[0030]
Here, the TCP driver 17 executes a TCP protocol including a sliding window protocol having a variable window size, and performs establishment of a TCP session, setting of a window size, data transfer, transmission / reception of a confirmation response, sliding of a window, and the like.
[0031]
The units 12 to 16 of the system 11 will be described. The FTP basic unit 12 has a function of managing the following units in addition to the basic function of executing the FTP protocol.
[0032]
(1) When a file transfer request command such as “get” or “put” is received from the user interface 13, the parameter collection module 14 is instructed to collect parameters.
(2) Instructing the TCP session number calculation module 15 to calculate the number of TCP sessions required.
(3) The file division / integration module 16 is instructed to divide or integrate files.
(4) Instruct the TCP driver 17 of the file transfer destination, instruct the establishment of the required number of TCP sessions, and further instruct the end of the TCP session.
[0033]
The user interface 13 performs command line input processing and the like.
[0034]
The parameter collection module 14 collects parameters such as a maximum window size W (bytes), a network round-trip delay time D (sec: second), and a line speed B (bps: number of bits per second) from the TCP driver 17. Or measure. In the TCP protocol, W = 64 KB. D and B vary depending on the route on the network to the file transfer destination, but these are known to the TCP driver 17 and, in the case of the Internet, can be obtained by the ICMP (Internet Control Message Protocol) protocol or the like.
[0035]
The TCP session number calculation module 15 uses the parameters W, D, and B obtained by the parameter collection module 14 to calculate the required number of TCP sessions N for data transfer by calculating the following equation (2) or equation (3). To decide.
[0036]
[Expression 2]
Figure 0003711156
[0037]
[Equation 3]
Figure 0003711156
[0038]
Here, the numerator B × D in the equation (3) is the data size (bits) that can be transferred before receiving the acknowledgment, and 8 × W is the window size (bits). The number of sessions N can be determined. In addition, Formula (2) and Formula (3) are equivalent.
[0039]
The file division / integration module 16 reads the file designated by the FTP basic unit 12 from the storage device 18, divides it by the number of TCP sessions N determined by the module 15, and gives it to the TCP driver 17.
[0040]
When the TCP session number N is specified through the FTP basic unit 12, the TCP driver 17 establishes N TCP sessions, and associates the N data divided by the module 16 with the TCP sessions, respectively. Forward to.
[0041]
When the system 11 becomes the receiving side, the FTP basic unit 12 receives the number of TCP sessions from the TCP drive 17 and instructs the file division / integration module 16 to integrate the files. Upon receiving this instruction, the module 16 integrates data of a plurality of TCP sessions given from the TCP drive 17 into one file and stores it in the storage device 18.
[0042]
Next, the operation of the entire system will be described with reference to FIGS.
(1) When a file transfer request command is input (step S21 in FIG. 2), first, the window size W, round-trip delay time D, and line speed B are collected (or measured), and the necessary number N of TCP sessions for data transfer is obtained. Determine (steps S22 and S23).
(2) Next, the file to be transferred is divided into N data (step S24), and N TCP sessions are established for data transfer (step S25).
(3) Using N TCP sessions, N data are transferred simultaneously and in parallel by a time division method (step S26). FIG. 3 conceptually shows the data transfer operation when N = 2. However, the time division method of FIG. 3 is merely an example, and any method may be used.
(4) When all the N pieces of data have been transferred, all the N pieces of TCP sessions are terminated (step S27).
(5) On the receiving side, the N data transferred by the N TCP sessions are integrated into one file (step S28).
[0043]
In order to confirm the effectiveness of the present invention, the following experiment was conducted. The result is shown in FIG.
[0044]
That is, data transfer by the FTP protocol is performed between LANs (Local Area Networks) connected by serial lines with a line speed of 1.536 Mbps and a round-trip delay time of 40 ms, 200 ms, 500 ms, and 1000 ms. Then, one file was divided into 1 to 4 and transferred by 1 to 4 data transfer TCP sessions, respectively, and the total throughput in each case was measured. FIG. 4 clearly shows that the total throughput is improved by increasing the number of TCP sessions. In particular, the effect is remarkable in the case of a high delay.
[0045]
【The invention's effect】
According to the present invention, in FTP file transfer, the number N of TCP sessions is determined based on the TCP protocol window size W, the network round-trip delay time D, and the line speed B, N = 1 + [(B × D) / (8 × W)] (where [] is a Gaussian symbol), and the file is divided into N data by the determined number N, and the determined number N of TCP sessions are established. Te, since transferring N data simultaneously in parallel, it is possible optimize TCP number of sessions, without giving any modifications to the TCP protocol itself, effectively the free time of the network caused by the lack of window size In particular, efficient FTP file transfer can be performed in a high-speed, high-latency network such as the Internet. In addition, by transferring data through a plurality of TCP sessions, waste of bandwidth due to retransmission is reduced even in a network with poor quality.
[0047]
Furthermore, according to the present invention, efficient data transfer can be realized not only in the FTP file transfer on the TCP protocol but also in various file transfers using a transport protocol in which the window size is limited.
[Brief description of the drawings]
FIG. 1 is a diagram showing a system configuration according to an embodiment of the present invention.
FIG. 2 is a diagram showing a file transfer algorithm according to an embodiment of the present invention.
FIG. 3 is a diagram showing an operation concept of FTP data transfer using two TCP sessions.
FIG. 4 is a diagram showing the relationship between the number of TCP sessions and the total throughput based on experimental results.
FIG. 5 is a diagram showing a concept of a sliding window.
FIG. 6 is a diagram showing an acknowledgment protocol using a sliding window protocol.
FIG. 7 is a diagram showing a conventional file transfer algorithm.
FIG. 8 is a diagram showing an operation concept of conventional FTP data transfer.
[Explanation of symbols]
11 System 12 FTP Basic Unit 13 User Interface 14 Parameter Collection Module 15 TCP Session Number Calculation Module 16 File Division / Integration Module 17 TCP Driver 18 Storage Device

Claims (2)

FTPプロトコルによりファイルを転送する際に、
TCPセッションの数Nを、TCPプロトコルのウインドウサイズW、ネットワークの往復遅延時間D及び回線速度Bに基づいて、N = 1+[(B×D)/(8×W)]の式により決定し(但し、[]は、ガウス記号である。)、
決定した前記数NでファイルをN個のデータに分割し、決定した前記数NのTCPセッションを確立して、前記N個のデータを同時並列的に転送することを特徴とするファイル転送方法。
When transferring files using the FTP protocol,
The number N of TCP sessions is determined by the formula N = 1 + [(B × D) / (8 × W)] based on the TCP protocol window size W, the network round-trip delay time D, and the line speed B ( However, [] is a Gaussian symbol.)
File transfer method determined the file in said number N is divided into N data, to establish a TCP session the number N determined, characterized by transferring the N data simultaneously in parallel.
ウインドウサイズが制限されているトランスポートプロトコル上のサービスを用いるファイル転送方法において、
ウインドウサイズ、ネットワークの往復遅延時間及び回線速度に基づいて、必要な論理コネクションの数、N = 1+[(B×D)/(8×W)]の式により決定すること(但し、[]は、ガウス記号である。)
決定した前記でファイルをN個のデータに分割し決定した前記の論理コネクションを確立して、前記N個のデータを同時並列的に転送すること、を特徴とするファイル転送方法。
In a file transfer method using a service on a transport protocol in which the window size is limited,
Based on the window size W , the round-trip delay time D of the network, and the line speed B , the number N of necessary logical connections is determined by the formula N = 1 + [(B × D) / (8 × W)] ( However, [] is a Gaussian symbol.)
The determined file in said number N is divided into N data, determined to establish the logical connection of said number N, the file transfer method of the N data concurrently to be transferred, characterized by .
JP11278195A 1995-05-11 1995-05-11 File transfer method Expired - Fee Related JP3711156B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11278195A JP3711156B2 (en) 1995-05-11 1995-05-11 File transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11278195A JP3711156B2 (en) 1995-05-11 1995-05-11 File transfer method

Publications (2)

Publication Number Publication Date
JPH08305643A JPH08305643A (en) 1996-11-22
JP3711156B2 true JP3711156B2 (en) 2005-10-26

Family

ID=14595346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11278195A Expired - Fee Related JP3711156B2 (en) 1995-05-11 1995-05-11 File transfer method

Country Status (1)

Country Link
JP (1) JP3711156B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242640A (en) * 1998-02-25 1999-09-07 Kdd Corp File transfer method
JP3964806B2 (en) * 2003-02-27 2007-08-22 日本電信電話株式会社 Moving image transmission system, moving image transmitting device, moving image relay device, moving image receiving device, program, and recording medium
JP4292884B2 (en) * 2003-06-20 2009-07-08 ソニー株式会社 Real-time data communication system, real-time data communication apparatus, and real-time data communication method
US7693998B2 (en) * 2003-06-30 2010-04-06 Microsoft Corporation System and method for message-based scalable data transport
JP2005057482A (en) * 2003-08-04 2005-03-03 Fujitsu Fip Corp Data transfer method, program for data transfer, and record medium
JP4281649B2 (en) * 2004-08-05 2009-06-17 日本電信電話株式会社 Data packet transmission method and system
JP4841420B2 (en) * 2006-12-25 2011-12-21 京セラ株式会社 Electronics
JP2009199281A (en) 2008-02-21 2009-09-03 Brother Ind Ltd Data transmission device
JP5535115B2 (en) 2011-03-29 2014-07-02 株式会社日立システムズ Multithreaded file input / output system and multithreaded file input / output program
KR101231294B1 (en) * 2011-05-31 2013-02-07 삼성에스디에스 주식회사 Stream Controlling Method and Apparatus for Parallel Receiving of Data
US9973402B2 (en) 2013-06-26 2018-05-15 Nec Corporation Transmission device, receiving device, and relay device
US10182020B2 (en) * 2016-05-31 2019-01-15 Anchorfree Inc. System and method for improving an aggregated throughput of simultaneous connections

Also Published As

Publication number Publication date
JPH08305643A (en) 1996-11-22

Similar Documents

Publication Publication Date Title
JP4436981B2 (en) ECN-based method for managing congestion in a hybrid IP-ATM network
Lakshman et al. TCP/IP performance with random loss and bidirectional congestion
JP4738594B2 (en) Data flow control method and apparatus
US8462630B2 (en) Early generation of acknowledgements for flow control
US7698453B2 (en) Early generation of acknowledgements for flow control
JP2001268130A (en) Method and device for controlling flow of tcp connection on flow-controlled network, and interconnection equipment
EP1523836B1 (en) Method and apparatus for selecting a window size for a packet switched connection
JP3711156B2 (en) File transfer method
WO2004049649A1 (en) Methods and apparatus for use in packet-switched data communication networks
JP2002290459A (en) Device for transferring packets and method for the same
Kung et al. Tcp trunking: Design, implementation and performance
CN105024940A (en) Link adaptation-based heterogeneous network TCP congestion control method
JP2001045094A (en) Recipient initiation recovery algorithm(rira) for layer 2 tunneling protocol(l2tp)
Minei et al. High-speed internet access through unidirectional geostationary satellite channels
JP2003526266A (en) Performance improvement piroxy and performance improvement method
Pazos et al. Using back-pressure to improve TCP performance with many flows
Wang et al. Use of TCP decoupling in improving TCP performance over wireless networks
JPH07250100A (en) Mutual communication system between lans using wide area network and mutual connection device used therefor
De Figueiredo et al. Using coloured Petri nets to investigate behavioural and performance issues of TCP protocols
JP3767862B2 (en) Method and system for improving TCP data transmission efficiency in an asymmetric network environment
Bianco Performance of the TCP Protocol over ATM Networks
JP3490000B2 (en) Communication method between server system and client server
JP2561022B2 (en) Transmission channel selection system by destination address
EP1652087B1 (en) Flow control architecture
Elloumi et al. A simulation-based study of TCP dynamics over HFC networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050414

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: 20050719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050812

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: 20110819

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees