protocolos de transmissão

21
Vitor Vaz da Silva Redes de Comunicação de Dados Nível Dados 1 Protocolos de Transmissão ARQ – Automatic Repeat reQuest Idle RQ – stop and wait – send and wait Continuous RQ - Selective Repeat - Go-back-N

Upload: sasha

Post on 05-Feb-2016

30 views

Category:

Documents


3 download

DESCRIPTION

Protocolos de Transmissão. ARQ – A utomatic R epeat re Q uest Idle RQ – stop and wait – send and wait Continuous RQ - Selective Repeat - Go-back-N. Dados n. Dados n. ACK n. ACK n. Dados n+1. ACK n+1. Dados n+1. ACK n+1. ACK n+1. Stop & wait. IDLE RQ. Send & wait. Dados n+1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

1

Protocolos de Transmissão

ARQ – Automatic Repeat reQuest

• Idle RQ – stop and wait – send and wait

• Continuous RQ

- Selective Repeat

- Go-back-N

Page 2: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

2

IDLE RQ

Dados nDados n

ACK n

ACK n

Dados n+1Dados n+1

ACK n+1

Dados n+1Dados n+1

ACK n+1

ACK n+1

Stop & wait

Send & wait

Page 3: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

3

IDLE RQ

Dados nDados n

ACK n

ACK n

Dados n

Dados n+1Dados n+1

ACK n+1

ACK n+1

Page 4: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

4

IDLE RQ

Dados nDados n

ACK n

ACK n

Dados n

Dados n+1Dados n+1

ACK n+1

ACK n+1

NAK n

NAK n

Page 5: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

5

IDLE RQ

• O emissor (Primário – P) só pode ter 1 trama à espera de ACK

• Ao enviar uma trama de Dados o P inicia um temporizador

• O receptor (Secundário – S) envia um ACK por cada trama deDados bem recebida

• S ignora tramas de Dados com erro

• S ignora tramas de Dados duplicadas

• P ignora tramas de ACK com erro

• Se o temporizador termina antes da chegada de um ACK, atrama de Dados é reenviada

Protocolo

Page 6: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

6

IDLE RQ

• Numeram-se as Tramas de Dados para distinguir asrepetidas

• A Janela de transmissão é K=1

• Os números de Sequência são no mínimo Mod (K+1)

• Utiliza-se o NAK para acelerar o tempo de espera pararetransmissão

• Numeram-se as tramas de ACK e NAK para evitar umtemporizador mal dimensionado

• O tempo de espera por trama depende da distância eritmos de transmissão do nível físico

Características

Page 7: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

7

IDLE RQ

SOH

N(S)

STX

Dados…

Dados

ETX

BCC

ACK

N(R)

BCC

NAK

N(R)

BCC

N(S) – Send Sequence Number

N(R) – Receive Sequence Number

SOH – Start of Header

STX – Start of Text

ETX – End of Text

BCC – Block (sum) Check Character

ACK – Acknowledge

NAK – Negative Acknowledge

DLE – Data Link Escape (transparência de dados)

PDUs – Protocol Data Units

Page 8: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

8

Dados nDados n

ACK n

ACK nDados n+1

Dados n+1

ACK n+1

Dados n+1Dados n+1

ACK n+1

ACK n+1

Continuous RQ

Dados n+2Dados n+2

ACK n+2

ACK n+2Dados n+3

Dados n+3

ACK n+3

ACK n+3

Selective Repeat / Go-back-n

Page 9: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

9

Continuous RQ

Para melhorar a eficiência de envio de Dados

• Enviam-se outras tramas de Dados sem se receberem osACK das anteriores => K>1

• Perder Tramas de Dados, de ACK ou de NAK implicaa recepção de Tramas de Dados fora de sequência

• Os Dados são entregues à aplicação sempre por ordem

• Dois modos diferentes de resolver a falha de Dados

• Selective Repeat – repete-se apenas a que falta

• Go-back-n – repetem-se todas a começar pela que falta

Page 10: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

10

