Compartilhar via


Visão geral do Protocolo de Internet versão 6 (IPv6)

O Protocolo de Internet versão 6 (IPv6) é um conjunto de protocolos padrão para a camada de rede da Internet. O IPv6 foi projetado para resolver muitos dos problemas da versão atual do pacote de Protocolos da Internet (conhecido como IPv4) sobre esgotamento de endereços, segurança, configuração automática, extensibilidade e assim por diante. O IPv6 expande os recursos da Internet para habilitar novos tipos de aplicativos, incluindo aplicativos ponto a ponto e móveis. Veja a seguir os principais problemas do protocolo IPv4 atual:

  • Esgotamento rápido do espaço de endereço.

    Isso levou ao uso de NATs (Tradutores de Endereços de Rede) que mapeiam vários endereços privados para um único endereço IP público. Os principais problemas criados por esse mecanismo são a sobrecarga de processamento e a falta de conectividade de ponta a ponta.

  • Falta de suporte de hierarquia.

    Devido à sua organização de classe predefinida inerente, o IPv4 não tem suporte hierárquico verdadeiro. É impossível estruturar os endereços IP de uma maneira que realmente mapeie a topologia de rede. Essa falha de design crucial cria a necessidade de tabelas de roteamento grandes entregarem pacotes IPv4 para qualquer local na Internet.

  • Configuração de rede complexa.

    Com o IPv4, os endereços devem ser atribuídos estaticamente ou usando um protocolo de configuração, como DHCP. Em uma situação ideal, os hosts não precisariam depender da administração de uma infraestrutura DHCP. Em vez disso, eles seriam capazes de se configurar com base no segmento de rede no qual estão localizados.

  • Falta de autenticação interna e confidencialidade.

    O IPv4 não requer suporte para nenhum mecanismo que forneça autenticação ou criptografia dos dados trocados. Isso muda com o IPv6. A segurança do Protocolo de Internet (IPSec) é um requisito de suporte IPv6.

Um novo conjunto de protocolos deve atender aos seguintes requisitos básicos:

  • Roteamento em larga escala e endereçamento com pouca sobrecarga.
  • Configuração automática para várias situações de conexão.
  • Autenticação interna e confidencialidade.

Endereçamento IPv6

Com o IPv6, os endereços têm 128 bits de comprimento. Um motivo para um espaço de endereço tão grande é subdividir os endereços disponíveis em uma hierarquia de domínios de roteamento que reflitam a topologia da Internet. Outro motivo é mapear os endereços de adaptadores de rede (ou interfaces) que conectam dispositivos à rede. O IPv6 apresenta uma funcionalidade inerente para resolver endereços em seu nível mais baixo, que está no nível da interface de rede e também tem recursos de configuração automática.

Representação de texto

Veja a seguir os três formulários convencionais usados para representar os endereços IPv6 como cadeias de caracteres de texto:

  • Forma hexadecimal com dois pontos:

    Este é o formulário n:n:n:n:n:n:n:npreferencial. Cada n um representa o valor hexadecimal de um dos oito elementos de 16 bits do endereço. Por exemplo: 3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562.

  • Formulário compactado:

    Devido ao comprimento do endereço, é comum ter endereços contendo uma sequência longa de zeros. Para simplificar a gravação desses endereços, use a forma compactada, na qual uma única sequência contígua de 0 blocos é representada por um símbolo de dois-pontos (::). Esse símbolo pode aparecer apenas uma vez em um endereço. Por exemplo, o endereço de multicast FFED:0:0:0:0:BA98:3210:4562 formatado de forma compacta é FFED::BA98:3210:4562. O endereço unicast 3FFE:FFFF:0:0:8:800:20C4:0 em formato compactado é 3FFE:FFFF::8:800:20C4:0. O endereço de loopback 0:0:0:0:0:0:0:1 na forma compactada é ::1. O endereço 0:0:0:0:0:0:0:0 não especificado no formulário compactado é ::.

  • Forma mista:

    Esse formulário combina endereços IPv4 e IPv6. Nesse caso, o formato de endereço é n:n:n:n:n:n:d.d.d.d, onde cada n representa os valores hexadecimais dos seis elementos de endereço de 16 bits de ordem alta do IPv6, e cada d representa o valor decimal de um endereço IPv4.

