Ver Feed RSS

root@blog:/# chmod o+r *

[Redes] IPv6 Parte 1 - Introdução e Arquitetura

Avalie este Post de Blog
Muita gente pediu pra eu abordar esse tema. Como era algo que eu sabia muito pouco e já queria a muito tempo me aprofundar, resolvi juntar o util ao agradável. Aos poucos que eu for estudando o IPv6 farei uma compilação das informações que eu encontrar e posto aqui!

Vamos à primeira parte...


IPv6




Introdução

Com o crescimento exponencial da internet os endereços IPs começaram a se tornar escassos e algumas técnicas paleativas, como o NAT, foram criadas. Mas essas técnicas só atrasaram o que estava por vir!

Concebido a aproximadamente um década, o IPv6 é a evolução natural do IPv4. Enquanto o IPv4 utiliza 32 bits para endereçamento (4.294.967.296 endereços possíveis) o IPv6 utiliza 128 bits resultando em 340.282.366.920 seguido por mais 27 casas decimais, simplesmente absurdo! Antes que alguém pergunte, entre o IPv4 e o IPv6 houve o IPv5, que era um padrão de streaming que nunca vingou.

Ok, mas antes de falar em endereçamento vamos um pouco mais a fundo na estrutura do IPv6.


Arquitetura do IPv6


Quando os projetistas criaram o IPv6 uma das principais preocupações era a velocidade. Focando nesse ponto foram feitas algumas medidas para tentar tornar as redes IPv6 mais rápidas.

A primeira medida foi tornar o cabeçalho do pacote IPv6 de tamanho fixo. Essa medida reduz o esforço dos ativos de rede por eles sabem exatamente o que cada bit significa, sem haver a necessidade de um pre-processamento. Para que isso fosse possível alguns campos do antigo cabeçalho IPv4 deixaram de existir, foram criados novos campos e alguns tiveram seu significado modificado.

Outras medidas tomadas para tornar as redes IPv6 mais rápidas são:

  • Suporte nativo a multicasting;
  • Extinção do Broadcast;
  • Tratamento diferenciado para diferentes tipos de serviço e fluxos de dados.


Outras características do IPv6 são:

  • Aumento do número de bits de endereçamento, permitindo um número enorme de endereços;
  • Criação de um novo tipo de endereçamento: o Anycast;
  • Suporte nativo a autenticação e privacidade (segurança);



O cabeçalho do IPv6 tem o seguinte formato:


Vamos analisar os campos desse cabeçalho:

  • Versão (4 bits) - Este campo identifica a versão do protocolo usado para criar o pacote.
  • Prioridade (Classe de tráfego) (8 bits) - É equivalente ao campo Tipo de Serviço do IPv4, que classifica o tipo do pacote.
  • Rótulo de fluxo (20 bits) - Serve para identificar um fluxo.
  • Tamanho (16 bits) - Este é o número de bytes de dados contidos no pacote
  • após o cabeçalho.
  • Próximo cabeçalho (8 bits) - Informa o protocolo que deve tratar o conteúdo do pacote.
  • Limite de saltos (8 bits) - É o número máximo de roteadores que o pacote deve passar, a cada roteador este campo é decrementado, quando chega em zero o pacote é descartado. Esse é o antigo Time to Live (TTL)
  • Endereço de origem (128 bits) - Origem do pacote.
  • Endereço de destino (128 bits) - Destino do pacote


"Perai, mas o que é um fluxo?!"
Um fluxo é uma seqüência de pacotes para os quais é necessário um tratamento especial, como para serviços que requerem alta prioridade tais como serviços de tempo real, transmissão de vídeo ou uma conexão entre dispositivos móveis onde qualidade durante a transmissão deve ser assegurada. Dados que pertençam a aplicações tradicionais como requisições http ou transferência de arquivos não precisam participar de um fluxo.



Analisando o cabeçalho

O cabeçalho do protocolo IPv6 é extremamente mais simples que o do seu antecessor. Só pra ter uma idéia, o cabeçalho do IPv6 tem 8 campos enquanto o cabeçalho do moribundo IPv4 possui 14 campos! Isso não quer dizer que todos os campos foram excluídos. Simplesmente quer dizer que foi mantido no cabeçalho somente os essenciais para os roteadores. Qualquer informação adicional às que constam no cabeçalho serão transmitidas encapsuladas e informadas no campo próximo cabeçalho.

Dentre os campos que foram eliminados, ressalto dois que merecem destaque: Checksum e fragmentação.


O falecido Checksum

