IER60808: Endereços IPv6

De MediaWiki do Campus São José
Revisão de 09h12min de 24 de março de 2020 por Msobral (discussão | contribs) (Criou página com ' Endereços IPv4 têm 32 bits e são capazes de endereçarem até pouco mais de 4 bilhões de hosts, e isso parecia mais do que suficiente quando o protocolo IP foi criado, no...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Endereços IPv4 têm 32 bits e são capazes de endereçarem até pouco mais de 4 bilhões de hosts, e isso parecia mais do que suficiente quando o protocolo IP foi criado, nos primórdios da Internet. Mas desde os anos 1990, quando se massificou essa rede, constatou-se que os endereços IPv4 se esgotariam num horizonte próximo. Para evitar esse problema, e possibilitar que a Internet continuasse se expandindo (e também por outros motivos), foi criado o protocolo IPv6, cujos endereços têm 128 bits. Essa questão está bem descrita na introdução do livro Laboratório de IPv6:

Considerando que a concepção da Internet data da década de 70 e que, de lá para cá, houve uma explosão inesperada do seu uso, o IPv4 mostrou-se inadequado para acompanhar esta evolução.Uma das deficiências mais apontadas do IPv4 foi o espaço de endereçamento baseado num valor inteiro de 32 bits, que é tipicamente representado por quatro octetos em decimal, sendo possível disponibilizar apenas 4.294.967.296 endereços IPV4 diferentes. Para contornar essa deficiência, inúmeras soluções paliativas foram propostas e adotadas, como por exemplo o NAT (Network Address Solution) e o CIDR (Classless InterDomain Routing). Contudo, à medida que novas tecnologias de redes surgiram e o IP continuava sendo um dos protocolos chaves para sua operação, outras deficiências começaram a ser detectadas, especialmente aquelas referentes à segurança e ao suporte a parâmetros de QoS (Quality of Service) e mobilidade. Como consequência, no inicio da década de 90 é publicada a proposta da nova geração do IP (IPng – IP next generation) ou IPv6. Este novo protocolo traz a solução para muitas das deficiências de seu predecessor, o IPv4, incluindo espaço de endereçamento de 128 bits gerando a possibilidade de 340.282.366.920.938.463.463.374.607.431.768.211.456 endereços disponíveis, suporte a roteamento e segmentação de pacotes na estação origem, suporte a mobilidade e mecanismos de segurança.


Pji3-Number-of-internet-hosts-in-the-domain-name-system.jpg
Número de hosts na Internet mundial registrados no DNS (a quantidade total deve ser bem maior !). As quantidades são expressadas em milhões de hosts. Obtido de: Statista

Endereço IPV6

Um endereço IPV6 possui 128 bits disponíveis para endereçar hosts, possibilitando 340 undecilhões de endereços possíveis. Para se ter uma ideia do que isto representa, se convertêssemos cada IPv6 possível em um cm2, poderíamos envolver toda a superfície do planeta Terra com 7 camadas de endereços..

End1.png

Adoção no Brasil

O Brasil está entre os 10 países com maior adoção de IPv6, segundo o Google:


Endereços IPv6 estão sendo amplamente usados por provedores de acesso, como se pode comprovar em serviços de dados do tipo ADSL e LTE:


Pji3-ipv6-movel.png
Cópia de tela de um celular mostrando o uso de endereço IPv6 em seu link de dados

Atividade

versão para desktop

Para realizar estas atividades serão necessários alguns comandos:

  • Teste com ping6 para endereço de escopo local: deve-se especificar a interface de rede por onde as mensagens do ping6 serão transmitidas:

    ping6 -I eth0 endereço_IPv6_a_ser_pingado

  • Teste com ping6 para endereço de escopo global: não é prciso especificar a interface de rede por onde as mensagens do ping6 serão transmitidas:

    ping6 endereço_IPv6_a_ser_pingado

  • Tabela de rotas:

    route -A inet6

  1. Verifique quais provedores de conteúdo já usam IPv6. Isso pode ser feito com consultas DNS como esta:
    host -t aaaa www.google.com
    
    Algumas sugestões para procura:
    • IFSC
    • UFSC
    • UDesc
    • UOL
    • Epagri
    • Facebook
    • ... e outros !
  2. Em seu computador use o programa ifconfig para identificar o endereço IPv6 associado a sua interface ethernet.
  3. Use o ping6 para testar a comunicação com IPv6 entre seu computador e o de um colega. Há alguma diferença no resultado, em relação ao ping baseado em IPv4 ?
  4. Com o ping6 em execução ative a captura de pacotes com wireshark ou tcpdump. Visualize os pacotes enviados e recebidos pelo ping6 ... identifique os protocolos envolvidos. Qual a diferença em relação ao ping baseado em IPv4 ?
  5. Adicione outro endereço IPv6 ao seu computador. Escolha um endereço formado pelo prefixo AA:BB::/64 e o endereço MAC da sua interface de rede.
  6. Teste novamente com ping6 a comunicação com os computadores de seus colegas.
  7. Assim como no caso de IPv4, existe uma tabela de rotas IPv6 em cada host. Visualize a tabela de rotas IPv6 em seu computador com este comando:
    route -A inet6
    
    ... e procure identificar as subredes ali listadas.
Versão para Android

Para realizar estas atividades serão necessários alguns apps


1. Verifique quais provedores de conteúdo já usam IPv6. Isso pode ser feito com consultas DNS como esta:


Algumas sugestões para procura:
  • IFSC
  • UFSC
  • UDesc
  • UOL
  • Epagri
  • Facebook
  • ... e outros à sua escolha !

2. Em um terminal em seu celular (app Termux) use o programa ifconfig para identificar o endereço IPv6 associado a sua interface 'wlan0 (se estiver usando wifi) ou rmnet_data0 (se for 4G).

3. Use o programa ping6, no app Termux, para testar a comunicação com IPv6 entre seu computador e o da Ufsc (www.ufsc.br). Há alguma diferença no resultado, em relação ao ping baseado em IPv4 ?

4. Com o ping6 em execução ative a captura de pacotes com wireshark ou tcpdump. Visualize os pacotes enviados e recebidos pelo ping6 ... identifique os protocolos envolvidos. Qual a diferença em relação ao ping baseado em IPv4 ?

  1. Adicione outro endereço IPv6 ao seu computador. Escolha um endereço formado pelo prefixo AA:BB::/64 e o endereço MAC da sua interface de rede.
  2. Teste novamente com ping6 a comunicação com os computadores de seus colegas.
  3. Assim como no caso de IPv4, existe uma tabela de rotas IPv6 em cada host. Visualize a tabela de rotas IPv6 em seu computador com este comando:
    route -A inet6
    
    ... e procure identificar as subredes ali listadas.