Indholdsfortegnelse:
- Definition - Hvad betyder Automatic Repeat reQuest (ARQ)?
- Techopedia forklarer Automatic Repeat reQuest (ARQ)
Definition - Hvad betyder Automatic Repeat reQuest (ARQ)?
Automatic Repeat ReQuest (ARQ), også kaldet Automatic Repeat Query, er en fejlkontrolprotokol, der automatisk starter et opkald til at videresende en hvilken som helst datapakke eller ramme efter modtagelse af fejl eller forkerte data. Når den sendende enhed ikke modtager et kvitteringssignal for at bekræfte, at dataene er modtaget, videresender den normalt dataene efter en foruddefineret timeout og gentager processen et forudbestemt antal gange, indtil den transmitterende enhed modtager kvitteringen.
ARQ'er bruges ofte til at sikre pålidelige transmissioner over en upålidelig service.
Techopedia forklarer Automatic Repeat reQuest (ARQ)
Tre hovedtyper af ARQ er Stop-and-wait ARQ, Go-Back-N ARQ og Selective Repeat ARQ. Stop-and-wait ARQ er den enkleste ARQ. Den har en ramme ad gangen sendt uden yderligere rammer sendt, indtil modtagelsen af den forrige er bekræftet via et kvitteringssignal.
Go-Back-N ARQ er en meget mere kompleks protokol. Det giver mulighed for at sende rammer, selvom tidligere rammer blev modtaget uden et kvitteringssignal. Denne protokol holder styr på sekvensen. Når den sidste ramme modtages, anmoder den om transmission af de rammer, der er sendt uden en bekræftelse. Dette gentages, indtil alle rammer modtages med et kvitteringssignal. Imidlertid kan denne protokol resultere i, at mange rammer sendes flere gange, hvilket kan undgås ved hjælp af Selective Repeat ARQ-protokollen.
Selektiv gentagelses ARQ kan bruges til levering og bekræftelse af sendte datapakker eller til levering af underinddelte meddelelser i underenheder. I den første metode fortsætter protokollen med at acceptere og anerkende rammer sendt efter en indledende fejl. Det fortsætter med at gøre dette, indtil et specifikt antal rammer er modtaget, kaldet vinduesstørrelse. Der er en vinduesstørrelse til både transmission og modtagelse, og de skal være ens. Sekvensnumrene for alle ikke-modtagne rammer spores og sendes tilbage til senderen.
Afsenderen fortsætter med at sende rammer med ikke-anerkendte data, indtil vinduesstørrelsen er nået (den har tømt sit vindue). Når dette sker sender senderen igen rammenummeret, der er angivet af kvitteringssignalerne, og fortsætter, hvor det er ude. For at sikre, om alle rammer er modtaget, skal størrelsen på de afsendende og modtagende vinduer være halvdelen af det maksimale sekvensnummer. Såfremt modtagervinduet er større end halvdelen af det maksimale sekvensnummer, er nogle eller endda alle de rammer, der er sendt, efter de krævede timeouts duplikater, men genkendes ikke som sådan. Hvis afsenderen flytter sit vindue (kaldet glidevindue) for hver modtagelse af bekræftelse, skal antallet af kvitteringer og det største sekvensnummer være lig, og halvdelen af dette nummer skal være den vinduesstørrelse, som modtageren bruger.
I den anden metode, der bruger underopdelte meddelelser, er processen anderledes. Ikke-kontinuerlige kommunikationskanaler bruges, hvor meddelelser varierer i længde, men protokollerne behandler beskeden som en enkelt enhed. Alternativt kan hver meddelelse opdeles i underblokke, der har en fast længde, i en proces kaldet pakkesegmentering. Hver meddelelse indeholder et variabelt antal underblokke. Hvert ikke-anerkendt svar bærer et ekstra bitflag, der indikerer, at hver underblok er modtaget. Hver genoverførsel aftager i længde, den indeholder kun de ikke-anerkendte underblokke.
ARQ'er med meddelelser med variabel længde har øget vanskelighederne med længere beskeder, fordi hver gentagne meddelelse er fuld længde. Selektiv videresendelse af meddelelser med variabel længde, når du bruger Selective Repeat ARQ, eliminerer imidlertid vanskeligheden med at levere længere meddelelser. Mindre vanskeligheder er beviset ved tilbageholdelse af vellykkede leverede underblokke efter hver transmission og faldet i antallet af udestående underblokke efter hver transmission.
ARQ-protokoller findes i datalink- eller transportlagene i OSI-modellen. TCP bruger en variant af Go-Back-N ARQ for at sikre pålidelig dataoverførsel via Internet-protokollen. Det garanterer dog ikke levering af datapakker. Hvis TCP bruger selektiv kvittering (SACK), bruges selektiv gentagelses ARQ. Når lokalnetværk (LAN) har støjende miljøer, anvendes Selective Repeat ARQ med pakkesegmentering.
