IPv4 vs IPv6: Qual é a diferença e por que é importante
Nos últimos 10 anos, este foi o ano em que o IPv6 se generalizará. Ainda não aconteceu. Consequentemente, há pouco conhecimento generalizado sobre o que é o IPv6, como usá-lo ou por que é inevitável.
O que há de errado com o IPv4?
Usamos o IPv4 desde que o RFC 791 foi publicado em 1981. Na época, os computadores eram grandes, caros e raros. O IPv4 tinha provisão para 4 bilhões de endereços IP, o que parecia um número enorme comparado ao número de computadores.
Infelizmente, os endereços IP não são usados consequentemente. Existem lacunas no endereçamento. Por exemplo, uma empresa pode ter um espaço de endereço de 254 (2^8-2) endereços e usar apenas 25 deles.
Os 229 restantes estão reservados para futuras expansões. Esses endereços não podem ser usados por mais ninguém, devido à forma como as redes encaminham o tráfego. Consequentemente, o que parecia ser um grande número em 1981 é, na verdade, um número pequeno em 2022.
A Força-Tarefa de Engenharia da Internet (IETF) reconheceu esse problema no início da década de 1990 e apresentou duas soluções: Roteadores de domínio de Internet sem classe (CIDR) e endereços IP privados.
Antes da invenção do CIDR, era possível obter um dos três tamanhos de rede: 24 bits (16.777.214 endereços), 20 bits (1.048.574 endereços) e 16 bits (65.534 endereços). Depois que o CIDR foi inventado, foi possível dividir as redes em sub-redes.
Assim, por exemplo, se você precisar de 5 endereços IP, seu ISP fornecerá uma rede com tamanho de 3 bits, o que fornecerá 6 endereços IP. Isso permitiria ao seu ISP usar endereços com mais eficiência.
Endereços IP privados permitem criar uma rede onde cada máquina na rede pode se conectar facilmente a outra máquina na Internet, mas onde é muito difícil para uma máquina na Internet se conectar novamente à sua máquina.
Sua rede é privada e oculta. Sua rede pode ser muito grande, com 16.777.214 endereços, e você pode dividir sua rede privada em redes menores para poder gerenciar seus próprios endereços com facilidade.
Você provavelmente está usando um endereço privado agora. Verifique seu próprio endereço IP: se estiver no intervalo de 10.0.0.0 – 10.255.255.255 ou 172.16.0.0 – 172.31.255.255 ou 192.168.0.0 – 192.168.255.255, então você está usando um endereço IP privado. Estas duas soluções ajudaram a prevenir o desastre, mas foram medidas provisórias e agora chegou a hora do acerto de contas.
Outro problema com o IPv4 é que o cabeçalho IPv4 tinha comprimento variável. Isso era aceitável quando o roteamento era feito por software. Mas agora os roteadores são construídos com hardware e é difícil processar os cabeçalhos de comprimento variável no hardware.
Os grandes roteadores que permitem que os pacotes circulem por todo o mundo estão tendo problemas para lidar com a carga. Claramente, era necessário um novo esquema com cabeçalhos de comprimento fixo.
Ainda assim, outro problema com o IPv4 é que, quando os endereços foram atribuídos, a Internet era uma invenção americana. Os endereços IP para o resto do mundo estão fragmentados. Era necessário um esquema para permitir que os endereços fossem agregados de alguma forma por geografia, para que as tabelas de roteamento pudessem ser reduzidas.
Ainda outro problema com o IPv4, e isto pode parecer surpreendente, é que ele é difícil de configurar e difícil de mudar. Isso pode não ser aparente para você, porque seu roteador cuida de todos esses detalhes para você. Mas os problemas do seu ISP os deixam malucos.
Todos esses problemas foram levados em consideração na próxima versão da Internet.
Recursos IPv6
A IETF revelou a próxima geração de IP em dezembro de 1995. A nova versão foi chamada de IPv6 porque o número 5 foi atribuído a outra coisa por engano.
Alguns dos recursos do IPv6 incluídos.
- Endereços de 128 bits (3,402823669×10³⁸ endereços)
- Um esquema para agregar endereços logicamente
- Cabeçalhos de comprimento fixo
- Um protocolo para configurar e reconfigurar automaticamente sua rede.
Vejamos esses recursos um por um:
Endereços IPv6
A primeira coisa que todos notam sobre o IPv6 é que o número de endereços é enorme. Por que tantos? A resposta é que os designers estavam preocupados com a organização ineficiente dos endereços, por isso há tantos endereços disponíveis que poderíamos alocar de forma ineficiente para atingir outros objetivos.
Portanto, se você deseja construir sua própria rede IPv6, é provável que seu ISP lhe forneça uma rede de 64 bits (1,844674407×10¹⁹ endereços) e permita que você crie sub-redes desse espaço conforme desejar.
Agregação de endereços IPv6
Com tantos endereços para usar, o espaço de endereço pode ser alocado de forma esparsa para rotear pacotes com eficiência. Portanto, seu ISP obtém um espaço de rede de 80 bits. Desses 80 bits, 16 deles são para as sub-redes do ISP e 64 bits são para as redes do cliente. Assim, o ISP pode ter 65.534 redes.
No entanto, essa alocação de endereços não é imutável, e se o ISP quiser redes menores, ele pode fazer isso (embora provavelmente o ISP simplesmente solicite outro espaço de 80 bits).
Os 48 bits superiores são ainda divididos, de modo que os ISPs “próximos” entre si tenham intervalos de endereços de rede semelhantes, para permitir que as redes sejam agregadas nas tabelas de roteamento.
Cabeçalho de comprimento fixo IPv6
Um cabeçalho IPv4 tem comprimento variável. Um cabeçalho IPv6 sempre tem um comprimento fixo de 40 bytes. No IPv4, opções extras faziam com que o cabeçalho aumentasse de tamanho. No IPv6, se forem necessárias informações adicionais, essas informações adicionais são armazenadas em cabeçalhos de extensão, que seguem o cabeçalho IPv6 e geralmente não são processados pelos roteadores, mas sim pelo software no destino.
Um dos campos do cabeçalho IPv6 é o fluxo. Um fluxo é um número de 20 bits criado pseudo-aleatoriamente e facilita o roteamento de pacotes pelos roteadores. Se um pacote tiver um fluxo, o roteador poderá usar esse número de fluxo como um índice em uma tabela, o que é rápido, em vez de uma consulta de tabela, que é lenta. Esse recurso torna o IPv6 muito fácil de rotear.
Configuração automática IPv6
No IPv6, quando uma máquina é inicializada pela primeira vez, ela verifica a rede local para ver se alguma outra máquina está usando seu endereço. Se o endereço não for utilizado, a máquina procurará um roteador IPv6 na rede local.
Se encontrar o roteador, ele solicitará ao roteador um endereço IPv6 para usar. Agora a máquina está configurada e pronta para se comunicar na internet – ela possui um endereço IP próprio e um roteador padrão.
Se o roteador cair, as máquinas da rede detectarão o problema e repetirão o processo de procura de um roteador IPv6 para encontrar o roteador de backup. Na verdade, isso é difícil de fazer no IPv4.
Da mesma forma, se o roteador quiser alterar o esquema de endereçamento em sua rede, ele poderá. As máquinas consultarão o roteador de tempos em tempos e alterarão seus endereços automaticamente. O roteador suportará os endereços antigos e novos até que todas as máquinas tenham mudado para a nova configuração.
A configuração automática do IPv6 não é uma solução completa. Existem outras coisas que uma máquina precisa para usar a Internet de maneira eficaz: servidores de nomes, servidores de horário e talvez um servidor de arquivos.
Portanto existe o dhcp6 que faz a mesma coisa que o dhcp, só que porque a máquina inicializa em um estado roteável, um daemon dhcp pode atender um grande número de redes.
O IPv6 algum dia substituirá o IPv4?
Então, se o IPv6 é muito melhor que o IPv4, por que a adoção não foi mais difundida (em março de 2023, o Google estima que seu tráfego IPv6 seja de cerca de 39-43% do seu tráfego total)?
O problema básico é: o que vem primeiro, a galinha ou o ovo? Alguém que administra um servidor deseja que ele esteja tão amplamente disponível quanto possível, o que significa que ele deve ter um endereço IPv4.
Ele também poderia ter um endereço IPv6, mas poucas pessoas o usariam e você precisa alterar um pouco o seu software para acomodar o IPv6. Além disso, muitos roteadores de rede doméstica não suportam IPv6.
Muitos ISPs não oferecem suporte a IPv6. Perguntei ao meu ISP sobre isso e me disseram que eles o fornecerão quando os clientes solicitarem. Então perguntei quantos clientes haviam solicitado isso. Um, incluindo eu.
Em contraste, todos os principais sistemas operacionais, Windows, OS X e Linux, suportam IPv6 “pronto para uso” e já o fazem há anos. Os sistemas operacionais ainda possuem software que permitirá que os pacotes IPv6 “túnel” dentro do IPv4 até um ponto onde os pacotes IPv6 possam ser removidos do pacote IPv4 circundante e enviados em seu caminho.
Conclusão
O IPv4 tem nos servido bem há muito tempo. O IPv4 tem algumas limitações que apresentarão problemas intransponíveis no futuro próximo.
O IPv6 resolverá esses problemas alterando a estratégia de alocação de endereços, fazendo melhorias para facilitar o roteamento de pacotes e facilitando a configuração de uma máquina quando ela entra pela primeira vez na rede.
No entanto, a aceitação e o uso do IPv6 têm sido lentos, porque a mudança é difícil e cara. A boa notícia é que todos os sistemas operacionais suportam IPv6, portanto, quando você estiver pronto para fazer a mudança, seu computador precisará de pouco esforço para converter para o novo esquema.