今回は、FTPのアクティブモードとパッシブモードについてまとめたいと思います。
まず、FTPについて整理したいと思います。
File Transfer Protocol(ファイル・トランスファー・プロトコル、FTP、ファイル転送プロトコル)は、ネットワークでファイルの転送を行うための通信プロトコルの1つである。
『File Transfer Protocol - ウィキペディア』
つまり、
ネットワークでファイルを転送するための決まりの1つということですね。
他の決まりには、SFTPやSCPなどがあります。
FTPコマンドでFTPを使用することもできますが、FTPクライアントを用いるのが一般的かと思います。
FTPクライアントには、FFFTPやFileZilla、Cyberduck等があります。
このFTPで利用される通信モードに
アクティブモードと
パッシブモードがあります。
このモードの違いはデータ転送用のコネクションの確立方法の違いになります。
FTPでは2つのコネクションが使用されます。
それは制御用コネクションとデータ転送用コネクションです。
制御用コネクションでは21番ポートが使用され、データ転送用コネクションでは20番ポートが使用されます。
そしてこのコネクションはクライアントとサーバの間に確立されます。
アクティブモードとパッシブモードいずれも、FTPでのやり取りを開始する制御用コネクションの確立はクライアント側からサーバ側の21番ポートに対して行われます。
そして、データ転送用コネクションの確立方法が下記の通りとなります。
【アクティブモード】
サーバの20番ポートを使用して、サーバからクライアントへデータ転送用コネクションを確立します。
【パッシブモード】
サーバからデータ転送用コネクションを確立するポート番号(1024番以上のポート)がクライアントへ通知されます。
クライアントはそのポート番号を使用してサーバにデータ転送用コネクションを確立します。
以上より、
サーバを主体として考えて、サーバからデータ転送用コネクションを確立すFTPの通信モードをアクティブ(能動的な)なモード、そして、サーバがデータ転送用コネクションをクライアントから確立されるFTPの通信モードをパッシブ(受動的な)なモードということができるのではないでしょうか。
以上です!
【参考サイト】
『FTPの仕組み!「 21番ポート」と「20番ポート」 「アクティブモード」と「パッシブモード」について』
『File Transfer Protocol - ウィキペディア』
『 わわわIT用語辞典 > 索引(F) > FTP』
『FTPクライアント』
『FTPのアクティブモードとパッシブモードの違いは、データ転送の接続方向』
『TCP/IP - FTP』
『 わわわIT用語辞典 > 違いの分かるピヨピヨ > 「PASVモード」と「ACTIVEモード」の違い 』