プロが教える店舗&オフィスのセキュリティ対策術

プログラミング言語の勉強も兼ねて、
ホームページを更新する簡単なプログラムを作ろうと思っています。
初心者なもので基本的なところがわからないので質問させてください。

(質問1)
コンテンツのファイルをサーバーにFTP送信する際のことですが、
PCが1台、LANカード1枚、2つのプロセスx,yから同一宛先に送信する場合、
次のうち、どのような振舞いになるのでしょうか。

a) xがFTP接続した場合、xの転送が終了するまで、yは接続されず待たされる
(あるいはyはタイムアウトして接続されない)
b) x,yともFTP接続されるが、転送は一方が終了するまで他方は待たされる
c) x,yともFTP接続され、それぞれ転送される
 ただし、
 c-1) ファイルは一方ずつしか送信されない
   例えば x が A,B,C,D,E、y が a,b,c,d,e の5ファイルを転送する場合、
   転送が A,a,B,C,b,c,d,D,E,e のようになって送られる
   つまり、転送の時間は x と y を別々に送る場合とそう変わらない
 c-2) 並行して送られ、転送時間はほぼ1つのプロセス分で済む


また、以下のような場合はどうでしょうか。

(質問2)
1PCにLANカードを2枚入れ、x,yがそれぞれを使って同時にFTP接続する場合

(質問3)
2台のPCそれぞれにx,yを入れ、同時にFTP接続を実行した場合


サーバー側の設定(仕様)にもよるのでしょうか。

ご教授よろしくお願いします。

A 回答 (2件)

更に追記するとFTPはUDPと違いトランスポート層であるTCPが利用されるので単純にパケットを送り出す仕組みではありません。

データがちゃんと届いたこと確認するための小さなパケットもサーバー間とやりとします。このため待ち時間というか空き時間がどうしても出来ます。その時間を別のパケットで埋めて回線を最大限に利用する事は可能です。
そういう意味ではFTPの多重接続は効果があるわけです。

「RFC959J FILE TRANSFER PROTOCOL (FTP)」
http://hp.vector.co.jp/authors/VA002682/rfc959j. …

この回答への補足

回答をありがとうございます。
詳しく説明くださって勉強になりました。
複数同時に接続はできて、ファイル単位で見ると一度に送られているように見えるんですね。
複数プロセス/端末だからと言って特に意識する必要のなさそうでよかったです。

補足日時:2012/11/23 17:18
    • good
    • 0
この回答へのお礼

回答どうもありがとうございました。

お礼日時:2012/11/26 10:49

答えはC-3)でしょうか。

1)より早く2)より遅い。コレはFTPでのパケットの動作を考えて見れば分かることです。 (質問2)と(質問3)も同様です。
家庭などではLANからWANに出ていく時に回線は一本しかないので、そこに流れるパケットは一瞬で考えれば1個だけって事です。なので自ずと上限が制限されます。
右と左(上りと下り)で1車線づつしか無い道路(回線)で車(パケット)の速度が一定と考えれば、そこに一定時間あたりに流れる車(パケット)の量の最大値が決まるってことです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!