普段何気なく使っているFTPソフト。
どんな時に使うソフトなのかはご存知だと思いますが、内部の仕組みまで理解する機会はないので知らないかもしれません。
FTPの接続は「21番ポート」「20番ポート」と2つのポートが使われています。
内部的な仕組みについて理解することも大事ということで、今回はFTPの仕組みについてまとめてみました。
それでは、さっそく始めていきましょう。
FTPとは
FTPはFile Transfer Protocol (ファイル転送プロトコル)の略です。「TCP/IP」ネットワークを使用したファイル転送に特化した通信規約のことを指します。
FTPの先駆けの仕組みは1970年代からRFCシリーズとしてありました。それから1985年にはRFC959として標準化されました。現在でもRFC959がFTPの元となっています。
FTPを利用するためには元々はCUIと呼ばれるコマンドが使われるのが一般的でしたが、今ではGUIで簡単操作ができるソフトウェアとして多くのFTPクライアントソフトが提供されています。また、FTPはOSの環境に依存することなく利用できるという特徴もあります。
「21番ポート」と「20番ポート」

FTPの接続は「21番ポート」と「20番ポート」という2種類のポートが使われています。ポートというのはデータの通り道です。
それぞれの役割としては「21番ポート」が制御コネクションとして利用され「20番ポート」がデータコネクションとして利用されています。FTPはこの2種類のポートがそれぞれ役割を分担する組み合わせで構成されているのです。
「21番ポート」制御コネクション
FTPサーバーとのやり取りをする際の開始と終了を制御するために使われます。通常クライアント側のPCからFTPサーバー側の「21番ポート」に依頼します。
「20番ポート」データコネクション
データのやり取りをするために使われているポートです。なので実際にファイルデータを転送しているのは「20番ポート」という事になります。
指示を出してコントロールするのが「21番ポート」なら、データのやり取りをしているのは「20番ポート」なのです。
「アクティブモード」と「パッシブモード」
FTPの接続方法は2種類「アクティブモード」「パッシブモード」があります。この2つはクライアント側からデータコネクションとして接続するか、サーバー側からデータコネクションとして接続するかの違いです。
- アクティブモード (ACTIVE) : サーバー側からデータ接続要求を行う

- パッシブモード (PASV) クライアント側からデータ接続要求を行う

現在一般的に使われているのは「パッシブモード」の方です。採用されている理由は、ファイヤーウォールの兼ね合いによるもの。
ファイヤーウォールはクライアント側として受信する場合には厳しくて、クライアント側から送信する場合は緩いという性質を持ちます。
anonymous FTP (匿名)
anonimas (匿名)は、不特定多数のユーザーに向けてソフトウェアを配布するために開発されたものです。
通常はFTPサーバーにログインするためにユーザー名、IDがサーバー側から求められますが、anonymousで提供されているファイルをダウンロードするためにそういったものを意識する事なく利用することができます。
意識することはないと言ってもパスワードが必要ないということではなく、ユーザー名を「ftp」または「anonymous」ということにしてパスワードを「メールアドレス」にしているのが一般的です。とは言え、現在はFTPを使わなくてもソフトを配布できるため利用度は減ってきています。
まとめ
今回はFTPの仕組みついてまとめてみました。
普段意識することがないFTPですが、このように内部的には「21番ポート」や「20番ポート」がそれぞれの役割を行い。「アクティブモード」や「パッシブモード」という異なる接続方法があるということです。
FTPS・SFTPについてしっかり解説した関連記事があります。
気になる方はそちらも今すぐチェック。
関連記事
今回の記事は以上です。
最後までありがとうございました。