普段何気なく使っているFTPソフト。
どんな時に使うソフトなのかはご存知だと思いますが、内部の仕組みまで理解する機会はないので知らない方の方が多いかもしれません。内部の動きは特に意識することなく使うことができますから。
内部的な仕組みについて理解することも大事ということで、今回は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についてどんなものなのか根掘り葉掘り見ていきます。
コメント