3.5. FTP の設定
ファイル転送プロトコル(FTP) は旧式ながら複雑な複数ポートプロトコルで、LVS 環境に明白な挑戦を与えます。 これらの挑戦の性質を理解するには、まず FTP の動作に付いて基本事項を理解する必要があるでしょう。
3.5.1. FTP の動作
ほとんどのサーバー/クライアント関係では、クライアントマシンが特定のポート上でサーバーへの 接続を開いて、サーバーがそれからそのポートのクライアントに返答することになります。FTP クライアントが FTP サーバーに接続する場合、それは FTP 制御ポート 21 への接続を開きます。その後、その クライアントが FTP サーバーに対して、アクティブ か パッシブ のどちらの接続を開くかを告げます。クライアントに よって選択された接続のタイプが、サーバーの対応の仕方とトランザクションが発生するポートを決定 します。
二つのタイプのデータ接続は以下のようになります:
- アクティブ接続
- アクティブ接続が確立されると、サーバーは、ポート20からクライアント マシン上の高い範囲のポートにクライアントへデータ接続を開きます。サーバーからの全てのデータは その後この接続を通じて渡されます。
- パッシブ接続
- パッシブ接続が確立されると、クライアントは、FTP サーバーに対して、 パッシブ接続ポートを確立するように依頼し、それは 10,000 より高いポートのいずれかになります。 サーバーはその後、この特定のセッション用に高い数値のポートをバインドしてこのポート番号を クライアントの伝えます。それからクライアントはデータ接続のために新規にバインドされたポートを 開きます。クライアントが作る各データ要求は別々のデータ接続となります。殆どのモダンな FTP クライアントは、 サーバーからデータを要求する場合、パッシブ接続を確立する試みをします。
注記
クライアント が接続のタイプを決定します。サーバーではありません。これは効率的に FTP を収束するために、アクティブ接続とパッシブ接続の両方を処理するように LVS router を設定する必要があることを意味します。
FTP クライアント/サーバーの組み合わせは、Piranha Configuration Tool と IPVS が認識していない多くのポートを開く可能性があります。