FrontPage | changes | index | create | search | preferences |

FTP

Last-Modified: Fri Jul 22 08:57 2005; by KM
edit | copy | diff | rlog | raw

ファイル転送プロトコル(File Transfer Protocol)の略称。

ネットワーク越しに、別のコンピュータとの間で、ファイルの転送を可能とするための仕様に関する取り決めのことである。 あるいは、それを実現させるためのプログラムを単にFTPという場合もある。

FTPを使ってファイル転送の手段を提供するためのサービスを行う側をFTPサーバー、 そのサービスを利用する側をFTPクライアントという。

FTPサーバーは、通常、21番のポートを開いて、FTPクライアントからの接続を待ち、ユーザーの認証を行った後、その命令を実行する。この21番ポートは、コントロールコネクションと呼ばれ、命令のやり取り専用に使われる。実際のデータのやり取りは別のポートを使って行われる。

データのやり取り(データーコネクションの張り方)に関しては、2種類の方法があって、一方をActiveモード、他方をPassiveモードという。

  1. Activeモードとは、データ転送の際、クライアント側が、通常、20番のポートを開き、サーバー側がそれに接続するといった方法である。
    1. 従って、Activeモードでデータを転送するためには、クライアントの20番ポートにネットワーク上から、サーバーが接続ができるようにしておく必要がある。
    2. もし、クライアント側が、故意に自分のIPアドレス以外の番号をサーバー側に伝えた場合、サーバーを第三者のIPアドレスに接続させることが可能*1といった問題に留意しておく必要がある。
  2. Passiveモードとは、データ転送の際、サーバー側が、通常、1024以上の番号をポートを開いて、クライアント側にその番号を伝え、クライアント側がそれに接続するといった方法である。
    1. 従って、サーバー側がPassiveモードで受け待つ範囲の番号のポートは、外部から接続が出来るようにしておく必要がある。
    2. 通常、Passiveモードでサーバーがデータ送受信のため指定したポート番号は、クライアント以外には知り得る機会が少なく、接続してくるのは本来のクライアントと推定されるので、サーバー側にとってはActiveモードより、安全ともいえる。

*1このサーバー側からデータ転送のための接続を張るといった特性を生かして、クライアントは命令だけを送り、実際のデータは別のサーバーに転送するといったことが可能となる。これをFXP(server-to-server FTP)と言う。

関連情報