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 Modelo OSI Protocolos de ligação de dados Redes de Computadores 2 1 Camada de Ligação de Dados (1) Protocolos de ligação de dados Redes de Computadores 3 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 – para ligações de débitos mais elevados são usados protocolos Bit Oriented do tipo Continuous ARQ: HDLC, LAPB, LAPD, LAPF e LLC Protocolos de ligação de dados Redes de Computadores 4 2 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 Protocolos de ligação de dados Redes de Computadores 5 Configurações da ligação -exemplos Não balanceada ponto-aponto, 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 6 3 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-aponto – Usado em X.25 (LAPB), RDIS (LAPD) e Frame Relay (LAPF) Protocolos de ligação de dados Redes de Computadores 7 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 Header Protocolos de ligação de dados Trailer Redes de Computadores 8 4 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: 0111110 0110111110 010111110 010 111110 Protocolos de ligação de dados Redes de Computadores 9 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 – Endereço de broadcast - 11111111 Protocolos de ligação de dados Redes de Computadores 10 5 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) Protocolos de ligação de dados Redes de Computadores 11 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 12 6 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) Protocolos de ligação de dados Redes de Computadores 13 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 14 7 Comandos e respostas HDLC Protocolos de ligação de dados Redes de Computadores 15 Exemplos de Funcionamento do HDLC (1) Protocolos de ligação de dados Redes de Computadores 16 8 Exemplos de Funcionamento do HDLC (2) Protocolos de ligação de dados Redes de Computadores 17 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 18 9 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) Protocolos de ligação de dados Redes de Computadores 19 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 Trama LAPF (control) Trama LAPF (core) 20 10 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 Protocolos de ligação de dados Redes de Computadores 21 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 • Os mais utilizados nestas funções são o SLIP e o PPP Protocolos de ligação de dados Redes de Computadores 22 11 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 Protocolos de ligação de dados Redes de Computadores 23 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 – Uma forma de negociar opções do nível de rede (protocolo NCP – Network Control Protoccol). De forma independente relativamente ao protocolo de rede utilizado Protocolos de ligação de dados Redes de Computadores 24 12