Uma breve explicação sobre a arquitetura de endereçamento do IPv6
Olá seja bem vindo(a) a esta série de artigos sobre redes, neste artigo falaremos um pouco sobre a arquitetura de endereçamento do IPv6…
Uma breve explicação sobre a arquitetura de endereçamento do IPv6
Olá seja bem vindo(a) a esta série de artigos sobre redes, neste artigo falaremos um pouco sobre a arquitetura de endereçamento do IPv6, bora lá?
Introdução
Para iniciar esse artigo vamos falar de algumas características dos endereços IPv6.
Os endereços IPv6 são endereços de tamanho 4 vezes maior (128 bits) que os endereços IPv4 (32 bits) e são usados como identificadores de interfaces (RFC 4291) para um determinado nó na rede, tenha em mente que uma interface nada mais é que um anexo de um nó atribuído a rede, ou seja uma tecnologia utilizada para que um determinado host possa se comunicar com a camada do protocolo IP e o driver com dispositivo de rede (Exemplo: Interface Ethernet).
Os endereços IPv6 podem ser divididos em 3 categorias são elas:
Unicast -> Endereço atribuído para apenas uma interface simples de um nó na rede.
Anycast -> Endereço atribuído a um conjunto de interfaces pertencendo a diferentes nós, onde um pacote enviado a este endereço será entregue a interface mais próxima de acordo com a distância do roteamento utilizada pelo pacote para trafegar na rede.
Multicast -> Endereço atribuído a um conjunto de interfaces pertencendo também a diferentes interfaces na rede, onde um pacote enviado para este endereço será entregue a todas as interfaces contendo este endereço, como o IPv6 não usa endereço broadcast, o endereço multicast é usado neste caso.
Todas as interfaces devem ter pelo menos um endereço unicast de link-local (que é utilizado somente entre o nós dentro de um mesmo segmento de rede).
Tipos de endereço IPv6
O tipo de endereço IPv6 é identificado pelos bits de mais alta ordem conforme exemplo:

Os endereços anycast pertecem também a toda faixa de endereços unicast globais, portanto não dar para diferenciá-los.
Endereço não especificado (Unspecified Address) -> Representado pelo 0:0:0:0:0:0 ele nunca deve ser usado pois significa a ausência de um endereço IPv6, um exemplo de se seu uso é no campo Source Address do pacote IPv6 que é enviado por um host em modo de inicialização para conhecer seu próprio endereço a algum dispositivo na rede que possa lhe fornecer essa informação.
Endereço Loopback (Loopback Address) -> Representado pelo endereço 0:0:0:0:0:1, ele deve ser utilizado para o host enviar um pacote IPv6 a ele mesmo. Ele nunca deve ser atribuído a qualquer interface física e ele pode ser pensado como um endereço Unicast de escopo de link-local em uma interface virtual para um link imaginário onde não vai para lugar nenhum.
Endereço de Link-Local (Link-Local Address) -> Esses endereços são usados para serem designados para uma simples link de rede, e tem o seguinte formato:

Esse tipo de endereço é designado para links mais simples para propósito de configuração de endereço automática , descoberta de vizinho (neighbor discovery), ou quando nenhum roteador está presente.
Roteadores não devem encaminhar qualquer pacote com esse endereço como origem ou destino para outros links.
Endereços Anycast -> Esse tipo de endereço é utilizado por um conjunto de interfaces pertencendo a diferentes nós na rede, ele tem uma propriedade de que um pacote com destino a esse endereço deve ser entregue a interface “mais próxima” a distância do roteamento utilizado pelo pacote, e tem o seguinte formato:

Onde o termo “subnet prefix” nada mais é que a quantidade de bits que identifica o link específico do endereço de 128 bits (também conhecido como máscara de rede usando a notação CIDR). Pacotes contendo endereços anycast na qual a sub-rede contenha apenas roteadores vão ser entregues para um roteador dentro dessa sub-rede, onde todos os roteadores devem dar suporte a esse tipo de endereço para as sub-redes na qual eles tem interfaces.
Endereços Multicast -> É utilizado para identificar um grupo de interfaces também pertencentes a diferentes nós na rede, uma interface pode pertencer a qualquer número de grupos multicast ( A única diferença para o Anycast é que nesse caso todas as interfaces com esse endereço recebem o pacote), e ele tem o seguinte formato:

Sendo que os 8 primeiros bits desse endereço são definidos com o valor 1, indicando que é um endereço multicast.
O campo ff1 é um conjunto de quatro flags sendo elas:

Onde X e Y podem ser definidos com 0 ou 1, sendo o X utilizado para uso futuro e o Y é utilizado somente em casos onde um RP (rendezvous point) está sendo utilizado na rede.
A flag P = 0 diz que o endereço multicast não é atribuído com base em um prefixo de rede.
A flag P = 1 indica que é um endereço multicast baseado num prefixo de rede.
T = 0 -> Indicando que se trata de um endereço multicast “conhecido” e atribuído pela IANA.
T = 1 -> Indicando que se trata de um endereço multicast de transição ou não permanente.
O campo scop é um campo de 4 bits utilizado para definirmos o escopo do endereço multicast e pode ter os seguintes valores:

