Camada de Ligação de Dados Serviços Detecção e correcção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs Hubs e Pontes de interligação Tecnologias da camada de ligação de dados Ethernet Anel com testemunho Redes locais sem fios PPP ATM 1º Semestre 2006/2007 Redes de Computadores I 5.1 Camada de Ligação de Dados link Os canais de comunicação que interligam dois nós adjacentes serão designados por ligações ouconexões e podem ser de vários tipos Cabos eléctricos ou ópticos ponto a ponto Canais rádio ponto a ponto Canais partilhados com acesso múltiplo (LAN s) Os pacotes do nível de ligação de dados designam-se portramas. As tramas são usadas para transportar datagramas de um nó para o nó adjacente. 1º Semestre 2006/2007 Redes de Computadores I 5.2 1
Serviços da camada de ligação de dados Construção e delimitação de tramas: Encapsulamento de datagramas adicionando cabeçalho e terminação Acesso ao canal (meio) Definição dos procedimentos no caso de meio partilhado Gestão de identificadores de origem e destino - endereços MAC Transmissão fiável entre nós adjacentes Dependendo do tipo de ligação pode ser necessário usar técnicas específicas de transmissão fiável 1º Semestre 2006/2007 Redes de Computadores I 5.3 Serviços da camada de ligação de dados (cont.) Controlo de fluxo Detecção de erros Tratamento de erros causados por ruído no canal de comunicação. Pedido de repetição de tramas Descarte da trama Correcção de erros Serviço half-duplex ou full-duplex 1º Semestre 2006/2007 Redes de Computadores I 5.4 2
Realização datagrama Protocolo de nível 2 trama adaptador trama adaptador Camada de ligação de dados muitas vezes realizada num adaptador autónomo ( Network Interface Card NIC) Placa Ethernet, PCMCI ou 802.11 1º Semestre 2006/2007 Redes de Computadores I 5.5 Camada de Ligação de Dados Serviços Detecção e correcção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs Hubs e Pontes de interligação Tecnologias da camada de ligação de dados Ethernet Anel com testemunho Redes locais sem fios PPP ATM 1º Semestre 2006/2007 Redes de Computadores I 5.6 3
Detecção de erros Introdução de bits calculados em função dos bits de dados redundância Principais técnicas: - Paridade (uni- ou multidimensional) - Soma de verificação ( checksum ) - Código cíclico de verificação ( Cyclic Redundancy Code CRC) Os erros só são detectados se no receptor, os bits redundantes calculados, forem diferentes dos inscritos na trama. Dados Bits Redundantes Dados Bits Redundantes Canal com ruído 1º Semestre 2006/2007 Redes de Computadores I 5.7 Paridade Bit de paridade Detecta um número ímpar de bits errados Paridade bidimensional horizontal vertical Um erro simples pode ser corrigido 011100001011 1 10101 1 11110 0 01110 1 00101 0 1º Semestre 2006/2007 Redes de Computadores I 5.8 4
Código Cíclico de Verificação - CRC Mensagem de m bits é interpretada como sendo um polinómio M(x) de grau inferior a m Polinómio gerador de grau r Cálculo do CRC Dividendo éx r M(x) Divisor ég(x) Divisão módulo 2 produz resto R(x), de grau inferior a r Mensagem transmitida ét(x) = x r M(x) + R(x) Notar quet(x) é divisível por G(x) Detecção de erros Se a mensagem recebida for divisível por G(x) então não se detectam erros 1º Semestre 2006/2007 Redes de Computadores I 5.9 CRC - Exemplo G(x) = x 3 + x 2 + 1 1000 M(x) = x 7 + x 4 + x 3 + x 1 1000000 x 3 M(x) = x 10 + x 7 + x 6 + x 4 101 R(x) = x 2 + 1 1000101 x 3 M(x) + R(x) = x 10 + x 7 + x 6 + x 4 + x 2 + 1 1000000 11111001 1001 1000 1011 1100 0010 0000 0100 0000 1000 101 1º Semestre 2006/2007 Redes de Computadores I 5.10 5
CRC Propriedades Mensagem recebida ét(x) + E(x), em que E(x) é o padrão de erros Padrão de erros é detectado se e só se E(x) não é divisível por G(x) Erros simples são detectados, se G(x) tiver mais do que um termo Número ímpar de erros são detectados, se G(x) tiver x + 1 como factor Rajadas de erros de comprimento inferior ou igual a r são detectadas, se G(x) tiver grau r e incluir o termo 1 Rajadas de erros de comprimento r + 1 só não são detectadas com probabilidade 1 / 2 r 1, se G(x) tiver grau r e incluir o termo 1 1º Semestre 2006/2007 Redes de Computadores I 5.11 CRC Polinómios utilizados CRC-8 CRC-10 CRC-12 CRC-CCITT CRC-32 G(x) = x 8 + x 2 + x 1 + 1 G(x) = x 10 + x 9 + x 5 + x 4 +x 1 + 1 G(x) = x 12 + x 11 + x 3 + x 2 + 1 G(x) = x 16 + x 12 + x 5 + 1 G(x) = x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x 1 + 1 1º Semestre 2006/2007 Redes de Computadores I 5.12 6
CRC - Realização CRC é fácil de realizar em hardware recorrendo a registos de deslocamento G(x) = x 3 + x 2 + 1 dados x 2 x 1 FF XOR FF FF XOR 1º Semestre 2006/2007 Redes de Computadores I 5.13 7