Protocolos ponto-a-ponto e a camada de enlace
Definição do problema
Camadas de Enlace e Física
Camadas de Enlace e Física Alguns protocolos de enlace PPP HDLC MAC do padrão IEEE 802.3 (Ethernet) MAC do padrão IEEE 802.11 (WiFi)
A Camada de Enlace Principal objetivo da camada: Comunicar dados entre dois equipamentos de rede conectados ao mesmo enlace de transmissão
A Camada de Enlace Enlaces podem ser: Ponto-a-ponto Multiponto
A Camada de Enlace O meio de transmissão é visto como fonte e destino de bits em sequência
A Camada de Enlace Comunicar dados significa: Sincronizar quadros: reconhecer os quadros (PDUs) dentro das sequências de bits Controlar fluxo de quadros: evitar enviar mais quadros que o destinatário pode receber Controlar erros: detectar e tratar erros em quadros Endereçar os equipamentos: identificar o destinatário em enlace muiltiponto Gerenciar o enlace: iniciar, manter e terminar enlaces
A Camada de Enlace Unidade de transmissão (PDU) é o quadro: Um quadro genérico: Sync: : informação para sincronizar quadros Header ou cabeçalho: : informações de controle Payload ou carga: : dados transportados Trailer: : informação de controle adicional
A Camada de Enlace Sincronização de quadros (enquadramento): Identificar os quadros dentro da sequência de bits recebida. quadro Ex: equipamento de rede é ligado, e há uma sequência de bits chegando. Como identificar onde inicia e termina o primeiro quadro (e os quadros subsequentes)?
A Camada de Enlace Enquadramento para protocolos de enlace: Sentinela: : bytes especiais delimitam quadros Ex: Protocolo PPP usa Flag = 7E H Problema: : e se o valor do byte especial aparecer dentro do quadro?
A Camada de Enlace Enquadramento para protocolos orientados a byte: Sentinela: : se byte especial aparecer dentro do quadro, deve ser escondido Isto é denominado preenchimento de caractere Ex: PPP insere um byte com valor 7D H antes do byte especial, além de inverter o 6 o bit do byte especial. Exercício: : como ficaria a sequência de escape para os seguintes valores, de acordo com o PPP: a) 7E H b) 7D H c) 01 d) 20 H e) FF e) FF H
Protocolo HDLC
Protocolo HDLC High Level Data Link Control Definido nos padrões ISO 33009, 4335, 6159 e 6256) Baseado no protocolo SDLC da IBM (criado em 1975) Foi muito popular, mas perdeu espaço na Internet para o protocolo PPP Foi muito popular, mas perdeu espaço na Internet para Características: Protocolo orientado a bit usa preenchimento de bit Transmissão serial síncrona Controle de erros Go-Back-N Controle de fluxo
Protocolo HDLC Família de protocolos HDLC Muitos protocolos foram baseados no HDLC:
Definições Estações podem ser: Protocolo HDLC Primárias: : controlam os enlaces e podem enviar comandos Secundárias: : operam sob controle das primárias, e enviam respostas Combinadas: : podem transmitir tanto comandos quanto respostas Configurações de enlace podem ser: Desbalanceadas: : entre uma estação primária e uma ou mais secundárias Balanceadas: entre estações combinadas
Definições Protocolo HDLC Modos de transferência de dados podem ser: Modo de resposta normal (NRM):: para configurações desbalanceadas Modo de resposta normal (NRM) Usado em redes de terminais (ex: mainframes) Modo balanceado assíncrono (ABM):: para configurações balanceadas Modo balanceado assíncrono (ABM) Usado em redes de computadores Modo de resposta assíncrono (ARM):: para configurações desbalanceadas, em que estação secundária pode iniciar uma transmissão Modo de resposta assíncrono (ARM) Raramente usado
Quadros Formato de quadro Protocolo HDLC Campo de endereço extensível
Quadros Protocolo HDLC Campo de controle com 8 bits: Campo de controle com 16 bits:
Protocolo HDLC: comandos e respostas
Protocolo HDLC: comandos e respostas (cont.)
Protocolo HDLC Exemplos de operações HDLC:
Protocolo HDLC Exemplos de operações HDLC:
Conclusão: Protocolo HDLC HDLC substancialmente mais complexo que PPP Faz controle de erros e de fluxo Atualmente esses controles são excessivos (bons meios de transmissão) Muito de sua complexidade vem de sua origem, pois foi projetado para uso em redes de terminais (comum em sua época) Em redes de computadores usa-se o modo balanceado (ABM)
Protocolo PPP
Camada de Enlace: PPP Protocolo de enlace ponto-a-ponto da Internet Características Auto-configuração automática: inicia e termina o enlace (protocolo LCP) Suporta múltiplos protocolos de rede: negocia os parâmetros do protocolo de rede (protocolos NCP) Sem controle de fluxo e de erros (apenas detecção de erros com CRC-16) Enquadramento com sentinela (byte especial 7E H )
Camada de Enlace: Quadro PPP Address: sempre valor FF H Control: sempre valor 03 H Protocol: número do protocolo cuja PDU está contida no campo Payload Information: dados transportados FCS: Frame Check Sequence, com valor CRC-16 ou CRC-32
Camada de Enlace: fases do PPP PPP é na verdade um conjunto de protocolos: PPP: : provê o transporte dos quadros, fazendo enquadramento e detecção de erros LCP: : faz a configuração do enlace PAP ou CHAP: : fazem autenticação dos equipamentos/usuários que querem estabelecer o enlace IPCP: : faz a configuração de parâmetros relacionados com IP
Camada de Enlace: fases do PPP Enlace PPP estabelecido em etapas: Feito com protocolo LCP Feito com protocolo PAP ou CHAP Feito com protocolo LCP Link aberto: transmissão ocorre normalmente com PPP
Camada de Enlace: PPP e LCP LCP (Link Control Protocol): gerenciamento do enlace Configuração do enlace (início) Manutenção do enlace estabelecido Terminação do enlace PDU LCP Quadro PPP Valor correspondente ao LCP
Camada de Enlace: PPP e LCP LCP: opções de estabelecimento do enlace Opção Tamanho máximo de quadro recebido (MTU) Protocolo de autenticação Compressão do campo de protocolo Compressão dos campos de controle e endereço Default 1500 bytes Nenhum Desabilitada Desabilitada
Camada de Enlace: PPP e LCP Mensagens LCP: Configure-Request Configure-Ack Configure-Nak Configure-Reject Terminate-Request Protocol-Reject Code-Reject Echo-Request Echo-Reply Discard-Request Identification Time-Remaining Exemplo de troca de mensagens LCP
Camada de Enlace: PPP e LCP PDUs LCP: Código Tipo de PDU Descrição 01 Configure-request Lista de opções propostas e seus valores 02 Configure-ack Aceita todas as opções propostas 03 Configure-nak Algumas opções não são aceitáveis 04 Configure-reject Algumas opções não são reconhecidas 05 Terminate-request Requisita a terminação do enlace 06 Terminate-ack Aceita a terminação do enlace 07 Code-reject Comunica um código desconhecido 08 Protocol-reject Comunica um protocolo desconhecido 09 Echo-request Para ver se outra extermidade está ativa 0A H Echo-reply Resposta à echo-request 0B H Discard-request Pede para descartar esse quadro (teste do transmissor)
Autenticação e PPP Autenticação: PAP e CHAP Estabelecimento do enlace pode ser sujeito a autenticação Usado em enlaces por demanda Equipamento externo quer se integrar à rede Acesso discado, ADSL, 3G, (?) Dois protocolos de autenticação padronizados: PAP: Password Authentication Protocol Valor C023 H no campo de protocolo do PPP CHAP: Challenge Authentication Protocol Valor C223 H no campo de protocolo do PPP
Autenticação e PPP PAP: baseado em usuário e senha
Autenticação e PPP CHAP: desafio com base em segredo compartilhado
Camada de Enlace: PPP e IPCP IPCP (IP Configuration Protocol): NCP para protocolo IP Possibilita a autoconfiguração dos endereços IP do enlace, assim como servidores DNS e WINS Possibilita também a ativação da compactação de cabeçalho IP PDU IPCP Quadro PPP Valor correspondente ao IPCP
Camada de Enlace: PPP e IPCP Mensagens IPCP: Configure-request Configure-ack Configure-nak Configure-reject Terminate-request Terminate-ack Code-reject Exemplo de troca de mensagens IPCP
Camada de Enlace: PPP e LCP PDUs IPCP: Código Tipo de PDU Descrição 01 Configure-request Lista de opções propostas e seus valores 02 Configure-ack Aceita todas as opções propostas 03 Configure-nak Algumas opções não são aceitáveis 04 Configure-reject Algumas opções não são reconhecidas 05 Terminate-request Requisita a terminação do enlace 06 Terminate-ack Aceita a terminação do enlace 07 Code-reject Comunica um código desconhecido