0% acharam este documento útil (0 voto)
2 visualizações97 páginas

Aula 08

O documento aborda a detecção de erros em redes de computadores, destacando a importância do código de redundância cíclica (CRC) como uma técnica eficaz para identificar erros durante a transmissão de dados. O CRC é calculado através de operações lógicas de XOR e é anexado aos dados antes do envio para verificação no receptor. Embora a detecção de erros não seja infalível, o uso de códigos polinomiais como o CRC melhora significativamente a confiabilidade da comunicação.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações97 páginas

Aula 08

O documento aborda a detecção de erros em redes de computadores, destacando a importância do código de redundância cíclica (CRC) como uma técnica eficaz para identificar erros durante a transmissão de dados. O CRC é calculado através de operações lógicas de XOR e é anexado aos dados antes do envio para verificação no receptor. Embora a detecção de erros não seja infalível, o uso de códigos polinomiais como o CRC melhora significativamente a confiabilidade da comunicação.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Redes de Computadores I

Aula: 23/04/2012
Professor: Daniel Biasoli
Detecção de Erros

Redes de Computadores (AULA 06) 2


Quando é mais eficiente detectar erros e
retransmitir dados, para lidar com erros
ocasionais?

Redes de Computadores (AULA 06) 3


Códigos de Detecção de Erros

• Em fios de cobre ou fibra óptica a taxa de


erros é menor em relação a enlaces sem fios.

Redes de Computadores (AULA 06) 4


Detecção de Erros
• A detecção de erros não é 100% perfeita
• Protocolo pode não identificar alguns erros,
mas é raro
• Maior campo de bits de detecção e correção
de erros permite melhorar detecção e
correção

Redes de Computadores (AULA 06) 5


Códigos de Detecção de Erros
– CRC ou código de Redundância Cíclica (ou ainda,
código polinomial)
– Cyclic Redundancy Check - CRC

Redes de Computadores (AULA 06) 6


CRC ou Código de Redundância Cíclica
(Cyclic Redundancy Check)

• Cálculo de CRC
• Exemplo – Antes do Envio de Dados
• Exemplo – Envio de dados
• Exemplo – Teste no Receptor
• Considerações

Redes de Computadores (AULA 06) 7


CRC ou Código de Redundância Cíclica
• A verificação de redundância cíclica (Cyclic
Redundancy Check – CRC) é uma técnica de
detecção de erros muito usada em redes de
computadores.
• Os códigos de CRC são conhecidos como
códigos polinomiais

Redes de Computadores (AULA 06) 8


B(x) =  +  +  +  = (   )

Redes de Computadores (AULA 06) 9


CRC ou Código de Redundância Cíclica
• Uma mensagem deve ser enviada com o
código de CRC calculado para que possa ser
verificada no receptor.
• O cálculo de CRC é realizado através de uma
operação de divisão aplicada a números
binários.
• Há uma diferença na divisão: as operações de
subtração são substituídas por operações
lóticas de ou exclusivo (XOR – eXclusive OR).

Redes de Computadores (AULA 06) 10


CRC ou Código de Redundância Cíclica
• Relembrando a tabela da operação XOR:
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

Redes de Computadores (AULA 06) 11


CRC ou Código de Redundância Cíclica
• Cálculo de CRC – Premissas:
– Um emissor deseja enviar D com d bits de dados.
– Um código de CRC R com r bits de comprimento
deve ser gerado e anexado aos dados antes do
envio.
• D: d bits de dados
• R: r bits de CRC

Redes de Computadores (AULA 06) 12


CRC ou Código de Redundância Cíclica
• O receptor e o emissor conhecem um padrão
de bits denominado G, de gerador.
• Este gerador tem (r + 1) bits de comprimento.
• O bit mais significativo do gerador (mais à
esquerda) deve ser 1.

Redes de Computadores (AULA 06) 13


