IPv6, estado atual e mecanismos de transição Rodrigo Ferreira Soares Curso de Redes e Segurança de Sistemas. Pontifícia Universidade Católica do Paraná Curitiba, Outubro de 2010. Resumo Este artigo tem como objetivo apresentar conceitos sobre IP, IPv4, descrever a estrutura organizacional que rege a distribuição dos endereços IPs na rede mundial, em seguida retratar a respeito do esgotamento do IPv4 e medidas temporárias que diminuíram a demanda crescente por IPs. Como se dará a adoção da nova versão do protocolo, normas e avanço, incluindo segurança e mobilidade, itens importantes para o crescimento da estrutura que hoje conhecemos. Apresentar os mecanismos de transição e adaptação demostrando a viabilidade da comunicação homogênea. 1. Introdução A Internet foi criada com a finalidade militar nos Estados Unidos. Com o passar do tempo a quantidade de pontos interconectados foram aumentando e expandido para universidades e instituições de pesquisa e tecnologia. No início da década de 90, somaram a esse grupo empresas que observaram a possibilidade de obter lucro interligando suas redes a Internet, para que isto fosse possível receberam blocos de IPs /8 inteiros (cada um contendo 16.777.216 IPs) para atribuir aos seus equipamentos, os quais são usados para identificar cada equipamento conectado à Internet. Esta alocação praticada no início pensou-se que estaria saturada em poucos anos, porém com o surgimento de normas que instituíram o uso consciente prolongou os endereços até os dias de hoje. Contudo, a implementação de um novo protocolo se tornou imprescindível devido ao crescimento da Internet e surgimento de novas tecnologias. 2. O que é endereço IP ? IP (Internet Protocol) é um protocolo primário, desenvolvido na década de 1970, utilizado na Internet e internamente em muitas redes. Quando empregado em conjunto com TCP (Transport Control Protocol), forma a plataforma TCP/IP, conjunto de normas que todas as máquinas utilizam para trocar informações entre si. 2.1 IPv4 Para um computador conecta-se a Internet ele precisa receber um número único chamado de IP, com isto, torna-se possível identificar a localização do mesmo na rede mundial, da mesma forma que nome de uma rua, número e C.E.P. servem para endereçar suas correspondências. O IP deve ser único em todo o mundo e para garantir isto, existe uma entidade central, ICANN (Internet Corporation for Assigned Names and Number) e dentro dela uma função chamada IANA (Internet Assigned Numbers Authority). Por questão de organização existe uma hierarquia que divide o mundo em entidades regionais, os RIR (Regional Internet Registries), que tem o propósito de educar e incentivar o desenvolvimento da Internet em suas regiões. A ICANN distribui os endereços para estas entidades, que por sua vez, entrega para um NIR (Nacional Internet Registres), por exemplo, no Brasil temos a NIC.BR, que delega os IPs para os usuários finais ou provedores que nesta estrutura são chamados de LIR (Local Internet Registres). Atualmente o custo para ter um IP fixo é destinado a manter essa estrutura. Figura 1: Entidades regionais e registro nacional. [5] A versão 4 do protocolo IP é composta por 232 combinações o equivalente a 4.294.967.296, porém, devido a separação por classes que foram criadas, foi necessário também reservar alguns endereços para multicast (classe D) e outros serviços. Classe A: 0.0.0.0 a 127.0.0.0 /8 – 128 sub-redes, totalizando 16.777.216 endereços por rede. Classe B: 128.0.0.0 a 191.255.0.0 /16 – 16 mil sub-redes, totalizando 65.536 endereços por rede. Classe C: 192.0.0.0 a 223.255.255.0 /24 – 2 milhões de sub-redes, totalizando 256 endereços por rede. Classe D: 224.0.0.0 a 239.255.0.0 – Utilizado para Multicast. Classe E: 240.0.0.0 a 247.255.0.0 – Reservada para o IETF (Internet Engineering Task Force) para uso experimental. Link Local: 169.254.0.0/16 – 65.536 endereços. 2.1.1 O esgotamento da v4 Soluções temporárias surgiram para diminuir a demanda crescente por IPs. – CIDR (Classless Inter Domain Routing): Normatiza a alocação de blocos com tamanho arbitrário, de acordo com a necessidade e não mais blocos definidos, implantando um uso racional dos IPs. – Address Allocation for Private Internets (RFC 1918): Norma que trata da especificação dos endereços privados, não válidos, para uso interno nas corporações. – NAT (Network Address Translation): Tradução de endereços IPs. Possibilita que vários endereços privados utilizados dentro de uma rede sejam representados por um único IP válido na Internet. – DHCP (Dynamic Host Configuration Protocol): Protocolo de alocação dinâmica de IPs, possibilitando a reutilização de IPs por parte dos ISP (Internet Service Provide), em conexões não continuas. Entretanto, a Internet cresceu de uma forma que ninguém imaginava, mas o tamanho atual é apenas estimado. A versão atual do protocolo IPv4 vem sendo usando por várias décadas, contudo, com o desenvolvimento de novas tecnologias e rápida expansão da rede mundial, devido a popularização dos smartphones somado a entrada de chineses e indianos a rede mundial, o número restante de endereços em poder da IANA não está mais sendo suficiente para atender a crescente demanda mundial. Algumas previsões indicam 03 de junho de 2011 como sendo o dia do término do estoque da IANA e 28 de janeiro do ano seguinte o estoque das entidades regionais. [32] Nos gráficos a seguir, podemos ver a atual alocação do IPv4 e o estoque central de blocos /8. Informações consolidadas até 23 de junho de 2010. [8] Gráfico 1: Alocação anual de IPv4 por entidade regionais. [8] Gráfico 2: Quantidade de blocos /8 ainda sobre controle da IANA. [5] 3. Adoção do IPv6 A necessidade de adoção não são pelas vantagens que o v6 traz e sim pelo término dos endereços v4. O IPv6 é a nova versão do protocolo IP formado por 128bits ao invés dos 32bits do IPv4, isto pode ser descrito da seguinte maneira: 2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 ~79 octilhões (7,9x1028) de endereços a mais do que o IPv4 A implementação do IPv6 poderá ser longa, devido a necessidade da modificação completa da estrutura da Internet que conhecemos atualmente. A versão prenominante é a v4, porém já existem várias redes de universidades, governos e órgãos reguladores da Internet que já estão implementando a nova versão do IP, IPv6. Até o momento a IANA alocou ~76.517 blocos /32 para as entidades regionais, porém, nem todo endereço IPv6 alocado é sinônimo de endereço anunciado na Internet. Abaixo gráfico demostra a curva de crescimento dos endereços IPv6 anunciados na tabela BGP. Dados de 22 de setembro de 2010. Gráfico 3: Tabela BGP do protocolo IPv6. [12] 3.1 Notação Os endereços IPv6 são compostos por um prefixo de 64bits e outra parte de igual tamanho corresponde ao identificador da interface (do host ou roteadores), formando assim uma notação de oito grupos de quatro dígitos hexadecimal, por sua vez, cada dígito corresponde a 4bits, isto possibilita alta capacidade de endereçamento. Exemplos: 2001:0048:0001:0000:02e0:81ff:fe05:4658 e 2001:0000:53af:0000:0000:00d4:42e5:cb1a Algumas regras de abreviação são permitidas, por exemplo, quando ocorre de um grupo de quatro dígitos ser composto por zero, é possível reduzir introduzindo somente um zero. Havendo dois ou mais grupos seguidos ocupados por zeros, é possível substituir por "::". Esta última forma de redução pode ser adotado uma única vez. Outra maneira é excluir os zeros a esquerda de cada grupo. Exemplo de redução aplicando todas as possibilidade citadas, utilizando o endereço apresentado anteriormente. 2001:0000:53af:0000:0000:00d4:42e5:cb1a ou 2001:0:53af::d4:42e5:cb1a Na Internet o “:” também é usando para definir uma porta sob um endereço IP. Para não haver problema com isto foi definido que o IP deve estar entre colchetes, conforme os exemplos sugeridos abaixo. Prompt de comando: ssh '2001:0:53af::d4:42e5:cb1a' wget http://[2001:0:53af::d4:42e5:cb1fa]:8080 Navegador Web http://[2001:0:53af::d4:42e5:cb1a]:8081 Os endereços IPv6 são divididos em três tipos. Unicast, utilizado para identificar um nó (dispositivo que implementa o protocolo IP) IPv6. Multicast, endereços que da mesma forma que no IPv4 indicam grupos de interfaces. Anycast, também referencia um grupo de interface, porém, um pacote é enviado a uma única interface, geralmente a mais próxima. 4. Diferenças e vantagens do v6 sob o v4 4.1. Cabeçalhos A versão do protocolo que está no primeiro campo é que estabelece o formato do cabeçalho, o restante, contém informações como, endereço de destino, endereço de origem e campos que descrevem o próprio pacote para garantir que a informação chegue de forma correta, serve para viabilizar a conexão entre as máquinas. O pacote do IPv4 (RFC 791) é composto por 12 campos: Version IHL ToS Total Lenght Identification TTL Flags Protocol Fragment Offset Checksum Source Address Destination Address Options Figura 1: Pacote IPv4. [13] Descrição dos campos • • • Version (4 bits): Versão do protocolo. Igual a 4. IHL (4 bits): Tamanho total incluindo cabeçalho. ToS (8 bits): Tipo de serviço. Padding • • • • • • • • • • • Total Lenght (16 bits): Tamanho total do pacote ou fragmentação se fragmentado estiver. Identification (16 bits): Identificação. Flags (3 bits): Campo para identificar se o pacote está fragmentado ou não. (x D M) Fragment Offset (13 bits): Fragmentação, indica a qual parte do datagrama este fragmento pertence. TTL Time to Live (8 bits): Tempo de vida do pacote. Protocol (8 bits): Protocolo utilizado (ICMP, IGMP, TCP, IGRP, UDP,...). Checksum (16 bits): Integridade do pacote. Source Address (32 bits): Sinaliza o endereço de origem. Destination Address (32 bits): Sinaliza o endereço de destino. Options (variável): Pode aparecer ou não em um datagrama, seu preenchimento é opcional, não a sua implementação. Padding(variável): Garantir que o pacote não ultrapasse 32 bits, é preenchido com zero. Dentre as melhorias realizadas no cabeçalho da versão 6 (RFC 2460), houve uma redução de sete campos, por não serem mais necessários ou tiveram suas funções substituídas por outras nos cabeçalhos de extensão, são eles: • IHL • Identification • Flags • Fragment Offset • Checksum • Options • Padding Outros foram renomeados: • ToS para Traffic Class • Total Lenght para Payload Lenght • Protocol para Next Header • TTL para Hop Limit Já o campo Flow Label foi acrescentado. Todas essas alterações tornam o IPv6 mais eficiente e flexível, economizando tempo de processamento e inserindo as informações em campos opcionais. Version Traffic Class Payload Length Flow Label Next Header Source Address IPv6 Destination Address IPv6 Figura 2: Pacote Ipv6. [14] Hop limit • • • • • • • • Version: (4 bits): Versão do protocolo, um único número, neste caso igual a 6. Traffic class (8 bits): Usado para QoS (Quality of service). Flow label (20 bits): Identificador de fluxo este campo foi adicionado. Payload length (16 bits): Indicação do tamanho dos dados enviados junto ao cabeçalho IPv6. Next header (8 bits): Campo que referencia o próximo cabeçalho ao subsequente. Hop limit (8 bits): Número máximo de roteadores que o pacote pode passar até ser descartado. A cada roteador por onde passa o campo é decrementado. Source address (128 bits): Sinaliza o endereço de origem. Destination address (128 bits): Sinaliza o endereço de destino. 4.1.1. Cabeçalhos de extensão Quando houver mais de um cabeçalho de extensão em um único pacote, é recomendado que os cabeçalhos apareçam na seguinte ordem [14]: • • • • • • Hop-by-Hop Options – Cabeçalho usado para transportar informação opcional que deve ser examinado por cada nó ao longo do percurso. Destination Options header – Armazena informações que serão analisadas pelo nó de destino. Routing header – Carrega informações dos nós de passagem por onde o pacote irá passar até atingir o nó de destino. Fragment header – Utilizado para sinalizar o envio de um pacote maior que o MTU (Maximum Transmission Unit) do destinatário. Diferente do IPv4, a fragmentação é realizada pelo nó de origem e não mais pelos roteadores. Authentication header – Utilizado pelo IPSec com o objetivo de prover autenticação e com isso garantir integridade aos pacotes. Encapsulating Security Payload header - Projetado para fornecer ao cabeçalho uma combinação de serviços de segurança no IPv4 e IPv6. Este cabeçalho pode ser aplicado isoladamente ou em combinação com o cabeçalho Authentication header. 4.2. IPSec (IP Security) Descrito na RFC 2411, o termo nativo IPSec é usado para descrever uma estrutura de padrões abertos sugerida pelo IETF (Internet Engineering Task Force), com o intuito de definir política de comunicação segura em uma rede. O IPSec tem como objetivo fornecer diversos serviços de segurança para o tráfego na camada IP, tanto em IPv4 e IPv6, oferecendo proteção a camadas superiores. Esses serviços são controle de acesso, integridade de conexão, autenticação dos dados de origem, proteção contra modificações, e a confidencialidade utilizando criptografia. IPSec é dividido em dois modos: Modo de transporte (host-to-host) e modo túnel (gateway-to-gateway ou gateway-to-host). No modo de transporte, o campo IPSec é inserido após o cabeçalho IP original, ambos os lado da conexão necessitam ter suporte IPSec. No modo túnel, o pacote IP é totalmente encapsulado, criando assim um novo cabeçalho. O destinatário especificado no cabeçalho IP, desencapsula o pacote. Neste modo não há necessidade de um software cliente para ser executado no gateway e a comunicação entre os sistemas clientes não conta com nenhuma proteção. Por padrão IPSec suporta as seguintes funcionalidades: • AH (Authentication Header): RFC 2402 – cabeçalho de autenticação tem como • • • finalidade autenticar os pacotes transportados. Isto é possível através da soma de verificação (checksum) dos pacotes, usando algoritmo de criptografia. ESP (Encapsulating Security Payload): RFC 2406 promove criptografia de pacotes. IPcomp (IP payload compression): fornece a compressão antes de um pacote ser criptografado. IKE (Internet Key Exchange): é opcional, porém, fornece meios para negociar chaves em sigilo. 4.3. MIPv6 MIPv6 (Mobile IPv6) é outro padrão sugerido pelo IETF que proporciona roaming de dispositivos móveis em redes IPv6, descrito na RFC 3775. Permite que esses dispositivos alternem de uma rede para outra mantendo as conexões estabelecidas. Funciona da seguinte forma: todo dispositivo móvel, que está em sua rede IPv6 de origem, recebe um endereço atribuído pelo gateway dessa rede. Ao se deslocar para outra rede IPv6, irá utilizar técnicas de discovery implementadas no protocolo para encontrar um novo gateway que utilizando de formas convencionais conhecidas (stateless ou stateful) viabilizará sua conectividade entregando-lhe um IP pertencente a nova rede. Caso o procedimento seja bem sucedido, o próximo passo é o dispositivo móvel informar ao gateway de origem o seu novo endereço (mensagem de Binding Update) e o gateway de origem irá associar o endereço da rede de origem com o novo endereço atribuído pela nova rede. A partir deste momento, o gateway de origem retorna uma mensagem para o dispositivo (Binding Acknowledgement) e passa a atuar como um proxy capturando, filtrando e redirecionando todos os pacotes com destino ao dispositivo móvel. Estas informações coletadas serão enviadas para o dispositivo utilizando técnicas de túneis bidirecionais. Outra técnica possível, é o gateway de origem rotear todos os pacotes diretamente para o novo endereço, diminuindo o delay (atraso) na conexão. 4.4. Análise comparativa Escopo (ou características) IPv4 IPv6 Endereços possíveis 32 bits 128 bits Endereço de origem de um host antes que ele tenha aprendido o seu próprio endereço. 0.0.0.0 ::/128 Loopback. Endereço atribuído a placa de rede local. Utilizado geralmente por programas locais. 127.0.0.1 ::1/128 Link local. Atribuído pelo próprio equipamento a sua interface de rede. 169.254.0.0/16 fe80::/10 Endereços reservados para uso interno nas redes, não sendo possível o acesso direto externamente. 10.0.0.0/8 172.16.0.0/16 192.168.1.0/24 fc00::/7 Multicast. 224.0.0.0/8 até 239.0.0.0/8 ff00::/8 Uso futuro 240.0.0.0/8 até 255.0.0.0/8 2003:: até 3fff:: Arquitetura Plana Hierárquica MTU (Maximum Transmission Unit) mínimo 576 bytes 1.280 bytes Segurança Pode utilizar o IPSec de modo facultativo. Cabeçalhos com possibilidade de inserir segurança (IPSec). IP móvel Suporte superficial Suporte eficiente Checksum Cabeçalhos incluso Não tem Broadcast Ao invés de atingir Usado para enviar todos os host, pacotes para todos endereços foram os hosts da redes e criados. Multicast e suas subnets anycast. Configuração Manualmente ou por DHCP Auto-configuração não sendo necessário configuração manual ou por meio do DHCPv6. Entradas DNS São apontadas por (A) Apontadas usando (AAAA) ping ping6 iptables iptables-ipv6 icmp icmp6 traceroute traceroute6 DHCP DHCPv6 Alguns comandos e serviços Tabela 1: Analise comparativa 4.5. Algumas vantagens • • • • • • • • • Mais eficiente quanto a alocação de espaço de endereçamento; Conexões fim a fim, sem NAT; Fragmentação gerada apenas pelo host de origem; Os roteadores não calcular checksum de cabeçalho, tornando o processo mais eficiente; Multicast ao invés de Broadcast; Mecanismos internos de segurança (IPSec); Auto-configuração; A estrutura modular cabeçalhos; Notação compacta; 5. Técnica de comunicação entre os protocolos. A substituição do protocolo será lenta, por que atualmente é necessário uma série de mecanismos de migração e transição. Esses procedimentos tornam possível a comunicação entre as versões do protocolo, por não serem compatíveis entre si. Várias técnicas estão em testes, porém, nenhuma é completamente eficiente. As principais são as seguintes: 5.1 Dual Stack – (Pilha dupla) Visto com uma forma conservadora de transição por ter ambos os protocolos configurado na interface dos servidores e roteadores de borda, é necessário interpretar tanto pacotes IPv6 quando IPv4 pela camada de aplicação com na camada de rede. O roteamento de pacotes é independente havendo a necessidade de novas implementações em regras de firewall para proteger dos ataques que poderão ser realizados por meio do protocolo IPv6. Tem o objetivo de auxiliar a convivência de ambas as versões do protocolo IP durante a transição que levará anos. Figura 3: Tráfego de pacotes com a arquitetura pilha dupla. [34] 5.2 Tunnelling (Túneis) Técnica atualmente mais utilizada para testes e implementações, pois não há redes com conexões totalmente em IPv6. Consiste em um tunelamento ou encapsulamento do pacote IPv6 dentro de um pacote IPv4 usando o protocolo UDP, que pode ser roteador-aroteador, roteador-a-host, host-a-host e host-a-roteador. 5.2.1 Técnicas de Tunnelling Tunnel Broker – RFC 3053 – um serviço para fornecer conectividade encapsulado, aplicável a usuário final ou pequenas redes, é necessário o download de um software que vai encapsular os pacotes e enviar até o provedor de serviço, o mesmo que forneceu o software. 6to4 – RFC 3056 – tem como prefixo sempre 2002 e permite a interconexão de roteadores, computadores e sub-redes IPv6 utilizando um mecanismo de encapsulamento usado para transferir pacotes IPv6 para uma infra estrutura onde a extremidade do túnel deve ter endereços IPv4. Figura 4: Estrutura da conexão 6to4. [35] ISATAP (Intra-Site Automatic Tunnel Addressing Protocol) – RFC 5214 – utilizada somente dentro das corporações com o objetivo de conectar equipamentos IPv6 a redes IPv4 usando roteadores de borda já com IPv6 atribuído. Uma vez que um servidor ISATAP ou o roteador foi configurado, apenas os clientes devem ser configurados para se conectar a ele. Esta solução permite que as empresas realizem a migração interna em pouco tempo. Teredo – RFC 4380 – Encapsula o protocolo IPv6 em um pacote UDP (User Datagram Protocol) IPv4, é uma das poucas opções quando o cliente esta atrás de algum tipo de NAT. Após detectar qual o tipo de NAT utilizado, um Relay próximo ao host de destino é aberto ao invés de ser próximo ao cliente, tornando assim essa técnica de alta complexidade e alto overhead. Teredo é passível de ataques DoS (Denial-of-service), falsificação de endereço de hosts e relays da mesma forma que é possível no 6to4. 5.3. Técnicas de Tradução Quando um host ou uma rede tem configurado o protocolo IPv6 e necessita de um serviço exclusivo IPv4 ou vice e versa, é necessário um mecanismo de tradução. A seguir os mais comuns com as respectivas camadas de atuação. 5.3.1 Tradução na camada de rede SIIT (Stateless IP/ICMP Translation Algorithm) – RFC 2765 – mecanismo de tradução stateless, bidirecional, de cabeçalho IP que viabiliza a comunicação de nós nativamente configurados com o novo protocolo com outros nós que ainda estão configurados com IPv4. Também tem como função traduzir pacotes ICMPv4 para ICMPv6. BIS (Bump in the Stack) – RFC 2767 – opera na camada de aplicação e na de rede. No módulo tradutor, ao receber um pacote IPv4, converte os cabeçalhos para IPv6 e da mesma forma ao contrário. O segundo modo desempenhado pelo BIS é a possibilidade de retornar consultas DNS (Dynamic Name Server) realizadas por conexões v4 retornando endereços em v6, que por sua vez, são encaminhas para o terceiro módulo do mecanismo, address maper, que irá associar um endereço IPv4 a resposta do segundo módulo citado. 5.3.2 Tradução na camada transporte TRT (Transport Relay Translator) – RFC 3142 – realiza a tradução entre as versões na camada de transporte através de tráfego TCP/UDP, não exige a instalação de nenhum software adicional diferentemente de outros mecanismos de tradução, que com isso limitam sua possibilidade de implantação. O TRT é indicado para máquina com implementação de pilha dupla, a qual deve ser posicionada em um determinado ponto de conexão da rede. Havendo alguma solicitação por parte de um host IPv6 com outro host IPv4, é inserido um prefixo v6 falso no endereço v4 de destino. Ao passar pelo nó onde está configurado o TRT, o pacote é redirecionado para o host IPv4 encapsulado em pacote TCP ou UDP. 5.3.3 Tradução na camada aplicação Com a finalidade de realizar a tradução em hosts IPv6 e aplicações em IPv4, até mesmo o inverso. BIA (Bump in the API) – RFC 3338 – tem funcionalidades semelhantes ao BIS, realiza comunicação de hosts IPv6 com aplicações IPv4 que não tenham sido atualizados para IPv6, sem a necessidade de qualquer modificação na aplicação. No entanto, em vez de traduzir cabeçalhos IPv4 e IPv6, insere em hosts configurado com o mecanismo de pilha dupla, uma API com a finalidade de traduzir o socket API e o módulo TCP/IP, traduzindo socket IPv4 em socket IPv6 e vice versa. Assim, a técnica de tradução BIA pode ser útil nos estágios iniciais da transição, quando haverá muitos aplicativos para IPv4. 6. Conclusão Acredite ou não o esgotamento dos endereços IPv4 acontecerá em algum momento, mesmo que um grande acordo aconteça, e com isto seja devolvido os primeiros blocos /8 inteiros entregues para poucas empresas no inicio da Internet, o que adiaria o inevitável esgotamento. Não é de hoje que se emprega mecanismos de NAT para compartilhar endereços. Porém as novas aplicações e dispositivos requerem endereços válidos na Internet. Tudo isto somado ao anseio de mais segurança na rede mundial, surgiu a necessidade de um novo protocolo IP, o IPv6. Para facilitar o processo de transição existem várias técnicas, sendo a mais simples a da “pilha dupla” (dual stack), a qual consiste em utilizar endereços IPv4 e IPv6 simultaneamente. Também existem técnicas de tunelamento para interligação de redes IPv6 que se conectam através de rede IPv4 (Tunnel Broker, 6to4, ISATAP, Teredo), assim como técnicas de tradução de endereços que possibilitam a comunicação entre as redes IPv4 e IPv6 (SIIT, BIS, TRT e BIA). Com a finalidade de proporcionar uma transição suave e gradual, é recomendável a implementação de mecanismos de transição, devido as previsões apontarem um longo período de migração. 7. Bibliografia [1] – CCNA – 640-802 – Tutorial Conceitos de Endereçamento IP – Parte I. Acessado em agosto de 2010. http://www.netip-sec.com.br/?p=974 [2] – How NAT Works. Acessado em agosto de 2010. http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080094831.sht ml [3] – Tutorial de TCP/IP parte 1 – Uma introdução ao TCP/IP. Acessado em agosto de 2010. http://www.juliobattisti.com.br/artigos/windows/tcpip_p1.asp [4] – IPv6 – Wikipédia, a enciclopédia livre. Acesso em agosto de 2010. https://secure.wikimedia.org/wikipedia/pt/wiki/IPv6 [5] – Curso IPv6 básico – Módulo Introdução. Acesso em setembro de 2010. http://www.ipv6.br/pub/IPV6/MenuIPv6CursoPresencial/Modulo_Introducao.odp [6] – Entenda o esgotamento do IPv4. Acesso em setembro de 2010. http://www.ipv6.br/IPV6/ArtigoEsgotamentoIPv4 [7] – Redes, sub-redes, máscaras, CIDR – Como fica tudo isso com o IPv6? [Parte 1]. Acesso em setembro de 2010. http://bilgi.com.br/mr/ [8] – The Number Resource Organization. Acesso em setembro de 2010. http://nro.net/documents/presentations/jointstats-jun10.pdf [9] – Técnica de transição. Acesso em setembro de 2010. http://www.ipv6.br/IPV6/ArtigoTecnicasTransicaoParte05 [10] – Curso IPv6 básico - Módulo Transição. Acesso em setembro de 2010. http://www.ipv6.br/pub/IPV6/MenuIPv6CursoPresencial/Modulo_Transicao.odp [11] – Global Internet Resources Distribution. Acesso em setembro de 2010. http://nro.net/documents/presentations/jointstats-jun10.pdf [12] – AS6447 IPv6 BGP Table Data. Acesso em setembro de 2010. http://bgp.potaroo.net/v6/as6447/ [13] – RFC 791 – Internet Protocol Specification.. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc791#page-10 [14] – RFC 2460 – Internet Protocol, Version 6 (IPv6) Specification. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc2460#page-4 [15] – Curso IPv6 básico - Módulo Cabeçalho. Acesso em setembro de 2010. http://www.ipv6.br/pub/IPV6/MenuIPv6CursoPresencial/Modulo_Cabecalho.odp [16] – RFC 3775 – Mobility Support in IPv6. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc3775 [17] – RFC 2411 – IP Security Document Roadmap. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc2411 [18] – Curso IPv6 básico - Módulo Segurança. Acesso em setembro de 2010. http://www.ipv6.br/pub/IPV6/MenuIPv6CursoPresencial/Modulo_Seguranca.odp [19] – RFC 2373 – IP Version 6 Addressing Architecture. Acesso em agosto de 2010. http://tools.ietf.org/html/rfc2373 [20] – RFC 2406 – IP Encapsulating Security Payload (ESP).Acesso em setembro de 2010. http://tools.ietf.org/html/rfc2406 [21] – RFC 2402 – IP Authentication Header. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc2402 [22] – RFC 1918 – Address Allocation for Private Internets. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc1918 [23] – RFC 3053 – IPv6 Tunnel Broker. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc3053 [24] – RFC 3056 – Connection of IPv6 Domains via IPv4 Clouds. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc3056 [25] – RFC 5214 – Intra-Site Automatic Tunnel Addressing Protocol (ISATAP). Acesso em setembro de 2010. http://tools.ietf.org/html/rfc5214 [26] – RFC 4380 – Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs). Acesso em setembro de 2010. http://tools.ietf.org/html/rfc4380 [27] – RFC 2765 – Stateless IP/ICMP Translation Algorithm (SIIT). Acesso em setembro de 2010. http://tools.ietf.org/html/rfc2765 [28] – RFC 2766 – Network Address Translation - Protocol Translation (NAT-PT). Acesso em setembro de 2010. http://tools.ietf.org/html/rfc2766 [29] – RFC 2767 – Dual Stack Hosts using the "Bump-In-the-Stack" Technique (BIS). Acesso em setembro de 2010. http://tools.ietf.org/html/rfc2767 [30] – RFC 3142 – An IPv6-to-IPv4 Transport Relay Translator. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc3142 [31] – RFC 3039 – Internet X.509 Public Key Infrastructure Qualified Certificates Profile. Acesso em setembro de 2010. http://tools.ietf.org/html/rfc3039 [32] – IP Address Report. Acessado em outubro de 2010. http://www.potaroo.net/tools/ipv4/ [33] – Dual Stack Hosts Using "Bump-in-the-API" (BIA). Acessado em setembro de 2010. http://tools.ietf.org/html/rfc3338#page-3 [34] – Internet foi criada com objetivo militar. Acessado em setembro de 2010. http://www.al.rr.gov.br/M012/M0122015.asp?txtID_PRINCIPAL=1 [35] – Técnica de transição. Acessado em setembro de 2010. http://www.ipv6.br/IPV6/ArtigoTecnicasTransicaoParte01 [36] – Túneis 6to4. Acessado em setembro de 2010. http://www.ipv6.br/IPV6/ArtigoTuneis6to4