2つのプロトコルのうち、スライディングウィンドウプロトコルはストップアンドウェイトプロトコルよりも効率的です。
比較表
比較基準 | 停止待機プロトコル | スライディングウィンドウプロトコル |
---|---|---|
動作 | リクエストと返信 | 同時送信 |
転送可能フレーム数 | 唯一 | 複数 |
効率 | もっと少なく | もっと比較的 |
了承 | パケットが到着するたびに送信されます | 確認のウィンドウは維持されます |
伝送の種類 | 半二重 | 全二重 |
伝播遅延 | 長いです | ショート |
リンク利用 | 悪い | 良い |
停止待機プロトコルの定義
通信において、送信側でのデータ送信速度が受信側でのデータ受信速度よりもはるかに速い場合、ネットワークはこれらの種類のケースをどのように処理するのでしょうか。 送信側と受信側の動作速度は変わらないようにする必要があります。 この問題に対する解決策として、 ストップアンドウェイトプロトコルが登場しました。 このプロトコルでは、送信側はフレームを送信してから確認応答を待ちます。 受信側が送信側に確認応答を送信すると、さらに先へ進み、別のフレームを送信します。
ストップアンドウェイトプロトコルの例はRPC(Remote Procedure Call)です。これは、あるデバイスのプログラムから別のデバイスのライブラリルーチンへのサブルーチン呼び出しが実装されているのと似たパターンで機能するためです。 ほとんどのプログラムはシングルスレッドであるため、送信者は他の要求を処理して送信する前に応答を待つようになります。
スライディングウィンドウプロトコルの定義
ストップアンドウェイトプロトコルと同様に、 スライディングウィンドウプロトコルもフロー制御メカニズムを実装するための方法です。 制限された量のデータを一度に一方向に送信できるストップアンドウェイトプロトコルの欠点が解消されました。 スライディングウィンドウプロトコルの性能は、同時に双方向に複数のフレームを送信することによって改善されている(すなわち、n> 1であり、ストップアンドウェイトはnを1に制限する)。 この方式では、ヘッダサイズがnビットの場合、送信者はフレームを追跡するために連続番号の付いたフレームを受信者に送信します。シーケンスの範囲は0〜(2n-1)です。
ここでウィンドウとは、内容を読み取った後にバッファが空になった後に、受信機がそれを読み取らないまでデータを格納するために利用されるバッファを意味する。 送信ウィンドウと受信ウィンドウの2種類のウィンドウを使用します。送信ウィンドウと(2n-1)の範囲です。 送信ウィンドウは送信されたフレームに関するシーケンス番号を保持し、送信側で制御されます。
TCPプロトコルはスライディングウィンドウプロトコルとして機能し、オペレーティングシステムのカーネルに配置されたバッファを使用します。
ストップアンドウェイトプロトコルとスライディングウィンドウプロトコルの主な違い
- ストップアンドウェイトプロトコルは要求と応答のモデルに従います。 それに対して、スライディングウィンドウプロトコルでは、フレームは特定のウィンドウサイズに対して自発的に送信される。
- スライディングウィンドウは一度に複数のフレームを送信しますが、ストップアンドウェイトプロトコルでは一度に1つのフレームのみが送信されます。
- スライディングウィンドウプロトコルの効率は、短い伝播遅延を発生させるため、ストップアンドウェイトプロトコルよりも優れています。
- ストップアンドウェイトプロトコルは、各フレームを受信した後に受信側で確認応答を生成しますが、スライディングウィンドウ内の確認応答は、特定のフレームセットを受信した後に生成されます。
- ストップアンドウェイトプロトコルの伝送モードは半二重です。 反対に、スライド式ウィンドウの場合は全二重です。
- スライディングウィンドウプロトコルはリンクを効果的に利用します。 対照的に、ストップアンドウェイトプロトコルでのリンク利用は劣っています。
結論
両方のプロトコル、ストップアンドウェイトおよびスライディングウィンドウプロトコルは、フロー制御のメカニズムを提供します。 ただし、スライディングウィンドウプロトコルのパフォーマンスは、帯域幅を効果的に利用するため、ストップアンドウェイトプロトコルよりも優れていますが、ストップアンドウェイトプロトコルはネットワークリソースを浪費します。