Tipos de endereços

Os bits principais no endereço definem o tipo de endereço IPv6 específico. O campo de comprimento variável que contém esses bits principais é chamado de FP (Prefixo de Formato).

Um endereço unicast IPv6 é dividido em duas partes. A primeira parte contém o prefixo de endereço e a segunda parte contém o identificador de interface. Uma maneira concisa de expressar uma combinação de endereço/prefixo IPv6 é a seguinte: ipv6-address/prefix-length.

Veja a seguir um exemplo de um endereço com um prefixo de 64 bits.

3FFE:FFFF:0:CD30:0:0:0:0/64.

O prefixo neste exemplo é 3FFE:FFFF:0:CD30. O endereço também pode ser escrito em um formulário compactado, como 3FFE:FFFF:0:CD30::/64.

O IPv6 define os seguintes tipos de endereço:

  • Endereço Unicast:

    Um identificador para uma única interface. Um pacote enviado para esse endereço é entregue à interface identificada. Os endereços unicast são diferenciados dos endereços multicast pelo valor do octeto superior. O octeto superior dos endereços multicast tem o valor hexadecimal FF. Qualquer outro valor para este octeto identifica um endereço unicast. Estes são os diferentes tipos de endereço unicast:

    • Endereços de link local:

      Esses endereços são usados em um único link e têm o seguinte formato: FE80::*InterfaceID*. Endereços de conexões locais são usados entre os nós em um link para a configuração automática de endereços, descoberta de vizinhos ou ainda quando nenhum dos roteadores está presente. Um endereço de link local é usado principalmente na inicialização e quando o sistema ainda não adquiriu endereços de escopo mais amplo.

    • Endereços locais do site:

    Esses endereços são usados em um único site e têm o seguinte formato: FEC0::*SubnetID*:*InterfaceID*. Os endereços locais do site são usados para endereçamento dentro de um site sem a necessidade de um prefixo global.

    • Endereços unicast IPv6 globais:

    Esses endereços podem ser usados na Internet e têm o seguinte formato: *GlobalRoutingPrefix*::*SubnetID*:*InterfaceID*.

  • Endereço Multicast:

    Um identificador para um conjunto de interfaces (normalmente pertencentes a nós diferentes). Um pacote enviado para esse endereço é entregue a todas as interfaces identificadas pelo endereço. Os tipos de endereço multicast substituem os endereços de difusão IPv4.

  • Endereço Anycast:

    Um identificador para um conjunto de interfaces (normalmente pertencentes a nós diferentes). Um pacote enviado para esse endereço é entregue a apenas uma interface identificada pelo endereço. Essa é a interface mais próxima identificada pelas métricas de roteamento. Os endereços Anycast são retirados do espaço de endereço unicast e não são sintaticamente distinguíveis. A interface endereçada executa a distinção entre endereços unicast e anycast em função de sua configuração.

Em geral, um nó sempre tem um endereço de link local. Ele pode ter um endereço local do site e um ou mais endereços globais.

Roteamento IPv6

Um mecanismo de roteamento flexível é um benefício do IPv6. Devido a como as IDs de rede IPv4 foram e são alocadas, grandes tabelas de roteamento precisam ser mantidas pelos roteadores que estão nos backbones da Internet. Esses roteadores devem saber todas as rotas para encaminhar pacotes que potencialmente são direcionados para qualquer nó na Internet. Com sua capacidade de agregar endereços, o IPv6 permite endereçamento flexível e reduz drasticamente o tamanho das tabelas de roteamento. Nesta nova arquitetura de endereçamento, os roteadores intermediários devem acompanhar apenas a parte local de sua rede para encaminhar as mensagens adequadamente.

Descoberta de vizinho

Alguns dos recursos fornecidos pela descoberta de vizinhos são:

  • Descoberta do roteador: Isso permite que os hosts identifiquem roteadores locais.
  • Resolução de endereço: Isso permite que dispositivos resolvam um endereço de camada de enlace para um endereço de próximo salto correspondente (substituindo o Protocolo de Resolução de Endereço [ARP]).
  • Configuração automática de endereço: Isso permite que os hosts configurem endereços locais e globais automaticamente.

