Entendendo o IPv6

Entendendo o IPv6
Yuri Matheus
Yuri Matheus

Compartilhe

Uma empresa de hospedagem está enfrentando um problema: o número de endereços IPs disponíveis está acabando. Sem endereços IPs, a empresa não pode ter novos clientes.

Essa empresa possui cerca de 5000 servidores dedicados para os clientes. Cada servidor tem um IP público, por isso ela tem uma faixa de IPs para comportá-los. Por exemplo, uma faixa de 250.127.1.x a 250.127.20.x endereços disponíveis.

Bem, se estamos sem endereços, podemos comprar mais. Porém descobrimos que acabaram os endereços IPv4 disponíveis para a América Latina. E agora, o que podemos fazer para ter novos endereços?

Já era esperado que os endereços IPv4 fossem acabar. Por isso foi criado a nova versão do protocolo, o IPv6.

Entendendo o IPv6

IPv6 nada mais é do que a nova versão dos endereços IP. Ele veio resolver alguns problemas que o IPv4 apresentava, como, por exemplo, o esgotamento de endereços IPv4 disponíveis.

Como o aumento do número de dispositivos conectados a internet, os endereços disponíveis foram chegando ao fim. Algumas técnicas como o NAT atrasaram um pouco a mudança, porém com o crescimento acelerado de dispositivos conectados, os endereços disponíveis foram acabando.

O computador entende bits. Ou seja, tudo que passamos para o computador é traduzido para zeros e um. Com os endereços IPs acontece o mesmo.

No endereço IPv4, por exemplo, 192.168.0.1, temos quatro grupos, ou octetos, nos quais podemos utilizar números para escrever o endereço. Cada octeto é um conjunto de oito bits. Logo, temos 32 bits disponíveis para escrever um endereço. Ou, aproximadamente, 4,2 bilhões de endereços.

Já com o IPv6, temos oito grupos, porém esses grupos não são divididos em oito bits cada, mas em 16 bits, separados por dois pontos (:). Portanto, temos 128 bits disponíveis para escrever nosso endereço. Logo, temos, aproximadamente, 340 undecilhões de endereços. Ou, 3,4 x 10^38 endereços.

Isso significa que temos endereços praticamente inesgotáveis. Por ser um valor muito grande, em vez de utilizar valores decimais, nós representamos os endereços IPv6 com valores hexadecimais. Ou seja, números de 0 a 9 e letras de A a F.

Cada grupo de 16 bits, também chamado de decahexateto, ou duocteto, possui quatro símbolos hexadecimais. Portanto, percebemos que cada símbolo hexadecimal representa 4 bits.

Sabendo disso, podemos escrever um endereço IPv6 dessa forma: 2001:0BAA:0000:0000:0000:24D2:12AB:98BC. Oito grupos, com quatro símbolos hexadecimais separados por dois pontos (:).

"Esse endereço é muito maior que um endereço IPv4, não é complicado lê-lo?"

De fato, os endereços IPv6 são maiores que os endereços IPv4, por isso foram criadas algumas regras de abreviação.

Abreviando o IPv6

Nós podemos omitir os zeros a esquerda quando estamos escrevendo o endereço. Dessa forma, escrevendo novamente o endereço, teremos este resultado 2001:BAA:0:0:0:24D2:12AB:98BC

Já fica um pouco menor, porém conseguimos encurtar mais o endereço. Quando temos uma sequência de blocos com valor zero, conseguimos abreviá-las digitando duas vezes dois pontos (::). Aplicando essa regra, nosso endereço fica assim:

2001:BAA::24D2:12AB:98BC

Contudo, devemos prestar atenção, pois essa regra só pode ser usada uma única vez. Isso porque se tivermos duas vezes essa abreviação, os equipamentos de rede não conseguirão saber a posição precisa de cada grupo.

Por exemplo, vamos imaginar o seguinte endereço:

2001:AB14::1205::35FE

Qual a posição do grupo 1205? Esse endereço pode ficar tanto assim: 2001:AB14:0000:0000:1205:0000:0000:35FE quanto assim: 2001:AB14:0000:0000:0000:1205:0000:35FE. Por isso só podemos utilizar essa abreviação uma única vez.

