Adailton J. S. Silva <adailton@rnp.br> Show
Centro de Engenharia e Opera��es (CEO) Resumo ResumoDesde a publica��o das primeiras RFCs sobre o sucessor do atual protocolo IPv4, muito se tem feito para aperfei�oar algoritmos, desenvolver novos protocolos e novas tecnologias relacionadas ao protocolo da pr�xima gera��o IP, o IPv6. Comparando-se as refer�ncias deste artigo com as que foram publicadas no artigo O que Vai Mudar na Sua Vida com o IPv6, percebe-se que algumas das RFCs, ou quase todas, j� foram atualizadas, principalmente as que s�o a base da arquitetura do protocolo, a RFC 2373 - IP Version 6 Addressing Architecture [1], que substituiu a RFC 1884 de mesmo nome; a RFC 2460 - Internet Protocol, Version 6 (IPv6) Specification [4], que substituiu a RFC 1883; e a RFC 2374 - An IPv6 Aggregatable Global Unicast Address Format [2], que substituiu a RFC 2073. Isso implica em um novo est�gio de matura��o do novo protocolo. Este artigo apresenta uma vis�o atualizada da hierarquia de endere�amento IPv6, incluindo tamb�m o novo modelo de endere�amento do 6Bone e o modelo da distribui��o de endere�os IPv6 de produ��o definido pela IANA, fornecendo no��es b�sicas para o entendimento de como funciona o endere�amento IPv6 e sua atual utiliza��o, tanto no 6Bone quanto em ambientes de produ��o. ^ 1. Conceitos B�sicosA amplia��o de 32 bits do endere�o IPv4 para 128 bits no endere�o IPv6 � uma das mais importantes caracter�sticas do novo protocolo. � um imenso espa�o de endere�amento, com um n�mero dif�cil de ser apresentado (2128), porque s�o milhares de bilh�es de endere�os. O IPv6 acaba ainda com as classes de endere�os e possibilita um m�todo mais simples de auto-configura��o. O endere�o IPv6 � representado atrav�s de tr�s formas diferentes. A nota��o mais usual � x:x:x:x:x:x:x:x, onde os "x" s�o n�meros hexadecimais, ou seja, o endere�o � dividido em oito partes de 16 bits, como no seguinte exemplo: 1080:0:0:0:8:800:200C:417A De todo espa�o de endere�amento IPv6, apenas 15% est� previamente alocado para uso (ver Tabela 1 a seguir), ficando os 85% restantes reservados para o futuro. Como apresentado a seguir, na forma abreviada, as seq��ncias de zeros podem ser substitu�das pela string "::". No entanto, esta substitui��o s� pode ser feita uma �nica vez em cada endere�o. A tabela abaixo mostra alguns exemplos na forma completa e na forma abreviada, como apresentado em [1].
A terceira forma de representa��o, mais conveniente quando em ambientes mistos com nodes IPv4 e IPv6, � da forma x:x:x:x:x:x:d:d:d:d, onde os "x" s�o n�meros hexadecimais (16 bits) e os "d" s�o valores decimais de 8 bits referentes � representa��o padr�o j� bem conhecida do IPv4. Por exemplo: 0:0:0:0:0:0:192.168.20.30 0:0:0:0:0:FFFF:172.17.10.40 ou, na forma abreviada: ::192.168.20.30 ::FFFF:172.17.10.40 Esta forma de nota��o ser� bastante �til durante a migra��o do IPv4 para o IPv6 e na coexist�ncia entre ambos. H� ainda uma outra nota��o importante, a que se refere � representa��o textual dos prefixos e que � similar � nota��o CIDR do IPv4: endere�o/prefixo, ou seja, o prefixo representa a sub-rede a qual o endere�o pertence. Por exemplo, considerando um prefixo de 60 bits sendo 12AB00000000CD3 em hexadecimal, as seguintes representa��es s�o v�lidas: 12AB:0:0:CD3:0:0:0:0/60 12AB::CD3:0:0:0:0/60 12AB:0:0:CD3::/60 Especificamente, o prefixo definido pelos primeiros bits do endere�o indica cada tipo de endere�o IPv6. O campo vari�vel que compreende esses bits � denominado Format Prefix (FP). A aloca��o de todo espa�o de endere�amento, como definida em [1], � apresentada pela seguinte tabela:
Tabela 1 - Aloca��o do Espa�o de Endere�amento Foi tamb�m eliminada a antiga aloca��o de endere�os unicast Geographic-based apresentada pela RFC 1883, referente a uma faixa de endere�os que seriam distribu�dos geograficamente. Os endere�os IPv6 Unspecified, Loopback, e Embedded IPv4, apresentados a seguir, s�o alocados fora do espa�o de endere�amento do prefixo 0000 0000. Tamb�m todos os prefixos de formato (FP) de 001 at� 111, exceto os endere�os Multicast (1111 1111), devem ter identificadores de interface de 64 bits no formato EUI-64. Na arquitetura de endere�amento IPv6, h� 3 tipos de endere�os: Unicast, Multicast e Anycast. Os endere�os do tipo Broadcast foram abolidos da arquitetura, mas essa funcionalidade � provida pelos endere�os Multicast. Endere�os de qualquer tipo podem ser assinalados a uma interface, e uma �nica interface pode compartilhar mais de um endere�o que tamb�m podem ser de qualquer tipo. ^ 1.1 Endere�o UnicastIdentifica uma �nica interface. Um pacote destinado a um endere�o unicast � enviado diretamente para a interface associada ao endere�o. Foram definidos alguns tipos de endere�os unicast, que s�o: Aggregatable Global Unicast Addresses: � o endere�o unicast que ser� globalmente utilizado na Internet. Seu novo formato possui sete campos: o prefixo de 3 bits (001), um identificador TLA (Top-Level Aggregation), um campo RES reservado, um identificador NLA (Next-Level Aggregation), um identificador SLA (Site-Level Aggregation) e o identificador da interface:
Observe que, no formato inicial, a RFC 1883 indicava um NLA de 32 bits. Agora, o NLA foi reduzido para 24 bits, e foi criado um espa�o reservado de 8 bits. O cap�tulo 2 a seguir apresenta detalhes dessa hierarquia de endere�os. Unspecified Address: definido como 0:0:0:0:0:0:0:0 ou "::", indica a aus�ncia de um endere�o e nunca dever� ser utilizado em nenhum node. Um exemplo seria sua utiliza��o como endere�o de origem (source address) de esta��es ainda n�o inicializadas, ou seja, que ainda n�o tenham aprendido seus pr�prios endere�os. Al�m disso, esse tipo de endere�o n�o deve ser utilizado em endere�o destino ou em cabe�alho de roteamento de pacotes IPv6; Loopback Address: representado por 0:0:0:0:0:0:0:1 ou "::1". Pode ser utilizado apenas quando um node envia um datagrama para si mesmo. N�o pode ser associado a nenhuma interface f�sica, nem como endere�o fonte, nem como endere�o destino, mas pode ser imaginado como sendo de uma interface virtual (loopback). N�o deve ser utilizado em endere�o fonte de pacotes enviados. Um pacote IPv6 com endere�o destino da loopback tamb�m n�o deve deixar o node e nunca ser repassado por um roteador IPv6; Embedded IPv4 Addresses: trata-se de um endere�o IPv6 com um IPv4 embutido, tamb�m denominado IPv4-compatible IPv6 Address. � formado anexando-se um prefixo nulo (96 bits zeros) a um endere�o IPv4 como, por exemplo, ::172.16.25.32. Este tipo de endere�o foi inclu�do como mecanismo de transi��o para hosts e roteadores "tunelarem" pacotes IPv6 sobre roteamento IPv4.
NSAP Addresses: endere�o de 121 bits identificado pelo prefixo 0000001, definido pela RFC 1888 - OSI NSAPs and IPv6 como mecanismo de suporte para endere�amento OSI NSAP (Network Service Access Point) em redes IPv6; IPX Address: endere�o de 121 bits identificado pelo prefixo 0000010, inclu�do para prover mecanismo de mapeamento de endere�os IPX em endere�os IPv6. Os endere�os IPX (Internal Packet eXchange) s�o utilizados em redes Netware; Local-Use IPv6 Address: h� dois de endere�os para uso local: link-local e site-local:
^ 1.2 Endere�o AnycastIdentifica um grupo de interfaces de nodes diferentes. Um pacote destinado a um endere�o anycast � enviado para uma das interfaces identificadas pelo endere�o. Especificamente, o pacote � enviado para a interface mais pr�xima de acordo com a medida de dist�ncia do protocolo de roteamento. Os endere�os anycast s�o alocados no mesmo espa�o de endere�amento unicast, utilizando qualquer um dos formatos dos endere�os unicast. Assim, ambos os tipos de endere�os n�o s�o distingu�veis sintaticamente. Quando um endere�o unicast � configurado em mais de uma interface num mesmo node, ele se torna num endere�o anycast e o node deve ser explicitamente configurado para reconhecer este endere�o. Um dos poss�veis uso deste tipo de endere�o seria identificar o grupo de roteadores pertencentes a um provedor Internet. Ou ent�o, identificar um conjunto de roteadores conectados a uma sub-rede, ou ainda identificar os roteadores provendo entrada para um dom�nio de roteamento espec�fico. Na pr�tica, a experi�ncia com endere�os anycast na Internet ainda � muito incipiente e existem algumas complica��es no uso generalizado desse endere�o. Por isso, at� que se adquira mais experi�ncia e as solu��es resolvam tais problemas, as seguintes restri��es s�o impostas:
Foi pr�-definido um formato para os endere�os anycast, denominado subnet-router anycast address, como segue abaixo. O prefixo de sub-rede no endere�o identifica um link espec�fico. Este endere�o anycast � sintaticamente o mesmo endere�o unicast, s� que com os bits do identificador da interface zerados, como mostrado.
Pacotes enviados para um endere�o subnet-router anycast ser�o entregues a um roteador na sub-rede. Todos os roteadores devem suportar endere�os deste tipo para as sub-redes nas quais possuam interfaces. ^ 1.3 Endere�o MulticastIgualmente ao endere�o anycast, este endere�o identifica um grupo de interfaces ou um grupo de nodes, mas um pacote destinado a um endere�o multicast � enviado para todas as interfaces do grupo. Um node pode pertencer a mais de um grupo multicast. As funcionalidades de multicasting foram formalmente incorporadas ao IPv4 em 1988, com a defini��o dos endere�os classe D e do IGMP (Internet Group Management Protocol) e ganhou for�a com o advento do MBone (Multicasting Backbone), mas seu uso ainda n�o � universal. Desta vez, estas funcionalidades foram automaticamente incorporadas ao IPv6. Isto significa que n�o mais ser� necess�rio implementar t�neis MBone, pois todos os hosts e roteadores IPv6 dever�o suportar multicasting nativamente. Os endere�os multicast t�m o seguinte formato:
Ou seja, todo endere�o iniciado por 1111 1111 (ou FF) � um endere�o multicast. O campo flgs tem o formato 000T. T=0, indica um endere�o multicast permanentemente (well-know) alocado. T=1 indica um endere�o tempor�rio. J� o campo scop limita o escopo dos endere�os multicast e assume alguns valores representando endere�os multicast node-local, site-local, link-local, organization-local, global, etc. H� v�rios endere�os multicast j� alocados para algumas aplica��es, outros reservados e algumas faixas ainda n�o alocadas [1]. ^ 2. Hierarquia de Endere�amento IPv6Os endere�os IPv6 unicast foram projetados assumindo que os sistemas de roteamento da Internet repassam pacotes baseado num algoritmo de c�lculo do prefixo mais longo, sem nenhum conhecimento da estrutura interna do endere�o IPv6. O tipo espec�fico de endere�o IPv6 � indicado pelos primeiros bits do endere�o. Como mostrado no se��o anterior, o campo vari�vel que compreende estes bits � denominado Format Prefix (FP) e detalhado em [2]. Dentre os tipos de endere�os unicast apresentados anteriormente, foram apresentados os endere�os Aggregatable Global Unicast Addresses a serem globalmente utilizados na Internet e definidos pelo formato de prefixo (FP = 001) para suportar a agrega��o provider-based, definida inicialmente pela RFC 1884, e um novo tipo de agrega��o denominada como exchange-based. Esta combina��o permitir� uma agrega��o eficiente de rotas, tanto para sites conectados a provedores, quanto para aqueles conectados aos pontos de troca de tr�fego (exchanges). Estes endere�os apresentam a seguinte estrutura:
sendo,
Em termos de topologia, essa estrutura permite uma organiza��o em tr�s n�veis hier�rquicos: p�blica, site e identificador de interface. A topologia p�blica (campos TLA, RES, e NLA) reflete o conjunto de provedores de servi�os Internet, provedores de tr�nsito e pontos de troca de tr�fego. A topologia site (campos SLA) tem abrang�ncia local, uma organiza��o espec�fica que n�o prov� servi�os de tr�nsito para outras organiza��es ou sites. J� o identificador de interface (campos Interface ID), como o pr�prio nome indica, identifica a interface do node. ^ 2.1 Top-Level Aggregation IDOs identificadores TLA s�o o topo da hierarquia de roteamento. Este formato suporta 8.192 (213) identificadores TLA, que podem ser aumentados ou atrav�s do aumento do tamanho do campo TLA, utilizando os bits reservados do campo RES, ou utilizando um prefixo de formato adicional. Os roteadores default-free devem ter uma entrada na tabela de roteamento para cada TLA ID ativo, e podem ter entradas adicionais para otimizar o roteamento de suas topologias espec�ficas. Mas, em todos os n�veis, a topologia de roteamento deve ser projetada para minimizar a quantidade de entradas na tabela de roteamento. Est� sendo produzido um documento espec�fico para o campo TLA. ^ 2.2 Next-Level Aggregation IDOs identificadores NLA s�o utilizados pelas organiza��es que possuam um TLA ID para criar uma estrutura de endere�amento hier�rquica e identificar sites. Cada organiza��o que recebe um TLA ID tem um espa�o de endere�amento de 24 bits de espa�o NLA, ou seja, 16.777.216 (224) de endere�os. O que torna poss�vel dizer que cada organiza��o recebe aproximadamente a mesma quantidade de endere�os que toda atual Internet IPv4 pode suportar. Supondo, ent�o, uma distribui��o plana de todo espa�o NLA, ter�amos uma tabela de rotas com aproximadamente 16 milh�es de entradas. Da� a import�ncia de se hierarquizar o endere�amento para minimizar a tabela de rotas e otimizar o roteamento.
Como mostra o exemplo acima, a organiza��o pode utilizar a parte superior do NLA ID (representada pelo campo NLA1 de "n" bits) de forma a criar num esquema de endere�amento hier�rquico apropriado � topologia de sua rede, e os bits restantes podem ser utilizados para identificar os sites (Site ID). As organiza��es possuidoras de um TLA ID podem suportar NLA IDs no seu pr�prio espa�o Site ID (do exemplo anterior), o que possibilita o provimento de servi�os a outras organiza��es provedoras ou n�o de servi�o p�blico de tr�nsito. Por sua vez, as organiza��es possuidoras de um NLA ID podem usar o espa�o Site ID para suportar outros NLA IDs, como mostrado abaixo: O esquema acima leva a uma distribui��o hier�rquica, onde a responsabilidade para defini��o e aloca��o do espa�o NLA � do possuidor do TLA, a responsabilidade do espa�o NLA1 � do possuidor do NLA, a do NLA2 � do possuidor do NLA1 e assim por diante. Na aloca��o do espa�o NLA, h� uma troca entre a efici�ncia da agrega��o do roteamento e a flexibilidade. Uma estrutura hier�rquica permite uma maior agrega��o de rotas e, por conseguinte, uma menor tabelas de rotas com otimiza��o no roteamento. J� uma estrutura plana de distribui��o de endere�os NLA facilita a aloca��o de endere�os, mas resulta em grandes tabelas de rotas. ^ 2.3 Site-Level Aggregation IDO identificador SLA � utilizado por uma organiza��o individual, que � respons�vel para definir a estrutura de endere�os do espa�o SLA. Dentro deste espa�o, a organiza��o pode criar localmente sua pr�pria estrutura de endere�amento hier�rquica, num procedimento similar �s divis�o em sub-redes do IPv4, s� que com um n�mero muito maior de sub-redes. A exemplo do esquema apresentado no NLA, a organiza��o possuidora do SLA pode decidir utilizar uma estrutura plana, aumentado a tabelas de rotas, ou definir uma estrutura hier�rquica que seria da forma: ^ 2.4 Interface IDOs identificadores de interface (Interface ID), como o pr�prio nome indica, s�o utilizados para identificar interfaces de um enlace espec�fico e devem ser �nicos para esse link. Tamb�m devem ser �nicos num escopo mais abrangente. Em muitos casos, o identificador de interface ser� o endere�o de interface da camada de enlace ou obtido a partir deste. Para os endere�os aggregatable global unicast, os identificadores de interface de 64 bits devem ser constru�dos no formato IEEE EUI-64. Estes identificadores podem ter um escopo global quando formados a partir de registros de escopo global, como � o caso dos endere�os MAC de 48 bits definidos pelo IEEE; ou um escopo local quando n�o existirem tais registros. � o caso das conex�es seriais ponto-a-ponto. Em [1], s�o apresentados os procedimentos para se obter um identificador de interface a partir de um endere�o MAC. Para cada RFC que define o protocolo IPv6 sobre algum enlace espec�fico, como IPv6 sobre Ethernet ou IPv6 sobre FDDI, h� procedimentos para forma��o do Interface ID. ^ 3. Endere�amento no 6BoneCom o prop�sito de utilizar o m�nimo do espa�o de endere�amento de produ��o IPv6, a IANA alocou ao Projeto 6Bone o prefixo TLA 3FFE::/16. Esse endere�o � especificado no RFC 2471 - IPv6 Testing Address Allocation [5]. Sob esse prefixo, o 6Bone criou um formato pr�prio para o particionamento de seu espa�o endere�os. Esse formato � baseado no utilizado em endere�os de produ��o, especificado no RFC 2374 - An IPv6 Aggregatable Global Unicast Address Format [2]. Os prefixos TLA e NLA do formato de produ��o s�o simulados dentro da faixa de endere�os do 6Bone. Eles s�o chamados pseudo Top-Level Aggregation Identifier e pseudo Next-Level Aggregation Identifier, pTLA e pNLA respectivamente. O formato de endere�os utilizado � representado abaixo:
�
O tamanho do campo pTLA ID original permitia ao 6Bone atribuir identificadores para at� 256 backbones. No in�cio de 1999, devido a grande expans�o do 6Bone, decidiu-se aumentar o campo pTLA para que este pudesse acomodar um maior n�mero de redes. H� hoje, ent�o, dois formatos para os campos pTLA e pNLA utilizados no 6BONE. A �nica diferen�a entre esses dois formatos � a quantidade de bits utilizados por cada um desses dois campos. No formato original, o campo pTLA possui 8 bits e o campo pNLA 24 bits, como ilustrado no diagrama acima. A nota��o dos prefixos pTLA fica, ent�o, 3FFE:nn00::/24, onde "nn" representa o campo pTLA. Como exemplo, temos o pTLA 3FFE:2B00::/24, atribu�do a RNP. O novo formato utiliza os primeiros 4 bits do campo pNLA, que diminui para 20 bits, e os acresenta ao campo pTLA, que aumenta para 12 bits. A nova nota��o dos prefixos pTLA fica, ent�o, 3FFE:nnn0::/28, onde "nnn" representa o novo campo pTLA. Para evitar conflitos com os pTLAs j� atribu�dos, o valor "nnn"come�a a partir de 0x800. Um dos exemplos desses novos TLAs � o identificador atribu�do � Nokia, 3FFE:8130::/28. ^ 4. Endere�os IPv6 de Produ��oAtualmente, j� est�o sendo oferecidos endere�os IPv6 de produ��o pelos tr�s Regional Internet Registries (RIR): ARIN, RIPE NCC e APNIC. Uma vers�o modificada da hierarquia de endere�amento est� sendo utilizada nesta primeira fase:
� Inicialmente, foi reservado pela IANA o prefixo TLA 2001::/16 para endere�amento de produ��o. Sob esse prefixo, s�o alocados os identificadores para backbones, utilizando para isso o campo Sub-TLA. O tamanho do prefixo m�nimo alocado � de 35 bits. O processo de aloca��o utiliza um procedimento chamado slow start. Ao se obter um identificador Sub-TLA, os 6 bits seguintes s�o reservados pelo RIR que fez a aloca��o. O RIR s� far� aloca��es subseq�entes desse espa�o reservado quando a organiza��o tiver utilizado pelo menos 80% do espa�o previamente alocado. ^ 5. Recomenda��es e Conclus�oMuitas das compara��es entre os protocolos IPv4 e IPv6 se focam no tamanho dos endere�os permitidos pelos dois (32 versus 128 bits). No entanto, como tem mostrado a experi�ncia com o atual protocolo IPv4, n�o basta simplesmente aumentar a quantidade de endere�os dispon�veis. � necess�rio organizar o espa�o de endere�amento de forma hier�rquica, com o objetivo de prover a maior efici�ncia poss�vel no roteamento. Sem tal preocupa��o, o tamanho das tabelas de rotas da Internet se tornaria t�o elevado, que n�o seria poss�vel a expans�o da rede. Com isso em mente, os projetistas do IPv6 tiveram como uma de suas principais preocupa��es criar um espa�o de endere�amento que permitisse, eficientemente, o particionamento em uma hierarquia global de roteamento. Os endere�os IPv6 de produ��o podem ser obtidos junto aos Regional Internet Registries. No caso do Brasil, o RIR respons�vel pela distribui��o de endere�os � a ARIN ( http://www.arin.net). O tamanho m�nimo dos prefixos alocados � /35, o que torna o processo de aloca��o um tanto burocr�tico e cheio de exig�ncias, uma vez que esse � considerado um bloco grande de endere�os. Atualmente, n�o existem provedores nacionais, sendo invi�vel, portanto, a obten��o de blocos de endere�os de menor escopo. Quanto aos endere�os do 6Bone, podem ser obtidos junto ao Projeto Br6Bone, que � promovido pela RNP. O endere�o Web do projeto � http://www.6bone.rnp.br. ^ 6. Sites Relacionados[6BONE] 6Bone IPv6 Testbed Backbone - http://www.6bone.net [BR6BONE] Br-6Bone Backbone de Testes IPv6 Brasileiro - http://www.6bone.rnp.br [NGTRANS] IETF NGTrans Working Group Charter - http://www.ietf.org/html.charters/ngtrans-charter.html; [IPNG] IETF IPNG Working Group Charter - http://www.ietf.org/html.charters/ipngwg-charter.html ; [IPV6SPEC] Especifica��es IPv6 - http://playground.sun.com/pub/ipng/html/specs/specifications.html;� [IETF] Internet Engineering Task Force http://www.ietf.org; [IETF/RNP] Mirror Oficial IETF no Brasil: http://www.ietf.rnp.br e ftp://ftp.ietf.rnp.br ^ NewsGeneration, um servi�o oferecido pela RNP���Rede�Nacional�de�Ensino�e�Pesquisa Qual é o prefixo IPv6 usado para endereços locais de link?Para endereços locais de link IPv6 (prefixo fe80::/10), o membro sin6_scope_id na estrutura sockaddr_in6 é o número da interface.
O que é IPv6 de link local?O Link-Local é um endereçamento Unicast e podendo ser usado apenas no enlace específico onde a interface está conectada, o endereço link local é atribuído automaticamente utilizando o prefixo FE80::/64. Os 64 bits reservados para a identificação da interface são configurados utilizando o formato IEEE EUI-64.
Como identificar o prefixo em um endereço IPv6?Em endereços IPv6 ela continua sendo escrita do mesmo modo que no IPv4, utilizando a notação CIDR. Esta notação é representada da forma “endereço-IPv6/tamanho do prefixo”, onde “tamanho do prefixo” é um valor decimal que especifica a quantidade de bits contíguos à esquerda do endereço que compreendem o prefixo.
Quais são os prefixos de redes IPv6?4. Arquitetura dos endereços IPv6. |