Técnicas de verificação de erros

download Técnicas de verificação de erros

of 5

Transcript of Técnicas de verificação de erros

Tcnicas de verificao de errosThatiane Ferreira XavierAluna do Curso Tcnico em Informtica- IFTM- [email protected];

RESUMO A deteco de erros a capacidade de detectar erros causados por rudo ou outras causas durante a transmisso de um emissor para um receptor. Um erro um defeito na mensagem a ser transmitida, fazendo com que esta seja modificada para um valor que no corresponde ao da original, o que extremamente inconveniente. A deteco de erros numa comunicao de dados crucial para que esta seja feita de uma forma correta e isenta de erros. PALAVRAS-CHAVE: erros, verificao, enlace e dados. INTRODUO Todos os mtodos para deteco de erros so baseados na insero de bits extras na informao transmitida. O transmissor, atravs de algoritmo (que tem como entrada os bits originais a serem transmitidos), computa os bits extras (redundantes). Os bits redundantes so acrescentados nas informaes originais. O receptor (conhecendo o algoritmo utilizado pelo transmissor) ao obter o quadro: recalcula os bits da redundncia, compara-os com os respectivos bits recebidos e se eles forem distintos isso quer dizer que foram alterados, ou seja, h uma existncia de erros. H trs tcnicas de verificao de erros: * Verificao de paridade * Soma de verificao (mais empregado na camada de transporte) * Redundncia cclica (empregada normalmente na camada de enlace) MATERIAL E MTODOS EDC = Bits de deteco e correo de erros (redundancia) D = Dados protegidos pela verificao de erros, pode incluir os campos de cabealho.

Figura 1. Contedo da mensagem que ser enviada. Verificaes de paridade A paridade um recurso que serve para aumentar a confiabilidade das memrias DRAM (isto se aplica a qualquer tipo de DRAM). Nos anos 80, as DRAMs eram muito suscetveis a erros, e a tcnica da paridade foi amplamente utilizada com o objetivo de detectar eventuais erros na memria. Com o passar dos anos, as memrias DRAM foram aperfeioadas e tornaram-se mais confiveis, fazendo com que o uso da paridade ficasse desnecessrio (como j ocorre

com a SRAM e a ROM). O PC original da IBM, bem como seus clones fabricados por outras empresas, organizavam a memria em conjuntos de 9 bits ao invs de 8. O nono bit includo chamado de "bit de paridade" e tem como finalidade detectar erros na memria. No importa o nmero de bits de memria que o microprocessador utiliza, a memria sempre ser organizada em mltiplos de 9 bits. Cada grupo de 8 bits ter sempre um bit adicional de paridade. Os bits de paridade no so acessveis atravs do microprocessador. So usados por dois circuitos existentes na placa de CPU: circuito gerador de paridade e circuito testador de paridade. Esses circuitos ficam localizados nos chips VLSI existentes nas placas de CPU. O circuito gerador de paridade tem como funo escrever o bit de paridade de cada grupo de 8 bits nas operaes de escrita na memria. O circuito testador de paridade faz uma verificao na paridade em cada grupo de 8 bits lidos da memria. Caso ocorra algum erro o microprocessador imediatamente suspender o processamento e executar uma rotina do BIOS que coloca na tela uma mensagem como: Parity Error O computador ficar ento paralisado, no aceitando mais nenhum comando, e o usurio ser obrigado a deslig-lo, ou usar o boto Reset. Desta forma, o erro no ser propagado, evitando que sejam causados danos aos dados do computador. Paridade Par Em um esquema de paridade par, o bit de paridade assumir o valor de 1 se no byte que est sendo armazenado ou enviado houver um nmero mpar de 1, e assumir o valor de 0 se houver um numero par de bits 1 no byte. Dessa forma, no conjunto de 9 bits sempre haver um nmero PAR de bits 1.

Figura 2. Tcnica de paridade par. Paridade mpar No esquema de paridade mpar, o bit assumir o valor 1 ou 0 , de modo que o nmero de 1 no byte a ser enviado ou armazenado seja sempre mpar. Bits 1 1 0 1 0 1 0 0 1 1 0 0 0 0 0 1 Paridade 1 0 1 1

Figura 3. Tcnica de paridade mpar.

O mtodo de paridade tem suas limitaes, por exemplo, o circuito de paridade pode detectar um erro, mas no pode efetivar nenhuma correo. Isso acontece porque o circuito de paridade pode no detectar o problema se o dado estiver de acordo com a condio par ou mpar que o circuito estiver checando. Por exemplo, se um zero vlido se transforma em um algarismo um invlido e um algarismo vlido um se transforma em um zero invlido, isso resultaria em um erro no detectado. Entretanto a prtica mostra que na maioria dos casos, quando ocorre erro, o mesmo acontece em apenas 1 bit. Paridade bidimensional Na paridade bidimensional os dados so divididos em linhas e colunas. Um valor de paridade calculado para cada linha e para cada coluna.