O escopo Interface-Local abrange apenas uma única interface em um nó e é útil apenas para transmissão de loopback de multicast.
O escopo multicast Link-Local abrange a mesma região topológica que o escopo unicast correspondente.
O escopo Admin-Local é o menor escopo que deve ser configurado administrativamente, ou seja, não derivado automaticamente de conectividade física ou outro não relacionado a multicast configuração.
O escopo Site-Local destina-se a abranger um único site.
O escopo Organization-Local destina-se a abranger vários sites pertencentes a uma única organização.
Escopos rotulados como “(unassigned)” estão disponíveis para administradores para definir regiões multicast adicionais.
O campo marcado como ff2 é um conjunto de 4 flags conforme imagem abaixo:

Onde os bits “rrrr” são reservados e devem ser todos definidos com o valor 0 e devem ser ignorados pelo receptor.
O campo marcado com a tag rsvd é preenchido com zeros e é deixado para uso futuro.
O campo plen indica o número real de bits no campo network prefix que identificam a sub-rede quando P = 1.
O campo network prefix identifica o prefixo de rede da sub-rede unicast que possui o endereço multicast. Se P = 1, este campo contém o prefixo da rede unicast atribuído ao domínio que possui ou aloca o endereço multicast. Todos os bits não significativos deste campo devem ser preenchidos com zero.
O campo Group ID é uma porção do endereço multicast utilizada como endereço de destino na camada de enlace (RFC 3307).
O Formato EUI-64
Para todo endereço Unicast, os identificadores de Interface devem ter 64 bits de tamanho e serem construídos no formato EUI-64 modificado.
Os identificadores de interface baseados no formato EUI-64 extendido podem ter escopo universal se forem criados utilizando tokens universais como por exemplo , utilizando o endereço MAC de 48 bits, ou podem ter escopo local quando um token global como mencionando antes não está disponível no caso da rede está utilizando links seriais, tunnels end-points ou tokens temporários que são utilizados com intuito de privacidade.
O formato EUI-64 nada mais é que um padrão utilizado para configurar um endereço IPv6 por meio de algum token conforme já foi explicado, neste artigo iremos utilizar um Endereço MAC para criarmos um endereço IPv6 único.
Sendo o endereço MAC 70:3E:E7:FB:14:DB, primeiro convertemos ele para o formato EUI-64, nos seguintes passos:
- Pegamos os 3 primeiros bytes do endereço MAC e depois juntamos com os bytes 0xFF e 0xFE e o resto dos bytes do endereço MAC, ficamos com o seguinte endereço 70:3E:E7:FF:FE:FB:14:DB.
- Agora devemos pegar o primeiro octeto que no nosso caso é o 70 e converter ele para binário (lembrando que o valor 70 está em hexadecimal cuidado!!) e em seguida trocamos o valor do sétimo bit e convertemos novamente para o valor em hexa, ficamos com o seguinte valor :
01110000 (70) -> 01110010 (72)
- Trocamos o valor do primeiro octeto pelo valor com o sétimo bit trocado e teremos o nosso identificador de interface(IID) criado:
72:3E:E7:FF:FE:FB:14:DB
- Agora para completar a criação do nosso endereço IPv6 com escopo de link-local devemos usar o prefixo FE80::/10 juntos eles forma o endereço completo:
FE80::723E:E7FF:FEFB:14DB
Lembrando que a presença do prefixo /64 é um padrão usado para identificar a porção de sub-rede/host de um endereço IPv6 derivado de um IID.
Por razões de seguranças são utilizados novas formas de gerar esse endereço atráves de IID mas com foco de não possibilitar que algum indivíduo consiga saber o número de endereço MAC de um determinado host pois podemos facilmente fazer o processo reverso para encontrá-lo.
Endereços IPv6 são frequentemente criados por um processo de configuração automática e até por utilização de protocolos como o DHCP.
Espero que tenham gostado! ;-)
Referências usadas neste artigo
TCP/IP Illustrated Volume 1 — Second Edition — Kevin R. Fall and W. Richard Stevens — páginas 43 até 46— ISBN 9780321336316
메타데이터
- post_id
- 57d71ceafb9e
- slug
- uma-breve-explicação-sobre-a-arquitetura-de-endereçamento-do-ipv6-57d71ceafb9e
- url
- https://medium.com/@snowden5958/uma-breve-explica%C3%A7%C3%A3o-sobre-a-arquitetura-de-endere%C3%A7amento-do-ipv6-57d71ceafb9e
- canonical_url
- https://medium.com/@snowden5958/uma-breve-explica%C3%A7%C3%A3o-sobre-a-arquitetura-de-endere%C3%A7amento-do-ipv6-57d71ceafb9e
- author_url
- https://medium.com/@snowden5958
- status
- ok
- fetched_at
- 2026-08-11 15:23:59