Home > IPv6 > Idéias sobre o que fazer com um bloco /32 do IPv6 – II

Idéias sobre o que fazer com um bloco /32 do IPv6 – II

Atualizado em: [02/01/2011 10:00]; [05/01/2011 09:58].

Continuação daqui

Estamos falando sobre endereços IPv6. Nada complicado, mas devemos analisar o conjunto. Por isso, iremos falar sobre cada um dos tipos, em particular exibindo a mais extensa referência possível. As principais referências são as RFCs e, conforme falamos rapidamente, é importante garantir que a RFC que está lendo ou estudando seja uma RFC válida e atualizada. Repetindo, o melhor lugar para isso é o RFC Index, [1].

No IANA estão as melhores referências para começar (aqui). Em [2] está a política de alocação do IPv6 pelo mundo afora, através dos RIRs, NIRs e LIRs e, a respectiva descrição do papel de cada um destes atores, em tal alocação. Logo a seguir, podemos ver em [3], a definição do espaço de endereçamento global do IPv6, reproduzido na tabela abaixo:

Prefixo IPv6 Alocação Referência
0000::/8 Reservado pelo IETF [RFC4291]
0200::/7 Reservado pelo IETF [RFC4048]
0400::/6 Reservado pelo IETF [RFC4291]
0800::/5 Reservado pelo IETF [RFC4291]
1000::/4 Reservado pelo IETF [RFC4291]
2000::/3 Unicast Global [RFC4291]
4000::/3 Reservado pelo IETF [RFC4291]
6000::/3 Reservado pelo IETF [RFC4291]
8000::/3 Reservado pelo IETF [RFC4291]
A000::/3 Reservado pelo IETF [RFC4291]
C000::/3 Reservado pelo IETF [RFC4291]
E000::/4 Reservado pelo IETF [RFC4291]
F000::/5 Reservado pelo IETF [RFC4291]
F800::/6 Reservado pelo IETF [RFC4291]
FC00::/7 Unicast Unique Local [RFC4193]
FE00::/9 Reservado pelo IETF [RFC4291]
FE80::/10 Unicast Link Local [RFC4291]
FEC0::/10 Reservado pelo IETF [RFC3879]
FF00::/8 Multicast [RFC4291]

Tabela 1: Espaço de endereçamento IPv6

Por definição, excetuando o prefixo FF00::/8, todo o restante do espaço de endereçamento é Unicast. A tabela acima mostra que somente 3 prefixos foram alocados pelo IANA, além do Multicast: o 2000::/3, o FC00::/7 e o FE80::/10. Há outras exceções importantes:

  • O endereço não especificado (::). o endereço de loopback (::1/128) e o IPv4 encapsulado em IPv6 (0:FFF::/32) estão fora do bloco 0000::/8.
  • O endereço a ser usado em documentos (2001:DB8::/32 ou, 2001:0DB8::/32), que faz parte do bloco 2000::/3, foi reservado, como veremos mais tarde, de um bloco reservado ao ARIN.

Finalmente, não representado, até agora, o tipo de endereçamento anycast. O anycast é um endereço que pertence ao espaço de endereçamento reservado ao unicast e não é sintaticamente distinguível, portanto. Veja isto na RFC4291, item 2.6 (observe aqui, referências a RFCs que se tornaram obsoletas). Voltaremos ao anycast em outra oportunidade.

Uma ferramenta para nos auxiliar a distinguir os tipos de endereços

Conforme já tinha dito, em http://www.braga.eti.br/ipv6/ipv6.php há uma interessante ferramenta para facilitar a identificação de um endereço IPv6. Por exemplo, se colocarmos 2001:DB8::/32, eis o resultado:

Resultados da análise
IPv6 informado: 2001:db8::/32
Prefixo de rede: 2001:db8:0:0:0:0:0:0
Caracterização do endereço:
Tipo: Unicast
Escopo: Documentação. Não roteável
RFCs: 3849
Observações: http://www.iana.org/assignments/ipv6-unicast-address-assignments
Em binário:
00100000 00000001 00001101 10111000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Outro exemplo, se colocamos ::, resulta:

