The Cable GuyO protocolo DHCPv6

Joseph Davies

O protocolo DHCP foi criado para cuidar da atribuição de endereços IP e outras informações de rede para os computadores, de modo que eles possam se comunicar na rede automaticamente. Com uma rede IPv6, você não precisa realmente do DHCP para configurar endereços, mas pode haver bons motivos para usá-lo. O DHCP para IPv6 (DHCPv6) pode

fornecer configuração de endereços com monitoração de estado ou configuração sem monitoração de estado para hosts IPv6. Os hosts IPv6 podem usar vários métodos para configurar endereços:

Configuração Automática de Endereço sem Monitoração de Estado é usada para configurar endereços locais vinculados e endereços locais não vinculados adicionais por meio da troca de mensagens de Solicitação de Roteador e Anúncio de Roteador com roteadores vizinhos.

Configuração Automática de Endereço com Monitoração de Estado é usada para configurar endereços locais vinculados usando um protocolo de configuração, como o DHCP.

Um host IPv6 executa a configuração automática de endereço sem monitoração de estado automaticamente e usa um protocolo de configuração, como o DHCPv6, com base nos seguintes sinalizadores na mensagem de Anúncio de Roteador enviada por um roteador vizinho:

Sinalizador de Configuração de Endereço Gerenciado, também conhecido como sinalizador M. Quando definido como 1, esse sinalizador instrui o host a usar um protocolo de configuração para obter endereços com monitoração de estado.

Outro Sinalizador de Configuração com Monitoração de Estado , também conhecido como sinalizador O. Quando definido como 1, esse sinalizador instrui o host a usar um protocolo de configuração para obter outras configurações.

A combinação dos valores dos sinalizadores M e O pode resultar no seguinte:

Os Sinalizadores M e O Estão Definidos como 0. Essa combinação corresponde a uma rede sem uma infra-estrutura DHCPv6. Os hosts usam anúncios de roteadores de endereços locais não vinculados e outros métodos (como a configuração manual) para definir outras configurações.

Os Sinalizadores M e O Estão Definidos como 1. O DHCPv6 é usado para os dois endereços e outras configurações. Essa combinação é conhecida como DHCPv6 com monitoração de estado, em que o DHCPv6 atribui endereços com monitoração de estado a hosts IPv6.

O Sinalizador M Está Definido como 0 e o Sinalizador O Está Definido como 1. O DHCPv6 não é usado para atribuir endereços, apenas para atribuir outras configurações. Os roteadores vizinhos estão configurados para anunciar prefixos de endereços locais não vinculados dos quais os hosts IPv6 derivam endereços sem monitoração de estado. Essa combinação é conhecida como DHCPv6 sem monitoração de estado: o DHCPv6 não atribui endereços com monitoração de estado aos hosts IPv6, mas definições de configuração sem monitoração de estado.

O Sinalizador M Está Definido como 1 e o Sinalizador O Está Definido como 0. Nessa combinação, o DHCPv6 é usado para a configuração de endereços, mas não para outras configurações. Devido ao fato de normalmente os hosts IPv6 precisarem ser configurados com outras definições, como os endereços IPv6 de servidores DNS, essa é uma combinação improvável.

Como o DHCP para IPv4, os componentes de uma infra-estrutura DHCPv6 consistem em clientes DHCPv6 que solicitam configuração, servidores DHCPv6 que fornecem configuração e agentes de retransmissão DHCPv6 que passam as mensagens entre clientes e servidores quando os clientes estão em sub-redes que não possuem um servidor DHCPv6.

Mensagens DHCPv6

Da mesma forma que o DHCP para IPv4, o DHCPv6 usa mensagens do protocolo UDP. Os clientes DHCPv6 escutam mensagens DHCP na porta UDP 546. Os servidores e agentes de retransmissão DHCPv6 escutam mensagens DHCPv6 na porta UDP 547. A estrutura das mensagens DHCPv6 é muito mais simples que no DHCP para IPv4, que tem sua origem no protocolo BOOTP para dar suporte a estações de trabalho sem disco. A Figura 1 mostra a estrutura das mensagens DHCPv6 enviadas entre cliente e servidor.

Figure 1 DHCPv6 messages between client and server

Figure 1** DHCPv6 messages between client and server **(Clique na imagem para aumentar a exibição)

O campo Tipo de Mensagem de um byte indica o tipo de mensagem DHCPv6. O campo ID da Transação de três bytes é determinado por um cliente e usado para agrupar as mensagens de uma troca de mensagens DHCPv6. Seguindo o campo ID da Transação, as opções de DHCPv6 são usadas para indicar a identificação de cliente e servidor, endereços e outras configurações. Para obter a lista de opções de DHCPv6 definidas, consulte RFC 3315, conforme referenciado na barra lateral "Recursos RFC do DHCPv6".

