WordPress「サーバー移転」の作業をしている時にFTPソフトによる動きが驚く程遅かったので、ずっと使っていたFFFTPからFilezillaに最近乗り換えました。ダウンロードして設定している時の事・・アクティブ・パッシブ・anonymousなどと設定項目の意味が全くわからない事に気づきました。「FTPについて何も知らないや・・」そうです。最近のFTPソフトはGUIの操作によって内部の動きは特に意識する事なく利用する事が出来るのでFTPについてあまり知識がなくても問題なく利用する事はできるんです。現在作業中の「サーバー移転」の作業などで内部的な仕組みについて理解する事も大事だという事を思ったので、FTPについて理解するためにその仕組みについてまとめてみました。(ファイル転送プロトコル)の略で、「TCP/IP」ネットワークを使用したファイル転送に特化した通信規約の事を指します。FTPの先駆けの仕組みは1970年代からRFCシリーズとしてありました。それから1985年にはRFC959として標準化されました。現在でもRFC959がFTPの元となっています。FTPを利用するためには元々はCUIと呼ばれるコマンドが使われるのが一般的でしたが、今ではGUIで簡単操作ができるソフトウェアとして多くのFTPクライアントソフトが提供されています。FTPはOSの環境に依存する事なく利用できるという特徴もあります。「21番ポート」と「20番ポート」という2種類のポートが使用され使い分けられています。ポートというのはデータの通り道の事です。それぞれの役割としては「21番ポート」が制御コネクションとして利用され、「20番ポート」がデータコネクションとして利用されています。FTPはこの2種類のポートが役割を分担する組み合わせで構成されているのです。「21番ポート」制御コネクションFTPサーバーとのやり取りをする際の開始と終了を制御するために使われます。通常クライアント側のPCからFTPサーバー側の「21番ポート」に依頼します。「20番ポート」データコネクションデータのやり取りをするために使われているポートです。実際にファイルデータを転送しているのは「20番ポート」という事になります。指示を出してコントロールするのが「21番ポート」なら、データのやり取りをしているのは「20番ポート」なのです。「アクティブモード」と「パッシブモード」FTPの接続方法には2種類「アクティブモード」・「パッシブモード」とあります。この2つの違いはクライアント側からデータコネクションとして接続するか、サーバー側からデータコネクションとして接続するかです。クライアント側からデータ接続要求を行う現在一般的に使われているのは「パッシブモード」の方です。いうとファイヤーウォールの兼ね合いによるもので、ファイヤーウォールはクライアント側として受信する場合には厳しくて、クライアント側から送信する場合は緩いという性質をもつからです。(匿名)は、不特定多数のユーザーに向けてソフトウェアを配布するためなどに開発され利用されるようになりました。通常はFTPサーバーにログインするためにユーザー名、IDがサーバー側から求められるがanonymousで提供されているファイルをダウンロードするためにそういったものを意識する事なく利用する事ができます。意識する事ないと言ってもパスワードが必要ないという事ではなく、ユーザー名を「ftp」または「anonymous」という事にしてパスワードを「メールアドレス」にしているのが一般的なようです。現在はFTPを使わなくてもソフトを配布できるため利用度は減ってきているといいます。この記事のまとめFTPの仕組みついてまとめてみました。次回はFTPS・SFTPについてどんなものなのか根掘り葉掘り見ていきます。