The project of U-WA-
http://uwa.potetihouse.com/

FTPサーバーへ接続出来る理由、出来ない理由


戻る
1   2   3

同一ネットワークの場合

 サーバー、クライアントが同じネットワーク内にある場合、 接続に関してトラブルが起こることはまず有りません。
 Passiveモード、Activeモードのどちらであっても、 通知された接続先IPアドレスへそのままデータコネクションを接続することが可能だからです。

クライアントがプライベートネットワーク内

 クライアントがプライベートネットワーク内にある場合はActiveモードでは、 サーバからのデータコネクションの接続時にプライベートネットワーク内のクライアントに接続できないため、失敗してしまいます。 多くのFTPクライアントがPassiveモードを推奨するのはこのためです。
 しかし、実際にActiveモードで通信を行っても正常に動作する場合があります。 これは、ルーターがFTPプロトコルの「PORT」コマンドを検出し、 接続先IPアドレスのすり替えと接続先ポートをプライベートネットワークへフォワードするようにしているためです。
 この場合サーバーでは「PORT」コマンドにルータのIPアドレスがセットされ、 見かけ上ルーターと通信していると錯覚することになります。
 ただし、ルーターの機能に頼りすぎるのは、大変危険です。 MagicMirrorのような短時間に大量のデータコネクションを作成するプログラムでは、 ルーターの能力が不足し、通信できなくなったり、ハングアップすることもあります。 Passiveモードで無難に切り抜けましょう。

サーバーがプライベートネットワーク内

 逆にサーバーがプライベートネットワークにある場合はどうでしょうか? この場合はPassiveモード、Activeモード共に正常に動作するでしょう。 これは、通常サーバーの管理者が中間のルーターやサーバー「PASV」コマンドのレスポンスなどを 適切に設定しているためです。
 適切な設定がされている場合、 クライアントからは、接続先がプライベートネットワークにあるのか、直接接続をしているのかはわからないでしょう。
 自宅のプライベートネットワーク内にFTPサーバーを構築すれば、 ルーターが自動変換をしてくれない限り、外部からPassiveモードでの接続は出来ないでしょう。
続きへ
1   2   3

トップページへ移動
The project of U-WA-
http://uwa.potetihouse.com/