Vous êtes sur la page 1sur 31

4.

1 Protocolos de Recuperao de Erros


Protocolos ARQ; Eficincia ARQ.

Instituto Superior de Engenharia de Lisboa


Departamento de Engenharia, Electrnica, Telecomunicaes e Computadores

Redes de Computadores

Protocolos de transmisso
Problemas
Controlo de fluxo Controlo de erros, duplicaes e sequncia

Comunicao humano computador central


Echo Checking
Controlo manual

Comunicao computador - computador


ARQ
Controlo automtico

2007-02-26

Protocolos de Recuperao de Erros

Protocolos tericos
ARQ - Automatic Repeat reQuest
Idle RQ
Send and Wait (Stop and Wait)

Continuous RQ
Go Back N Selective Repeat

Mtodos de ARQ
Pedido de retransmisso implcito Pedido de retransmisso explcito

2007-02-26

Protocolos de Recuperao de Erros

Idle RQ: Send and Wait


Pedido de retransmisso implcito ou pedido de retransmisso explcito
Funcionamento normal

2007-02-26

Protocolos de Recuperao de Erros

Idle RQ: Send and Wait


Pedido de retransmisso implcito
Trama de dados corrompida

2007-02-26

Protocolos de Recuperao de Erros

Idle RQ: Send and Wait


Pedido de retransmisso implcito
Trama de ACK ou NAK corrompida

2007-02-26

Protocolos de Recuperao de Erros

Idle RQ: Send and Wait


Pedido de retransmisso explcito
Trama de dados corrompida

2007-02-26

Protocolos de Recuperao de Erros

Idle RQ: taxa de utilizao

2007-02-26

Protocolos de Recuperao de Erros

Continuous RQ
Aumento da taxa de utilizao do link. Aumento da dimenso dos buffers. Mtodos de retransmisso:
Selective Repeat
Por pedido implcito Por pedido explcito

Go-back-N

2007-02-26

Protocolos de Recuperao de Erros

Continuous RQ - Selective Repeat


Pedido de retransmisso implcito (trama de dados corrompida)

Um ACK por cada trama de dados

2007-02-26

Protocolos de Recuperao de Erros

10

Continuous RQ - Selective Repeat


Pedido de retransmisso implcito (trama de ACK corrompida)

Um ACK por cada trama de dados

2007-02-26

Protocolos de Recuperao de Erros

11

Continuous RQ - Selective Repeat


Pedido de retransmisso explcito (operao correcta)

Um ACK indica que recebeu bem a trama e todas as tramas anteriores. No estado de retransmisso, S, suspende o envio de tramas de ACK.

2007-02-26

Protocolos de Recuperao de Erros

12

Continuous RQ - Selective Repeat


Pedido de retransmisso explcito (trama de dados e de NACK corrompida) Se no estado de retransmisso no fosse suspenso o envio de ACK haveria falta de tramas visto que...

um ACK indica que recebeu bem a trama e todas as tramas anteriores

Na figura: S nunca recebe a trama I[N+1]. 2007-02-26 Protocolos de Recuperao de Erros 13

Continuous RQ - Go Back N
Pedido de retransmisso explcito (trama de dados corrompida) Um ACK indica que recebeu bem a trama e todas as tramas anteriores Um NAK pede retransmisso de todas as tramas a partir da trama indicada. Aps uma falha, S, volta a enviar tramas de ACK apenas quando receber a trama pedida no NACK.

2007-02-26

Protocolos de Recuperao de Erros

14

Continuous RQ - Go Back N
Trama de ACK corrompida

Um ACK indica que recebeu bem a trama e todas as tramas anteriores

2007-02-26

Protocolos de Recuperao de Erros

15

Continuous RQ com temporizao

Para quando h uma interrupo no envio de tramas

2007-02-26

Protocolos de Recuperao de Erros

16

