Você está na página 1de 14

Motoyama: Controle de Erro 1

Controle de Erro em Redes de


Computadores
Prof. S. Motoyama
Aula 24
Motoyama: Controle de Erro 2
Camada Enlace de Dados
O controle de erro em redes de computadores feito na camada enlace de dados (ou na camada
transporte). As camadas enlaces de dados dos processos A e B trocam mensagens, chamados de
quadros atravs de um protocolo pr-estabelecido. O verdadeiro caminho onde esses quadros
trafegam atravs das camadas fsicas e o meio de transmisso.
Processo A Processo B
Camada
Fsica
Camada Enla-
ce de dados
Camada
Rede
Camada
Transporte
Camada
Sesso
Camada
Apresentao
Camada
Aplicao
Camada
Fsica
Camada Enla-
ce de dados
Camada
Rede
Camada
Transporte
Camada
Sesso
Camada
Apresentao
Camada
Aplicao
Troca de mensagens
(Quadros)
Caminho real
Motoyama: Controle de Erro 3
Controle de Erro
Em geral o controle de erro em redes de computadores pode ser:
a) ARQ (Automatic-Repeat-reQuest) Solicitao de repetio automtica e,
b) FEC (Forward Error Correction) Correo de erro adiante.
ARQ
Utiliza cdigos detetores de erro. O receptor descarta o bloco ou quadro recebido
com erro e, solicita retransmisso do quadro. A retransmisso continua at que o quadro
seja recebido sem erro.
FEC
Utiliza cdigos corretores de erro (cdigos de blocos ou convolucionais). Quando
o receptor detecta a presena de erros no quadro de dados, localiza e corrige os erros.
um esquema complexo que exige muito processamento. So utilizados em algumas
aplicaes especiais como em comunicaes por satlite e espacial.
Motoyama: Controle de Erro 4
Controle de Erro
ARQ
- Stop and Wait
Operao sem Erro
Quadro
Quadro
Transmissor
Receptor
Tempo ACK
ACK
ACK
Transmissor
Receptor
Tempo
Quadro
ACK
Quadro de Retransmisso
Operao com Erro
Time out
Erro
Motoyama: Controle de Erro 5
Controle de Erro
Operao com Erro em ACK
Transmissor
Receptor
Tempo
Quadro
ACK
Quadro de Retransmisso
Time out
Descarta ACK
Erro
Motoyama: Controle de Erro 6
Controle de Erro
Necessidade de Numerao do ACK
Se o receptor for um processador lento, podemos ter o seguinte cenrio
O n conclui erradamente que
que o ACK do quadro 1
Time out
0 0 1 0
Erro
Retransmisso
Transmissor
Receptor
Tempo
Atraso de processamento
Motoyama: Controle de Erro 7
Controle de Erro
Com ACK numerado
O n descarta este ACK
0 0 1 1
Erro
ACK 0 ACK 0
Time out
Time out
Retransmisso
Transmissor
Receptor
Tempo
Atraso de processamento.
Motoyama: Controle de Erro 8
Controle de Erro
ARQ contnuo: o transmissor transmite continuamente quadros de informao sem
esperar os ACKs.
Operao sem erro
0 1 2 3 4 5
ACK 0 ACK 1
ACK 2
ACK 3 ACK 4
ACK 5
Operao com erro - Selective-reject
ACK 0
ACK 2
ACK 3 ACK 1
ACK 4
Erro
0 1 2 3 1 4
Time out
Motoyama: Controle de Erro 9
Controle de Erro
O esquema Selective-reject tem as seguintes desvantagens:
a) os quadros chegam fora de ordem
Deve-se esperar o quadro que falta para enviar a camada acima juntamente
com outros quadros, pois os quadros em geral no so independentes.
b) necessidade de gerenciamento de buffer.
Go-back-N - Um esquema para evitar armazenamento de quadros.
ACK 0
NACK 1 ACK 1 ACK 2
Erro
Quadros descartados
0 1 2 3 4 1 2 3 4
Motoyama: Controle de Erro 10
Controle de Erro
Go-back-N: Erro em ACK
Transmissor
ACK 0 ACK 2
ACK 5
ACK 6
0 1 2 3 4 5 6 7 8
ACK 1
ACK 3
ACK 4 Erro
Receptor
Tempo
Houve erro no ACK 3 e no foi recebido pelo transmissor. Entretanto, chegou o
ACK 4. O transmissor entende que o quadro 3 chegou ao receptor, mas houve erro
no ACK 3 e, nenhuma providncia ser tomada.
Motoyama: Controle de Erro 11
Controle de Erro
Controle de fluxo no protocolo ARQ
Os quadros de informao recebidos na camada enlace de dados so repassados a
camadas superiores. Em geral, as taxas com que essas camadas superiores podem
receber informaes so limitadas. Se essas taxas so menores do que o receptor
est recebendo as informaes, ento o receptor necessita armazenar as informaes
em um buffer. Dependendo da taxa, o buffer pode sofrer overflow. Para evitar isso,
o receptor juntamente com o transmissor necessitam de um mecanismo de controle de
fluxo de quadros de informao.
Controle de fluxo baseado em Sliding Window - Janela deslizante
Neste esquema, o transmissor pode transmitir at Wquadros de informao
continuamente, antes de receber um ACK do receptor.
Motoyama: Controle de Erro 12
Controle de Fluxo - Janela Deslizante
Exemplo de Operao
Tamanho da janela W = 3
Transmissor
0 1 2 3 4 5
ACK 0
ACK 2
ACK 1
Receptor
Tempo
O transmissor pra de transmitir aps trs quadros sucessivos. Quando receber o
ACK 0 pode transmitir um quadro, assim como quando receber os ACK 1 e ACK 2.
Neste exemplo, aps a transmisso do quadro 5, o transmissor necessita parar,
pois no chegou mais ACK.
Motoyama: Controle de Erro 13
Controle de Fluxo - Janela Deslizante
Operao com erro em ACK
Vamos supor uma janela W = 4, uma numerao sequencial utilizando 2 bits e o
protocolo go-back-N. Seja o exemplo da figura abaixo.
Time out
Transmissor
O receptor interpreta como um novo
quadro e no de retransmisso.
0 1 2 3 3 0 1 2
Todos os ACKs com erros
ACK 0
ACK 2
ACK 1
ACK 3
Receptor
Tempo
No exemplo acima, teremos uma operao errada com o protocolo. Para evitar
essa situao errnea devemos utilizar um tamanho de janela Wmenor do que
2
n
onde n nmero de bits de numerao. No exemplo acima, para W = 3, evita- se
a operao incorreta.
Motoyama: Controle de Erro 14
Controle de Fluxo - Janela Deslizante
Operao com 2 bits e W = 3
ACK 0
ACK 2
ACK 1
Transmissor
Receptor
Tempo
0 1 2 0 1 2
Time out
Todos os ACKs com erros
O receptor reconhece que so quadros de
repetio, pois aguardava como a sequncia
correta o nmero 3