Para quem não lembra, a função do Checksum era verificar a integridade do cabeçalho, em outras palavras, detectar erros no cabeçalho. É de conhecimento geral que a maioria dos erros que ocorrem nas redes não é de transmissão mas sim nos roteadres, além do mais, as técnicas de verificação de integridade de camada 2 já são muito eficientes. Outro agravante do campo checksum era o desempenho dos roteadores. Como cada roteador decrementava o campo Time to Live (TTL) era necessário realizar novamente o calculo do checksum antes de retransmitir o pacote. Antes que alguém diga que isso é um esforço mínimo vamos pensar assim: O roteador calcula o checksum ao receber o pacote, para comparar com o que está no cabeçalho, realiza a decisão de roteamento, decrementa o TTL, calcula o novo checksum e o inclui no cabeçalho, retransmite o pacote. Considerando isso para milhares de pacotes por segundo é um esforço tremendo!


O "migrado" Fragmentação

Esse simplesmente é uma convenção, ele não morreu de verdade! Decidiu-se que os roteadores não serão mais responsáveis por fragmentar pacotes. caso o roteador receba um pacote com o tamanho maior que o permitido ele será descartado, simples assim! Ao descartar o pacote o roteador informará o ocorrido à origem, que deverá retransmitir o pacote já fragmentado. Dessa forma tiramos mais um pouco a carga do roteador! O porque de "migrado" vocês vão entender daqui a pouco!


Cabeçalhos complementares

Como dito, algumas informações foram colocadas em cabeçalhos encapsulados no campo de dados do pacote IPv6. Podemos dizer que eles são "sub-cabeçalhos". Os possíveis tipos são os seguintes:


  • Hop-by-Hop - Transporta informações opcionais que são processadas em cada nó ao longo do camino do pacote, incluindo a origem e o destino;
  • Destination Options - Transporta informações opcionais que são processadas apenas pelo destino final do pacote;
  • Routing - Utilizado no suporte a mobilidade do IPv6, ele armazena o endereço original de um nó movel (Type 2);
  • Fragmentation - Utilizado pela origem para enviar pacotes maiores que o Maximum Trnasmit Unit (MTU) de um caminho;
  • Authentication - Utilizado pelo serviço IPSec (IP Security) para prover autenticação e garantia de integridade aos pacotes IPv6. Esse cabeçalho é idêntico ao utilizado no IPv4;
  • Encapsulating security payload - Também utilizado pelo IPSec, provê integridade e confidencialidade para os pacotes.


Podemos notar que esses campos são voltados principalmente para origem e destino e não interessa para os roteadores, com excessão do campo Hop-by-Hop. Podemos ver também que o Fragmentação está lá, por isso chamei ele de "migrado"!

Atualizado 20-01-2010 em 07:51 por Magnun

Categorias
Curso de Redes , Cursos

Comentários

  1. Avatar de rafajohn
    Muito bom o artigo, continue assim, precisamos de uma vez por todas migrar nossos sistemas para esse novo formato mais o que falta é mais informação sobre esse assunto.

    Abraços!
    Atualizado 13-06-2009 em 06:27 por rafajohn (erro)
  2. Avatar de Magnun
    Valeu, em breve posto a segunda parte
  3. Avatar de Squire
    Parabens!! ainda tenho algumas duvidas sobre esse protocolo.. certamente estari acompanhando..
    abraço
  4. Avatar de kakinho
    Nossa, muito bom o material Magnun, obrigado por compartilhar
  5. Avatar de Magnun
    Pessoal, realizei algumas mudanças no ítem "cabeçalhos complementares". Encontrei mais detalhes sobre os possíveis cabeçalhos...
  6. Avatar de Gustavo Lopes
    Você é um McGyver disfarçado!
    hahaha

    Muito bom o curso!
  7. Avatar de Anderson...
    Olá Magnun, muito boa a sua introdução ao IPv6, estou também estudando aos poucos sobre esse assunto, que a cada dia se torna mais importante.
    Anderson - [url=http://coelhonarede.110mb.com]Coelho na Rede[/url]
  8. Avatar de Magnun
    @Gsutavo,
    McGuyver?!?!?! Hahahaha....

    @Anderson,
    Sim, esse assunto é essencial para o futuro mais ainda é muito difícil encontrar certeza nele. Ah, muito bom o seu site também. Assinando o Feed RSS...
  9. Avatar de jjtec
    muito claro e bem montado o material parabens pela otima colaboraçao

    jjtec
  10. Avatar de Massaic
    Uma dúvida que posto para todos: se tivermos 02 redes ( IPv4 e a outra IPv6) numa mesma infraestrutura elas se comunicariam entre si? caso não se enxergassem seria uma saída para segmentarmos nossa rede e diminuir o dominio de broadcast da rede IPV4?

+ Enviar Comentário