比較表
比較基準 | Go-Back-N | 選択的繰り返し |
---|---|---|
基本 | 損傷または消失したと思われるフレームの後に送信されたすべてのフレームを再送信します。 | 紛失または損傷したと思われるフレームだけを再送信します。 |
帯域利用率 | エラー率が高いと、多くの帯域幅が無駄になります。 | 比較的少ない帯域幅が再送信に浪費される。 |
複雑 | それほど複雑ではありません。 | 送信側と受信側で追加のロジックとソートおよび格納を適用する必要があるため、より複雑です。 |
ウィンドウサイズ | N-1 | <=(N + 1)/ 2 |
ソート | ソートは送信側でも受信側でも必要ありません。 | 受信機はそれがフレームのシーケンスを維持しなければならないのでソートすることができなければなりません。 |
保管 | 受信機は、損傷したフレームが再送信されるまで、損傷したフレームの後に受信したフレームを保存しません。 | 受信機は、損傷フレームが交換されるまで、損傷フレームの後に受信されたフレームをバッファに格納する。 |
検索中 | 送信側でも受信側でもフレームの検索は不要です。 | 送信側は、要求されたフレームだけを検索して選択できなければなりません。 |
ACK番号 | NAK番号は次に予想されるフレーム番号を表します。 | NAK番号は失われたフレームを表します。 |
つかいます | それはもっとよく使われます。 | その複雑さのために実際的ではありません。 |
Go-Back-Nの定義
Go-Back-Nプロトコルはスライディングウィンドウプロトコルです。 データリンク層のエラーを検出して制御するメカニズムです。 送信側と受信側の間のフレームの伝送中に、フレームが損傷を受けたり、失われたり、あるいは確認応答が失われたりした場合、送信側と受信側によって実行されるアクションは以下の内容で説明されます。
破損したフレーム
受信機が破損したフレームを受信した場合、またはフレームの受信中にエラーが発生した場合、受信機はそのフレーム番号とともに、そのフレームのNAK(否定応答)を送信し、再送信を期待します。 NAKを送信した後、受信機は損傷したフレームの後に、受信したすべてのフレームを破棄します。 受信機は捨てられたフレームのために少しのACK(承認)も送りません。 送信側が損傷したフレームのNAKを受信した後、送信側はすべてのフレームの先頭にNAKで示されるフレーム番号を再送信します。
失われたフレーム
受信機は各フレームの番号をチェックし、受信します。 フレーム番号がシーケンス内でスキップされると、新しく受信されたフレームが順不同で受信されるので、受信機はフレームの損失を容易に検出する。 受信機は失われたフレームのためにNAKを送ります、そして次に受信機は失われたフレームの後に受け取られたすべてのフレームを捨てます。 受信機はその廃棄されたフレームに対するACK(確認応答)を送信しない。 送信側は、失われたフレームに対するNAKを受信した後、NAKによって参照される失われたフレームを再送信し、さらに、失われたフレームの後に送信したすべてのフレームを再送信します。
謝辞を忘れました
送信者がACKを受信しない場合、またはACKが送信の合間に紛失または破損した場合。 送信側は時間切れになるまで待機し、時間切れになると送信側はACKを受信していないすべてのフレームを再送信します。 送信者はタイマーを使用してACKの損失を識別します。
ACK番号は、NAK(否定応答)番号と同様に、受信側が順番に次のフレームになることを期待しているフレームの番号を示します。 データリンク層はネットワーク層の隣に送信しなければならないフレームのみを必要とするので、受信機のウィンドウサイズは1である。 送信側ウィンドウサイズは 'w'と同じです。 エラー率が高いと、多くの帯域幅が無駄になります。
選択的繰り返しの定義
選択的繰り返しは、データリンク層で発生したエラーを検出または修正するスライディングウィンドウプロトコルでもあります。 選択的リピートプロトコルは、損傷または損失したフレームだけを再送信します。 選択的繰り返しプロトコルでは、再送信されたフレームは順番どおりに受信されない。 選択的リピートプロトコルは以下の動作を実行する
- 受信機は、そのシーケンスが受信フレームの順序とは異なる再送信フレームを受信するので、フレームを適切なシーケンスでソートすることができる。
- 送信者は、NAKを受信したフレームを検索できなければなりません。
- 受信機は、再送信されたフレームが分類され適切な順序で配置されるまで、以前に受信されたすべてのフレームを保留状態で格納するためのバッファを含まなければならない。
- ACK番号は、NAK番号と同様に、損失または損傷したフレームを表します。
- go-back-nプロトコルと比較して、必要なウィンドウサイズが少なくて済みます。
破損したフレーム
受信機は、損傷したフレームを受信すると、エラーまたは損傷が検出されたフレームのNAKを送信します。 go-back-nのようにNAK番号も、以前に受信したフレームの確認応答と現在のフレームのエラーを示します。 受信側は、損傷したフレームが置き換えられるのを待つ間、新しいフレームを受信し続けます。 損傷を受けたフレームの後に受信されたフレームは、損傷を受けたフレームが置き換えられるまで確認応答されません。
失われたフレーム
選択的リピートプロトコルの場合と同様に、フレームは順不同で受信される可能性があり、さらにそれらはフレームの適切なシーケンスを維持するためにソートされる。 ソート中にフレーム番号がスキップされると、受信側はフレームが失われたことを認識し、そのフレームのNAKを送信側に送信します。 失われたフレームのNAKを受信した後、送信側はウィンドウ内でそのフレームを検索し、そのフレームを再送信します。 最後に送信されたフレームが失われた場合、受信者は応答せず、この沈黙は送信者に対する否定応答です。
謝辞を忘れました
送信者がACKを受信しなかった場合、またはACKが送信の間に紛失または破損した場合。 送信側は時間切れになるのを待ち、時間切れになると送信側はACKを受信していないすべてのフレームを再送信します。 送信者はタイマーを使用してACKの損失を識別します。
Go-Back-Nと選択的繰り返しの主な違い
- Go-Back-Nプロトコルは、破損したフレームまたは失われたフレームの後に到着したすべてのフレームを再送信するように設計されています。 一方、Selective Repeatプロトコルでは、破損または消失したフレームだけが再送信されます。
- エラー率が高い場合、すなわち、より多くのフレームが損傷を受けており、損傷したフレームの後に到着したすべてのフレームを再送信すると、多くの帯域幅が浪費されます。 一方、選択的リピートプロトコルは損傷したフレームのみを再送信するため、最小帯域幅が無駄になります。
- 損傷したフレームの後のすべてのフレームは廃棄され、再送信されたフレームは損傷したフレームから順に到着するので、フレームのソートの頭痛が少なくなり、したがって複雑さも少なくなります。 他方、損傷を受けた、または疑わしいフレームのみが再送信されるので、ソートのために追加のロジックを適用しなければならないため、より複雑になります。
- Go-Back-NのウィンドウサイズはN-1、選択的繰り返しのウィンドウサイズは<=(N + 1)/ 2です。
- 送信側も受信側もGo-Back-Nのソートアルゴリズムを必要としませんが、受信側はシーケンスを維持するためにソートを実行できなければなりません。
- Go-Back-Nでは、受信機は損傷したフレームの後のすべてのフレームを破棄するので、フレームを格納する必要はありません。 Selective Repeat Protocolは、破損したフレームの後に到着したフレームを破棄せず、破損したフレームが正常に到着して適切な順序でソートされるまでそれらのフレームを保存します。
- 選択的反復ではNAKフレームは損傷を受けたフレーム番号を指し、そしてGo-Back-NではNAKフレームは予想される次のフレームを指す。
- 一般に、Go-Back-Nは、Selective Repeatプロトコルの代わりにその複雑さが少ないために使用されています。
結論:
選択的繰り返しは、それが正しく受信されたフレームの帯域幅を浪費しないのでより効率的なプロトコルであるが、その複雑さおよび費用は、go-back-nプロトコルの使用を支持する。