A longo prazo, o IPv6 tem como objetivo substituir o IPv4, que só suporta cerca de 4 bilhões (4x109) de endereços IP, contra cerca de 3,4x1038 endereços do novo protocolo. O principal motivo para a implantação do IPv6 na Internet é a necessidade de mais endereços, porque os endereços livres IPv4 estão se acabando. Ainda assim, já no início de sua utilização comercial, em 1993, acreditava-se que o espaço de endereçamento da Internet poderia se esgotar num prazo de 2 ou 3 anos. Isso não ocorreu por conta da quantidade de endereços, mas sim por conta da política de alocação inicial, que não foi favorável a uma utilização racional desses recursos. As previsões iniciais, no entanto, de esgotamento quase imediato dos recursos, não se concretizaram devido ao desenvolvimento de uma série de tecnologias, que funcionaram como uma solução paliativa para o problema trazido com o crescimento acelerado: • O CIDR (Classless Inter Domain Routing), ou roteamento sem uso de classes, que é descrito pela RFC1519. Com o CIDR foi abolido o esquema de classes, permitindo atribuir blocos de endereços com tamanho arbitrário, conforme a necessidade, trazendo um uso mais racional para o espaço. • O uso do NAT e da RFC 1918, que especifica os endereços privados, não válidos na Internet, nas redes corporativas. O NAT permite que com um endereço válido apenas, toda uma rede baseada em endereços privados, tenha conexão, embora limitada, com a Internet. • O DHCP (Dynamic Host Configuration Protocol), descrito pela RFC 2131. Esse protocolo trouxe a possibilidade aos provedores de reutilizarem endereços Internet fornecidos a seus clientes para conexões não permanentes.
• Espaço de Endereçamento. Os endereços IPv6 têm um tamanho de 128 bits. • Endereçamento hierárquico. Simplifica as tabelas de encaminhamento dos roteadores da rede, diminuindo assim a carga de processamento dos mesmos. • Formato do cabeçalho. Totalmente remodelados em relação ao IPv4 • Cabeçalhos de extensão. Opção para guardar informação adicional. • Suporte a qualidade diferenciada. Aplicações de áudio e vídeo passam a estabelecer conexões apropriadas tendo em conta as suas exigências em termos de qualidades de serviços (QoS). • Capacidade de extensão. Permite adicionar novas especificações de forma simples. • Encriptação Diversas extensões no IPv6 permitem, à partida, o suporte para opções de segurança como autenticação, integridade e confidencialidade dos dados.
Um datagrama IPv6 é constituído por um cabeçalho base, ilustrado na figura que se segue, seguido de zero ou mais cabeçalhos de extensão, seguidos depois pelo bloco de dados.
Formato do cabeçalho base do datagrama IPv6: • Tem menos informação que o cabeçalho do IPv4. Por exemplo, o checksum será removido do cabeçalho, que nesta versão considera-se que o controle de erros das camadas inferiores é confiável. • O campo Traffic Class é 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. • O campo Flow Label é 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. • O campo Payload Length representa, como o nome indica, o volume de dados em bytes que pacote transporta. • O campo Next Header aponta para o primeiro header de extensão. Usado para especificar o tipo de informação que está a seguir ao cabeçalho corrente. • O campo Hop Limit 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.
• No IPv6 o responsável pela fragmentação é o host que envia o datagrama, e não os roteadores intermédios como no caso do IPv4. No IPv6, os roteadores intermédios descartam os datagramas maiores que o MTU da rede. O MTU será o MTU máximo suportado pelas diferentes redes entre a origem e o destino. Para isso o host envia pacotes ICMP 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. Múltiplos cabeçalhos Uma das novidades do IPv6, é a possibilidade de utilização de múltiplos cabeçalhos encadeados. Estes cabeçalhos extra permitem uma maior eficiência, devido a que o tamanho do cabeçalho pode ser ajustado às necessidades. Também permite uma maior flexibilidade, porque podem ser sempre adicionados novos cabeçalhos para satisfazer novas especificações. Endereçamento 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. Os endereços IPv6 são normalmente escritos como oito grupos de 4 dígitos hexadecimais. Por exemplo, 2001:0db8:85a3:08d3:1319:8a2e:0370:7344 Se um grupo de vários dígitos seguidos for 0000, pode ser omitido. Por exemplo, 2001:0db8:85a3:0000:0000:0000:0000:7344 é o mesmo endereço IPv6 que: 2001:0db8:85a3::7344 Existem no IPv6 tipos especiais 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.
Figura 1 - Endereço IPv6 compatível com IPv4.
Qualquer endereço que começe com 80 bits zero (0) seguidos de 16 bits um (1) ou 16 bits zero (0) contém um endereço de IPv4 nos 32 bits à direita
O protocolo IPv6 não é um "upgrade" do IPv4, é um protocolo totalmente novo. O seu endereçamento é diferente, os seus cabeçalhhos são especializados e flexíveis, permite o controlo de fluxo, segurança, auto-configuração e outros aspectos novos
Os tipos de serviços (Type of Services ou ToS), trata-se de um campo no cabeçalho IPv4 originalmente, hoje definido conhecido como (DiffServ) combinando o IPv6, é utilizando para diferenciar o tipo do pacote a ser transportado, classificando-o para que possa ter prioridade em sua transmissão. Seu campo contém oito bits sendo utilizado 5 bits para os serviços diferenciados (Differentiated Services Code Point ou DSCP) e três bits para o controle de alertas para congestionamento (Explicit Congestion Notification ou ECN). 1. O roteador localiza na sua tabela de roteamento de todas as rotas disponíveis para o destino. 2. Se não houver nenhuma, o roteador descarta o pacote, porque o destino está inacessível. 3. Se uma ou mais dessas rotas têm uma ToS que corresponda exatamente ao TOS especificado no pacote, o roteador escolhe a rota com a melhor métrica. 4. Caso contrário, o roteador repete o passo acima, exceto a olhar para as rotas cuja TOS é zero. 5. Se nenhuma rota foi escolhida acima, o roteador descarta o pacote, porque o destino está inacessível. O roteador retorna um erro ICMP Destination Unreachable, especificando o código adequado: nem Rede inacessível com o tipo de serviço (código 11) ou inacessível Host com o tipo de serviço (código 12). 6. Se nenhuma rota foi escolhida acima, o roteador descarta o pacote.
0 1 2 3 4 5 6 7
_________________________________________
| | | | | |
| Precedencia | D | T | R |Nao Usados|
|_____________|____|_____|_____|__________|
Os bits D,T e R especificam o tipo de transporte desejado pelo emissor do datagrama. D: Os pedidos de baixa atraso; T: visitas de alto rendimento; R: Os pedidos de alta confiabilidade.
DSCP (Differentiated Services Code Point) é um campo num pacote IP que permite a atribuição de diferentes níveis de serviço ao tráfego de rede. Isso é conseguido através da marcação de cada pacote na rede com um código DSCP, aplicando ao mesmo o nível de serviço correspondente. Os programas activados por: Qualidade do serviço (QoS - Quality of Service) pedem um tipo de serviço específico para um fluxo de tráfego através da interface de programação de aplicações (API, -application programming interface) do QoS genérico. Os tipos de serviços disponíveis são:
DiffServ ou serviços diferenciados é um método utilizado na tentativa de conseguir qualidade de serviço em grandes redes, como a Internet. O método DiffServ opera sobre grandes volumes de dados em oposição a fluxos ou reservas individuais. Isto implica uma negociação para todos os pacotes. Os acordos resultantes destas negociações são designados de "acordos de nível de serviço" (Service Level Agreements), e envolvem inevitavelmente um preço monetário. Estes acordos especificam que classes de tráfego serão servidas, que garantias são necessárias para cada classe, e qual o volume de dados para cada classe. Uma "nuvem DiffServ" é um grupo de routers DiffServ. Para os pacotes entrarem numa nuvem DiffServ terão que ser previamente classificados pelo emissor. O emissor preenche o campo de "tipo de serviço" (TOS, de Type of Service, posteriormente designado de DiffServ Code Point ou DSCP) no cabeçalho IP consoante a classe dos dados; as melhores classes são identificadas com os números menores (a escala varia de 0 a 15, contudo deve-se evitar o uso do 0). Assim que o pacote entra na nuvem DiffServ, as políticas são aplicadas pelo receptor. Se o tráfego ultrapassar o estabelecido no service level agreement, podem ser cobradas taxas ao emissor, consoante os detalhes do contrato. Dentro da nuvem, basta a cada um dos routers dar prioridade máxima aos pacotes com o menor valor no campo Type Of Service, o que é simples de implementar. Pode estabelecer-se também uma política que descarte (drop) os pacotes com base na frequência de drop caso o router se encontre sem espaço no buffer.
Exemplo
Existem muitas formas de dividir o tráfego em classes, cada uma provavelmente adaptada às necessidades especiais da situação. Por exemplo, o tráfego pode ser dividido nas classes Ouro, Prata e Bronze. Em cada router, o tráfego de Ouro tem precedência sobre o de Prata, que por sua vez tem precedência sobre o de Bronze. O tratamento especial pode ser elaborado em duas maneiras: • reencaminhamento preferencial, onde os pacotes mais recentes de maior precedência podem ultrapassar (na lista de espera) os de menor precedência; • descarte preferencial, onde o espaço do buffer para os pacotes de maior precedência está habilitado a aumentar sob prejuízo dos pacotes de menor precedência, que serão descartados. Exemplo: Dar prioridade a dados específicos em redes de comunicação. • Tipicamente, isto é conseguido pelo router que liga uma rede local à Internet. O router decide, por exemplo, dar máxima prioridade ao tráfego interativo como shells remotas ou jogos online, para reduzir a latência. O outro tráfego, como HTTP ou correio eletrônico é classificado com uma prioridade menor, enquanto que o tráfego típico de transferências de ficheiros, como FTP ou redes peer-to-peer é classificado como o de menor prioridade. • A decisão sobre qual o tráfego que deverá ser classificado como prioritário depende geralmente das necessidades em relação à rede. Outra abordagem para decidir qual o tráfego importante é utilizando o campo TOS/DiffServ no cabeçalho Protocolo IP. Vantagens do DiffServ Uma vantagem do DiffServ é que a imposição da política (e classificação dos pacotes) é realizada nos limites da nuvem DiffServ. Isto significa que, no núcleo da Internet, os routers operam normalmente, sem a preocupação das complexidades de contabilização dos pagamentos e imposição dos acordos.. Desvantagens do DiffServ Problemas em ligações ponto-a-ponto Uma desvantagem é a dos detalhes da maneira de operar de cada router em relação ao campo TOS — um pouco arbitrária —, o que torna difícil de prever o comportamento sob a perspectiva ponto-a-ponto. Este facto pode ser agravado se um pacote atravessar duas ou mais nuvens DiffServ para atingir o destino. Do ponto de vista comercial esta é uma falha grave, já que implica a impossibilidade de vender diferente classes de ligação ponto-a-ponto para o utilizador final, dado que um pacote classificado como de Ouro por um ISP por ser classificado como de Bronze por outro. Os operadores de Internet poderiam resolver esta situação estabelecendo políticas standard entre redes, mas não parecem muito interessados em aumentar a complexidade aos seus já complexos acordos. Segue-se um dos motivos porque tal não se verifica. DiffServ vs. mais capacidade A maior desvantagem do DiffServ é que, ao seu mais alto nível, pode ser considerada como uma solução técnica para um problema técnico que não existe. Uma vez que o DiffServ é um mecanismo simples de decisão sobre que pacotes atrasar ou descartar (sob prejuízo de outrem) numa situação de capacidade de rede insuficiente, considere-se que para o DiffServ descartar (seletivamente) os pacotes, o tráfego na ligação em questão já estará num estado próximo de saturação. Os aumentos subsequentes no tráfego resultarão numa quebra dos serviços Bronze (o menos privilegiado). Dadas as características do tráfego Internet, muito inconstante, esta situação tende a verificar-se regularmente se o tráfego na ligação se encontrar perto do limite em que o DiffServ se torna necessário. Por esta razão, muitos pensam que o DiffServ será sempre inferior a aumentar a capacidade da rede a fim de evitar perda de pacotes em todas as classes de tráfego.
Segue em anexo o arquivo em .doc
http://www.4shared.com/document/gleo99yx/IPv6___EditADO.html
Editarei em breve o texto.