CRC ou Código de Redundância Cíclica
• A base para o cálculo de R (código de CRC) é a
fórmula):

∗
– R = 

–  ∗  é o deslocamento dos bits de dados à
esquerda r casas.
– G é o gerador
– Isso é a adição de r bits 0 no final dos bits de dados.
– Por exemplo:
D = (   ) e r = 3  D* (100101000)

Redes de Computadores (AULA 06) 14


CRC ou Código de Redundância Cíclica
Exemplo antes do envio de dados:

−      !"  :


111100101.
− $ % ã  !" 101101.

COMO CALCULAR O CRC ANTES DE ENVIAR OS


DADOS?

Redes de Computadores (AULA 06) 15


CRC ou Código de Redundância Cíclica

Emissor Receptor

111100101
CRC?????

Redes de Computadores (AULA 06) 16


Exemplo – Antes do Envio de Dados

Redes de Computadores (AULA 06) 17


Exemplo – Antes do Envio de Dados
11110010100000

Grau do Gerador = 5

Redes de Computadores (AULA 06) 18


Exemplo – Antes do Envio de Dados
11110010100000 101101

Grau do Gerador = 5

Redes de Computadores (AULA 06) 19


Exemplo – Antes do Envio de Dados
11110010100000 101101

Redes de Computadores (AULA 06) 20


Exemplo – Antes do Envio de Dados
Gerador
11110010100000 101101

Redes de Computadores (AULA 06) 21


Exemplo – Antes do Envio de Dados
11110010100000 101101

Redes de Computadores (AULA 06) 22


Exemplo – Antes do Envio de Dados
11110010100000 101101
1

Redes de Computadores (AULA 06) 23


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 xor 1

Redes de Computadores (AULA 06) 24


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1

Redes de Computadores (AULA 06) 25


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1
010001

Redes de Computadores (AULA 06) 26


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1
010001

Redes de Computadores (AULA 06) 27


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1
0100011

Redes de Computadores (AULA 06) 28


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11
0100011

Redes de Computadores (AULA 06) 29


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11
0100011
101101

Redes de Computadores (AULA 06) 30


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11
0100011 xor
101101

Redes de Computadores (AULA 06) 31


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11
0100011 xor
101101

Redes de Computadores (AULA 06) 32


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11
0100011 xor
101101
001110

Redes de Computadores (AULA 06) 33


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11
0100011
101101
0011100

Redes de Computadores (AULA 06) 34


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 110
0100011
101101
0011100

Redes de Computadores (AULA 06) 35


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 110
0100011
101101
00111001

Redes de Computadores (AULA 06) 36


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101
0100011
101101
00111001

Redes de Computadores (AULA 06) 37


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101
0100011
101101
00111001
101101

Redes de Computadores (AULA 06) 38


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101
0100011
101101
00111001 xor
101101

Redes de Computadores (AULA 06) 39


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101
0100011
101101
00111001 xor
101101

Redes de Computadores (AULA 06) 40


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101
0100011
101101
00111001 xor
101101
010100

Redes de Computadores (AULA 06) 41


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101
0100011
101101
00111001
101101
010100

Redes de Computadores (AULA 06) 42


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101
0100011
101101
00111001
101101
0101000

Redes de Computadores (AULA 06) 43


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011
0100011
101101
00111001
101101
0101000

Redes de Computadores (AULA 06) 44


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011
0100011
101101
00111001
101101
0101000
101101

Redes de Computadores (AULA 06) 45


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011
0100011
101101
00111001
101101
0101000 xor
101101

Redes de Computadores (AULA 06) 46


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011
0100011
101101
00111001
101101
0101000 xor
101101
000101

Redes de Computadores (AULA 06) 47


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011
0100011
101101
00111001
101101
0101000
101101
000101

Redes de Computadores (AULA 06) 48


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011
0100011
101101
00111001
101101
0101000
101101
0001010

