Rekomenduojama, 2024

Redaktoriaus Pasirinkimas

Skirtumas tarp „Go-Back-N“ ir „Selective Repeat Protocol“

„Go-Back-N protokolas ir„ Selective Repeat Protocol “yra slankiojo lango protokolai. Slankiojo lango protokolas pirmiausia yra klaidų kontrolės protokolas, ty tai yra klaidų aptikimo ir klaidų taisymo metodas. Pagrindinis skirtumas tarp „go-back-n“ protokolo ir atrankinio pakartojimo protokolo yra tas, kad „go-back-n protokolas“ retransliuoja visus rėmelius, kurie yra pažeisti ar prarasti. „Atrankinis pakartotinis protokolas“ retransliuoja tik tą rėmą, kuris yra sugadintas arba prarastas.

Palyginimo diagrama

Palyginimo pagrindasGrįžti-NAtrankinis kartojimas
PagrindinisPerduodami visi rėmeliai, siunčiami po rėmo, įtariamo, kad jie sugadinti ar prarasti.Perduodami tik tie rėmeliai, kurie įtariami praradę ar sugadinti.
Bandwidth naudojimasJei klaidų lygis yra didelis, tai atlieka daug pralaidumo.Palyginamai mažesnis pralaidumas yra perduodamas.
SudėtingumasMažiau sudėtinga.Sudėtingesnė, nes reikia taikyti papildomą logiką ir rūšiavimą bei saugojimą, siuntėjo ir gavėjo.
Lango dydisN-1<= (N + 1) / 2
RūšiavimasRūšiuoti nereikia nei siuntėjo pusėje, nei imtuvo pusėje.Gavėjas turi sugebėti rūšiuoti, nes turi išlaikyti kadrų seką.
SaugojimasGavėjas nepanaudoja sugadintų rėmelių, kol sugadintas rėmelis nebus perduotas.Gavėjas saugo rėmus, gautus po sugadinto rėmo, buferyje, kol pakeistas pažeistas rėmelis.
PaieškaNereikia ieškoti rėmelio nei siuntėjo pusėje, nei imtuveSiuntėjas turi galėti ieškoti ir pasirinkti tik pageidaujamą rėmelį.
ACK numeriaiNAK numeris nurodo kitą numatomą kadro numerį.NAK numeris nurodo prarastą rėmelį.
NaudokiteJis dažniau naudojamas.Praktikoje tai yra mažiau sudėtinga.

„Go-Back-N“ apibrėžimas

„Go-Back-N“ protokolas yra stumdomojo lango protokolas. Tai mechanizmas, skirtas aptikti ir valdyti klaidą datalinko sluoksnyje. Perduodant rėmus tarp siuntėjo ir imtuvo, jei rėmas yra sugadintas, prarastas arba prarandamas patvirtinimas, siuntėjo ir gavėjo veiksmai paaiškinami toliau pateiktame turinyje.

Pažeistas rėmelis

Jei imtuvas gauna pažeistą rėmelį arba tada, kai priimant rėmelį įvyksta klaida, imtuvas siunčia NAK (neigiamą patvirtinimą) šiam rėmui kartu su tuo rėmo numeriu, kad jis tikisi, kad bus perduotas. NAK išsiuntus imtuvą, sugadintas rėmelis pašalina visus gautus rėmelius. Imtuvas nesiunčia jokio ACK (patvirtinimo) už atmestus rėmelius. Kai siuntėjas gauna NAK už sugadintą rėmelį, jis vėl perduoda visus rėmelius nuo NAK nurodyto rėmo numerio.

Pamestas rėmelis

Imtuvas patikrina kiekvieno rėmelio numerį, kurį jis gauna. Jei rėmo numeris yra praleistas sekoje, tada imtuvas lengvai aptinka kadro praradimą, nes naujai gautas rėmelis gaunamas iš eilės. Gavėjas siunčia NAK už prarastą rėmelį ir tada imtuvas atmeta visus rėmelius, gautus po prarastos kadro. Imtuvas nesiunčia jokio ACK (patvirtinimo) už atmestus rėmelius. Kai siuntėjas gauna NAK už prarastą kadrą, jis retransliuoja prarastą rėmą, kurį nurodo NAK, ir taip pat retransliuoja visus rėmelius, kuriuos jis išsiuntė po pamesto kadro.

Prarastas patvirtinimas

Jei siuntėjas negauna jokio ACK arba ACK yra prarastas arba sugadintas tarp perdavimo. Siuntėjas laukia, kol bus baigtas laikas, ir kai laiko trukmė, siuntėjas retransliuoja visus rėmelius, kuriems jis negavo ACK. Siuntėjas atpažįsta ACK praradimą laikmačio pagalba.

ACK numeris, kaip ir NAK (neigiamas patvirtinimas) numeris, rodo rėmo numerį, kurio imtuvas tikisi būti sekantis. Imtuvo lango dydis yra 1, nes duomenų ryšio sluoksnis reikalauja tik to rėmo, kurį jis turi siųsti šalia tinklo sluoksnio. Siuntėjo lango dydis yra lygus „w“. Jei klaidų lygis yra didelis, prarandama daug pralaidumo.

Selektyvaus kartojimo apibrėžimas

