UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAO CRC Cyclic

  • Slides: 11
Download presentation
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check Etienne C. R

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check Etienne C. R de Oliveira eoliveira@ic. uff. br 04/09/2007 Técnicas e Estruturas em Redes de Computadores Profa. Anna Dolejsi Santos 1

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO Agenda l Introdução l CRC – Cyclic Redundancy

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO Agenda l Introdução l CRC – Cyclic Redundancy Check l Conclusão 2

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO Introdução l História l W. Wesley Peterson e

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO Introdução l História l W. Wesley Peterson e D. T. Brown l W. W. Peterson e D. T. Brown, "Cyclic codes for error detection", Proceedings of the IRE, vol. 49, p. 228 -235, Jan 1961 l Objetivo l Identificar a ocorrência de erros ocasionados por ruídos durante o processo de transmissão (controle de erros) l Ruído l Fenômeno aleatório capaz de perturbar a transmissão de dados l EMI/RFI 3

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check l Produz um

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check l Produz um valor expresso em poucos bits que é anexado à mensagem l CRC-64 – 64 bits l CRC-32 – 32 bits l CRC-16 – 16 bits l Propriedades l Todos os bits da mensagem são utilizados no cálculo do valor do CRC l Mudança de um único bit é refletida no valor do CRC l Probabilidade de valores uniforme 4

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check l Cálculo do

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check l Cálculo do CRC l Resto da divisão polinomial (divisão módulo 2) entre os dados e o polinômio gerador. Ex. : l Polinômio gerador de grau 16 (x 16 + x 15 +. . . + x 2 + x 1 + x 0) l Resto de grau 15 (16 bits) l Divisão módulo 2 l Acrescentar, à direita da mensagem, uma quantidade de zeros equivalente ao grau do polinômio gerador l A partir do bit mais significante da mensagem: l Bit 1 l Acrescentar o bit 1 ao quociente l Aplicar um XOR entre o divisor e o polinômio gerador l Bit 0 l Acrescentar o bit 0 ao quociente l Aplicar um XOR entre o divisor e zeros l Efetuar uma rotação à esquerda 5

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check 6

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check 6

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check l Verificação de

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check l Verificação de Erros l Dividir a mensagem recebida pelo polinômio gerador e analisar o resto l Resto=0 – mensagem ok l Resto≠ 0 – mensagem com erro l Separar a mensagem recebida do CRC l Acrescentar N zeros à mensagem l Calcular o CRC da mensagem l Comparar o CRC calculado com o CRC recebido. Se o valor for idêntico, a mensagem está ok 7

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check l CRCs Padronizados

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check l CRCs Padronizados Aplicação Polinômio CRC-1 (Paridade) x+1 CRC-8 -ATM x 8 + x 2 + x + 1 CRC-16 -CCITT x 16 + x 12 + x 5 + 1 CRC-32 -MPEG 2 CRC-32 -IEEE 802. 3 x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x + 1 CRC-64 -ISO x 64 + x 3 + x + 1 8

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO Conclusão l Excelente algoritmo para detecção de erros

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO Conclusão l Excelente algoritmo para detecção de erros provocados por ruídos em canais de comunicação l Implementação simples e eficiente em hardware binário l Amplamente utilizado l Inadequado para verificação de integridade 9

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO Bibliografia W. W. Peterson e D. T. Brown,

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_v 3. html, Setembro 2007. 10

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check Etienne C. R

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO CRC – Cyclic Redundancy Check Etienne C. R de Oliveira eoliveira@ic. uff. br 04/09/2007 Técnicas e Estruturas em Redes de Computadores Profa. Anna Dolejsi Santos 11