Selective Repeat

• Idêntico ao Idle RQ

• Ao receber um ACK fora de ordem => Dados ou ACK com erro- não se enviam novas tramas de dados- retransmitem-se todas as tramas sem ACK

• As tramas de Dados são entregues por ordem à aplicação

Protocolo

Características• Idêntico ao Idle RQ

• Janela de Transmissão = Janela de Recepção = K (K>1)

• Os números de Sequência são no mínimo Mod (K+K)

Page 11: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

11

ACK (n) Acknowledge

Selective Repeat

- Confirmação de boa recepção da trama

de Dados com número de sequência n

Go-back-n

- Confirmação de boa recepção de todas

as tramas de Dados

até à trama com número de sequência n

Page 12: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

12

NAK (n) Negative Acknowledge

- É uma confirmação de boa recepção

de todas as tramas de Dados

até à trama com número de sequência n

- É um pedido de retransmissão da trama n

- Associa-se um temporizador à NAK para

retransmissão do NAK caso a trama

de Dados ainda não tenha sido recebida

Page 13: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

13

Go-back-n

• Idêntico ao Idle RQ

• Ao receber um NAK n => Dados com erro

- não se enviam novas tramas de dados

- retransmitem-se todas as tramas a começar pela n

• As tramas de Dados são entregues por ordem à aplicação

• Ao receber um ACK n => tramas de Dados até à trama com

número de sequência n inclusive foram bem recebidas

Protocolo

Page 14: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

14

Go-back-nCaracterísticas

• Idêntico ao Idle RQ

• Janela de Transmissão = K (K>1) Janela de Recepção = 1

• Os números de Sequência são no mínimo Mod (K+1)

• Um ACK n ou NAK n+1 é sempre uma confirmação

da boa recepção das tramas de Dados até à trama n

• Minimiza o número de tramas ACK enviadas

Page 15: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

15

Siglas

N(S) – Send Sequence Number

N(R) – Receive Sequence Number

V(S) – Send State Variable

V(R) – Receive State Variable

I – Information (Trama de Dados)

RR – Receiver Ready (ACK)

REJ – Reject (NAK)

Page 16: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

16

Questões ainda por resolver

- O que acontece se todas as tramas de dados e confirmações foram bem recebidas e as tramas não são entregues à aplicação?

- Sliding Window – janela deslizante

- Que alterações a efectuar para haver comunicação de dados em simultâneo nos dois sentidos

- Primário + Secundário com Piggyback

Page 17: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

17

Sliding Window - Janela deslizante

1

2

4

3

6

5

7

0

antiga

actual

Sequência Mod 8

106 2

107 3

108 4

109 5

110 6

111 7

112 0

113 1

114 2Exemplo:

Números de Sequência – mod 128

K=7

Go-back-n : k+1 números distintos

Page 18: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

18

Resumo

ProtocoloJanela

transmissãoJanela

recepçãoNúmero mínimo

de identificadores

Send & Wait 1 1 2

Selective Repeat

K K 2K

Go-back-n K 1 K+1

Page 19: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

19

Serviços - primitivas

XXX.Request

XXX.Indication

XXX.Request

XXX.Indication

XXX.Confirm

XXX.Request

XXX.Indication

XXX.Confirm

Page 20: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

20

Serviços - primitivas

L_DATA.Request

L_DATA.Indication

L_CONNECT.Request

L_CONNECT.Indication

L_CONNECT.Confirm

L_DISCONNECT.Request

L_DISCONNECT.Indication

L_DISCONNECT.Confirm

Page 21: Protocolos de Transmissão

Vitor Vaz da Silva

Redes de Comunicação de Dados Nível DadosRedes de Comunicação de Dados Nível Dados

21

N_xxx

L_xxx

P_xxx

P_xxx.Request

L_xxx.Request

P_xxx.Indication

L_xxx.Indication

N_xxx.RequestN_xxx.Indication

P_xxx.RequestP_xxx.Indication

P_xxx.Confirmation

Serviços - primitivas