パッシブモード

読み:ぱっしぶもーど / 英語表記:passive mode

FTPで、データ転送用のコネクションをクライアントからサーバへ張る方式。PASVコマンドでサーバの待受ポートを確認して接続する。

イマシルちゃんの解説

FTPは、ファイル転送の指示を送る接続と、ファイルのデータを運ぶ接続を分けて使うプロトコルなんだ。
パッシブモードは、利用者側の端末であるクライアントから、データ用の接続も始める方式だよ。
まずサーバが待ち受けるポート番号を知らせ、端末がそこへ接続するの。
これなら、外から始まる接続を制限するファイアウォールの内側でも、ファイルを送受信しやすくなるんだ。
サーバ側ではデータ用ポートへの接続を許可しておく必要があるよ。

より深い解説

定義

パッシブモードは、FTPのデータ転送用コネクションを、クライアントからサーバへ張る方式である。サーバが接続を「待つ(passive)」側になることから、この名前がある。

手順

  1. クライアントが、制御用コネクションでPASVコマンドを送る
  2. サーバは、データ転送用に待ち受けるポートを開き、そのIPアドレスとポート番号を応答コード227で返す(例:227 Entering Passive Mode (192,0,2,10,195,80)。最後の2つは 195×256+80 = 50000番のポートを表す)
  3. クライアントが、そのIPアドレスとポートに接続する
  4. 接続できたら、RETR(ダウンロード)やSTOR(アップロード)などでデータを転送する

パッシブモードが好まれる理由

クライアントのほとんどは、家庭や会社のルータのNAT(NAPT)やファイアウォールの内側にいる。パッシブモードでは、接続はすべてクライアントから外向きに張られるので、内側への接続を許可する設定が要らず、NATを越えやすい。

サーバ側の注意点

その代わり、サーバ側では、データ転送用のポートへの外部からの接続を受け付ける必要がある。ファイアウォールでは、制御用の21番だけでなく、パッシブモードで使うポートの範囲もあらかじめ決めて開けておく必要がある。

また、サーバがNATの内側にある場合、PASVの応答に内側のプライベートアドレスが書かれてしまうと、クライアントが接続できない。サーバに外側のアドレスを応答させる設定や、IPアドレスを含まずポート番号だけを返すEPSVを使う方法がある。

アクティブモードとの比較

パッシブモードアクティブモード
コマンドPASVPORT
データ転送用コネクションを張る側クライアントサーバ
サーバ側のデータ用ポートサーバが選んだ番号20番
クライアント側のNATやファイアウォール問題になりにくい遮断されやすい

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

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