Essa tcnica consegue detectar apenas um erro, mas alm de detectar tambm capaz de corrigir. Ele aplicado em sequncias pequena de bits e pouco eficiente. Erros duplos e em pares no so detectados. A paridade bidimensional tambm pode detectar (mas no corrigir) qualquer combinao de dois erros em um pacote. Mtodos de Soma de Verificao (Checksum) Em tcnicas de soma e verificao, os dados so tratados como uma sequncia de bits. Um mtodo simples de soma de verificao somar esses inteiros e usar o total resultante como bits de deteco de erros. A chamada soma de verificao da internet baseada nessa abordagem bytes de dados so tratados como inteiros de 16 bits e somados. Essa soma carregada no cabealho do segmento. O receptor verifica a soma dos dados recebidos verificando se h algum erro. 0110011001100000 0101010101010101 1000111100001100 A soma das duas primeiras dessas palavras de 16 bits : 0110011001100000 0101010101010101 1011101110110101 Adicionando a terceira palavra soma acima, temos: 1011101110110101 1000111100001100 0100101011000010 A verificao feita convertendo todos os 0 em 1 e todos os 1 em 0. Desse modo o complemento de 1 da soma 0100101011000010 1011010100111101, que passa a ser a soma de verificao. No destinatrio, todas as quatro palavras de 16 bits so somadas,

inclusive a soma de verificao. Sem erros a soma ser 1111111111111111. Se um dos bits for 0, saberemos que houve algum erro no pacote.

Verificao de Redundncia Cclica (CRC) Essa uma tcnica largamente utilizada na pratica. Essa tcnica considera os bits de dados(D), como um polinmio. Por isso, os cdigos de CRC so conhecidos como Cdigos Polinomiais. Funcionamento: Primeiramente necessrio que o receptor e o remetente concordem com um padro de r+1 bits, conhecido como gerador(G). O bit da extrema esquerda de G deve ser 1. Para cada parcela de dados(D), o remetente adicionar bits adicionais(R) que sero anexados aos dados, onde os bits resultantes devem ser divisveis por G, usando aritmtica de mdulo 2. Ao receber os dados, o receptor divide os D + R bits recebidos por G. Se o resto for diferente de zero isso quer dizer que houve um erro, caso contrrio no houve nenhum erro.

Figura 5. Contedo da mensagem que ser enviada. Para calcular acrescente R zeros extremidade de baixa ordem do quadro. Subtraia a sequncia de bits resultantes por R utilizando a subtrao de mdulo 2. O resultado o valor do resto que ser adicionado no pacote a ser transmitido. Por Exemplo:

Figura 6. Clculo para a verificao de redundncia Cclica. Clculo de CRC por hardware Apesar do clculo necessrio para determinar o CRC parecer complicado, Peterson e Brown (1961) mostraram que possvel criar circuitos divisores simples usando registradores de

deslocamento para calcular e conferir os CRC. Na prtica quase todas as LANs o empregam, como tambm os enlaces ponto a ponto o utilizam em alguns casos. O clculo por hardware bem mais veloz que o equivalente em software. CONCLUSAO A deteco de erros um assunto de grande importncia e relevncia na manuteno da integridade dos dados em canais com rudo ou em sistemas de armazenamento no imunes a falhas, porm a deteco de erros no 100% confivel. Detectar um erro uma tarefa mais simples do que detectar e corrigir. Quanto maior o campo EDC melhor a capacidade de deteco de erros, por isso o cdigo polinomial ou CRC e o Checksum se tornam mais eficientes que o mtodo de paridade e tambm mais utilizados na prtica.

REFERENCIAS BIBLIOGRFICAS RODRIGUES, Manuela. Cdigos de Deteco e Correo de Erros. Disponvel em: . Acesso em: 04 dezembro 2011. PINHEIRO, Gil. Tcnicas de Deteco e Correo de Erros. Disponvel em: < www.lee.eng.uerj.br/~gil/redesII/Tecnicas%20de%20Detecao%20e%20Correcao%20de%20Err os.pdf >. Acesso em: 25 novembro 2011. MODIANO, Eytan. Engenharia de Sistemas de Comunicao. Dsponvel . Acesso em: 25 novembro 2011. em:

Autor Desconhecido. Captulo 5: A camada de enlace e redes locais. 25 novembro 2011. < http://www.dainf.ct.utfpr.edu.br/~anelise/aula5a.pdf >. Acesso em: 25 novembro 2011. Autor Desconhecido. Deteco de Erros.19 novembro 2011.< www.gmamorim.com/arquivos/Slide10_DeteccaoErros.pdf >.Acesso em: 24 novembro 2011.