広告 ネットワーク

FTPとは

2020年3月10日

FTP(File Transfer Protocol)

FTPとは

FTP(File Transfer Protocol)とは、ネットワーク上にあるサーバとクライアント(利用者のコンピュータ)間でファイル転送を行うプロトコルです。

FTPには主に次の2つの用途があります。

1つ目はネットワーク上にあるサーバからクライアント(利用者のコンピュータ)に特定のファイルをダウンロードすることです。

FTPでファイルダウンロード

そして、2つ目はクライアント(利用者のコンピュータ)からネットワーク上にあるサーバにファイルをアップロードすることです。

FTPでファイルアップロード

FTPでは、認証のためのユーザ名・パスワードや転送データは暗号化されません。そのため現在では、FTPの通信をSSL/TLSにより保護した「FTPS」や、SSHの仕組みを利用した「SFTP(SSH File Transfer Protocol)」などの代替のプロトコルがよく利用されています。

スポンサーリンク

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

FTPの動作モードには「アクティブモード」と「パッシブモード」が存在します。その違いはどちらからコネクション(接続)を確立するかの違いです。

アクティブモードとは

FTPのアクティブモード

アクティブモードでは、サーバからクライアント(利用者のコンピュータ)に対してコネクションの確立を行います。サーバはクライアントが指定したポートに対してコネクションを確立します。

しかし、ファイアウォールやNAT(IPマスカレード)などを使った環境では、設定によりアクティブモードでは接続できないことがあります。(外部からのアクセスをファイアウォールやNATが遮断してしまう)その場合は、パッシブモードを使用するか、設定を変更して接続ポートを開放する必要があります。

パッシブモードとは

FTPのパッシブモード

パッシブモードでは、クライアント(利用者のコンピュータ)からサーバに対してコネクションの確立を行います。クライアントはサーバが指定したポートに対してコネクションを確立します。

バイナリモードとASCIIモードの違い

FTPでファイルを転送する際「バイナリモード」か「ASCIIモード」かを選択することが可能です。

バイナリモードとは

バイナリモードとは、送信側は各ファイルをバイト単位で送信し、受信側はバイトストリームを保存する転送モードです。バイナリモードの特徴は送信側・受信側ともデータの変換を行わないことです。

現在では、FTPの全ての実装に対してバイナリモードの対応が推奨されています。

ASCIIモード(アスキーモード)とは

ASCIIモードとは、テキストファイルの転送に使われる転送モードです。ASCIIモードの特徴は改行コードや文字コードの変換が自動で行われるところです。

ファイルをそのまま転送するバイナリモードとは違い、ASCIIモードは環境に合わせてファイルを加工して転送します。

では、なぜ加工する必要があるのでしょうか。それはOSによって改行コードが違うことが原因です。Unix・Linux系の改行コードは「LF」、Windowsの改行コードは「CRLF」です。このようなOS間のテキストファイル改行コードの差異を吸収するために、FTPのASCIIモードが存在しています。

しかし、近年ではエディタや開発環境も進化しており、ASCIIモードはあまり利用されないモードとなってきています。

helpful