Estão sendo implementadas o IPV6 e é sobre as possiveis diferênças que abordaremos a sequir:
O cabeçalho do IPv6 tem menos informação que o cabeçalho do IPv4. Por exemplo, o checksum será removido do cabeçalho, uma vez que nesta versão considera-se que o controle de erros das camadas inferiores é confiável.
Version (versão - 4bits) - Usado para os roteadores identificarem qual o protocolo do pacote, no caso, 6.
Traffic Class (classe de tráfego - 8 bits)- usado para assinalar a classe de serviço a que o pacote pertence, permitindo assim dar diferentes tratamentos a pacotes provenientes de aplicações com exigências distintas. Este campo serve de base para o funcionamento do mecanismo de qualidade de serviço (QoS) na rede.
Flow Label (identificação de fluxo - 20 bits)- usado com novas aplicações que necessitem de bom desempenho. Permite associar datagramas que fazem parte da comunicação entre duas aplicações. Usados para enviar datagramas ao longo de um caminho pré-definido. É classificado como fluxo orientado, aquele que demanda muitos pacotes, e fluxo não-orientado, aquele que não demanda muitos pacotes, muito tráfego. Dentro de cada categoria, há um identificador de fluxo que sugere o tratamento daquele caso.
Payload Length (comprimento dos dados - 16 bits)- representa o volume de dados em bytes que pacote transporta.
Next Header (próximo cabeçalho - 8 bits)- aponta para o primeiro header de extensão. Usado para especificar o tipo de informação que está a seguir ao cabeçalho corrente.
Hop Limit (limite de saltos - 8 bits)- tem o número de hops transmitidos antes de descartar o datagrama, ou seja, este campo indica o número máximo de saltos (passagem por encaminhadores) que o datagrama pode dar, antes de ser descartado, semelhante ao TTL (time to live) do IPv4.
Source Address (Endereço da fonte- 128 bits)- identifica o endereço de origem do pacote.
Destination Address (Endereço de destino- 128 bits)- identifica o endereço de destino do pacote.
No IPv6, o responsável pela fragmentação é o host que envia o datagrama, e não os roteadores intermediários como no caso do IPv4. Os roteadores intermediários descartam os datagramas maiores que o MTU (Maximum Transmission Unit) da rede - MTU máximo suportado pelas diferentes redes entre a origem e o destino. Para isso o host envia pacotes ICMP (Internet Control Message Protocol) de vários tamanhos. Quando um pacote chega ao host destino, todos os dados a serem transmitidos são fragmentados no tamanho deste pacote que alcançou o destino.
O processo de descoberta do MTU tem que ser dinâmico, porque o percurso pode ser alterado durante a transmissão dos datagramas.
No IPv6, um prefixo não fragmentável do datagrama original é copiado para cada fragmento. A informação de fragmentação é guardada num cabeçalho de extensão separado. Cada fragmento é iniciado por uma componente não fragmentável seguida de um cabeçalho do fragmento.
Cabeçalho Extra:
Uma das novidades do IPv6, é a possibilidade de utilização de múltiplos cabeçalhos encadeados. Os cabeçalhos de extensão visam atender à necessidade de se ter generalidade e eficiência na nova versão. Para ser geral, mecanismos de fragmentação, autenticação, devem ser suportados, mas devem ser incluídos somente quando necessários.
Cada cabeçalho de extensão deve ter o campo Next Header a fim de indicar o próximo cabeçalho que se segue, num processo semelhante a uma lista encadeada de dados.
Também permite uma maior flexibilidade, porque podem ser sempre adicionados novos cabeçalhos para satisfazer novas especificações. As especificações atuais recomendam a seguinte ordem:
1. IPv6
2. Hop-By-Hop Options Header - informações opcionais que devem ser examinadas em cada nó percorrido ao longo de todo o caminho de entrega do pacote. Até agora, somente uma opção foi criada, a de suporte a datagramas que excedem 64Kb.
3. Routing Header - usado para listar um ou mais nós intermediários pelo qual o pacote tem a obrigação de passar em seu caminho de entrega.
4. Fragment Header - usado para gerenciar os fragmentos de um datagrama quando a fonte precisa enviar pacotes que são maiores do que o tamanho máximo permitido em um caminho. Cada fragmento deve ser múltiplo de 8 octetos, e cada cabeçalho de fragmentação indica se existem outros fragmentos do mesmo dado ou não. A figura abaixo mostra o cabeçalho, onde
5. Authentication Security Payload Header - usado para garantir a identidade da origem do pacote.
Next Header Payload Length Reserved
Security Parameters Index
Sequence Number
Authentication Data
cabeçalho de autenticação
o Next Header: próximo cabeçalho que o segue;
o Payload Length: tamanho do campo Authentication Data em palavras de 32 bits;
o Reserved: reservado para uso futuro
o Security Parameters Index: valor pseudo-aleatório em 32 bits da associação de segurança do datagrama. Valor zero significa que não há associação de segurança.
o Sequence Number: contador contra replays (incrementado a cada pacote enviado, quando completa um ciclo, voltando a valer zero, uma nova chave é criada);
o Authentication Data: armazena o valor de verificação de integridade;
6. Encapsulating Security Payload Header - usado para garantir a confidencialidade e a integridade dos pacotes.
Security Parameters Index
Sequence Number
Payload Data
Padding
Payload Length Next Header
Authentication Data
cabeçalho de encapsulamento
o Security Parameters Index: associação de segurança do datagrama
o Sequence Number: contador contra replays;
o Payload Data: informações de tipo do campo Next Header;
o Padding: identifica o limite dos parâmetros dos algoritmos utilizado. Completa o número de bytes que faltam nos dados;
o Payload Length: tamanho do campo Authentication Data em palavras de 32 bits;
o Next Header: próximo cabeçalho que o segue;
o Authentication Data: contém o valor de verificação de integridade.
7. Destination Options Header - contém informações opcionais que só serão examinadas pelo nó de destino.
8. Upper Layer Header
Os cabeçalhos opcionais só são processados no nó identificado pelo "Endereço de Destino" do cabeçalho IPv6 (com a exceção dos cabeçalhos de opções de salto-a-salto). Além disso, devem ser processados na ordem em que aparecem no pacote, pois o conteúdo e a semântica de cada cabeçalho opcional determinam o prosseguimento ou não ao próximo cabeçalho.
O endereçamento no IPv6 é de 128 bits, e inclui prefixo de rede e sufixo de host. No entanto, não existem classes de endereços, como acontece no IPv4. Assim, a fronteira do prefixo e do sufixo pode ser em qualquer posição do endereço.
Um endereço padrão IPv6 deve ser formado por um campo provider ID, subscribe ID, subnet ID e node ID. Recomenda-se que o último campo tenha pelo menos 48 bits para que possa armazenar o endereço MAC.
Os endereços IPv6 são normalmente escritos como oito grupos de 4 dígitos hexadecimais. Por exemplo, 4AAE:7F99:9CDD:1233:AA34:9BB9:0098:12AA. Se um grupo de vários dígitos seguidos for 0000, pode ser omitido. Por exemplo, 3ffe:6a88:85a3:0000:0000:0000:0000:7344 é o mesmo endereço IPv6 que: 3ffe:6a88:85a3::7344.
Tipos de endereços:
* unicast - cada endereço corresponde a uma interface (dispositivo).
* multicast - cada endereço corresponde a múltiplas interfaces. É enviada uma cópia para cada interface.
* anycast - corresponde a múltiplas interfaces que partilham um prefixo comum. Um datagrama é enviado para um dos dispositivos, por exemplo, o mais próximo.
A autoconfiguração de endereços permitirá uma operação plug-and-play de máquinas na Internet.
Para atender à necessidade de qualidade de serviço, foram utilizados os campos flow label e traffic class
Compatibilidade com o IPv4:
Os endereços IPv6 podem ser compatíveis com IPv4 , podendo o primeiro conter endereços IPv4.
Para tal, os 128 bits do IPv6 ficam assim divididos:
* campo de 80 bits colocado a '0' (zero)
* campo de 16 bits colocado a '0' (zero)
* endereço IPv4 de 32 bits
Endereços IPv6 compatíveis com IPv4: ::
Os endereços IPv6 podem ser mapeados para IPv4 e são concebidos para roteadores que suportem os dois protocolos, permitindo que nós IPv4 façam um "túnel" através de uma estrutura IPv6. Ao contrário dos anteriores, estes endereços são automaticamente construídos pelos roteadores que suportam ambos os protocolos.
Para tal, os 128 bits do IPv6 ficam assim divididos:
* campo de 80 bits colocado a '0' (zero)
* campo de 16 bits colocado a 'F'
* endereço IPv4 de 32 bits
Endereços IPv6 mapeados para IPv4: ::FFFF:
Um problema é que o DNS ainda não é facilmente estendido aos endereços em IPv6, pois as aplicações assumem que os endereços são de 32 bits apenas (IPv4). Para suportar o armazenamento de endereços de IPv6 certas extensões foram criadas.
Surgiu o registro AAAA, cuja função é a mesma do registro A do IPv4: representar em IPv6 o endereço do host nele presente. O endereço de 128 bits é codificado na parte de dados do registro AAAA.
Surgiu também o registro A6, com a mesma função, porém com tamanho de formatação variado.
Nenhum comentário:
Postar um comentário