アクティブモード

読み:あくてぃぶもーど / 英語表記:active mode

FTPで、データ転送用のコネクションをサーバからクライアントへ張る方式。クライアントがPORTコマンドで待ち受けるポートを伝え、サーバがそこへ接続する。

イマシルちゃんの解説

アクティブモードでは、2本目の電話をかけてくるのはサーバなんだ。

クライアントが「この番号で待ってるから、ファイルを送るときはここにかけてね」って伝えると、
サーバのほうから電話がかかってくる。
でも、家の中にいるクライアントに外から電話をかけると、門番(ファイアウォール)に止められちゃうことが多いんだよね。

より深い解説

定義

アクティブモードは、FTPのデータ転送用コネクションを、サーバからクライアントへ張る方式である。サーバが自分から「能動的に(active)」接続することから、この名前がある。FTPの元々の方式で、標準モードともいう。

手順

  1. クライアントが、データ転送用に待ち受けるポートを開く
  2. クライアントが、制御用コネクションでPORTコマンドを送り、自分のIPアドレスとポート番号を伝える(例:PORT 192,0,2,20,195,80)
  3. サーバが、自分のポート20番から、伝えられたIPアドレスとポートに接続する
  4. 接続できたら、データを転送する

問題点

問題内容
ファイアウォールクライアント側のファイアウォールは、外部から内側への接続を遮断することが多い
NATPORTコマンドに書かれるのはクライアントのプライベートアドレスなので、外のサーバからは接続できない

これを解決するため、NAT機器の中には、FTPの制御用コネクションの中身を見てPORTコマンドのアドレスを書き換えたり、一時的に接続を許可したりする機能(ALG:Application Level Gateway)を持つものもある。ただし、FTPSのように制御用コネクションが暗号化されていると、中身を見られないのでこの機能は働かない。

現在は、こうした問題の起きにくいパッシブモードが一般的である。

試験での見分け方

「クライアント側から接続するために、サーバ側のポートを要求する」と書かれていれば、パッシブモードのPASVである。

実際の試験ではここに出る!

この用語が出てくる記事

↑