Prof. André Y. Kusumoto
[email protected]
Prof. André Y. Kusumoto – [email protected]
Nível de Enlace
• A comunicação entre dois equipamentos geograficamente separados
envolve uma infraestrutura física de comunicação que é formada pela
interligação, ponto-a-ponto, de vários pontos intermediários
Enlace (link)
• Pode existir um número variado de enlaces (entre origem e destino), cada
um com um diferente tipo de tecnologia de interconexão
• Composto por um meio físico – par trançado, fibra óptica ou o próprio ar
• Pode ser dedicado (ponto-a-ponto) ou compartilhado (broadcast)
• Ex. Viagem SP-Paris
Prof. André Y. Kusumoto – [email protected]
Controle lógico do enlace
Enquadramento
•Quadros (frames) – cabeçalho + dados
•Delimitar onde um quadro inicia, o que forma o cabeçalho e o que são dados
•Marcas especiais de início e fim, marca de início seguida pelo tamanho do quadro ou ainda uma marca de início e um silêncio (repouso) no final da transmissão.
Endereçamento
•Enlaces compartilhados (broadcast) •Identificar o destino
•Endereço físico – MAC (Media Access Control) Address •Cabeçalho da camada de enlace
Prof. André Y. Kusumoto – [email protected]
Controle lógico do enlace
Detecção e correção de erros
•A comunicação entre dois pontos é suscetível a erros
•Detectar e descartar ou Detectar e corrigir
Prof. André Y. Kusumoto – [email protected]
Métodos de detecção e correção de erros
Definição
• A ocorrência de erros em uma transmissão de dados, é motivada por diversas causas, como por exemplo, ruído, falha na sincronização do receptor em relação ao transmissor, defeitos nos componente, etc.
Prof. André Y. Kusumoto – [email protected]
Técnicas para Detecção de Erros
• Baseados no uso de uma função de cálculo, usando o conjunto
de dados a serem transmitidos como seu parâmetro de entrada
• O transmissor efetua o cálculo dessa função e envia junto aos
dados. O destino ao receber os dados, realiza o mesmo cálculo
e compara com o resultado com o valor recebido
Prof. André Y. Kusumoto – [email protected]
Técnicas para Detecção de Erros
Cálculo de Paridade
Caractere
•Esta técnica consiste em acrescentar um bit extra ao caractere, provocando um número par (ou impar) em relação ao número total de bits “1”s.
•O receptor calcula um novo bit de paridade para cada caractere em cima dos bits recebidos e compara este bit com aquele enviado pelo transmissor.
•Se forem iguais, a transmissão é considerada correta; se não, haverá necessidade de retransmissão do caractere.
•Incapaz de detectar erros aos pares.
Paridade Par
Paridade Impar
Caractere Bit de Paridade Seqüência a Transmitir
1000100 0 10001000
1110000 1 11100001
Caractere Bit de Paridade Seqüência a Transmitir
1000100 1 10001001
Prof. André Y. Kusumoto – [email protected]
Método da Paridade Combinada
• A paridade vertical, denominada VRC (Vertical Redundancy Checking), consiste em acrescentar um bit de paridade para cada caractere transmitido.
• A paridade longitudinal (ou paridade horizontal), denominada LRC (Longitudinal Redundancy
Checking) , consiste em acrescentar um bit de paridade para cada nível (posição) de bit dentro do byte de um bloco.
• A utilização desses dois métodos (VRC + LRC) em conjunto, dá-se o nome de paridade
combinada.
• A paridade combinada possibilita a formação de um BCC (Block Check Character), obtido de todos bits formados pela paridade horizontal.
• Quando a mensagem chegar ao seu destino, o equipamento receptor calcula um novo BCC a partir dos bits recebidos e compara-o com o BCC recebido ao final da mensagem.
• Ocorrendo a igualdade entre esses BCCs, a mensagem recebida será considerada correta, sendo aceita e processada. Caso contrário, a mensagem será considerada incorreta, pedindo-se, assim, a retransmissão da mensagem.
Prof. André Y. Kusumoto – [email protected]
Método da Paridade Combinada
• Vejamos a transmissão do texto “MENSAGEM”, utilizando paridade par, com código ASCII. Texto recebido sem erro
M E N S A G E M BCC Bit 1 1 1 0 1 1 1 1 1 1 2 0 0 1 1 0 1 0 0 1 3 1 1 1 0 0 1 1 1 0 4 1 0 1 0 0 0 0 1 1 5 0 0 0 1 0 0 0 0 1 6 0 0 0 0 0 0 0 0 0 Bit 7 1 1 1 1 1 1 1 1 0 VRC => 0 1 0 0 0 0 1 0 0 <= LRC
Prof. André Y. Kusumoto – [email protected]
Técnicas para Detecção de Erros
Soma de Verificação (Checksum)
•Os b bits de dados a serem transmitidos são agrupados em porções menores, de k bit, múltiplos de b.
•A seguir, cada grupo (de k bits) é usado como argumento de um função cumulativa. Tipicamente, somatório binário.
•O valor resultante sofre uma operação de complemento de 1, formando o checksum •O receptor agrupa os dados recebidos em k bits. Depois efetua a soma, inclusive com o checksum.
Prof. André Y. Kusumoto – [email protected]
Soma de Verificação (Checksum)
Dados a serem transmitidos: 10101001 00111001
Transmissor
Transmissão: 10101001 00111001
Técnicas para Detecção de Erros
0 + 0 = 0 0 + 1 = 1 1 + 1 = 0 Transporte de 1 1 + 1 + 1 = 1 Transporte de 1 10101001 00111001 Soma checksum k = 8 k = 8
Os b bits de dados a serem transmitidos são agrupados em porções menores, de k bit, múltiplos de b.
A seguir, cada grupo (de k bits) é usado como argumento de um função cumulativa. Tipicamente, somatório binário.
O valor resultante sofre uma operação de complemento de 1, formando o checksum O receptor agrupa os dados recebidos em k bits.
Depois efetua a soma, inclusive com o checksum.
O complemento de 1 do resultado desta soma deve ser igual a zero (ausência de erros)
Prof. André Y. Kusumoto – [email protected]
Soma de Verificação (Checksum)
Dados a serem transmitidos: 10101001 00111001
Transmissor
Transmissão: 10101001 00111001
Técnicas para Detecção de Erros
10101001 00111001 Soma 11100010 checksum 0 + 0 = 0 0 + 1 = 1 1 + 1 = 0 Transporte de 1 1 + 1 + 1 = 1 Transporte de 1 k = 8
Os b bits de dados a serem transmitidos são agrupados em porções menores, de k bit, múltiplos de b.
A seguir, cada grupo (de k bits) é usado como argumento de um função cumulativa. Tipicamente, somatório binário.
O valor resultante sofre uma operação de complemento de 1, formando o checksum O receptor agrupa os dados recebidos em k bits.
Prof. André Y. Kusumoto – [email protected]
Soma de Verificação (Checksum)
Dados a serem transmitidos: 10101001 00111001
Transmissor
Transmissão: 10101001 00111001
Técnicas para Detecção de Erros
10101001 00111001 Soma 11100010 checksum 00011101 0 + 0 = 0 0 + 1 = 1 1 + 1 = 0 Transporte de 1 1 + 1 + 1 = 1 Transporte de 1 k = 8
Os b bits de dados a serem transmitidos são agrupados em porções menores, de k bit, múltiplos de b.
A seguir, cada grupo (de k bits) é usado como argumento de um função cumulativa. Tipicamente, somatório binário.
O valor resultante sofre uma operação de complemento de 1, formando o checksum
O receptor agrupa os dados recebidos em k bits.
Depois efetua a soma, inclusive com o checksum.
O complemento de 1 do resultado desta soma deve ser igual a zero (ausência de erros)
Prof. André Y. Kusumoto – [email protected]
Soma de Verificação (Checksum)
Dados a serem transmitidos: 10101001 00111001
Transmissor
Transmissão: 10101001 00111001 00011101
Técnicas para Detecção de Erros
10101001 00111001 Soma 11100010 checksum 00011101 0 + 0 = 0 0 + 1 = 1 1 + 1 = 0 Transporte de 1 1 + 1 + 1 = 1 Transporte de 1 k = 8
Os b bits de dados a serem transmitidos são agrupados em porções menores, de k bit, múltiplos de b.
A seguir, cada grupo (de k bits) é usado como argumento de um função cumulativa. Tipicamente, somatório binário.
O valor resultante sofre uma operação de complemento de 1, formando o checksum O receptor agrupa os dados recebidos em k bits.
Prof. André Y. Kusumoto – [email protected]
Soma de Verificação (Checksum)
Dados a serem transmitidos: 10101001 00111001
Transmissor
Transmissão: 10101001 00111001 00011101
Receptor
Técnicas para Detecção de Erros
10101001 00111001 Soma 11100010 checksum 00011101 10101001 00111001 00011101 Soma checksum 0 + 0 = 0 0 + 1 = 1 1 + 1 = 0 Transporte de 1 1 + 1 + 1 = 1 Transporte de 1 k = 8
Os b bits de dados a serem transmitidos são agrupados em porções menores, de k bit, múltiplos de b.
A seguir, cada grupo (de k bits) é usado como argumento de um função cumulativa. Tipicamente, somatório binário.
O valor resultante sofre uma operação de complemento de 1, formando o checksum
O receptor agrupa os dados recebidos em k bits.
Depois efetua a soma, inclusive com o checksum.
O complemento de 1 do resultado desta soma deve ser igual a zero (ausência de erros)
Prof. André Y. Kusumoto – [email protected]
Soma de Verificação (Checksum)
Dados a serem transmitidos: 10101001 00111001
Transmissor
Transmissão: 10101001 00111001 00011101
Receptor
Técnicas para Detecção de Erros
10101001 00111001 Soma 11100010 checksum 00011101 10101001 00111001 00011101 0 + 0 = 0 0 + 1 = 1 1 + 1 = 0 Transporte de 1 1 + 1 + 1 = 1 Transporte de 1 k = 8
Os b bits de dados a serem transmitidos são agrupados em porções menores, de k bit, múltiplos de b.
A seguir, cada grupo (de k bits) é usado como argumento de um função cumulativa. Tipicamente, somatório binário.
O valor resultante sofre uma operação de complemento de 1, formando o checksum O receptor agrupa os dados recebidos em k bits.
Prof. André Y. Kusumoto – [email protected]
Soma de Verificação (Checksum)
Dados a serem transmitidos: 10101001 00111001
Transmissor
Transmissão: 10101001 00111001 00011101
Receptor
Técnicas para Detecção de Erros
10101001 00111001 Soma 11100010 checksum 00011101 10101001 00111001 00011101 Soma 11111111 checksum 00000000 Se ZERO, OK! 0 + 0 = 0 0 + 1 = 1 1 + 1 = 0 Transporte de 1 1 + 1 + 1 = 1 Transporte de 1 k = 8
Os b bits de dados a serem transmitidos são agrupados em porções menores, de k bit, múltiplos de b.
A seguir, cada grupo (de k bits) é usado como argumento de um função cumulativa. Tipicamente, somatório binário.
O valor resultante sofre uma operação de complemento de 1, formando o checksum O receptor agrupa os dados recebidos em k bits.
Depois efetua a soma, inclusive com o checksum.
O complemento de 1 do resultado desta soma deve ser igual a zero (ausência de erros)
Prof. André Y. Kusumoto – [email protected]
Técnicas para Detecção de Erros
CRC (Cyclic Redundancy Checking)
•O CRC, ou método de detecção polinomial, é um processo de checagem de erros mais sofisticado e utilizado que o método da paridade combinada.
•Na transmissão, os dados a serem transmitidos são transformados em um polinômio D(x), em função dos “0”s e “1”s.
•O polinômio D(x) é multiplicado pelo termo de maior grau de um polinômio gerador G(x). •O resultado desta multiplicação será um novo polinômio D’(x) que será dividido pelo polinômio gerador G(x).
•O resto desta divisão R(x) será enviado ao término da transmissão de D(x) (pode ser chamado de BCC, FCS, etc).
•Na recepção, os dados recebidos serão divididos pelo mesmo polinômio gerador G(x). •Se o resto desta divisão for igual a zero, significa que ao houve erros na transmissão; caso contrário, foi detectado erro na transmissão, sendo necessária a retransmissão da
Prof. André Y. Kusumoto – [email protected]
CRC - Cyclic Redundancy Checking
Exemplo:
Seja a seqüência 10111011 a ser transmitida utilizando o método polinomial com polinômio gerador G(x) = x3 + x2 + x, então:
D(x) = 1.x7 + 0.x6 + 1.x5 + 1.x4 + 1.x3 + 0.x2 + 1.x1 + 1.x0 = x7
+ x5 + x4 + x3 + x + 1
Multiplicando D(x) pelo termo de maior grau G(x):
x7 + x5 + x4 + x3 + x + 1
x3
Prof. André Y. Kusumoto – [email protected]
CRC - Cyclic Redundancy Checking
Dividindo D’(x) por G(x): x10 + x8 + x7 + x6 + x4 + x3 x3 + x2 + x x10 + x9 + x8 x7 + x6 + x5 + x4 + x3 + 1 x9 + x7 + x6 x9 + x8 + x7 x8 + x6 + x4 x8 + x7 + x6 x7 + x4 + x3 x7 + x6 + x5 x6 + x5 + x4 + x3 x6 + x5 + x4 x3 x3 + x2 + x x + x
Prof. André Y. Kusumoto – [email protected]
CRC - Cyclic Redundancy Checking
R(x) = x2 + x = 110 (1.x2 + 1.x1 + 0.x0)
R(x) será enviado ao final da sequência D(x), ou seja:
T(x) = 10111011 110
Na recepção, a sequência recebida 10111011 110 será dividida pelo mesmo G(x):
Dados recebidos: 1.x10 + 0.x9 + 1.x8 + 1.x7 + 1.x6 + 0.x5 + 1.x4 + 1.x3 + 1.x2 + 1.x1 + 0.x0 = x10 + x8 + x7 + x6 + x4 + x3 + x2 + x1 T(x) = 10111011 . 110 D(x) R(x)
Prof. André Y. Kusumoto – [email protected]
CRC - Cyclic Redundancy Checking
Resto = 0, indicando que não houve erros na transmissão. Se o resto fosse diferente de zero, haveria necessidade de se retransmitir toda a sequência enviada pelo
transmissor. x10 + x8 + x7 + x6 + x4 + x3 + x2 + x x3 + x2 + x x10 + x9 + x8 x7 + x6 + x5 + x4 + x3 + 1 x9 + x7 + x6 x9 + x8 + x7 x8 + x6 + x4 x8 + x7 + x6 x7 + x4 + x3 x7 + x6 + x5 x6 + x5 + x4 + x3 x6 + x5 + x4 x3 + x2 + x x3 + x2 + x 0
Prof. André Y. Kusumoto – [email protected]
CRC - Cyclic Redundancy Checking
• Os polinômios geradores padronizados, em sistemas síncronos, são apresentados na tabela abaixo.
Padrão Polinômio Gerador
CRC-12 x12 + x11 + x3 + x2 + x + 1
CRC-16 x16+x15+x2+1