Redes de Computadores (AULA 06) 49


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 110110
0100011
101101
00111001
101101
0101000
101101
0001010

Redes de Computadores (AULA 06) 50


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 110110
0100011
101101
00111001
101101
0101000
101101
00010100

Redes de Computadores (AULA 06) 51


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101100
0100011
101101
00111001
101101
0101000
101101
00010100

Redes de Computadores (AULA 06) 52


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101100
0100011
101101
00111001
101101
0101000
101101
000101000

Redes de Computadores (AULA 06) 53


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 1101100
0100011
101101
00111001
101101
0101000
101101
000101000

Redes de Computadores (AULA 06) 54


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011001
0100011
101101
00111001
101101
0101000
101101
000101000

Redes de Computadores (AULA 06) 55


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011001
0100011
101101
00111001
101101
0101000
101101
000101000 xor
101101

Redes de Computadores (AULA 06) 56


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011001
0100011
101101
00111001
101101
0101000
101101
000101000 xor
101101
000101

Redes de Computadores (AULA 06) 57


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011001
0100011
101101
00111001
101101
0101000
101101
000101000
101101
000101

Redes de Computadores (AULA 06) 58


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 11011001
0100011
101101
00111001
101101
0101000
101101
000101000
101101
0001010

Redes de Computadores (AULA 06) 59


Exemplo – Antes do Envio de Dados
11110010100000 101101
101101 110110010
0100011
101101
00111001
101101
0101000
101101
000101000
101101
0001010

Redes de Computadores (AULA 06) 60


Exemplo – Envio dos Dados
• Após calcular o CRC cujos bits são 01010, o
emissor envia os bits de dados mais os bits de
CRC.
• O receptor utiliza os bits enviados e divide
pelo gerador para verificar se os bits estão
corretos.

Redes de Computadores (AULA 06) 61


CRC ou Código de Redundância Cíclica

Emissor Receptor

11110010101010

Redes de Computadores (AULA 06) 62


Exemplo – Teste no Receptor
11110010101010

Redes de Computadores (AULA 06) 63


Exemplo – Teste no Receptor
11110010101010 101101

Redes de Computadores (AULA 06) 64


Exemplo – Teste no Receptor
11110010101010 101101
1

Redes de Computadores (AULA 06) 65


Exemplo – Teste no Receptor
11110010101010 101101
101101 1

Redes de Computadores (AULA 06) 66


Exemplo – Teste no Receptor
11110010101010 101101
101101 xor 1

Redes de Computadores (AULA 06) 67


Exemplo – Teste no Receptor
11110010101010 101101
101101 xor 1
010001

Redes de Computadores (AULA 06) 68


Exemplo – Teste no Receptor
11110010101010 101101
101101 1
0100011

Redes de Computadores (AULA 06) 69


Exemplo – Teste no Receptor
11110010101010 101101
101101 11
0100011

Redes de Computadores (AULA 06) 70


Exemplo – Teste no Receptor
11110010101010 101101
101101 11
0100011
101101

Redes de Computadores (AULA 06) 71


Exemplo – Teste no Receptor
11110010101010 101101
101101 11
0100011
101101

Redes de Computadores (AULA 06) 72


Exemplo – Teste no Receptor
11110010101010 101101
101101 11
0100011
101101 xor
001110

Redes de Computadores (AULA 06) 73


Exemplo – Teste no Receptor
11110010101010 101101
101101 11
0100011
101101
001110

Redes de Computadores (AULA 06) 74


Exemplo – Teste no Receptor
11110010101010 101101
101101 11
0100011
101101
0011100

Redes de Computadores (AULA 06) 75


Exemplo – Teste no Receptor
11110010101010 101101
101101 110
0100011
101101
0011100

Redes de Computadores (AULA 06) 76


Exemplo – Teste no Receptor
11110010101010 101101
101101 110
0100011
101101
00111001

Redes de Computadores (AULA 06) 77


