FTP

読み:えふてぃーぴー / 英語表記:File Transfer Protocol

ファイルを転送するためのアプリケーション層プロトコル。命令と応答をやり取りする制御用コネクションと、ファイルの中身などを運ぶデータ転送用コネクションにTCPの接続を分けて使う。

イマシルちゃんの解説

FTPは、ネットワーク越しにファイルを送ったり受け取ったりするためのプロトコルだよ。
特徴は、TCPの接続を命令とデータで分けることなんだ。
まず制御用コネクションで「このファイルを送って」と頼み、相手からの返事を受け取るよ。
ファイルの中身は、別に用意したデータ転送用コネクションで運ぶの。
命令のやり取りと転送を分けているので、ファイルを運んでいる途中でも中止を頼めるんだ。
離れたコンピュータにあるファイルを、共通の手順で取り出したり保存したりできるんだよ。

より深い解説

定義

FTP(File Transfer Protocol)は、RFC 959で定められたファイル転送のプロトコルである。TCPを使い、役割の違う2本のコネクションを使い分ける。

コネクション役割サーバ側のポート番号
制御用コネクションコマンドと応答のやり取り21
データ転送用コネクションファイルの中身や、ファイル一覧の転送アクティブモードでは20、パッシブモードではサーバが指定した番号

制御用コネクションは接続している間ずっと維持し、データ転送用コネクションは転送のたびに張る。

主なコマンド

コマンド内容
USER / PASS利用者名とパスワードを送る
ACCT課金などのためのアカウント情報を送る
RETRファイルをダウンロードする
STORファイルをアップロードする
LISTファイルの一覧を得る
TYPEデータの形式を指定する(A=テキスト、I=バイナリ)
MODE転送モードを指定する(ストリーム、ブロック、圧縮)
PORTクライアントが待ち受けるIPアドレスとポート番号を伝え、サーバから接続させる(アクティブモード)
PASVサーバ側のデータ転送用のポートを要求し、クライアントから接続する(パッシブモード)
QUIT接続を終える

IPv6にも対応した拡張版として、PORTに当たるEPRTと、PASVに当たるEPSV(RFC 2428)がある。

アクティブモードとパッシブモード

データ転送用コネクションを、サーバとクライアントのどちらから張るかで2つのモードがある。

モードコマンド誰が接続するか
アクティブモードPORTサーバからクライアントへ
パッシブモードPASVクライアントからサーバへ

クライアントがNATやファイアウォールの内側にいる場合、外のサーバから内側へ接続するアクティブモードは遮断されやすい。そのため、現在はパッシブモードが広く使われている。

セキュリティ

FTPは、パスワードもファイルの中身も暗号化せずに送る。安全に使うには次の方法がある。

方法内容
FTPSFTPをTLSで暗号化したもの。FTPのコマンド体系はそのまま
SFTPSSHの上で動く、FTPとは別のファイル転送プロトコル。ポート22番の1本のコネクションで済む

実際の試験ではここに出る!全12問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