====== ARQ (Automatic Repeat reQuest) ====== **ARQ (Automatic Repeat reQuest)** je skupina protokolů pro řízení chyb při přenosu dat. Slouží k zajištění spolehlivého doručení zpráv přes nespolehlivé nebo rušené komunikační kanály. ARQ využívá kombinaci **potvrzovacích zpráv (ACK)**, **negativních potvrzení (NAK)** a **časových limitů (timeout)** k detekci ztracených nebo poškozených paketů a jejich automatickému opakovanému odeslání. ===== Charakteristika ===== * Zajišťuje **spolehlivý přenos** přes nespolehlivé kanály. * Používá **ACK** pro potvrzení správného příjmu. * Používá **NAK** nebo vypršení timeoutu pro detekci chyb. * Automaticky **opakovaně odesílá** ztracené nebo poškozené pakety. * Využívá se v **Data Link Layer** a **Transport Layer** modelu OSI. ===== Princip fungování ===== * Odesílatel pošle rámec nebo paket. * Příjemce: * pošle **ACK**, pokud je vše v pořádku, * pošle **NAK**, nebo nepošle nic (timeout), pokud je rámec poškozen. * Odesílatel při chybě **znovu odešle** příslušná data. ===== Typy ARQ protokolů ===== * **Stop-and-Wait ARQ** Odesílatel pošle jeden paket a čeká na ACK. Jednoduché, ale pomalé. * **Go-Back-N ARQ** Odesílatel může poslat více paketů, ale při chybě se vrací k poslednímu nepotvrzenému. * **Selective Repeat ARQ** Nejefektivnější varianta – znovu se odesílají pouze chybné pakety. ===== Význam ===== ARQ je klíčový mechanismus pro: * spolehlivý přenos dat v sítích, * opravu chyb bez zásahu uživatele, * efektivní využití komunikačních kanálů, * stabilitu protokolů jako TCP, Wi‑Fi, mobilní sítě a další. ===== Související pojmy ===== * ACK – potvrzení * NAK – negativní potvrzení * Sliding Window * Error Control