As opções de DHCPv6 são formatadas em TLV (tipo-tamanho-valor). A Figura 2 mostra a estrutura das opções de DHCPv6.

O campo Opção-Código de dois bytes indica uma opção específica. O campo Opção-Comprimento de dois bytes indica o comprimento do campo Opção-Dados em bytes. O campo Opção-Dados contém os dados da opção.

Existe uma estrutura separada para a troca de mensagens entre agentes de retransmissão e servidores, para o registro de informações adicionais. A Figura 3 mostra a estrutura desses tipos de mensagens.

Figure 2 Structure of DHCPv6 options

Figure 2** Structure of DHCPv6 options **(Clique na imagem para aumentar a exibição)

O campo Contagem de Saltos de um byte indica o número de agentes de retransmissão que receberam a mensagem. Um agente de retransmissão receptor poderá descartar a mensagem, se ela exceder uma contagem de saltos máxima configurada. O campo Endereço do Link de 16 bytes contém um endereço local não vinculado que é atribuído a uma interface conectada à sub-rede na qual o cliente está localizado. A partir do campo Endereço do Link, o servidor pode determinar o escopo de endereços correto a partir do qual será atribuído um endereço. O campo Endereço de Mesmo Nível de 16 bytes contém o endereço IPv6 do cliente que enviou a mensagem originalmente ou o agente de retransmissão anterior que retransmitiu a mensagem. Além do campo Endereço de Mesmo Nível estão as opções de DHCPv6 que incluem a opção Mensagem de Retransmissão, que contém a mensagem retransmitida e outras opções. A opção Mensagem de Retransmissão fornece um encapsulamento das mensagens trocadas entre o cliente e o servidor.

Não há endereços de difusão definidos para o IPv6. Portanto, o uso do endereço de difusão limitado para algumas mensagens DHCPv4 foi substituído pelo uso do endereço de Todos_os_servidores_e_Agentes_de_Retransmissão_DHCP FF02::1:2 para DHCPv6. Por exemplo, um cliente DHCPv6 que tenta descobrir o local do servidor DHCPv6 na rede envia uma mensagem Solicit (Solicitação) de seu endereço local vinculado para FF02::1:2. Se houver um servidor DHCPv6 na sub-rede do host, ele receberá a mensagem Solicit e enviará uma resposta apropriada. O mais comum é um agente de retransmissão DHCPv6 na sub-rede do host receber a mensagem Solicit e encaminhá-la para um servidor DHCPv6.

Figure 3 Structure of messages between relay and server

Figure 3** Structure of messages between relay and server **(Clique na imagem para aumentar a exibição)

Troca de mensagens com monitoração de estado

Uma troca de mensagens com monitoração de estado DHCPv6 para obter endereços IPv6 e configurações – quando os sinalizadores M e O em um anúncio de roteador recebido estão definidos como 1 – consiste normalmente nas seguintes mensagens:

  • Uma mensagem Solicit (Solicitação) enviada pelo cliente para localizar os servidores.
  • Uma mensagem Advertise (Anúncio) enviada por um servidor para indicar que ele pode fornecer endereços e configurações.
  • Uma mensagem Request (Solicitação) enviada pelo cliente para solicitar endereços e configurações de um servidor específico.
  • Uma mensagem Reply (Resposta) enviada pelo servidor solicitado que contém endereços e configurações.

Se houver um agente de retransmissão entre o cliente e o servidor, ele enviará as mensagens Relay-Forward (Retransmissão-Encaminhamento) do servidor que contêm as mensagens Solicit e Request do cliente. O servidor envia as mensagens Relay-Reply (Retransmissão-Resposta) do agente de retransmissão que contêm as mensagens Advertise e Reply para o cliente. Para obter uma lista completa das mensagens DHCPv6, consulte a Figura 4.

Figure 4 Mensagens DHCPv6

