今回は異なるコンピュータ間でファイルを転送するために使うプロトコル「FTP」(file transfer protocol)について解説します。FTPもアプリケーション層で使われる基本的なプロトコルの一つで、最近ではWebブラウザもFTPの一部の機能を備えています。

コンピュータ間でファイルをやりとり

 FTPの概念は、複数のコンピュータをつなぐ「コンピュータ・ネットワーク」が誕生した当初の時代から存在しています。というのは、コンピュータ・ネットワークとはそもそも、異なるコンピュータが持つデータや周辺機器などの資源をネットワーク経由で共有することを目的にしていたからです。FTPは1971年にRFC114として提案されました。その後何度か改訂され、現在はRFC959(1985年)が標準になっています。

 FTPは下位層のプロトコルにTCPを使い、ネットワーク経由でほかのコンピュータの管理するディレクトリやファイルを閲覧して指定したり、ファイルの転送や削除、名称変更を行う機能を備えています。テキスト形式のファイルだけでなくバイナリ形式のファイルもやりとりできます。おもに、手元のコンピュータから遠隔地のコンピュータにあるファイルを取り出したり、その逆に手元のファイルを遠隔地に保存するために使われます。

 しかし、FTPの用途はこれだけではありません。こうした1対1のファイル転送だけでなく、実はクライアントからの指示によって遠隔地にある二つのコンピュータ間でファイルを転送させるといった使い方が可能です(pict.1)。

拡大表示
 FTPはネットワークを経由してファイルをやりとりするためのプロトコルです。ネットワーク上にある別のコンピュータからファイルを取り出したり,逆にファイルを保存したりできます。
 FTPはクライアント・サーバー型のアプリケーションです。通信にはコマンドとレスポンスをやり取りする制御コネクションと実際にデータを送るデータ・コネクションの二つのTCPコネクションを使います。図ではクライアントを本社,サーバーを倉庫に見立て,制御コネクションを電話,データ・コネクションを道路とそこを走るトラックに例えています。
 制御とデータ転送を分離した構成なので1対1でファイルを転送するだけでなく,クライアントから指示して遠隔地のコンピュータ間でファイルを転送させることもできます。