パッシブモード

パッシブモード

 FTP(File Transfer Protocol)は、ファイルを転送するためのプロトコルであり、通常は2つの接続を使用します。データ転送用の「データ接続」と、制御用の「制御接続」です。FTPは、通常、ポート21を制御接続のために使用し、ポート20をデータ接続のために使用します。

 FTPのパッシブモードは、データ接続を確立するために、制御接続に加えてさらに1つの接続を使用する方法です。パッシブモードでは、クライアントがデータ接続を確立するために、制御接続を使用せずにFTPサーバーに接続し、サーバーからポート番号を受信します。その後、クライアントは、指定されたポート番号を使用してデータ接続を確立します。

 パッシブモードの利点は、ファイアウォールの背後にいるクライアントがFTPサーバーに接続できるようになることです。ファイアウォールは、通常、送信元のポートを記録して、そのポートに対するレスポンスを許可します。しかし、FTPの通常の動作では、ポート20を使用するため、ファイアウォールによってブロックされる可能性があります。パッシブモードでは、クライアントがデータ接続のポート番号を指定するため、ファイアウォールによる問題を回避することができます。

 一方、パッシブモードの欠点は、追加のポートが必要であるため、ネットワークの管理がより複雑になることです。また、パッシブモードは、FTPサーバーの管理者がポート範囲を指定する必要があるため、慎重な管理が必要となります。

 したがって、FTPのパッシブモードは、ファイアウォールの背後にいるクライアントがFTPサーバーに接続する必要がある場合に便利な方法です。ただし、ネットワーク管理者は、追加のポートの設定や管理に注意する必要があります。

 FTPのパッシブモードでは、データ転送用のポート番号を指定するために、PASVコマンドを使用します。PASVコマンドを使用すると、FTPサーバーがポート番号を返し、クライアントはそのポート番号を使用してデータ接続を確立します。

以下は、パッシブモードでFTP接続を確立する例です。

  1. クライアントがFTPサーバーに接続し、USERコマンドを使用してユーザー名を送信します。
  2. クライアントがPASSコマンドを使用してパスワードを送信します。
  3. クライアントがPASVコマンドを送信し、FTPサーバーからデータ転送用のポート番号を受信します。
  4. クライアントは、FTPサーバーから受信したポート番号を使用して、データ接続を確立します。
  5. ファイルの転送が行われます。

 このように、パッシブモードでは、データ接続のポート番号を指定するためにPASVコマンドを使用するため、ファイアウォールの背後にあるクライアントがFTPサーバーに接続できるようになります。ただし、FTPサーバーの管理者は、ポート範囲を指定する必要があるため、設定には注意が必要です。