Neste módulo de introdução veremos um pouco da história da Internet. Ao analisar informações sobre o desenvolvimento do protocolo IP, entenderemos como o modelo de distribuição adotado e o rápido crescimento da Internet levaram ao consumo e esgotamento dos endereços IPv4. Na sequencia, serão apresentadas soluções aplicadas para tentar resolver esses problemas. Seguindo este histórico, veremos como algumas dessas soluções evoluíram até se chegar a definição da versão 6 do protocolo de internet, o IPv6. Show
Quer saber mais sobre o assunto? Consulte nos tópicos abaixo: A Internet começou com um projeto do Departamento de Defesa (DoD – Department of Defense) do governo estadunidense que, em 1966, por meio da Agência de Pesquisas e de Projetos Avançados (ARPA – Advanced Research Projects Agency), iniciou um projeto para a interligação de computadores em centros militares e de pesquisa. Este sistema de comunicação e controle distribuído com fins militares recebeu o nome de ARPANET, tendo como principal objetivo teórico formar uma arquitetura de rede sólida e robusta capaz, mesmo com a queda de alguma estação, de funcionar com os computadores e ligações de comunicação restantes. Em 1969, são instalados os primeiros quatro nós dessa rede, localizados na Universidade de Los Angeles (UCLA), na Universidade da Califórnia em Santa Bárbara (UCSB), no Instituto de Pesquisas de Standford (SRI) e na Universidade de Utah. No início, a ARPANET trabalhava com diversos protocolos de comunicação, com enfoque no NCP (Network Control Protocol). No entanto, em primeiro de janeiro de 1983, quando a rede atingiu a marca de 562 hosts, todas as máquinas da ARPANET passaram a adotar como padrão os protocolos TCP/IP. Essa mudança ocasionou o crescimento ordenado da rede, pois eliminou restrições dos protocolos anteriores. O protocolo IP foi definido na RFC 791 para prover duas funções básicas: a fragmentação, possibilitando o envio de pacotes maiores que o limite de tráfego estabelecido num enlace, com a divisão deles em partes menores; e o endereçamento, que permite identificar o destino e a origem dos pacotes a partir dos endereços armazenados no cabeçalho do protocolo. A versão de protocolo utilizada, desde aquela época até os dias atuais, é a 4, comumente referida com o nome do protocolo de IPv4. Apesar dessa versão se mostrar muito robusta, de fácil implantação e interoperabilidade, seu projeto original não previu alguns aspectos como:
Esgotamento dos endereços IPv4As especificações do IPv4 reservam 32 bits para endereçamento, o que possibilita gerar mais de 4 bilhões de endereços distintos. Inicialmente, estes endereços foram divididos em três classes de tamanhos fixos da seguinte forma:
Classe Formato Redes Hosts A 7 bits Rede, 24 bits Host 128 16.777.216 B 14 bits Rede, 16 bits Host 16.384 65.536 C 21 bits Rede, 8 bits Host 2.097.152 256 Embora o intuito dessa divisão tenha sido tornar a distribuição de endereços mais flexível, abrangendo redes de tamanhos variados, esse tipo de classificação mostrou-se ineficiente. A classe A atendia um número muito pequeno de redes e ocupava metade de todos os endereços disponíveis, enquanto que a classe C permitia criar muitas redes só que com poucos endereços disponíveis. Em outras palavras, ao mesmo tempo em que algumas classes acarretavam desperdícios, as outras não supriam a necessidade de endereços disponíveis. Para exemplificar o problema, imagine que precise-se endereçar 300 dispositivos em uma rede. Nessa situação seria necessário obter um bloco de endereços da classe B, desperdiçando assim quase o total dos 65 mil endereços. Outro fator que colaborava com o desperdício de endereços, foi a politica de distribuição de faixas classe A, as quais foram atribuídas integralmente a grandes instituições como IBM, AT&T, Xerox, HP, Apple, MIT, Ford, Departamento de Defesa Americano, entre muitas outras.Isso disponibilizava para cada uma 16.777.216 milhões de endereços que dificilmente seriam usadas por completo. Para complicar a situação, 35 faixas de endereços classe A foram reservadas para usos específicos como multicast, loopback e uso futuro. Em 1990, já existiam 313.000 hosts conectados a rede e estudos já apontavam para um colapso devido a falta de endereços. Além disso outros problemas também tornavam-se mais efetivos conforme a Internet evoluía, como o aumento da tabela de roteamento. Devido ao ritmo de crescimento da Internet e da política de distribuição de endereços, em maio de 1992, 38% das faixas de endereços classe A, 43% da classe B e 2% da classe C, já estavam alocados. Nesta época, a rede já possuía 1.136.000 hosts conectados. Em 1993, com a criação do protocolo HTTP e a liberação por parte do Governo estadunidense para a utilização comercial da Internet, houve um salto ainda maior na taxa de crescimento da rede, que passou de 2.056.000 de hosts em 1993 para mais de 26.000.000 de hosts em 1997. Distribuição dos endereços em 2008
Esta imagem mostra uma visualização das informações da tabela de roteamento BGP extraída do projeto Routeviews. Nela, o espaço de endereço IPv4 unidimensional é mapeado em uma imagem de bidimensional, onde blocos CIDR sempre aparecem como quadrados ou retângulos. RFC 1287 - Towards the Future Internet Architecture. RFC 1296 - Internet Growth (1981-1991) Solensky F., ‘Continued Internet Growth’, Proceedings of the 18th Internet Engineering Task Force, Agosto 1990, http://www.ietf.org/proceedings/prior29/IETF18.pdf IANA IPv4 Address Space Registry - http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml RFC 3330 - Special-Use IPv4 Addresses. http://maps.measurement-factory.com/ Diante desse cenário, a IETF (Internet Engineering Task Force) passa a discutir estratégias para solucionar a questão do esgotamento dos endereços IP e do aumento da tabela de roteamento. Em função disso, em novembro de 1991, é formado o grupo de trabalho ROAD (ROuting and Addressing), que apresenta como solução a estes problemas, a utilização do CIDR (Classless Inter-domain Routing). Definido na RFC 4632 (tornou obsoleta a RFC 1519), o CIDR tem como idéia básica o fim do uso de classes de endereços, permitindo a alocação de blocos de tamanho apropriado a real necessidade de cada rede; e a agregação de rotas, reduzindo o tamanho da tabela de roteamento. Com o CIDR os blocos são referenciados como prefixo de redes. Por exemplo, no endereço a.b.c.d/x, os x bits mais significativos indicam o prefixo da rede. Outra forma de indicar o prefixo é através de máscaras, onde a máscara 255.0.0.0 indica um prefixo /8, 255.255.0.0 indica um /16, e assim sucessivamente. Outra solução, apresentada na RFC 2131 (tornou obsoleta a RFC 1541), foi o protocolo DHCP (Dynamic Host Configuration Protocol). Através do DHCP um host é capaz de obter um endereço IP automaticamente e adquirir informações adicionais como máscara de sub-rede, endereço do roteador padrão e o endereço do servidor DNS local. O DHCP tem sido muito utilizado por parte dos ISPs por permitir a atribuição de endereços IP temporários a seus clientes conectados. Desta forma, torna-se desnecessário obter um endereço para cada cliente, devendo-se apenas designar endereços dinamicamente, através de seu servidor DHCP. Este servidor terá uma lista de endereços IP disponíveis, e toda vez que um novo cliente se conectar à rede, lhe será designado um desses endereço de forma arbitrária, e no momento que o cliente se desconecta, o endereço é devolvido. A NAT (Network Address Translation), foi outra técnica paliativa desenvolvida para resolver o problema do esgotamento dos endereços IPv4. Definida na RFC 3022 (tornou obsoleta a RFC 1631), tem como ideia básica permitir que, com um único endereço IP, ou um pequeno número deles, vários hosts possam trafegar na Internet. Dentro de uma rede, cada computador recebe um endereço IP privado único, que é utilizado para o roteamento do tráfego interno. No entanto, quando um pacote precisa ser roteado para fora da rede, uma tradução de endereço é realizada, convertendo endereços IP privados em endereços IP públicos globalmente únicos. Para tornar possível este esquema, utiliza-se os três intervalos de endereços IP declarados como privados na RFC 1918, sendo que a única regra de utilização, é que nenhum pacote contendo estes endereços pode trafegar na Internet pública. As três faixas reservadas são:
A utilização da NAT mostrou-se eficiente no que diz respeito a economia de endereços IP, além de apresentar alguns outros aspectos positivos, como facilitar a numeração interna das redes, ocultar a topologia das redes e só permitir a entrada de pacotes gerados em resposta a um pedido da rede. No entanto, o uso da NAT apresenta inconvenientes que não compensam as vantagens oferecidas. A NAT quebra o modelo fim-a-fim da Internet, não permitindo conexões diretas entre dois hosts, o que dificulta o funcionamento de uma série de aplicações, como P2P, VoIP e VPNs. Outro problema é a baixa escalabilidade, pois o número de conexões simultâneas é limitado, além de exigir um grande poder de processamento do dispositivo tradutor. O uso da NAT também impossibilita rastrear o caminho de pacote, através de ferramentas como traceroute, por exemplo, e dificulta a utilização de algumas técnicas de segurança como IPSec. Além disso, seu uso passa uma falsa sensação de segurança, pois, apesar de não permitir a entrada de pacotes não autorizados, a NAT não realiza nenhum tipo de filtragem ou verificação nos pacotes que passa por ela. A imagem abaixo mostra o quanto essas medidas ajudaram a diminuir o aumento da alocação de endereço: Embora estas soluções tenham diminuído a demanda por IPs, elas não foram suficientes para resolver os problemas decorrentes do crescimento da Internet. A adoção dessas técnicas reduziu em apenas 14% a quantidade de blocos de endereços solicitados à IANA e a curva de crescimento da Internet continuava apresentando um aumento exponencial. Essas medidas, na verdade, serviram para que houvesse mais tempo para se desenvolver uma nova versão do IP, que fosse baseada nos princípios que fizeram o sucesso do IPv4, porém, que fosse capaz de suprir as falhas apresentadas por ele. Deste modo, em dezembro de 1993 a IETF formalizou, através da RFC 1550, as pesquisas a respeito da nova versão do protocolo IP, solicitando o envio de projetos e propostas para o novo protocolo. Esta foi umas das primeiras ações do grupo de trabalho da IETF denominado Internet Protocol next generation (IPng). As principais questões que deveriam ser abordadas na elaboração da próxima versão do protocolo IP foram:
Diversos projetos começaram a estudar os efeitos do crescimento da Internet, sendo os principais o CNAT, o IP Encaps, o Nimrod e o Simple CLNP. Destas propostas surgiram o TCP and UDP with Bigger Addresses (TUBA), que foi uma evolução do Simple CLNP, e o IP Address Encapsulation (IPAE), uma evolução do IP Encaps. Alguns meses depois foram apresentados os projetos Paul’s Internet Protocol (PIP), o Simple Internet Protocol (SIP) e o TP/IX. Uma nova versão do SIP, que englobava algumas funcionalidades do IPAE, foi apresentada pouco antes de agregar-se ao PIP, resultando no Simple Internet Protocol Plus (SIPP). No mesmo período, o TP/IX mudou seu nome para Common Architecture for the Internet (CATNIP). Em janeiro de 1995, na RFC 1752 o IPng apresentou um resumo das avaliações das três principais propostas:
Entretanto, conforme relatado também na RFC 1752, todas as três propostas apresentavam problemas significativos. Deste modo, a recomendação final para o novo Protocolo Internet baseou-se em uma versão revisada do SIPP, que passou a incorporar endereços de 128 bits, juntamente com os elementos de transição e autoconfiguração do TUBA, o endereçamento baseado no CIDR e os cabeçalhos de extensão. O CATNIP, por ser considerado muito incompleto, foi descartado. Após esta definição, a nova versão do Protocolo Internet passou a ser chamado oficialmente de IPv6. RFC 1380 - IESG Deliberations on Routing and Addressing RFC 1918 - Address Allocation for Private Internets RFC 2131 - Dynamic Host Configuration Protocol RFC 2775 - Internet Transparency RFC 2993 - Architectural Implications of NAT RFC 3022 - Traditional IP Network Address Translator (Traditional NAT) RFC 3027 - Protocol Complications with the IP Network Address Translator RFC 4632 - Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan. RFC 1550 - IP: Next Generation (IPng) White Paper Solicitation RFC 1752 - The Recommendation for the IP Next Generation Protocol Habilitando IPv6 no WindowsA Microsoft lançou uma primeira versão experimental de suporte ao IPv6 em 1998, que podia ser instalada no Windows 95 ou no Windows 98. Entretanto ela apresentava muitas limitações, de modo que se algum usuário que ainda possua uma dessas duas versões do Windows instalada em sua máquina, deseje utilizar IPv6, é aconselhável que atualize a versão de seu Sistema Operacional para uma mais recente. Em maio de 2000, com o objetivo de fornecer aos desenvolvedores uma ferramenta que lhes permitisse trabalhar com IPv6, a Microsoft disponibilizou para o Windows 2000 o pacote IPv6 Technology Preview. Apesar de ainda ser um pouco limitado, ele apresenta algumas ferramentas úteis que são executáveis via linha de comando (estas ferramentas serão abordadas mais a frente). Aconselha-se a utilização deste pacote em sua rede apenas para testes, já que a Microsoft não oferece suporte oficial a essa versão. Com o lançamento da primeira versão do Windows XP, foi adicionada uma nova versão de suporte ao IPv6. Entretanto, ainda era uma versão de testes voltada a desenvolvedores. Apenas com a liberação do Service Pack 1 para o Windows XP, foi que Microsoft disponibilizou uma versão oficial de suporte ao IPv6. Desde de então, as versões mais recentes do Sistema Operacional Windows (XP SP2 e SP3, Server 2003, Vista, Server 2008 e 7) apresentam uma versão mais completa e aprimorada de suporte a esse novo protocolo. Verificando a Configuração do IPv6Abrir uma janela de comandos clicando sobre "Iniciar", depois em "Executar" e digite "cmd". Na linha de comandos digite o seguinte: ping6 -n 5 ::1 ou nas versões mais recentes do Windows: ping -n 5 ::1 Se o resultado for o seguinte (ou similar): Pinging ::1 from ::1 with 32 bytes of data: Reply from ::1: bytes=32 time<1ms Reply from ::1: bytes=32 time<1ms Reply from ::1: bytes=32 time<1ms Reply from ::1: bytes=32 time<1ms Reply from ::1: bytes=32 time<1ms Ping statistics for ::1: Packets: Sent = 5, Received = 5, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms significa que o IPv6 está instalado corretamente. No entanto, se o sistema não reconhecer este comando, siga as instruções abaixo de acordo com a versão do Windows instalada em sua máquina: Windows 2000 SP1 ou superior.1. Clique aqui para baixar o arquivo tpipv6-001205.exe; 2. Para iniciar a instalação imediatamente, clique em Abrir ou Executar, ou clique em Salvar para armazená-lo em seu disco rígido e prosseguir com a instalação posteriormente; 3. Após a instalação reinicie seu computador; 4. Em seguida, clique com o botão direito do mouse no ícone Ambiente de Rede (localizado em sua área de trabalho), clique em Propriedades; 5. Selecione Protocolo TCP/IP e clique em Instalar; 6. Selecione Protocolo e clique em Adicionar; 7. Selecione Microsoft TCP/IP versão 6 e clique em OK. 8. Agora, com o IPv6 já instalado, siga as instruções no topo desta página e certifique-se se ele está funcionando corretamente. Para desabilitar o IPv6 basta repetir o passo 4 e desmarque a opção Protocolo TCP/IP versão 6. Como destacado no início deste artigo, o pacote IPv6 Technology Preview apresenta algumas ferramentas úteis que são executáveis via linha de comando:
c:\ net start tcpipv6 c:\ net stop tcpipv6
Windows XP (sem Service Pack)Para instalar uma pilha IPv6 no Windows XP sem SP1/SP2/SP3, entre com uma conta de usuário com privilégios de administrador e, em seguida: 1. Abrir uma janela de comandos clicando sobre "Iniciar", depois em "Executar" e digite "cmd". 2. Na linha de comandos digite o seguinte: ipv6 install 3. Tecle Enter; 4. Agora, que você tenha instalado IPv6, siga as instruções no topo desta página, para se certificar de que está funcionando corretamente. Para desinstalar o IPv6 digite na linha de comando: ipv6 uninstall Obs.: Esta versão de pilha IPv6 é limitada. Para ter uma pilha IPv6 com todas as suas funcionalidades, é recomendável a utilização SP3 e a instalação de todas as atualizações, especialmente as que se referem a componentes da rede. Windows XP SP1 (ou superior) e Windows Server 20031. Clique em Iniciar, depois em Painel de Controle, e então Conexões de Rede; 2. Clique com o botão direto do mouse sobre a conexão desejada, depois clique em Propriedades; 3. Selecione Protocolo TCP/IP e clique em Instalar; 4. Selecione Protocolo e clique em Adicionar; 5. Selecione Microsoft TCP/IP versão 6 e clique em OK. 6. Agora, com o IPv6 já instalado, siga as instruções no topo desta página e certifique-se se ele está funcionando corretamente. Para desabilitar o IPv6 basta repetir o passo 1 e desmarque a opção Protocolo TCP/IP versão 6. Você também pode instalar o IPv6 via linha de comando: 1. Abrir uma janela de comandos clicando sobre "Iniciar", depois em "Executar" e digite "cmd". 2. Na linha de comandos digite o seguinte: netsh interface ipv6 install 3. Tecle Enter; Para desinstalar basta digitar na linha de comando o seguinte: netsh interface ipv6 uninstall e tecle Enter. Mais informações sobre os comandos via linha de comando podem ser obtidas em http://technet.microsoft.com/pt-br/library/cc740203%28WS.10%29.aspx. Windows Vista e Windows Server 2008O IPv6 é instalado e habilitado por padrão no Windows Vista e Windows Server 2008. A menos que esse tenha sido desativado, não será necessária nenhuma alteração. Além disso, esses Sistemas possuem não só as funcionalidades básicas como nas versões anteriores do Windows (XP e 2003), mas também novos recursos avançados como:
Ao contrário do Windows XP, o IPv6 no Windows Vista não pode ser desinstalado. Para desabilitá-lo de uma conexão específica faça o seguinte: 1. Abra a pasta Conexões de Rede; 2. Clique com o botão direito sobre a conexão desejada e clique em Propriedades; 3. Desabilite a opção Protocolo Internet versão 6 (TCP/IPv6). Este método desativa o IPv6 em suas conexões e interfaces LAN, mas não desativa interfaces em túneis IPv6. Para desativar seletivamente os componentes IPv6 e suas configurações no Windows Vista, crie e configure a seguinte chave de registro (tipo DWORD) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters\DisabledComponents DisabledComponents é marcado como 0 por padrão em todos os campos. O valor do registro DisabledComponents é uma máscara de bits que controla as seguintes opções:
Para determinar o valor do DisabledComponents para um conjunto específico de bits, construa um número binário constituído dos bits e seus valores na sua posição correta e converta o resultado para um número hexadecimal. Por exemplo, se você deseja desativar as interfaces 6to4 e Teredo, e preferir IPv4 a IPv6, você pode construir o seguinte número binários: 101010. Quando convertido para hexadecimal, o valor de DisabledComponents é 0x2A. A tabela a seguir lista algumas configurações comuns e o valor correspondente de DisabledComponents. Configuração DisabledComponents Desativar todas as interfaces túnel 0x1 Desativar 6to4 0x2 Desativar ISATAP 0x4 Desativar Teredo 0x8 Desativar Teredo e 6to4 0xA Desativar todas as interfaces PPP e LAN 0x10 Desativar todas as interfaces LAN, PPP, e túneis 0x11 Preferir IPv4 a IPv6 0x20 Desabilitar IPv6 em todas as interfaces e preferir IPv4 a IPv6 0xff É necessário reiniciar o computador para que as alterações no valor de registro DisabledComponents tenham efeito. Do mesmo modo que no Windows Vista e Windows Server 2008, o Windows 7 tráz a pilha IPv6 instalada e habilitada por padrão e o mesmo modo de configuração, ativação e desativação de recursos. A diferença principal está em algumas novas funcionalidades apresentadas:
Habilitando IPv6 no MAC OS XO suporte a IPv6 faz parte do pacote Mac OS X desde a versão 10,2 Jaguar e, por padrão, ele já vem habilitado. Entretanto, para verificar se ele realmente está habilitado em sua máquina, execute em uma janela do terminal o seguinte comando: ping6 -c5 ::1 Se o resultado for o seguinte (ou similar): $ ping6 -c5 ::1 PING6 (56 = 40 +8 +8 bytes):: 1 ->:: 1 A partir de 16 bytes:: 1, icmp_seq = 0 hlim = 64 tempo = 0,168 ms A partir de 16 bytes:: 1, icmp_seq = 1 hlim = 64 tempo = 0,156 ms A partir de 16 bytes:: 1, icmp_seq = 2 hlim = 64 tempo = 0,154 ms A partir de 16 bytes:: 1, icmp_seq = 3 hlim = 64 tempo = 0,237 ms A partir de 16 bytes:: 1, icmp_seq = 4 hlim = 64 tempo = 0,164 ms --- --- Localhost ping6 estatísticas 5 pacotes transmitidos, 5 pacotes recebidos, 0% packet perda ida e volta min / médio / max = ms 0.154/0.176/0.237 significa que o IPv6 está instalado corretamente. No entanto, se sistema não reconhecer este comando, siga as instruções abaixo: 1. Abra um terminal. 2. Digite /sbin/ifconfig -a para listar seus dispositivos. Você verá algo como: en0: flags=8863 mtu 1500 inet6 fe80::203:93ff:fe67:80b2%en0 prefixlen 64 scopeid 0x4 ether 00:03:93:67:80:b2 inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255 media: autoselect (none) status: active 3. Observe a linha que diz status: active, normalmente esta é definida com en0. Caso não seja, digite: sudo ip6config start-v6 en0; sudo ip6config start-stf en0 4. Agora, com o IPv6 já instalado, siga as instruções no topo desta página e certifique-se que ele está funcionando corretamente. Habilitando IPv6 no LinuxO primeiro código relacionado ao IPv6 foi adicionado ao kernel do Linux na versão 2.1.8 por Pedro Roque, ainda com muitas limitações. Com a versão 2.2.x o suporte ao IPv6 passou a ser compilado junto ao kernel e já apresentava maior estabilidade, entretanto ainda não vinha habilitado por padrão. Hoje em dia, a maioria das distribuições Linux já vem com o suporte ao IPv6 habilitado e com uma boa gama de funcionalidades disponíveis, possibilitando a utilização das principais novidades do IPv6. Para verificar se ele realmente está habilitado em sua máquina, execute em uma janela do terminal o seguinte comando: ping6 -c5 ::1 Se o resultado for o seguinte (ou similar): # ping6 -c 5 ::1 PING ::1(::1) 56 data bytes 64 bytes fro m ::1: icmp_seq=1 ttl=64 time=0.055 ms 64 bytes fro m ::1: icmp_seq=2 ttl=64 time=0.020 ms 64 bytes fro m ::1: icmp_seq=3 ttl=64 time=0.033 ms 64 bytes fro m ::1: icmp_seq=4 ttl=64 time=0.046 ms 64 bytes fro m ::1: icmp_seq=5 ttl=64 time=0.039 ms --- ::1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3996ms rtt min/avg/max/mdev = 0.020/0.038/0.055/0.013 ms significa que o IPv6 está instalado corretamente. No entanto, se sistema não reconhecer este comando ou retornar algum erro, siga as instruções abaixo: Primeiramente, certifique-se de que o kernel suporta IPv6. Tente carregar o módulo IPv6 digitando em uma janela do terminal: modprobe ipv6 Se este comando retornar um erro, significa que seu kernel não tem suporte ao IPv6. Nesse caso você deverá recompilar um kernel com suporte ao IPv6. Caso contrário, basta configurar sua distribuição Linux para carregar o módulo IPv6 automaticamente adicionando a linha: alias net-PF-10 ipv6 aos seguintes arquivos: RedHat - Fedora - Mandriva - SuSE: /etc/modprobe.conf Ubuntu - Debian - Slackware: /etc/modprobe.d/aliases Se algum dos arquivos citados acima não for encontrado procure por /etc/modules.conf. Para desabilitar o suporte ao IPv6 basta alterar a linha citada acima para: alias net-PF-10 off Agora, com o IPv6 já instalado, siga as instruções no topo desta página e certifique-se que ele está funcionando corretamente. Para tornar as configurações de endereçamento permanentes: RedHat - Fedora - Mandriva - SuSEAdicione ao arquivo etc/sysconfig/network a seguinte linha: NETWORKING_IPV6=yes IPV6_DEFAULTGW='endereço IPv6 do gateway' E adiconar ao arquivo /etc/sysconfig/network/ifcfg-'nome da interface' a seguinte linha: IPV6INIT=yes IP6ADDR='endereço IPv6/prefixo' Em seguida, reinicie as interfaces de rede: service network restart ou /etc/init.d/network restart Ubuntu - Debian - SlackwareAdicione ao arquivo /etc/network/interfaces o seguinte: iface eth0 inet6 static pre-up modprobe ipv6 address 'endereço IPv6' netmask 64 gateway 'endereço IPv6 do gateway' E reinicie a interface de rede: ifup –force eth0 Nesta seção, serão apresentadas as principais características do IPv6 a começar pela análise das mudanças ocorridas na estrutura de seu cabeçalho, seguido da explicitação das diferenças entre os cabeçalhos de ambas as versões, resaltando o que foi aprimorado no funcionamento do protocolo. Também, será detalhada o a utilização dos cabeçalhos de extensão e, o porquê dela melhorar o desempenho dos roteadores. O cabeçalho IPv4 é composto por 12 campos fixos, que podem ou não conter opções responsáveis por fazer com que o tamanho varie de 20 a 60 Bytes. Estes campos são destinados transmitir informações sobre:
Algumas mudanças foram realizadas no formato do cabeçalho base do IPv6 de modo a torná-lo mais simples. O número de campos foi reduzido para apenas oito e o tamanho foi fixado de 40 Bytes. Além disso, ele ficou mais flexível e eficiente com a adição de cabeçalhos de extensão que não precisam ser processados por roteadores intermediários. Tais alterações permitiram que, mesmo com um espaço de endereçamento quatro vezes maior que o do IPv4, o tamanho total do cabeçalho IPv6 fosse apenas duas vezes. Dentre essas mudanças, destaca-se a remoção de seis dos campos existentes cabeçalho IPv4, como resultado tanto da inutilização de suas funções quanto de sua reimplentação com o uso de cabeçalhos de extensão. A figura a seguir identifica esses campos. A primeira remoção foi a do campo "Tamanho do Cabeçalho" que tornou-se desnecessário uma vez que seu valor foi fixado. A seguir, os campos "Identificação", "Flags", "Deslocamento do Fragmento" e "Opções e Complementos" passaram a ter suas informações indicadas em cabeçalhos de extensão apropriados. Por fim, o campo "Soma de Verificação" foi descartado com o objetivo de deixar o protocolo mais eficiente já que outras validações são realizadas pelos protocolos das camadas superiores da rede. Outra alteração realizada com o intuito de agilizar o processamento foi a renomeação e reposicionamento de quatro campos conforme a tabela abaixo: IPv4 IPv6 Tipo de Serviço Classe de Serviço Tamanho Total Tamanho dos Dados Tempo de Vida (TTL) Limite de encaminhamento Protocolo Próximo Cabeçalho Além disso, o campo "Identificador de Fluxo" foi adicionado para possibilitar o funcionamento de um mecanismo extra de suporte a QoS (Quality of Service). Mais detalhes sobre este campo e mecanismo serão apresentados nas próximas seções. Por fim, os campos "Versão", "Endereço de Origem" e "Endereço de Destino" foram mantidos e apenas tiveram seus tamanhos alterados. 2.1. Campos do Cabeçalho IPv6Conforme a observado na figura acima, o cabeçalho do IPv6 está dividido nos seguintes campos:
Cabeçalhos de extensão Diferente do IPv4, que inclui no cabeçalho base todas as informações opcionais, o IPv6 trata essas informações através de cabeçalhos de extensão. Estes, localizam-se entre o cabeçalho base e o cabeçalho da camada de imediatamente acima e, não possuem quantidade ou tamanho fixo. Caso existam múltiplos cabeçalhos de extensão no mesmo pacote, eles serão adicionados em série formando uma “cadeia de cabeçalhos”. A figura abaixo exemplifica essa situação. As especificações do IPv6 definem seis cabeçalhos de extensão: Hop-by-Hop Options, Destination Options, Routing, Fragmentation, Authentication Header e Encapsulating Security Payload. A criação dos cabeçalhos de extensão do IPv6 teve a finalidade de aumentar a velocidade de processamento nos roteadores, visto que o único que deve ser processado em cada roteador é o Hop-by-Hop, enquanto que os demais são tratados apenas pelo nó de destino. Além disso, novos cabeçalhos podem ser definidos no protocolo sem a necessidade alterações no cabeçalho base. O esquema abaixo mostra o template de um cabeçalho de extensão. Hop-by-Hop Identificado pelo valor 00 no campo Próximo Cabeçalho, o cabeçalho de extensão Hop-by-Hop deve ser colocado imediatamente após o cabeçalho base IPv6. Suas informações devem ser examinadas por todos os nós intermediários do caminho do pacote até o destino. E, em sua ausência, os roteadores não precisam processar nada além do cabeçalho base, o que agiliza o encaminhamento de pacotes. Os seguintes campos estão presentes nesse cabeçalho:
O terceiro bit indica se a informação opcional pode mudar de rota (valor 1) ou não (valor 0). Até o momento existem dois tipos definidos para o cabeçalho Hop-by-Hop: Router Alert e Jumbogram:
RFC 2711 - IPv6 Router Alert Option Destination Options Identificado pelo valor 60 no campo Próximo Cabeçalho, o cabeçalho de extensão Destination Options deve ser processado apenas pelo nó de destino do pacote. A definição de seus campos é igual as do cabeçalho Hop-by-Hop. Ele é utilizado no suporte ao mecanismo de mobilidade do IPv6 através da opção Home Address, que contém o Endereço de Origem do Nó Móvel quando este está em transito. Routing Identificado pelo valor 43 no campo Próximo Cabeçalho, o cabeçalho de extensão Routing foi desenvolvido inicialmente para listar um ou mais nós intermediários que deveriam ser visitados até o pacote chegar ao destino, de forma semelhante às opções Loose Source e Record Route do IPv4. No entanto, esta função tornou-se obsoleta pela RFC5095 devido a problemas de segurança. Um novo cabeçalho Routing, Type 2, foi definido para ser utilizado como parte do mecanismo de suporte a mobilidade do IPv6. Segundo essa nova definição, ele deve carregar o Endereço de Origem do Nó Móvel em pacotes enviados pelo Nó Correspondente. As definições de cada campo desse cabeçalho são as seguintes:
RFC 3775 - Mobility Support in IPv6 - 6.4. Type 2 Routing Header RFC 5095 - Deprecation of Type 0 Routing Headers in IPv6 Fragmentation Identificado pelo valor 44 no campo Próximo Cabeçalho, o cabeçalho de extensão Fragmentation é utilizado quando o pacote IPv6 a ser enviado é maior que o Path MTU. As definições de cada campo do cabeçalho são as seguintes:
O processo de fragmentação é definido na seção de Funcionalidades Básicas. Authentication Header e Encapsulating Security Payload Os cabeçalhos de extensão Authentication Header (AH) e Encapsulating Security Payload (ESP), indicados respectivamente pelos valores 51 e 50 no campo Próximo Cabeçalho, fazem parte do cabeçalho IPSec. Embora as funcionalidades do IPSec sejam idênticas tanto no IPv4 quanto no IPv6, sua utilização com IPv6 é facilitada pelo fato de seus principais elementos integrarem essa nova versão do protocolo. Outros aspectos que também facilitam sua utilização são a inexistência de NAT IPv6 e o detalhamento dos cabeçalhos AH e ESP. Aspectos dos cabeçalhos de extensãoAlguns aspectos sobre os cabeçalhos de extensão devem ser observados. Primeiramente, estes cabeçalhos devem ser enviados segundo uma determinada ordem com o intuito de evitar que os nós intermediários tenham que processar toda a cadeia de cabeçalhos para decidir quais eles deverão tratar. Assim, os cabeçalhos importantes para todos os nós envolvidos no roteamento devem ser colocados em antes daqueles que são relevantes apenas para o destinatário final. A vantagem, é que um nó pode parar de analisar cabeçalhos assim que encontrar algum dedicado ao destino. Isso, melhora significativamente o desempenho dos roteadores pacotes, porque, em geral, apenas o processamento do cabeçalho base é necessário. Deste modo, a sequência a ser seguida é:
Vale também observar que, se um pacote for enviado para um endereço multicast, os cabeçalhos de extensão serão examinados por todos os nós do grupo. Em relação à flexibilidade oferecida pelos cabeçalhos de extensão, merece destaque o desenvolvimento do cabeçalho Mobility, que é utilizado por nós com suporte ao mecanismo de mobilidade IPv6. O protocolo IPv6 apresenta como principal característica e justificativa para o seu desenvolvimento, o aumento no espaço para endereçamento. É importante conhecermos as diferenças entre o endereçamento IPv4 e IPv6 e saber reconhecer a sintaxe dos endereços IPv6, os diferentes tipos existentes e suas principais características. No IPv4, o campo do cabeçalho reservado para o endereçamento possui 32 bits, com um máximo de 4.294.967.296 (232) endereços distintos.Na época de seu desenvolvimento, esta quantidade era considerada suficiente para identificar todos os computadores na rede e suportar o surgimento de novas sub-redes. No entanto, com o rápido crescimento da Internet, surgiu o problema da escassez dos endereços IPv4, motivando a criação de uma nova geração do protocolo IP. Assim, o IPv6 surgiu, com um espaço para endereçamento de 128 bits, podendo obter 340.282.366.920.938.463.463.374.607.431.768.211.456 endereços (2128). Este valor representa aproximadamente 79 octilhões (7,9x1028) de vezes a quantidade de endereços IPv4 e representa, também, mais de 56 octilhões (5,6x1028) de endereços por ser humano na Terra, considerando-se a população estimada em 6 bilhões de habitantes. Saiba mais consultando os tópicos abaixo: 1. Representação dos endereços32 bits dos endereços IPv4 são divididos em quatro grupos de 8 bits cada, separados por “.”, escritos com dígitos decimais. Por exemplo: 192.168.0.10. A representação dos endereços IPv6, divide o endereço em oito grupos de 16 bits, separando-os por “:”, escritos com dígitos hexadecimais (0-F). Por exemplo:
Na representação de um endereço IPv6, é permitido utilizar tanto caracteres maiúsculos quanto minúsculos. Além disso, regras de abreviação podem ser aplicadas para facilitar a escrita de alguns endereços muito extensos. É permitido omitir os zeros a esquerda de cada bloco de 16 bits, além de substituir uma sequência longa de zeros por “::”. Por exemplo, o endereço 2001:0DB8:0000:0000:130F:0000:0000:140B pode ser escrito como 2001:DB8:0:0:130F::140B ou 2001:DB8::130F:0:0:140B. Neste exemplo é possível observar que a abreviação do grupo de zeros só pode ser realizada uma única vez, caso contrário poderá haver ambigüidades na representação do endereço. Se o endereço acima fosse escrito como 2001:DB8::130F::140B, não seria possível determinar se ele corresponde a 2001:DB8:0:0:130F:0:0:140B, a 2001:DB8:0:0:0:130F:0:140B ou 2001:DB8:0:130F:0:0:0:140B. Esta abreviação pode ser feita também no fim ou no início do endereço, como ocorre em 2001:DB8:0:54:0:0:0:0 que pode ser escrito da forma 2001:DB8:0:54::. Outra representação importante é a dos prefixos de rede. Em endereços IPv6 ela continua sendo escrita do mesmo modo que no IPv4, utilizando a notação CIDR. Esta notação é representada da forma “endereço-IPv6/tamanho do prefixo”, onde “tamanho do prefixo” é um valor decimal que especifica a quantidade de bits contíguos à esquerda do endereço que compreendem o prefixo. O exemplo de prefixo de sub-rede apresentado a seguir indica que dos 128 bits do endereço, 64 bits são utilizados para identificar a sub-rede.
Esta representação também possibilita a agregação dos endereços de forma hierárquica, identificando a topologia da rede através de parâmetros como posição geográfica, provedor de acesso, identificação da rede, divisão da sub-rede, etc. Com isso, é possível diminuir o tamanho da tabela de roteamento e agilizar o encaminhamento dos pacotes. Com relação a representação dos endereços IPv6 em URLs (Uniform Resource Locators), estes agora passam a ser representados entre colchetes. Deste modo, não haverá ambiguidades caso seja necessário indicar o número de uma porta juntamente com a URL. Observe os exemplos a seguir:
Existem no IPv6 três tipos de endereços definidos:
Diferente do IPv4, no IPv6 não existe endereço broadcast, responsável por direcionar um pacote para todos os nós de um mesmo domínio. No IPv6, essa função foi atribuída à tipos específicos de endereços multicast. Os endereços unicast são utilizados para comunicação entre dois nós, por exemplo, telefones VoIPv6, computadores em uma rede privada, etc., e sua estrutura foi definida para permitir agregações com prefixos de tamanho flexível, similar ao CIDR do IPv4. Existem alguns tipos de endereços unicast IPv6: Global Unicast; Unique-Local; e Link-Local por exemplo. Existem também alguns tipos para usos especiais, como endereços IPv4 mapeados em IPv6, endereço de loopback e o endereço não-especificado, entre outros.
Identificadores de interface Os identificadores de interface (IID), utilizados para distinguir as interfaces dentro de um enlace, devem ser únicos dentro do mesmo prefixo de sub-rede.O mesmo IID pode ser usado em múltiplas interfaces em um único nó, porém, elas dever estar associadas a deferentes sub-redes. Normalmente utiliza-se um IID de 64 bits, que pode ser obtido de diversas formas. Ele pode ser configurado manualmente, a partir do mecanismo de autoconfiguração stateless do IPv6, a partir de servidores DHCPv6 (stateful), ou formados a partir de uma chave pública (CGA). Estes métodos serão detalhados no decorrer deste curso. Embora eles possam ser gerados randomicamente e de forma temporária, recomenda-se que o IID seja construído baseado no endereço MAC da interface, no formato EUI-64. Um IID baseado no formato EUI-64 é criado da seguinte forma:
Um endereço link local atribuído à essa interface seria FE80::4A1E:C9FF:FE21:850C. Endereços especiais Existem alguns endereços IPv6 especiais utilizados para fins específicos:
Algumas faixas de endereços também são reservadas para uso específicos:
Outros endereços, utilizados no início do desenvolvimento do IPv6 tornaram-se obsoletos e não devem mais ser utilizados:
Um endereço IPv6 anycast é utilizado para identificar um grupo de interfaces, porém, com a propriedade de que um pacote enviado a um endereço anycast é encaminhado apenas a interface do grupo mais próxima da origem do pacote. Os endereços anycast são atribuídos a partir da faixa de endereços unicast e não há diferenças sintáticas entre eles. Portanto, um endereço unicast atribuído a mais de uma interface transforma-se em um endereço anycast, devendo-se neste caso, configurar explicitamente os nós para que saibam que lhes foi atribuído um endereço anycast. Além disso, este endereço deve ser configurado nos roteadores como uma entrada separada (prefixo /128 – host route). Este esquema de endereçamento pode ser utilizado para descobrir serviços na rede, como servidores DNS e proxies HTTP, garantindo a redundância desses serviços. Também pode-se utilizar para fazer balanceamento de carga em situações onde múltiplos hosts ou roteadores provem o mesmo serviço, para localizar roteadores que forneçam acesso a uma determinada sub-rede ou para localizar os Agentes de Origem em redes com suporte a mobilidade IPv6. Todos os roteadores devem ter suporte ao endereço anycast Subnet-Router. Este tipo de endereço é formado pelo prefixo da sub-rede e pelo IID preenchido com zeros (ex.: 2001:db8:cafe:dad0::/64). Um pacote enviado para o endereço Subnet-Router será entregue para o roteador mais próximo da origem dentro da mesma sub-rede. Também foi definido um endereço anycast para ser utilizado no suporte a mobilidade IPv6. Este tipo de endereço é formado pelo prefixo da sub-rede seguido pelo IID dfff:ffff:ffff:fffe (ex.: 2001:db8::dfff:ffff:ffff:fffe). Ele é utilizado pelo Nó Móvel, quando este precisar localizar um Agente Origem em sua Rede Original. Endereços multicast são utilizados para identificar grupos de interfaces, sendo que cada interface pode pertencer a mais de um grupo. Os pacotes enviados para esses endereço são entregues a todos as interfaces que compõe o grupo. No IPv4, o suporte a multicast é opcional, já que foi introduzido apenas como uma extensão ao protocolo. Entretanto, no IPv6 é requerido que todos os nós suportem multicast, visto que muitas funcionalidades da nova versão do protocolo IP utilizam esse tipo de endereço. Seu funcionamento é similar ao do broadcast, dado que um único pacote é enviado a vários hosts, diferenciando-se apenas pelo fato de que no broadcast o pacote é enviado a todos os hosts da rede, sem exceção, enquanto que no multicast apenas um grupo de hosts receberá esse pacote. Deste modo, a possibilidade de transportar apenas uma cópia dos dados a todos os elementos do grupo, a partir de uma árvore de distribuição, pode reduzir a utilização de recurso de uma rede, bem como otimizar a entrega de dados aos hosts receptores. Aplicações como videoconferência, distribuição de vídeo sob demanda, atualizações de softwares e jogos on-line, são exemplos de serviços que vêm ganhando notoriedade e podem utilizar as vantagens apresentadas pelo multicast. Os endereços multicast não devem ser utilizados como endereço de origem de um pacote. Esses endereços derivam do bloco FF00::/8, onde o prefixo FF, que identifica um endereço multicast, é precedido por quatro bits, que representam quatro flags, e um valor de quatro bits que define o escopo do grupo multicast. Os 112 bits restantes são utilizados para identificar o grupo multicast. As flags são definidas da seguinte forma: O primeiro bit mais a esquerda é reservado e deve ser marcado com 0;
Os quatro bits que representam o escopo do endereço multicast, são utilizados para delimitar a área de abrangência de um grupo multicast. Os valores atribuídos a esse campo são o seguinte:
Deste modo, um roteador ligado ao backbone da Internet não encaminhará pacotes com escopo menor do que 14 (E em hexa), por exemplo. No IPv4, o escopo de um grupo multicast é especificado através do campo TTL do cabeçalho. A lista abaixo apresenta alguns endereços multicast permanentes: O endereço multicast solicited-node identifica um grupo multicast que todos os nós passam a fazer parte assim que um endereço unicast ou anycast lhes é atribuído. Um endereço solicited-node é formado agregando-se ao prefixo FF02::1:FF00:0000/104 os 24 bits mais a direita do identificador da interface, e para cada endereço unicast ou anycast do nó, existe um endereço multicast solicited-node correspondente. Em redes IPv6, o endereço solicited-node é utilizado pelo protocolo de Descoberta de Vizinhança para resolver o endereço MAC de uma interface. Para isso, envia-se uma mensagem Neighbor Solicitation para o endereço solicited-node. Com isso, apenas as interfaces registradas neste grupo examinam o pacote. Em uma rede IPv4, para se determinar o endereço MAC de uma interface, envia-se uma mensagem ARP Request para o endereço broadcast da camada de enlace, de modo que todas as interfaces do enlace examinam a mensagem. Com o intuito de reduzir o número de protocolos necessários para a alocação de endereços multicast, foi definido um formato estendido de endereço multicast, que permite a alocação de endereços baseados em prefixos unicast e de endereços SSM (source-specific multicast). Em endereços baseados no prefixo da rede, a flag P é marcada com o valor 1. Neste caso, o uso do campo escopo não altera, porém, o escopo deste endereço multicast não deve exceder o escopo do prefixo unicast “carregado” junto a ele. Os 8 bits após o campo escopo, são reservados e devem ser marcados com zeros. Na sequência, há 8 bits que especificam o tamanho do prefixo da rede indicado nos 64 bits que os seguem. Caso o prefixo da rede seja menor que 64 bits, os bits não utilizados no campo tamanho do prefixo, devem ser marcados com zeros. O campo identificador do grupo utiliza os 32 bits restantes. Note que, em um endereço onde a flag P é marcada com o valor 1, a flag T também deve ser marcada com o valor 1, pois este não representa um endereço definido pela IANA. No modelo tradicional de multicast, chamado de any-source multicast (ASN), o participante de um grupo multicast não controla de que fonte deseja receber os dados. Com o SSM, uma interface pode registrar-se em um grupo multicast e especificar as fontes de dados. O SSM pode ser implementado utilizando o protocolo MLDv2 (Multicast Listener Discovery version 2). Para um endereço SSM, as flags P e T são marcadas com o valor 1. Os campos tamanho do prefixo e o prefixo da rede são marcados com zeros, chegando ao prefixo FF3X::/32, onde X é o valor do escopo. O campo Endereço de Origem do cabeçalho IPv6 identifica o dono do endereço multicast. Todo endereço SSM tem o formato FF3X::/96. Os métodos de gerenciamento dos grupos multicast serão abordados no próximo módulo deste curso. Também é importante destacar algumas características relacionadas ao endereço apresentadas pela nova arquitetura do protocolo IPv6. Assim como no IPv4, os endereços IPv6 são atribuídos às interfaces físicas, e não aos nós, de modo que cada interface precisa de pelo menos um endereço unicast. No entanto, é possível atribuir a uma única interface múltiplos endereços IPv6, independentemente do tipo (unicast, multicast ou anycast) ou sub-tipo (loopback, link local, 6to4, etc.). Deste modo um nó pode ser identificado através de qualquer endereço das suas interfaces, e com isso, torna-se necessário escolher entre seus múltiplos endereços qual utilizará como endereço de origem e destino ao estabelecer uma conexão. Para resolver esta questão, foram definidos dois algoritmos, um para selecionar o endereço de origem e outro para o de destino. Esses algoritmos, que devem ser implementados por todos os nós IPv6, especificam o comportamento padrão desse nós, porém não substituem as escolhas feitas por aplicativos ou protocolos da camada superior. Entre as regras mais importantes destacam-se:
Estas regras devem ser utilizadas quando não houver nenhuma outra especificação. As especificações também permitem a configuração de políticas que possam substituir esses padrões de preferências com combinações entre endereços de origem e destino. 3. Políticas de alocação e designaçãoNa hierarquia das políticas de atribuição, alocação e designação de endereços, cada RIR recebe da IANA um bloco /12 IPv6. O LACNIC trabalha com o bloco 2800::/12, alocado em 03/10/2006. O NIC.br, por sua vez, usa o bloco 2804::/16 (que é parte desse bloco do LACNIC). Antes da alocação dos /12 para os RIRs houve também algumas alocações menores. O LACNIC, por exemplo recebeu em 01/11/2002 o bloco 2001:1200::/23, e depois o bloco 2800:0000::/23, em 17/11/2005 (este último incorporado posterormente ao 2800::/12). O NIC.br trabalha também com blocos menores, provenientes dessas alocações antigas, o 2001:1280::/25 e o 2801:0080::/26. Ou seja: - blocos do LACNIC: 2800::/12 e 2001:1200::/23. - blocos do NIC.br: 2804::/16, 2801:0080::/26 e 2001:1280::/25 (os blocos do NIC.br são subconjuntos dos blocos do LACNIC). A alocação mínima para ISPs é um bloco /32, no entanto, alocações maiores podem ser feitas mediante apresentação de justificativa de utilização. Um aspecto importante que merece destaque é que diferente do IPv4, com IPv6 a utilização é medida em relação ao número de designações de blocos de endereços para usuários finais, e não em relação ao número de endereços designados aos usuários finais. O NIC.br recomenda utilizar:
Para planejar a rede é preciso considerar que para cada rede física ou VLAN com IPv6 é preciso reservar um /64. Esse é o tamanho padrão e algumas funcionalidades, como a autoconfiguração dependem dele. É preciso considerar também a necessidade de expansão futura, assim como a necessidade de agregação nos protocolos de roteamento. Saiba como habilitar o protocolo IPV6 nas configurações dos roteadores mais conhecidos do mercado.A nova geração do protocolo IPV6 vem causando uma grande mudança na rede Internet, seja ela a nível de backbone ou para os usuários finais. Com o termino da disponibilidade do IPV4 a nível mundial ocorrido em 15 de Fevereiro de 2017 assunto amplamente difundido pelos órgãos competentes como IANA, LACNIC e IX.BR foram surgindo necessidades de suprir a grande demanda de IPs a nível mundial. A larga expansão do IoT (Internet of Things ) ou simplesmente Internet das coisas que promete uma mudança radical no conceito de eficiência das automações, na criação de sistemas autónomos, robótica, medicina dentre outros surgiu o IPV6. Hoje temos equipamentos totalmente compatíveis com o novo protocolo, mais atualmente como este protocolo ainda não esta muito difundido os fabricantes mantém a utilização do mesmo desabilitado. Neste post iremos tratar de como podemos habilitar o protocolo IPV6 nas marcas de roteadores mais conhecidas do mercado e que tenham sido homologados em nosso sistema. Roteador TP-Link modelos WR840N.Primeiramente faça o acesso a pagina de gerenciamento e configuração do roteador. Abra seu navegado se sua preferência dentre eles Mozilla Firefox, Google Chrome, Microsoft Edge, Safari, dentre outros... na aba de endereços digite 192.168.0.1 no modelo da TP link descrito acima, será aberto uma tela de login pedindo usuário e senha que deverá ser preenchido com as credenciais do seu aparelho. Ao abrir a tela de configuração deve-se acessar a aba da esquerda que permite a configuração do protocolo IPV6 assim como indicado na foto abaixo com uma seta na cor vermelha. Logo em seguida deve-se habilitar o protocolo assim como mostrado na sequência de setas de indicação na cor azul. 1º Habilitar o protocolo IPV6. 2º Habilitar o tipo de conexão IPV6 que será utilizado para tunelamento do protocolo. 3º Como estamos falando de um túnel PPPoE (Point-to-Point Protocol over Ethernet) que já possui as credenciais para ser estabelecida a conexão em IPV4, para o IPV6 basta habilitar a opção "A mesma sessão PPPoE com conexão IPV4" devera ser habilitada para que as credencias sejam compartilhadas entre os protocolos. 4º Na quarta opção deve-se utilizar na opção Tipo de Endereçamento a opção SLAAC para habilitar a auto incrementação do endereço de identificador de interface. 5º Depois das configurações feitas é preciso Salvar as informação. Na opção de LAN do roteador deve-se marcar na opção "Tipo de Endereço de Autoconfiguração:" a opção RADVD (Router Advertisement Daemon ) para anunciar os IPs de Link Local usando o protocolo LDP (Neighbor Discovery Protocol ) de acordo com a RFC 2461. Habilitar a opção RDNSS (Recursive DNS Server Option ) no Router Advertisement para receber o DNS em IPV6 fornecido pela ISP. Habilitar a opção em "Tipo de Configuração de Prefixo de Site" a opção "Direcionado" para receber os prefixos estabelecidos na interface WAN para a rede LAN. Em seguida Salve as configurações e reinicie o seu roteador. Se tudo estiver correto você estará recebendo em seu dispositivo de rede (roteador) as configurações de IPV4 e IPV6 compatibilizando sua rede com o que tem de mais estável, seguro e eficaz quando estamos falando de protocolo, compatibilizando suas navegação na Internet com ambos os protocolos no sistema Dual Stack ou popularmente falando sistema de Pilha Dupla. Para você testar se a sua conexão foi estabelecida em IPV6 veja a tela de status da sua conexão IPV6 no seu roteador, se você receber os IPs nas suas interfaces com mostrado abaixo você estará conectado da forma correta. Testando a conectividade em IPV6:Para testar sua conexão basta pingar para qualquer site que já disponibilize conectividade em IPV6 como os sites de UOL, Terra, Facebook, Google dentre outros, se tudo estiver correto sua resposta já será em IPV6 assim como mostrados nas imagens abaixo. Abra uma janela em "Iniciar + cmd" e digite: ping www.uol.com.br. A resposta já será em IPV6. Configuração do IPv6 em RouterOS para o cliente final em PPPoE. (adsbygoogle = window.adsbygoogle || []).push({});Segue a tela de configuração do RouterOS para utilizar o equipamento como CPE, ou seja, roteador que fica na casa do cliente final, a configuração é considerando o servidor PPPoE usando Mikrotik na versão 6.38.7 até a current 6.43.7 sem problemas. Versão beta tanto para servidor como cliente, apresenta problema ao delegar o PREFIX em caso de reconexões seguidas. No servidor está sendo usado:
Ambos com suporte a 4096 usuários. Para maiores informações sobre o protocolo segue um curso EAD gratuito https://cursoseventos.nic.br/curso/curso-basico-ipv6-ead/ ALERTA INICIAL: os endereços fe80:: que são criados automaticamente não devem ser apagados, então deixem eles quietos e ignorem a existência do mesmo. Em alguns dispositivos como J7, TV Sony, ChromeCast versão 1 e Moto Z Play, encontrei dificuldades para receber os IPs em casos que desconectava ou reiniciava o equipamento, ao marcar todas as 3 opções, isso não ocorria. Então recomendo que marque todas as 3 que vem desmarcada por default. Ao criar o endereço ::1/64, marcar o POOL utilizado na criação do DHCP Client, pois ao PPPoE se conectar o é criado os IPs dinamicamente utilizando o ::1 como gateway. O PPPoE Cliente se conectando os IPs serão apresentados de maneira automática, e foi fácil, né? As telas apresentadas estão aqui como uma forma de ajudar a todos implementar o protocolo a todos, então aqui está a implantação, para futuras manutenções, implentações e aprendizado sobre o mesmo, recomendo a todos fazer os cursos existente no mercado. Farei apenas menção ao curso do NIC.br. https://cursoseventos.nic.br/ Fonte: https://wiki.brasilpeeringforum.org/w/IPv6_no_Mikrotik_CPE Por: Leonardo Paixão Qual a Maior Diferença entre IPv4 e IPv6?A maior diferença entre IPv4 e IPv6 com certeza é o número de endereços IP disponíveis em cada um dos protocolos. No IPv4 temos 4,294,967,296 endereços, enquanto no IPv6 temos um total de 340,282,366,920,938,463,463,374,607,431,768,211,456 endereços IP. Note abaixo como a diferença é gritante: IPv4: 4,294,967,296 IPv6: 340,282,366,920,938,463,463,374,607,431,768,211,456 Esta diferença de valores entre o IPv4 e o IPv6 representa aproximadamente 79 octilhões de vezes a quantidade de endereços IPv6 em relação a endereços IPv4, além disso, mais de 56 octilhões de endereços por ser humano na Terra, considerando-se a população estimada em 6 bilhões de habitantes. Tecnicamente as funcionalidades da Internet continuarão as mesmas com a introdução do IPv6 na rede e, com certeza, ambas versões do protocolo IP deverão funcionar ao mesmo tempo, tanto nas redes já implantadas em IPv4 como em novas redes que serão montadas. Atualmente as redes que suportam IPv6 também suportam o IPv4 e ambos protocolos deverão ser utilizados por um bom tempo ainda. Acompanhe na tabela onde mostramos uma comparação simples em termos somente do formato dos endereços e quantidades. Outras Diferenças Importantes entre IPv4 e IPv6Outras diferenças importantes são a introdução dos endereços de anycast e a retirada dos endereços de broadcast. Isso mesmo, o grande vilão do IPv4, o broadcast, no IPv6 não existe mais. Agora no IPv6 temos endereços de unicast, multicast e anycast. Caso seja necessário enviar uma mensagem a todos os hosts pode-se utilizar um pacote de multicast para o endereço de link-local de destino chamado de “all nodes address” (FF02::1). Outro ponto importante é que no IPv6 ainda temos a parte de rede, subrede e host, como no IPv4, mas não utilizamos mais o termo máscara e sim somente prefixo. O prefixo do IPv6 tem a mesma funcionalidade do prefixo do CIDR e conta a quantidade de bits de rede ou subrede que a máscara tem, sendo que os bits 1 continuam indicando a porção de redes e os bits zero os hosts. No exemplo dado na tabela anterior temos a rede 3FFE:F200:0234::/48 e o /48 representa o prefixo dessa rede, ou seja, os primeiros 48 bits do endereço são bits de rede e os demais 80 bits (128-48) são de host. Isso mesmo, temos 80 bits para hosts nesse exemplo. O cabeçalho do pacote IPv6 é bem mais simples que o do IPv4, contendo apenas 8 campos principais e caso serviços adicionais sejam necessários existem extensões de cabeçalho que podem ser utilizadas. O cabeçalho (header) básico está na figura abaixo. A descrição de cada campo segue abaixo:
Aqui vem mais uma diferença do IPv6, pois no IPv4 o cabeçalho base continha todas as informações principais e opcionais (mesmo que não fossem utilizadas). Já o IPv6 trata essas informações adicionais como cabeçalhos opcionais chamados de “cabeçalhos de extensão”. Os cabeçalhos de extensão são inseridos entre o cabeçalho base e o cabeçalho da camada imediatamente acima (payload), não tendo nem quantidade ou tamanho fixo. Caso existam múltiplos cabeçalhos de extensão no mesmo pacote, eles serão encadeados em série formando uma “cadeia de cabeçalhos”. Portanto, o cabeçalho do IPv6 além de ser mais simples que o do IPv4, também trata de questões como QoS e segurança de maneira nativa, ou seja, dentro do próprio cabeçalho sem a necessidade de implementações e recursos adicionais como era necessário para o IPv4. Tipos de Comunicação e Endereços em IPv6Como já citado anteriormente, no IPv6 não temos mais os endereços e a comunicação via broadcast. Os endereços de unicast e multicast continuam existindo e com a mesma função em ambas versões de protocolo, porém foi criado um tipo a mais de endereçamento chamado de anycast. Veja abaixo a descrição resumida de cada um deles:
Escrevendo e Entendendo um Endereço IPv6Antes de falar de como o endereçamento é dividido vamos ver como podemos escrever um endereço IPv6 (notação em hexadecimal) e também as partes que o compõe. Oo endereço IPv6 possui 128 bits e é escrito em hexadecimal, diferente do IPv4 que eram 32 bits (4 conjuntos de 8 bits escritos em decimal pontuado). Portanto, agora cada algarismo de um IPv6 pode ter os números de 0 a 9, assim como as letras de A a F, totalizando 16 algarismos, por isso o nome hexadecimal. Veja quanto vale de A a F em decimal (você pode escrever as letras do hexadecimal tanto em maiúsculo como em minúsculo, tanto faz!):
Como cada algarismo em hexadecimal tem 4 bits, em 128 bits temos um total de 32 algarismos hexadecimais divididos de 4 em 4, ou seja, oito conjuntos de quatro algarismos em hexadecimal separados por dois pontos “:” (não mais pelo ponto “.” como era no IPv4). Um exemplo de IPv6 é “2000:1234:ade4:ffa0:2234:0000:0000:0012”. Resumo das Diferenças entre IPv4 e IPv6
Fonte: Configuração do IPv6 em RouterOS para o cliente final em PPPoE.Segue a tela de configuração do RouterOS para utilizar o equipamento como CPE, ou seja, roteador que fica na casa do cliente final, a configuração é considerando o servidor PPPoE usando Mikrotik na versão 6.38.7 até a current 6.43.7 sem problemas. OBS.: Versão beta tanto para servidor como cliente, apresenta problema ao delegar o PREFIX em caso de reconexões seguidas. No servidor está sendo usado: Túnel utilizando 1 /52 com prefix length /64 ALERTA INICIAL: os endereços fe80:: que são criados automaticamente não devem ser apagados, então deixem eles quietos e ignorem a existência do mesmo. Em alguns dispositivos como J7, TV Sony, ChromeCast versão 1 e Moto Z Play, encontrei dificuldades para receber os IPs em casos que desconectava ou reiniciava o equipamento, ao marcar todas as 3 opções, isso não ocorria. Então recomendo que marque todas as 3 que vem desmarcada por default. Ao criar o endereço ::1/64, marcar o POOL utilizado na criação do DHCP Client, pois ao PPPoE se conectar o é criado os IPs dinamicamente utilizando o ::1 como gateway. O PPPoE Cliente se conectando os IPs serão apresentados de maneira automática, e foi fácil, né? As telas apresentadas estão aqui como uma forma de ajudar a todos implementar o protocolo a todos, então aqui está a implantação, para futuras manutenções, implentações e aprendizado sobre o mesmo, recomendo a todos fazer os cursos existente no mercado. Farei apenas menção ao curso do NIC.br. https://cursoseventos.nic.br/ Não importa a instituição de ensino, busquem sempre o conhecimento, quem tem a ganhar são seus clientes e você mesmo. Abraço a todos. Fonte: https://wiki.brasilpeeringforum.org/w/IPv6_no_Mikrotik_CPE Qual mensagem IPv6 é enviada quando o campo de limite de salto IPv6 de um pacote é diminuído para zero e o pacote não pode ser encaminhado?Se um roteador recebe um pacote e diminui o campo TTL do pacote IPv4 para zero, ele descarta o pacote e envia uma mensagem de tempo excedido para o host origem. O ICMPv6 também envia uma mensagem de tempo excedido se o roteador não consegue encaminhar um pacote IPv6 porque o pacote expirou.
Qual o tipo de mensagem IPv6 é usada equivalente ao ARP para resolução de endereços?Quais são os dois tipos de mensagens IPv6 usados no lugar do ARP para resolução de endereços? Explicação: IPv6 não usa ARP. Em vez disso, a descoberta de vizinho ICMPv6 é usada enviando mensagens de solicitação e anúncio de vizinho.
Que tipo de endereço IPv6 e FE80 :: 1?Os endereços Link Local começam sempre por FE80 (1111 1110 1000 0000). Tal como no IPv4, serve para uma máquina enviar um pacote para si mesma. Este tipo de endereços não pode ser atribuído a uma interface física. O endereço Loopback IPv6 é ::1.
Quais são os dois tipos de endereços unicast IPv6 escolha duas?Quais são os dois tipos de endereços unicast IPv6? (Escolha dois.) Explicação: Multicast, anycast e unicast são tipos de endereços IPv6.
|