ホームページ >よくある問題 >FTP ポート番号 20 と 21 の違いは何ですか?

FTP ポート番号 20 と 21 の違いは何ですか?

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-07-02 11:08:4339102ブラウズ

FTP ポート番号 20 と 21 の違いは、1 つはデータ ポートで、もう 1 つは制御ポートです。制御ポートは通常 21 ですが、データ ポートは必ずしも 20 である必要はありません。これは次のことに関連しています。 FTP のアプリケーション モード。アクティブ モードの場合は 20、パッシブ モードの場合は、サーバーとクライアント間のネゴシエーションによって決定されます。

FTP ポート番号 20 と 21 の違いは何ですか?

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

1 つはデータ ポートで、もう 1 つは制御ポートです。制御ポートは通常 21 ですが、データ ポートは必ずしも 20 である必要はありません。これは FTP アプリケーション モードに関連しています。アクティブ モードの場合、パッシブ モードの場合は、サーバーとクライアント間のネゴシエーションによって決定されます。

FTP ポート モードと FTP パッシブ モード

FTP の問題をトラブルシューティングする場合、最初に行う質問は次のとおりです。ポート モードかパッシブ モードかを使用するかどうかを尋ねる必要があります。これら 2 つの動作は大きく異なるため、これら 2 つのモードによって引き起こされる問題も異なります。以前は、クライアントはデフォルトでアクティブ (ポート) モードを使用していましたが、最近では、ポート モードのセキュリティ問題のため、多くのクライアント FTP アプリケーションはデフォルトでアクティブ (ポート) モードを使用しています。パッシブモデル。

>>2.1 FTP ポート モード

ポート モードでの FTP 手順は次のとおりです:

1. クライアントは TCP SYN (TCP 同期) パケットを送信します。サーバー セグメント FTP 制御ポート 21、クライアントは一時ポートを送信元ポートとして使用します;

2. サーバーは SYN ACK (同期確認) パケットをクライアントに送信します、送信元ポートは 21、および宛先ポートはクライアントです サーバーで使用される一時ポート;

3. クライアントは ACK (確認) パケットを送信します; クライアントはこの接続を使用して FTP コマンドを送信し、サーバーはこの接続を使用して FTP コマンドを送信しますFTP 応答;

4. ユーザーがリスト要求を要求するか、ファイルの送受信要求を開始すると、クライアント ソフトウェアは PORT コマンドを使用します。このコマンドには、クライアントがサーバーに要求する一時ポートが含まれています。データ接続を開くときに使用します。一時ポート。PORT コマンドには IP アドレスも含まれます。この IP アドレスは通常、クライアント自身の IP アドレスであり、FTP はサードパーティ モードもサポートしています。サードパーティ モードでは、クライアントはサーバーに指示します。別のホストとの接続を開きます。接続;

5. サーバーは、クライアントの一時ポートに SYN パケットを送信します。送信元ポートは 20 です。一時ポートは、クライアントからホストに送信される一時ポート番号です。 PORT コマンド内のサーバー;

6. クライアントは送信元ポートを一時ポートとして使用し、宛先ポートは 20 で SYN ACK パケットを送信します;

7. サーバーは ACK を送信しますパケット;

8. データを送信するホストは、この接続を使用してデータを送信し、データは TCP セグメント (注: セグメント、レイヤー 4 の PDU) の形式で送信されます (コマンドなど) STOR はクライアントがデータを送信したいことを示し、RETR はサーバー セグメントがデータを送信することを示します)、これらの TCP セグメントは相互に ACK 確認を実行する必要があります (注: TCP プロトコルは接続指向のプロトコルであるため)

9. データ送信が完了すると、データを送信したホストは FIN コマンドでデータ接続を終了します。この FIN コマンドには別の FIN コマンドが必要です。ホストは ACK で確認し、他のホストも FIN コマンドを送信します。この FIN コマンドにも、 ACK で確認するためにデータを送信するホスト;

10. クライアントは制御接続でさらにコマンドを送信できます。この追加のデータ接続を開いたり閉じたりできます。クライアントの終了後に、クライアントは FIN コマンドを使用する場合があります。制御接続を閉じるために、サーバーは ACK パケットを使用してクライアントの FIN を確認します。サーバーは FIN も送信し、クライアントは ACK を使用して確認します。

コンピュータ関連の知識について詳しくは、FAQ 列をご覧ください。

以上がFTP ポート番号 20 と 21 の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。