Atrankinis pakartojimas taip pat yra stumdomojo lango protokolas, kuris aptinka arba ištaiso klaidą, padarytą datalinko sluoksnyje. Atrankinis pakartotinis protokolas retransliuoja tik tą rėmą, kuris yra sugadintas arba prarastas. Atrankinio pakartojimo protokole retransliuotas rėmelis gaunamas iš eilės. Atrankinis pakartotinis protokolas gali atlikti šiuos veiksmus

  • Imtuvas sugeba surūšiuoti rėmelį tinkamoje sekoje, nes gauna retransliuojamą rėmelį, kurio seka yra netinkama priimančiojo rėmelio.
  • Siuntėjas turi sugebėti ieškoti rėmelio, kuriam buvo gautas NAK.
  • Imtuvas turi turėti buferį, kad būtų galima išsaugoti visą anksčiau gautą kadrą, kol retransliuotas rėmas bus surūšiuotas ir įdėtas į tinkamą seką.
  • ACK numeris, kaip ir NAK numeris, reiškia prarastą ar sugadintą rėmelį.
  • Tam reikia mažesnio lango dydžio, palyginti su „go-back-n“ protokolu.

Pažeisti rėmeliai

Jei imtuvas gauna pažeistą rėmelį, jis siunčia NAK už rėmelį, kuriame aptikta klaida ar pažeidimas. NAK numeris, kaip ir grįžtamasis n, taip pat rodo anksčiau gautų kadrų ir klaidos patvirtinimą dabartiniame rėmelyje. Gavėjas gauna naujus rėmelius, kol laukia sugadinto rėmo pakeitimas. Rėmeliai, gauti po pažeisto rėmo, nepatvirtinami tol, kol nepažeistas rėmas nebus pakeistas.

Pamestas rėmelis

Kaip ir atrankinio pakartojimo protokole, rėmelis gali būti priimtas iš eilės ir toliau surūšiuotos, kad išlaikytų tinkamą rėmelių seką. Rūšiuojant, jei rėmelio numeris praleidžiamas, imtuvas atpažįsta, kad kadras yra prarastas ir siunčia NAK už tą rėmelį siuntėjui. Gavęs NAK už prarastą rėmelį, siuntėjas ieško to rėmelio savo lange ir pakartotinai siunčia tą kadrą. Jei prarandamas paskutinis perduotas rėmelis, imtuvas neatsako ir šis tylėjimas yra neigiamas siuntėjo patvirtinimas.

Prarastas patvirtinimas

Jei siuntėjas negauna jokio ACK arba ACK yra prarastas arba sugadintas tarp perdavimo. Siuntėjas laukia, kol bus baigtas laikas, ir kai laiko trukmė, siuntėjas retransliuoja visus rėmelius, kuriems jis negavo ACK. Siuntėjas atpažįsta ACK praradimą laikmačio pagalba.

Pagrindiniai skirtumai tarp „Go-Back-N“ ir „Selective Repeat“

  1. „Go-Back-N“ protokolas yra dizainas, kuriuo perduodami visi rėmeliai, kurie atvyksta po sugadinto ar prarasto rėmo. Kita vertus, „Selective Repeat“ protokolas retransliuoja tik tą rėmą, kuris yra sugadintas arba prarastas.
  2. Jei klaidų lygis yra aukštas, ty yra pažeisti daugiau rėmelių, o po to vėl perduodami visi rėmeliai, kurie buvo sugadinti po pažeisto rėmo, daugybė pralaidumo. Kita vertus, atrankinis pakartotinis protokolas iš naujo perduoda tik pažeistą rėmelį, todėl mažiausias pralaidumas yra švaistomas.
  3. Visi rėmai po pažeisto rėmelio yra išmesti ir retransliuoti rėmeliai atvyksta į seką nuo pažeisto rėmo, taigi, mažesnis rėmų rūšiavimo galvos skausmas, todėl jis yra mažiau sudėtingas. Kita vertus, retransliuojamas tik sugadintas ar įtariamas rėmas, todėl rūšiavimui turi būti taikoma papildoma logika, todėl ji yra sudėtingesnė.
  4. „Go-Back-N“ lango dydis yra N-1, o atrankinis pakartojimas - lango dydis <= (N + 1) / 2.
  5. Nei siuntėjas, nei gavėjas neturi reikalingo rūšiavimo algoritmo „Go-Back-N“, o imtuvas turi sugebėti surūšiuoti taip, kaip jis turi seką.
  6. „Go-Back-N“ imtuve pašalinami visi rėmai po pažeisto rėmo, todėl nereikia saugoti jokių rėmelių. Atrankinis pakartotinis protokolas neišmeta rėmelių, sugrįžusių po sugadinto rėmo, bet saugo tuos rėmelius, kol sugadintas rėmas sėkmingai atvyksta ir surūšiuotas pagal tinkamą seką.
  7. Atrankinio pakartojimo metu NAK rėmas reiškia sugadintą rėmo numerį ir „Go-Back-N“, NAK rėmas reiškia kitą numatomą rėmelį.
  8. Paprastai „Go-Back-N“ yra daugiau, nes jis yra mažiau sudėtingas, o ne „Selective Repeat“ protokolas.

Išvada:

Atrankinis pakartojimas yra efektyvesnis protokolas, nes jis nepanaudoja juostų pločio rėmams, kurie yra tinkamai priimti, tačiau jo sudėtingumas ir sąnaudos skatina naudoti „go-back-n“ protokolą.

Top