0 / 4
アクティブモード(Active Mode)
クライアントがFTPサーバーからファイルをダウンロードしようとしている状況だ。FTPは接続を2つ使う。命令をやり取りする制御接続と、ファイルを運ぶデータ接続だ。アクティブモードでは、サーバーがクライアント側へデータ接続を張る。
データ接続を張る側:サーバー
1 / 4
制御接続を開く
クライアントが先にサーバーの21番ポートへ接続してログインする。命令はこの接続でやり取りし、ファイルを受け取り終えるまで開いたままになる。
2 / 4
クライアントが自分のポートを知らせる
クライアントが制御接続でPORTをサーバーに送る。PORT:データを受け取る自分のポート(50001番)をサーバーに知らせるFTPの命令だ。クライアントはそのポートを開けておき、サーバーが来るのを待つ。
3 / 4
サーバーがデータ接続を張る
サーバーが20番ポートから、クライアントの50001番ポートへ接続する。クライアント側から見ると外から先に入ってくる接続なので、ファイアウォールが止めることが多い。
4 / 4
ファイルを転送する
接続できたら、サーバーがこのデータ接続でファイルの内容を送る。送り終えるとデータ接続は閉じ、制御接続だけが残る。
1 / 4
制御接続を開く
クライアントが先にサーバーの21番ポートへ接続してログインする。命令はこの接続でやり取りし、ファイルを受け取り終えるまで開いたままになる。
2 / 4
サーバーがデータ用ポートを開いて知らせる
クライアントが制御接続でPASVをサーバーに送る。PASV:データ接続を受けるポートを開いて、その番号を教えてほしいと頼むFTPの命令だ。サーバーは空いているポート(2024番)を開いて番号を返し、クライアントが来るのを待つ。
3 / 4
クライアントがデータ接続を張る
クライアントが、サーバーが知らせた2024番ポートへ接続する。クライアントから外へ出ていく接続なので、ファイアウォールはたいてい止めない。その代わりサーバー側のファイアウォールで、データ用ポートに使う番号の範囲を開けておく必要がある。
4 / 4
ファイルを転送する
接続できたら、サーバーがこのデータ接続でファイルの内容を送る。接続を張ったのはクライアントだが、ファイルはサーバーからクライアントへ流れる。