Obsah:
- Definícia - Čo znamená automatické opakovanie žiadosti (ARQ)?
- Techopedia vysvetľuje automatické opakovanie žiadosti (ARQ)
Definícia - Čo znamená automatické opakovanie žiadosti (ARQ)?
Automatic Repeat ReQuest (ARQ), tiež nazývaný Automatic Repeat Query, je protokol na kontrolu chýb, ktorý automaticky iniciuje volanie na opakovaný prenos akéhokoľvek dátového paketu alebo rámca po prijatí chybných alebo nesprávnych údajov. Keď vysielacie zariadenie neprijme potvrdzovací signál na potvrdenie prijatia údajov, spravidla presmeruje dáta po vopred stanovenom časovom limite a proces opakuje vopred určený počet krát, kým vysielacie zariadenie neprijme potvrdenie.
ARQ sa často používajú na zabezpečenie spoľahlivého prenosu cez nespoľahlivú službu.
Techopedia vysvetľuje automatické opakovanie žiadosti (ARQ)
Tri hlavné typy ARQ sú ARQ typu Stop-and-wait, ARQ typu Go-Back-N a ARQ so selektívnym opakovaním. Stop-and-wait ARQ je najjednoduchšie ARQ. Má jeden rámec súčasne poslaný bez toho, aby sa poslali žiadne ďalšie rámce, kým príjem predchádzajúceho nie je potvrdený prostredníctvom potvrdzovacieho signálu.
Go-Back-N ARQ je oveľa zložitejší protokol. Umožňuje posielanie rámcov, aj keď predchádzajúce snímky boli prijaté bez potvrdzovacieho signálu. Tento protokol sleduje postupnosť. Keď je prijatý posledný rámec, požaduje opätovný prenos rámcov poslaných bez potvrdenia. Toto sa opakuje, až kým sa neprijmú všetky rámce s potvrdzovacím signálom. Výsledkom tohto protokolu však môže byť mnohonásobné odosielanie viacerých snímok, ktorým sa dá vyhnúť použitím protokolu Selective Repeat ARQ.
Selektívne opakovanie ARQ sa môže použiť na doručenie a potvrdenie zaslaných dátových paketov alebo na doručenie rozdelených správ v podjednotkách. V prvej metodike protokol naďalej prijíma a potvrdzuje rámce odoslané po počiatočnej chybe. Pokračuje to dovtedy, kým sa neprijme určený počet snímok nazývaných veľkosť okna. Je tu veľkosť okna pre vysielanie aj príjem a musia byť rovnaké. Poradové čísla všetkých neprijatých rámcov sa sledujú a odosielajú späť do vysielača.
Odosielateľ pokračuje v odosielaní rámcov nepotvrdených údajov, až kým sa nedosiahne jeho veľkosť okna (jeho okno nebolo vyprázdnené). Ak k tomu dôjde, odosielateľ znovu pošle číslo rámca dané potvrdzovacími signálmi a pokračuje tam, kde je vypnutý. Aby sa zabezpečilo, že sa prijímajú všetky rámce, veľkosť okienka na odosielanie a príjem musí byť polovica maximálneho poradového čísla. Ak je teda prijímacie okienko väčšie ako polovica maximálneho poradového čísla, niektoré alebo dokonca všetky rámce neobsadené po požadovaných časových limitoch sú duplikáty, ale ako také sa nerozpoznávajú. Ak odosielateľ posúva svoje okno (nazývané posuvné okno) pre každé prijaté potvrdenie, počet potvrdení a najväčšie poradové číslo musia byť rovnaké a polovica tohto čísla musí byť veľkosťou okna, ktorú používa prijímač.
V druhej metodike používajúcej rozdelené správy je tento proces odlišný. Nespojité komunikačné kanály sa používajú tam, kde sa správy líšia v dĺžke, ale protokoly považujú túto správu za jednu jednotku. Každá správa sa môže alternatívne rozdeliť do čiastkových blokov, ktoré majú pevnú dĺžku, v procese nazývanom segmentácia paketov. Každá správa obsahuje variabilný počet čiastkových blokov. Každá nepotvrdená odpoveď nesie ďalší bitový príznak, ktorý označuje každý úspešne prijatý sub-blok. Každý opakovaný prenos sa skracuje v dĺžke, obsahuje iba nepotvrdené čiastkové bloky.
ARQ so správami s premenlivou dĺžkou majú väčšie ťažkosti s dlhšími správami, pretože každá opakovaná správa je plná. Selektívny opakovaný prenos správ s premenlivou dĺžkou však pri použití selektívneho opakovaného ARQ vylučuje ťažkosti s doručovaním dlhších správ. Menšie ťažkosti sa prejavujú zachovaním úspešne doručených čiastkových blokov po každom prenose a znížením počtu nevybavených čiastkových blokov po každom prenose.
Protokoly ARQ sú umiestnené vo vrstvách dátového spojenia alebo transportu modelu OSI. TCP používa variant Go-Back-N ARQ na zabezpečenie spoľahlivého prenosu dát cez internetový protokol. Nezaručuje však doručovanie dátových paketov. Ak TCP používa selektívne potvrdenie (SACK), použije sa selektívne opakovanie ARQ. Ak majú lokálne siete (LAN) hlučné prostredie, pri segmentácii paketov sa používa selektívne opakovanie ARQ.
