Sammenligningstabel
Grundlag for sammenligning | Go-Back-N | Selektiv gentagelse |
---|---|---|
Grundlæggende | Retransmitterer alle de rammer, der sendes efter rammen, som formodes at blive beskadiget eller tabt. | Retransmitterer kun de rammer, der mistænkes for at blive tabt eller beskadiget. |
Brug af båndbredde | Hvis fejlfrekvensen er høj, spilder den meget båndbredde. | Forholdsvis mindre båndbredde spildes ved genudsendelse. |
kompleksitet | Mindre kompliceret. | Mere kompleks som det kræver at anvende ekstra logik og sortering og opbevaring ved afsender og modtager. |
Vinduestørrelse | N-1 | <= (N + 1) / 2 |
Sortering | Sortering er hverken påkrævet på afsenderens side eller på modtagersiden. | Modtageren skal kunne sortere som den har til at opretholde rammerne. |
Lagring | Modtageren gemmer ikke rammerne modtaget efter den beskadigede ramme, indtil den beskadigede ramme genudsendes. | Modtager gemmer rammerne modtaget efter den beskadigede ramme i bufferen, indtil den beskadigede ramme udskiftes. |
Søger | Ingen søgning på ramme kræves hverken på afsenderens side eller på modtageren | Afsenderen skal kunne søge og vælge kun den ønskede ramme. |
ACK numre | NAK-nummer henviser til det næste forventede rammenummer. | NAK nummer henviser til rammen tabt. |
Brug | Det bruges mere ofte. | Det er mindre i praksis på grund af dets kompleksitet. |
Definition af Go-Back-N
Go-Back-N-protokollen er en glidende vindueprotokol. Det er en mekanisme til at registrere og kontrollere fejlen i datalinklaget. Under transmission af rammer mellem afsender og modtager, hvis en ramme er beskadiget, tabt eller en bekræftelse går tabt, forklares den handling, der udføres af afsender og modtager, i det følgende indhold.
Beskadiget ramme
Hvis en modtager modtager en beskadiget ramme, eller hvis der opstår en fejl under modtagelsen af en ramme, sender modtageren NAK (negativ kvittering) for den ramme sammen med det rammenummer, som den forventer at blive genudsendt. Efter afsendelse af NAK kasserer modtageren alle de rammer, den modtager, efter en beskadiget ramme. Modtageren sender ikke nogen ACK (bekræftelse) for de kasserede rammer. Efter at afsenderen har modtaget NAK for den beskadigede ramme, sender den alle rammerne frem og tilbage til rammenummeret, der henvises til af NAK.
Mistet ramme
Modtageren kontrollerer nummeret på hver ramme, den modtager. Hvis et rammenummer springes over i en sekvens, registrerer modtageren let tabet af en ramme, da den nyligt modtagne ramme modtages uden for rækkefølge. Modtageren sender NAK til den tabte ramme, og derefter modtager modtageren alle de rammer, der modtages efter en tabt ramme. Modtageren sender ikke nogen ACK (bekræftelse) for de kasserede rammer. Når afsenderen modtager NAK for den tabte ramme, sender den igen den tabte ramme, der henvises af NAK, og sender også alle de rammer, som den har sendt efter den tabte ramme.
Mistet anerkendelse
Hvis afsenderen ikke modtager nogen ACK, eller hvis ACK er tabt eller beskadiget mellem transmissionen. Afsenderen venter på, at tiden løber ud, og efterhånden som tiden løber ud, sender afsenderen alle de rammer, for hvilke den ikke har modtaget ACK. Afsenderen identificerer tabet af ACK ved hjælp af en timer.
ACK-nummeret, som NAK (negativt bekræftelsesnummer), viser nummeret på rammen, som modtageren forventer at være den næste i rækkefølge. Modtagerens vinduesstørrelse er 1, da datalinklaget kun kræver rammen, som den skal sende ud for netværkslaget. Afsendervinduets størrelse er lig med 'w'. Hvis fejlfrekvensen er høj, er meget båndbredde tabt bortkastet.
Definition af selektiv gentagelse
Selektiv gentagelse er også glidende vindueprotokol, som registrerer eller retter fejlen i datalinklaget. Den selektive gentagelsesprotokol sender kun den ramme, der er beskadiget eller tabt. I selektiv gentagelsesprotokol modtages den retransmitterede indrammet ud af rækkefølge. Den selektive gentagelsesprotokol kan udføre følgende handlinger
- Modtageren er i stand til at sortere rammen i en ordentlig rækkefølge, da den modtager den retransmitterede ramme, hvis sekvens er ude af rækkefølge af modtagelsesrammen.
- Afsenderen skal kunne søge i rammen, for hvilken NAK er blevet modtaget.
- Modtageren skal indeholde bufferen for at gemme al den tidligere modtagne ramme på vent, indtil den retransmitterede ramme sorteres og placeres i en ordentlig rækkefølge.
- ACK-nummeret, som NAK-nummer, refererer til rammen, som er tabt eller beskadiget.
- Det kræver mindre vinduestørrelse i forhold til back-n-protokollen.
Beskadigede rammer
Hvis en modtager modtager en beskadiget ramme, sender den NAK til rammen, hvor der opdages fejl eller skade. NAK-nummeret, som i go-back-n, angiver også bekræftelsen af de tidligere modtagne rammer og fejl i den aktuelle ramme. Modtageren beholder de nye rammer, mens de venter på, at den beskadigede ramme udskiftes. Rammerne, der modtages efter den beskadigede ramme, anerkendes ikke, før den beskadigede ramme er udskiftet.
Mistet ramme
Som i en selektiv gentagelsesprotokol kan en ramme modtages i rækkefølge, og de sorteres yderligere for at opretholde en ordentlig sekvens af rammerne. Under sortering, hvis et rammenummer springes over, genkender modtageren, at en ramme går tabt, og den sender NAK til den ramme til afsenderen. Efter at have modtaget NAK for den tabte ramme søger senderen rammen i vinduet og sender den pågældende ramme igen. Hvis den sidste overførte ramme går tabt, svarer modtageren ikke, og denne stilhed er en negativ bekræftelse for afsenderen.
Mistet anerkendelse
Hvis afsenderen ikke modtager nogen ACK eller ACK er tabt eller beskadiget mellem transmissionen. Afsenderen venter på, at tiden løber ud, og da tiden løber ud, sender senderen alle de rammer, for hvilke den ikke har modtaget ACK. Afsenderen identificerer tabet af ACK ved hjælp af en timer.
Nøgleforskelle mellem Go-Back-N og Selective Repeat
- Go-Back-N-protokollen er designet til at videresende alle de rammer, der kommer efter den beskadigede eller en tabt ramme. På den anden side sender Selective Repeat-protokollen kun den ramme, der er beskadiget eller tabt.
- Hvis fejlfrekvensen er høj, dvs. flere rammer bliver beskadiget og derefter genudsendes alle de rammer, der ankom efter en beskadiget ramme, spildes masser af båndbredde. På den anden side sender selektiv gentagelsesprotokol kun en beskadiget ramme, og den minimale båndbredde er således spildt.
- Alle rammer efter den beskadigede ramme kasseres og de retransmitterede rammer ankommer i en rækkefølge fra en beskadiget ramme og fremad, så der er mindre hovedpine at sortere rammerne, hvorfor det er mindre komplekst. På den anden side er kun beskadiget eller mistænkt ramme genudsendt, så der skal søges ekstra logik til sortering, derfor er det mere kompliceret.
- Go-Back-N har en vindues størrelse på N-1 og selektiv gentagelse har en vinduestørrelse <= (N + 1) / 2.
- Hverken afsender eller modtager har brug for sorteringsalgoritmen i Go-Back-N, mens modtageren skal kunne sortere som den har til at opretholde sekvensen.
- I Go-Back-N-modtageren kasseres alle rammerne efter den beskadigede ramme og behøver derfor ikke at gemme rammer. Selektiv gentagelsesprotokol kasserer ikke rammerne ankom efter den beskadigede ramme i stedet lagrer de rammene, indtil den beskadigede ramme kommer succesfuldt og er sorteret i en ordentlig rækkefølge.
- I selektiv gentagelse refererer NAK-ramme til det beskadigede rammenummer, og i Go-Back-N refererer NAK-ramme til den næste ramme, der forventes.
- Generelt er Go-Back-N mere brugt på grund af sin mindre komplekse karakter i stedet for Selective Repeat-protokollen.
Konklusion:
Den selektive gentagelse er en mere effektiv protokol, da den ikke spilder båndbredde for de rammer, der modtages korrekt, men dens kompleksitet og udgift favoriserer brugen af back-n-protokollen.