O tópico de hoje será sobre o Protocolo IPv6. O que é esse protocolo de internet? Substitui o IPv4 por que? Quais são suas funcionalidades, objetivos e desempenho? E os seus pacotes, muda o formato com relação ao antigo?
Vamos então entender?!
Introdução ao IPv6
Como havia escassez para o IPs, houve uma conferência para determinar o
novo tipo de endereçamento de IPs públicos e 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.
Versões de protocolos que deram origem ao IPv6:
·
CANTIP: foi concebido como um
protocolo de convergência, para permitir a qualquer protocolo da camada de
transporte ser executado sobre qualquer protocolo de camada de rede, criando um
ambiente comum entre os protocolos da Internet, OSI e Novell;
·
TUBA: sua proposta era de aumentar o
espaço para endereçamento do IPv4 e torná-lo mais hierárquico, buscando evitar
a necessidade de se alterar os protocolos da camada de transporte e aplicação.
Pretendia uma migração simples e em longo prazo, baseada na atualização dos
hosts e servidores DNS, entretanto, sem a necessidade de encapsulamento ou
tradução de pacotes, ou mapeamento de endereços;
·
SIPP: concebido para ser uma etapa
evolutiva do IPv4, sem mudanças radicais e mantendo a interoperabilidade com a
versão 4 do protocolo IP, fornecia uma plataforma para novas funcionalidades da
Internet, aumentava o espaço para endereçamento de 32 bits para 64 bits,
apresentava um nível maior de hierarquia e era composto por um mecanismo que
permitia “alargar o endereço” chamado cluster addresses. Já possuía cabeçalhos
de extensão e um campo flow para identificar o tipo de fluxo de cada pacote.
Figura 1: Logotipo de IPv6.
IPv6 é
abreviação de Internet Protocol
version 6 ou, em português, Protocolo Internet versão 6. Pode-se dizer que um
protocolo consiste num conjunto de regras que permitem a comunicação entre
dispositivos. O protocolo é uma “linguagem”. O Protocolo Internet, ou IP, foi
criado para permitir a comunicação entre diferentes redes de computadores. O
IPv4 tem sido usado na Internet desde 1983.
O IPv6 é o
sucessor do IPv4. Ele foi desenvolvido ao longo da última década com essa
finalidade. Hoje ele é um protocolo maduro, com algumas vantagens em relação ao
IPv4, e suportado pelos principais equipamentos e programas de computador. Sua
implantação na Internet já está em andamento.
Prevê-se
que ambos, IPv4 e IPv6, funcionem lado a lado na Internet por algum tempo. Mas,
a médio ou longo prazo, o IPv6 substituirá o IPv4.
Se
compararmos o endereço IP com o endereço de uma casa, com a adoção do IPv6 será
como se todas as casas ganhassem um número novo, mas diferente do antigo. Por
exemplo, que fosse, ao invés de um número simples, um código baseado em números
e letras. Dessa forma as casas teriam ainda seu número antigo e o novo código:
eles não se misturariam ou se confundiriam, porque seriam diferentes. Ambos
poderiam ser usados para se chegar a um determinado destino. Quando todas as
casas recebessem o novo código o antigo poderia, finalmente, ser deixado
completamente de lado, pois não teria mais utilidade.
Objetivos e funcionalidades
O principal objetivo era a re-estruturação do formato de endereçamento
de modo a atender a carência de alocações públicas. Algumas diferenças de
funcionamento apareceram, porém a transparência de comunicação entre as versões
foi preservada.
As limitações estão mais presentes nos firmware e softwares dos
equipamentos que, em alguns casos, poderá haver a necessidade de substituição
ou simplesmente atualização do sistema.
O IPv6 eleva substancialmente a quantidade de endereços válidos para a internet,
bem como procura reduzir a utilização de banda de rede com redução de
informações no cabeçalho de dados.
Endereçamento IPv6, assim como no IPv4, identifica os nós de uma rede. A
grande diferença do novo sistema é que passamos a usar 128 bits com
notação Hexadecimal, contendo em oito grupos de dois Bytes e separados
por dois pontos (:).
A fim de melhorar a escrita é permitida a simplificação da notação da
seguinte maneira: onde houver grupos de zeros, apenas um deles é necessário ser
escrito e, os zeros à esquerda de grupos com outros valores, não necessitam ser
representados. Veja a representação do endereço acima de forma mais curta: FEDC:0:0:0:8:800:200C:417ª
Uma forma mais
simplificada de se escrever uma notação de endereço IPv6, é a utilização de um
par de “ : “ para representar grupos de zeros consecutivos, conforme
apresentado na sequência: FEDC::8:800:200C:417ª.
Cabe ressaltar que somente uma supressão de zeros por “::“ é permitida.
Caso apareçam duas sequências de zeros, apenas uma deverá receber esta
representação. A outra, será representada por um 0 normalmente.
A rede baseada em IPv6 também pode ser subdividida em sub-redes
utilizando notação de barra comum (/) como no IPv4. Alguns prefixos de
endereçamento já foram estabelecidos e não devem ser utilizados para
endereçamentos comuns.
A
notação de endereçamento do IPv6 permitiu aos órgãos de controle designar um
prefixo para cada país que por sua vez poderá criar subprefeitos para cara
região ou estado.
Protocolos do IPv6
INTERNET CONTROL MESSAGE PROTOCOL VERSION 6 (ICMPv6)
O protocolo ICMP foi desenvolvido para transporte de diagnósticos sobre
a transação de datagramas pela rede. Ele é responsável pelas funções de relatar
erros de entrega de datagramas, atualizar tabelas de rotas entre outras.
Com a versão 6 do protocolo, as funções do IGMP e do ARP foram
incorporadas a ele, o que o tornou muito mais robusto.
NEIGHBOR DISCOVERY PROTOCOL (NDP)
Esta é uma das grandes funcionalidades do novo ICMP. Ela substitui o
protocolo de resolução de endereços (ARP), o ICMP de descoberta de roteador do
protocolo de mensagens e o redirecionamento ICMP, que são usados no IPv4. Isso
possibilita aos nós da rede determinar os MTUs nos quais seus vizinhos que
executam tarefas de roteamento ou redirecionamento estão conectados,
configurarem seus endereços automaticamente (DHCPv6), descobrir quem são os gateways
de sua rede local, determinar o melhor caminho para envio de seus
datagramas a partir de informações dos roteadores vizinhos, entre outras.
Combinando essas funcionalidades, temos um eficiente disseminador de informações
na rede.
Cinco tipos de mensagens ICMPv6 foram criados pra facilitar o trabalho
do NDP:
• Mensagens
de Solicitação de Roteador (Router Solicitation message): essa solicitação é enviada
pelo host a fim de solicitar aos roteadores que enviem informações sobre
suas rotas. Isso o auxiliará da definição de um gateway padrão.
• Mensagens
de Anúncios de Rota (Router Advertisement message): tem como objetivo a
divulgação de informações sobre rotas dos roteadores. A disseminação destes
dados é feita periodicamente ou quando há uma Mensagem de Solicitação de Roteador.
• Mensagem
de Solicitação de Vizinhança (Neighbor Solicitation message): solicitado pelos nós de origem via multicast,
requer informações dos nós vizinhos sobre endereçamentos de portas de saída da
rede local, os quais são repassados adiante para outros nós. Para se saber a
distância a que estão destes vizinhos, utilizasse mensagens do tipo unicast.
• Mensagem
de Anúncio de Vizinhança (Neighbor Advertisement message): é a resposta à Mensagem
de Solicitação de Vizinhança enviada ao nó solicitante.
• Mensagens
de Redirecionamento: o roteador utiliza-se desta mensagem pra informar aos hosts os
melhores caminhos pelos quais eles deverão enviar seus datagramas a fim de
atingirem seus destinos.
Compatibilidade entre IPv4 e
IPv6
Em virtude da semelhança entre as duas versões do protocolo IP, há a possibilidade
de que elas funcionem em conjunto. As preocupações não se prendem somente ao
formato do endereço, mas a compatibilidade entre os, a qual deve ser igualmente
ajustada.
Em termos de endereço, o IPng define dois modos para compatibilizar o IPv6
com o IPv4:
• IPv4
compatível:
trata-se do processo de conversão de endereços propriamente dito, IPv4 para
IPv6 e vice versa. São utilizados para comunicação entre duas redes IPv6 com a
utilização de uma rede IPv4 como caminho de passagem sem a utilização de “tunelamento”.
O processo de conversão de endereços se dá com a inclusão de um endereço IPv4
como, por exemplo, 10.70.4.5 com os 96 bits que faltam para 128 bits (tamanho
padrão do IPv6) inseridos à esquerda “setados” em zero da seguinte maneira: 0:0:0:0:0:0:0A:46:04:05
ou simplesmente ::0A:46:04:05. Deste modo, quando o roteador que receber o
datagrama, retirar os 96 zeros, ele entrega um pacote convertido para IPv4 na
rede compatível.
• IPv4
mapeado: este endereçamento foi desenvolvido para permitir a comunicação entre um host
puramente IPv6 com outro puramente IPv4. Seu formato consiste de 80 bits
setados em zero, 16 bits em um e o endereço IPv4 do destino. A apresentação
deste endereço ficaria da seguinte maneira: 0:0:0:0:0:FFFF:0A46:0405.
Apesar da semelhança entre os resultados, o complemento 0:0:0:0:0:FFFF é
o parâmetro que indica que o endereço é mapeado, e não compatível.
Quanto aos cabeçalhos, à maioria dos campos se mapeia diretamente e o que
não é possível faz-se um processo de conversão. Ainda há a possibilidade de se
ter um host com pilha dupla, ou seja, que é capaz de conversar tanto com
equipamentos IPv6 quanto com equipamentos IPv4.
Local ao enlace: são endereços para uso em redes que não
se conectam a nenhum outro tipo de rede. Destinado a locais isolados e
desprovidos de qualquer serviço de roteamento. Seu prefixo é FE80:: e terminam
com o endereço da interface contendo 64 bits.
Local à instalação: assim como no
IPv4, alguns endereços são restritos às corporações, como os 192, 10, 168 e
176, e não podem ser roteados para a Internet . Eles possuem uma divisão
diferenciada.
FEC0::(subnet):(endereço da interface): onde a subnet possui 16 bits e o endereço da interface, 64 bits.
Figura 2: Comparações de pacotes entre IPv4 e IPv6.
Comparações entre as
versões de protocolos
Quando se comparam os dois cabeçalhos observa-se que muitos campos do
IPv4 foram suprimidos devido a funções reprojetadas no IPv6.
Campos preservados:
·
Versão do IP
·
Tipo de Serviço, agora apresentado como Classe;
·
Tempo de vida, nomeado de Limite de Saltos;
·
Protocolo, denominado de Próximo Cabeçalho;
·
Endereço de Origem;
·
Endereço de Destino.
Campos integrados
Sinalizador de Fragmento e
Identificador de início do Datagrama Fragmentado: agora chamada de Rótulo de
Fluxo, campos substituídos:
·
Tamanho do Cabeçalho e Comprimento
Total do Datagrama: no IPv6, o cabeçalho possui tamanho fixo, não sendo mais necessário o
cálculo deste. O campo Tamanho do Payload informa qual o tamanho do datagrama
já subtraindo os 40 Bytes do cabeçalho.
Campos Eliminados
·
Identificação: os cabeçalhos de extensão
possuem informações mais completas sobre fragmentação, eliminando assim a
necessidade de tal campo.
·
Checagem de erros: entendendo que os níveis superiores
tratam a questão de checagem de erros, o IPv6 não trata mais as questões de
garantia, apesar de existir um cabeçalho opcional de autenticação que certifica
se o datagrama foi recebido sem erros.
Figura 3: Protocolos de comparações entre as versões IPv4 e IPv6.
IPs disponíveis no IPv6
No IPv6,
os endereços são representados por números de 128 bits como
já disse. Isso
significa que há 340.282.366.920.938.463.463.374.607.431.768.211.456
endereços, o que
representa cerca de 79 trilhões de trilhões de vezes o espaço disponível no
IPv4. Esse número equivale a cerca de 5,6 x 10^28 (5,6 vezes 10 elevado a 28)
endereços IP por ser humano, ou ainda, aproximadamente,
66.557.079.334.886.694.389 de endereços por centímetro quadrado na superfície
da Terra.
Metade dos 128 bits, no entanto, está reservada para endereços
locais numa mesma rede. Isso significa que somente 18.446.744.073.709.551.616
redes diferentes são
possíveis.
A grande quantidade de endereços é capaz de atender às
necessidades da Internet no futuro imaginável. Ela facilita também o processo
de atribuição dos números dentro das redes permitindo, por exemplo, a
configuração automática dos endereços IP com base no endereçamento físico das
placas de rede.
As alocações mínimas para provedores atualmente são de grandes blocos
(/32).
Um bloco /32 é capaz de atender a um total de:
·
4.294.967.296 redes /64, ou
·
16.777.216 redes /56, ou ainda
·
65.536 redes /48.
Os usuários finais que buscam alocações PI (provider independent)
podem receber blocos variando entre /48 e /32, conforme a necessidade.
Existem um compromisso entre o tamanho dos blocos alocados e o tamanho
da tabela de roteamento. Blocos pequenos demais são inviáveis.
Formato de pacotes do IPv6
IPv6 muda completamente o formato
do datagrama IP. Como a figura abaixo mostra, um datagrama IPv6 tem um
cabeçalho base fixo seguido de 0 ou mais cabeçalhos extras, seguidos pelos
dados [COM 95].
Figura 4: Formato do Datagrama IP.
Embora o IPv6 extenda
o IPv4, seu header de pacote é
relativamente simples [HIN 95],
contendo menos informações que o cabeçalho do datagrama IP da versão 4. Alguns
campos do cabeçalho da versão 4 e opções foram substituídos por cabeçalhos de
extensão.
Algumas mudanças no header
são [COM
95]:
·
O campo de
tamanho de cabeçalho foi eliminado, desde que tem tamanho fixo de 40 octetos,
substituído por um campo que indica o tamanho do que se segue ao cabeçalho;
·
O tamanho dos
campos de endereço passaram para 16 octetos;
·
Informação de
fragmentação passaram a estar em cabeçalhos de extensão;
·
O campo Time-to-live mudou para hop limit.
·
O campo Service Type mudou para Flow Label
·
O campo que
indicava o protocolo sendo "transportado" passou a ser um campo que
indica o próximo header.
A figura abaixo esquematiza o cabeçalho:
Figura 5: Cabeçalho IPv6.
Version: versão
do protocolo 4 bits;
Priority: valor
da Prioridade 4 bits;
Flow Label:
qualidade 24 bits;
Payload Length: tamanho do payload, isto é, o resto do pacote que segue ao
IPv6 header, excluindo este, que tem tamanho fixo de 40 octetos. Desta
forma o datagrama IPv6 pode ter até 64 k 16 bits;
Next Header:
identifica o próximo header, isto é, o protocolo acima do IP. Usa os
mesmo valores da versão 4, mas vem em substituição ao campo Protocol da versão 4 8 bits;
Hop Limit:
número máximo de hops pelos quais o pacote pode trafegar.
Decrementado em 1 a cada novo hop. Quando seu valor é igual a 0 o pacote
é descartado 8 bits;
Source Address: identifica o endereço origem do pacote 128 bits;
Destination
Address: identifica o endereço destino
do pacote (nem sempre o destino final, no caso de um header opcional de roteamento estar presente
128 bits.
Transição do IPv4 para o IPv6
Na transição do IPv4 para o IPv6 é necessária à
coexistência e interoperabilidade entre ambos os protocolos e para isso é
necessário o uso de tecnologias auxiliares, conhecidas como técnicas de transição.
A necessidade de coexistência ocorre em diferentes cenários, cada qual com
características e demandas singulares e uma técnica de transição isoladamente
normalmente não é capaz de atender simultaneamente a todos. Assim, o primeiro
passo para entender as técnicas de transição é entender os cenários existentes,
as necessidades apresentadas e as dificuldades envolvidas.
A enumeração dos cenários a seguir é uma generalização e
extensão da enumeração feita na RFC 6144. Contudo, enquanto esta RFC trata apenas
de cenários utilizados com soluções de tradução, os mesmos são aqui usados para
descrever também situações onde soluções de tunelamento podem ser aplicadas.
Figua 6: Transição entre IPv4 e IPv6.
Mudanças que com certeza vão afetar você, de forma direta ou indireta –
principalmente devido aos benefícios que a mesma proporcionará.
Na área de Telecomunicações, o universo relacionado à IPv6 também está
cada vez mais em foco, e será com certeza assunto presente em um futuro bem
próximo.
O IPv6 não
foi planejado para substituir o IPv4, e sim para resolver os problemas do
mesmo. Ele não possui interoperabilidade com o IPv4, ou seja, eles são
‘incompatíveis’, mas ambos vão existir em paralelo por um bom tempo.
Então, um dos principais desafios
será em relação à comunicação entre as redes, que deverá aproveitar a infraestrutura
IPv4 existente.
Embora o IPv4 não tenha
interoperabilidade com o IPv6, os mesmos precisam de alguma forma se comunicar,
ou seja, o IPv6 precisa de certa ‘compatibilidade’ com a versão anterior.
Nesse caso, os pacotes IPv6 são
re-empacotados no formato IPv4, enviados através dos hosts IPv4, e
desempacotados quando atingirem o seu destino IPv6.
Naturalmente, nesse exemplo, não
teremos por exemplo como ter as facilidades de prioridade e controle de fluxo.
De qualquer forma, esta foi
apenas uma técnica, e muita coisa já mudou desde que o IPv6 foi concebido. À
medida que mais pessoas passarem a lidar com o IPv6, é possível que soluções
melhores apareçam.
Referências:
IPv6 versus IPv4: Características, instalação e compatibilidade /
Elisnaldo Santiago Prazer; Professor orientador MSc. André Calazans Barreira. –
Guará: [s. n.], 2007. 120f. : il.
Abraço a todos. J
Nenhum comentário:
Postar um comentário