A descoberta de vizinhos usa mensagens de Protocolo de Mensagem de Controle de Internet para IPv6 (ICMPv6) que incluem:

  • Anúncio do roteador: Enviado por um roteador em uma base pseudo-periódica ou em resposta a uma solicitação de roteador. Os roteadores IPv6 usam anúncios de roteador para anunciar sua disponibilidade, prefixos de endereço e outros parâmetros.
  • Solicitação do roteador: Enviado por um host para solicitar que os roteadores no link enviem um anúncio de roteador imediatamente.
  • Solicitação de vizinho: Enviado por nós de rede para resolução de endereços, detecção de endereços duplicados ou para verificar se um vizinho ainda é alcançável.
  • Anúncio de vizinho: Enviado por dispositivos para responder a uma solicitação de vizinho ou para notificar os vizinhos sobre uma mudança no endereço da camada de enlace.
  • Redirecionamento: Enviado por roteadores a fim de indicar um melhor endereço de próximo salto para um destino específico para um nó de envio.

Configuração automática do IPv6

Uma meta importante para IPv6 é dar suporte a Plug and Play de nó. Ou seja, deve ser possível conectar um nó a uma rede IPv6 e configurá-lo automaticamente sem nenhuma intervenção humana.

Tipos de configuração automática

O IPv6 dá suporte aos seguintes tipos de configuração automática:

  • Configuração automática com estado:

    Esse tipo de configuração requer um determinado nível de intervenção humana porque precisa de um servidor dhcpv6 (Protocolo de Configuração de Host Dinâmico) para a instalação e administração dos nós. O servidor DHCPv6 mantém uma lista de nós aos quais fornece informações de configuração. Ele também mantém informações de estado para que o servidor saiba por quanto tempo cada endereço está em uso e quando ele pode estar disponível para reatribuição.

  • Configuração automática sem estado:

    Esse tipo de configuração é adequado para pequenas organizações e indivíduos. Nesse caso, cada host determina seus endereços a partir do conteúdo de anúncios de roteador recebidos. Usando o padrão IEEE EUI-64 para definir a parte do ID de rede do endereço, é razoável supor a unicidade do endereço do host na ligação.

Independentemente de como o endereço é determinado, o nó deve verificar se seu endereço potencial é exclusivo para o link local. Isso é feito enviando uma mensagem de solicitação de vizinho para o endereço potencial. Se o nó receber alguma resposta, ele saberá que o endereço já está em uso e deverá determinar outro endereço.

Mobilidade IPv6

A proliferação de dispositivos móveis introduziu um novo requisito: um dispositivo deve ser capaz de alterar arbitrariamente os locais na Internet IPv6 e ainda manter conexões existentes. Para fornecer essa funcionalidade, um endereço residencial é atribuído a um nó móvel, endereço no qual ele sempre pode ser alcançado. Quando o nó móvel está no endereço residencial, ele se conecta ao link residencial e usa seu endereço residencial. Quando o nó móvel está fora de casa, um agente doméstico, que geralmente é um roteador, retransmite mensagens entre o nó móvel e os nós com os quais ele está se comunicando.

Desabilitar ou habilitar o IPv6

Para usar o protocolo IPv6, verifique se você está executando uma versão do sistema operacional que dá suporte ao IPv6 e verifique se o sistema operacional e as classes de rede estão configurados corretamente.

Etapas de configuração

A tabela a seguir lista várias configurações

O IPv6 do sistema operacional está habilitado? IPv6 do código habilitado? Descrição
❌ Não ❌ Não Pode analisar endereços IPv6.
❌ Não ✔️ Sim Pode analisar endereços IPv6.
✔️ Sim ❌ Não Pode analisar endereços IPv6 e resolver endereços IPv6 usando métodos de resolução de nomes não marcados como obsoletos.
✔️ Sim ✔️ Sim Pode analisar e resolver endereços IPv6 usando todos os métodos, incluindo aqueles marcados como obsoletos.

O IPv6 está habilitado por padrão. Para configurar essa opção em uma variável de ambiente, use a variável de ambiente DOTNET_SYSTEM_NET_DISABLEIPV6. Para obter mais informações, consulte variáveis de ambiente do .NET: DOTNET_SYSTEM_NET_DISABLEIPV6.

Consulte também