導入
| ファイル転送プロトコル | |
| 関数 | ファイル転送 |
|---|---|
| 頭字語 | FTP |
| ポート | 21(リスニング) 20 (デフォルトデータ) |
| RFC | RFC 3659 |
| プロトコルスタック | ||||||||||||||
| ||||||||||||||
| インターネットモデル OSIモデル |
ファイル転送プロトコル( FTP ) は、TCP/IP ネットワーク上でコンピュータがファイルを交換することを目的とした通信プロトコルです。これにより、コンピュータからネットワーク上の別のコンピュータにファイルをコピーしたり、 Web サイトにデータを追加したり、このコンピュータ上のファイルを削除または変更したりすることができます。
SSL または TLS プロトコル (SSL は TLS の前身です) によって保護された FTP の一種は FTPS と呼ばれます。
FTP はクライアント/サーバーモデルに従います。つまり、2 つの当事者のうちの一方であるクライアントがリクエストを送信し、もう一方(サーバーと呼ばれる) がそれに反応します。実際には、サーバーはソフトウェアが実行されるコンピューターであり、それ自体は FTP サーバーと呼ばれ、 UNIXファイル システムに似たファイル ツリーを公開します。 FTP サーバーにアクセスするには、FTP クライアント ソフトウェア (グラフィカルインターフェイスまたはコマンド ラインを使用) を使用します。
OSI モデルのセッション層と ARPA モデルのアプリケーション層に属するプロトコルは、TCP 接続を使用します。次の 2 つの異なる方法で使用できます。
- アクティブ モード: FTP クライアントは、データ転送を許可するために使用する接続ポートを決定します。したがって、データ交換を行うために、FTP サーバーはそのデータ ポート (ポート 20) からクライアントによって指定されたポートへの接続を初期化します。その後、顧客は、データ交換が行われるように、新しい受信接続を許可するようにファイアウォールを構成する必要があります。さらに、NAT ゲートウェイの背後にいるユーザーが FTP サーバーにアクセスしようとすると、問題が発生する可能性があります。 NAT の仕組みを考慮すると、FTP サーバーは、選択したポート上の NAT ゲートウェイの外部アドレスに接続することによってデータ接続を開始します。一部の NAT ゲートウェイでは、受信したパケットと一致するものがステータス テーブルにないため、パケットは無視され、クライアントに配信されません。
- パッシブ モード: FTP サーバー自体がデータ転送 (データ接続) を許可するために使用する接続ポートを決定し、それをクライアントに通信します。サーバーの前にファイアウォールがある場合は、データ接続を許可するように構成する必要があります。このモードの利点は、FTP サーバーが接続を開始しないことです。このモードは、NAT ゲートウェイでは問題なく動作します。新しい実装では、クライアントは初期化し、サーバーのポート 21 経由で直接通信します。これにより、サーバーのファイアウォール構成が簡素化されます。
FTP 接続用に 2 つのポート (ウェルノウン ポート) が標準化されています。コマンド用のポート 21 とデータ用のポート 20 です。
このプロトコルはIPv4およびIPv6で動作します。

歴史
ファイル転送プロトコル( FTP)は、1971 年 4 月 16 日に作成された RFC 114 に由来します。この仕様は、1980 年 6 月に RFC 765 に置き換えられました。それ自体は、1985 年 10 月の仕様の最終バージョンである RFC 959 によって廃止されました。セキュリティ拡張機能を追加する 1997 年 6 月の RFC 2228 や、IPv6 プロトコルのサポートを追加し、新しいタイプのパッシブ モードを定義する 1998 年 9 月の RFC 2428 など、いくつかの RFC がこの仕様を完成させています。
