IPv6 - O que é


As características que definem o protocolo IPv6 são:

 Endereçamento

A nível de endereçamento, o IPv6 apresenta um aumento do tamanho dos endereços de 32 para 128 bits e define três classes básicas:

Para cada tipo de endereço, existem ainda divisões a nível de visibilidade. No caso de endereços unicast, foram já definidos três tipos: Foi também definido para a transição o endereço unicast IPv6 compatível com IPv4, a utilizar em máquinas que implementam os dois protocolos.

No IPv6, não existe endereço broadcast, sendo a sua funcionalidade conseguida através da utilização dos diferentes tipos de endereços multicast.

Notação

O IPv6 apresenta uma nova notação de endereços, para evitar que estes se tornem demasiado longos. Assim, os endereços IPv6 são escritos como oito números hexadecimais separados por ":". Cada grupo representa 16 bits:

       3FFE:3100:0000:0000:0000:0000:0000:1111

Devido à sua estrutura, os endereços IPv6 podem apresentar grande número de "0". Assim, para simplificar a notação, utiliza-se o símbolo "::" para representar vários grupos de 16 bits a zero:

       3FFE:3100::1111 equivale a 3FFE:3100:0000:0000:0000:0000:0000:0000:1111.

Hierarquia

O IPv6 introduz uma nova hieraquia de endereçamento, apresentada na figura 1:

Figura 1.1 - Hierarquia de Endereçamento IPv6.



No topo desta hierarquia encontram-se entidades encarregues do registo e atribuição de blocos de endereços a TLA - Top Level Aggregators. Actualmente, a entidade encarregue destas funções é a 6bone, dado que o espaço de endereçamento IPv6 ainda se encontra em fase de testes. Um TLA é um fornecedor de serviços e representa um ponto de troca pública entre grandes operadores de rede e redes globais. Os TLA podem delegar endereços a NLA - Next Level Aggregators ou a SLA - Site Level Aggregators. Um NLA representa uma entidade que pretende delegar espaço a outras entidades. Um SLA representa uma entidade que pretende ter conectividade IPv6 mas não pretende delegar endereços.

Figura 1.2 - Formação do Endereço IPv6.

O IPv6 é formado, pelo RPT ( Public Routing Topology ) que é um código de 48 bits que é formado pelo número do TLA + NLA e que será o número da rede. A entidade pode separar este RPT em SLAs que seriam sub-redes e finalmente os 64 bits de Interface ID que nada mais é do que o número MAC da máquina, o que faz do IPv6 um protocolo de endereçamento direto.

Cabeçalhos

Embora apresentando um endereço de 128 bits, o IPv6 apresenta um cabeçalho simplificado e um novo método de processamento de opções.

Figura 2 - Cabeçalho IPv4, 32 bits.

Figura 3 - Cabeçalho IPv6, 128 bits.




As figuras 2 e 3 representam respectivamente um cabeçalho IPv4 e IPv6. A estrutura deste último foi modificada a partir do primeiro, retirando os campos não utilizados e passando as opções para outro tipo de cabeçalhos, os cabeçalhos de extensão. O cabeçalho IPv6 apresenta assim uma estrutura mais simplificada.

Através da colocação do campo Tamanho do Módulo de Dados a zero, o protocolo IPv6 permite a transmissão de mensagens jumbogram, ou seja, pacotes com um tamanho bastante maior que o limite de 64Kb imposto pelo IPv4. A utilização de jumbograms permite a utilização do IPv6 em redes de alto MTU.

De modo a tratar opções, o IPv6 apresenta um esquema de módulos: a informação adicional é transmitida através dos cabeçalhos de extensão. Este esquema fornece ao IPv6 flexibilidade para transportar informação relevante para encaminhamento e aplicações, bem como fornecer mecanismos de segurança, fragmentação, qualidade de serviço e gestão de rede, com escalabilidade ilimitada. Na medida em que estes módulos são opcionais, este esquema ajuda ainda a reduzir o custo de processamento de pacotes IPv6.

