FTP(File Transfer Protocol)は、よく使用されるもう 1 つのアプリケーション層プロトコルです。 FTP は、クライアントとサーバ間のデータ転送を可能にするために開発されました。 FTP は、FTP デーモン(FTPd)を実行するサーバとの間でデータをプッシュおよびプルするために使用される、コンピュータ上で動作するアプリケーションです。
図に示すように、データを正常に転送するには、FTP はクライアントとサーバ間で 2 つの接続を必要とします。1 つはコマンドと応答、もう 1 つは実際のファイル転送用です。
- クライアントは、まずサーバとの間に制御トラフィック用の接続を確立します。この接続は、クライアントからのコマンドとサーバからの応答で構成されます。
- その後、クライアントは、サーバとの間に実際のデータ転送に使用する 2 番目の接続を確立します。 この接続は、転送するデータがあるたびに作成されます。
データ転送はどちらの方向にも起こり得ます。 クライアントは、サーバからデータをダウンロード(プル)することも、サーバにデータをアップロード(プッシュ)することもできます。