Protocolos de Transmissão
description
Transcript of Protocolos de Transmissão
![Page 1: Protocolos de Transmissão](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/1.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/2.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/3.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/4.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/5.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/6.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/7.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/8.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/9.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/10.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/11.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/12.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/13.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/14.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/15.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/16.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/17.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/18.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/19.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/20.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020308/56815a94550346895dc80dc7/html5/thumbnails/21.jpg)
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