ARQ
ARQ (de l'Anglès Automatic Repeat-reQuest) són protocols utilitzats per al control d'errors en la transmissió de dades, garantitzant la integritat d'aquests. Aquests acostumen a utilitzar-se en sistemes que no actuen a temps real, ja que el temps que es perd en el reenviament pot ser considerable.
Aquesta tècnica de control d'erros es basa en el reenviament dels paquets d'informació que es detecten com a erronis.
Per a controlar la correcta recepció d'un paquet s'utilitzen ACK's (acknowledgement) i NACK's de forma que quan el receptor rep un paquet correctament, confirma amb un ACK i si no és correcte respon amb un NACK. Durant el protocol que controla la recepció de paquets poden sorgir múltiples problemes (pèrdua d'un ACK, rebre un ACK incorrecte, etc.) complicant, així, el contingut de l'ACK i sorgint nous conceptes com el de timeout.
Si l'emisor no rep informació sobre la recepció del paquet durant un temps fixat (timeout) aquest es reenvia automàticament.
Essencialment existeixen tres tipus de ARQ, tot i que a la pràctica es combinen per tal de trobar el sistema òptim per a cada canal o estat de tràfic concret.
Entre d'altres, trobem els protocols ARQ següents: Stop-and-wait ARQ, Go-Back-N ARQ i Selective Repeat ARQ; aquests protocols pertanyen a la capa d'enllaçament de dades del model OSI.