GO-BACK-N ARQ (Automatisk upprepad begäran) säkerställer tillförlitlig dataöverföring genom att använda en skjutfönstermekanism och kumulativa erkännanden. Här är en uppdelning:
1. glidfönster: Avsändaren upprätthåller ett "skickningsfönster" - ett antal sekvensnummer för paket som den kan skicka utan att vänta på bekräftelser. Storleken på detta fönster (n) avgör hur många okända paket som avsändaren kan ha "under flygning" vid en viss tidpunkt. Detta möjliggör effektiv användning av bandbredd, eftersom avsändaren inte behöver vänta på varje enskilt bekräftelse innan du skickar nästa paket.
2. Sekvensnummer: Varje paket tilldelas ett unikt sekvensnummer. Dessa siffror är avgörande för att beställa och identifiera paket.
3. Kumulativa erkännanden: Mottagaren skickar inte ett bekräftelse för varje paket individuellt. Istället skickar den ett enda kumulativt erkännande (ACK) som indikerar det högsta sekvensnumret för paketet som det har korrekt mottagit och bearbetat *i ordning *. Till exempel, om mottagaren korrekt tar emot paket 1, 2 och 3, skickar den en ACK för paket 3, vilket innebär att den har fått och bearbetat paket 1, 2 och 3 framgångsrikt.
4. timeout och vidarebefordran: Avsändaren ställer in en timer för varje paket i sitt sändningsfönster. Om timern löper ut innan en ACK för det paketet (eller ett högre numrerat paket) tas emot, antar avsändaren att paketet (och alla efterföljande paket i sändningsfönstret) förlorades eller skadades. Det retransmits * alla * paket från det okända paketet. Denna "go-back-n" -aspekt är den viktigaste kännetecknet för protokollet.
5. feldetektering: GO-BACK-N ARQ förlitar sig på en mekanism (som kontrollsummor eller CRC) för att upptäcka fel i mottagna paket. Om mottagaren upptäcker ett fel, kastar den paketet och skickar inte en ACK för det eller några efterföljande paket. Detta utlöser timeout och vidarebefordran vid avsändaren.
Sammanfattningsvis: Go-back-n arq uppnår tillförlitlighet genom:
* Effektiv användning av bandbredd: Skjutfönstret möjliggör rörledning.
* feldetektering: Kontrollsumman eller liknande mekanismer identifierar skadade paket.
* Tillsyn: Timeouts och kumulativa ACK:er utlöser överföring av förlorade eller skadade paket och alla efterföljande paket i fönstret.
* Sekvensering och beställning: Sekvensnummer säkerställer att paketen återmonteras i rätt ordning vid mottagaren.
Även om det är effektivt kan go-back-n arq vara mindre effektiv än selektiv upprepad ARQ i scenarier med höga paketförlusthastigheter eftersom det återställer till och med korrekt mottagna paket. Det är dock enklare att implementera.