Os cabeçalhos de extensão são colocados entre o cabeçalho IPv6 e o cabeçalho do protocolo de transporte, estando ligados entre si pelo campo Próximo Cabeçalho (Next Header), formando uma cadeia. Actualmente, encontram-se já definidos os seguintes cabeçalhos de extensão:


Figura 4 – Datagrama IPv6 com cabeçalhos de extensão.

A figura 4 representa um datagrama IPv6 com cabeçalhos de extensão. A ordem dos cabeçalhos é a indicada acima.
 
 

DNS

O serviço Domain Name System (DNS) é de extrema utilidade para o protocolo IPv6. O documento DNS Extensions to Support IP version 6, [RFC1886] especifica um novo tipo de campo DNS de 128 bits denominado AAAA ou quad A, que permite mapear nomes de domínios em endereços IPv6. Foi também definido o mapeamento de endereços IPv6 em nomes.

Este campo (suportado já em algumas versões) permite a utilização de DNS de modo transparente: se um host com pilha dupla efetuar uma query DNS e receber um endereço de 32 bits, utiliza IPv4; se o endereço for de 128 bits, utiliza IPv6.

Encaminhamento

O encaminhamento IPv6 é semelhante ao IPv4. Para a nova versão, foram desenvolvidas extensões dos protocolos mais populares: OSPFv6 , RIPv6 - [RFC2080] -, BGP4+ - [RFC2283] -, IGRP.

Além das novas versões dos protocolos de encaminhamento, o IPv6 apresenta encaminhamento baseado em prefixos de tamanho variável, o que permite vários sistemas autónomos, ou Routing Domains. Este prefixo baseia-se na especificação CIDR.

Para suportar dados multimedia e em tempo-real, são utilizados, entre outros mecanismos, um campo prioridade, e uma nova versão do protocolo RSVP.
 

Fragmentação/Reassemblagem

No IPv4, a fragmentação ocorre sempre que os pacotes são demasiado grandes (superiores à Maximum Transmit Unit) para serem transmitidos em determinada rota de um caminho. Este processo ocorre em qualquer extremo de uma rota: fonte ou encaminhadores podem ter de fragmentar os pacotes a enviar. A reassemblagem é efetuada no destino do pacote, após a recepção correcta de todos os segmentos que formam o pacote. Caso haja algum problema na recepção, os segmentos recebidos são descartados. Este processo provoca congestão em rotas de baixo MTU e aumenta o tempo de processamento dos datagramas.

Para evitar estes problemas e permitir suporte de serviços em tempo-real, o IPv6 apresenta um novo processo, onde não há intervenção dos encaminhadores: é enviada um pacote inicial até ao destino, onde são guardados os tamanhos máximos permitidos em cada rota do caminho a percorrer. Quando é estabelecido o canal de comunicação, a mensagem é devolvida à fonte que fica assim a saber qual o tamanho com que pode enviar os datagramas para que eles não tenham de ser fragmentados.

Sendo apenas efetuada na fonte, a fragmentação em IPv6 permite reduzir o tempo de processamento dos datagramas e liberta os encaminhadores desta tarefa, além de diminuir a possibilidade de perda de datagramas na recepção.
 
 

Segurança

A especificação do protocolo IPv6 incluem segurança na camada de rede através de uma arquitetura criada para tal, a IPSec. Esta arquitetura é bastante flexível, de modo a evitar problemas relacionados com restrições de exportação de criptografia e não impede a utilização de outros mecanismos de segurança por parte das aplicações.

Tendo em conta que a utilização generalizada do IPv6 não é um processo imediato, a IPSec foi concebida de modo a poder ser utilizada com o protocolo IPv4.
Existem já implementações de sistemas Unix que englobam a arquitetura de segurança para o protocolo IP.