minha jornada até o CCNA - Trocando uma ideia sobre PPP

Fala, galera!

Hoje vamos tratar um pouco sobre um protocolo bastante conhecido no mundo de redes (quem faz algum curso/facul relacionado a redes/telecom sabe disso) trata-se de um protocolo de camada 2 (enlace de dados), responsável por interconectar dois pontos para estabelecer a chamada conexão ponto-a-ponto. De quem que eu estou falando?

Sim, é o PPP (Point-to-Point Protocol), em português Protocolo Ponto a Ponto. É uma tecnologia estabelecida pela RFC 1661 para controle de Links WAN ou se preferir, de longa distância. Possui protocolos adicionais de suporte (complementares), sendo que as duas principais categorias desses protocolos são:

Network Control Protocol (NCP) – Trata-se de uma categoria de protocolos com vários sub-protocolos, sendo que cada sub-protocolo está atrelado a uma tecnologia da nossa querida camada 3 (rede) especifica. Exemplos desses sub-protocolos da categoria são Internet Control Protocol (ICP) e o IPv6 Control Protocol (IPvCP).

Link Control Protocol (LCP) – Esse carinha é responsável por implantar funções de controle a nível de enlace de dados (camada 2), ficando totalmente independente do protocolo de rede que estiver sendo utilizado na camada superior (camada 3), aliás o PPP é totalmente independente da tecnologia de rede que estiver rodando na camada 3. As funções de controle estão relacionadas a diversos aspectos da conexão que envolvem o configuração, estabelecimento e verificação do link, além da autenticação.

Uma característica marcante do PPP é a autenticação dos pontos envolvidos na comunicação. Em um cenário de link WAN, o processo de autenticar é necessário para que as interfaces seriais dos roteadores provem suas ID antes de estabelecer a conexão. Temos dois protocolos de autenticação utlizados em anexo ao PPP, são o PAP e o CHAP, a configuração em ambos é basicamente igual. É importante salientar que o PAP (Password Authentication Protocol) em português Protocolo de Autenticação de Senha, não possui segurança, porque faz o envio do usuário e senha em texto simples/claro (sem criptografia), já o CHAP (Challenge-Handshake Authentication Protocol) em português Protocolo de Autenticação por Desafio Handshake) é considerado mais seguro pela forma que faz a troca de dados entre os pontos (hash MD5), em outras palavras, é criptografado, verifica periodicamente a ID do host (ponto) usando o método Three Way Handshake.

A topologia abaixo serve para exemplificar a configuração de um link de longa distância PPP entre dois roteadores. Cada roteador está configurado com endereços IP pertencentes a sub-redes diferentes, algo que de início faria parecer impossível estabelecer a comunicação entre os dois pontos. Entretanto, depois de configurado o link de longa distância PPP entre R1 e R2 e conexão é estabelecida com sucesso. Vamos ver por que?


topology ppp


Antes disso, vamos fazer as configs necessárias para estabelecer o link PPP (let’s goooo). Uma coisita importante de se notar na hora da configuração de autenticação (e que muita gente acaba vacilando) é que no R1 deve ser criado um usuário base local equivalente ao hostname que setamos no R2 e vice-versa (no caso, nomeei como R1 no primeiro roteador e R2 no segundo).

Portanto galera, o nome de usuário que será autenticado deve ser igualzinho o nome de host (hostname) que foi configurado no roteador da outra ponta, se isso não for feito, a autenticação vai falhar.

R1(config)# username R2 password SENHA
R1(config)# interface s0/0/0
R1(config-if)# ip address 200.20.2.2 255.255.255.252
R1(config-if)# encapsulation ppp
R1(config-if)# ppp authentication chap
R2(config)# interface s0/0/0
R1(config-if)# no shut

R2(config)# username R1 password SENHA
R2(config-if)# ppp authentication chap
R2(config-if)# ip address 201.30.3.3 255.255.255.0
R2(config-if)# encapsulation ppp
R2(config-if)# no shut

Feito a configuração acima, podem testar que vai tudo ok! Voltemos agora para a dúvida… Por que o ping entre as duas pontas funcionam mesmo as interfaces seriais estando configuradas com endereços em sub-redes diferentes???

Se estivéssemos configurando esse mesmo cenário ponto a ponto WAN através de links seriais com encapsulamento HDLC (padrão), o ping não funcionaria com as duas interfaces seriais configuradas com endereços de sub-redes diferentes. Isso porque o R1 e R2 não teriam uma rota diretamente conectada que fosse comum para os dois, portanto seria impossível direcionar a saída do tráfego ponto a ponto.

Já mudando esse contexto para PPP esse comportamento muda bastante, os protocolos de controle da categoria NCP são responsáveis por tratar de forma automática as informações de roteamento.

Apesar de ser possível utilizar esse cenário de cada ponto em sub-redes diferentes, essa pratica não é recomendada. Uma vez que não será possível executar protocolos de roteamento dinâmico entre R1 e R2, pois para formar a vizinhança de roteamento é necessário que os roteadores compartilhem da mesma sub-rede. Portanto a rede não estará totalmente operacional mesmo que o resultado do ping seja sucesso!

E por último, mas não menos importante… esse recurso do PPP é denominado de Peer Neighbot Route e pode ser manualmente desativado em sub-modo de configuração da interface serial, através do comando no peer neighbor route .

Isso é tudo pessoal, apenas um overview do PPP, lembrando que as boas práticas recomendam utilizar uma sub-rede /30 (255.255.255.252) em links ponto-a-ponto.

Abraços, Max