Outra coisa que muda em relação ao IPv4 é a máscara de rede. No IPv6 utilizamos a notação CIDR para dizer qual parte do endereço pertence a rede e qual parte pertence ao host. Essa notação diz qual parte do endereço pertence a rede e qual pertence ao host.

Dessa forma, deixa de existir máscaras de sub-rede. Já que a identificação da rede está no próprio endereço.

Legal, já sabemos como funciona o endereço IPv6, mas como eu posso configurá-lo?

A configuração do IPv6 é parecida com a do IPv4. Vamos ver sua configuração em um roteador Cisco.

Banner da Escola de DevOps: Matricula-se na escola de DevOps. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

Atribuindo o endereço no roteador

Nos roteadores Cisco, temos que entrar no modo de usuário privilegiado para começar a configurá-lo. Para isso, digitamos enable no terminal:

Agora, precisamos dizer para o roteador que ele será configurado (configure) pelo terminal (terminal):

Alguns roteadores vem com a opção de roteamento IPv6 desabilitada por padrão, logo, temos que habilitar essa opção. Para isso, podemos utilizar o comando: ipv6 unicast-routing.

Unicast é um tipo de transmissão um-para-um. Ou seja, de uma máquina até o roteador e do roteador à máquina, por exemplo.

Legal! Falamos para o roteador que ele pode fazer o roteamento de endereços IPv6… Mas para isso o ele também precisa de um endereço IPv6. Portanto, temos que lhe atribuir um.

Para atribuir um endereço nos roteadores Cisco, primeiro temos que acessar a interface (interface) que receberá o IP, que, no meu caso, é a interface gigabitEthernet 0/0.

Já na interface do roteador, vamos digitar o comando para atribuir um endereço IPv6, portanto, ipv6 address. Agora vamos digitar nosso endereço, no meu caso vou utilizar o endereço 2001:BAA::24D2:12AB:98BC.

Agora, temos que definir a parte do endereço pertence a rede, no meu caso, vou dizer que os primeiros 64 bits pertencem a rede, logo, /64

Dessa forma já atribuímos um endereço IPv6 no router. Agora ele já está pronto para rotear esse tipo de endereço.

Para saber mais

O Nic.br, que é o instituto que aplica mudanças relacionadas a internet no Brasil, recomenda a utilização de um CIDR /64, porém esse número pode ser alterado dependendo da necessidade.

O aumento no número de endereços não é a única mudança do IPv6. Ao contrário do IPv4, o IPv6 não implementa o broadcast. Ao invés disso, ele realiza o multicast. Por isso, alguns protocolos baseados em broadcast, como o ARP, não existem na nova versão.

Alguns protocolos, como o ICMP e o DHCP, receberam novas versões no IPv6, o ICMPv6 e o DHCPv6.

Além dessas, outras mudanças foram feitas. O cabeçalho do protocolo IPv6 tem menos campos que o do IPv4, bem como a segurança do IPv6 foi aumentada.

Contudo, mesmo com essas mudanças, o IPv6 foi feito para ter compatibilidade com todos os protocolos das camadas superiores do modelo OSI.

As tecnologias estão em constante desenvolvimento. Por isso temos sempre que ficar nos atualizando para continuar no mercado.

Aqui na Alura, temos uma formação em infraestrutura de redes. Nela você aprenderá sobre os protocolos de comunicação, equipamentos de redes, como realizar a configuração dos equipamentos, além de ver questões de segurança e aprender a se proteger de possíveis ataques.

Yuri Matheus
Yuri Matheus

Yuri é desenvolvedor e instrutor. É estudante de Sistemas de Informação na FIAP e formado como Técnico em Informática no Senac SP. O seu foco é nas plataformas Java e Python e em outras áreas como Arquitetura de Software e Machine Learning. Yuri também atua como editor de conteúdo no blog da Alura, onde escreve, principalmente, sobre Redes, Docker, Linux, Java e Python.

Veja outros artigos sobre DevOps