1

私は DITP と呼ばれる新しいプロトコルを設計しています。これは、トランスポート層として TCP を使用する接続指向のプロトコルです。一般的なインターネット プロトコルでは、TCP 接続が確立されると、サーバーはクライアントの応答に対してグリーティング メッセージを送信することから開始し、最終的に最初の要求を送信します。

最初のプロトコル トランザクションを逆にすることで、1 回の往復時間を節約できることがわかりました。クライアントは、最初の要求に続いてグリーティングを送信することから始めます。

次の図は、2 つのプロトコル トランザクションのタイミングの比較と、1 回の往復時間を節約する方法を示しています。

共通プロトコルとDITPプロトコルの比較
(出典: disnetwork.info )

詳細な説明については、次のブログ ノートを参照してください。 http://www.disnetwork.info/1/post/2008/08/optimizing-ditp-connection-open.html

StackOverflow のネットワーク プログラミングの専門家に 2 つの質問がありました。

  1. この仮定は正しいですか?

  2. 一般的なプロトコルがこれを使用しないのはなぜですか?

この方法は、通信遅延が大きく、接続が頻繁に確立される長距離接続のパフォーマンスを大幅に最適化することができます。HTTP は良い候補でした。

編集:おっと大きな間違い。HTTP は、クライアントが要求を直接送信する最適化された方法を使用します。SMTP のようなグリーティング トランザクションはありません。ウィキペディアのHypertext Transfer Protocolページを参照してください。

4

5 に答える 5

1

主な理由は次のとおりです。

a。)クライアントは、サーバーが使用するプロトコルのバージョンを知る必要がある場合があります

b。)プロトコルをサポートするサーバーと実際に通信していることすらわかりません。

要するに、データを吐き出す前に、何と話しているのかを知ることはしばしば理にかなっています。

于 2009-05-25T09:39:26.760 に答える
1

この設計はポステルの法則に違反しているとは言えないのではないかと思います。なぜなら、受信者に関すること、したがって送信することが合法であることを知らないうちに想定しているためです。

少なくとも、この原則が、ほとんどのプロトコルが、まったく理解できない可能性のあるデータを送信する前に、相手側についてさらに理解するためにラウンドトリップを費やすように設計されている理由であると期待しています.

于 2009-05-25T09:45:20.477 に答える
0

遅延が主な懸念事項である場合は、往復時間が非常に長い接続用に特別に設計されたプロトコルであるLPTを検討することをお勧めします。

新しいトランスポート プロトコルを設計するときは、輻輳制御と、不明なプロトコルのパケットに遭遇したときにファイアウォールが行うことについて注意を払う必要があります。

于 2009-05-25T10:03:18.490 に答える
0

HTTP、SMTP などのプロトコルの設計目標は速度ではなく、不安定な物理ネットワーク条件下での信頼性とわずかな帯域幅使用率でした。ハードウェアの改良により、これらの条件は大幅に変わりました。

設計は、遭遇する可能性のあるネットワーク条件、必要な信頼性、目的のアプリケーションの遅延と帯域幅の使用率に照らして検討する必要があります。

于 2009-05-25T10:20:23.290 に答える