[解決済み】アクティブFTPとパッシブFTPの違いは何ですか?
質問
アクティブFTPとパッシブFTPの違いについて教えてください。
どちらが良いのでしょうか?
解決方法は?
FTPが実行できるモードは、アクティブとパッシブの2つです。
背景として、FTPは実際には に クライアントとサーバーの間のチャンネル、コマンドチャンネルとデータチャンネル、これらは実際には セパレート TCPコネクション
コマンドチャンネルはコマンドとレスポンス、データチャンネルは実際にファイルを転送するためのチャンネルです。
このようにコマンド情報とデータを別々のチャンネルに分けることで、現在のデータ転送が終了するのを待たずに、サーバーにコマンドを送信することができる優れた方法です。RFCによると、これは終了、現在の転送の中止、ステータスの取得といったコマンドの一部に対してのみ義務付けられています。
で アクティブ モードでは、クライアントはコマンドチャネルを確立しますが サーバー はデータチャネルの確立を担当します。例えば、クライアントマシンがファイアウォールで保護されており、外部からの不正なセッション要求を許可しない場合、これは実際に問題となることがあります。
で パッシブ モードでは、クライアントは 両方 チャネルを使用します。アクティブモードではコマンドチャネルを確立することは既に知っていますが、ここでも同じことをします。
しかし、その後、(コマンドチャンネルで)サーバーに リスニング のポートで、クライアントとの接続を確立しようとするのではなく、(サーバーの判断で)接続を確立します。
この一環として、サーバーはクライアントにリッスン先として選択したポート番号を返し、クライアントが接続方法を知ることができるようにします。
クライアントがそれを知れば、データチャネルを正常に作成し、続行することができます。
詳細はRFCに掲載されています。 https://www.ietf.org/rfc/rfc959.txt
関連
-
[解決済み] オクテット・ストリングス それは何ですか?
-
[解決済み] TCPのフロー制御と輻輳制御の違いは何ですか?
-
[解決済み] TCP/IPのリセット(RST)フラグが送信される原因は何ですか?
-
[解決済み] PythonでHTTP GETを行う最短の方法は何ですか?
-
[解決済み】接続タイムアウトエラーを人為的に発生させる
-
[解決済み】ローカルネットワーク内のすべての有効なIPアドレスのリストを取得する方法は?[クローズド]
-
[解決済み】ptyとttyの意味は何ですか?
-
[解決済み】遅いネットワーク接続をシミュレートするネットワークツール【終了しました
-
[解決済み】インターネット上で最大の安全なUDPパケットサイズとは?
-
[解決済み】UDP vs TCP、どれくらい速いのか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] オクテット・ストリングス それは何ですか?
-
[解決済み] SNMPのpingとは何ですか?
-
[解決済み] カーネルソースプロジェクトのinclude/uapiに含まれるもの
-
[解決済み] TCPのフロー制御と輻輳制御の違いは何ですか?
-
[解決済み] ホストDNSサーバを使用したDocker-composeコンテナ
-
[解決済み] RPCサーバーが使用できません。(HRESULT: 0x800706BA による例外)。
-
[解決済み】ローカルネットワーク内のすべての有効なIPアドレスのリストを取得する方法は?[クローズド]
-
[解決済み】TCPの代わりにUDPを使用することが適切なのはどんな場合ですか?[クローズド]
-
[解決済み】遅いネットワーク接続をシミュレートするネットワークツール【終了しました
-
[解決済み】インターネット上で最大の安全なUDPパケットサイズとは?