信頼性の高いバイト ストリームは、コンピュータネットワークにおける一般的なサービス パラダイムです。これは、通信チャネルから受信者に送信されるバイトが、送信者がチャネルに挿入したときとまったく同じであり、まったく同じ順序であるバイトストリームを指します。
信頼性の高いバイト ストリーム通信プロトコルの典型的な例は、インターネットの主要な構成要素の 1 つであるTransmission Control Protocolです。
ただし、信頼性の高いバイト ストリームは、コンピュータ ネットワーク通信プロトコルが提供する唯一の信頼性の高いサービス パラダイムではありません。他のプロトコル ( SCTPなど) は信頼性の高いメッセージ ストリームを提供します。つまり、データは明確な単位に分割され、個別のオブジェクトとしてデータの消費者に提供されます。
機構
一般的に信頼性の低い下位レベルを介して信頼性の高いバイト ストリームを実装する通信プロトコルは、信頼性を提供するためにいくつかのメカニズムを使用します。自動再送要求(ARQ) プロトコルは、信頼性を実現する上で重要な役割を果たします。
すべてのデータ項目はシーケンス番号で識別されます。シーケンス番号は、データが正しい順序で相手側に配信されたことを確認するためと、失われたデータ項目を確認するために使用されます。受信側は、正常に受信されたデータ項目の確認応答を送り返します。妥当な往復時間内に確認応答が受信されない場合は、送信側のタイマーによってタイムアウトが発生し、(おそらく失われた)データは再送信されます。データ項目が破損していないことを確認するために、チェックサムが使用されます。チェックサムは、データの各ブロックが送信される前に送信側で計算され、受信側でチェックされます。エラーのあるデータや欠落したデータは、送信側に報告され、送信側で同じデータを再送信できます。重複したデータ項目はすべて破棄されます。
ヘッドオブラインブロッキング
ヘッドオブライン ブロッキングは信頼性の高いバイト ストリームで発生する可能性があります。パケットの順序が入れ替わったり、パケットが失われて再送する必要がある場合 (つまり、順序が乱れて到着する場合)、ストリームの順番に後の部分のデータが、ストリームの順番に前の部分よりも先に受信されることがあります。ただし、後のデータは通常、前のデータが受信されるまで使用できないため、ネットワーク レイテンシが発生します。複数の独立した上位レベルのメッセージがカプセル化され、単一の信頼性の高いバイト ストリームに多重化されている場合、ヘッドオブライン ブロッキングにより、後で送信された完全に受信されたメッセージの処理が、以前に送信されたメッセージの配信を待つことになる可能性があります。 [1]これは、たとえば、複数の要求と応答のペアを単一のストリームにフレーム化する HTTP/2 に影響します。アプリケーション層のフレーミング設計を持ち、ストリーム転送ではなくデータグラムを使用するHTTP/3では、この問題を回避できます。 [2] [3]ヘッドオブライン ブロッキングによるレイテンシの低下は、基礎となるパケット損失率とラウンドトリップ時間に依存し、損失が大きいほどレイテンシが悪化します。[4] [5]ストリームの抽象化を変えずにパケット損失を減らすことでヘッドオブラインブロッキングによる被害を減らすことができます。代替案としては、冗長データを送信するために前方誤り訂正を使用して信頼性の高いバイトストリームを実装し、再送を必要とせずにある程度の損失を許容できるようにすることです。[1]
参照
参考文献
- ^ ab Briscoe et al. 2016、29–30ページ。
- ^ ラングレーら。 2017、184、186ページ。
- ^ マルクスら。 2018、22–23ページ。
- ^ Nowlan、Wolinsky、Ford 2013、6ページ。
- ^ Heijligers 2021、65頁。
- Larry L. Peterson および Bruce S. Davie、「コンピュータ ネットワーク: システム アプローチ」、第 3 版、Morgan Kaufmann Publishers、1996 年、セクション 6.2。
- Steve Steinke、『ネットワーク チュートリアル』、エルゼビア、2000 年、163 ページ。
文献
- Briscoe, Bob; Brunstrom, Anna; Petlund, Andreas; Hayes, David; Ros, David; Tsang, Ing-Jyh; Gjessing, Stein; Fairhurst, Gorry; Griwodz, Carsten; Welzl, Michael (2016). 「インターネット遅延の削減: 技術とそのメリットの調査」. IEEE Communications Surveys & Tutorials . 18 (3): 2149–2196. doi :10.1109/COMST.2014.2375213. hdl : 2164/8018 . S2CID 206576469.
- ハイリガース、ヤープ(2021)。 Tor over QUIC (論文)。
- Langley, Adam; Riddoch, Alistair; Wilk, Alyssa; Vicente, Antonio; Krasic, Charles; Zhang, Dan; Yang, Fan; Kouranov, Fedor; Swett, Ian; Iyengar, Janardhan; Bailey, Jeff; Dorfman, Jeremy; Roskind, Jim; Kulik, Joanna; Westin, Patrik; Tenneti, Raman; Shade, Robbie; Hamilton, Ryan; Vasiliev, Victor; Chang, Wan-Teh; Shi, Zhongyi (2017). 「QUIC トランスポート プロトコル」。ACMデータ通信特別利益団体会議議事録。pp. 183–196。doi : 10.1145/ 3098822.3098842。ISBN 9781450346535. S2CID 2768765。
- Marx, Robin; Wijnants, Maarten; Quax, Peter; Faes, Axel; Lamotte, Wim (2018)。「HTTP/2 の Web パフォーマンス特性と HTTP/1.1 との比較」(PDF)。Web情報システムとテクノロジ。ビジネス情報処理の講義ノート。第 322 巻。pp. 87–114。doi : 10.1007 / 978-3-319-93527-0_5。hdl : 1942 / 26146。ISBN 978-3-319-93526-3. S2CID 52009597。
- Nowlan, Michael F.; Wolinsky, David; Ford, Bryan (2013)。順序なし配信による Tor 回路の遅延の削減。インターネット上の自由でオープンな通信に関する第 3 回 USENIX ワークショップ。
