Olá galera do blog!!! Nesse artigo vamos falar de uma das principais mudanças do IPv6 em relação ao quase idoso IPv4 que é a forma que a descoberta de vizinhos é realizada em uma LAN.
Se você já estudou o assunto deve lembrar que o IPv4 utiliza o protocolo ARP para descobrir qual o endereço MAC dos dispositivos que pretendem se comunicar, certo?
Mas no IPv6 tem um probleminha sério, você sabe dizer porque o ARP teve que ser abandonado no IP versão 6?
Pense um pouco… não leia a linha de baixo…
A resposta é simples, principalmente porque o IPv6 não tem mais suporte ao Broadcast!!! Não é somente isso, mas essa é a principal motivação dessa mudança.
Mas como então o IPv6 consegue descobrir o MAC de um host vizinho na sua LAN para fechar a comunicação?
Agora quem cuida disso é o ICMPv6 através de um protocolo chamado NDP ou Neighbor Discovery Protocol , em português “Protocolo de descoberta de vizinhos”.
Como o ARP Funciona
Vamos relembrar um pouco do funcionamento do bom e velho ARP ou Address Resolution Protocol.
Quando dois hosts (PCs, computadores, servidores, etc.) desejam se comunicar em uma rede LAN eles precisam saber os endereços da camada de Rede e também da camada de enlace do modelo OSI.
Vamos supor que você está no PC “X” com IP 192.168.1.1 e quer “pingar” o host C local (ou cliente C) que tem o IP 192.168.1.2.
Quando você digita o comando “ping 192.168.1.2” o seu computador provavelmente não vai ter registrado o endereço MAC ou endereço físico do servidor, a não ser que eles já tenham se comunicado anteriormente.
Mas para esse exemplo vamos supor que eles nunca se comunicaram, ok?
Voltando ao ping… no momento que você digita o comando o seu computador sabe o que em termos de endereçamento? Seu próprio IP e MAC, assim como endereço IP do cliente C.
Para montar o pacote IP ou de camada-3 é o suficiente, porém ele precisa também montar o quadro de camada-2 para enviar essa mensagem na LAN…
… e é aí que vem o problema, pois ele conhece seu próprio endereço MAC, mas não o do cliente C.
Nesse ponto que entra o protocolo ARP, sua placa de rede vai utilizar esse protocolo e montar um pacote com uma requisição ARP ou ARP Request.
Nessa requisição ele envia o IP de origem e Destino, também o MAC de origem (do próprio PC “X”), mas como ele não conhece o MAC de destino um endereço de Broadcast é utilizado no seu lugar, ou seja, o destino da requisição é para ffff.ffff.ffff e vai ser processada por TODAS as máquinas da LAN ou VLAN em questão.
Como no endereço IP de destino tem o IP do cliente C, ele e somente ele deve processar essa informação e devolver uma resposta contendo seu endereço MAC para o computador de origem.
Dessa maneira todas as informações necessárias para montagem da mensagem são descobertas pelo host ou computador de origem e o ping começa a ser executado.
Veja imagem abaixo.
Principais Funções do NDP ou Neighbor Discovery Protocol
O protocolo de descoberta de vizinhos ou simplesmente NDP tem várias funções dentro do IPv6, conforme listadas abaixo:
- Determinar o endereço MAC dos nós da rede (substituto do ARP).
- Encontrar roteadores vizinhos.
- Determinar prefixos e outras informações de configuração da rede.
- Detectar endereços duplicados.
- Determinar a acessibilidade dos roteadores.
- Redirecionamento de pacotes.
- Autoconfiguração de endereços.
Os recursos acima são realizados com as seguintes mensagens do ICMPv6:
Agora vamos estudar dois recursos que o NDP disponibiliza para o IPv6 que são a determinação do MAC do host vizinho e depois como ele pode ser utilizado para descobrir um roteador local.
Determinando o Endereço MAC de Hosts Vizinhos com o NDP
Assim como a comunicação do IPv4, para enviar um pacote IPv6 para um vizinho, o computador precisa saber o endereço MAC de origem (dele mesmo, portanto já sabe) e o endereço MAC do destino (computador remoto), o que é função do ARP na versão 4 do protocolo IP.
Já no IPv6 o processo é realizado através da troca de mensagens ICMP e funciona com um host enviando uma mensagem Neighbor Solicitation informando no campo de dados seu endereço MAC e também solicitando o endereço MAC do vizinho.
Ao receber a mensagem, o vizinho a responde enviando uma mensagem Neighbor Advertisement informando seu endereço MAC.
Após essa troca de mensagens o computador de origem tem condições de iniciar a troca de pacotes com o computador de destino.
Veja a figura a seguir.
Encontrando Roteadores Vizinhos com o Neighbor Discovery Protocol
O processo utilizado para localizar roteadores vizinhos dentro do mesmo enlace, bem como aprender prefixos e parâmetros relacionas à autoconfiguração de endereço, se inicia com o envio de um Router Solicitation (RS) pelo host.
O roteador local responde com uma mensagem de Router Advertisement (RA) para o endereço multicast all-nodes com as informações configuradas nele.
Mais para frente você aprenderá mais sobre a autoconfiguração e o DHCPv6, os quais utilizam o processo de descoberta de roteadores no seu funcionamento.
Também é possível que o host receba uma mensagem de Router Advertisement sem ter enviado a solicitação (Router Solicitation), isso porque os roteadores fazem o anúncio de suas redes periodicamente, de maneira proativa.
Bem, chegamos ao final de mais um super artigo em nosso blog e de coração espero ter ajudado na sua busca por conhecimento de valor na área de Redes e Infraestrutura de TI.
Conto com sua ajuda para compartilhar nosso artigo em suas redes sociais para que possamos cada vez mais impactar o maior número de profissionais da nossa área.
Se você tiver alguma dúvida, crítica ou até mesmo sugestão de melhoria ou de assunto para uma próxima postagem utilize o campo que está mais abaixo e deixe seu comentário.
Sempre damos atenção aos comentários!
Muito obrigado pela visita e até uma próxima!