Você está na página 1de 33

REDES DE COMPUTADORES

Deteco e Correo de Erros

A Camada de Enlace
Servios prestados

Servios da camada de Enlace

Encapsulamento

Endereamento

Controle de erros

Controle de fluxo

Controle de acesso

Objetivo da Aula de Hoje


Deteco e Correo de Erros
Tipos de erros Deteco de erros Correo de erros

Tipos de Erros
Entendendo a importncia do tratamento de erros
Se ocorre um erro de 0,1s em uma transmisso de 56Kbps isso implica em 5,6K bits afetados

Como evitar erros?


Impossvel, nosso objetivo detect-lo e trat-lo

Tipos de Erros
Erros Simples
Corresponde a um erro isolado

Rajada de erros
Quando uma sequncia de bits so corrompidos

Se numa transmisso de uma seqncia de 8bits e um deles chega corrompido, como descobrir?

Deteco de Erros
Redundncia

Receptor

Transmissor

Dados rejeitados no

sim

Dados

Dados

Dados & Redundncia Meio

Dados & Redundncia

Deteco de Erros
Tcnicas

Mtodos de deteco

Teste de paridade

Teste de redundncia cclica (CRC)

Checksum

Deteco de Erros
Paridade

N receptor
Remove o bit de paridade e aceita os dados

Transmissor

sim

Dados

Rejeita dados

Paridade OK?

no
Contagem de bits Bits Clculo do bit de paridade

Meio de transmisso

Deteco de Erros
Paridade
Como fazer um verificador de paridade? Que porta lgica faz isso?

Deteco de Erros
Paridade
O que acontece se a quantidade de erros for par? 10010011 (transmitido) 10010101 (recebido) Como resolver isso?

Deteco de Erros
Paridade Combinada
Dados originais

Dados e bits de paridade

Linhas de paridade Colunas de paridade

Deteco de Erros
Paridade Combinada resolve tudo?

Deteco de Erros
Paridade Combinada resolve tudo?

Deteco de Erros
Paridade Combinada resolve tudo?
Dados originais

0 0

0 1

Dados e bits de paridade

Linhas de paridade Colunas de paridade

Deteco de Erros
Paridade Combinada resolve tudo?
Dados originais

0 0

0 1

Dados e bits de paridade

Linhas de paridade Colunas de paridade

Deteco de Erros
CRC

Dados

Dados

Divisor Resto zero, aceito diferente de zero, rejeitado Receptor

Dados

Divisor CRC

Transmissor

Deteco de Erros
Gerador de CRC (Transmissor)
Dados mais zeros extras Divisor

Quociente

Quando o bit mais esquerda for zero, devemos usar 0000 no lugar do divisor original. Resto

Deteco de Erros
Verificador de CRC (Receptor)

Dados + CRC

Divisor

Quociente

Quando o bit mais esquerda for zero, devemos usar 0000 no lugar do divisor original. Se Resto = 0, OK!

Deteco de Erros
Verificador de CRC (Receptor)

Dados + CRC

Divisor

Quociente

Quando o bit mais esquerda for zero, devemos usar 0000 no lugar do divisor original. Se Resto = 0, OK!

Deteco de Erros
Exemplo de descarte

Deteco de Erros
CRC
Polinmio gerador de CRC o nome dado para a representao polinomial do divisor, por exemplo... 1101 X3 + X2 + 1 Porque isso importante
No deve ser dividido por x
Garante que so detectaras rajadas de erros de comprimento igual a do polinmio

Deve ser dividido pelo binmio x+1


A segunda condio assegura que o CRC encontrar erros em rajadas de comprimento mpar

Deteco de Erros
CRC

Polinmio

Divisor

Deteco de Erros
CRC

Deteco de Erros
Checksum
Tambm se baseia em redundncia Conceito simples

Transmissor
Segmenta o bloco de dados em k blocos de n bits Soma os K segmentos Soma complementada para gerar o checksum Checksum enviado com os dados

Deteco de Erros
Funcionamento do Transmissor
1010100100111001 10101001 00111001 10101001+00111001 11100010 (sum) 00011101 (checksum a ser enviado) 10101001 00111001 00011101

Deteco de Erros
Receptor
Divide o bloco em k segmentos de dados de n bits Faz a soma dos segmentos Gera o checksum Se dados forem iguais a zero, dados aceitos!

Deteco de Erros
Funcionamento do Receptor
101010010011100100011101 10101001 00111001 00011101 10101001+0111001+00011101 11111111 (sum) 00000000 (checksum)

Correo de Erros
Mas como corrigir erros?
Correo por Retransmisso Correo Antecipada
Quando os dados so recebidos e verificado que existiu um erro na transmisso, seria necessrio corrigi-lo!

Correo de Erros
Cdigo de Hamming
Escalar bits de redundncia segundo seu cdigo Para 7 bits seria necessrio escalar 4 bits

Nmero de bits de dados m

Numero de bits de redundncia r 2 3 3 3 4 4 4

Total de bits m+r 3 5 6 7 9 10 11

1 2 3 4 5 6 7

Correo de Erros
Cdigo de Hamming
Mas como feito?
R1: 1,3,5,7,9,11 R2: 2,3,6,7,10,11 R4: 4,5,6,7 R8: 8,9,10,11

Correo de Erros
Cdigo de Hamming
r1 cuidar destes bits.

r2 cuidar destes bits.

r3 cuidar destes bits.

r4 cuidar destes bits.

Correo de Erros
Cdigo de Hamming
Corrompido

O bit na posio 7 est errado

Perguntas finais
Qual a vantagem e desvantagem de cada cdigo? Onde este cdigos so utilizados?

Falta apenas um assunto para a prova!

Você também pode gostar