Застани-и-чекај ARQ

Застани-и-чекај ARQ исто така, наведен како Алтернативен бит прокоткол е метод што се користи во телекомуникациите за да испраќаат информации помеѓу два поврзани уреди. Тоа гарантира дека информациите нема да се изгубат поради отфрлени пакети и дека пакетите ќе пристигнат во правилен редослед. Тоа е наједноставниот вид на барање за автоматско повторување (ARQ) методот. Застани-и-чекај ARQ испраќачот испраќа една рамка во даден момент; тоа е посебен случај на sliding window protocol со големина на испраќачки и примачки прозорец еднакви на 1 и повеќе од еден соодветно. По испраќањето на секоја рамка, испраќачот не испраќа дополнителни рамки додека не добие an потврда (ACK) сигнал. По добивање на добра рамка, примачот праќа ACK. Ако ACK сигналот не стигне до испраќачит пред да помине одредено време, познато како timeout, тогаш испраќачот ја испрања истата рамка повторно.
Горенаведеното однесување е наједноставната Застани-и-чекај имплементација. Меѓутоа, во имплементацијата во реалниот живот има проблеми кои треба да се решат.
Обично предавателот додава вишок број за проверка на крајот од секоја рамка. Приемникот го користи вишокот број за проверка за да провери за моќни штети. Ако примачот види дека рамката е добра, тој праќа ACK. Ако примачот види дека рамката е оштетена, тоја ја отфрла и не праќа ACK – преправајќи се дека рамката била целосно изгубена, а не само оштетена.
Еден проблем е кога ACK сигналот испратен од примачот е оштетен или изгубен. Во овој случај, испраќачот не прима ACK, времето истекува, и ја испраќа рамката повторно Сега примачот има две копии од истата рамка и не знае дали втората рамка е дупликат или е следна рамка во секвенцата која носи идентичен податок.
Друг проблем е кога преносниот медиум има многу долго доцнење така што истекот на време на испраќачот завршува пред рамката да стигне до примачот. Во овој случај испраќачот го препраќа истот пакет. На крајот примачот добива две копии од истата рамка и праќа ACK за секоја од нив. Испраќачот, чекајќи ACK, прима два ACK, што може да предизвика проблеми ако се претпоставува дека вториот ACK е за следната рамка во низата.
За да се избегнат овие проблеми, најчестото решение е да се дефинира реден број од 1 бит во насловот на рамката. Овој број се менува (од 0 во 1) во следните рамки. Кога примачот праќа ACK, го вклучува и редниот број на следниот пакет кој го очекува. На овој начин, примачот може да детектира дупликат рамки со проверка дали редниот број се променува. Ако две последователни рамки имаат ист реден број, тие се дупликати, и втората рамка се отфрла. Слично, ако два последователни ACK имаат ист реден број, тие се протврда за иста рамка.
Застани-и-чекај ARQ е неефикасен во споредба со други ARQ, бидејќи времето помеѓу пакетите, ако ACK сигналот и податокот се успешно примени, е двојно поголемо од времето на транзит (претпоставувајќи дека времето во исполнување може да биде нула). Патот на каналот е дел од она што може да биде. За да се реши овој проблем, може да се испрати повеќе од еден пакет во исто време со поголем секвенцен број и да се употребува ACK за сет. Тоа е она што е направено во Go-Back-N ARQ и Selective Repeat ARQ.
1 Наводи
* Tanenbaum, Andrew S., ''Computer Networks'', 4th ed. ISBN 0-13-066102-3