Mensagem DHCPv6 Description (Descrição) DHCP equivalente à mensagem IPv4
Solicit (Solicitação) Enviada por um cliente para localizar servidores. DHCPDiscover
Advertise (Anúncio) Enviada por um servidor em resposta a uma mensagem Solicit para indicar a disponibilidade. DHCPOffer
Request (Solicitação) Enviada por um cliente para solicitar endereços ou configurações de um determinado servidor. DHCPRequest
Confirm (Confirmação) Enviada por um cliente para todos os servidores para determinar se a configuração de um cliente é válida para o link conectado. DHCPRequest
Renew (Renovação) Enviada por um cliente a um servidor específico para estender a vida útil dos endereços atribuídos e obter configurações atualizadas. DHCPRequest
Rebind (Revincular) Enviada por um cliente a qualquer servidor quando uma resposta à mensagem Renew não é recebida. DHCPRequest
Reply (Resposta) Enviada por um servidor a um cliente específico em resposta a uma mensagem Solicit, Request, Renew, Rebind, Information-Request, Confirm, Release ou Decline. DHCPAck
Release (Liberação) Enviada por um cliente para indicar que o cliente não está mais usando um endereço atribuído. DHCPRelease
Decline (Recusa) Enviada por um cliente a um determinado servidor para indicar que o endereço atribuído já está em uso. DHCPDecline
Reconfigure (Reconfiguração) Enviada por um servidor a um cliente para indicar que o servidor possui configurações novas ou atualizadas. Em seguida, o cliente envia uma mensagem Renew ou Information-Request. N/D
Information-Request (Informação-Solicitação) Enviada por um cliente para solicitar configurações (mas não endereços). DHCPInform
Relay-Forward (Retransmissão-Encaminhamento) Enviada por um agente de retransmissão para encaminhar uma mensagem a um servidor. A Relay-Forward contém uma mensagem de cliente encapsulada como a opção Relay-Message (Retransmissão-Mensagem) do DHCPv6. N/D
Relay-Reply (Retransmissão-Resposta) Enviada por um servidor para enviar uma mensagem a um cliente por meio de um agente de retransmissão. A Relay-Reply contém uma mensagem do servidor encapsulada como a opção Relay-Message (Retransmissão-Mensagem) do DHCPv6. N/D

Troca de mensagens sem monitoração de estado

Uma troca de mensagens sem monitoração de estado DHCPv6 para obter apenas as configurações – quando o sinalizador M está definido como 0 e o sinalizador O está definido como 1 em um anúncio de roteador recebido – consiste normalmente nas seguintes mensagens: uma mensagem Information-Request (Informação-Solicitação) enviada pelo cliente DHCPv6 para solicitar configurações de um servidor e uma mensagem Reply (Resposta) enviada por um servidor que contém as configurações solicitadas.

Para uma rede IPv6 que possui roteadores configurados para atribuir prefixos de endereços sem monitoração de estado a hosts IPv6, a troca DHCPv6 de duas mensagens pode ser usada para atribuir servidores DNS, nomes de domínio DNS e outras configurações que não estão incluídas na mensagem de anúncio de roteador.

Suporte a DHCPv6 no Windows

O Windows Vista™ e a próxima versão do Windows Server®, cujo codinome é "Longhorn", incluem um cliente DHCPv6. O cliente DHCPv6 tenta a configuração baseada em DHCPv6, dependendo dos valores dos sinalizadores M e O nas mensagens de anúncio de roteador recebidas. Portanto, para usar o DHCPv6, é necessário configurar os servidores e agentes de retransmissão DHCPv6 para atender a cada sub-rede IPv6 e, em seguida, configurar seus roteadores IPv6 para definir esses dois sinalizadores com os valores apropriados. Se houver vários roteadores de anúncio para uma determinada sub-rede, eles devem ser configurados para anunciar os mesmos prefixos de endereços sem monitoração de estado e valores dos sinalizadores M e O. Os hosts IPv6 que executam o Windows® XP ou o Windows Server 2003 não incluem um cliente DHCPv6 e, portanto, ignoram os valores dos sinalizadores M e O nos anúncios de roteador recebidos.

Você pode configurar um roteador IPv6 executado no Windows Vista ou no Windows Server "Longhorn" para definir o sinalizador M como 1 em anúncios de roteador com o comando "netsh interface ipv6 set interface InterfaceName managedaddress=enabled". De maneira semelhante, é possível definir o sinalizador O como 1 em anúncios de roteador com o comando "netsh interface ipv6 set interface InterfaceName otherstateful=enabled".

A versão Beta 2 do Windows Server "Longhorn" dá suporte ao agente de retransmissão DHCPv6 e à configuração sem monitoração de estado DHCPv6 com o serviço do servidor DHCP. Você pode configurar o serviço do servidor DHCP para que as opções DHCPv6 sejam distribuídas a todos os clientes DHCPv6 na troca de mensagens DHCPv6 de duas mensagens descrita anteriormente. A Microsoft planeja incluir o suporte à operação com monitoração de estado do DHCPv6, incluindo a capacidade de criar escopos de endereços IPv6 no snap-in do DHCP, na versão Beta 3 do Windows Server "Longhorn".

Recurso RFC do DHCPv6

RFCs selecionados relacionados ao DHCPv6:

Joseph Davies é redator técnico da Microsoft, ensina e escreve sobre assuntos relacionados a sistemas de rede do Windows desde 1992. Ele tem cinco livros publicados pela Microsoft Press e é autor da coluna online mensal da TechNet, The Cable Guy.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..