Primerjalna tabela
Podlaga za primerjavo | Go-Back-N | Selektivno ponavljanje |
---|---|---|
Osnovno | Ponovno prenaša vse okvirje, ki so poslani po okvirju, ki sumi, da je poškodovan ali izgubljen. | Ponovno prenaša samo tiste okvire, za katere se sumi, da so izgubljeni ali poškodovani. |
Uporaba pasovne širine | Če je stopnja napake visoka, porabi veliko pasovne širine. | Primerjalno manj pasovne širine se izgubi pri ponovnem oddajanju. |
Zapletenost | Manj zapleteno. | Bolj zapleteno, saj zahteva uporabo dodatne logike ter sortiranje in shranjevanje, pri pošiljatelju in sprejemniku. |
Velikost okna | N-1 | <= (N + 1) / 2 |
Razvrščanje | Sortiranje ni potrebno na strani pošiljatelja niti na strani sprejemnika. | Sprejemnik mora biti sposoben razvrstiti, ker mora ohraniti zaporedje okvirjev. |
Shranjevanje | Sprejemnik ne shrani okvirjev, ki so bili prejeti po poškodovanem okvirju, dokler se poškodovani okvir ne prenese ponovno. | Sprejemnik shrani okvirje, ki so bili prejeti po poškodovanem okvirju, v pufru, dokler se poškodovani okvir ne zamenja. |
Iskanje | Nobeno iskanje okvirja ni potrebno niti na strani pošiljatelja niti na sprejemniku | Pošiljatelj mora iskati in izbrati samo zahtevani okvir. |
Številke ACK | Številka NAK se nanaša na naslednjo pričakovano številko okvirja. | Številka NAK se nanaša na izgubljen okvir. |
Uporaba | Pogosteje se uporablja. | V praksi je to manj kompleksno. |
Opredelitev Go-Back-N
Protokol Go-Back-N je protokol drsnega okna. To je mehanizem za zaznavanje in nadzor napake v sloju podatkovne povezave. Med prenosom okvirjev med pošiljateljem in sprejemnikom, če je okvir poškodovan, izgubljen ali je potrditev izgubljena, je dejanje, ki ga izvede pošiljatelj in prejemnik, razloženo v naslednji vsebini.
Poškodovan okvir
Če sprejemnik prejme poškodovani okvir ali če med sprejemom okvirja pride do napake, sprejemnik pošlje NAK (negativno potrditev) za ta okvir skupaj s to številko okvirja, da pričakuje, da se bo prenašal. Po pošiljanju NAK sprejemnik zavrže vse okvirje, ki jih prejme, po poškodovanem okviru. Sprejemnik ne pošlje nobene ACK (potrditve) za zavržene okvirje. Ko pošiljatelj prejme NAK za poškodovani okvir, ponovno pošlje vse okvirje naprej številko okvirja, ki jo je navedel NAK.
Izgubljen okvir
Prejemnik preveri številko na vsakem okvirju. Če je številka niza preskočena v zaporedju, potem sprejemnik z lahkoto zazna izgubo okvirja, ko je nov prejeti okvir sprejet iz zaporedja. Sprejemnik pošlje NAK za izgubljeni okvir in nato sprejemnik zavrže vse okvirje, ki so bili prejeti po izgubljenem okviru. Sprejemnik ne pošlje nobene ACK (potrditve) za te zavržene okvirje. Ko pošiljatelj prejme NAK za izgubljeni okvir, ponovno predloži izgubljeni okvir, ki ga je poslal NAK, in nato ponovno pošlje vse okvirje, ki jih je poslal po izgubljenem okviru.
Izgubljeno potrdilo
Če pošiljatelj ne prejme ACK ali če je ACK med prenosom izgubljen ali poškodovan. Pošiljatelj čaka, da se čas izteče in ko čas izteče, pošiljatelj ponovno predloži vse okvirje, za katere ni prejel ACK. Pošiljatelj identificira izgubo ACK s pomočjo časovnika.
Številka ACK, kot je številka NAK (negativna potrditev), prikazuje število okvirja, za katerega se pričakuje, da bo naslednji v zaporedju. Velikost okna sprejemnika je 1, ker sloj podatkovne povezave zahteva le okvir, ki ga mora poslati poleg omrežnega sloja. Velikost okna pošiljatelja je enaka 'w'. Če je stopnja napak visoka, se izgubi veliko pasovne širine.
Opredelitev selektivnega ponavljanja
Selektivno ponavljanje je tudi protokol drsnega okna, ki zazna ali popravi napako v sloju podatkovne povezave. Protokol selektivnega ponavljanja ponovno prenaša samo tisti okvir, ki je poškodovan ali izgubljen. Pri protokolu selektivnega ponavljanja se ponovno oddani okvir sprejme iz zaporedja. Protokol selektivnega ponavljanja lahko izvede naslednje ukrepe
- Sprejemnik je sposoben razvrščati okvir v pravilnem zaporedju, saj sprejema ponovno oddani okvir, katerega zaporedje ni v redu glede na sprejemni okvir.
- Pošiljatelj mora biti sposoben iskati okvir, za katerega je bil prejet NAK.
- Sprejemnik mora vsebovati vmesni pomnilnik za shranjevanje vsega prej sprejetega okvirja na čakanje, dokler se ponovno oddani okvir ne razvrsti in postavi v pravilnem zaporedju.
- Številka ACK, kot je številka NAK, se nanaša na okvir, ki je izgubljen ali poškodovan.
- Zahteva manjšo velikost okna kot protokol go-back-n.
Poškodovani okvirji
Če sprejemnik prejme poškodovan okvir, pošlje NAK okvir, v katerem je zaznana napaka ali poškodba. Številka NAK, kot v go-back-n, prav tako označuje potrditev predhodno sprejetih okvirjev in napake v trenutnem okviru. Sprejemnik še naprej sprejema nove okvirje med čakanjem na zamenjavo poškodovanega okvirja. Okviri, ki so sprejeti po poškodovanem okvirju, se ne potrdijo, dokler ni poškodovan okvir zamenjan.
Izgubljeni okvir
Kot pri protokolu selektivnega ponavljanja, lahko okvir sprejmemo izven reda in nadalje razvrstimo, da vzdržujemo pravilno zaporedje okvirjev. Med razvrščanjem, če je številka okvirja preskočena, sprejemnik prepozna, da je okvir izgubljen in pošlje pošiljatelju NAK za ta okvir. Po prejemu NAK za izgubljeni okvir pošiljatelj poišče ta okvir v njegovem oknu in ga ponovno pošlje. Če se zadnji prenešeni okvir izgubi, se sprejemnik ne odzove in ta tišina je negativna potrditev za pošiljatelja.
Izgubljeno potrdilo
Če pošiljatelj ne prejme ACK ali je ACK med prenosom izgubljen ali poškodovan. Pošiljatelj počaka, da se čas izteče in ko čas izteče, pošiljatelj ponovno pošlje vse okvirje, za katere ni prejel ACK. Pošiljatelj identificira izgubo ACK s pomočjo časovnika.
Ključne razlike med Go-Back-N in selektivno ponovitvijo
- Protokol Go-Back-N je namenjen ponovnemu pošiljanju vseh okvirjev, ki so prispeli po poškodovanem ali izgubljenem okviru. Po drugi strani pa protokol selektivnega ponavljanja ponovno prenaša samo tisti okvir, ki je poškodovan ali izgubljen.
- Če je stopnja napake visoka, se poškoduje več okvirov in nato ponovno oddajanje vseh okvirjev, ki so prispeli po poškodovanem okvirju, kar povzroči veliko pasovne širine. Po drugi strani pa selektivni ponovitveni protokol ponovno prenaša samo poškodovan okvir, zato se izgubi minimalna pasovna širina.
- Vsi okvirji po poškodovanem okvirju se zavržejo in ponovno oddani okvirji pridejo v zaporedju od poškodovanega okvirja naprej, tako da je manj glavobolov pri razvrščanju okvirjev, zato je manj zapleten. Po drugi strani pa se ponovno prenaša samo poškodovan ali sumljiv okvir, zato je treba za razvrščanje uporabiti dodatno logiko, zato je bolj zapletena.
- Go-Back-N ima velikost okna N-1 in selektivno ponovitev ima velikost okna <= (N + 1) / 2.
- Niti pošiljatelj niti sprejemnik ne potrebujeta algoritma za razvrščanje v Go-Back-N, medtem ko mora biti sprejemnik sposoben razvrstiti, kot mora, da ohrani zaporedje.
- V Go-Back-N sprejemnik zavrže vse okvire po poškodovanem okvirju, zato ni potrebno shraniti nobenih okvirjev. Protokol selektivnega ponavljanja ne zavrže okvirjev, ki so prispeli po poškodovanem okvirju, temveč shranjuje te okvirje, dokler poškodovani okvir ne prispe uspešno in je razvrščen v pravilnem zaporedju.
- Pri selektivnem ponavljanju se okvir NAK nanaša na številko poškodovanega okvirja, v Go-Back-N pa se okvir NAK nanaša na naslednji pričakovan okvir.
- Na splošno je Go-Back-N bolj uporabna zaradi manj zapletene narave namesto protokola Selective Repeat.
Sklep:
Selektivno ponavljanje je učinkovitejši protokol, saj ne zapravlja pasovne širine za okvirje, ki so pravilno prejeti, vendar njegova kompleksnost in stroški omogočajo uporabo protokola go-back-n.