11
1 UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check Etienne C. R de Oliveira [email protected] 04/09/2007 Técnicas e Estruturas em Redes de Computadores Profa. Anna Dolejsi Santos

CRC – Cyclic Redundancy Check

Embed Size (px)

DESCRIPTION

CRC – Cyclic Redundancy Check. Etienne C. R de Oliveira [email protected] 04/09/2007. Técnicas e Estruturas em Redes de Computadores Profa. Anna Dolejsi Santos. Agenda. Introdução CRC – Cyclic Redundancy Check Conclusão. Introdução. História W. Wesley Peterson e D. T. Brown - PowerPoint PPT Presentation

Citation preview

Page 1: CRC –  Cyclic Redundancy Check

1

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

CRC – Cyclic Redundancy Check

Etienne C. R de [email protected]

04/09/2007

Técnicas e Estruturas em Redes de Computadores

Profa. Anna Dolejsi Santos

Page 2: CRC –  Cyclic Redundancy Check

2

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

Agenda

IntroduçãoCRC – Cyclic Redundancy CheckConclusão

Page 3: CRC –  Cyclic Redundancy Check

3

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

Introdução

História W. Wesley Peterson e D. T. Brown W. W. Peterson e D. T. Brown, "Cyclic codes for error

detection", Proceedings of the IRE, vol. 49, p. 228-235, Jan 1961

Objetivo Identificar a ocorrência de erros ocasionados por ruídos

durante o processo de transmissão (controle de erros)

Ruído Fenômeno aleatório capaz de perturbar a transmissão

de dados EMI/RFI

Page 4: CRC –  Cyclic Redundancy Check

4

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

CRC – Cyclic Redundancy Check Produz um valor expresso em poucos bits que é anexado à

mensagem CRC-64 – 64 bits CRC-32 – 32 bits CRC-16 – 16 bits

Propriedades Todos os bits da mensagem são utilizados no cálculo do valor

do CRC Mudança de um único bit é refletida no valor do CRC Probabilidade de valores uniforme

Page 5: CRC –  Cyclic Redundancy Check

5

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

CRC – Cyclic Redundancy Check

Cálculo do CRC Resto da divisão polinomial (divisão módulo 2) entre os

dados e o polinômio gerador. Ex.:Polinômio gerador de grau 16 (x16 + x15 + ...... + x2 + x1 + x0)Resto de grau 15 (16 bits)

Divisão módulo 2 Acrescentar, à direita da mensagem, uma quantidade de

zeros equivalente ao grau do polinômio gerador A partir do bit mais significante da mensagem:

Bit 1 Acrescentar o bit 1 ao quociente Aplicar um XOR entre o divisor e o polinômio gerador

Bit 0 Acrescentar o bit 0 ao quociente Aplicar um XOR entre o divisor e zeros

Efetuar uma rotação à esquerda

Page 6: CRC –  Cyclic Redundancy Check

6

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

CRC – Cyclic Redundancy Check

Page 7: CRC –  Cyclic Redundancy Check

7

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

CRC – Cyclic Redundancy Check

Verificação de Erros Dividir a mensagem recebida pelo polinômio gerador e

analisar o restoResto=0 – mensagem okResto≠0 – mensagem com erro

Separar a mensagem recebida do CRCAcrescentar N zeros à mensagemCalcular o CRC da mensagemComparar o CRC calculado com o CRC recebido. Se o

valor for idêntico, a mensagem está ok

Page 8: CRC –  Cyclic Redundancy Check

8

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

CRC – Cyclic Redundancy Check

CRCs Padronizados

Aplicação PolinômioCRC-1 (Paridade) x + 1

CRC-8-ATM x8 + x2 + x + 1

CRC-16-CCITT x16 + x12 + x5 + 1

CRC-32-MPEG2CRC-32-IEEE 802.3

x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1

CRC-64-ISO x64 + x4 + x3 + x + 1

Page 9: CRC –  Cyclic Redundancy Check

9

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

Conclusão

Excelente algoritmo para detecção de erros provocados por ruídos em canais de comunicação

Implementação simples e eficiente em hardware binário

Amplamente utilizadoInadequado para verificação de

integridade

Page 10: CRC –  Cyclic Redundancy Check

10

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

Bibliografia

W. W. Peterson e D. T. Brown, "Cyclic codes for error detection", Proceedings of the IRE, vol. 49, p. 228-235, Janeiro 1961.

M. Barr, “Strengh in Numbers”, In: http://www.netrino.com/Connecting/1999-12/index.php, Setembro 2007.

R. N. Williams, “A Painless Guide to CRC Error Detection Algorithms”, In: http://www.repairfaq.org/filipg/LINK/F_crc_v3.html, Setembro 2007.

Page 11: CRC –  Cyclic Redundancy Check

11

UNIVERSIDADE FEDERAL FLUMINENSE

INSTITUTO DE COMPUTAÇÃO

CRC – Cyclic Redundancy Check

Etienne C. R de [email protected]

04/09/2007

Técnicas e Estruturas em Redes de Computadores

Profa. Anna Dolejsi Santos