ftp パッシブモード


http://www.contec.co.jp/fireless/ftpfaq.html


■通常のモード
Client Server
Port Port
X ------------SYN-----------> 21
X <--------SYN,ACK----------- 21
  :
X <-(ユーザ認証、指示コマンド)-> 21
  :
X ----------"PORT Y"--------> 21
ClientはポートYで受信待ち
Yは通常1024番以降
Y <----------SYN------------- 20
  :
Y <--(ファイルの送受信)-->   20
  :

通常モードの場合、クライアントがファイアーウォール内にいる時に、サーバーがファイルをやり取りするポート(20)を指定するため、ファイアウォールに通信を邪魔されてしまう可能性がある。
パッシブモードでは、クライアントがポートを指定することで、それを回避する。

■パッシブモード
Client
Client Server
Port Port
X ------------SYN-----------> 21
X <--------SYN,ACK----------- 21
  :
X <-(ユーザ認証、指示コマンド)-> 21
  :
X -----------"PASV"---------> 21
X <---------"OK Z"----------- 21
ServerはポートZで受信待ち
Zは通常1024番以降
Y ------------SYN-----------> Z
  :
Y <--(ファイルの送受信)-->   Z
  :