FTPのアクティブモードとパッシブモード:違いと選択基準

FTPのアクティブモードとパッシブモード:違いと選択基準

FTP(File Transfer Protocol)は、ネットワーク越しにファイルを転送するための標準的なプロトコルですが、FTP通信にはアクティブモードパッシブモードという2つのモードが存在します。これらのモードは、データ転送時に使用する接続方法に違いがあります。この記事では、アクティブモードとパッシブモードの違いについて詳しく解説し、それぞれのモードを選択する際の基準についても触れます。


1. アクティブモード (Active Mode)

アクティブモードは、FTP通信の初期のモードとして広く使用されていました。このモードでは、クライアント(ファイルを送信または受信する側)がコントロール接続を確立した後、サーバーがデータ接続をクライアントに対して開始します。

動作の流れ

  1. クライアントがサーバーに接続して、コントロール接続(ポート21)を確立します。
  2. クライアントがファイル転送を要求すると、サーバーはクライアントのIPアドレスを指定してポート20(または任意のポート)を使用してデータ接続を開始します。
  3. データが転送され、ファイルのアップロードやダウンロードが完了すると接続が終了します。

アクティブモードの特徴

  • クライアントがサーバーに対してデータ接続を開くため、サーバー側でポートが開かれていない場合、接続できないことがあります。
  • クライアントのファイアウォールやルーターがポート20をブロックしている場合、アクティブモードでの接続に問題が発生することがあります。

アクティブモードのメリット

  • 転送においてサーバーがデータ接続を管理するため、クライアント側でポート管理をあまり気にする必要がありません。

アクティブモードのデメリット

  • クライアントのネットワーク環境(特に企業や自宅のルーター)がFTPのアクティブモードに対応していない場合、接続できなくなることがあります。
  • ファイアウォールやNAT(ネットワークアドレス変換)の影響を受けやすい。

2. パッシブモード (Passive Mode)

パッシブモードは、アクティブモードにおける接続の問題を解決するために作られたモードで、主にクライアント側のファイアウォールやNAT環境に配慮しています。このモードでは、クライアントがサーバーに対してデータ接続を開始するため、クライアントのネットワーク環境に依存しません。

動作の流れ

  1. クライアントがサーバーに接続してコントロール接続を確立します(ポート21)。
  2. クライアントがファイル転送を要求すると、サーバーはランダムなポート(通常1024〜65535の範囲)を開き、そのポート番号をクライアントに通知します。
  3. クライアントは通知されたポートに対してデータ接続を開始し、ファイル転送が行われます。

パッシブモードの特徴

  • クライアント側からデータ接続を開始するため、クライアントのファイアウォールやNATの設定に影響されません。
  • サーバー側でランダムポートが開かれるため、セキュリティ設定やポート制限が厳しいネットワークでも接続が可能です。

パッシブモードのメリット

  • クライアント側でファイアウォールがある場合でも接続できるため、企業や家庭のネットワーク環境での利用に向いています。
  • クライアントのネットワークが制限されている場合(例えば、NAT越しやプロキシ越し)でも安定して接続できます。

パッシブモードのデメリット

  • サーバー側でポートを開く設定が必要なため、サーバー管理者による設定が求められます。
  • サーバー側のリソースが必要になり、同時接続数が多くなるとサーバーに負担がかかることがあります。

3. アクティブモードとパッシブモードの違い

特徴アクティブモードパッシブモード
データ接続の開始サーバーからクライアントへクライアントからサーバーへ
クライアントのファイアウォールへの影響ファイアウォールに依存することが多いファイアウォールの影響を受けにくい
使用するポートポート20(データ転送用)とポート21ランダムなポート(1024〜65535)
NAT(ネットワークアドレス変換)の影響NAT環境で接続できないことがあるNAT環境でも接続可能
設定の簡便さクライアント側の設定が簡単サーバー側でポート設定が必要

4. どちらのモードを選ぶべきか

  • アクティブモード: サーバーの設定やネットワーク環境が整っている場合、アクティブモードを使用することができます。特にサーバー側での管理が簡単な場合に適しています。しかし、クライアント側のネットワーク環境(ファイアウォールやNAT設定)に依存するため、注意が必要です。
  • パッシブモード: クライアント側にファイアウォールやNATがあり、アクティブモードで接続できない場合は、パッシブモードを使用するべきです。ほとんどの現代のネットワーク環境では、パッシブモードの方が安定して動作します。特に、企業のネットワークやインターネット越しでFTPを使用する際には、パッシブモードが推奨されます。

まとめ

FTPのアクティブモードとパッシブモードは、それぞれ異なる接続方法と動作を持ち、使用するネットワーク環境や状況によって適切なモードを選択する必要があります。基本的に、ネットワーク環境に依存しない安定した接続を確保するためには、パッシブモードが一般的に推奨されます。しかし、特定の要件に応じてアクティブモードを選択することもあります。状況に応じて、どちらのモードを使用すべきかを判断してください。