Resultados da análise
IPv6 informado: ::
Prefixo de rede: Máscara não informada
Caracterização do endereço:
Tipo: Unicast
Escopo: Indefinido
RFCs: 4291 (2.5.2)
Observações: Não pode ser atribuido a nenhum nó. Ignorado por um roteador.
Em binário:
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Unicast

Nunca é exagerado, lembrar que:

  • Todo o espaço de endereçamento do IPv6 é do tipo unicast, exceto o endereçamento multicast, definido pelo prefixo de rede FF00::/8.
  • Da alocação 0000::/3, o endereço indefinido :: e o loopbak, ::/128 foram reservados e definidos.
  • Foi reservado o bloco para documentação: 2001:0db8::/32.
  • Conforme mostra a Tabela 1, o IANA alocou, inicialmente, o bloco 2000::/3, para o unicast de escopo global.
  • O endereçamento anycast faz parte da reserva para o unicast e é indistinguível.
  • Duas outras divisões são também unicast: unicast unique local (FC00::/7) e o unicast link local (FE80::/10). Claro, ambas com escopo local e não roteáveis na Internet. É prudente, meditar sobre o significado dos dois blocos.

Sigamos em frente no debate sobre o tipo de endereçamento unicast. A principal referência é a [4]. A última atualização do texto foi feita em 13/05/2008 revelando as alocações feitas aos RIRs, até aquela data. Uma alternativa à pesquisa em tais referências é usar o sítio do IPv6 Completo! para descobrir o escopo (e o tipo, também) de um determinado IPv6. Ou a tabela de alocação por inteiro. Muitas vezes, a indentificação do prefixo nos ajuda muito. Por exemplo, vamos pesquisar o bloco reservado para a documentação (2001:0db8::/32 ou 2001:db8::/32), mudando a máscara para /23. Embora sem sentido prático, a mudança da máscara serve para ilustrar a representação do prefixo de rede. Eis o resultado:

Resultados da análise
IPv6 informado: 2001:0db8::/23
Prefixo de rede: 2001:c00:0:0:0:0:0:0
Caracterização do endereço:
Tipo: Unicast
Escopo: Documentação. Não roteável
RFCs: 3849
Observações: http://www.iana.org/assignments/ipv6-unicast-address-assignments
Em binário:
00100000 00000001 00001101 10111000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Foco no prefixo: 2001:c00:0:0:0:0:0:0. Justifiquemos, olhando os 23 primeiros bits da representação em binário, separada em grupos de 4 bits:

0010 0000 0000 0001 0000 110 => 2001:C... (zeros á esquerda não precisam ser representados)

O prefixo de rede será fundamental para pensarmos da divisão de nosso bloco /32, razão dessa série de artigos. Nossa principal referência, [5], no item 2.5, explica com detalhes a estrutura do unicast.

Afinal, como dividir um bloco /32?

De imediato, a sugestão é usar a criatividade além de seguir as recomendações padrões de divisões do bloco, em particular aquelas vindas do grupo IPv6 do Nic.br. Criativamente, vale lembrar que o prefixo /32 possui 65.536 redes /48, que por sua vez possui outras 65.536 redes /64. Isso significa que temos disponíveis 4.294.967.296 de redes /64. Parece ser suficiente? Por aqui, sim. Então, a próxima recomendação é começar pelas redes /48 mais fáceis de lidar. No prefixo 2001:0DB8::/32, que tal ignorar, por exemplo, a rede 2001:0DB8::/48? Ela trás um pouco de confusão, com o ::/48. A escolha começa pelas redes /48 intuitivas. Bons exemplos são 2001:0DB8:2010:/48 ou 2001:0DB8:2011:/48. Os /64 podem seguir o mesmo raciocínio (exemplo: 2001:0DB8:CA5A:2011::/64). Outras divisões, face aos interesses particulares do “dono” do prefixo principal, não precisam fugir do tema. Assim, sem se esgotar:

