domingo, 26 de maio de 2013

Autoconfiguração de Endereços IPv6 (SLAAC)

Olá Pessoal.

Percebi que os artigos sobre IPv6 têm chamado bastante a atenção dos leitores do blog. Por isso, na medida do possível, estarei aumentando a carga de artigos sobre o assunto. Melhor ainda, estou trabalhando na escrita de um livro totalmente dedicado a IPv6 que será lançado no mercado ainda esse ano! Aguardem e por enquanto aproveitem os artigos...

Uma das novidades mais interessantes do IPv6 é a possibilidade de toda uma rede de computadores se autoconfigurar sem a necessidade de utilização de um serviço de DHCP ativo em algum servidor. Essa forma de autoconfiguração é denominada Stateless Address Autoconfiguration, mais conhecida como SLAAC. Esse método não mantém nenhum registro dos endereços atribuídos (stateless) e é automaticamente atribuído nos hosts (autoconfiguration), daí a origem do seu nome.

O processo de autoconfiguração dos endereços em redes baseadas no IPv6 consiste basicamente em duas etapas: (i) configuração do prefixo e (ii) configuração do sufixo de host. A primeira etapa é possível porque os hosts aprendem o prefixo da rede através das mensagens ICMPv6 Tipo 134 (RA) anunciadas pelos roteadores, conforme pode ser observado na figura abaixo. Reparem que no contexto do IPv6 os roteadores ganham evidência por causa dessa funcionalidade, o que valoriza ainda mais o profissional de infraestrutura.
 

Depois de aprendido o prefixo da rede, fica faltando apenas determinar o sufixo que será utilizado nos últimos 64 bits do Host-ID (sufixo de host). O sufixo de host é automaticamente gerado a partir do endereço físico (MAC) da interface de rede. O detalhe é que o MAC tem apenas 48 bits, por isso é aplicada uma função de expansão denominada IEEE EUI-64 (Extended Unique Identifier) no endereço físico que preenche os demais 16 bits através de um algoritmo padronizado, processo que pode ser observado na figura abaixo.


 Então vamos utilizar a figura acima como exemplo para entender o algoritmo da função de expansão EUI-64 que basicamente consiste em 3 etapas. A primeira etapa consiste em pegar o endereço físico de 48 bits e separá-lo em dois blocos iguais de 24 bits. A segunda etapa consiste em adicionar os algarismos hexadecimais FFFE (mais 16 bits) entre os dois blocos, de maneira que o endereço foi expandido para 64 bits. Ainda não acabou, falta a terceira etapa que consiste em inverter o sétimo bit do primeiro byte para 1 (destacado em preto), uma flag indicando que o endereço é administrado localmente. 

Depois de aplicada essa função de expansão, basta anexar o prefixo da rede ao identificador de host e já existe um endereço global unicast automaticamente atribuído à interface, o que permite conexão local e no contexto da Internet! Antes do endereço automaticamente gerado ser efetivamente atribuído à interface é aplicada a funcionalidade de detecção de endereços duplicados do NDP.

Embora as empresas possam optar por atribuir o endereço através de outros mecanismos, o SLAAC será extremamente útil para facilitar o processo de atribuição de endereços na Internet das coisas!
 
Abraço.

Samuel.

8 comentários:

  1. Show essa lab, fiz no packet tracer 6, deu certo, muito bom essa funcionalidade do Protocolo IPV6, é ficou super
    tranquilo de aprender a forma como ele se auto configura, parabéns
    pela explicação, estou na espera seu livro de ipv6.
    abcs.

    ResponderExcluir
  2. Como são feitas as configurações de DNS no caso de SLAAC? Precisa ser colocado na mão pelo administrador?

    ResponderExcluir
    Respostas
    1. Recomendo leitura do link abaixo que traz uma boa discussão desse assunto. Também recomendo a RFC 4472, particularmente da Seção 7.3.

      http://www.internetsociety.org/deploy360/resources/dns-considerations-for-ipv6/

      Excluir
  3. Olá Prof Samuel, comprei o livro sobre IVP6, estou gostando muito.
    Nos labs sobre DHCP, percebi que se eu não executar este comando "ipv6 unicast-routing" o mesmo não configura os endereços e nem mesmo o SLAAC que é nativo funciona. Seria por conta da versão do IOS?

    ResponderExcluir
    Respostas
    1. Esse comando é importante não só para habilitar o roteamento na caixa, mas também para permitir que o roteador envie as mensagens RA (Router Advertisement) na rede local. Sem essa mensagem as máquinas não aprenderiam o endereço do gateway, seja via SLAAC ou DHCPv6.

      Excluir
  4. Parabéns Prof. e Mestre, OTIMA e EXCELENTE explicação, boa didática.

    Sucessos e Muito obrigado.

    ResponderExcluir