Camada de Enlace - LLC. Controle de Erros Refere-se ao processo de garantir a entrega confiável dos...

Preview:

Citation preview

Camada de Enlace - LLC

Controle de Erros

Refere-se ao processo de garantir a entrega confiável dos dados

Dados recebidos na camada de rede são idênticos aos transmitidos

Duas estratégias: Correção de erros por retransmissão Correção autônoma de erros

Correção de Erros por Retransmissão Requer informação apenas suficiente no fluxo de dados para que o nó receptor possa detectar um erro durante a transmissão

Tendo detectado um erro o destino solicita a origem retransmissão do quadro

Correção Autônoma de Erros Requer informação redundante no fluxo de dados para que o destino possa detectar e corrigir os erros de forma autônoma

Não se baseia em retransmissão O destino ao detectar um quadro com erro, corrigi os erros por conta própria

Troca retransmissão por informação redundante

Correção Autônoma de Erros

Custosa de implementar Diversos bits extras são necessários para a

informação redundante e para localizar o bit com erro

Implementada usualmente em canais simplex Não se pode requisitar retransmissão Na maioria das situações o método para

corrigir erros é a retransmissão

Correção de Erros

Redes locais Ethernet e 802.3 usam retransmissão como correção de erros

Feito usando o CRC

Checagem de Soma

CRC - Checagem de Redundância Cíclica Para checar uma série de bits o CRC constrói

um polinômio algébrico cujos coeficientes dos termos são os valores dos bits

Um conjunto de dados com n bits corresponde a um polinômio de grau n-1

O bit mais à esquerda é o coeficiente do termo xn-1

Checagem de Soma Exemplo:

10111101 1x7 + 0x6 + 1x5 + 1x4 + 1x3 + 1x2 + 0x1 + 1

x7 + x5 + x4 + x3 + x2 + 1 A seguir o polinômio é dividido por um polinômio gerador pré-determinado

O conjunto de dados fica sendo o dividendo e polinômio gerador o divisor

Checagem de Soma

O resto da divisão é a checagem de soma (CRC) que é incluída no quadro

O destino executa um procedimento análogo Se o CRC calculada pelo destino for igual à

do emissor, a divisão dá resto 0. Quadro correto

Se CRC não casam, a origem é notificada e o quadro retransmitido

Polinômios Geradores

CRC-16 Checagem de soma de 16 bits X16 + x15 + x2 + 1

CRC-CCITT Também de 16 bits X16 + x12 + x5 + 1

Polinômios Geradores

CRC-32 Checagem de soma de 32 bits Usada na maioria dos protocolos para redes locais

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

Ethernet, 802.3 e Token Ring

CRC - Eficiência

A eficiência do CRC é função do polinômio gerador usado

CRC-16 e CRC-CCITT detectam: 100% dos erros únicos e duplos Todos os erros em um número ímpar de bits Falhas em 16 ou menos de 16 bits 99,997% das falhas em 17 bits 99,998% das falhas em 18 ou mais bits

CRC - Eficiência

CRC-32 A chance de termos dados ruins recebidos e não

detectados é aproximadamente 1 em 4.3 bilhões

CRC - Exemplo

Origem Divide um quadro Tb por um divisor específico D O resto R é incluído no campo de checagem de

soma do quadro Ta representa o quadro completo, após cálculo de

CRC

Destino Divide Ta por D Se R = 0 --> não possui erros Se R 0 --> erros, retransmissão do quadro

CRC - Exemplo

Polinômio gerador X5 + x4 + x2 + x + 1 Ou seja D = 110111 Tb = 111000111000

Passo 1 Como polinômio gerador é de grau 5, acrescenta-

se 5 zeros em Tb

11100011100000000

CRC - Exemplo

Passo 2 Dividimos a cadeia do passo 1 por D Lembre estamos usando binário, mod 2 Não existe vai-um nem empresta-um Adição e subtração correspondem a XOR:

101101

-110011

011110

CRC - Exemplo

11100011’10’0’0’00’000 / 110111 110111 111111 110111

100010 110111 101010 110111 111010

110111 110100 110111 11000 Resto

CRC - Exemplo

Passo 3 Junte o Resto aos bits originais Ta = 11100011100011000

Passo 4 Destino recebe Ta e efetua a divisão

CRC - Exemplo

11100011’10’0’0’11’000’ / 110111

110111

111111

110111

100010

110111

101010

110111

111010

110111

110111

110111

000000000 --> Resto

CRC - Exemplo Como R = 0, não houve erros na transmissão do

quadro Caso R 0, erro e retransmissão é necessária

CRC - Exercício

Polinômio gerador X6 + x5 + x3 + 1 Tb = 111100001101

Calcule Ta e o Resto no destino

Recommended