FTPプロトコルが複数のポートを使用するように設計されたのはなぜですか?


5

質問はタイトルにあります。私がこれを疑問に思うのは、私がtcpサービスをコーディングしているからであり、私の仕事に光を当てるかもしれないので、いくつかの理由を探求したいからです。

回答:


6

別のポートを使用すると、予想される個別のデータ接続の処理が簡単になり、制御接続とは異なる形式になると思います。これにより、受信側は、ポート21を使用した場合に実行する必要がある接続開始であるかどうかを確認することなく、データの処理を開始することができます。

これにより、最後の箇条書きのラインフィードプリンターの例は、印刷するテキストの受信を開始できます。しかし、私はこれが実際にどのように使用されたのかわかりません(21上のFTPデーモンがすでにリッスンしている可能性があるため、ターミナル上のプログラムはポート20をラインフィードプリンタに転送しますか?)

別の接続の理由については、3つの主な理由があります。

転送の効率は、FTPの有用性に影響する重要な要素です。不適切な転送戦略(不適切なバイトサイズなど)が使用される場合、ファイル転送は(CPU時間の点で)非常に高価であり、リアルタイムで遅くなる場合があります。データの転送を最適化するためにあらゆる試みを行う必要があります。適切な戦略は、別の接続を介したファイルの転送を許可するか、接続を閉じて再度開くことです(おそらく異なるバイトサイズを使用)。

[4]制御
情報用とデータ用の2つの全二重リンクの使用を検討しました。
連携するプロセス間で個別の制御リンクを使用すると、アボート、エラー
回復、同期が簡素化されます。

FTPを変更して、指定されたモードおよびタイプで指定されたソケットにデータを送信できるようにすることが望ましいでしょう。TIPユーザーは、高速ラインプリンターでファイルのリストを取得し、カードリーダーからファイルを入力し、カードまたは磁気テープにバックアップしておくと便利です。


@sims答えを更新し、なぜデータ接続だけでなく別のポートなのかという質問に実際に答えようとしました。
ロブ・オルモス

2
なぜこのように行われたのかの重要な要素は、RFC 114の行間を読むことで見ることができます。FTPはTCP / IPよりも前であるため、ネットワーク、トランスポート、およびセッションレイヤーの完全な分離の概念より前です!もともと、単一セッションを識別する方法は(本質的に)IP +ポートを使用することでした。したがって、複数の接続(マルチセッション)が必要な場合は、セッションごとにまったく異なるソケットが必要でした。後の開発によりセッションレイヤが確立されましたが、FTPは古く、この古代のソケット=セッションモデルを保持しています。
ベーコンビット

3

オーバーエンジニアリングが主な理由かもしれません。

分割制御/データ接続の1つの(あまり使用されない)利点は、クライアントがデータをクライアントに渡す必要なく2つのサーバー間で転送を開始できることです。


これは非常に興味深い使用シナリオです。これが可能だとは知りませんでした。
d -_- b

1
私はかつてこのメソッドを使用して(多くはハックと呼ばれます-プロトコルの使用目的かどうかわかりません)FTPアクセスはあるがシェルアクセスはないサーバー間で大きなファイルを転送しました(だからできませんでした一方から他方へ直接ftp)。当時、サーバーは約0.5Mbitで相互に通信できましたが、28k8モデムを使用していたため、時間を大幅に節約できました。ただし、手動で行う必要がありました-このトリックをサポートするクライアントはいませんでした(そして、私の知る限り)。
デビッドスピレット

それは残念です。何度も転送するよりも、とても便利だとよく考えました。ほとんどのサーバーは家庭やオフィスよりも高帯域幅で接続されているためです。
D -_- B

この手法は、FTP「トランスロード」と呼ばれます。サポートするアプリを検索する場合に役立ちます。
クリスソープ

2
聞いたことがないTransloading。私にはこれですFXP
ペトリュス

2

オーバーエンジニアリングはそうではありません。このように設計されたため、異なる動作モードが許可されます。このモードではサーバーがクライアントに接続するため、アクティブFTPは現在ほとんど使用されていません。しかし、当時-80年代-それは非常にうまく機能していました。パッシブFTPは、現在ファイアウォールの背後で非常に便利です。このモードでは、クライアントはサーバーによって開かれたポートに接続します。クライアントの前にはファイアウォール/ NAT /アプライアンスがあるため、クライアントは通常直接アクセスできなくなります。したがって、このモードも理にかなっています。

ウィキペディアの記事には、すてきで詳細な情報があります:http : //en.wikipedia.org/wiki/FTP


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.