メインコンテンツまでスキップ

5.2 接続 (CONNECTIONS)

サーバープロトコルインタプリタは、制御接続のためにポートLで「待ち受け (listen)」しなければなりません (shall)。ユーザーまたはユーザープロトコルインタプリタは、全二重制御接続 (Full-Duplex Control Connection) を開始しなければなりません (shall)。サーバーおよびユーザープロトコルインタプリタは、ARPA-Internetプロトコルハンドブック [1] で指定されているTelnetプロトコルの規則に従わなければなりません (shall)。サーバーは、コマンドラインの編集を提供する義務はなく、ユーザーホストで実行されることを要求する場合があります (may)。制御接続は、すべての転送と応答が完了した後、ユーザーの要求に応じてサーバーによって閉じられるものとします (shall)。

user-DTPは、指定されたデータポートで「待ち受け (listen)」しなければなりません (must); これは転送要求コマンドを送信する前に行う必要があります (BEFORE)。サーバーは、指定されたユーザーデータポートを使用して、独自のデフォルトデータポートからデータ接続を開始するものとします (shall)。データ接続は全二重 (Duplex) であるものとし (shall)、サーバーはuser-DTPからデータが送信されている間に制御情報を送信できます。

すべてのFTP実装は、デフォルトポートを使用したデータ転送をサポートしなければならず (must)、USER-PIのみが非デフォルトポートの使用を開始できることに注意してください (may)。

2つのサーバー間でデータを転送する場合、user-PIは2つのサーバーへの制御接続を設定するものとします (shall)。次に、ユーザーは、FTPサーバーデータポートを引数として1つのserver-PIに転送要求コマンド (RET、STOR、またはLIST) を送信するものとします (shall)。次に、FTPサーバーデータポートを引数として別の転送要求を他のserver-PIに送信するものとします (shall)。応答コードは、user-PIがいつserver-PIの1つに接続の開始を指示すべきか (should) を決定します。user-PIは、1つのserver-PIにPASVコマンドを送信し、転送コマンドの受信時に接続を開始するのではなく、データ接続で「待ち受け (listen)」するよう指示します。次に、ユーザーは転送コマンドを他のserver-PIに送信します。その後、サーバーは接続してデータを交換するべきです (should)。