Você está na página 1de 18

Clculo de

Cyclic Redundancy Check CRC



ngela
Joo Raiol
Ronald Souza
Introduo
Clculo de CRC
Exemplo Antes do Envio de Dados
Exemplo Envio de Dados
Exemplo Teste no Receptor
Consideraes
Roteiro
Introduo
A verificao de redundncia cclica (Cyclic
Redundancy Check CRC) uma tcnica de deteco
de erros muito usada em redes de computadores.
Os cdigos de CRC so conhecidos como cdigos
polinomiais.
B(x) = x5 + x3 + x2 + x0 = (101101)2
Uma mensagem deve ser enviada com o cdigo de
CRC calculado para que possa ser verificada no
receptor.

Introduo
O clculo de CRC realizado atravs de uma operao
de diviso aplicada a nmeros binrios.
H uma diferena na diviso: as operaes de subtrao
so substitudas por operaes lgicas de ou exclusivo
(XOR eXclusive OR).
Relembrando a tabela da operao XOR:

Clculo de CRC
Durante a transmisso de dados entre dois
dispositivos, informaes podem se perder pelo
meio de transmisso devido a vrios fatores: rudos
eletromagnticos, falhas de sincronizao entre
transmissor e receptor, defeitos em componentes
eletrnicos, etc. Um sistema de comunicao seguro
deve ser capaz de identificar e se possvel, corrigir
esses erros evitando que dados incorretos cheguem
ao receptor.
Existem duas classes de mtodos para resolver tal
problema
Clculo de CRC
Cdigos de Correo de Erros.

Cdigo de Deteco de erros que so
includas informaes para o receptor deduzir
com eficincia que houve um erro (mas sem
identificar qual) e solicitar uma nova
transmisso. Nesta classe enquadram-se os
algoritmos de CRC.
Clculo de CRC
Um emissor deseja enviar D com d bits de dados.
Um cdigo de CRC R com r bits de comprimento deve
ser gerado e anexado aos dados antes do envio.

O receptor e o emissor conhecem um padro 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.
Clculo de CRC
A base para o clculo de R (cdigo de CRC) a
frmula:

D * 2
r
o deslocamento dos bits de dados
esquerda r casas.
Isso a adio de r bits 0 no final dos bits de
dados. Por exemplo:
Exemplo Antes do Envio de Dados
O emissor deseja enviar os bits de dados
111100101.
O gerador so os bits 101101.
Como calcular o CRC antes de enviar os dados???

Exemplo Envio dos Dados
Aps calcular o CRC cujos bits so 01010, o emissor
envia os bits de dados mais os bits de CRC.
O receptor utiliza os bits enviados e divide pelo
gerador para verifica se os bits esto corretos.

Exemplo Erro no recebimento
a tcnica de verificao de erros usada por
computadores, especificamente por discos rgidos
ou discos pticos (CD/DVD). Um erro de CRC
causado quando os dados no HD ou no DVD/CD se
corrompem.
Consideraes
Padres para CRC com 8, 12, 16 ou 32 bits:
CRC-32

CRC-16

CRC-12

CRC-8
Consideraes
Os padres tambm detectam qualquer quantidade
mpar de erros de bits.
CRC-32 e usado em redes Ethernet, ATM, FDDI CRC-
CCITT e usado nos protocolos XMODEM, X.25, SDLC e
HDLC
Referncias
[1] KUROSE, J. F. e ROSS, K. W. Redes de
Computadores e a Internet Uma
Abordagem Top-Down. 3a edio. Pearson
Addison Wesley. 2006.
[2] TANENBAUM, A. S. Redes de
Computadores. 4 edio. 2003.