Go-Back-N ARQ

Од Википедија, слободната енциклопедија
Прејди на: содржини, барај

Врати се назад-N ARQ[уреди]

Специфичен пример на автоматско повторно побарување (ARQ) протокол, каде што процесот на испраќање на рамки, утврдени со големина на прозорец, продолжува и без примање на потврда (ACK) пакет од приемникот. Oвој протокол е специјален случај на протокол со лизгачки прозорци со големина на прозорец за испраќање од N и големина на прозорецот за прием од 1.

Приемникот ќе го следи редниот број на следната рамка што очекува да ja добие, и го праќа тој број со секој ACK, што се испраќа. Приемникот ќе ја игнорира секоја рамка што нема точен реден број што се очекува - без разлика дали таа рамка е "петходниот " дупликат од рамката ,што веќе има пратено за неа ACK или дали таа рамка е "следна" рамка на пакетот што се очекува. Откако испраќачот ги испратил сите рамки во овој прозорец, тој ќе детектира дека сите рамки почнувајќи од првата изгубена рамка се исклучителни,и ќе се врати на редниот број на последниот ACK што го добил од примачот, ќе го пополни овој прозорец почнувајќи од таа рамка ,продолжувајќи со процесот одново.

Врати се назад-N ARQ-е поефикасно користење на конекција од Застани-и-чекај ARQ,наместо времето потрошено за потврда за секој пакет, врската се користи за праќање на нови пакети.

Со други зборови, времето што инаку би се потрошило на чекање,би се искористило за испраќање на повеќе пакети. Сепак, оваа метода, исто така, резултатира со испраќање на рамки повеќе пати - доколку рамката се изгуби или оштети, или ACK потврдата се изгуби или оштети, тогаш таа рамка и сите рамки по неа во прозорецот (дури и ако тие биле примени без грешка), повторно ќе се препратат. За да се избегне ова, може да се користи Cелективно повторување ARQ.

Формата на контрола на грешки базирана на sliding-window кој е најопшто користена е наречена go-back-N ARQ. Во овој метод, станицата може да испраќа серии од рамки секвенционално нумерирани, модулирајќи некоја максимална вредност. Бројот на непотврдени рамки добро познат, е детерминиран од страна на големината на прозорецот, користејќи ја техниката Sliding window protocol на контрола на грешки. Додека не се појавуваат грешки, дестинацијата ќе ги потврди ( RR = receive ready (примањето е готово), или piggybacked acknowledgement) влезните рамки како и вообичаено. Ако станицата на дестинацијата детектира грешка во рамката, испраќа негативна потврда (REJ = reject-одбивање) за таа рамка. Дестинационата станица ќе ја исфрли таа рамка и сите идни влезни рамки се додека рамката во која се јавила грешка не е коректно примена. На тој начон, изворната станица, кога прима REJ, мора повторно да ја пренесе рамката со грешка плус сите успешни рамки кои биле пренесени во меѓувреме.

Псевдокод[уреди]

Овие примери претпоставуваат бесконечен број на низа од броеви и пребарување.[1]

N  = window size
Rn = request number
Sn = sequence number
Sb = sequence base
Sm = sequence max

Receiver:

Rn = 0

Do the following forever:

If the packet received = Rn && the packet is error free
        Accept the packet and send it to a higher layer
        Rn = Rn + 1
        Send a Request for Rn
Else
        Refuse packet
        Send a Request for Rn   

Sender:

Sb = 0
Sm = N – 1

Repeat the following steps forever:

1. If you receive a request number where Rn > Sb 
        Sm = Sm + (Rn – Sb)
        Sb = Rn

2.  If no packet is in transmission, 
        Transmit a packet where Sb <= Sn <= Sm.  
        Packets are transmitted in order.
Приказ на Врати се за N протоколот.

Избор на големина на прозорец(N)[уреди]

Постојат некои работи кои што треба да се запазат при избор на вредноста N.

1: Праќачот не смее да праќа премногу брзо. N треба да се ограничи со способноста на примачот да процесира пакети

2: Вредноста на N мора да е помала од вредноста на Sn-sequence number(ако постојат броеви помеѓу 0 и n-1) да се потврди преносот на секој пакет.[2]

3: Со оглед на границите дадени во (1) и (2), одговара N да биде најголемиот можен број.[3]

Примери[уреди]

Наводи[уреди]

  1. Kurose, James F. & Keith W. Ross Computer Networking: A Top-Down Approach featuring the Internet, ISBN 0321227352.
  2. Tanenbaum, Andrew S. Computer Networks 4th ed. ISBN 0-13-066102-3.
  3. Marbach, Peter [1]

Надворешни врски[уреди]