Transcript 09_ppp

Protocolo ponto a ponto
Introdução
• Um dos protocolos mais difundidos para acesso ponto
a ponto é o Protocolo Ponto a Ponto (PPP).
– RFC 1661, RFC 1662.
• Milhares de usuários conectam-se aos provedores
Internet usando o PPP.
• A maioria possui um modem DSL ou um modem a cabo
conectando-se via linha telefônica ou conexão de TV a
cabo (link físico).
• O controle e o gerenciamento da transferência é feito
mediante a utilização de um protocolo ponto a ponto.
• O PPP é uma melhoria de um protocolo mais antigo e
mais simples, chamado SLIP.
Enlace ponto a ponto
• Tipos de enlace:
– Enlaces broadcast.
– Enlaces ponto a ponto.
• Conecta diretamente dois hospedeiros.
• Enlaces ponto a ponto:
–
–
–
–
Acesso discado.
DSL.
Cable modem.
Conexão X25.
Exigências originais da IETF
•
•
•
•
•
•
Enquadramento do pacote.
Transparência.
Múltiplos protocolos de camada de rede.
Múltiplos tipos de enlaces.
Detecção de erros.
Vida da conexão.
O que o PPP não precisa implementar
•
•
•
•
Correção de erros.
Controle de fluxo.
Sequenciamento.
Enlaces multiponto.
Definição dos serviços
• O formato do pacote.
• Como os dispositivos podem negociar o
estabelecimento e a troca de dados no enlace.
• Como os dados da Camada de Rede são
encapsulados em pacotes na Camada de
Enlace.
• De que forma dois dispositivos podem
autenticar-se mutuamente.
Formato do pacote
Flag
Endereço
controle
protocolo
Dados
FCS
• Flag.
– Identificam as fronteiras do pacote PPP.
• Endereço.
– Broadcast HDLC (11111111).
• Controle.
Flag
Formato do pacote (2)
• Protocolo.
– Define o que está sendo transportado no campo de dados:
Os dados em si ou outro tipo de informação.
– Os códigos começados com zero representam o IPv4, IPv6,
IPX e AppleTalk.
– Os códigos começados por um representam os protocolos
de configuração do PPP como, por exemplo, o LCP e o NCP.
• Dados.
– Carregam os dados.
• FCS.
– Um CRC de 2 ou 4 bytes.
Transição de Estados
Desliga a
conexão
Link
inativo
Detecta portadora
Falha
Desconexão
Estabelecimento
Sucesso
Falha
Autenticação
Fim
Encapsulamento /
transmissão
Sucesso
Estado Estabelecimento
• Neste estado ocorre a negociação entre as
duas partes das opções de conexão.
• Se a negociação for bem sucedida, o sistema
passa ao estado de autenticação ou segue
diretamente ao estado
Encapsulamento/Transmissão.
Estado Autenticação
• É opcional. As extremidades podem decidir,
durante o estado de estabelecimento, em não
solicitar nenhuma autenticação.
Estado Networking
• Encapsulamento/Transmissão.
• Quando a conexão chega nesse estado, os
pacotes de dados e informação de controle
dos usuários são encapsulados e transmitidos.
Estado Desconexão
• Vários pacotes são trocados entre os lados da
conexão, encerrando a conexão, seguindo do
desligamento do enlace.
Byte Stuffing
• O PPP usa um padrão de bits para indicar o
começo e o fim do frame.
• O que acontece se a mesma sequência de bits
aparecer no meio do frame?
• Solução: Byte stuffing.
– Controle de escape (01111101).
– Um par de bytes de controle de escape significa
que o byte de controle de escape também
apareceu nos bytes originais.
Pilha de protocolos
• Embora o PPP seja um protocolo da Camada
de Enlace, ele é composto de uma pilha de
outros protocolos para:
– Estabelecer o link,
– Autenticar as duas partes,
– Encapsular os dados da Camada de Rede.
• A qualquer momento um pacote PPP pode
estar transportando dados relativos a um
desses protocolos em seu campo de dados.
Link Control Protocol (LCP)
• Responsável pelo estabelecimento, manutenção,
configuração e terminação dos links.
• Provê também mecanismos de negociação sobre
a natureza do enlace antes do link ser
estabelecido.
NOTA: Quando o PPP estiver encapsulando um pacote
LCP, significa que ele está no estado estabelecimento ou
no estado desconexão.
Campos do LCP
• Código.
– O tipo de pacote LCP.
• ID.
– Valor usado como resposta a uma solicitação.
• Tamanho.
– Comprimento total do LCP.
• Informação.
– Informação extra necessária a alguns pacotes LCP.
Códigos LCP
•
•
•
•
•
•
Configure-request.
Configure-ack.
Configure-nak.
Terminate-request.
Protocol-reject.
Echo-request.
Protocolos de autenticação
• Validação da identidade do usuário.
• O PPP disponibiliza dois protocolos de
autenticação:
– Password Authentication Protocol (PAP).
– Challenge Handshake Authentication Protocol
(CHAP).
PAP
• Procedimento simples envolvendo apenas
dois processos:
– Usuário que deseja acessar um sistema envia um
tipo de identificador. Por exemplo, login e senha.
– O sistema verifica a validade da informação,
aceitando ou rejeitando a conexão.
• Três pacotes diferentes podem ser utilizados:
– Request, ack e nak.
CHAP
• Protocolo de autenticação que usa algoritmo
em três vias.
• Nesse método a senha é mantida em segredo
e não é enviada através da linha.
– Sistema envia ao usuário um pacote de requisição,
contendo o valor da requisição.
– O usuário aplica uma função entre a requisição e a
própria senha e envia a resposta ao sistema.
– O sistema faz a mesma operação verificando se o
resultado coincide com o da resposta recebida.
Network Control Protocol (NCP)
• Após a conexão avançar para o estado
transmissão, o PPP chama o NCP que irá
encapsular os dados dos protocolos da
camada de rede no frame PPP.
• O NCP é um conjunto de protocolos que
permitem o encapsulamento dos dados dos
protocolos da Camada de Rede no pacote PPP.
– O PPP pode encapsular diferentes tipos de
pacotes de camadas superiores.
Internetwork Protocol Control Protocol (IPCP)
• O PPP requer dois protocolos de negociação para
acessar não apenas a Camada de Enlace, mas também
a Camada de Rede.
• O conjunto de pacotes que estabelece e finaliza a
conexão de pacotes IP no nível de rede é denominada
Internetwork Protocol Control Protocol (IPCP).
Opções
• Existem muitas opções negociáveis entre duas
estações.
• As opções são inseridas no campo de
informação dos pacotes de configuração.
• Vejamos, no próximo slide, algumas das
opções mais comuns.
Opções típicas
• Tamanho máximo do pacote (default 1500).
• Protocolo de autenticação (default Nenhum).
• Compressão do campo de dados (default
Desabilitada).
• Compressão dos campos de endereço e
controle (default Desabilitada)