Piggyback acknowledgment
Consideremos um canal full-duplex (no s do ponto de vista fsico, mas tambm lgico, ou seja, que haja lugar a troca de tramas de informao em ambos os sentidos) Para aumentar a eficincia de utilizao do canal embebida a informao de ack (NR) no cabealho das tramas que circulam em sentido oposto, no qual alm do nmero da sequncia da trama, existe um campo onde so transportados os bits que informam sobre o estado da ligao no sentido oposto. Contudo continua a existirem as tramas de controlo ACK (NACK) para o caso de instantes em que no haja trfego num dos sentidos.

2007-02-26

Protocolos de Recuperao de Erros

17

Sliding Window
Mecanismo de controlo do fluxo de transmisso de tramas. Limita o nmero de tramas que podem ser enviadas sem receber acknowledge. Se houver congestionamento do lado do receptor este no envia acknowledges o que faz com que o emissor atinja o limite e pare de enviar tramas. Parmetros:
Janela de envio Janela de recepo Nmeros de sequncia - identificadores de trama
2007-02-26 Protocolos de Recuperao de Erros 18

Sliding Window Parmetros


Janela de envio (Send Window).
Identificadores das tramas que foram enviadas e esto espera de acknowledge.

Janela de recepo (Receive Window).


Identificadores das ltimas N tramas bem recebidas de modo a que seja possvel distinguir tramas duplicadas ou fora de sequncia.

Nmeros de sequncia.
Nmero mnimo de Identificadores de trama que so necessrios para que os protocolos funcionem sem problemas.
2007-02-26 Protocolos de Recuperao de Erros 19

Controlo de fluxo: Sliding window

Janela de envio Janela de recepo IdleRQ Selective Repeat Go Back N


2007-02-26

Mnimo de Id. da trama 2 2K K+1


20

1 K K

1 K 1
Protocolos de Recuperao de Erros

Parametros do mecanismo Sliding Window para os vrios protocolos:

Sliding Window
Situao que define o limite mnimo dos nmeros de sequncia. Send Window = 3

2007-02-26

Protocolos de Recuperao de Erros

21

Sliding Window
Consideremos as seguintes hipteses com base na figura anterior:
Go Back N Send Window = 3 Receive Window = 1
N identificadores = 3 - Receptor espera a trama 0
A retransmisso da trama 0 pode ser tomada como nova (errado)

N identificadores = 4 - Receptor espera a trama 3


Nenhuma das tramas retransmitidas pode ser tomada como nova (correcto)

Selective Repeat Send Window = 3 Receive Window = 3


N identificadores = 3 - Receptor espera as tramas 0,1,2
As tramas 0,1,2 retransmitidas podem ser tomadas como novas (errado)

N identificadores = 4 - Receptor espera as tramas 3,0,1


As tramas 0,1 retransmitidas podem ser tomadas como novas (errado)

N identificadores = 6 - Receptor espera as tramas 3,4,5


Nenhuma das tramas retransmitidas pode ser tomada como nova (correcto)
2007-02-26 Protocolos de Recuperao de Erros 22

Sequencializao: tamanho de janela

2007-02-26

Protocolos de Recuperao de Erros

23

Eficincia de utilizao do protocolo (Idle RQ)


Sem erros de transmisso Nos protocolos idle RQ, o tempo de processamento de uma trama de dados (Tip) e trama de ACK associada (Tap) so bastante mais curtos que os tempos de transmisso (Tix e Tax). Tambm a trama ACK muito mais curta quando comparada com a de dados, Tax negligencivel quando comparada com Tix. Assim o tempo mnimo total at que uma prxima trama possa ser transmitida Tix+2Tp. A expresso aproximada para U :
U=Tix/Tt U=Tix/(Tix+2Tp) ou U=(1+2Tp/Tix)-1 a=Tp/Tix, U=(1+2a)-1 Tix=N/R, Tp=S/V
N - Nmero de bits da trama R - Bit rate em bit/segundo (bps) S - Distncia da ligao (m) V - Velocidade de propagao

2007-02-26

Protocolos de Recuperao de Erros

24

Eficincia de utilizao do protocolo (Idle RQ)