Exemplo – Teste no Receptor
11110010101010 101101
101101 1101
0100011
101101
00111001
101101

Redes de Computadores (AULA 06) 78


Exemplo – Teste no Receptor
11110010101010 101101
101101 1101
0100011
101101
00111001
101101
010100

Redes de Computadores (AULA 06) 79


Exemplo – Teste no Receptor
11110010101010 101101
101101 1101
0100011
101101
00111001
101101
0101000

Redes de Computadores (AULA 06) 80


Exemplo – Teste no Receptor
11110010101010 101101
101101 11011
0100011
101101
00111001
101101
0101000
101101

Redes de Computadores (AULA 06) 81


Exemplo – Teste no Receptor
11110010101010 101101
101101 11011
0100011
101101
00111001
101101
0101000
101101
000101

Redes de Computadores (AULA 06) 82


Exemplo – Teste no Receptor
11110010101010 101101
101101 11011
0100011
101101
00111001
101101
0101000
101101
0001011

Redes de Computadores (AULA 06) 83


Exemplo – Teste no Receptor
11110010101010 101101
101101 110110
0100011
101101
00111001
101101
0101000
101101
0001011

Redes de Computadores (AULA 06) 84


Exemplo – Teste no Receptor
11110010101010 101101
101101 110110
0100011
101101
00111001
101101
0101000
101101
00010110

Redes de Computadores (AULA 06) 85


Exemplo – Teste no Receptor
11110010101010 101101
101101 1101100
0100011
101101
00111001
101101
0101000
101101
00010110

Redes de Computadores (AULA 06) 86


Exemplo – Teste no Receptor
11110010101010 101101
101101 1101100
0100011
101101
00111001
101101
0101000
101101
000101101

Redes de Computadores (AULA 06) 87


Exemplo – Teste no Receptor
11110010101010 101101
101101 11011001
0100011
101101
00111001
101101
0101000
101101
000101101

Redes de Computadores (AULA 06) 88


Exemplo – Teste no Receptor
11110010101010 101101
101101 11011001
0100011
101101
00111001
101101
0101000
101101
000101101
101101

Redes de Computadores (AULA 06) 89


Exemplo – Teste no Receptor
11110010101010 101101
101101 11011001
0100011
101101
00111001
101101
0101000
101101
000101101
101101
000000

Redes de Computadores (AULA 06) 90


Exemplo – Teste no Receptor
11110010101010 101101
101101 11011001
0100011
101101
00111001
101101
0101000
101101
000101101
101101
0000000

Redes de Computadores (AULA 06) 91


Exemplo – Teste no Receptor
11110010101010 101101
101101 110110010
0100011
101101
00111001
101101
0101000
101101
000101101
101101
0000000

Redes de Computadores (AULA 06) 92


Exemplo – Teste no Receptor
11110010101010 101101
101101 110110010
0100011
101101
00111001
101101
0101000
101101
000101101
101101
0000000

Redes de Computadores (AULA 06) 93


Exemplo – Teste no Receptor
11110010101010 101101
101101 110110010
0100011
101101
00111001
101101
0101000
101101 Resto zero: os
dados recebidos
000101101 estão corretos
101101
0000000

Redes de Computadores (AULA 06) 94


Considerações
• Padrões para CRC com 8, 12, 16 ou 32 bits:
– CRC-32

– CRC-16

– CRC-12

Redes de Computadores (AULA 06) 95


Considerações
• Cada padrão de CRC detecta erros em rajadas
menores que (r+1) bits.
• Os padrões também detectam qualquer
quantidade ímpar de erros de bits.
• ATM utiliza CRC-8 no cabeçalho das células.
• CRC-32 é utilizado pelos protocolos da camada
de enlace padronizados pelo IEEE.

Redes de Computadores (AULA 06) 96


Lista de Exercícios

Redes de Computadores (AULA 06) 97

Você também pode gostar