Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Internet Protocol versão 6 Caroline Carvalho Machado I. Introdução IPv6 é uma nova versão do Protocolo Internet que foi concebido como um processo evolutivo do IPv4 e não uma revolução. No começo da década de 1990 a IETF iniciou um esforço para desenvolver o sucessor do protocolo IPv4 devido ao esgotamento de endereços IP de 32 bits, esse esforço denominado Next IP Generation (IPng) resultou no IPv6 [11]. Desde 2005 o consumo de endereços IPv4 é de cerca de 160 milhões de endereços por ano, em 2008 começou a funcionar fora do espaço de endereços IPv4. O uso relativo de IPv6 atualmente, em comparação com o IPv4 está aumentando, de modo que o uso do IPv6 está crescendo a uma taxa ligeiramente mais rápida que o crescimento da Internet [9]. Embora o IPv6 ainda seja uma proporção muito pequena da Internet IPv4. Muitas funções que funcionam no IPv4 foram mantidas no IPv6 em IPv4, já as que não funcionam ou são raramente usadas foram removidas ou se tornaram optativas. Alguns novos recursos cuja funcionalidade é considerada necessária foram [12]. II. IPv6 i. Formato do Pacote O formato de pacote é descrito no RFC 2460 [5] e por Kurose e Ross [11]. O cabeçalho agora possui 40 bytes fixo permitindo um processamento mais veloz do datagrama IP. Versão Classe de tráfego Rótulo de fluxo Comprimento da carga útil Próximo cabeçalho (Hdr) Limite de saltos Endereço da fonte Endereço do destino Dados 2 Versão 4 bits Número da versão do protocolo de internet (6). Classe de tráfego 8 bits Campo de classe de tráfego. Rótulo de fluxo 20 bits Rotula pacotes que pertencem a fluxos particulares para os quais o remetente requisita tratamento especial Comprimento da carga útil 16 bits O restante do pacote após o cabeçalho IPv6 em octetos. Qualquer cabeçalhos de extensão presentes são consideradas parte da carga útil, portanto são incluídos na contagem de comprimento. Próximo cabeçalho (Hdr) 8 bits Seletor. Identifica o tipo de cabeçalho imediatamente a seguir ao cabeçalho IPv6. Usa os mesmos valores que o IPv4. Limite de saltos 8 bits Decrementado em 1 por cada nó que encaminha o pacote. O pacote é descartado se o limite de saltos chegar a zero. Endereço da fonte 128 bits Endereço do remetente do pacote. Endereço do destino 128 bits Endereço do destinatário do pacote Dados Carga útil do pacote IPv6. Quando o datagrama alcança seu destino, a carga útil pode ser extraída e passada adiante para o protocolo especificado no campo “Próximo cabeçalho”. ii. Endereço O IPv6 define três tipos de endereços. Um endereço unicast especifica um único host. Um endereço anycast é aquele que é atribuído a mais de uma interface única, geralmente pertencentes a diferentes nós IPv6, como um conjunto de roteadores pertencentes a um ISP. Um pacote enviado para um endereço anycast é entregue a um dos rotadores identificados por esse endereço. Um endereço multicast também identifica um conjunto de hospedeiros; um pacote enviado a um endereço de multicast é entregue a todos os hosts no grupo. Note-se que não há nenhum endereço de broadcast em IPv6 como em IPv4, uma vez que a função é fornecida por endereços multicast [8]. O mecanismo de autoconfiguração stateless do IPv6 permite que um hospedeiro gere seus próprios endereços usando uma combinação de informações locais e informações dos roteadores. Roteadores fornecem prefixos que identificam a sub-rede associada ao link, enquanto hosts geram um "idenfificador de interface" que identifica uma interface em uma sub-rede. Um endereço é formado pela combinação dos dois. Na ausência de roteadores, um host só pode gerar endereços link-local. No entanto, os endereços link-local são suficientes para permitir a comunicação entre os nós conectados ao mesmo link. Os endereços IPv6 são arrendados a uma interface para um (possivelmente infinito) período de tempo fixo. Cada endereço tem um tempo de vida associado que indica quanto tempo o endereço está ligado a uma interface. Quando um tempo de vida expira, a ligação (e endereço) se torna inválida e o endereço pode ser reatribuído a outra interface em outros lugares na Internet [13]. Espaço de endereçamento IPv6 deve ser gerenciado de uma forma prudente com relação aos interesses de longo prazo da Internet. Gestão de espaço de endereço responsável envolve balancear um conjunto de objetivos muitas vezes concorrentes. Toda designação e/ou alocação de endereço deve garantir a unicidade global, este deve ser registrado em um banco de dados acessível aos membros da comunidade da Internet. 3 Sempre que possível, espaço de endereçamento deve ser distribuído de uma maneira hierárquica, de acordo com a topologia da infraestrutura da rede. Embora o IPv6 forneça um grande de espaço de endereçamento, deve-se evitar desperdício. Solicitações para endereçamento devem ser amparadas por documentação e armazenamento de endereços não utilizados apropriadamente devem ser evitados [2]. iii. ICMPv6 ICMPv6 (Internet Control Message Protocol) é usado por nós IPv6 para relatar erros encontrados no processamento de pacotes e para executar outras funções da camada de rede que estão além do alcance do IP. ICMPv6 é parte integrante do IPv6 e deve ser integralmente executado por cada nó IPv6 [4]. ICMPv6 mensagens são agrupadas em duas classes: mensagens de erro e mensagens informativas. Mensagens de erro são identificados como tal por um zero no bit de mais alta ordem. Sempre que os dados viajam do emissor ao receptor, se estes forem incapazes de chegar no receptor o ICMPv6 envia uma mensagem de erro que informa sobre o estado do pacote. Mensagens de erro do ICMPv6 são [8]: • Destino inacessível: Enviado quando um pacote não pode ser entregue ao seu endereço de destino por diferentes razões de congestionamento; • Pacote muito grande: enviado por um roteador quando se tem um pacote que não pode encaminhar porque o pacote é maior que o MTU do link de saída; • Tempo excedido: enviado por um roteador que, quando o limite de saltos chega a zero ou se todos os fragmentos de um datagrama não são recebidos dentro do tempo. III. IPv4 vs. IPv6 Alguns campos presentes no IPv4 foram descartados ou passaram a ser opcionais. O IPv6 não permite fragmentação e remontagem em roteadores intermediários, essas operações podem ser realizadas somente pela fonte e pelo destino. Como os protocolos da camada de transporte e de enlace de dados nas camadas da internet realizam soma de verificação, os projetistas acharam essa funcionalidade redundante e a retiraram. O campo opções não faz mais parte do cabeçalho-padrão IP mas passou a ser um dos possíveis próximos cabeçalhos que poderão ser apontados pelo cabeçalho do IPv6 [11]. O campo TTL do IPv4 foi substituído pelo limite de saltos. Extensões para suportar a autenticação, integridade de dados e confidencialidade (opcional) Os dados são especificados para IPv6 [5]. IPv4 limita pacotes para 65.535 octetos de carga útil. Um nó IPv6 pode lidar com pacotes além deste limite, referidas como jumbograms. Jumbograms não precisam ser implementados ou compreendidos por nós IPv6 que não suportam MTUs tão grandes [3]. IV. Transição para o IPv6 Há várias maneiras de fazer com que nós IPv6 interajam com nós IPv4, uma maneira direta é a abordagem de pilha dupla, na qual um nó inclui tanto IPv4 quanto IPv6 em paralelo. Esse nó denominado IPv6/IPv4, estaria habilitado a enviar e receber tanto datagramas IPv4 quanto IPv6. Ao interagir com 4 um nó IPv4, um nó IPv6/IPv4 poderá usar datagramas IPv4; ao interagir com um IPv6, poderá utilizar IPv6 [11]. Nessaabordagem é possível que dois nós habilitados para IPv6 acabem, em essência, enviando datagramas IPv4 um para o outro devido a nós intermediários suportarem apenas IPv4. Assim os datagramas IPv4 que chegarem não conterão todos os campos que estavam no datagrama IPv6 original. Normalmente, o modelo de pilha dupla é usado para a transição, mas esta abordagem exige que, para usar o IPv6, hosts e infra-estrutura devam ser atualizadas para pilha dupla o que não pode ser satisfeito por meio de dispositivos antigos, a atualização induz um custo enorme sobre o regime de transição, também vai aumenta a complexidade da rede [1]. Uma alternativa para a abordagem de pilha dupla é conhecida como implantação de túnel e pode resolver o problema observado anteriormente. Para que o nó final receba o datagrama original, este é colocado no campo de dados de um datagrama IPv4 que é repassado por nós intermediários que suportam apenas IPv4. O nó final determina que o datagram a IPv4 contém um datagrama IPv6, extrai este datagrama e roteia para o datagrama IPv6 original para o seu destino habilitado para IPv6. Essa técnica requer que apenas as duas extremidades do túnel sejam equipadas para apoiar ambos os protocolos. O mecanismo "IPv6 sobre IPv4” é uma das opções disponíveis para a transição do IPv4 para o IPv6. Ele permite que um site execute IPv4 e IPv6 em coexistência, sem ter de configurar hosts IPv6 ou IPv4 compatível com endereço ou túneis. Entretanto o roteador e o host deverão estar habilitados no modo "6over4". Um site pode optar por iniciar sua transição IPv6 configurando um roteador IPv6 para apoiar "6over4" em uma interface conectada ao domínio IPv4 do site e outro formato IPv6 em uma interface conectado à Internet IPv6. Quaisquer hosts habilitados a "6over4" serão capazes de se comunicar tanto com o roteador e com a Internet IPv6, sem configuração manual de um túnel e sem a necessidade de um endereço IPv6 compatível com IPv4 [10]. A Internet atual se utiliza de vários túneis ao longo da estrutura IPv4 existente. Esses túneis são difíceis de configurar e manter em um ambiente de grande escala. Sendo assim foi desenvolvimento o modelo de corretor de túnel para ajudar usuários a se ligarem a uma rede IPv6 existente e obter endereços IPv6 e nomes DNS estáveis e permanentes [6]. V. Segurança O termo IPsec se refere a um conjunto de protocolos do IETF que fornecem criptografia de camada de rede e autenticação para redes baseadas em IP. Embora IPSec também esteja disponível para implementações IPv4 ele é opcional. Suporte para IPSec em implementações IPv6 não é uma opção, mas uma exigência. Em IPv6, IPSec é implementado usando o cabeçalho de autenticação (AH) e o cabeçalho de extensão Encapsulating Security Payload (ESP). Além disso, porque a maioria das violações de segurança ocorrem no nível do aplicativo, até mesmo a implantação bem-sucedida de IPsec com IPv6 não garante qualquer segurança adicional para os ataques para além da sua capacidade para determinar a origem do ataque [7]. De acordo com a especificação do protocolo IPv6, todos os nós IPv6 deve ser capaz de processar cabeçalhos de roteamento. Infelizmente, os cabeçalhos de encaminhamento pode ser usado para evitar os controles de acesso com base em endereços de destino. De acordo com a especificação do protocolo IPv6, a fragmentação de pacotes por nós intermediários não é permitido. Por motivos de segurança, é altamente recomendável descartar todos os fragmentos 5 com menos de 1280 octetos a menos que o pacote seja o último no fluxo. Através do envio de um grande número de pequenos fragmentos um invasor pode causar uma sobrecarga de buffers de reconstrução no sistema de destino. Especificação ICMPv6 permite que uma resposta de notificação de erro seja enviada para os endereços multicast (se um pacote foi direcionado para um endereço de multicast). Esse fato pode ser mal utilizado por um invasor. Ao enviar um pacote adequado para um endereço de multicast um atacante pode causar várias respostas orientadas para a vítima. Referências [1] AL-ANI, M.S.; HADDAD, R.A.A. IPv4/IPv6 Transition. International Journal of Engineering Science and Technology, v. 4, n. 12, p. 4815-4822, 2012. [2] APNIC, A.; RIPE, NCC. Ipv6 address allocation and assignment policy. Ripe-641, 2015. [3] BORMAN, D.A.; DEERING, S.E.; HINDEN, R.M. IPv6 Jumbograms. Network Working Group, RFC v. 2675, 1999. [4] CONTA, A.; GUPTA, M. Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification. Network Working Group, RFC v. 4443, 2006. [5] DEERING, S.E. Internet protocol, version 6 (IPv6) specification. Network Working Group, RFC, v. 2460, 1998. [6] DURAND, A.; Fasano, P.; Guardini, I.; Lento, D. IPv6 tunnel broker. Network Working Group, RFC v. 3053, January, 2001. [7] DURDAĞI, E.; BULDU, A. IPV4/IPV6 security and threat comparisons. Procedia-Social and Behavioral Sciences, v. 2, n. 2, p. 5285-5291, 2010. [8] GUPTA, M. IPV4 vs. IPV6. 2010. [9] HUSTON, G.; MICHAELSON, G. IPv6 Deployment: Just where are we? The ISP Column, p. 2008-04, 2008. [10] JUNG, C.; CARPENTER, B.E. Transmission of IPv6 over IPv4 Domains without Explicit Tunnels. Network Working Group, RFC v. 2529, 1999. [11] KUROSE, J.F.; ROSS, K.W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed. Pearson Education, 2010. [12] MANKIN, A.; BRADNER, S. The Recommendation for the IP Next Generation Protocol. ISI, Network Working Group, RFC, v. 1752, 1995. [13] THOMSON, S. IPv6 Stateless Address Autoconfiguration. Network Working Group, RFC v. 4862, 1998.
Compartilhar