Checagem de Erros

Uma das coisas mais difíceis que encontrei até agora no meu estudo de redes foi o capítulo sobre a checagem de erros nos pacotes da camada de enlace de dados. Tanto que pulei a seção sobre o assunto. Ainda assim, vou explicar aqui pra vocês um método de checagem de erros dos mais comuns: o dígito verificador.

Com certeza você já ouviu falar dele. Ele está no número da conta no banco, no CPF que você carrega na sua carteira e também nos pacotes da camada de enlace de dados. Seu funcionamento é muito simples: o dígito verificador é o resultado de uma conta que se faz sobre os outros números.

Um exemplo moleza: imagine um clube, destes que a gente paga uma mensalidade para poder usar a piscina, a academia, passar o dia, coisa e tal. Cada pessoa tem uma carteirinha com um número de sócio, e daí a diretoria do clube decide colocar um dígito verificador neste número.

Resolvem então que o dígito verificador é a soma dos algarismos do número de sócio, sendo que se a soma passar de dez, os algarismos do resultado são somados de novo, até se conseguir um número com apenas um algarismo. Daí, um sócio de número 431 teria uma carteira de número 4318. E um sócio número 987 teria uma carteira número 9876.

Pra que serve isso? Serve para que, se alguém aparecer com uma carteira número 1119, o porteiro vai saber que ela é falsa, pois ele vai saber que o dígito verificador certo deveria ser 3.

Basicamente, é isso. Claro que os métodos para calcular os dígitos verificadores dos documentos que vemos por aí não são tão simples assim. Os de CPF e CNPJ, por exemplo, são intrincadíssimos: você vai multiplicando cada algarismo por certos valores decrescentes, depois soma o resultado, vê quanto falta para chegar em um outro valor, e então diminui este "quanto falta" de mais um outro valor para então achar o dígito verificador. Ou algo parecido e mais difícil que isto.

Estes dois casos, por acaso, são de conhecimento público, pois são necessários para os desenvolvedores de programas, para que eles criem programas que façam essa verificação, mas outros são secretos, como os dígitos verificadores de contas de banco. Para acertar um destes só por tentativa e erro.

***


Este é, então, um dos vários métodos de checagem de erro que são usados pelos protocolos da camada de enlace de dados. É importante lembrar que com este tipo de checagem a camada de enlace de dados do receptor não tem condições de corrigir o erro, ela apenas vai saber que houve um erro, para então solicitar o reenvio daquele pacote.

Existem outros métodos de checagem de erro que, com o uso de técnicas de redundância, permitem que o receptor tente - e muitas vezes consiga - não apenas descobrir que houve um erro, mas também corrigi-lo.

Se alguma leitora souber de algum site que tem alguma explicação decente destes métodos, e quiser compartilhar, agradecerei efusivamente.

***


Links interessantes:
  • Algoritmo para cálculo do dígito verificador do CPF
  • Algoritmo para cálculo do dígito verificador do CNPJ
  • Veja aqui o que já foi publicado no Vovó Viu a Rede sobre a camada de enlace de dados.

  • Nenhum comentário: