Introduo ao IPv6 Uso de um bloco Global Unicast para
implantao de uma rede em pilha dupla com o protocolo EIGRP.
INFNET Graduao em Gesto da Tecnologia da Informao Raphael Lindoso Cravo de Arajo Rio de Janeiro 2013 Introduo ao IPv6 Uso de um bloco Global Unicast para implantao de uma rede em pilha dupla com o protocolo EIGRP. Monografia apresentada como exigncia para obteno do grau de Tecnologia em Graduao em Gesto da Tecnologia da Informao da INFNET. Orientador: Prof. Marcos Gomes P. Ferreira Raphael Lindoso Cravo de Arajo Rio de Janeiro 2013 RESUMO Este trabalho tem o objetivo de apresentar uma introduo ao protocolo IPv6, sua importncia para a internet e formas de implantao, alm de apresentar alguns de seus principais recursos. Tambm ser mostrado como utilizar um bloco de endereos IPv6 global unicast em uma organizao composta por vrias redes, ilustrando o cenrio em que operadoras iro ofertar blocos inteiros com endereos vlidos na internet. O trabalho foi desenvolvido atravs de pesquisa e testes com o protocolo de roteamento EIGRP para IPv6 no software GNS3/Dynamips. Tambm sero mostradas simulaes de tcnicas de tunelamento para a interoperabilidade das redes IPv4/IPv6. Todos os recursos apresentados so utilizados apenas com o uso de roteadores CISCO. Palavras-chave: IPv6, EIGRP, Redes ABSTRACT This work aims to provide an introduction to IPv6, its importance to the internet and ways of implementation, and present some of its key features. Also will be shown how to use a block of IPv6 global unicast addresses in an organization composed of several networks, illustrating the scenario in which internet providers will offer whole blocks with valid addresses on the Internet. The work was developed through research and testing with the EIGRP routing protocol for IPv6 in software GNS3/Dynamips. Simulations of tunneling techniques for IPv4/IPv6 interoperability of networks are also Shown. All resources are based only on CISCO routers. Keywords: IPv6, EIGRP, Network LISTADE FIGURAS Figura 1 - Representao binria e decimal de um endereo IPv4 e sua mscara de subrede............................................................................................................................... 11 Figura 2 - Representao de um endereo IPv6........................................................... 12 Figura 3 - As 5 RIRs (Regional Internet Registry) e seus escopos regionais............ 13 Figura 4 - Composio de um endereo IPv6 Global Unicast..................................... 14 Figura 5 - Exemplo de endereo IPv6 Link-Local.......................................................... 16 Figura 6 - Formato de um endereo Unique-Local........................................................ 17 Figura 7 - Exemplo de ferramenta que utiliza algoritmo recomendado pelo IETF para gerar um valor de 40 bits aleatrios................................................................................ 18 Figura 8 - Endereo do tipo multicast que significa "Todos os servidores NTP no mesmo site que a origem"................................................................................................ 19 Figura 9 - Cabealho de um datagrama IPv4, com destaque para os campos que foram movidos ou excludos na verso 6 do protocolo IP............................................ 21 Figura 10 - Cabealho do protocolo IPv6....................................................................... 23 Figura 11 - Posicionamento dos cabealhos de extenso............................................ 25 Figura 12 - Topologia de exemplo criada no GNS3/Dynamips.................................... 28 Figura 13 - Funcionamento do PMTUD.......................................................................... 41 Figura 14 - Tnel IPsec usado na topologia de exemplo.............................................. 43 Figura 15 - Exemplo do uso de tunelamento IPsec....................................................... 45 Figura 16 - Captura de pacote ICMPv6 encapsulado pelo IPsec utilizando o software Wireshark........................................................................................................................... 46 Figura 17 - Comando tracert do Windows, demonstrando que a tcnica de tunelamento IPsec transparente para os hosts.......................................................... 47 Figura 18 - Cenrios possveis durante o perodo de coexistncia do IPv4/IPv6...... 49 Figura 19 - Disposio lgica do tnel GRE na topologia de exemplo....................... 50 Figura 20 - Tnel IPV6IP para comunicao IPv6 atravs da internet IPv4............... 52 Figura 21 - Tnel GRE sobre IPsec................................................................................ 53 Figura 22 - Tnel IPV6IP sobre IPsec............................................................................. 55 LISTADE QUADROS Quadro 1 - Tipos de endereos IPv6 e seus respectivos prefixos de acordo com a RFC4291............................................................................................................................ 13 SUMRIO 1 INTRODUO.................................................................................................................. 7 2 PRECISAMOS REALMENTE MIGRAR PARAO IPV6?.............................................. 9 3 ANATOMIADE UM ENDEREO IPV4 E IPV6........................................................... 11 4 TIPOS DE ENDEREO IPV6....................................................................................... 13 4.1 Endereos Global Unicast...................................................................................... 13 4.2 Endereos Link-Local............................................................................................. 15 4.3 Endereos Unique-Local........................................................................................ 16 4.4 Endereos Multicast................................................................................................ 18 4.5 Endereos Anycast................................................................................................. 20 5 ESTRUTURA DOS CABEALHOS DO IPV4 E IPV6................................................ 21 5.1 Diferenas do cabealho IPv4 em relao ao IPv6............................................. 21 5.2 Cabealho IPv6....................................................................................................... 23 5.3 Cabealhos de extenso........................................................................................ 24 6 CONFIGURAO DO IPV6 NO CISCO IOS.............................................................. 27 6.1 Topologia de exemplo no GNS3/Dynamips.......................................................... 27 6.2 Plano de endereamento e sumarizao de rotas.............................................. 28 6.3 Pilha Dupla e configurao de interface no IOS da CISCO............................... 31 6.4 Escolha do protocolo de roteamento dinmico para IPv6.................................. 32 6.5 Configurao do EIGRP para IPv6........................................................................ 33 6.5.1 Agregao de rotas com EIGRP..................................................................... 34 6.5.2 Configurao e propagao de rota padro.................................................. 36 7 RECURSOS DO ICMPV6............................................................................................. 38 7.1 Neighbor Discovery Protocol.................................................................................. 38 7.1.1 Configurao Stateless.................................................................................... 39 7.2 PMTUD (Path MTU Discovery).............................................................................. 40 7.3 DAD (Duplicate Address Detection)...................................................................... 41 7.4 IPsec......................................................................................................................... 42 8 EXEMPLOS DE TCNICAS DE TRANSIO E COEXISTNCIA COM O CISCO IOS...................................................................................................................................... 48 8.1 GRE Tunnel.............................................................................................................. 50 8.2 IPv6IP....................................................................................................................... 51 8.3 Configuraao do IPsec em tcnicas de tunelamento.......................................... 52 9 CONCLUSO................................................................................................................. 57 REFERNCIAS................................................................................................................. 58 7 1 INTRODUO Em um mundo globalizado, a comunicao um recurso essencial tanto para pessoas como para os negcios e governos. O avano da tecnologia mudou completamente a forma como os negcios acontecem e a forma como as empresas e outras organizaes funcionam. Uma nica empresa pode ter milhares de funcionrios espalhados por centenas de filiais pelo mundo e parceiros de negcio em vrios pontos do globo, atuando como se estivessem prximas. O IPv4 uma das vrias tecnologias necessrias para uma rede funcionar, ela enderea de forma lgica cada n em uma rede, permitindo que diferentes tipos de dados sejam roteados e entregues aos destinatrios corretos. Criado no final da dcada de 70, sua estrutura permite enderear pouco mais de 4 bilhes de dispositivos. Era um absurdo na poca do seu desenvolvimento pensar que esse nmero se esgotaria, pois at ento somente organizaes governamentais e umas poucas universidades privilegiadas teriam a acesso a essa rede.O cenrio bem diferente do que a 30 anos atrs, a rede mundial de computadores e seus recursos se popularizaram, o servio de internet considerado por muitos um servio bsico que todo cidado deveria ter, alm de ser um recurso vital para qualquer organizao. Nossa sociedade hoje totalmente dependente dessa rede, algo inimaginvel quando o IPv4 foi concebido. A princpio, cada dispositivo que acessa a internet necessita de um endereo IP nico, pois com esse endereo possvel identificar a regio e o provedor de servio pelo qual o dispositivo est conectado. Um nico usurio pode possuir diversos dispositivos com recursos de acesso internet, como por exemplo: tablets, celulares, notebooks, desktops e at mesmo geladeiras, carros e televisores. Um nico usurio domstico pode precisar de vrios endereos. Organizaes governamentais, empresas e universidades precisam de muito mais. Quando escalamos as necessidades dos usurios domsticos e as necessidades corporativas e governamentais para um nvel global na atualidade, junto com as perspectivas de crescimento da rede, percebemos que 4 Bilhes de endereos insuficiente. 8 O IANA (Internet Assigned Numbers Authority) o responsvel por coordenar globalmente a distribuio de blocos de endereos, esses blocos so entregues a entidades chamadas RIRs (Regional Internet Register), cada RIR responsvel por uma rea de dimenses continentais composta por vrios pases. As RIRs segmentam os blocos cedidos pelo IANA atravs do acrscimo de bits na mscara de rede (recurso que ser explicado mais a frente) e os distribuem entre provedores de servio. Alguns pases, como o Brasil, possuem uma organizao responsvel por coordenar a distribuio de blocos de endereos em territrio nacional, chamada NIR (National Internet Register). Em Janeiro de 2011 o IANA alocou 2 grandes blocos para a APNIC (RIR responsvel pela regio da sia e Pacfico), e assim, ativou o processo que distribui os ltimos 5 blocos restantes para cada entidade regional. O Processo foi concludo em Fevereiro de 2011, o que significa que hoje, os ltimos endereos IPv4 restantes j esto sob coordenao das entidades regionais de distribuio (RIRs). J no incio da dcada de 90 o problema da exausto do IPv4 foi previsto, e em 1993 o IETF criou uma fora tarefa para trabalhar no IPng (IP Next Generation), em 1994 concluda a primeira especificao sobre o assunto (RFC 1883), e finalmente, em 1998, a especificao final RFC 2460 lanada, com informaes sobre o novo protocolo chamado IPv6, que utilizava uma nova forma de endereamento capaz de suportar 3,4x1034 (340 decilhes ) de hosts, quantidade suficiente para cobrir cada cm da superfcie terrestre com 7 endereos diferentes. A nova estrutura do IPv6 e a distribuio regional mais organizada faz com que as tabelas de roteamento sejam menores. uma tecnologia pensada para ser utilizada globalmente e possui altssima escalabilidade. Entre as principais caractersticas positivas do IPv6 se destacam: endereamento hierrquico, obsolescncia do NAT, mobilidade, criptografia nativa, escalabilidade e administrao simplificada. 9 2 PRECISAMOS REALMENTE MIGRAR PARAO IPV6? No incio da expanso da rede mundial de computadores, os blocos de IPs foram distribudos de maneira desordenada e ineficiente, fazendo com que blocos de endereo gigantescos ficassem sob domnio de poucas empresas. Em uma rpida consulta ao site do IANA possvel ver que muitos blocos /8 foram cedidos a instituies como IBM, MIT, Apple, Xerox, DEC e vrias outras. Os Estados Unidos atualmente possui 5% da populao mundial e 60% dos endereos IPs da internet, enquanto os 40% restantes so divididos entre o resto do mundo. A sia, com mais de 50% da populao mundial, atualmente o maior interessado no IPv6. Na dcada de 80 os endereos IPs utilizavam apenas os primeiros 8 Bits para identificar a rede, limitando a internet (naquela poca conhecida como ARPANET) a 256 redes. Era bem bvio que esse nmero seria insuficiente. Ento, em 1981, a RFC 791 alterou o IPv4 para permitir 3 classes adicionais: Classe A, Classe B e Classe C. IPs classe A utilizavam os primeiros 8 Bits para definir a rede, a classe B utilizava os primeiros 16 bits, e a classe C, 24 bits. Essa forma de endereamento ficou conhecida como rede ip classfull. A rede classfull resolveu o problema temporariamente, uma dcada depois, ficou evidente que ainda sim faltariam endereos, em resposta a esse problema, o IETF (Internet Engineering Task Force) desenvolveu o CIDR (Classles Inter-domain routing - RFC 4632), que usava mscara de sub-rede de tamanho varivel e ajudava a economizar o espao reservado para endereos de rede. Os ISPs (Internet Service Provider) ento podiam dividir um nico endereo classfull em vrias redes classless acrescentando bits para definir a mscara de rede. Alm do CIDR, o NAT (Network Address Translation RFC 1631) foi criado para aproveitar melhor um endereo IP rotevel na internet para vrios hosts dentro de uma mesma organizao. A maioria dos end-sites hoje possui vrios dispositivos que precisam acessar a internet, cada host configurado com um endereo da faixa de IPs privados (no roteveis na internet). Esses hosts podem acessar a internet com a ajuda de um dispositivo de camada 3 (normalmente um roteador) que traduz um endereo IP privado para um endereo IP de internet, assim, no h 10 necessidade de que cada host dentro de um end-site possua um endereo pblico (roteveis na internet). Apesar dessas tcnicas resolverem superficialmente o problema da falta de endereos, existe algumas desvantagens. O NAT por exemplo, aumenta a complexidade e a carga administrativa, dificulta a verificao dos caminhos que os pacotes de dados tomam pela rede, gera carga extra de processamento nos equipamentos e aumenta a latncia na comunicao, atrapalhando comunicaes P2P, VoIP e videoconferncias. 11 Figura 1 - Representao binria e decimal de um endereo IPv4 e sua mscara de subrede. Fonte: Autoria prpria. 3 ANATOMIADE UM ENDEREO IPV4 E IPV6 O endereo IPv6 possui 128bits de extenso contra 32bits do IPv4. Um endereo IPv4 composto por 4 grupos de 8bits cada, separados por . (ponto), escrito em dgitos decimais, cada grupo de 8 bits chamado de octeto. Uma poro do endereo representa a rede, e a outra parte, o endereo do Host. Atravs da mscara de subrede podemos indicar qual a poro referente a rede e qual poro referente ao host. A Figura 1 mostra como esses dados so representados e. Atravs do resultado da operao binria AND (Figura 1) um host sabe se um destinatrio est no mesmo enlace, ou se necessrio enviar os dados para um gateway. J o IPv6 divide o endereo em 8 grupos de 16bits cada, separados por : (dois-pontos) e escrito em notao hexadecimal, no h diferena entre maisculos e minsculos, cada grupo de 16 bits chamado de deca-hexateto ou duocteto, cada duocteto pode ter o valor de 0000 at FFFF. Na Figura 2 podemos ter uma viso geral de um endereo IPv6. 12 Figura 2 - Representao de um endereo IPv6. Fonte: Autoria prpria. Para simplificar a representao textual do endereo, foram definidas algumas regras de nomenclatura na RFC 5952: Zeros esquerda de cada duocteto podem ser omitidos, ento, o endereo 2033:0000:0123:04FD:000A:0000:0000:0C67 pode ser escrito como 2033:0:123:4FD:A:0:0:C67 Pode-se omitir uma sequncia de blocos vazios ao utilizar uma sequncia de dois-pontos (::), assim, o endereo 2033:0:123:4FD:A:0:0:C67 pode ser escrito desta forma: 2033:0:123:4FD:A::C67. Este recurso s pode ser usado uma nica vez no mesmo endereo. 13 Quadro 1 - Tipos de endereos IPv6 e seus respectivos prefixos de acordo com a RFC4291 Tipo de endereo Prefixo Binrio Notao Hexadecimal Unspecified 00...0 (128 bitst) :: Loopback 00...1 (128 bits) ::1 Multicast 11111111 FF00::/8 Link-Local Unicast 1111111010 FE80::/10 Unique-Local 1111110 FC00::/7 Global Unicast Qualquer outro valor Qualquer outro valor Fonte: Autoria prpria. Figura 3 - As 5 RIRs (Regional Internet Registry) e seus escopos regionais. Fonte: (www.arin.net). 4 TIPOS DE ENDEREO IPV6 De acordo com a RFC 4291 seo 2.4, possvel identificar o tipo de endereo pelos bits de ordem mais alta, esses bits so os primeiros valores binrios que compem um endereo. 4.1 Endereos Global Unicast Global Unicast a classificao que se d ao endereo que identifica um host de forma nica na rede mundial de computadores. Com o IPv6 possvel que todos os hosts do planeta possam ser identificados de maneira nica e possuam comunicao fim-a-fim sem ter a necessidade de se utilizar NAT ou IPs de rede privada. 14 Figura 4 - Composio de um endereo IPv6 Global Unicast. Fonte: Autoria prpria. Um endereo IPv6 nico definido a partir de blocos IPv6, com o IANA entregando um bloco /12 para alguma RIR (Figura 6), essa RIR subdivide esse bloco acrescentando mais bits ao prefixo e distribuindo esses blocos entre provedores de servio, que por sua vez, criam "sub-blocos" e os entregam aos clientes finais. Esses clientes finais, dependendo do tamanho do bloco que receberem, geram subredes e endereos nicos globais para seus hosts, conforme explicado mais adiante. A Figura 6 mostra um exemplo de como funciona a cadeia de concesso de blocos IPv6. O IANA entrega um bloco de 12 bits gerado a partir do escopo de endereos global unicast a uma RIR. A RIR cria vrios blocos /32 e os distribui entre as provedoras de servios de telecom existentes dentro de seu escopo regional (ver Figura 5 para escopos regionais). As operadoras agora criam vrios blocos de tamanhos variados para serem distribudos entre os clientes, o tamanho desses blocos pode variar de acordo com as polticas da companhia. Esses blocos sero entregues aos usurios finais. No exemplo da Figura 6,um end-site adquire um bloco /48 atravs desse provedor. Por fim, o administrador da rede tem agora 16 bits para criar at 65536 subredes, e utilizar os outros 64 bits para a identificao de hosts.. O processo descrito acima pode variar quanto a quantidade de bits usada no prefixo que cada entidade recebe. O exemplo foi feito com base na RFC 6177, que 15 possui recomendaes sobre a distribuio de blocos IPv6. Essas recomendaes no so obrigatrias, por isso, cada RIR ou provedor pode adotar polticas de distribuio distintas de acordo com as necessidades regionais. End-sites que necessitem de mais subredes podem negociar com o provedor a aquisio de um bloco com prefixo menor. Alm disso, alguns pases, como o Brasil, possuem uma entidade classificada como NIR (National Internet Registry) que podem atuar logo abaixo da RIR na cadeia de concesso de endereos. Organizaes que possuam um AS (Autonomous System) prpio podem obter seu bloco IPv6 diretamente com as RIRs ou NIRs, com prefixos menores do que os obtidos atravs de provedores de servio, ganhando a possibilidade de criar muito mais subredes. Essas organizaes devem apresentar um plano de uso que justifique a aquisio do bloco. Os primeiros blocos global unicast distribudos pelo IANA possuem prefixo /16, isso aconteceu porque, conforme a RFC 2450 (atualmente obsoleta), uma parte do prefixo era utilizada para codificar informaes adicionais como o TLA ID (Top Level Aggregation) que ocupavam os 13 bits posteriores ao Format Prefix. O TLA ID era uma forma de identificar os principais provedores de servio de dados mundiais. Esses identificadores foram descontinuados na RFC 4147. 4.2 Endereos Link-Local O IPv6 permite que uma nica interface possua vrios endereos configurados. Um endereo autoconfigurado pelo host a partir do prefixo FE80::/64 denominado Link-Local. Segundo a RFC 4291, seo 2.5.6, hosts configurados com Link-local possuem conectividade limitada ao enlace em que se encontram, pois roteadores no devem redirecionar pacotes que contenham essa origem ou destino. Alm de obter conectividade local, esse tipo de endereo auxilia no uso de recursos como o DHCPv6 e o Neighbor Discovery (ver captulo 7.1). O IPv4 tambm possui uma faixa de endereos denominada Link-local, 16 Figura 5 - Exemplo de endereo IPv6 Link-Local Fonte: Autoria prpria. definido na RFC 3927. De acordo com essa RFC, todos os endereos da faixa 169.254/16 correspondem ao Link-local para IPv4. Esse recurso no IPv4 pode ser referenciado com outros nomes de acordo com o sistema operacional, como por exemplo, APIPA(Automatic Private IP Addressing) em sistemas Microsoft e zeroconf para algumas distribuies Linux. Na figura 5 mostrado o formato de um endereo Link-Local IPv6. 4.3 Endereos Unique-Local Os endereos Unique Local (ULA) so equivalentes a faixa de IPs 10.0.0.0/8 127.16.0.0/12 e 192.168.0.0/16 no IPv4, sendo teis caso uma organizao queira criar uma rede interna separada da internet. O prefixo para este tipo de endereo o FC00::/7. Sendo este bloco subdividido em FC00::/8 e FD00::/8, cujo o primeiro est reservado e no teve definio de uso at o presente momento e o segundo corresponde a faixa de endereos para uso em redes privadas. A figura abaixo mostra o formato de um endereo IPv6 unique-local. 17 Figura 6 - Formato de um endereo Unique-Local Fonte: Autoria prpria. O IETF recomenda fortemente que os 40 bits posteriores ao prefixo FD00::/8 sejam gerados aleatoriamente. A RFC 4193 inclusive, na seo 3.2.2, descreve um exemplo de algoritmo que usa a data/hora NTP, mac-address e SHA-1 para gerar um valor aleatrio de 40 bits. Tudo isso para ter a maior chance possvel de gerar um bloco ULA /48 nico. Os prximos 16 bits podem ser usados para criao de subredes da maneira que o administrador da rede achar mais adequado. A princpio, no haveria necessidade de se preocupar com a exclusividade de um bloco ULA, pois estes no so roteveis na internet e se limitam apenas a rede privada. Porm, a recomendao de um endereo privado ser nico tem por objetivo permitir que redes privadas possam ser interconectadas caso haja necessidade. Existem muitos cenrios em que essa preocupao justificada. Por diversos motivos, duas ou mais organizaes diferentes podem necessitar unir as redes atravs de uma VPN ou link privado por exemplo. Para gerar os 40 bits aleatrios recomendados pelo IETF, foi usado uma ferramenta disponvel no site do SixXS em www.sixxs.net/tools/grh/ula/ . 18 Figura 7 - Exemplo de ferramenta que utiliza algoritmo recomendado pelo IETF para gerar um valor de 40 bits aleatrios Fonte: (www.sixxs.net/tools). 4.4 Endereos Multicast Endereos Multicast identificam um grupo de hosts que recebem o mesmo fluxo de pacotes, muito utilizada por protocolos de roteamento e servios como o DHCPv6. Os primeiros 8bits identificam o tipo de endereo como sendo multicast, seguido de 4 bits para o campo flags e mais 4 bits para o campo scope, os 112 bits restantes identificam o grupo destinatrio dos pacotes multicast. A RFC 4291 seo 2.7 descreve o formato de um endereo multicast. 19 Figura 8 - Endereo do tipo multicast que significa "Todos os servidores NTP no mesmo site que a origem". Fonte: Autoria prpria. Os 4 bits referentes ao campo flags (figura 9) serve para acrescentar uma classificao ao tipo de endereo, cada bit possui um valor lgico, o primeiro bit at o presente momento est reservado e seu valor sempre 0, o segundo bit a flag R, o terceiro bit representa a flag P e o quarto bit a flag T. Caso o valor binrio do campo flags seja 0001, ento a flag T est ativa, o que significa que se trata de um endereo multicast temporrio, criado dinamicamente, caso contrrio, se a flag T estiver desativada, um endereo multicast permanente, do grupo dos endereos bem conhecidos. O endereo da figura 9 um endereo bem conhecido, e portanto, o quarto bit do campo flags est desativado. A lista de endereos multicast bem conhecidos pode ser encontrada no site do IANA. Informaes sobre as outras flags podem ser encontradas na RFC 3306 (flag P) e RFC 3956 (flag R). O prximo campo chamado de scope, e define o alcance dos pacotes com destino multicast. Como um campo de 4 bits, ele permite at 16 valores. 13 deles j esto definidos: Interface-Local Scope (1), Link-Local Scope (2), Admin-Local Scope (4), Site-Local Scope (5), Organization-Local Scope (8), Global Scope (E). Os valores 6, 7, 9, A, B, C e D podem ser usados por administradores para definir regies multicast adicionais. Os valores 0, 3 e F esto reservados para uso futuro. Os bits relacionados ao scope do endereo FF05::0101 possui o valor hexadecimal 5, ou seja, o escopo deste endereo o site-local. O ID de grupo possui o valor 101, de acordo com os registros no site do IANA, este um 20 identificador para servidores NTP. Com estas informaes possvel traduzir esse endereo multicast verbalmente como Todos os servidores NTP no mesmo site que a origem (RFC 4291). No IPv6 no h endereos broadcast como havia no IPv4. A funo do broadcast passou para o endereo multicast FF02::1 (todos os ns no enlace local). Alm dos tipos citados acima, tambm existe o multicast solicited-node, que usado para o recurso de Neighbor Discovery. O Multicast solicited-node escrito como FF02::1:FFXX:XXXX, onde XX:XXXX correspondem aos ltimos 24 bits de um endereo unicast. Recursos do Neighbor Discovery so explicados no captulo 7. 4.5 Endereos Anycast O Anycast uma das novidades do IPv6 em relao ao IPv4. O objetivo semelhante ao multicast, porm apenas o host mais prximo do grupo anycast, em termos de distncia de roteamento, receber o anycast. um bom recurso para redundncia de alguns servios de TI, pois caso um n do grupo anycast apresente perda de comunicao, haver outros para responder a uma solicitao sem haver necessidade de apontar um n backup manualmente. O formato desses endereos igual ao unicast, se um mesmo endereo unicast for configurado em 2 ou mais hosts esse endereo se torna anycast. So necessrias configuraes adicionais nos hosts do grupo anycast. Por exemplo, em roteadores CISCO, basta adicionar o parmetro anycast ao final da linha de comando utilizada para atribuir um endereo IPv6. Mais informaes sobre este tipo de endereo podem ser encontradas na RFC 4786. 21 Figura 9 - Cabealho de um datagrama IPv4, com destaque para os campos que foram movidos ou excludos na verso 6 do protocolo IP. Fonte: Autoria prpria. 5 ESTRUTURA DOS CABEALHOS DO IPV4 E IPV6 O cabealho IPv6 foi simplificado em relao ao IPv4, alguns campos foram removidos e outros foram inseridos em cabealhos de extenso. O IPv4 possui um cabealho de tamanho varivel que vai de 20 a 60 bytes, enquanto o IPv6 possui um tamanho fixo em 40 bytes. Todas essas mudanas foram feitas com o objetivo de otimizar o processamento de pacotes por equipamentos de rede e adaptar o protocolo a novas tecnologias. 5.1 Diferenas do cabealho IPv4 em relao ao IPv6. O cabealho IPv4 possui muitos campos com diversas finalidades. Estes contm valores que os ns que atuam na camada 3 da rede usam como referncia para saber como tratar o pacote. No IPv6 alguns desses campos foram alterados ou excludos com o objetivo de tornar o cabealho mais simples e eficiente, estes campos esto destacados na Figura 9 na pgina seguinte. 22 IHL (Internet Header Length) Este campo informa o tamanho do cabealho IPv4. O valor definido em palavras de 32 bits, ou seja, o valor binrio 0001 representa 32 bits (4 bytes), o valor 0010 representa 64 bits (8 bytes) e assim por diante. A valor mximo do cabealho IPv4 limitado a 60 bytes no mximo, e o mnimo a 20 bytes. Caso o cabealho tenha mais de 20 bytes, significa que h campos opcionais aps o campo Destination Address. Este campo foi removido no IPv6 devido ao fato do novo protocolo possuir cabealho de tamanho fixo. Identification Este campo utilizado para identificar datagramas fragmentados que pertencem ao mesmo datagrama original. A fragmentao de datagramas ocorre quando a comunicao atravessa vrias redes, e essas redes possuem valores de MTU (Maximum Transmission Unit) distintas. Vrios fragmentos com o mesmo valor de Identification pertencem ao mesmo datagrama. Essa funo no IPv6 foi atribuda ao cabealho de extenso Fragmentation. Flags O Campo flags possui 3 bits de sinalizao, indicando se um pacote pode ou no ser fragmentado. O primeiro bit est reservado e seu valor sempre 0. O segundo bit, quando possui o valor 1, indica que a opo DF (Dont Fragment) est ativa. Quando um pacote chega a um roteador com o bit DF ativado, ele no pode fragmentar este pacote em nenhuma hiptese. Fragment Offset Este campo serve para que o n de destino possa reordenar datagramas fragmentados que cheguem pela rede. Fragmentos podem chegar fora de sequncia ao n de destino, seja por questes de processamento ou caminhos diferentes que esses fragmentos possam vir a percorrer pela rede. Assim como o campo flags, a funo do Fragment Offset foi atribuda ao cabealho de extenso Fragmentation. Total Length O tamanho total do datagrama (cabealho + payload) informado neste campo. O valor representa o nmero de octetos no pacote, como temos 16 bits para esse campo, podemos ter no mximo 65.535 bytes, valor que vai muito alm da MTU para a maioria das redes atuais. Para saber o tamanho do payload do datagrama, basta subtrair do Total Lenght o valor do campo IHL. 23 Figura 10 - Cabealho do protocolo IPv6. Fonte: Autoria prpria. Header Checksum O IPv6 no mais faz clculos de CRC (Cyclical Redundancy Checksum). Essa funo foi removida devido ao fato de vrios protocolos de camadas superiores j terem mecanismos de verificao de integridade dos dados e deteco de erros. 5.2 Cabealho IPv6 Como foi dito anteriormente, o cabealho do IPv6 sofreu vrias alteraes com o objetivo de se tornar mais simples. A seguir so listados os campos do IPv6 e suas funes. A figura 10 mostra uma viso geral e a disposio dos campos no cabealho IPv6. Verso Identifica a verso do protocolo. No IPv6, possui sempre o valor decimal 6 Traffic Class Prov as mesmas definies e valores dos campos DSCP e ECN, servindo para diferenciar classes de trfego, e consequentemente, diferente nveis de servio, provendo assim, QoS (Quality of Service). Flow Label O campo Flow Label uma novidade do IPv6, serve para 24 identificar datagramas entre uma origem e um destino que pertenam ao mesmo fluxo de comunicao, e portanto, devam ser tratado da mesma maneira pelos ns na rede. A utilizao deste campo ainda experimental e podem aparecer novas tcnicas ou usos relacionados para ele com o tempo. Muitos equipamentos ainda no suportam o Flow Label, e, segundo a RFC 2460 Seo 6, esses equipamentos devem usar o valor 0 para este campo quando originarem datagramas IPv6, ou deixar o campo inalterado caso estejam executando encaminhamento. Payload Lenght Informa o tamanho do Payload (todas as informaes logo aps o cabealho padro). Ao contrrio do campo Total Lenght do IPv4, o Payload Lenght no conta os bytes referente ao cabealho padro, mas sim os bytes referentes aos cabealhos de extenso e payload. Next Header Informa qual o prximo cabealho logo aps o cabealho padro do IPv6. Utiliza os mesmos valores do campo Protocol no IPv4. Esses valores atualmente so controlados pelo IANA. No exemplo da figura 10, o valor do Next Header 56, o que indica que o prximo cabealho corresponde ao ICMPv6. Hop Limit Funciona de forma semelhante ao campo TTL (Time to Live) do IPv4. O Hop Limit possui o limite de saltos que um pacote pode dar at chegar ao destino. Cada vez que um pacote passa por um roteador, esse nmero diminudo em 1 unidade, ao atingir o valor 0, o pacote descartado. Source Address Endereo de origem do datagrama. Destination Address Endereo de destino do datagrama. 5.3 Cabealhos de extenso Enquanto no IPv4 as opes adicionais eram colocadas logo aps o endereo de destino, resultando assim, em um cabealho de tamanho varivel, no IPv6 as opes adicionais foram colocadas em cabealhos adicionais (RFC 6564) 25 Figura 11 - Posicionamento dos cabealhos de extenso Fonte: Autoria prpria. localizados entre o cabealho padro e o cabealho da camada seguinte. Esses headers adicionais so identificados pelo campo Next Header do cabealho padro. Um datagrama IPv6 pode possuir vrios cabealhos de extenso organizados em cadeia, conforme a figura abaixo: Estes cabealhos adicionais devem ser empilhados seguindo uma ordem pr-definida, fazendo com que informaes que so importantes para os ns que esto entre a origem e o destino final venham primeiro, e informaes relevantes somente para o destinatrio final, venham por ltimo. Essa organizao ajuda a otimizar o desempenho em ns intermedirios na rede, uma vez que esse n pode parar de processar os cabealhos ao encontrar um cabealho de extenso destinado ao n final. Atualmente existem 6 cabealhos de extenso definidos e que devem ser organizados na seguinte sequncia: Hop-by-Hop Options: carrega informaes que devem ser lidas por todos os ns intermedirios entre a origem e o destino final. Sua nica aplicao at o recente momento para o suporte a Jumbogramas (RFC 2675). Routing: O campo routing pode listar ns que devem ser visitados antes de se chegar ao n destino. Este cabealho, caso exista, lida por ns intermedirios como roteadores. Tambm utilizada para dar suporte ao recurso de mobilidade do IPv6. 26 Fragmentation Carrega informaes sobre fragmentao, cumprindo o papel que antes era dos campos do IPv4 relativos a fragmentao de pacotes. Authentication Header: Usado pelo IPsec para prover autenticao e integridade dos dados. Encapsulating Security Payload Utilizado pelo IPsec para prover integridade e confidencialidade dos pacotes atravs de criptografia. 27 6 CONFIGURAO DO IPV6 NO CISCO IOS Conforme dito anteriormente, provedores de servio que trabalhem com IPv6 iro negociar blocos de endereos com seus clientes que variam de acordo com as necessidades do end-site. Com o IPv6 necessrio saber apenas quantas subredes a organizao vai precisar, e a partir desta informao, definir qual o tamanho do bloco que ser necessrio negociar com o provedor. A quantidade de hosts por subrede irrelevante quando se trata de IPv6, a recomendao do IETF de deixar 64 bits para o ID de interface supre as necessidades de qualquer rede atual e futura. Antes de definir um plano de endereamento, ser observada a topologia da rede em que o IPv6 ser implementado. 6.1 Topologia de exemplo no GNS3/Dynamips O GNS3/Dynamips um software open-source que pode ser usado para simular redes e protocolos da camada 3. Esse software foi usado para montar uma topologia de exemplo e extrair informaes e evidncias a respeito do tema deste trabalho. O laboratrio foi feito utilizando o IOS 12.4 Advanced Enterprise Services. A rede montada composta por 3 regies, sendo que cada regio contm mais de uma localidade, com cada localidade possuindo at 8 vlans. Os sites esto conectados atravs de links privados, com exceo dos sites RJ3, conectado via internet IPv4, e o site RJ2, conectado via internet IPv6. 28 Figura 12 - Topologia de exemplo criada no GNS3/Dynamips. Fonte: Autoria prpria. Essa topologia foi criada com o objetivo de mostrar alguns recursos do IPv6 e do protocolo de roteamento EIGRP para IPv6. A diviso da rede em regies e sites permite uma melhor demonstrao do uso de agregao de rotas. A topologia da figura 11 sempre referenciada neste trabalho como Topologia de exemplo. 6.2 Plano de endereamento e sumarizao de rotas. Durante o design e planejamento lgico da rede IPv6, necessrio se levar em considerao como calculado uma rota sumarizada e tentar criar subredes de forma que a tabela de roteamento no precise ter uma entrada para cada rede existente na topologia. A maneira mais simples de se fazer isso dividir o bloco IPv6 recebido do provedor em blocos menores, e a partir desses blocos, criar subredes e distribuir de maneira organizada de acordo com a topologia. Na topologia de exemplo ser usado o bloco global unicast 2804:14C:130:A000::/52. Como necessrio deixar 64 bits para o ID de interface, restam 12 bits para serem criadas subredes. Com estes 12 bits a rede ser dividida 29 Figura 12 - Subdiviso de um bloco IPv6 /52 Fonte: Autoria prpria. de maneira hierrquica. Observando novamente a topologia criada no GNS3/Dynamips, chega-se concluso que a rede pode ser subdividida em 3 grandes reas, sendo assim, sero criados 3 subredes IPv6 a partir do bloco /52. A princpio, poderia ser utilizado 2 bits para identificar essas regies, porm, para haver escalabilidade em um possvel crescimento da rede (expanso para novas regies), sero usados 4 bits, permitindo a criao de at 12 subredes regionais e suportando a expanso da rede sem alterar o plano de endereamento. Sendo assim, cada regio possui agora um bloco 2804:14C:130:AX00::/56, onde X corresponde ao primeiro nvel da subrede e na topologia de exemplo, identifica uma regio. Cada bloco /56 deve ser agora subdividido em blocos menores para cada site. Sero ento usados mais 4 bits para cada site, gerando blocos /60 por site. Por fim, restam agora 4 bits para enderear vlans. Conforme esquema da figura 12. O tamanho do bloco a ser negociado com o provedor varia e cada rede pode ter necessidades diferentes, o bloco mostrado na figura 12 seria o ideal para a topologia de exemplo. No se sabe ainda at que ponto os provedores e RIRs sero flexveis na hora de conceder blocos IPv6. Existem discusses entre o IETF, RIRs e provedores entre qual seria o tamanho ideal para cada tipo e tamanho de negcio. O IETF por exemplo, atravs da RFC 6177, defende o uso de blocos /48 para a maioria das organizaes de mdio a grande porte, porm essas recomendaes no so obrigatrias. Na pgina seguinte mostrado como ficou o plano de endereamento para a topologia de exemplo, de acordo com o formato definido na figura 13. 30 Figura 13 - Plano de endereamento para topologia de exemplo Fonte: Autoria prpria. 31 6.3 Pilha Dupla e configurao de interface no IOS da CISCO A pilha dupla, ou dual-stack, uma tcnica criada para ser utilizada durante o perodo de transio IPv4/IPv6, seu funcionamento simples, o objetivo colocar os dois protocolos rodando na mesma rede. Na maioria dos sistemas operacionais e equipamentos de rede mais novos, possvel configurar os 2 protocolos na interface de rede. Porm, deve-se levar em considerao que grande parte dos recursos de infraestrutura que atuam na camada 3 devem ser replicados para o IPv6, isso inclui firewalls, listas de acesso, protocolos de roteamento, gateways, DNS, DHCPv6 e etc. Aplicaes tambm devem ser adaptadas para poderem usar o protocolo IPv6. A vantagem de se usar uma rede em pilha dupla a flexibilidade da rede que permite que aplicaes que ainda no esto disponveis em IPv6, possam ser usadas pela rede IPv4, alm de ser uma tcnica que pode ser implantada aos poucos, site por site, permitindo que os desenvolvedores adaptem as aplicaes corporativas ao novo protocolo sem urgncia. Alm disso, a organizao j estar pronta para quando o protocolo IPv6 estiver popularizado e implantado em larga escala pela internet. Possuir uma rede em pilha dupla tambm tem suas desvantagens, pois so necessrios manter recursos de infraestrutura para os dois protocolos. Mesmo que os equipamentos da infraestrutura estejam atualizados e no seja necessrio dobrar a estrutura fsica, alguns recursos lgicos como firewalls para IPv6 devem ser implementados, e mesmo que o firewall seja dual-stack, so necessrios criar novas polticas e regras de acesso para IPv6. Isso significa que a topologia lgica da rede ser dobrada, aumentando a complexidade administrativa e a superfcie de ataque. Os comandos abaixo so usados para configurar o suporte dual-stack na sub-interface do roteador RJ0 referente a vlan 2: RJ0> enable RJ0# configure terminal RJ0(config)# interface fastethernet 0/0.2 32 RJ0(config-if)# encapsulation dot1Q 2 RJ0(config-if)# ipv6 enable RJ0(config-if)# ip address 10.16.2.1 255.255.255.0 RJ0(config-if)# IPv6 address 2804:14C:130:A002::1/64 Como possvel ver na tabela de comandos acima, no so necessrios comandos especficos para o recurso de pilha dupla. Basta que a interface tenha os dois tipos de endereos configurados e o comando IPv6 enable. 6.4 Escolha do protocolo de roteamento dinmico para IPv6. O roteamento dinmico mais um recurso lgico da infraestrutura IPv4 que necessita ser duplicado em caso de se implantar o IPv6. Uma rede em pilha dupla necessita que seus equipamentos tenham pelo menos dois protocolos de roteamento habilitados, um para IPv4 e outro para o IPv6. Os protocolos de roteamento para IPv6 so verses modificadas e atualizadas de protocolos para IPv4, como por exemplo: RIPng, OSPFv3, EIGRP e outros. Nem todos os equipamentos CISCO suportam todos os protocolos, nem mesmo o EIGRP para IPv6 (protocolo proprietrio da CISCO) garantido de se estar em todo equipamento dessa marca. O protocolo que melhor se adapta a topologia de exemplo apresentada no captulo 4.1 o EIGRP para IPv6. O EIGRP ideal para redes compostas somente de equipamentos CISCO e permite utilizar agregao de rotas sem a necessidade de se criar reas, mantendo tabelas de roteamento bem menores e uma administrao mais simples do que se usando OSPFv3. Para usar agregao de rotas no OSPFv3 necessrio criar reas na rede e provavelmente links virtuais para interligar roteadores que no estejam diretamente conectados a rea 0. Em uma rede dual-stack, o EIGRP precisa rodar pelo menos duas instancias separadas, uma para IPv4 e outra para o IPv6. O EIGRP considerado um protocolo hibrido, usando o que h de melhor em protocolos vetor-distancia e 33 link-state, alm de ser baseado no DUAL (diffusing update algorithm). 6.5 Configurao do EIGRP para IPv6 A seguir so mostrados os comandos utilizados no roteador RJ0 para ativar o protocolo de roteamento em uma interface. Ao contrrio do EIGRP para IPV4, no IPv6 o protocolo ativado individualmente em cada interface ou sub-interface, no existe o comando network como no EIGRP do IPv4. RJ0(config)# ipv6 unicast-routing RJ0(config)# interface FastEthernet 0/0.2 RJ0(config-subif)# ipv6 enable RJ0(config-subif)# ipv6 eigrp 1 RJ0(config-subif)# ipv6 router eigrp 1 Uma considerao importante sobre o EIGRP para IPv6 que o seu router-id igual ao formato do router-id para IPv4. Tambm necessrio ligar o processo EIGRP com o comando no shutdown: RJ0(config)# ipv6 router eigrp 1 RJ0(config-rtr)# eigrp router-id 1.1.1.1 RJ0(config-rtr)# no shutdown Para que roteadores com EIGRP estabeleam vizinhana necessrio que os estes estejam configurados com os mesmos pesos para composio da mtrica. Nas interfaces que conecta os roteadores no necessrio configurar um IPv6 manual, pois a interface adquire um endereo Link-local e passa a escutar o endereo multicast FF02::2 (todos os roteadores no enlace local) ao se executar o comando IPV6 enable no modo de configurao da interface. 34 Figura 13 - Tabela de roteamento de RJ0 sem uso de sumarizao de rotas em RJ2. Fonte: Autoria prpria. 6.5.1 Agregao de rotas com EIGRP Saber usar agregao de rotas essencial para reduzir o nmero de entradas na tabela de roteamento, otimizando o desempenho durante o processo de escolha de rota. A figura 15 na pgina seguinte mostra um link entre RJ2 e RJ0 em que RJ2 no utiliza o recurso de sumarizao de rotas. Se levarmos em considerao a topologia de uma organizao de grande porte, poderamos ter centenas de entradas na tabela de roteamento, e consequentemente, um aumento no processamento de encaminhamento de pacotes. Graas ao plano de endereamento criado no captulo 6.2, as redes de 35 Figura 14 - Todas as vlans de RJ2 agora esto sumarizadas na rota em destaque. Fonte: Autoria prpria. RJ2 podem ser sumarizadas atravs do bloco 2804:14C:130:A020::/60. Para isso ocorrer necessrio configurar a interface s1/0 do roteador RJ2 para anunciar a rota sumarizada em questo. RJ2(config)# interface serial 1/0 RJ2(config-if)# ipv6 summary-address eigrp 1 2804:14C:130:A020::/60 Esse recurso tambm pode ser aplicado em um nvel superior, dependendo do plano de endereamento. Por exemplo, ainda possvel sumarizar todas as redes da regio RJ para que os roteadores de outras regies tenham uma nica entrada na tabela de roteamento para todas as redes de RJ (RJ0, RJ1, RJ2 e RJ3), resultando no bloco 2804:14C:130:A000::/56. Essa sumarizao deve ser configurada nas interfaces que se conectam com outras regies. Lembrando que o uso deste recurso comea ainda durante o plano de endereamento, durante essa fase, deve-se tentar dividir a rede em blocos e sub-blocos de maneira hierrquica, de forma semelhante ao que se faz com redes e subredes IPv4. Ao se aplicar esse conceito em toda a topologia de exemplo, tem-se uma reduo significativa das tabelas de roteamento conforme pode ser visto nas figuras 14 e 15. 36 Figura 14 - Representao lgica de rotas da regio de SP da topologia de exemplo. Fonte: Autoria prpria. Figura 15 - Tabela de roteamento do roteador SP0. Todas as redes da topologia esto sumarizadas. Fonte: Autoria prpria. 6.5.2 Configurao e propagao de rota padro A rota padro, tambm conhecido default gateway, representa uma rota para encaminhar um pacote cujo destino no se encontre na tabela de roteamento. 37 Normalmente esse caminho aponta para o roteador que se conecta a internet, desta forma, um datagrama cujo destino seja um endereo global unicast que no faa parte da rede da organizao, ser enviado para a internet. No caso da topologia de exemplo, o gateway of last resort seria a interface s1/6 do roteador RJ0, que se conecta com a nuvem da internet IPv6. Uma das formas de se propagar uma rota default configurar uma rota esttica no roteador que possui sada para a internet e depois configurar o EIGRP para redistribuir rotas estticas. Conforme as configuraes abaixo: RJ0(config)# ipv6 route ::/0 serial1/6 RJ0(config)# ipv6 router eigrp 1 RJ0(config-rtr)# redistribute static A forma acima a mais simples de se anunciar uma rota padro atravs do roteamento EIGRP, entretanto, ela anunciar tambm todas as outras rotas estticas caso existam. Uma forma alternativa de anunciar um default gateway via EIGRP anunciando a rota sumarizada ::/0 nas interfaces. RJ0> enable RJ0# configure terminal RJ0(config)# ipv6 route ::/0 serial1/6 RJ0(config)# interface serial 1/3 RJ0(config-if)# ipv6 summary-address eigrp 1 ::/0 A configurao mostrada anteriormente utiliza o recurso de anuncio de rotas sumarizadas para anunciar a rota padro na interface. Essa configurao deve ser aplicada em todas as interfaces voltadas para a rede interna. 38 7 RECURSOS DO ICMPV6 O ICMP que j existia para IPv4 foi atualizado no IPv6 e chamado de ICMPv6. Especificado na RFC 4443, o ICMPv6 faz parte da sute de recursos e tecnologias do IPv6 e seu suporte obrigatrio, pois uma rede IPv6 simplesmente no funcionaria sem esses recursos. Entre as principais funes do ICMPV6 esto: configurao stateless, descoberta de roteadores e gateways, deteco de endereos duplicados e descoberta de vizinhana. Esta ltima substitui o ARP usados no IPv4. 7.1 Neighbor Discovery Protocol Tambm conhecido como NDP, esse novo recurso nada mais do que um conjunto de mecanismos do ICMPv6 que, alm de substituir o ARP do IPv4, traz uma nova forma de atribuio automtica de endereos IPv6 para o host, conhecido como configurao stateless. Os recursos do NDP acontecem atravs da troca de mensagens ICMPv6 especficas que so identificadas atravs do campo type no cabealho ICMPv6. As mensagens utilizadas pelo NDP esto definidas na RFC 4861 e so elas: Type 133/Router Solicitation(RS): So enviadas a partir de um host requerendo um Router Advertisement (RA). Os pacotes RS so enviados utilizando o endereo link-local do host (prefixo FE80::/64) como origem e destino multicast FF02::2 (Todos os roteadores no mesmo enlace que a origem). Type 134/Router Advertisement(RA): So enviados normalmente pelos gateways da rede usando o endereo link-local da interface como origem. A frequncia que um roteador envia mensagens RA varia de acordo com o equipamento. Equipamentos CISCO podem ter esse parmetro configurado individualmente em cada interface atravs do comando: ipv6 nd ra interval [msec] valor. Pacotes RA contm o prefixo IPv6 do gateway que ser usado por um host para endereamento stateless. Essas mensagens so enviadas para o destino 39 multicast FF02::1 (Todos os ns no mesmo enlace que a origem). Caso um roteador receba uma mensagem RS (Router Solicitation), o mesmo responde com um RA cujo endereo destino igual ao endereo origem do RS. Type 135/Neighbor Solicitation(NS): As mensagens NS vieram para substituir o ARP do IPv4. Quando um n necessita saber o endereo MAC de um outro host, ele envia uma mensagem multicast solicitando o endereo da camada de enlace de determinado host identificado por um IPv6. Caso esse host esteja online, ele responde com uma mensagem NA (Neighbor Advertisement) que contm seu endereo fsico. Type 136/Neighbor Advertisement(NA): Como dito anteriormente, o NA usado para responder uma solicitao de um NS. O NA contm o endereo fsico do host de origem do NA. 7.1.1 Configurao Stateless A configurao automtica de um endereo IPv6 em um host sem uso de recursos como DHCPv6 conhecida como configurao stateless. Um host consegue obter o prefixo da rede em que se encontra graas a troca de mensagens ICMPv6 type 133 e 134. Quando um host precisa saber o prefixo da rede do enlace em que se encontra ele envia uma mensagem Router Solicitation (ICMPv6 type 133). O roteadores no enlace em que o host se encontra respondem com uma mensagem Router Advertisement (type 134). O Router Advertisement contm vrias informaes para os hosts efetuarem sua configurao, elas so opcionais e so configuradas no roteador. So elas: Prefixo da rede: Informa o prefixo da rede que deve ser usada pelos hosts durante a configurao stateless. Flags de autoconfigurao: o Flag M: Quando a flag M est ativa, indica que o host deve usar um 40 mtodo statefull para configurao, como o DHCP o Flag O: Indica que o host deve usar um mtodo statefull, como o DHCP, para buscar informaes adicionais complementares ao endereo dado pelo Router Advertisement. til caso se adote uma soluo que se use Configurao stateless para endereamento, e DHCP para outras informaes como DNS. Tempo de vida do router: Informa por quanto tempo o router de origem da mensagem deve ser considerado como router padro. Reachable time: informa ao host por quanto tempo um host vizinho deve ser considerado como alcanvel. Retransmiter Time: Tempo em milissegundos que um host deve esperar antes de retransmitir uma mensagem NS. MTU: Informa a MTU do enlace MAC address: Informa o endereo fsico da interface origem da mensagem RA. A maior parte das configuraes relacionadas com as mensagens do Neighbor Discovery configurada direto na interface. Ou seja, cada rede ligada ao roteador pode ter configuraes diferentes. Boa parte dos parmetros acima so configurados pelo comando IPv6 ND no modo de configurao de interface. 7.2 PMTUD (Path MTU Discovery) O recurso de PMTUD j era possvel no IPv4, porm no IPv6 se tornou mandatrio que toda comunicao entre hosts utilize a descoberta de MTU. Desta forma, os prprios ns de origem fazem a fragmentao caso seja necessria, e 41 Figura 13 - Funcionamento do PMTUD. Fonte: Autoria prpria. ajustam o tamanho dos datagramas para aquela comunicao. O PMTUD funciona com um host enviando um pacote para um n destino com o mesmo valor de MTU suportado pelo enlace local do host de origem. Caso o pacote chegue a uma rede que no suporte esse tamanho de MTU, o roteador daquela rede envia uma mensagem ICMPv6 type 2 (Packet too big) de volta para a origem, informando qual a MTU correta. O Host ento retransmite o pacote com o tamanho ajustado, e o processo se repete at que se alcance o n final de destino. Caso ocorra alguma alterao no caminho e a MTU daquela comunicao se altere, o host que receber a mensagem ICMPv6 type 2 recomeara o processo. Mesmo que no ocorram alteraes, periodicamente os ns verificam se possvel aumentar a MTU na comunicao. 7.3 DAD (Duplicate Address Detection) O DAD um recurso do IPv6 utilizado antes de uma se atribuir um endereo IPv6 em uma interface, com o objetivo de se evitar que o endereo atribudo esteja 42 duplicado no enlace local. Segundo a RFC 4862 seo 5.4, o DAD deve ser aplicado sempre que se tenta atribuir um endereo IPv6 unicast em uma interface, seja por configurao manual, stateless ou DHCPv6. A exceo ocorre caso se configure de forma explcita o nmero de tentativas DAD para zero ou o endereo em questo seja configurado como Anycast. O processo para deteco de endereo duplicado (DAD) utiliza mensagens Neighbor Solicitation (NS) e Neighbor Advertisement (ND). Por exemplo, caso um host esteja tentando configurar o endereo IPv6 FE80::3023:A219:8B00:4BD2/64 em sua interface, este host ir enviar uma mensagem ICMPv6 type 135 (NS) com destino multicast solicited-node FF02::1:FF00:4BD2 e origem ::/ (unspecified address). Caso esse host no receba nenhuma resposta o endereo considerado nico no enlace local e ser atribudo na interface. Caso j exista um outro host configurado com esse endereo, esse host recebe a mensagem NS e responde com uma mensagem ICMPv6 type 136 (NA) com destino multicast FF02::1 (todos os ns no enlace local) e origem utilizando seu endereo IPv6. 7.4 IPsec O IPsec um recurso que fornece confidencialidade e integridade dos dados. Seu uso j era possvel utilizar no IPv4, porm no IPv6 seu suporte se tornou obrigatrio, isso significa que equipamentos com suporte a IPv6 devem tambm suportar IPsec. Existem dois modos de operao do IPsec, o modo transporte e o modo de tunelamento. O modo transporte criptografa apenas o payload dos datagramas j o modo tunelamento cria uma conexo entre duas redes atravs de uma rede no segura (Internet), bem semelhante ao conceito de VPN. O modo tunelamento aplicado a topologia de exemplo conforme figura abaixo: 43 Figura 14 - Tnel IPsec usado na topologia de exemplo Fonte: Autoria prpria. O recurso do IPsec foi aplicado na topologia de exemplo para ligar o site RJ2 ao site RJ0 via internet IPv6 utilizando uma tcnica de tunelamento seguindo o mesmo conceito de uma VPN, j que a internet no deve ser considerado um meio de comunicao seguro. Esse tipo de configurao do IPsec tambm altera o roteamento original dos pacotes, pois ele encapsula o cabealho IPv6 original em outro cabealho com endereo de destino diferente. Como o tnel criado funciona como uma interface lgica, possvel configurar o protocolo EIGRP no tnel, criando assim, uma relao de vizinhana EIGRP entre RJ2 e RJ0, mesmo atravs da internet. Roteador RJ2: RJ2(config)# crypto isakmp policy 1 RJ2(config-isakmp)# authentication pre-share RJ2(config)# crypto isakmp key cisco123 address ipv6 2804:14C:130:A000::1/64 RJ2(config)# crypto ipsec transform-set 3des ah-sha-hmac esp-3des RJ2(config)# crypto ipsec profile profileCE RJ2(ipsec-profile)# set transform-set 3des RJ2(config)# interface tunnel 0 RJ2(config-if)# ipv6 enable RJ2(config-if)# tunnel source serial 1/0 44 RJ2(config-if)# tunnel destination 2804:14C:130:A000::1 RJ2(config-if)# tunnel mode ipsec ipv6 RJ2(config-if)# tunnel protection ipsec profile profileCE Roteador RJ0: RJ0(config)# crypto isakmp policy 1 RJ0(config-isakmp)# authentication pre-share RJ0(config)# crypto isakmp key cisco123 address ipv6 2861:13A:53F1:AB21::1/64 RJ0(config)# crypto ipsec transform-set 3des ah-sha-hmac esp-3des RJ0(config)# crypto ipsec profile profileCE RJ0(ipsec-profile)# set transform-set 3des RJ0(config)# interface serial 1/0 RJ0(config-if)# interface tunnel 0 RJ0(config-if)# ipv6 enable RJ0(config-if)# tunnel source serial 1/6 RJ0(config-if)# tunnel destination 2861:13A:53F1:AB21::1/64 RJ0(config-if)# tunnel mode ipsec ipv6 RJ0(config-if)# tunnel protection ipsec profile profileCE No necessrio configurar manualmente um endereo IPv6 em nenhum dos tneis, o comando IPv6 enable j habilita um endereo link-local e a interface passa a escutar pacotes com os destinos multicast necessrios para estabelecer adjacncia EIGRP. Na interface serial 1/6 do roteador RJ0 foi necessrio atribuir um endereo global unicast para que o destino do tnel possa ser alcanado por CE3. Uma vez configurados, os tneis atuam como interface e portanto podem ser usados para configurar roteamento EIGRP, sumarizao de rotas e etc. 45 Figura 15 - Exemplo do uso de tunelamento IPsec. Fonte: Autoria prpria. Na figura 15 mostrado o cenrio montado no GNS3 para testar o tnel IPsec. O Host A executa um ping para o HOST B, o pacote que chega na interface f0/0 do roteador CE3 tem como origem o endereo 2804:14C:130:A002:4D60:B84F:7B61:7110 e destino 2804:14C:130:A002:8DC5:19E2:E5C0:96DD. Caso o tnel tenha sido configurado com o EIGRP, RJ0 e RJ2 estabelecem adjacncia e o roteamento de RJ2 encaminhar o pacote para a interface tunnel0 (caso RJ0 esteja propagando a rota IPv6 default). O tnel IPsec ira criptografar e encapsular o pacote adicionando um novo cabealho IPv6 com destino outra ponta do tnel atravs da internet. O pacote agora tem como origem o endereo da interface de sada para internet de RJ2 (2861:13A:53F1:AB21::1) e destino a ponta remota do tnel IPsec em RJ0 (2804:14C:130:A000::1). Ao chegar no roteador do site RJ0, o pacote ter o processo de criptografia e encapsulamento revertidos, a partir disso, o pacote ser roteado normalmente conforme seu destino original. A figura 24 mostra um dos pacotes originados atravs do comando ping do Host A para o Host B: 46 Figura 16 - Captura de pacote ICMPv6 encapsulado pelo IPsec utilizando o software Wireshark. Fonte: Autoria prpria. No exemplo da figura 23 e 24 foi utilizado o sistema operacional da Microsoft, o Windows 7. Ao se executar o comando tracert (figura 25) do host A para o host B chega-se concluso que o processo de tunelamento IPsec configurado nos gateways da rede funciona de forma transparente para os hosts. Na figura 25 o host A entende que o datagrama enviado direto atravs do tnel (2804:14C:130:a00F::2) como se fosse um link ponto-a-ponto, mas na realidade o pacote foi encapsulado e atravessou a rede pblica da Internet IPv6. 47 Figura 17 - Comando tracert do Windows, demonstrando que a tcnica de tunelamento IPsec transparente para os hosts. Fonte: Autoria prpria. 48 8 EXEMPLOS DE TCNICAS DE TRANSIO E COEXISTNCIA COM O CISCO IOS O IPv6 e o IPv4 no so compatveis entre si, os dois protocolos no podem se comunicar diretamente, isso apontado como a principal causa da demora na implantao em escala mundial do IPv6. Por isso, alm da pilha dupla, foram desenvolvidas tcnicas que podem ser classificadas como tcnicas de traduo e tunelamento. Tcnicas de traduo tem o objetivo de traduzir endereos IPv4 em endereos IPv6 atravs da insero dos bits do endereo IPv4 no endereo IPv6, visto que o IPv6 possui 128 bits, possvel utilizar 32 bits para representar um endereo IPv4. J nas tcnicas de tunelamento, o pacote de uma verso do protocolo encapsulado no payload de um pacote de outra verso, e desencapsulado ao chegar no final do tnel. No h a melhor tcnica de transio, tudo depende do cenrio e do problema que aparecer durante o perodo em que os dois protocolos coexistirem. No portal ipv6.br (portal sobre IPv6 mantido pela equipe do CEPTRO/NIC.br) so previstos os cenrios demonstrados na pgina seguinte atravs da figura 18. 49 Figura 18 - Cenrios possveis durante o perodo de coexistncia do IPv4/IPv6 Fonte: (http://ipv6.br/entenda/transicao/). 50 Figura 19 - Disposio lgica do tnel GRE na topologia de exemplo Fonte: Autoria prpria. 8.1 GRE Tunnel Na topologia de exemplo, o site RJ3 precisa se conectar a RJ0 atravs da internet. Embora a conectividade IPv6 entre os sites esteja funcionando, no h conectividade IPv4 devido ao fato das redes IPv4 estarem isoladas pela internet IPv6. Em um cenrio que se use pilha dupla, como a topologia de exemplo, pode haver necessidade de se utilizar IPv4 para acessar recursos que ainda no foram migrados para IPv6. Esse um caso demonstrado no cenrio 10 da figura 26. Uma das formas de se contornar o problema criar um tnel GRE IPv6 e configurar este como rota padro para pacotes IPv4 do site RJ2. Assim, datagramas IPv4 direcionados para o tnel sero encapsulados dentro de pacotes IPv6 e roteados atravs da internet IPv6. As pontas dos tneis funcionam como uma interface, desta forma, possvel configurar protocolos de roteamento dinmico como EIGRP. Na topologia de exemplo, RJ0 possui sada para a internet IPv4. Assim a rede de RJ2 ter conectividade a internet IPv4 portanto que o roteamento esteja devidamente configurado. Para que isso acontea, 172.16.10.1 deve ser a rota padro para a rede IPv4. Para configurar um tnel GRE IPv6 foram usados os seguintes comandos: Roteador RJ2: RJ2> enable 51 RJ2# configure terminal RJ2(config)# interface tunnel 46 RJ2(config-if)# ip address 172.16.10.1 255.255.255.252 RJ2(config-if)# tunnel source 1/0 RJ2(config-if)# tunnel destination 2804:14C:130:A000::1 RJ2(config-if)# tunnel mode gre ipv6 Roteador RJ0: RJ0> enable RJ0# configure terminal RJ0(config)# interface tunnel 4 RJ0(config-if)# ip address 172.16.10.2 255.255.255.252 RJ0(config-if)# tunnel source 1/6 RJ0(config-if)# tunnel destination 2861:13A:53F1:AB21::1/64 RJ0(config-if)# tunnel mode gre ipv6 Em RJ2 o tnel pode ser o default gateway da rede IPv4, ento usado o comando: RJ0(config)# ip route 0.0.0.0 0.0.0.0 tunnel4 8.2 IPv6IP O IPv6IP uma tcnica de tunelamento simples que encapsula um pacote IPv6 em um pacote IPv4 (o inverso do apresentado no captulo anterior). Essa tcnica til caso se necessite conectar duas ou mais redes IPv6 separadas pela internet IPv4. Na topologia de exemplo essa tcnica aplicada para conectar o site RJ3 ao site RJ0 atravs da internet IPv4. Esse tunelamento foi escolhido para ser usada na topologia de exemplo por no necessitar de servidores adicionais, relays externos ou suporte do provedor. A figura 29 na prxima pgina ilustra como foi aplicada a tcnica de tunelamento IPv6 sobre IPv4 atravs do uso do IPv6IP. 52 Figura 20 - Tnel IPV6IP para comunicao IPv6 atravs da internet IPv4 Fonte: Autoria prpria. Roteador RJ3: RJ3(config)# interface tunnel 64 RJ3(config-if)# tunnel source Serial 1/0 RJ3(config-if)# tunnel destination 190.40.30.2 RJ3(config-if)# tunnel mode ipv6ip Roteador RJ0: RJ0(config)# interface tunnel 64 RJ0(config-if)# tunnel source Serial 1/4 RJ0(config-if)# tunnel destination 201.10.20.29 RJ0(config-if)# tunnel mode ipv6ip Assim como em outros casos, a interface tnel serve como uma ligao ponto-a-ponto de entre RJ3 e RJO, e portanto, pode ser usada para habilitar o roteamento dinmico EIGRP para IPv6. 8.3 Configuraao do IPsec em tcnicas de tunelamento Um dos problemas de se usar tcnicas de tunelamento atravs da internet a falta de segurana, uma vez que o contedo dos pacotes, por padro, no so 53 Figura 21 - Tnel GRE sobre IPsec. Fonte: Autoria prpria. criptografados. possvel utilizar um tnel IPsec como o criado no captulo 6.4 para passagem de um tnel 6to4 ou 4to6. Para isso as pontas do tnel IPsec devem ser alcanadas pelo roteador. O tnel IPsec configurado no captulo 6.4 possui endereos link-local do bloco FE80::/64, pois no foi especificado um endereo IPv6 manualmente. Para que essas pontas do tnel possa servir como destino para outro tnel, a mesma deve ser alcanada por ambos os roteadores. A soluo aplicada entre RJ2 e RJ3 utiliza um endereo global unicast do bloco utilizado na topologia de exemplo. Uma vez que o tnel IPsec possua um endereo rotevel, o destino do tnel GRE IPv6 apontado para esse endereo global unicast configurado na extremidade remota do tnel IPsec IPv6. Conforme esquema mostrado abaixo: A configurao final do tnel IPsec e do tnel GRE em RJ0 fica assim: ! interface Tunnel0 no ip address ipv6 address 2804:14C:130:A00F::1/64 ipv6 enable ipv6 eigrp 1 ipv6 summary-address eigrp 1 2804:14C:130:A000::/52 5 tunnel source Serial1/6 tunnel destination 2861:13A:53F1:AB21::1 tunnel mode ipsec ipv6 54 tunnel protection ipsec profile profileCE ! ! interface Tunnel46 ip address 172.16.10.2 255.255.255.252 ip summary-address eigrp 1 10.16.0.0 255.240.0.0 5 tunnel source Tunnel0 tunnel destination 2804:14C:130:A00F::2 tunnel mode gre ipv6 ! Configurao final dos tneis IPsec e GRE em RJ2: ! interface Tunnel0 no ip address ipv6 address FDEE:E342:EA07:1::/64 eui-64 ipv6 enable ipv6 eigrp 1 ipv6 summary-address eigrp 1 2804:14C:130:A020::/60 5 tunnel source Serial1/0 tunnel destination 2804:14C:130:A000::1 tunnel mode ipsec ipv6 tunnel protection ipsec profile profileCE ! interface Tunnel46 description tunel gre 4to6 ip address 172.16.10.1 255.255.255.252 ip summary-address eigrp 1 10.18.0.0 255.255.0.0 5 tunnel source Tunnel0 tunnel destination 2804:14C:130:A00F::1 tunnel mode gre ipv6 ! A principal mudana em relao ao tnel GRE configurado no captulo 7.1 est no tnel source e destination, que agora apontam para o tnel IPsec. Essa 55 Figura 22 - Tnel IPV6IP sobre IPsec Fonte: Autoria prpria. soluo tambm funcionaria com o uso de um IPv6 privado (ULA) em vez de um endereo global unicast. O uso de um tnel IPsec tambm pode ser usado entre RJ3 e para incrementar a segurana do tnel IPV6IP. A soluo semelhante a apresentada acima, porm ser usado um endereo IP privado do bloco 172.16/12 para as interfaces lgicas dos tneis. Conforme a figura abaixo: Configurao final dos tneis IPsec IPv4 e IPV6IP em RJ0: ! interface Tunnel1 ip address 172.16.50.1 255.255.255.252 ip summary-address eigrp 1 10.16.0.0 255.240.0.0 5 tunnel source Serial1/4 tunnel destination 201.10.20.29 tunnel protection ipsec profile profileCE2 !! interface Tunnel64 no ip address ipv6 enable ipv6 eigrp 1 ipv6 summary-address eigrp 1 2804:14C:130:A000::/52 5 tunnel source Tunnel1 tunnel destination 172.16.50.2 56 tunnel mode ipv6ip ! Configurao final dos tneis IPsec IPv4 e IPV6IP em RJ3: ! interface Tunnel1 ip address 172.16.50.2 255.255.255.252 ip summary-address eigrp 1 10.19.0.0 255.255.0.0 5 tunnel source Serial1/0 tunnel destination 190.40.30.2 tunnel protection ipsec profile profileCE2 ! interface Tunnel64 no ip address ipv6 enable ipv6 eigrp 1 ipv6 summary-address eigrp 1 2804:14C:130:A030::/60 5 tunnel source Tunnel1 tunnel destination 172.16.50.1 tunnel mode ipv6ip ! Antes de se aplicar solues desse tipo necessrio levar em considerao o processamento adicional causado pelo uso dessas tcnicas, que podem aumentar a latncia da comunicao. O tamanho do payload tambm afetado uma vez que um datagrama pode conter uma cadeia de cabealhos de encapsulamento reduzindo o tamanho da carga til. Para mais detalhes da configurao, os arquivos em anexo RJ0.cfg, RJ3.cfg e RJ2.cfg podem ser consultados. 57 9 CONCLUSO Implantar o IPv6 no traz muitas vantagens imediatas a uma rede privada, essas vantagens s sero realmente percebidas quando a implantao estiver em um estgio avanado de disseminao global. Esse um dos principais motivos da dificuldade de se substituir o IPv4 pelo IPv6. A argumentao de que a adoo do novo protocolo importante para a rede mundial de computadores nem sempre uma justificativa forte o bastante para que um projeto deste tipo seja aprovado em instituies privadas. Como dito anteriormente, implantar o IPv6 ou criar uma rede pilha dupla implica em duplicar a infraestrutura, pelo menos em sua topologia lgica, o que gera um aumento de carga administrativa considervel, alm de riscos inerentes a se alterar uma infraestrutura que j est funcionando bem com o IPv4. Verificando rapidamente o histrico de esforos para a adoo do IPv6, fica claro que a iniciativa vem de organizaes governamentais e provedores. Nos EUA, por exemplo, no ano de 2000, o governo decretou que todos os backbones de rgos federais deveriam suportar o IPv6. O governo chins teve o China Next Generation Internet, um projeto de 5 anos que planejava disseminar o uso do IPv6 pelo pas. Boa parte da infraestrutura de comunicao das olimpiadas de beijing em 2008 ocorreu utilizando o IPv6. Existem vrios casos pelo mundo de iniciativas como esta. No atual cenrio global de transio do IPv4 para o IPv6, sem dvida nenhuma a utilizao de pilha dupla a tcnica recomendada para a maioria dos casos. Pois ela permite uma implantao que pode ser feita aos poucos e que no remove o uso do IPv4. Os riscos de uma implantao mal sucedida do IPv6 causar indisponibilidades em uma rede bem pequena, pois o IPv4 ainda estar sendo suportado em um cenrio que se utilize pilha dupla. A implantao do IPv6 no envolve somente equipamentos de rede como roteadores. Aplicaes e vrios outros recursos de rede precisam tambm dar suporte ao novo protocolo. Em uma rede em pilha dupla, aplicaes corporativas e outros recursos de ti podem ser adaptados aos poucos ao IPv6. Tcnicas de tunelamento e traduo devem ser usadas somente em ltimo caso. 58 REFERNCIAS DESMEULES, R. Cisco Self-Study: Implementing Cisco IPv6 Networks (IPv6). Indianapolis, USA: Cisco Press, 2013. 477p. FARREL, A. A internet e seus protocolos - Uma anlise comparativa. So Paulo: Editora Campus, 2005. 572p. FLORENTINO, A. A. IPv6 na prtica. 1. ed. So Paulo: Linux New Media, 2012. 163p. HAGEN, S. Planning for IPv6. California, USA: O'Reilly, 2011. 65p. IPv6.br. Disponvel em: <http://ipv6.br/entenda/transicao/> Acesso em: 8 jul. 2013 RFC 2450 - Proposed TLA and NLA Assignment Rules. Disponvel em: <http://tools.ietf.org/html/rfc2450> Acesso em: 13 mai. 2013 RFC 2460 - Internet Protocol, Version 6 (IPv6) Specifications. Disponvel em: <http://tools.ietf.org/html/rfc2460> Acesso em: 10 jul. 2013 RFC 2675 - IPv6 Jumbograms. Disponvel em: <http://tools.ietf.org/html/rfc2675> Acesso em: 14 jul. 2013 RFC 3306 - Unicast-Prefix-based IPv6 Multicast Addresses. Disponvel em: <http://tools.ietf.org/html/rfc3306> Acesso em: 9 abr. 2013 RFC 3927 - Dynamic Configuration of IPv4 Link-Local Addresses. Disponvel em: <http://tools.ietf.org/html/rfc3927> Acesso em: 9 abr. 2013 RFC 3956 - Embedding the Rendezvous Point (RP) Address. Disponvel em: <http://tools.ietf.org/html/rfc3956> Acesso em: 5 mai. 2013 RFC 4147 - Proposed Changes to the Format of the IANA IPv6 Registry. Disponvel em: <http://tools.ietf.org/html/rfc4147> Acesso em: 11 fev. 2013 RFC 4193 - Unique Local IPv6 Addresses. Disponvel em: <http://tools.ietf.org/html/rfc4193> Acesso em: 9 jun. 2013 59 RFC 4291 - IP Version 6 Addressing Architeture. Disponvel em: <http://tools.ietf.org/html/rfc4291> Acesso em: 2 jul. 2013 RFC 4443 - Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification. Disponvel em: <http://tools.ietf.org/html/rfc4443> Acesso em: 21 nov. 2012 RFC 4632 - Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan. Disponvel em: <http://tools.ietf.org/html/rfc4632> Acesso em: 10 mar. 2013 RFC 4786 - Operation of Anycast Services. Disponvel em: <http://tools.ietf.org/html/rfc4786> Acesso em: 5 jan. 2013 RFC 4861 - Neighbor Discovery for IP version 6 (IPv6). Disponvel em: <http://tools.ietf.org/html/rfc4861> Acesso em: 11 jun. 2013 RFC 4862 - IPv6 Stateless Address Autoconfiguration. Disponvel em: <http://tools.ietf.org/html/rfc4862> Acesso em: 28 jul. 2013 RFC 5952 - A Recommendation for IPv6 Address Text Representation. Disponvel em: <http://tools.ietf.org/html/rfc5952> Acesso em: 6 mai. 2013 RFC 6177 - IPv6 Address Assignement to End Sites. Disponvel em: <http://tools.ietf.org/html/rfc6177> Acesso em: 4 jul. 2013 RFC 6564 - A Uniform Format for IPv6 Extension Headers. Disponvel em: <http://tools.ietf.org/html/rfc6564> Acesso em: 7 jul. 2013 RFC 791 - INTERNET PROTOCOL DARPAINTERNET PROGRAM. Disponvel em: <http://tools.ietf.org/html/rfc791> Acesso em: 21 mai. 2013 www.arin.net. Disponvel em: <www.arin.net> Acesso em: 17 jul. 2013 www.sixxs.net. Disponvel em: <www.sixxs.net/tools> Acesso em: 13 ago. 2013