Escolar Documentos
Profissional Documentos
Cultura Documentos
-1-
Olá!
Ao final desta aula, você será capaz de:
2. Compreender os principais esquemas de codificação para verificação de erros nas redes de computadores.
Nos estudos desenvolvidos nas aulas anteriores sobre as transmissões físicas, observamos que, apesar da
qualidade dos equipamentos e dos meios físicos atualmente disponíveis, os erros ainda podem acontecer na
comunicação de dados.
Nesse sentido, como parte dos serviços desenvolvidos na camada de enlace, estudaremos os mecanismos básicos
A camada de enlace transforma a transmissão bruta de bits (da camada física) em um link de comunicação de
dados host-a-host. Portanto, a camada de enlace é responsável por transferir quadros (frames) entre nós
Os protocolos de enlace podem oferecer diferentes serviços, como: enquadramento, endereçamento físico,
entrega confiável e controle de fluxo entre nós adjacentes, detecção e correção de erros, transmissão half-duplex
e transmissão full-duplex.
Durante a transmissão das cadeias de bits que compõem uma mensagem, interferências podem alterar as
características do sinal. Assim, dada uma determinada cadeia de bits, pode ocorrer erro em um bit, ou em rajada
(dois ou mais bits). A ocorrência de erro em rajada é mais provável, pois a duração do ruído geralmente é maior
O erro em rajada não significa que os erros ocorreram em bits consecutivos, na verdade o comprimento da
rajada é medido do primeiro ao último bit corrompido dentro de uma cadeia de bits.
-2-
Para detectar erros, verifica-se a ocorrência ou não dos mesmos. Nesse caso, erro em um único bit ou em vários
bits provoca o mesmo efeito, os dados estarão corrompidos. Entretanto, para corrigir erros, a dificuldade é um
pouco maior, pois será necessário identificar quantos bits foram corrompidos e a posição deles na mensagem.
Pode-se imaginar, portanto, que quanto maior a mensagem, mais complexo é o processo de correção.
Tanto para detectar quanto para corrigir erros (de bit, ou em rajada) é utilizado o conceito de redundância,
representado pela adição de bits extras que são transmitidos junto com os bits dados.
A redundância é adicionada (pelo emissor da mensagem) por meio de um processo que associa uma relação
entre os bits de dados e os bits redundantes. Essa relação pode ser determinada através de diferentes métodos
Desse modo, denominamos de palavra de código a mensagem que contém m bits de dados e r bits redundantes e,
-3-
Também nesse contexto, definimos a distância de Hamming como o número de posições de bits em que duas
palavras de código diferem, ou seja, o número de diferenças entre bits correspondentes. Assim, ela indica o
número de inversões de bits que deve ocorrer para transformar uma palavra de código em outra válida.
Alguns exemplos de métodos de detecção são: teste de paridade, teste de redundância cíclica (cyclic redundant
-4-
Para correção de erros, algumas técnicas podem ser utilizadas como: a retransmissão dos dados ou, ainda, a
correção de erros em rajada. Mas, a correção de erros é mais difícil que a detecção, precisamos de muito mais
bits redundantes. A distância de Hamming mínima, nesse caso, ajuda a determinar o número máximo de erros
O código de verificação de paridade simples é apenas para detecção de erros de bit (um só bit), ele não é capaz
de corrigi-los.
Um bit extra, denominado bit de paridade, é inserido e selecionado de forma que o número total de bits 1s nos
bits transmitidos seja par (ou ímpar). Um método mais eficiente é a verificação de paridade bidimensional.
O CRC é uma categoria de código cíclico muito usado em LAN e WAN. Em um código cíclico, se uma palavra de
código for deslocada ciclicamente (em rotação), o resultado é uma outra palavra de código.
Por exemplo, se 1011000 for uma palavra válida, com um deslocamento cíclico à esquerda, obteremos 0110001
Um codificador CRC (transmissor da mensagem) construirá uma palavra de código de n bits, a partir da junção
-5-
Nesse código, a palavra de dados é considerada como uma sequência de coeficientes de um polinômio (D); então,
a partir de um polinômio gerador (G, predefinido e combinado por ambas as partes), divide-se (módulo 2,
usando aritmética binária) a palavra de dados (D, aumentada com n - m bits 0s) por G. O quociente da divisão é
descartado.
Acrescenta-se, então, o resto (R) a D (observe que por construção, a nova sequência <D,R> é divisível por G).
O receptor (que conhece G) recebe a sequência <D,R> e a divide por G. Caso o resto seja diferente de zero, então
-6-
O método denominado checksum possui um conceito que é bem simples.
Vamos detalhar, como exemplo, o de 16 bits usado na Internet, cujas etapas são:
Todos os grupos de 16 bits são somados usando-se a adição de complemento um; então a soma é
No receptor, a mensagem (inclusive o checksum) é dividida em grupos de 16 bits que são somados usando
complemento um.
A soma é complementada e se torna o novo checksum. Se o valor do checksum for zero, a mensagem é aceita;
Suponha que os seguintes grupos de bits serão enviados usando a técnica de checksum de 8 bits: 10101001
00111001
-7-
O padrão enviado será: 10101001 00111001 00011101
Saiba mais
Visite os links e estude o funcionamento do CRC:
• PARTE 1: www.youtube.com/watch?v=XWcJcybL3JQ
• PARTE 2: www.youtube.com/watch?v=wyUNSzDbFjg&feature=channel
A aritmética de módulo 2 é muito simples: tanto a adição quanto a subtração fornecem os
mesmos resultados. Podemos utilizar a operação XOR (OU exclusivo) tanto para adição quanto
para subtração.
Pesquise a tabela de operação XOR.
CONCLUSÃO
Nesta aula, você:
• Identificou os principais serviços implementados na camada de enlace.
• Estudou os principais esquemas de codificação para verificação de erros nas redes de computadores.
• Diferenciou os esquemas de verificação de erro: paridade, CRC e checksum.
-8-