Com os erros de transmisso Reconhecendo a existncia de erros nas ligaes, o BER ser superior a zero. Assim para transmitir uma trama com sucesso, uma media de Nr tentativas de transmisso so necessrias. A expresso final fica:
U=Tix/(NrTix+2NrTp) ou U=(Nr(1+2Tp/Tix))-1 Pf=1-(1-P)Ni, Nr=1/(1-Pf)
Pf - Probabilidade de uma trama ser recebida com erros Ni - Nmero de bits da trama P - BER - Probabilidade de um bit com erro.

a=Tp/Tix, U=(1-Pf)/(1+2a)

2007-02-26

Protocolos de Recuperao de Erros

25

Eficincia de utilizao do protocolo (Continuous RQ),


Sem erros de transmisso
Tix=N/R, Tp=S/V.
N - Nmero de bits da trama. R - Bit rate em bit/segundo (bps). S - Distncia da ligao (m). V - Velocidade de propagao. K - Nmero de tramas da janela de envio.

a=Tp/Tix. U=1, se K 1+2a. U=(K Tix)/(Tix+2Tp)=K/(1+2Tp/Tix)=K/(1+2a) se K < 1+2a.

Tal pode verificar-se considerando Tp=Tix. Neste caso o ultimo bit da trama transmitida no recebido antes de 2Tp (2Tix tambm). A trama ACK associada leva Tp (e Tix) a ser recebida. Se K=1 (Idle RQ), ento U=1/3. De modo a elevar U a 100% (K > 1+2a), K tem de estar em excesso de 3, isto trs ou mais tramas tm de ser enviadas antes que algum ACK seja recebido.

2007-02-26

Protocolos de Recuperao de Erros

26

Eficincia de utilizao do protocolo (Continuous RQ)


Com erros de transmisso (Selective Repeat) Dada e existncia numa situao real de erros que provocaro a retransmisso de tramas, teremos eficincias distintas para os dois esquemas de transmisso Selective Repeat e para o Go Back N. Por exemplo, com um esquema de selective repeat, U reduzido pelo nmero de tentativas para transmitir cada trama Nr dado que unicamente a trama corrompida e retransmitida. Se Pf a taxa de erros de tramas, ento, assumindo erros aleatrios:
Nr=1/(1-Pf), Pf=1-(1-P)Ni a=Tp/Tix U=K/Nr(1+2a)=K(1-Pf)/(1+2a) se K < 1+2a Se K 1+2a, U=(1+2a)(1-Pf)/(1+2a)=1-Pf

2007-02-26

Protocolos de Recuperao de Erros

27

Eficincia de utilizao do protocolo (Continuous RQ)


Com erros de transmisso (Go Back N) Para o caso do Go Back N, a utilizao da linha ainda mais reduzida pois por cada trama corrompida, mais que uma trama tem de ser retransmitida. Novamente o nmero de tramas a retransmitir determinado pela magnitude de K relativamente a 1+2a. Para K inferior a 1+2a, o nmero de vezes que as tramas tm de ser retransmitidas Pf(K-1). Para cada ocorrncia, mais um atraso de 1+2a se verificar.
Nr=1/(1-Pf), Pf=1-(1-P)Ni a=Tp/Tix Se K < 1+2a
U=K(1-Pf)/((1+2a)+(1+2a)Pf(K-1)) = U=K(1-Pf)/( (1+2a)(1+Pf(K-1)) ) se K < 1+2a U=((1+2a)(1-Pf))/( (1+2a)(1+Pf(K-1)) ) = U=(1-Pf)/(1+Pf(K-1))

Se K 1+2a

2007-02-26

Protocolos de Recuperao de Erros

28

Comparao de eficincia sem erros

2007-02-26

Protocolos de Recuperao de Erros

29

Comparao de eficincia com erros

2007-02-26

Protocolos de Recuperao de Erros

30

Sumrio e Bibliografia
Sumrio:
Protocolos de ARQ:
Idle RQ (Send and Wait ou Stop and Wait) Continuous RQ
Go Back N Selective Repeat

Controlo de fluxo com algoritmo de Sliding Window Calculo da eficincia dos protocolos Especificao de protocolos

Bibliografia:
Data Communications, Computer Networks and Open Systems, Fred Halsall

2007-02-26

Protocolos de Recuperao de Erros

31

Vous aimerez peut-être aussi