Go-Back-N ARQ (Automatic Repeat reQuest) zorgt voor een betrouwbare gegevensoverdracht door gebruik te maken van een schuifvenstermechanisme en cumulatieve bevestigingen. Hier is een overzicht:
1. Schuifvenster: De afzender onderhoudt een "verzendvenster":een reeks volgnummers voor pakketten die hij kan verzenden zonder op bevestigingen te wachten. De grootte van dit venster (N) bepaalt hoeveel niet-bevestigde pakketten de afzender op een bepaald moment "in de lucht" kan hebben. Dit maakt een efficiënt gebruik van de bandbreedte mogelijk, omdat de afzender niet op elke individuele bevestiging hoeft te wachten voordat hij het volgende pakket verzendt.
2. Volgnummers: Elk pakket krijgt een uniek volgnummer toegewezen. Deze nummers zijn cruciaal voor het bestellen en identificeren van pakketten.
3. Cumulatieve dankbetuigingen: De ontvanger verzendt niet voor elk pakket afzonderlijk een ontvangstbevestiging. In plaats daarvan verzendt het een enkele cumulatieve bevestiging (ACK) die het hoogste volgnummer aangeeft van het pakket dat het *in volgorde* correct heeft ontvangen en verwerkt. Als de ontvanger bijvoorbeeld de pakketten 1, 2 en 3 correct ontvangt, verzendt hij een ACK voor pakket 3, wat impliceert dat hij de pakketten 1, 2 en 3 met succes heeft ontvangen en verwerkt.
4. Time-out en opnieuw verzenden: De afzender stelt een timer in voor elk pakket binnen het verzendvenster. Als de timer afloopt voordat een ACK voor dat pakket (of een pakket met een hoger nummer) is ontvangen, gaat de afzender ervan uit dat het pakket (en alle daaropvolgende pakketten in het verzendvenster) verloren zijn gegaan of beschadigd zijn. Vervolgens verzendt het *alle* pakketten opnieuw, beginnend bij het niet-bevestigde pakket. Dit "go-back-N"-aspect is het belangrijkste kenmerk van het protocol.
5. Foutdetectie: Go-Back-N ARQ vertrouwt op een mechanisme (zoals checksums of CRC) om fouten in ontvangen pakketten te detecteren. Als de ontvanger een fout detecteert, gooit hij het pakket weg en verzendt er geen ACK voor, of voor eventuele daaropvolgende pakketten. Dit activeert de time-out en hertransmissie bij de afzender.
Samengevat: Go-Back-N ARQ bereikt betrouwbaarheid door:
* Efficiënt gebruik van bandbreedte: Het schuifraam maakt transmissie via pijpleidingen mogelijk.
* Foutdetectie: Checksums of soortgelijke mechanismen identificeren beschadigde pakketten.
* Heruitzending: Time-outs en cumulatieve ACK's veroorzaken de hertransmissie van verloren of beschadigde pakketten en alle daaropvolgende pakketten in het venster.
* Volgorde en volgorde: Volgnummers zorgen ervoor dat pakketten bij de ontvanger in de juiste volgorde opnieuw worden samengesteld.
Hoewel efficiënt, kan Go-Back-N ARQ minder efficiënt zijn dan Selective Repeat ARQ in scenario's met hoge pakketverliespercentages, omdat het zelfs correct ontvangen pakketten opnieuw verzendt. Het is echter eenvoudiger te implementeren. |