Redes de Computadores
Protocolos da camada de
ligação de dados
Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Maio de 2006
Protocolos de ligação de dados
Redes de Computadores 3
Camada de Ligação de Dados (1)
Camada de Ligação de Dados (2)
• Tem como principal função garantir a transmissão
de dados através de uma linha série, fornecendo
serviços aos níveis superiores
• O tipo de protocolo de Ligação de Dados usado
depende da ligação física entre os dois DTE (Data
Terminal Equipment) a interligar e do bit rate dessa
ligação
– para ligações de débitos mais reduzidos são usados protocolos Character Oriented do tipo Idle ARQ: Kermit e X-modem
Protocolos de ligação de dados
Redes de Computadores 5
High-Level Data Link Control (HDLC)
• HDLC (ISO 33009, ISO 4335)
• Protocolo orientado ao bit (independente de códigos)
• Permite uma grande variedade de aplicações
• Tipos de estações
– Estação Primária
• Controla a operação da ligação (uma ligação lógica por cada estação Secundária) • Tramas enviadas designam-se por comandos
– Estação Secundária
• Controlada pela estação Primária
• Tramas enviadas designam-se por respostas
– Estação Combinada
• Combina funções Primárias e Secundárias; pode enviar comandos e respostas • Configurações da ligação
– Não balanceada (não equilibrada)
• Uma Primária e uma ou mais Secundárias • Transmissões full-duplex e half-duplex
– Balanceada (equilibrada)
• Duas estações Combinadas • Transmissões full-duplex e half-duplex
Configurações da ligação -exemplos
Não balanceada ponto-a-ponto, com um primário e um secundário
Não balanceada multiponto, com um primário e vários secundários
Balanceada, com duas estações combinadas
Protocolos de ligação de dados
Redes de Computadores 7
Modos de Transferência de Dados em
HDLC
• Normal Response Mode (NRM)
– Configuração não balanceada
– A estação Primária é responsável pelo estabelecimento, gestão e fecho da ligação – Uma estação Secundária só responde a comandos da estação Primária
– Usado em configurações multiponto (por ex.: Primário: Computador principal, Secundárias: terminais)
• Asynchronous Response Mode (ARM)
– Configuração não balanceada
– A estação Primária é responsável pelo estabelecimento, gestão e fecho da ligação – A estação Secundária pode transmitir sem permissão da estação Primária, após
estabelecida a ligação – Raramente usada
• Asynchronous Balanced Mode (ABM)
– Configuração balanceada
– Qualquer das estações pode estabelecer a ligação e transmitir sem permissão da outra
– É a mais usada: torna mais eficiente a utilização de ligações full-duplex ponto-a-ponto
– Usado em X.25 (LAPB), RDIS (LAPD) e Frame Relay (LAPF)
Estrutura da Trama HDLC
• Uma trama HDLC é constituída por vários campos
– Os campos têm tamanho fixo ou variável (existindo mecanismos que permitem estabelecer e reconhecer as fronteiras entre campos)
– As funções associadas a cada campo dependem da respectiva estrutura e de valores dos bits que o constituem, de acordo com a posição que ocupam no campo
• Formato único para todas as tramas de controlo e dados
Protocolos de ligação de dados
Redes de Computadores 9
Trama HDLC - Flag
• Tramas HDLC são delimitadas por flags - sequências 01111110
• Uma flag pode terminar uma trama e começar outra • Bit stuffing é usado para evitar o falso reconhecimento
de flags dentro da trama
– O Emissor insere um 0 após uma sequência de cinco 1’s
– Quando o Receptor detecta cinco 1’s consecutivos com um zero a seguir, este último é eliminado
Mensagem Original:
111111111111011111101111110 Depois de bit stuffing:
11111001111100110111110010111110010
Trama HDLC - Adress
• Por convenção o endereço identifica a estação
secundária que enviou ou vai receber a trama
• Formato básico - 8 bits
• Formato expandido
– Múltiplo de 8 bits
– O primeiro bit de cada byte é 0, terminando por um byte em que esse bit é 1
Protocolos de ligação de dados
Redes de Computadores 11
Trama HDLC – Control (1)
• Existem 3 tipos de tramas, cada qual com um campo de controlo diferente • Os primeiros um ou dois bits do campo de controlo identificam o tipo de quadro
– Informação (I)
• Contém dados de camadas superiores (a abstracção acima de HDLC que usa HDLC) • Adicionalmente, dados de controlo de fluxo e de erro são transmitidos no quadro de
informação (piggybacking)
– Supervisão (S)
• Confirmação de tramas, controlo de erro e de fluxo quando não é usado piggybacking • Os dois bits S permitem seleccionar um em quatro comandos de supervisão
– Não numeradas (U)
• Funções suplementares de controlo da ligação (estabelecimento, reinicialização, terminação)
Trama HDLC – Control (2)
• Números de sequência– N(S) em tramas I – N(R) em tramas I e S
• Bit P/F (Poll / Final)
– Permite sincronizar um comando com uma resposta (o funcionamento normal do protocolo não garante uma relação um para um entre comandos e respostas) – Em comandos, P=1 solicita resposta
– Em respostas F=1 indica resposta solicitada pelo comando com P=1
• Nos quadros de informação e supervisão, o campo de controlo pode ser estendido para 16 bits, permitindo aumentar o valor máximo de N(S) e N(R) e o número máximo de comandos e respostas
– Este formato é utilizado especialmente em transmissões via satélite devido aos atrasos envolvidos
Protocolos de ligação de dados
Redes de Computadores 13
Trama HDLC –Information e FCS
• Campo de Informação
– Campo dos dados
– Apenas presente em tramas I e em algumas tramas U – Comprimento variável (valor máximo fixado
previamente), porém contém um número inteiro de octetos
• FCS (Frame Check Sequence)
– Baseado num código polinomial
– Calculado com base nos restantes bits da trama (excepto as flags)
– Normalmente CRC-CCITT (16 bits) – Por vezes CRC-32 (32 bits)
Funcionamento do HDLC
• Princípio base assenta na troca de I-Frames, S-Frames e U-Frames entre duas estações
• Envolve 3 fases:
– Inicialização: Despoletada por qualquer dos lados da ligação, através de comandos específicos a que o outro lado responde, aceitando (unnumbered acknowledged - UA) ou rejeitando a ligação (disconnected mode - DM)
– Transferência dos Dados: Após a inicialização ter sido
solicitada e aceite, fica estabelecida uma ligação lógica. A partir deste momento ambos os lados da ligação podem enviar dados, usando I-Frames, começando com o número de sequência 0, colocado no campo N(S) do campo control. O sub-campo N(R) transporta a confirmação das I-Frames recebidas
– Terminação da Ligação: Qualquer módulo HDLC pode iniciar uma desconexão através do envio da trama DISC. O outro lado confirma, respondendo com um UA (unnumbered ackowledged).
Protocolos de ligação de dados Redes de Computadores 15
Comandos e respostas HDLC
Exemplos de Funcionamento do
HDLC (1)
Protocolos de ligação de dados Redes de Computadores 17
Exemplos de Funcionamento do
HDLC (2)
Protocolo LAPB (X.25)
• Link Access Procedure, Balanced • Parte integrante do X.25 (ITU-T)
• Na prática é um subconjunto do HDLC
– Fornece apenas o modo ABM (Asynchronous Balanced Mode)
• Utilizado em ligações ponto-a-ponto entre sistema terminal e nó da rede de comutação de pacotes • Estrutura das tramas idêntica à do HDLC
Protocolos de ligação de dados
Redes de Computadores 19
Protocolo LAPD
• Link Access Procedure, D-Channel
• Parte integrante da RDIS/ISDN (ITU-T)
• Fornece controlo da ligação através de um
canal lógico do interface ISDN,
denominado Canal D
• Restringe-se ao modo de operação ABM
(tal como o LAPB)
Protocolo LAPF
• Link Access Procedure for Frame-Mode Bearer Services • Usado nas redes Frame Relay
• Subdivide-se em dois subprotocolos:
– Control protocol – funções similares às do HDLC (confirmação, controlo de erros e controlo de fuxo)
– Core protocol – subconjunto do control protocol (funções básicas de comutação de tramas); não faz controlo de fluxo e erro, permitindo assim maiores fluxos de dados
• Tal como o LAPB também se restringe ao modo de operação ABM • Sequências de numeração de tramas com 7 bits
• O FCS utiliza um CRC de 16 bits • LAPF core não possui o campo control
Protocolos de ligação de dados
Redes de Computadores 21
Protocolo LLC (Logical Link Control)
• Parte da arquitectura das redes locais standard IEEE 802 (LAN’s) • Controlo da ligação dividido em dois níveis:
– Subcamada MAC (Medium Access Control)
• Protocolo de acesso a um meio partilhado • Endereçamento físico das estações
• Detecção de erros (sem recuperação) – CRC de 32 bits
– Subcamada Logical Link Control (LLC) , que funciona no topo do nível MAC
• Campo para identificação do utilizador lógico do LLC da origem (SSAP) e do destino (DSAP)
• Oferece 3 tipos de serviços
– LLC1: não confirmado, sem conexão (não fiável) - o mais comum (usado por exemplo com TCP/IP)
– LLC2: confirmado, com conexão (fiável) - procedimentos semelhantes a HDLC, com mecanismos de controlo de erros de fluxo; praticamente não usado em redes locais
– LLC3: confirmado, sem conexão – também pouco usado
O nível de ligação de dados na Internet
• A Internet é constituída por diferentes tipos de equipamentos informáticos, interligados por uma infra-estrutura de
comunicações
• Ao nível dos edifícios são interligados através de redes locais (LAN’s), no entanto uma boa parte da Internet é constituída por ligações ponto-a-ponto, através de linhas alugadas usadas, basicamente em duas situações:
– Interligação das redes locais à Internet, através de ISP’s
– Interligação de utilizadores individuais através de modems e das linhas telefónicas tradicionais a um ISP que lhe fornece o acesso à rede
• Para ter acesso aos diferentes serviços do controlo de ligação neste tipo de ligações, torna-se também necessário recorrer a um protocolo específico
Protocolos de ligação de dados
Redes de Computadores 23
SLIP – Serial Line IP
• Criado em 1984 com o objectivo de interligar estações de trabalho da Sun à Internet usando um modem
• O funcionamento assenta no envio de pacotes IP através da linha, com uma flag especial no final de cada trama (0xC0)
– Técnica de character stuffing para contornar o problema da flag em bytes de dados
• Apesar de ainda ser usado apresenta vários problemas:
– Não suporta qualquer mecanismo de detecção e/ou correcção de erros (responsabilidade de níveis superiores)
– Apenas suporta o protocolo IP, o que limita a ligação de redes que não suportem esse protocolo
– IP fixo (esgotamento de IPs!!!) - cada lado da ligação tem de conhecer previamente o endereço IP do outro lado, não suportando a atribuição dinâmica de endereços
– Não fornece um mecanismo próprio de autenticação, o que levanta problemas na sua utilização através da linha telefónica
PPP – Point-to-Point Protocol
• Surgiu com o objectivo de substituir o SLIP através da eliminação dos seus principais problemas, pelo que:
– Suporta detecção de erros – Suporta múltiplos protocolos
– Permite a negociação dinâmica do endereço IP durante a fase de estabelecimento de ligação
– Permite autenticação
• Fornece 3 funções:
– Forma de delimitar o fim de uma trama e o início da seguinte; inclui-se na trama suporte para detecção de erros
– Um protocolo de controlo de ligação (LCP – Link Control Protocol) que inicia uma ligação, testa-a, negoceia as diferentes opções, e termina a ligação quando esta deixa de ser necessária