IER60808: Endereços IPv6
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.
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..
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:
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:
|
Versão para Android |
---|
Para realizar estas atividades serão necessários alguns apps
Algumas sugestões para procura:
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 usando o app Wicap Demo. 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. Assim como no caso de IPv4, existe uma tabela de rotas IPv6 em cada host. Usando o app Termux, visualize a tabela de rotas IPv6 em seu celular com este comando:route -A inet6
|
Versão para iOS |
---|
Para realizar estas atividades serão necessários alguns apps
2. Identifique o endereço IPv6 associado a sua interface wifi ou 4G (LTE). Veja este tutorial. 3. Use o app Ping 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. Assim como no caso de IPv4, existe uma tabela de rotas IPv6 em cada host. Usando o app HE.NET, visualize a tabela de rotas IPv6 em seu celular ... e procure identificar as subredes ali listadas. |
Tipos de Endereços IPV6
O IPV6 possui categorias de endereços, conforme a tabela a seguir:
- Endereços Anycast: Um endereço IPv6 anycast é utilizado para identificar um grupo de interfaces, porém, com a propriedade de que um pacote enviado a um endereço anycast é encaminhado apenas a interface do grupo mais próxima da origem do pacote. Os endereços anycast são atribuídos a partir da faixa de endereços unicast e não há diferenças sintáticas entre eles.
- Endereços Loopback: Endereços aplicados as interfaces loopback dos host; (Verificar com ifconfig)
- Endereços Link local: Podem ser utilizados apenas no enlace específico onde a interface está conectada, sendo assim não é roteável;
- Endereços Unique local address Endereço com grande probabilidade de ser globalmente único, utilizado apenas para comunicações locais, geralmente dentro de um mesmo enlace ou conjunto de enlaces. Um endereço ULA não deve ser roteável na Internet global;
- Endereços Multicast: Endereços multicast são utilizados para identificar grupos de interfaces, sendo que cada interface pode pertencer a mais de um grupo. Os pacotes enviados para esses endereço são entregues a todos as interfaces que compõe o grupo;
- Endereços Global unicast: Equivalente aos endereços públicos IPv4, o endereço global unicast é globalmente roteável e acessível na Internet IPv6.
Endereços Unicast
Link Local pode ser usado apenas no enlace específico onde a interface está conectada, o endereço link local é atribuído automaticamente utilizando o prefixo FE80::/64. Os 64 bits reservados para a identificação da interface são configurados utilizando o formato IEEE EUI-64. Vale ressaltar que os roteadores não devem encaminhar para outros enlaces, pacotes que possuam como origem ou destino um endereço link-local.
O endereço ULA é um endereço com grande probabilidade de ser globalmente único, utilizado apenas para comunicações locais, geralmente dentro de um mesmo enlace ou conjunto de enlaces. Um endereço ULA não deve ser roteável na Internet global. Um endereço ULA, criado utilizando um ID global e alocado pseudo-randomicamente, é composto das seguintes partes: Prefixo: FC00::/7; Flag Local (L); se o valor for 1 (FD) o prefixo é atribuído localmente. Se o valor for 0 (FC), o prefixo deve ser atribuído por uma organização central (ainda a definir); identificador global identificador de 40 bits usado para criar um prefixo globalmente único. Identificador da Interface identificador da interface de 64 bits.
Atualmente, está reservada para atribuição de endereços a faixa 2000::/3 (001), ou seja, 3 primeiros bits utilizados para registros da faixa 2000. Equivalente aos endereços públicos IPv4, o endereço global unicast é globalmente roteável e acessível na Internet IPv6. Ele é constituído por três partes: o prefixo de roteamento global, utilizado para identificar o tamanho do bloco atribuído a uma rede; a identificação da sub-rede, utilizada para identificar um enlace em uma rede; e a identificação da interface, que deve identificar de forma única uma interface dentro de um enlace.Sua estrutura foi projetada para utilizar os 64 bits mais a esquerda para identificação da rede e os 64 bits mais a direita para identificação da interface.
Endereço Multicast
O IPV6 não possui endereço broadcast, e sim multicast. Endereços multicast são utilizados para identificar grupos de interfaces, sendo que cada interface pode pertencer a mais de um grupo. Os pacotes enviados para esses endereço são entregues a todos as interfaces que compõe o grupo. Seu funcionamento é similar ao do broadcast, dado que um único pacote é enviado a vários hosts, diferenciando-se apenas pelo fato de que no broadcast o pacote é enviado a todos os hosts da rede, sem exceção, enquanto que no multicast apenas um grupo de hosts receberá esse pacote.
Cabeçalho IPV6
O cabeçalho IPv6 possui menos informações, quando comparado ao cabeçalho IPv4. Várias informações foram removidas do cabeçalho IPV6, como por exemplo o checksum, considerado uma informação desnecessária uma vez que o controle de erro é atribuído às camadas inferiores. Os campos presentes no cabeçalho IPV6 são definidos a seguir:
- Class of traffic: define a classe de serviço a que o pacote pertence, possibilitando associar diferentes prioridades a pacotes dependendo da exigência de cada aplicação. Com isso, podem-se dar subsídios ao controle da qualidade de serviço (QoS) na rede.
- Flow Label: proposto para identificar datagramas que fazem parte de um mesmo fluxo, o que facilitaria, em tese, o tratamento dado a esses datagramas na rede. Atualmente esse cabeçalho não tem sido usado, e pode ser que em revisões futuras seja mudado seu propósito.
- Payload Length: quantidade de bytes contidos na carga útil transportada pelo datagrama (payload).
- Next Header: informa que há um cabeçalho opcional em seguida.
- Hop: Número máximo de saltos (roteadores intermediários), da origem ao destino do datagrama, que podem ser percorridos antes do datagrama ser descartado. Em outras palavras, quantidade máxima de encaminhamentos permitidos para o datagrama. Tem papel similar ao campo TTL do IPv4.
Atividade
Versão para desktop |
---|
|
Versão para Android |
---|
Para realizar estas atividades serão necessários alguns apps
|