Prefixos /48
2001:0DB8:0DB8::/48
2001:0DB8:1111::/48
2001:0DB8:1945::/48
2001:0DB8:1984::/48
2001:0DB8:2000::/48
2001:0DB8:2010::/48
2001:0DB8:2011::/48
2001:0DB8:2012::/48
2001:0DB8:2020::/48
2001:0DB8:2050::/48
2001:0DB8:2222::/48
2001:0DB8:3333::/48
2001:0DB8:4444::/48
2001:0DB8:5555::/48
2001:0DB8:6666::/48
2001:0DB8:7777::/48
2001:0DB8:8888::/48
2001:0DB8:9999::/48
2001:0DB8:AAAA::/48
2001:0DB8:ABAD::/48
2001:0DB8:BABE::/48
2001:0DB8:BBBB::/48
2001:0DB8:CADE::/48
2001:0DB8:CAFE::/48
2001:0DB8:CA5A::/48
2001:0DB8:CCCC::/48
2001:0DB8:DAD0::/48
2001:0DB8:DDDD::/48
2001:0DB8:DEAD::/48
2001:0DB8:EEEE::/48
2001:0DB8:FACA::/48
2001:0DB8:F0CA::/48
2001:0DB8:FEED::/48
2001:0DB8:FFFF::/48

Mas …

Ao atender à sugestão acima, não se pode esquecer da questão de segurança. Os varredores de IPs na Internet encontram um problema no IPv6 que é o seu espaço de endereçamento, inviabilizando as más intenções. A saída que eles dispõem em contraponto ao problema de inviabilidade computacional é fazer a varredura via um dicionário de combinações hexadecimais conhecidas. Por exemplo, DEAD.

Fica aqui o alerta aguardando a próxima abordagem sobre IPv6 nesse blogue, sobre segurança, em IPv6.

Referências

[1] RFC Editor, RFC Index.

[2] IANA, Initial Common Regional Internet Registry IPv6 Address Allocation Policy.

[3] IANA, IPv6 Address Space.

[4] IANA, IPv6 Global Unicast Address Assignments.

[5] Hinden, R., Deering, S., IP Version 6 Addressing Architecture, RFC4291, February 2006.

Categories: IPv6
  1. juliaobraga
    30/03/2011 at 08:51

    Eis uma proposta interessante do Antonio Moreiras em recente mensagem no debate da lista Re: [LAC-TF] com o assunto: Fwd: BCP 157, RFC 6177 on IPv6 Address Assignment to End Sites (veja http://mail.lacnic.net/pipermail/lactf/2011-March/003148.html e, na sequência http://mail.lacnic.net/pipermail/lactf/2011-March/003157.html. Vale a pena acompanhar os argumentos do Moreiras, no debate):


    Penso que implicitamente o documento dá a idéia de que devemos ser conservadores.

    Tenho ouvido de alguns, se não muitos, provedores brasileiros, que estes pretendem entregar /64 para usuários domésticos.

    Não concordo com isso e tento convencê-los do contrário. Não tenho argumentos para defender fortemente o /48 para usuários domésticos e SOHO. Defendo-o como um mínimo para usuários corporativos. Um /64, contudo, para usuários domésticos, me parece absurdamente pouco.

    Incorremos num erro grave com o IPv4, de entregar endereços demais no início. Estamos incorrendo no erro contrário agora, vamos entregar endereços insuficientes e com isso atrapalhar o surgimento de novas tecnologias, e de uma Internet das coisas.

    Normalmente durante os treinamentos que damos, faço algumas comparações numéricas, para ilustrar o tema:
    – com um /32 por AS, temos 65mil usuários (/48). É pouco? Pode-se pedir mais…
    – o LACNIC tem um /12, o que é suficiente para 1 milhão de /32… temos cerca de 2000 ASes na região: poderíamos ter 500 /32 por AS, na média…
    – no /3 reservado para endereços globais, temos 512 /12… hoje temos apenas 5 RIRs… O LACNIC poderia ter uns 100 /12, no lugar de 1 /12…
    – então, com 100 /12, são possíveis 50.000 /32 por AS, ou 3 bilhões de usuários (/48) por AS (considerando os cerca de 2000 da região de LAC)…
    – e se for pouco? estamos falando do /3! depois disso tudo, teriamos ainda 87% do espaço disponível, caso consigamos esgotar esse espaço antes do tempo devido…

    []s
    Moreiras.

  1. 02/01/2011 at 07:02

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: