You are on page 1of 69

Introduo ao IPv6

O IP verso 6 (IPv6) a nova verso do Internet Protocol, projetado para ser o sucessor do IPv4. O IPv6 foi desenvolvido para atender as necessidades atuais e as de um futuro prximo. Foram considerados os desejos das empresas por redes com arquiteturas mais escalveis, maior segurana e integridade dos dados, extenses ao QoS, auto-configurao, maior agregao no nvel do backbone global e outras necessidades. A proposta do IPv6 de resolver os problemas da verso anterior mantendo as caractersticas que contriburam para o sucesso do IPv4. Caractersticas, como: servio no orientado a conexo, deciso de escolha do tamanho do Datagrama, o nmero mximo de roteadores a serem utilizados, facilidade de fragmentao e roteamento foram mantidas, por serem considerados motivos importantes para este sucesso. Cabealho Base Extenso de Cabealho ... Extenso de Cabealho Dados

O IPv6 modifica totalmente o formato do Datagrama. O Datagrama formado por uma parte fixa, o cabealho base, seguido de zero ou mais extenses de cabealho, logo depois vem o dado. Alguns mais interessados podem se perguntar Por que no existe IPv5 ?. O IPv5 foi uma pequena modificao experimental no IPv4 para trafegar voz e vdeo sobre multicast. Sua especificao pode ser encontrada sob o RFC 1819 Internet Streaming Protocol Version 2 (ST2). Apesar de haver vrios backbones com IPv6 em carter experimental, como o 6Bone, que o backbone IPv6 do projeto IPng (Internet Protocol Next Generation Prxima Gerao do Internet Protocol) da IETF (Internet Engineering Task Force Fora Tarefa de Engenharia da Internet), a previso para o incio de operao comercial do IPv6 2010. Por uns 5 anos, os equipamentos devero oferecer compatibilidade entre IPv6 e IPv4, seja por encapsulamento, tunelamento, algum protocolo de roteamento capaz de lidar com ambas as verses ou alguma outra tcnica. Porm, a migrao no ser algo simples. H um grupo de trabalho do IETF, o IPng Transition (ou simplesmente ngtrans), exclusivamente ocupado para levantar os problemas e solues para essa migrao.As principais mudanas com relao ao IPv4 so: - Capacidade de endereamento expandida: No IPv6, cada endereo determinado por 128 bits. Simplificao do formato do cabealho: Alguns campos do cabealho do IPv4 foram descartados ou tornados opcionais, para simplificar o processamento dos pacotes mais comuns e diminuir o overhead do IPv6, que possui um cabealho maior. Maior suporte para campos opcionais e extenses: Os campos opcionais possuem agora menos restries quanto ao seu tamanho, h maior flexibilidade para a introduo de novas extenses no futuro, o encaminhamento de pacotes fica mais simplificado e pode ser diferenciado a cada hop. Capacidade para identificao de fluxo: O originador dos pacotes tem como identificar um fluxo de pacotes para um determinado destino (unicast ou multicast) e pedir tratamento especial desse fluxo por parte do roteador, como QoS diferenciado e servio de tempo real. No IPv4, esse tipo de funcionalidade implementado pelos roteadores e switches de camadas 3 ou 4, sobrecarregando seu processamento. O custo desse processamento foi passado para o originador do pacote e os equipamentos podem utilizar o processamento economizado para outras funes.

O IPV4 tem vrias limitaes, entre uma delas a de endereamento e segurana. Assim surgiu a proposta de uma nova arquitetura, O IPV6 ou Next Generation, ou ainda IPSec. Neste novo protocolo, a segurana um pr-requisito. O IPSEC oferecer servios de autenticao de usurios e garantia de confidencialidade e de integridade dos dados atravs de criptografia. O IPSEC tambm est sendo projetado para resolver a questo dos endereos IP, pois o novo tamanho do campo de endereos passa para 16 bytes (128 bits), o que permitir a expanso da Internet sem problemas. Devido imensa base instalada de hosts e roteadores compatveis com o IPv4, o IPv6 est sendo desenvolvido de forma que seja possvel uma migrao gradual para o novo protocolo. O novo protocolo aumenta o espao de endereamento corrente, que se tornou insuficiente para acomodar a atual taxa de crescimento da rede. Os novos endereos tm 128 bits de comprimento (contra os atuais 32 do IPv4), possibilitando um aumento significativo no nmero de hosts. As caractersticas IPv6 so, dentre outras: 128 bits de espao de endereamento; arquitetura de endereamento melhor estruturada; suporte para "datagramas jumbo" (o IPv4 suporta somente 64 Kbytes no tamanho do pacote); mobilidade; configurao plug-and-play (stateless address config); mecanismos de segurana, incluindo encriptao e autenticao; suporte para multicasting e anycasting; e suporte a aplicaes multimdia em tempo real.

Embora pilhas IPv6 nativas no possam interoperar diretamente com pilhas IPv4, mecanismos de compatibilidade IPv4 foram introduzidos no IPv6 para assegurar uma transio mais fcil.

IPv6 a nomenclatura de Internet Protocol version 6 (conhecido tambm como IPng - IP Next Generation), ele o protocolo que substituir a verso atual conhecida como IPv4 ou Internet Protocol version 4. O IPv4 um protocolo bastante estvel e robusto que existe desde meados dos anos 80, porm devido expanso monstruosa da Internet, sobretudo aps o incio dos anos 90, se verificou que a quantidade de nmeros IPv4 disponveis no suportariam tal aumento de utilizao de nmeros IP na Internet.

Solues como o NAT (Network Address Translation) ou Maquerading (no Linux) resolvem um pouco o problema da falta de nmeros IPv4, porm acabam criando outros de ordem tcnica, principalmente porque numa rede NAT apenas a mquina roteadora possui um IP vlido e apenas uma mquina da rede pode ser utilizada para um determinado servio, como por exemplo, um servidor WWW (http-server). No IPv4, os endereos IP tm um tamanho mximo de 32 bits, o que permite um espao de endereamento de 232 = 4.294.967.296 endereos IPv4. No IPv6, os endereos IP tm o tamanho mximo estendido para 128 bits, o que permite um espao de endereamento gigantesco de "apenas" 2128 = 3.4028236692093846346337460743177e38 endereos IPv6. Para se ter idia da ordem de grandeza deste nmero, basta dizer que se uma pessoa comear a contar os nmeros IPv6 no incio da vida, at o final dela no ter chegado a totalizar nem 1% do universo deles. Desta forma, atualmente somente 15% dos nmeros IPv6 esto sendo alocados para uso presente, ficando os 85% restantes reservados para uso futuro. Para se ter uma noo da grandeza desse valor,assumindo-se a rea do planeta Terra como sendo 510.065.500 x 1012 mm2, poderamos ter 6,6713 x 1017 IP/mm2. Porm, o endereamento do IPv6 no completamente plano, isto , no possvel utilizar todas as combinaes possveis. Se supusermos que sejam efetivamente utilizados 64 bits desses 128 bits, ainda assim teramos mais de 36.000 IP/m2, um nmero suficientemente grande para suprir a demanda por vrias dcadas. Embora tecnologias como a NAT tenham prolongado a sobrevivncia do IPv4 (no caso da NAT, com relao ao nmero de endereos possveis), elas no so suficientes para resolver todos os problemas do IP com relao s necessidades futuras, porque a mesma NAT, por exemplo, inviabiliza ou dificulta alguns tipos de aplicaes, como segurana fim-a-fim e VPN (Virtual Private Networks Redes Privadas Virtuais). Alem do espao de endereamento gigantesco, o IPv6 possui vrias das virtudes j consagradas no IPv4 e outras tantas novas caractersticas para suprir as carncias daquele. Porm, como as pilhas IPv4 e IPv6 no so compatveis entre si, ser necessrio uma migrao lenta do IPv4 para o IPv6, comeando pelos roteadores e pelos servidores DNS, por isto durante um bom tempo s estruturas IPv4 e IPv6 sero usadas em paralelo.

Novo

Formato

Uma das novas caractersticas deste novo protocolo, o novo formato do endereo. O IPv6 amplia o atual endereo de 32 para 128 bits possibilitando um mtodo mais simples de auto-configurao atravs do uso da identificao EUI-64 da maior parte dos interfaces de rede. Existem trs formas de representao de um endereo IPv6. A forma mais utilizada e' x:x:x:x:x:x:x:x, onde os "x" so nmeros hexadecimais. Assim o endereo Ipv6 dividido em oito partes de 16 bits, como apresentado no seguinte exemplo: 3ffe:3102:0:0:8:800:200C:417A Apenas 15% de todo espao de endereamento IPv6 est previamente alocado, ficando os restantes reservados para uso futuro. Devido a essa pr-alocao, sero comuns endereos com seqncias de bits com o valor zero.

De forma a simplificar a representao de tais endereos as seqncias de zeros podem ser substitudas pela agregao "::". No entanto, esta apenas poder ser efetuada uma nica vez em cada endereo. A tabela abaixo indicada apresentamos alguns exemplos de endereamento IPv6 tanto na sua representao extensa como na forma abreviada:

Endereo Unicast Multicast Loopback

Representao Extensa

Forma Abreviada

3ffe:3102:0:0:8:800:200C:417A 3ffe:3102::8:800:200C:417A FF01:0:0:0:0:0:0:43 0:0:0:0:0:0:0:1 FF01::43 ::1 ::

Unspecified 0:0:0:0:0:0:0:0

A terceira opo utilizada na representao de endereamento compatvel Ipv6Ipv4, sendo til no perodo de migrao e de coexistncia de ambos os protocolos. Assim utilizamos a representao x:x:x:x:x:x:z.z.z.z, onde os "x" indicam nmeros hexadecimais (16 bits) e os "z" so valores que representam os 8 bits referentes ao endereo IPv6 0:0:0:0:0:0:192.168.1.1 ou, :192.168.1.1 na forma abreviada:

Novas Funcionalidades Alm de representar um maior espao de endereamentos e das modificacoes apresentadas anteriormente, o IPv6 possui vrias outras caracteristicas importantes como: Agregao de Prefixo Este tipo de agregao permite estabelecer um tipo de endereamento hierarquico. Por exemplo um ISP pode dividir o seu prefixo pelos seus clientes agregando-os de seguida quando o anuncia na Internet

Images courtesy from Cisco.

Tambm facilita as tarefas de endereamento e routing quando um cliente tem mais de uma saida para a Internet (multihomed) visto os prefixos serem atribuidos a redes e hosts a automaticamente apreendidos por estes sem quebra da tabela de routing global.

Images courtesy from Cisco.

No entanto, o processo de seleco do endereo de origem em rede multihomed ainda se encontra em estudo pelo IETF. Descoberta de vizinhaa (Neighbour Discovery) Este processo de descoberta utiliza ICMPv6 e endereos Solicited Node Multicast para determinar o endereo da camada de rede de um elemento vizinho nessa mesma rede e verificar a sua acessibilidade.

Images courtesy from Cisco.

Quando da determinao da identificao do endereo da camada de rede de outro n, a origem de uma solicitao de descoberta de vizinhana de rede o endereo IPv6 do n solicitador. O endereo de destino de uma solicitao de descoberta de vizinhana de rede o endereo solicited-node multicast que corresponde ao endereo IPv6 do n de destino. Esta mensagem de solicitao tambm inclui o endereo da camada de rede do n de origem. Renumerao de rede facilitada. De modo a possibilitar a renumerao bastar que um novo prefixo com tempo de vida distinto seja anunciado a todos os hosts. Durante o periodo de renumerao o prefixo antigo ser removido das mensagens de propagao dos routers.

Images courtesy from Cisco.

Suporte a Servios em Tempo Real Na especificao do IPv6, o termo "flow" ou fluxo pode ser definido como uma sequncia de pacotes de uma determinada origem para um determinado destino (unicast ou multicast), na qual a origem requer um tratamento especial pelo equipamento de routing. Os campos "Traffic Class" e "Flow Label" foram criados especialmente para facilitar o desenvolvimento de protocolos para controlo de trfego em tempo real, como o RSVP (Resource Reservation Protocol), de forma a permitir a implementacao na Internet de aplicaes multimdia e com a integrao de servios de dados, voz e video em tempo real. Perspectiva Dual Stack Os ns e aplicaes funcionam fazendo uso do transporte IPv4 e IPv6 assegurando assim a funcionalidade e acessibilidades de servios.

Images courtesy from Cisco.

A acessibilidade a esses servios pode ser efectuada usando mapeamento a nivel de DNS, identificando o n onde se encontra esse servio com registo A para IPv4 ou AAAA ou A6 para IPv6.

Images courtesy from Cisco.

Perpectiva de Tunneling Esta perpectiva permite encapsular pacotes IPv6 em cima do actual transporte IPv4 permitindo a acessibilidade de ns e servios IPv6. Esta perspectiva actualmente utilizada no 6Bone e poder ser tambem utilizada por prestadores de servios de telefonia mvel numa primeira fase de disponibilizao de servios de 3 gerao. Contudo esta soluo no deve ser encarada como final devido s dificuldades de despiste de anomalias que o tunneling apresenta.

Neste caso o endereo IPv6 configurado manualmente num interface de tunneling e endereos IPv4 so tambm configurados manualmente nas extremidades desse tunel. As extremidades devem suportar transporte IPv4 e IPv6 e podem ser routers ou hosts. Tuneis Automticos O endereo IPv6 de origem e destino do tunel so determinados automaticamente usando os 32 bits do endereo IPv4, formando um endereo do tipo IPv5 IPv4 Compatible. Ex: ::194.65.3.21 As extremidades devem suportar transporte IPv4 e IPv6 e podem ser routers ou hosts. Tuneis 6 to 4 Este tipo de tuneis so estabelecidos entre routers IPv6 sobre uma infra-estrutura IPv4. O endereo IPv6 de origem e destino so determinado pela concatenao do endereo IPv4 com o prefixo 2002::/16 formando um endereo do tipo 2002:194.65.3.20::/48. As extremidades devem suportar transporte IPv4 e IPv6 e podem ser apenas routers.

Auto-configurao A auto-configurao de endereos permitir que o prprio host defina os parmetros necessrios para a conexo na Internet. implementado esta autoconfigurao utilizando os protocolo Neighbor Discovery (ND), que faz uma combinao do protocolo ARP e o ICMP. Quando a mquina for ligada, deve automaticamente associar um endereo IP a sua interface de rede. Possui duas formas dos hosts de auto-configurar.

Para um maior controle de redes muito grande, os administradores podero optar por uma outra forma de autoconfiguracao, conhecida como "stateful autoconfiguration". Esta opo ser disponibilizada por uma nova verso do DHCP (DHCPv6). Quando se instala um host (servidor/cliente) numa rede , automaticamente ser atribuido um endereo composto pelas componentes AG:TLA:NLA:SLA:EUI64. Esta caracteristica de autoconfiguracao, denominada "stateless autoconfiguration", estar presente no IPv6 eliminando a necessidade de se configurar manualmente este tipo de equipamentos.

Configurao Statefull : onde h um servidor de configurao (DHCP), com o qual o host se comunica e recebe um endereo IP completo. Caso no haja roteadores no link, esta configurao deve ser adotada. Neste mtodo o tempo de vida associado ao endereo determinado pelo servidor de endereos; Configurao Stateless : o host utiliza um prefixo vlido enviado pelo roteador ND, concatenando com seu endereo de interface de rede, que nico. O tempo de vida definido a partir do tempo de vida do prefixo proveniente da resposta do roteador. No IPv6 os hosts mveis podem continuar a receber o trfego destinado ao seu endereo se estiverem em outro local. Os usurios podem pedir para que seu roteador local envie todo o trfego destinado ao seu endereo fixo para outro endereo temporrio, chamado foreign address, o qual formado pelo prefixo da rede estrangeira e pelo seu endereo interface do host. Qualidade de Servio A autoconfigurao de endereos permitir uma operao plung-and-play de mquinas na internet. Quando a mquina for ligada, deve automaticamente associar um endereo IP sua interface de rede. Com o IPv4, a associao de endereos IP se dava manualmente, bem como a associao com o servidor de nomes e o default gateway.

Mas espera-se que isso no seja mais manual com o IPv6, ainda mais se pensarmos que teremos mquinas wireless muito mais comum que hoje e que mquinas podero mudar de subrede mais facilmente. So duas as formas de um host se autoconfigurar com IPv6 [MOR 96]: configurao stateful: onde h um servidor de configurao, com o qual o host se comunica configurao stateless: onde o host constri seu endereo IP a partir do seu endereo de interface de rede, que nico

Com base no seu endereo de placa de rede, resta, portanto, saber o prefixo ao qual o host pertencer. Uma forma se usar o prefixo de uso local, que atende essa necessidade. Para redes que no esto conectadas, uma tima soluo. Para redes conectadas, o roteador dessa rede deve informar aos hosts o devido prefixo da rede. Os campos de Flow Label e Priority no cabealho so usados para identificar aqueles pacotes que necessitam de "cuidados especiais". So pacotes originados de aplicaes multimdia ou de tempo real, por exemplo. Flow Label So 24 bits que podem ser usados para identificar um tipo de fluxo de dados (algo como uma conexo ou circuito virtual) [NIE 96]. Classifica-se em fluxo orientado aquele que demanda muitos pacotes, e fluxo no-orientado aquele que no demanda muitos pacotes, muito trfego. A tabela abaixo mostra alguns exemplos de aplicaes para esses tipos de fluxos:

TRFEGO ORIENTADO TRFEGO NO-ORIENTADO FTP Telnet HTTP Multimdia DNS SMTP NTP POP

SNMP
O uso deste campo no explicitamente definido, mas imagina-se que um fluxo orientado necessita uma ateno maior que um fluxo no orientado. Caberia aos roteadores negociarem quais so as medidas a serem tomadas. Dentro de cada categoria (orientada ou no) haveria um identificador de fluxo que sugeriria o tratamento daquele caso. Quando os roteadores recebessem um pacote com determinado identificador de fluxo, consultariam uma tabela onde recuperariam o tipo de tratamento [TAN 96] Prioridade Este campo determina a prioridade do datagrama em relao a outros datagramas da mesma origem. Todos os pacotes de determinado fluxo devem ter a mesma prioridade, portanto estes so dois campos usados em conjunto. Espera-se que esse campo identifique e prioritize aplicaes iterativas, como sesso remota.

O uso efetivo se d quando o pacote enfrenta um trfego congestionado. Valores de 0 a 7 nesse campo lidam com transmisses (geralmente TCP) que podem ser retardadas no caso de um congestionamento. Valores de 8 a 15 se referem a aplicaes cujo trfego constante e um atraso implicaria em perda de informao, como vdeo e udio.

Maior

espao

de

endereamento

A ampliao do espao de endereamento oferecido a primeira das vantagens oferecidas pelo IPv6 em comparao com o IPv4. A atual arquitetura da Internet est baseada em endereos de 32 bits, enquanto que a nova verso dispe de endereos de 128 bits. Graas a esta ampliao, no ser mais necessrio utilizar solues como a NAT e levar a uma completa e ilimitada conectividade para todas as mquinas atuais baseadas em IP, assim como para os novos dispositivos mveis como PDA e telefones celulares, que podero dispor de acesso IP completo graas a GPRS e a UTMS.

Mobilidade

- Suporte a Multiprotocolos e Mobilidade

Observa-se, dos tipos de endereos unicast citados anteriormente, que foi reservada parte do espao de endereamento para endereos NSAP e IPX. Assim, o IPv6 suportara' automaticamente trafego de redes OSI (endereos NSAP) e de rede Netware/Novell (endereos IPX). Uma grande poro do espao de endereamento IPv6 foi reservada para uso futuro. Essa poro tambm poder ser alocada para outros protocolos que se tornarem padres de fato.

O suporte a comunicaes moveis tambm estar presente no IPv6. Encontra-se em estudo um mtodo para que, no estabelecimento inicial de uma sesso, um host IPv6 descubra dinamicamente atravs de um agente central, a localizao de uma estao mvel.

Quando se fala de dispositivos mveis e IP, um ponto importante a se ter presente que necessrio um protocolo especial para suportar a mobilidade. A implementao deste protocolo, chamado IP mvel, um dos requisitos de cada stack IPv6. Portanto, quando se ativa o IPv6 obtm-se o suporte para o roaming entre redes diferentes, com atualizao completa quando se deixa uma rede e se transfere para uma outra. O suporte ao roaming possvel tambm com o IPv4, mas preciso resolver alguns problemas antes de se obter um sistema que funcione. Com o IPv6 no necessrio nenhum artifcio particular, uma vez que o

suporte mobilidade um dos requisitos desse projeto. Ver [RFC3024] para maiores informaes sobre os problemas a resolver para suportar o "IP mvel" no IPv4.

Segurana O atual IPv4 apresenta uma srie de problemas de segurana, no garantindo autenticidade e privacidade abaixo do nvel de aplicao. Para a nova verso, foram projetadas duas opes que podem ser usadas separadamente ou em conjunto, de acordo com as necessidades de segurana das diversas redes. O Ipv6 implementa segurana (IP Security Ipsec) atravs dos cabealhos flexveis Authentication Header AH, e Encrypted Security Payload ESP ( tambm chamado de 7). Quando se executar uma conexo, o host transmissor e o host receptor estabelecem um acordo, onde escolhem os parmetros que definem uma associao, tambm chamada de Associao de Segurana (Security Association), que define os aspectos de segurana que sero utilizados para garantir uma comunicao segura, onde so geralmente utilizados os algoritmos de autenticao, criptografia, chave(s) e de outros parmetros necessrios para a segurana de ambos (deve ser escolhido pelo menos um desses). Se os hosts forem transmitir ao mesmo tempo, ento precisaremos de duas "associaes", pois a associao unidirecional. A associao de segurana deve ser definida para cada protocolo de segurana, isto , se tivermos cabealhos de Autenticao e de Criptografia iremos precisar de duas associaes de segurana. Cada associao identificada por um endereo destino e um SPI - Security Parameter Index,(que geralmente escolhida pelo host receptior), presente nos headers de segurana.

5.1 Cabealho de Autenticao (Authentication Header) A autenticao provida por um cabealho de extenso que suporta a integridade, autenticao e originalidade dos dados de um pacote IP, oferecendo proteo contra ataques de hosts que utilizem um endereo falso, como o IP Spoofing e variaes. O Algoritmo de autenticao calcula a informao de autenticao utilizando os campos que so imutveis do datagrama IP, os campos do cabealho AH(Autentication Header) e campos das camada superior.

Figura 5.1 : Formato do cabealho de autenticao

Descrio dos campos do cabealho de autenticao : Campo : Next Header Tamanho : 8 bits Descrio : identifica o prximo cabealho. Campo : Payload Length Tamanho : 8 bits Descrio : Tamanhho do campo de dados (Authentication Data) em palavras de 32 bits. Campo : Reserved Tamanho : 16 bits Descrio : Reservado para uso futuro, tendo este valor nulo. Campo : Security Parameters Index Tamanho : 32 bits Descrio : Indica uma associao de segurana do datagrama, onde se o valor for igual a nulo, indica que no h associao de segurana. Campo : Sequence Number Tamanho : 32 bits Descrio : Campo opcional, que adicionado se a associao de segurana define servios contra replays. O transmissor e o receptor possuem um contador, e aps o primeiro pacote enviado, atravs da associao de segurana, ter um Sequence Number igual a 1. Nas prximas transmisses o transmissor verifica se o contador no foi alterado e incrementa 1. Campo : Authentication Data Tamanho : Varivel Descrio : Expresso em palavras de 32 bits. Contm o valor de verificao de integridade (Integrid Check Value) que calculado atravs dos campos imutveis dos cabealhos IP de Autenticao e dados da camada superior ( tambm imutveis). 5.2 Cabealho de Criptografia (Encryption Header) Este cabealho garante a confiabilidade dos dados, protegendo a rede contra os Sniffers, permitindo a criptografia na camada de rede, garantindo assim maior segurana. Este cabealho tambm pode ser configurado para fornecer autenticao e integridade dos dados, oferecendo assim opo de proteo contra replay. Em casos que necessitam a utilizao dos cabealhos de Autenticao e de Criptografia, recomendado que utilizem o cabealho de criptografia no cabealho de autenticao. Deste modo o host receptor pode verificar a autenticidade antes de decriptograf-la. A associao de segurana define a opo de alguns campos que so opcionais no cabealho de criptografia. Se este campo no for selecionado, ento ele descartado nos clculos de verificao de integridade. Um dos algoritmos de criptografia que se utilizado e padronizado o DES-CBC (Chiper Block ChainingMode of the Data Encryption Standard).

Figura 5.2 : Formato do cabealho de criptografia Descrio dos Campos do Cabealho: Campo : Security Parameters Index Tamanho : 32 bits Descrio : Identifica a associao de segurana do datagrama, onde se o valor for nulo indica que no possui associao de segurana. Campo : Sequence Number Tamanho : 32 bits Descrio : campo opcional, includo quando a associao de segurana deve definir servios contra replay. Campo : Payload Data Tamanho : Varivel Descrio : Campo de tamanho varivel, carrega os dados de tipo descrito no campo Next Header. Campo : Padding Tamanho : Varivel Descrio : Garante que os parmetros usados nos algoritmos de criptografia tenham um limite de n bytes ou sejam mltiplos de n bytes. Existem dois subcampos definidos em Padding: o payload Length, que indica o nmero de bytes do campo Padding , e Next Header de o bits, que indica o tipo de dado carregado no campo Payload Campo : Authentication Data Tamanho : Varivel Descrio : Campo de tamanho varivel que contm o valor de verificao de integridade (Integrity Check Value). Este campo includo somente se a associao de segurana definir autenticao e integridade de dados. 5.3 - Modos de Operaes Os protocolos de segurana IP suportam dois modos de operao: Modo Transporte (Transport Mode) e o Modo Tnel (Tunnel Mode).

No Modo Transporte os protocolos garantem segurana para as camadas superiores a camada IP. No Modo Tnel, o pacote IP encapsulado em um novo pacote, ou seja, inserido no campo payload do novo pacote, deixando o pacote Ip protegido.

Figura 5.3 : Tunelamento do pacote IP

5.4 Localizao dos Cabealhos 5.4.1 - Cabealho de Autenticao No Modo Transporte: Os cabealhos de autenticao aplicados no Modo Transporte pode ser definido apenas entre dois hosts, e oferece proteo aos protocolos das camadas superiores e a alguns campos do cabealho IP. O cabealho de autenticao posicionado depois do cabealho IP e antes do protocolo da camada superior. Este cabealho visto como uma estrutura fim a fim (end-toend), isto , no processado nos ns intermedirios. Desta forma, o cabealho AH (Authentication Header) deve ser inserido depois dos cabealhos de roteamento, fragmentao e Hop-by-Hop, j o cabealho Destination pode ser posicionado antes ou depois do cabealho de autenticao. Veja figura seguinte.

Figura 5.4 : Cabealho de autenticao no modo transporte

No Modo Tnel: Os cabealhos de autenticao (AH) aplicados no Modo Tnel protege o cabealho IP interno. Neste modo o cabealho de autenticao inserido aps o cabealho IP externo.

5.4.2 - Cabealho de Criptografia No Modo Transporte: posicionado depois do cabealho IP e antes do cabealho da camada superior, ou antes de outros protocolos de segurana. Este cabealho visto como uma estrutura fim-a-fim, ento este cabealho ESP inserido depois dos cabealhos de roteamento, fragmentao e Hop-by-Hop. O

cabealho de opes Destination pode ser posicionado antes ou depois do cabealho de criptografia, mas prefervel posicion-lo depois, pois o cabealho ESP protege os campos que aparecem depois do mesmo.

Figura 5.6 : Cabealho de criptografia no modo transporte

No Modo Tnel: Neste modo o cabealho IP interno carrega os ltimos endereos fonte e destino, protegendo assim todo o pacote IP interno, deixando desta maneira o cabealho de autenticao aps o cabealho IP externo.

Figura 5.7 : Cabealho de criptografia no modo tnel

As especificacoes do IPv6 definiram dois mecanismos de seguranca inclusos no IPSec: Autenticacao de cabecalho (authentication header Segurana do encapsulamento IP (Encrypted Security Payload) O IPSec no IPv6 encripta os dados em todo o seu percurso enquanto no IPv4 os dados apenas podiam se encriptados entre routers da camada se distribuio. A autenticao de cabealho assegura ao destinatrio que os dados IP so realmente do remetente indicado no endereo de origem, e que o conteudo foi entregue sem modificacoes. A autenticao utiliza o algoritmo de assinatura normalmente o MD5 (Message Digest 5). A seguranca do encapsulamento IP permite a confidencialidade e autenticao da origem e integridade dos dados encapsulados no pacote IP, atravs de um algoritmo de criptografia DES/3DES (Data Encryption Standard). Os algoritmos de autenticao e criptografia citados acima utilizam o conceito de associao de seguranca entre o transmissor e o receptor. Assim, o transmissor e o receptor devem concordar com uma chave secreta e com outros parametros relacionados segurana, conhecidos apenas pelos membros da associao. Para gerar as chaves provavelmente ser utilizado o IKMP (Internet Key Management Protocol), desenvolvido pelo grupo de trabalho do IETF em Seguranca IP.

O atual IPv4 apresenta uma srie de problemas de segurana, no garantindo autenticidade e privacidade abaixo do nvel de aplicao. Para a nova verso, foram projetadas duas opes que podem ser usadas separadamente ou em conjunto, de acordo com as necessidades de segurana das diversas redes[HIN 95]. A infraestrutura proporcionada pelo IPv6 vai requerer mais estratgias de segurana do que apontadas pelo IPv4. Mecanismos de autoconfigurao, ausentes at agora, tero de ser bem autenticadas. Opes de qualidade de servio no muito rgidas podem tornar seus datagramas passveis de ataque. Cuidados devem ser tomados para que uma combinao de opes no deixem os datagramas desprotegidos. Uma palavra-chave em termos de segurana a associao[STA 96]. Uma associao um relacionamento unidirecional entre um transmissor e um receptor. Se os dois nodos de uma conexo vo transmitir, ento duas associaes so necessrias. Cada associao identificada por um endereo destino e um SPI security parameter index, presente nos headers de segurana. Os parmetros que definem uma associao de segurana so geralmente os algoritmos de autenticao e/ou criptografia e sua(s) chave(s). As especificaes do IPv6 definiram dois mecanismos de segurana: a autenticao de cabealho (authentication header, [RFC1826]) ou autenticao IP, e a segurana do encapsulamento IP (encrypted security payload, [RFC1827]).

A autenticao de cabealho assegura ao destinatrio que os dados IP so realmente do remetente indicado no endereo de origem, e que o contedo foi entregue sem modificaes. A autenticao utiliza um algoritmo chamado MD5 (Message Digest 5), especificado em [RFC1828].

A segurana do encapsulamento IP permite a autenticao dos dados encapsulados no pacote IP, atravs do algoritmo de criptografia DES (Data Encryption Standard) com chaves de 56 bits, definida em [RFC1829].

Os algoritmos de autenticao e criptografia citados acima utilizam o conceito de associao de segurana entre o transmissor e o receptor. Assim, o transmissor e o receptor devem concordar com uma chave secreta e com outros parmetros relacionados segurana, conhecidos apenas pelos membros da associao. Para gerenciar as chaves provavelmente ser utilizado o IKMP (Internet Key Management Protocol), desenvolvido pelo grupo de trabalho em Segurana IP.

Alm do suporte para a mobilidade, a segurana era um dos requisitos do sucessor atual verso do Internet Protocol. Como conseqncia, os stacks do protocolo IPv6 devem incluir o IPsec. O IPsec permite autenticar, criptografar e comprimir qualquer tipo de trfico IP. Diferentemente dos protocolos em nvel de aplicao, como o SSL ou o SSH, pode-se gerenciar todo o trfico IP entre dois ndulos sem

ter que fazer modificaes nas prprias aplicaes. A vantagem dessa abordagem que todas as aplicaes em uma mquina podem beneficiar-se da criptografia e da autenticao, e que as polticas correspondentes possam ser estabelecidas, de modo geral, no nvel do host ou at mesmo da rede, e no simplesmente no nvel do aplicativo/servio. Uma introduo ao IPsec que compreende tambm os links com a documentao pode-se encontrar em [RFC2411], enquanto que o protocolo de base descrito em [RFC2401].

Suporte a Servios em Tempo Real

Na especificao do IPv6, o termo "flow" ou fluxo pode ser definido como uma seqncia de pacotes de uma determinada origem para um determinado destino (unicast ou multicast), na qual a origem requer um tratamento especial pelos roteadores.

Os campos "priority" e "flow label" foram criados especialmente para facilitar o desenvolvimento de protocolos para controle de trafego em tempo real, como o RSVP (Resource Reservation Protocol), de forma a permitir a implementao de uma Internet com aplicaes multimdia e com a integrao de servios de dados, voz e vdeo em tempo real.

Endereamento A principal diferena entre o endereamento do IPv4 e do IPv6 o tamanho: endereos IPv4 possuem 32 bits de tamanho, enquanto endereos IPv6 possuem 128 bits. Porm esta no a nica diferena no endereamento destes protocolos. Enquanto os endereos IPv4 so dividido em apenas duas ou trs partes variveis para serem distribuidos e localizados (um identificador de rede, um identificador de nodo e, s vezes, um identificador de sub-rede), os endereos IPv6 so grandes o suficiente para suportarem uma nova idia - a idia de campos dentro do endereo. H trs tipos de endereos IPv6: o unicast, o multicast e o anycast. Os endereos unicast e multicast so similares com os da verso IPv4; o endereo broadcast existente no IPv4 deixa de existir, enquanto um novo tipo de endereamento criado: o anycast. A representao dos endereos no IPv6 mudou em relao ao IPv4. Ao contrrio do IPv4, em que se escreviam os endereos utilizando nmeros em representao decimal, dividindo-os em blocos de oito bits e separando-os por pontos (.) decidiuse que os endereos IPv6 seriam escritos utilizando a representao hexadecimal, em grupos de 16 bits, separados por dois pontos (:). Por exemplo, os endereos: 3FFE:2B00:0100:0107:00BC:0025:0008:7570 0000:0000:AB50:0020:0109:0000:0000:0001

so endereos vlidos de acordo com a representao de endereos do IPv6, segundo Macieira (2000).

Os exemplos apresentados mostram as representaes preferenciais do endereo IPv6. Existem ainda outras formas de represent-lo, facilitando a sua digitao ou memorizao e simplificando a notao. Segundo Deering (1998), um dos mtodos utilizados na representao do endereamento o de suprimir os zeros da esquerda de cada conjunto de 16 bits. Para exemplificar este mtodo, usaremos o endereo IP "3FFE:2B00:0100:0107:00BC:0825:0008:7570". Aplicando o mtodo de representao, o exemplo ficaria da seguinte forma: "3FFE:2B00:100:107:BC:25:8:7570". Outra forma de simplificar um endereo IPv6 suprimir as seqncias de 16 bits com valores iguais a zero. Assim o endereo "0000:0000:AB50:0020:0109:0000:0000:0001" ficaria da seguinte forma: "0000:0000:AB50:0020:0109::0001". Deve-se ter o cuidado de suprimir somente uma seqncia de 16 bits. Segundo Deering (1998), existe ainda a possibilidade de unir os dois mtodos de simplificao. Uma outra alternativa criada para representar os endereos misturar a forma de representao do IPv6 com a forma de representao do IPv4. Este formato usado preferencialmente por hosts com IPv6 e que esto recebendo pacotes IPv4, ou transmitindo pacotes IPv6 para hosts que s tenham o protocolo IPv4. Esta concatenao formada por um prefixo de 96 bits de tamanho, com representao do IPv6 mais 32 bits da forma de representao do IPv4, segundo Deering (1998). Um exemplo seria "3FFE:2B00:100:107::10.16.169.3". Um endereo IPv4 um valor de 32 bits, escrito usualmente no formato "dotted quad", onde cada um dos valores separados por pontos um valor compreendido entre 0 e 255. Por exemplo: 127.0.0.1 Esta estrutura permite um nmero mximo terico de 232 ou ~4 bilhes de hosts serem conectados atual Internet. Por causa dos agrupamentos, todavia, nem todos os endereos esto realmente disponveis. Os endereos IPv6 usam 128 bits, que nos levam a 2128 de hosts teoricamente endereveis. Isto permite enderear um nmero verdadeiramente enorme de mquinas, cobrindo completamente sem problemas todos os requisitos atuais e futuros mesmo de PDAs e telefones celulares dotados de endereo IP. Para escrever os endereos IP, dividimo-os em grupos de 16 bits escritos com quatro algarismos hexadecimais, separando os grupos com o caracter ":" (dois pontos). Por exemplo: fe80::2a0:d2ff:fea5:e9f5 Este exemplo mostra tambm que uma srie de zeros consecutivos pode ser abreviada com um nico "::" no endereo IPv6. O endereo precedente pois equivalente a fe80:0:00:000:2a0:d2ff:fea5:e9f5. Os zeros iniciais dentro do grupo podem ser omitidos. Para simplificar o gerenciamento, os endereos so divididos em duas partes: os bits que identificam a rede a que a mquina pertence e os bits que identificam a prpria mquina na (sub)rede. Os primeiros so definidos como "bits de rede" (netbits) os segundos como "bits de host" (hostbits) e, tanto no IPv4 quanto no IPv6, os bits de rede so os que esto mais esquerda (bits mais significativos), enquanto que os bits de host esto mais direita (bits menos significativos), como se mostra na Figura 9-3.

Figura 9-3. Endereos: bits de rede e bits de host

No IPv4 os bits de rede e os bits de host so separados graas mscara de rede. Exemplos tpicos so 255.255.0.0, que usa 16 bits para o endereo de rede, e 255.255.255.0, que usa outros 8 bits, permitindo, por exemplo, enderear 256 subredes em uma rede de classe B. Quando se passa do endereamento por classes ao formato CIDR, a separao entre bits de rede e bits de host deixa de cair necessariamente sobre o limite dos 8 bits e, por conseqncia, as mscaras de rede comeam a ficar mais difceis de gerenciar. No lugar das mscaras j se comea a indicar o limite usando o nmero de bits de rede para um dado endereo. Por exemplo: 10.0.0.0/24 corresponde a uma mscara de rede de 255.255.255.0 (24 bits por 1). O mesmo esquema usado no IPv6. O valor: 2001:638:a01:2::/64 indica que no endereo especificado os primeiros 64 bits (os que esto mais esquerda) dizem respeito rede, enquanto os ltimos 64 bits (os mais direita) identificam a mquina na rede. Os bits de rede so freqentemente chamados "prefixo" (da rede) e aqui o comprimento do prefixo de 64 bits. Entre os esquemas de endereamento mais comuns do IPv4, estavam as redes de classe B e de classe C. Com uma rede de classe C (/24) o provedor atribui 24 bits, deixando 8 bits disponveis. Se acrescentamos as sub-redes acaba-se tendo uma mscara de rede "irregular" no muito prtica de se administrar. Neste caso uma rede de classe B (/16) seria mais fcil de administrar porque so fixados s 16 bits pelo provedor, o que permite criar sub-redes com mais facilidade, dividindo em duas partes os restantes 16 bits. A primeira parte enderea a sub-rede local e a segunda enderea o host no interior da prpria sub-rede. Geralmente se "interrompe" no extremo dos oito bits (um byte). Usando uma mscara de rede de 255.255.255.0 (/24) consegue-se administrar de modo mais flexvel mesmo redes de grandes dimenses, continuando-se a manter o limite de 256 sub-redes com 254 mquinas cada uma. Com os 128 bits disponveis para o endereamento IPv6, o esquema utilizado o mesmo, apenas que com os campos maiores. Os provedores usualmente estabelecem redes /48, o que deixa 16 bits para as sub-redes e 64 bits para os hosts. Figura 9-4. Os endereos IPv6 tm uma estrutura parecida com os endereos de classe B

Enquanto o espao para as rede e as sub-redes parece adequado, o uso de 64 bits para os hosts parece um desperdcio de espao. Visto que improvvel a utilizao de vrios bilhes de hosts na mesma sub-rede, porque usar essa estrutura? A idia que est na base de um identificador de host de comprimento fixo de 64 bits que os identificadores de host no so mais estabelecidos manualmente, como feito hoje com o IPv4. No lugar disso, recomenda-se ( s uma recomendao, no uma obrigao) contru-los partindo dos assim chamados endereos EUI64. Os endereos EUI64 ocupam, como diz o nome, 64 bits e derivam do endereo MAC da placa de rede. Por exemplo, para a Ethernet, ao endereo de rede de 6 bytes (42 bits) so usualmente acrescentados os bits "fffe" no meio e um bit definido para indicar que o endereo nico (o que verdadeiro para a Ethernet). Por exemplo, o endereo MAC 01:23:45:67:89:ab torna-se o endereo EUI64 03:23:45:ff:fe:67:89:ab o que leva os bits de host do endereo IPv6 a ter a forma ::0323:45ff:fe67:89ab Estes bits de host podem ser usados para designar o endereo IPv6 a um host suportando a auto-configurao dos hosts IPv6. Tudo o que preciso para se ter um endereo IPv6 completo so os primeiros bits (rede/sub-rede), mas o IPv6 oferece ainda o sistema para determin-los automaticamente. Nas redes de mquinas IP h geralmente um router que age como gateway para com a redes externas. Nas redes IPv6 o router envia uma srie de informaes de "router advertisement", que os clientes deveriam receber enquanto esto em funcionamento ou solicitar explicitamente enquanto esto em fase de inicializao. Estas informaes compreendem o endereo do router e os prefixos de rede geridos pelo prprio router. Com estas informaes e o endereo EUI64 gerado automaticamente, um host IPv6 pode determinar seu prprio endereo IP sem uma atribuio manual. Naturalmente os routers devem ainda ser explicitamente configurados.

As informaes enviadas pelo router fazem parte do protocolo NDP Neighbor Discovery Protocol (ver [RFC2461]), que o sucessor do protocolo ARP do IPv4. Diferentemente do ARP, o NDP no apenas busca os endereos IP correspondentes aos endereos MAC, mas efetua tambm um servio parecido para os routers e seus prefixos correspondentes das redes geridas, o que utilizado pela autoconfigurao dos hosts IPv6 recm descritos. Endereamento IPv6: Representao do Endereamento IPv6 Para que possa haver uma compreenso de como so representados os endereos IPv6, necessrio que primeiro se observe alguns dados sobre a representao dos endereos IPv4. Os endereos IPv4 so representados em quatro partes, com valores delimitados, ou seja, , quatro nmeros separados por pontos. Por exemplo, todos os endereos da figura abaixo so IPv4 vlidos, representados por inteiros decimais: 10.5.3.1 127.0.0.1 201.199.244.101 Os endereos IPv6, quatro vezes maiores que os endereos IPv4, so tambm quatro vezes mais complexos. A representao bsica de um endereo IPv6 se d na forma X:X:X:X:X:X:X:X, onde X refere-se a quatro dgitos hexadecimais (16 bits). Cada dgito consiste em quatro bits, cada inteiro consiste em quatro dgitos e cada endereo consiste em oito inteiros, num total de 128 bits (4x4x8 = 128). Por exemplo, os endereos da figura abaixo so alguns endereos IPv6 vlidos: CDCD:910A:2222:5498:8475:1111:3900:2020 1030:0:0:0:C9B4:FF12:48AA:1A2B 2000:0:0:0:0:0:0:1 Este o formato preferido para representar os endereos IPv6, porm h dois outros mtodos adicionais que podem ser usados para clarear e facilitar o seu uso. Apenas 15 % de todo espao IPv6 est alocado, ficando os outros 85% restantes para uso futuro. Devido a esta pr-alocao, ser comum endereos com uma longa seqncia de bits zero. Neste caso, a especificao permite "suprimir" estes zero. Em outras palavras, o endereo "2000:0:0:0:0:0:0:1" pode ser representado como "2000::1". O dois pontos indica que o endereo ser expandido em um endereo de 128 bits. O mtodo substitui zeros somente quando eles estiverem em grupos de 16 bits, e os dois pontos pode ser usado apenas uma vez por endereo. A terceira opo til quando se deseja juntar endereos IPv4 com endereos IPv6. Os ltimos 32 bits de um endreneo IPv6 podem ser usados para referenciar um endereo IPv4, sendo expressados da seguinte forma: X:X:X:X:X:X:d.d.d.d, onde "X" representa um inteiro de 16 bits e "d" representa um inteiro decimal.

Por exemplo, o endereo "0:0:0:0:0:0:10.0.0.1" um endereo IPv4 vlido. Combinando ambos os mtodos alternativos de representao, este endereo pode ser represesentado como "::10.0.0.1". Pelo fato dos endereos IPv6 serem quebrados em duas partes - um prefixo indicando sub-rede e um identificador de interface - espera-se que um nodo com endereamento IPv6 seja representado indicando qual parte deve ser mascarada, para fins de roteamento, de maneira similar ao que feito em endereos do tipo CIDR (Classless Interdomain Routing). Em outras palavras, um nodo de endereo IPv6 indica um tamanho de prefixo, separado do endereo IPv6 por uma barra, como o da figura abaixo, por exemplo. Este endereo indica que os primeiros 60 bits referem-se ao prefixo, com o propsito de roteamento. 1030:0:0:0:C9B4:FF12:48AA:1A2B/60 Endereamento IPv6: Endereos Especiais e Reservados O primeiros 0,03% dos endereos IPv6, todos os endereos que comecem com os bits 0000 0000, so considerados endereos reservados. Muito do espao reservado ainda est vazio, porm ainda sero muitos os endereos reservados que devero ser encontrados daqui para a frente. Estes tipos de endereos incluem: Endereo no especificado: Este endereo possui zeros em toda a sua extenso. Ele til quando precisamos de um endereo que no seja vlido, como por exemplo, quando um host acessa uma rede pela primeira vez, e no tem um endereo IP assossiado a ele, precisando tem um endereo origem para fazer uma requisio de configurao. Este endereo representado como 0:0:0:0:0:0:0:0, ou de forma abreviada, ::, como explicado na sesso anterior. Endereo de loopback: No IPv4, o endereo de loopback definido como 127.0.0.1; qualquer pacote endereado a ele seria enviado a interface de rede - porm sem ser transmitido pelo link da rede. Endereos de loopback so teis para testes de softwares, assim como configuraes. O endereo IPv6 de loopback formado inteiramente por zeros, com exceso do ltimo bit, que 1. Em outras palavras, o endereo de loopback ficaria representado da seguinte maneira: 0:0:0:0:0:0:0:1, ou simplesmente ::1. Endereo IPv6 carregando endereo IPv4: Existem dois tipos destes endereos, um permite que nodos IPv6 acessem nodos IPv4 que no suportam IPv6, enquanto que outro permite que roteadores IPv6 possam fazer um tnel para enviar pacotes IPv6 utilizando a rede IPv4. Este tipo de endereo ser explicado com maiores detalhes nas prximas sesses

Endereamento IPv6: Endereos Especiais e Reservados: Endereo IPv6 com Endereo IPv4 Embutido A migrao de IPv4 para IPv6 deve ser feita de maneira gradual, devendo haver meios para que estes protocolos coexistirem. Desde o incio, conforme especificado em [RFC1884] e confirmado em [RFC2373], o IPv6 possui dois tipos de endereos especiais que podem embutir endereos IPv4: ambos estes endereos possuem seus 80 bits iniciais setados como zero, e os 32 bits finais possuindo o endereo IPv4. Os 16 bits anteriores ao endereo IPv4 indicaro o tipo de endereo utilizado. Quando estes 16 bits estiverem setados com zero, o endereo ser o tipo compatvel com IPv4. Quando os 16 bits estiverem setador com 1 (ou FFFF), o endereo do tipo IPv4 mapeado em endereo IPv6.

A figura abaixo mostra a estrutura interna de um endereo IPv6 do tipo compatvel IPv4, enquanto que a figura seguinte mostra a estrutura interna de um endereo do tipo IPv4 mapeado em endereo IPv6. 16 32 bits bits 0 IPv4

80 bits 0000...............................................................0000

Endereo IPv6 do Tipo Compatvel-IPv4

80 bits 0000...............................................................0000

16 32 bits bits FFFF IPv4

Endereo IPv6 do tipo IPv4 Mapeado em IPv6 Endereamento IPv6: Modelo de Endereamento IPv6 No IPv6 foram especificados apenas 3 tipos de endereos: anycast, multicast e unicast, os quais esto descritos nas prximas sesses. O modelo de endereamento IPv6 muito semelhante ao modelo de endereamento IPv4. Cada endereo unicast indica uma nica interface de rede. Endereos IP so assossiados a interfaces de redes, e no a nodos propriamente ditos; desta forma, um nodo com uma ou mais interfaces de rede podem ter mais do que um endereo IPv6. Qualquer um destes endereos IP indicador do nodo. Um endereo unicast assossiado a apenas uma interface de rede, enquanto que uma interface de rede por ter assossiada a s vrios endereos unicast. Cada interface de rede deve ter pelo menos um endereo unicast assossiada a ela. Neste contexto, h um importante detalhe, sendo tambm uma importante exceo,a qual se refere a conexes do tipo "ponto a ponto". No IPv4, todas as interfaces de rede, incluindo conexes ponto a ponto conectadas a um roteador (como em muitas conexes Internet Dial-Up), requerem um endereo IP dedicado. Com muitas organizaes utilizando este tipo de conexo para conectar escritrios distantes, cada conexo oferecida necessita de sua prpria sub-rede, perdendo grandes nmeros de endereos IP. No IPv6, no so necessrios endereos especficos para o ponto final de conexes "ponto a ponto". Isto ocorre quando o nodo que se encontra no final do conexo no estiver transmitindo ou recebendo trfego IPv6 de nodos vizinhos. Em outras palavras, se dois nodos esto meramente passando trfego, um endereo IPv6 no se torna necessrio. Endereamento IPv6: Endereos Unicast Os pacotes unicast so, conforme [RFC2374] pacotes endereados a um nico host, isto , um host em especfico. Este o tipo de endereamento utilizado quando se usa uma aplicao como telnet, por exemplo, onde tem-se a necessidade de um pacote ir exclusivamente de um host especfico a outro.

O formato de um endereo unicast, definido em [RFC2374], est descrito na figura abaixo. 3 13 32 16 64

FD NLA SLA Interface TLA ID ID ID ID Um endereo unicast ficaria assim descrito: FP = 001 ( Prefixo de Formato ) -Este o prefixo de formato utilizado para identificar um endereo unicast global. TLA = 0x1FFE (Identificador de Agregao do Nvel Superior): Designada pela IANA (Internet Assigned Numbers Authority) para testes do 6bone, sobre o patrocnio do Grupo de Trabalho sobre Transies e Testes de atividade do 6bone da IETF (Internet Engineering Task Force). O uso deste identificador temporrio. Todos os usurios deste identificador sero requisitados a alter-lo no futuro. Ele contm informaes sobre o nvel mais alto de roteamento. Alm disso, refere-se ao maior nvel de informao de roteamento da rede, e atualmente definido, ele no pode ter mais que 8192 rotas diferentes de nvel superior. NLA ID (Identificador de Agregao de Prximo Nvel): Este espao ser designado pelo administrador do TLA-ID, em uma hierarquia suficientemente grande para poder identificar o trnsito de redes e sites de usurios finais, de forma consistente com a arquitetura e topologia do 6Bone. Em outras palavras, as organizaes que recebem este identificador (provavelmente incluindo grandes provedores de acesso a Internet e outros provedores pblicos de acesso) podem colocar este campo na sua prpria hierarquia de endereos. SLA ID (Identificador de agregao a nvel de site): Este campo usado por uma organizao individual para criar sua prpria hierarquia de endereamento local e poder identificar sub-redes. Com 16 bits disponveis possvel criar 65.535 sub-redes. Utilizando os 8 primeiros bits para roteamento do nvel superior, a organizao poder ter 255 sub-redes de nvel mais alto, cada uma podendo ter outras 255 sub-redes. INTERFACE ID (Indetificador de Interface): Este campo de 64 bits contm um valor, tambm de 64 bits, baseado no identificador de interface IEEE EUI-64.

Endereamento IPv6: Endereos Multicast Como os endereos do tipo broadcast, endereos multicast so particularmente teis em redes locais ethernet, quando todos os nodos devem receber a transmisso enviada. No caso do broadcast, cada nodo verifica no datagrama recebido o endereo destino, e se este for um endereo de broadcast, o nodo receber o restante da transmisso. Um endereo de broadcast indica que cada nodo da rede deve receber a mensagem enviada. Multicast, no entanto, um pouco diferente: o nodo deve se inscrever em um endereo multicast e, ao receber um datagrama percebe que o endereo destino um endereo multicast, verifica se est inscrito neste endereo e pode receber o datagrama. Uma importante razo para o sucesso dos endereos IP que eles no so encaminhados de forma indiscriminada para todos os nodos de um conjunto de redes (veja-se como exemplo a internet). Caso isto acontecesse seria um caos. Esta a razo do porqu os endereos broadcast no so encaminhados para outras redes pelos roteadores. Entretanto, com o multicast, pode-se selecionar

pacotes a serem encaminhados adiante, para roteadores que esto inscritos em endereos multicast e que tm insteresse em receb-los. Quando um nodo inscreve-se em um endereo multicast, ele anuncia que deseja ser um membro daquele endereo, e algum roteador local ser inscrito como interessado para receber os pacotes indicados quele endereo. Quando uma transmisso enviada para um endereo multicast vindo de outro nodo que est na mesma rede, o pacote multicast encapsulado dentro de uma uma unidade de transmisso de dados multicast. Na ethernet, a unidade encapsulada um endereo que enviado para um endereo de multicast ethernet; em outros tipos de redes que usam circuitos ponto a ponto para todas as transmisses (como ATM), o pacote ser transmitido para inscritos da mesma maneira, utilizando para isto um mecanismo em que o servidor transmite o pacote para cada inscrito individual. Multicast fora de redes locais tratado da mesma maneira: somente sera enviado o pacote ao roteador se este tiver nodos inscritos para receberem o pacote. Endereamento IPv6: Endereos Multicast : Formato dos Endereos Multicast IPv6 Ao contrrio de endereos unicast IPv6, que possuem diferentes formatos, os endereos multicast IPv6 aderiram a um formato mais rgido, como na figura abaixo. Nos endereos multicast devem ser utilizados apenas os endereos dos grupos destinos; nem sempre os datagramas so originados com endereos multicast em suas origens. 8 11111111 112 bits

flgs scop group ID

O primeiro octeto, que totalmente composto por bits 1, identifica que um endereo do tipo multicast. O restante do endereo composto pelo seguinte: flgs. Ele atualmente composto por quatro bits de flags. Apenas o quarto atualmente setado. Se ele no estiver setado, marca como sendo um endereo multicast conhecido. Os endereos conhecidos so os definidos pela autoridade global sobre numerao Internet. Os demais endereos so conhecidos como transeuntes. Alguns exemplos de endereos conhecidos so mostrados na tabela 3. Endedreo Descrio

FF01:0:0:0:0:0:0:43 No mesmo nodo do remetente FF05:0:0:0:0:0:0:43 FF0E:0:0:0:0:0:0:43 No mesmo site do remetente Na internet

scop. Este campo de quatro bits contm um valor que indica o limite do espao, ou seja, a distncia abrangida pelo grupo multicast; em outras palavras, indica se o grupo multicast deve incluir apenas nodos da mesma

rede local, mesmo site, mesma organizao, ou o resto do mundo. Os valores possveis so de 0 a 15, e so mostrados na tabela abaixo. Valor 0 1 2 3 4 5 6 7 8 9 A B C D E F Descrio reservado nodo no local link local no definido no definido site local no definido no definido organizao local no definido no definido no definido no definido no definido global reservado

group ID. Este campo de 112 bits indica o grupo multicast. O mesmo indicador de grupo pode representar diferentes grupos, dependendo se o endereo transeunte ou conhecido, e dependendo do seu campo scop.

Endereamento IPv6: Endereos Multicast: Grupos Multicast IPv6 O IPv4 utiliza multicast para enviar dados que necessitam de alta largura de banda para serem enviados a muitos nodos, como o caso de videoconferncia ou distribuio de notcias financeiras e cotas de estoque. Outras aplicaes so possveis, com muitas novas possibilidades, juntando-se a idia de endereos multicast, com a possibilidade de alterar o campo scop. Muitos dos j conhecidos endereos multicast incluem em seus grupos roteadores, servios DHCP, servios de audio e vdeo, servios de jogos pela rede, e muitos outros, conforme descrito em [RFC2375]. Para ilustrar, supondo que se deseja trabalhar com o identificador de grupo multicast para "todos os servidores DHCP". Este grupo representado pelo identificador 1:3. Quando usado, marcando a abrangncia para dois, representando a distncia de tipo link local, o resultado do endereo multicast ser "FF02:0:0:0:0:0:1:3", podendo ser usado para pegar um endereo IP sendo de qualquer lugar onde estiver o nodo na rede. Isto porque o servidor DHCP estar inscrito em um endereo multicast, fazendo com que ao receber o pacote vindo do host originrio, envie um endereo IPv6 vlido, com o intuito de auto-configurao. Este tipo de aplicao torna-se extremamente til para proprietrios de computadores portteis. Endereamento IPv6: Endereos Anycast

Os endereos multicast podem ser, de modo geral, compartilhados por mais de um nodo. Todos os nodos que fazem parte de algum endereo multicast esperam receber os pacotes enviados a ele. Um roteador que tem conectado a si cinco redes ethernet diferentes repassar este pacote a todas as redes (desde que haja pelo menos um host inscrito neste endereo multicast em cada rede). O anycast bastante semelhante a esta idia. Mltiplos nodos podem estar compartilhando um endereos anycast, da mesma maneira que um endereo multicast. Entretanto apenas um destes nodos recebero datagrama enviado ao endereo anycast. Endereos anycast so particularmente teis para prover certos tipos de servios, em particular, servios que no requerem uma relao extrita do tipo clienteservidor com um determinado servidor especfico. Por exemplo, pode-se configurar com um conjunto de servidore de nomes com endereos de anycast; o hosts acessar o servidor de nomes mais prximo utilizando para isto estes endereos. O critrio para a escolha do destino a mtrica, isto , o destino que estiver mais prximo pelo nmero de saltos ser o escolhido. Endereos anycast so alocados fora do espao dos endereos unicast normais. Isto porque endereos anycast no podem ser diferenciados, em sua forma, de endereos unicast. Os membros de um endereo anycast devem, cada um, ser explicitamente configurados para aceitar estes endereos como sendo endereos anycast.

Mensagens de Controle ICMPv6 O IPv6 usa o ICMP (Internet Control Message Protocol) definido no IPv4, porm com muitas alteraes, que acabam fazendo das duas verses incompatveis. O novo ICMP, agora conhecido como ICMPv6 indicado por um campo "prximo cabealho" de valor 58. O ICMPv6 usado para relatar os erros encontrados no processamento dos pacotes e para mostrar outras funes da camada Internet, como diagnsticos e relato dos membros de endereos Multicast. O ICMPv6 faz parte integral do IPv6, sendo necessrio ser implementado em todos os nodos IPv6 de uma rede. Todas as mensagens ICMPv6 tm o mesmo formato geral, composto por tipo, cdigo, checksun e a varivel do corpo. As mesagens IPv6 podem tambm serem agrupadas em duas classes: Mensagens de Erro: So indicadas por terem um bit 0 na parte superior do campo tipo da mensagem. As mensagens de erro so de 0 a 127. Mensagens de Informao: So as mensagens de 128 a 255.

Mensagens de Controle ICMPv6: Tipos de Mensagens ICMPv6 A tabela abaixo mostra as mensagens de erro ICMPv6. Valor do campo tipo

Mensagem de Erro

1 2 3 4

Destination Unreachable Packet Too Big Time Exceeded Parameter Problem

As mensagens de erro so enviadas quando houve algum problema na transmisso do pacote, isto , o host destino no conseguiu receber o pacote. A tabela abaixo mostra as mensagens de informao ICMPv6. Valor do campo tipo 128 129 130 131 132 133 134 135 136 137 Mensagem de Informao Echo Request Echo Reply Group Membership Query Group Membership Report Group MemberShip Termination Router Solicitation Router Advertisement Neighbor Solicitation Neighbot Advertisement Redirect

As mensagens de informao de valores 133 a 137 so usadas para procedimentos de auto-configurao. As mensagens de nmero 128 e 129 so equivalentes a funo ping. As mesagens de 130 a 132 so usadas para procedimentos de membros de grupos multicast.

Tipos de Endereos IPv6

O espao de endereamento, que era de 32 bits na verso 4 do IP passa a ser de 128 bits. Assim, enquanto IPv4 suportava 4 bilhes de nodos, IPv6 pode enderear 3.4 x 10^38 nodos [MOR 96]. IPv6 abandona a idia de classes de endereos, mas baseia-se em prefixos como IPv4, mudando a funo desses prefixos. Eles no mais identificam as diferentes classes de endereos, mas diferentes usos de endereos. A tabela abaixo identifica esses prefixos:

Prefixo 0000 0000 0000 0001 0000 001 0000 010 0000 011 0000 1 0001 001 010 011 100 101 110 1110 1111 0 1111 10 1111 110 1111 1110 1111 1110 0 no usado

Uso reservado (incluindo IPv4) reservado para OSI NSAP reservado para Novell NetWare IPX no usado no usado no usado no usado Provider-Based unicast no usado Geographic-Based unicast no usado no usado no usado no usado no usado no usado no usado no usado

1111 1110 10 Link Local Use 1111 1110 11 Site Local Use 1111 1111 Multicast

Endereos que comeam com 80 zeros so reservados para endereamento IPv4. Duas variantes so suportadas, identificadas nos 16 bits seguintes, que suportaro que IPv6 trafegue numa estrutura ainda baseada em IPv4 [TAN 96]. Duas pores de endereos so reservadas para encapsulamento de protocolos que no sejam o IP, como OSI NSAP e Novell IPX. ; <p>O prefixo Provider-Based identifica provedores de acesso. Esse prefixo permite que empresas que provem acesso internet ganhem uma grande parcela do espao de endereamento, e a dividam hierarquicamente, como CIDR [HIN 95], como mostra a figura:

<td>m bits n bits x bits y bits x-y bits 010 REGISTRY ID PROVIDER ID SUBSCRIBER ID SBNET ID INTERFACE ID Os primeiros 3 bits do endereo identificam o prefixo. O prximo campo identifica o registro na internet do provedor, identificado no campo seguinte. O provedor pode, ento, alocar pores para assinantes. Atravs do campo SUBSCRIBER ID, os assinates so identificados naquele provedor. SUBNET ID identifica uma subrede,

uma ligao fsica especfica. Pode haver mais de uma subrede na mesma ligao fsica, mas no pode haver mais de uma ligao fsica na mesma subrede. o ltimo campo identifica a interface ligada na rede (host). Espera-se que para o campo de registro use-se 5 bits, e para o campo de provedores use-se 3 bytes. O prefixo Geographic-Based muito similar ao modelo atual, no qual os provedores no alocam grandes espaos. O prefixo indicaria a posio geogrfica da rede, e no a partir daonde ela conectada. Os endereos de uso local (link e site) so, como o prprio nome diz, para uso local, para que mquinas possam se autoconfigurar ao serem conectadas. O prefixo de link local tem o seguinte formato, sendo o mais indicado para autoconfigurao:

10 bits 1111111010

n bits 0

118-n bits INTERFACE ID

E o prefixo de site local tem o seguinte formato:

10 bits 1111111011

n bits 0

m bits

118-n-m bits

SUBNET ID INTERFACE ID

Para ambos os tipos INTERFACE ID deve ser nico por interface, no podendo se repetir. O campo SUBNET identifica uma subrede dentro desse domnio. O uso desse tipo de endereamento til para a construo de intranets, onde se pode construir uma rede baseada na arquitetura TCP/IP sem se ter endereos alocados. A vantagem desse tipo de endereamento que enquanto uma rede intranet usando a verso 4 do IP, ao se ligar na internet, deve trocar todos os endereos IP das mquinas conectadas a ela, com esse esquema ela pode usar seu endereo de rede e interface em conjunto com um prefixo global alocado a ela, por exemplo, com o prefixo Provider-Based. Endereos IPv6 Os endereos com oito primeiros bits em zero reservado para o futuro e para compatibilidade com o IPv4. Os endereos IPv4 tero os oitenta primeiros bits com valor zero e os dezesseis bits restantes em um ou zero . Foi reservado duas faixas de endereos para encapsulamento de protocolos que no sejam o IP, como o OSI NSAP e o Novel IPX. Uma das faixas destes endereos foi reservado para empresas provedoras de acesso a Internet que passaram a ganhar uma grande parcela de endereamento e a dividiro hierarquicamente, como mostrado na figura 11. Os trs primeiros bits representam o prefixo. O campo REGISTER ID identifica o registro do provedor identificado pelo PROVIDER ID. O campo SUBSCRIBER ID utilizado pelo provedor para alocar pores deste aos usurios. O SUBNET ID identifica uma ligao fsica, uma sub-rede. O ultimo campo indica o endereo da interface.

3 bits 010

N bits REGISTRY ID

M bits PROVIDER ID

X bits SUBSCRIBER ID

Y bits

X-Y bits

SUBNET ID INTERFACE ID

Figura 11 - Endereo baseado no provedor O prefixo Geographic Based igual ao modelo atual. Este prefixo indicaria a regio geogrfica da rede. Os endereos para uso local do enlace e de site so utilizados localmente para auto-configurao e redes no conectadas diretamente a Internet. As figuras 12 e 13 mostram o formato destes endereos. Estes endereos podero ser utilizados para configurao de endereos das interfaces de roteadores ou para redes do tipo Intranet. 10 bits N bits 118-N bits INTERFACE ID

1111111010 0

Figura 12 - Endereo para uso local do enlace 10 bits N bits M bits SUBNET ID 118-N-M bits INTERFACE ID

1111111011 0

Figura 13 - Endereo para uso local do site Os endereos Multicast, como foi citado anteriormente, identificam um grupo de interfaces. Endereos deste tipo possuem o formato da figura 14: 8 bits 11111111 4 bits FLAGS 4 bits SCOP 112 bits GROUP ID

Notao de Endereos IPv6 Com os endereos IPv6 ocupando um espao de 16 bytes, necessrio uma nova forma de se notar os nmeros Ip. Eles agora so escritos em 8 grupos de 4 dgitos hexadecimais cada, separados por dois pontos (:), como estes: 8000:0000:0000:0000:0123:4567:89AB:CDEF 47CD:1234:4422:AC02:0022:1234:A456:0124 Como os endereos IPv6 possuem muitos bytes em 0, 3 passos de otimizao podem ser tomados: primeiro, zeros podem ser omitidos no incio do grupo. Assim, 0123 pode ser escrito como 123.

segundo, um ou mais grupos com 4 bytes em 0 podem ser omitidos, substitudos por um par de dois pontos. Desta forma, o primeiro nmero do exemplo acima poderia ser escrito da seguinte forma: 8000::123:567:89AB:CDEF por fim, endereos IPv4 podem ser escritos por um par de dois pontos seguido da notao da verso 4. Por exemplo: ::143.54.1.20

No

IPv6,

existem

apenas

trs

tipos

de

endereos:

Unicast Anycast Multicast Os endereos de Broadcast (IPv4) foram substituidos no IPv6 pelos endereos Multicast No IPv6, foram especificados apenas trs tipos de endereos: Uni-cast, Anycast e Multicast. Sendo assim, diferente do IPv4, no mais existem endereos Broadcast. Esta funo passa a ser provida pelo endereo Multi-cast. Endereo Unicast

Identifica apenas uma interface. Um pacote destinado a um endereo unicast enviado diretamente para a interface associada ao endereo. Foram definidos vrios tipos de endereos unicast, que so: * Global Provider-based, ou baseado no Provedor: e' o endereo unicast que ser globalmente utilizado. Seu plano inicial de alocao baseia-se no mesmo esquema utilizado no CIDR (Classless InterDomain Routing, [RFC1519]) definido em [RFC1887]. Seu formato possui um prefixo de 3 bits (010) e cinco campos: registry ID, para registro da parte alocada ao provedor; provider ID, que identifica um provedor especifico; subscriber ID, que identifica os assinantes conectados a um provedor; e infra-subscriber, parte utilizada por cada assinante. Aggregable Global Address

Aggregable Global Address representa um endereo que ser globalmente usado. Baseia-se no mesmo principio do CDIR (Classless InterDomain Routing) possibilitando uma estreita agregao de prefixos de routing contribuindo para a diminuio do numero de entradas nas tabelas globais de routing. Este tipo de endereos quando utilizados em links so agregados hierarquicamente, comeando pelos clientes, em seguida por ISP intermedios e eventualmente por ISP de topo.

O prefixo 2000::/3 (001) indica um endereo do tipo Aggregable Global TLA Top Level Aggregator utilizado para indentificar ISPs de topo. Todos os TLAs so ligados por defeito numa zona livre e todos os routers existentes nessa zona devem possuir uma tabela de routing livre contemplando todas as identificaes desses mesmos TLAs. Um campo de 8 bits encontra-se reservado para suportar o crescimento de TLAs e NLAs (Next Level Aggregator). Este campo dever ser sempre igual a 0. NLAs (Next Level Aggregator) utilizado para identificar ISPs intermdios e de modo a estes criarem a sua hierarquia de endereamento identificando a sua rede e a comunidade que desejam servir. Usualmente a parte de topo deste endereamento utilizado na rede do ISP e os bits restantes na identifio dos seus clientes. SLA ( Site Level Aggregator) utilizado por empresas de modo a possibilitar uma utilizao semelhante ao que as subnets constituiam no IPv4. A grande diferena encontra-se no nmero de endereos disponiveis para essas entidades, 65.535 (16 bits ) o equivalente a 256 classes de 256 endereos no IPv4. Um Interface Identifier utilizado para identificar interfaces num link e dever pertencer unicamente a esse. Em muitos casos o identificador do interface poder ser o mesmo ou baseado no endereo do interface da camada de link (parte fisica). Identificadores de Interface utilizados em endereos do tipo Global Aggregable e outro tipo de endereos IPv6 devero ter o tamanho de 64bits e construidos utilizado o formato EUI 64. Estes endereos so utilizados nos processos de configurao dinmica automtica e no processo de descoberta elementos na hierarquia de routing (Neighbour Discovery) Este endereamento permite tambm a comunicao entre ns pertencentes ao mesmo link local. Equipamentos de routing no devem enviar pacotes que contenham este tipo de endereamento como origem ou destino.

Unspecified: definido como 0:0:0:0:0:0:0:0 ou "::", indica a ausncia de um endereo e nunca dever ser utilizado em nenhum node. Este endereo s poder ser utilizado como endereo de origem (source address) de estaes ainda no inicializadas, ou seja, que ainda no tenham aprendido seus prprios endereos. Representado por 0:0:0:0:0:0:0:0 ou "::", indica a ausncia de um endereo e nunca dever ser utilizado em nenhum n. * Loopback: representado por 0:0:0:0:0:0:0:1 ou "1". Pode ser utilizado apenas quando um node envia um datagrama para si mesmo. No pode ser associado a nenhuma interface. * IPv4-based, ou basedo em IPv4: um endereo IPv6 com um endereo IPv4 embutido. Formado anexando-se um prefixo nulo (96 bits zeros) a um endereo IPv4 como, por exemplo, ::172.16.25.32. Este tipo de endereo foi includo como mecanismo de transio para hosts e roteadores tunelarem pacotes IPv6 sobre roteamento IPv4. Para hosts sem suporte a IPv6, foi definido um outro tipo de endereo (IPv4mapped IPv6) da seguinte forma: ::FFFF:172.16.25.32.

* NSAP: endereo de 121 bits a ser definido, identificado pelo prefixo 0000001. Endereos NSAP (Network Service Access Point) so utilizados em sistemas OSI.

* IPX: endereo de 121 bits a ser definido, identificado pelo prefixo 0000010. Endereos IPX (Internal Packet eXchange) so utilizados em redes Netware/Novell.

* Link-Local: endereo identificado pelo prefixo de 10 bits(1111111010), definido para uso interno num nico link. Estaes ainda no configuradas, ou com um endereo provider-based ou com um site-local, podero utilizar um endereo linklocal.

* Site-Local: endereo identificado pelo prefixo de 10 bits(1111111011), definido para uso interno numa organizao que no se conectara' `a Internet. Os roteadores no devem repassar pacotes cujos endereos origem sejam endereos site-local.

Este tipo de endereo identificado pelo prefixo FEC0::/10 (1111111011) e pode ser definido para uso interno numa organizao atravs da concatenao do campo de SLA (16 bits) com a identificao do interface (64 bits). Este tipo de endereamento pode ser considerado como privado visto estar restrito a um domnio sem ligao Internet. Este tipo de endereamento no pode ser anunciado externamente por routers

Tambm est reservado 12,5% de todo espao de endereamento IPv6 para endereos a serem distribudos geograficamente (geographic-based).

Endereo Anycast

Identifica um grupo de interfaces de nodes diferentes. Um pacote destinado a um endereo anycast enviado para uma das interfaces identificadas pelo endereo. Especificamente, o pacote e' enviado para a interface mais prxima de acordo com a medida de distancia do protocolo de roteamento.

Devido pouca experincia na Internet com esse tipo de endereo, inicialmente seu uso ser limitado: ; * Um endereo anycast no pode ser utilizado como endereo de origem (source address) de um pacote IPv6;

* Um endereo anycast no pode ser configurado num host IPv6, ou seja, ele devera' ser associado a roteadores apenas.

Este tipo de endereamento ser til na busca mais rpida de um determinado servidor ou servio. Por exemplo, pode-se definir um grupo de servidores de nomes configurados com um endereo anycast; o host acessar o servidor de nomes mais prximo utilizando este endereo.

Endereo Multicast Igualmente ao endereo anycast, este endereo identifica um grupo de interfaces, mas um pacote destinado a um endereo multicast e' enviado para todas as interfaces do grupo.

As funcionalidades de multicasting foram formalmente incorporadas ao IPv4 em 1988, com a definio dos endereos classe D e do IGMP (Internet Group Management Protocol), e ganhou forca com o advento do MBONE (Multi-casting Backbone) mas seu uso ainda no universal. Desta vez, estas funcionalidades foram automaticamente incorporadas ao IPv6. Isto significa que no mais ser necessrio implementar tneis MBONE, pois todos os hosts e roteadores IPv6 devero suportar multicasting. Servio Multicast

Ns Ipv6 necessariamente tem de receber pacotes destinados aos grupos seguintes: All Nodes FF02:0:0:0:0:0:0:1 (Perpectiva Link-Local) All Routers FF02:0:0:0:0:0:0:2 (Perpectiva Link-Local) Solicited-Node FF02:0:0:0:0:1:FF00:0000/104 para cada um dos endereos unicast e anycast atribuidos Um endereo solicited-node um grupo multicast que corresponde a um endereo IPv6 unicast ou anycast. Ns em IPv6 devem juntar-se ao grupo solicitednode associado a cada endereo unicast e anycast a que est atribuido. O endereo do tipo solicited-node possui o prefixo FF02:0:0:0:0:1:FF00:0000/104 concatenado com os ultimos 24 bits do endereo unycast ou anycast. Por exemplo o endereo solicited-node correspondente ao endereo IPv6 2001::01:800:200E:8C6C FF02::1:FF0E:8C6C. Este tipo de endereamento utilizado nas mensagens de solicitao de vizinhana de rede.

Escopo para um endereo multicast O fato do IPv6 ter em sua faixa de endereo a do IPv4, no garante a compatibilidade entre eles, pois os datagramas destas verses so incompatveis, por este motivo esta transio tem sido elaborada de uma maneira bem cuidadosa. Dois pontos so importantes a considerar sobre a transio destas duas verses: a atualizao e a facilidade de faz-la. Devido a impossibilidade de atualizao ao mesmo tempo de todos os computadores e roteadores para a nova verso, os protocolos devero coexistir durante um certo tempo ( alguns autores falam em at uma dcada). Isto implica que estes devero ter seus programas de rede trocados, sem que o resto do mundo precise faz-lo tambm. A facilidade por um outro lado deve haver, para que no haja uma relutncia pela mudana e assim teramos a metade da Internet com uma verso e a outra parte mantendo a anterior. Alguns pontos so levados em conta para que esta transio seja amena. Um deles que deve se ter pr- requisitos mnimos e especificamente nenhum para roteadores. Um outro, que as mquinas ao sofrerem atualizao devero poder manter seus endereos IPv4, usando os prefixos reservados para isto. Dever impor custos baixos. E finalmente, os hosts IPv6 podero comunicar-se como outro de mesma verso ou da anterior, utilizando toda a infra-estrutura da verso atual. Dois mecanismos foram elaborados para resolver ultima questo: o Dual Stack e o Tunneling. O Dual Stack consiste em ter as duas camadas completas em um mesmo host. Atravs do campo Version do seu cabealho decidido qual pilha processar o Datagrama. Para impedir que todos os computadores tivessem as duas pilhas, uma tcnica razovel seria a idia de usar um tradutor. Para usar o tradutor um host IPv6 que precise comunicar-se com um IPv4, gera um datagrama com o endereo IPv4 codificado e utiliza o tradutor para comunicar-se com o destino.

O segundo mecanismo, consiste em transmitir o Datagrama IPv6 como parte dos dados de um Datagrama IPv4. O IPv4 visto ento como um tnel e no final deste tnel, encontra-se o outro computador IPv6. Atravs dos estudos realizados neste artigo, percebeu-se que o IPv4 em sua "adolescncia", no est apto as novas exigncias das tecnologias atuais. Aplicaes com caractersticas diferentes das existentes, na poca que o IPv4 foi criado, foram aparecendo ao longo do tempo exigindo uma reformulao na sua atual estrutura. Alm disto, o aumento da popularidade da Internet refora ainda mais esta idia, uma vez que no suportar a grande demanda de equipamentos e usurios que ainda iro conectar-se, se a taxa de crescimento da rede permanecer a mesma, dobrando a cada ano. Historicamente o IPv4 vem sendo gerido por instituies que no tinham o intuito de mant-lo em um ambiente restrito. A natureza aberta e flexvel do IPv4 o tornou, provavelmente, no protocolo mais utilizado no mundo. Qualquer atualizao neste, deve considerar o fato para no estar fadado a morrer em pouco tempo. O IPv6 tem hoje a grande incumbncia de substituir o IPv4, mantendo suas melhores caractersticas e oferecendo solues para as vrias restries do IP atual. A soluo de migrao utilizada, porm, manter uma convivncia harmoniosa entre as duas verses, podendo ocorrer somente quando se fizer necessria. "A ampliao dos endereamentos, suporte a aplicaes em tempo real, segurana, permisso de evoluo no futuro, cabealhos mais simplificados, tornando a rede Internet um ambiente estvel, confivel e apto para o futuro". Palavras como estas ditas por pessoas intimamente ligadas a Internet h alguns anos atrs, refora a idia da real necessidade de mudana da verso 4 do IP ( IPv4 ). Alm disto, este protocolo que tem sua verso lanada no incio da dcada de 70, no acompanhou a evoluo tecnolgica atual.

Endereos mltiplos Com o IPv4, um host tem geralmente um endereo IP para cada interface de rede ou, se o stack o suporta, at mesmo por mquina. Somente alguns aplicativos especficos, como os servidores web, exigem mquinas que tm mais de um endereo IP. Com o IPv6, tudo isso diferente. Para cada interface, no s h um endereo global, mas tambm dois outros endereos interessantes: o endereo "link local" e o endereo "site local". O endereo link local tem prefixo fe80::/64 e os bits de host derivam do endereo EUI64: usado s para contactar os hosts e os routers da mesma rede e no visvel ou alcanvel a partir de outras subredes. Se assim o desejarmos, pode-se escolher entre usar endereos globais (designados pelo provedor) ou endereos site local. Estes ltimos tm o endereo de rede fex0::/10 e as sub-redes e os hosts podem ser endereados exatamente como no caso das redes designadas pelo provedor. A nica diferena que o endereo no ser visvel pelas mquinas externas porque se encontram em uma rede diferente e seus endereos site local, se existem, esto em uma rede fsica diferente. Para o IPv6 prtica comum atribuir aos hosts o endereo global e o endereo link local. Os endereos site local esto-se tornando cada vez mais raros. At porque para a conectividade global exigido um endereo global nico. Datagrama IPv6

Formato do Pacote IPv6 muda completamente o formato do datagrama IP. Como a figura abaixo mostra, um datagrama IPv6 tem um cabealho base fixo seguido de 0 ou mais cabealhos extras, seguidos pelos dados [COM 95].

Embora o IPv6 extenda o IPv4, seu header de pacote relativamente simples [HIN 95], contendo menos informaes que o cabealho do datagrama IP da verso 4. Alguns campos do cabealho da verso 4 e opes foram substitudos por cabealhos de extenso. Algumas mudanas no header so [COM 95]:

O campo de tamanho de cabealho foi eliminado, desde que tem tamanho fixo de
40 octetos, substitudo por um campo que indica o tamanho do que se segue ao cabealho;

O tamanho dos campos de endereo passaram para 16 octetos; Informao de fragmentao passaram a estar em cabealhos de extenso; 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 prximo header. A figura abaixo esquematiza o cabealho:

Version: Verso do protocolo - 4 bits; Priority: Valor da Prioridade- 4 bits; Flow Label: Qualidade de Servio - 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 prximo header, isto , o protocolo acima do IP. Usa
os mesmo valores da verso 4, mas vem em substituio ao campo Protocol da verso 4 - 8 bits;

Hop Limit: Nmero mximo 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 endereo origem do pacote - 128 bits; Destination Address: Identifica o endereo destino do pacote (nem sempre o
destino final, no caso de um header opcional de roteamento estar presente - 128 bits;

IPv4

Compatible

IPv6

Address

Representa um endereo IPv6 cujos ltimos 32 bits representam um endereo IPv4. Assim anexando-se um prefixo nulo (96 bits de zeros) a um endereo IPv4 obtm-se o seguinte formato: 0:0:0:0:0:0:194.65.3.20 ou no seu formato abreviado ::194.65.3.20

Este tipo de endereo foi projectado como mecanismo de transio entre IPv6 e IPv4. Images courtesy from Cisco.

Para hosts sem suporte IPv6,quando da transio, foi definido um outro tipo de endereo (IPv4-mapped IPv6): ::FFFF:172.16.25.32. A resoluo dos nomes em IPv6 Depois desta longa introduo ao endereamento em IPv6, lcito esperar que haja um modo para continuar a usar nomes para nos referirmos aos hosts, como se faz com o IPv4, no lugar de desfiar os longos endereos IPv6. Naturalmente possvel.

A traduo do nome de host para o endereo IP em IPv4 geralmente se faz em um destes trs modos: usando uma simples tabela no /etc/hosts, usando o Network Information Service (NIS, antes YP) ou com o Domain Name System (DNS). No momento o NIS/NIS+ em IPv6 est disponvel apenas para o Solaris 8, tanto para o contedo do banco de dados como para o transporte, usando uma extenso RPC. Um simples mapa do tipo endereo<->nome, do tipo do /etc/hosts suportado por todos os stacks IPv6. Com a implementao KAME usada no NetBSD, o arquivo /etc/hosts contm tanto os endereos IPv4 como os IPv6. A ttulo de simples exemplo, vejamos a expresso "localhost" na verso default para uma instalao do NetBSD. 127.0.0.1 ::1 localhost localhost

Para o DNS no so introduzidos conceitos fundamentalmente novos. A resoluo dos nomes IPv6 feita com registro de tipo AAAA que, como indica o nome, apontam para uma entidade que quatro vezes maior que um registro do tipo A. Um registro AAAA tem um nome de host na parte esquerda, do mesmo jeito que para A, e o endereo IPv6 na parte direita. Por exemplo: noon IN AAAA 3ffe:400:430:2:240:95ff:fe40:4385

Para a resoluo inversa o IPv4 usa a zona in-addr.arpa, qual acrescenta os bytes (decimais) em ordem inversa, vale dizer com os bytes mais significativos mais direita. Com o IPv6 o mtodo o mesmo, s que so usados os algarismos hexadecimais (um a cada 4 bits) ao invs dos nmeros decimais e os registros dos recursos encontram-se em um domnio diferente: ip6.int. Portanto, para a resoluo inversa do host precedente, deve-se por no arquivo /etc/named.conf uma expresso parecida com a seguinte: zone "0.3.4.0.0.0.4.0.e.f.f.3.IP6.INT" { type master; file "db.reverse";}; e, no arquivo de zona db.reverse, alm dos usuais registros SOA e NS: 5.8.3.4.0.4.e.f.f.f.5.9.0.4.2.0.2.0.0.0 IN PTR noon.ipv6.example.com.

Aqui o endereo escrito como uma cifra hexadecimal e, ao mesmo tempo, em ordem inversa, iniciando-se pela menos significativa (a que est mais direita) e separando os nmeros com pontos, como nos costumeiros arquivos de zona. Quando se instala o DNS para o IPv6, preciso prestar ateno verso do software DNS que se utiliza. BIND 8.x compreende os registros AAAA mas no oferece a resoluo dos nomes via IPv6. Porisso necessrio utilizar o BIND 9.x que, entre outras coisas, suporta alguns tipos de registro de recursos ainda em fase de discusso e, portanto, no introduzidos oficialmente. O mais interessante o registro A6, que facilita a mudana do provedor/prefixo. Resumindo, nesta seo foram discutidas as diferenas tcnicas entre o IPv4 e o IPv6 para o endereamento e resoluo dos nomes. Alguns aspectos, como as

opes dos ttulos IP, QoS, etc. no foram intencionalmente tratados para no avolumar demais a matria, dado tambm o carter introdutrio deste guia. Opes IP O formato das opes IP descrita no quadro abaixo.

As opes IP que podem ser utilizadas so: Classe Cdigo Composio Descrio 0 0 0 0 0 2 0 1 3 7 9 4 --varivel varivel varivel varivel Fim da Lista de Opes Nenhuma Operao LOOSE SOURCE ROUTING RECORD ROUTE STRICT SOURCE ROUTING INTERNET TIMESTAMP

As opes IP so utilizadas basicamente como forma de verificao e monitorao de uma rede IP. As opes que especificam a rota at o destino no so utilizadas normalmente pois o IP baseado na tcnica de Next-Hop routing. Ainda assim, estes mecanismos so pouco utilizados como ferramenta de testes e verificao, sendo raros os programas que os implementam. Fragmentao Um pacote IP pode ter um tamanho de at 64 Kbytes. Entretanto o nvel de rede geralmente tem um tamanho mximo menor que 64K. Por exemplo, uma rede Ethernet pode transmitir uma mensagem de at 1500 bytes. Este valor chamado de MTU - Maximum Transmission Unit - para este tipo de rede. A camada IP deve ento ser capaz de dividir um pacote IP maior que 1500 bytes em diversos fragmentos de at 1500 bytes cada um. A fragmentao do pacote IP pode ocorrer na mquina origem ou em algum roteador que possua uma rede com MTU menor que o tamanho do pacote IP sendo roteado. Note que durante o percurso at o destino, um fragmento pode ser novamente fragmentado se o MTU da rede seguinte for ainda menor que o tamanho do fragmento. A remontagem do pacote s realizada pela mquina

destino, baseado nas informaes de FRAGMENT OFFSET e bit MF. A perda de um fragmento inutiliza o datagrama inteiro. O campo FRAGMENT OFFSET identifica a posio em Bytes do fragmento face ao pacote IP completo conforme pode ser visto na figura abaixo.

A figura abaixo mostra a fragmentao de um pacote quando este passa para uma rede com MTU menor que o tamanho do pacote IP.

Consideraes para Migrao Para o IPv6 poder trabalhar plenamente deveriam ser atualizados, pelo menos, todos os hosts de uma rede - uma mudana radical a ser feita por administradores de redes com milhares ou, as vezes, dezenas de milhares de hosts. Entretanto, este no o caso: as pessoas que trabalham na transio de IPv4 para IPv6 tm trabalhado duro para criar mecanismos que suportem de forma gradual a atualizao. As atualizaes das redes atuais, pode ser feita com um baixo impacto,

caso sejam feitas de forma metodolgica e inteligente. A seguir so mostradas estratgias para esta transio. A transio de IPv4 para IPv6 deve ser feita de forma gradual. Uma atualizao de forma radical faria com que administradores de redes tivessem que encontrar e instalar novas verses para softwares de rede para cada host e roteador na internet - nada fcil, imaginando o nmero de diferentes plataformas rodando IPv4. Mais realisticamente falando, a transio para IPv6 continuar a ser feita de maneira mais lenta, com vendedores e desenvolvedores gradualmente introduzindo verses de aplicaes IPv6 para as diferentes plataformas, e administradores de redes determinando se so ou no necessrios, no momento, os novos recursos disponveis para IPv6. esperado que o IPv4 e o IPv6 devam coexistir por um bom perodo de tempo, mas no para sempre. Muitas estratgias para transmisso falam em tunelamento, com o intuito de aproximar duas redes distantes, onde pacotes IPv6 so encapsulados dentro de pacotes IPv4. Isto faria com que ilhas IPv6 pudessem se comunicar utilizando oceanos IPv4. Aps certo perodo de tempo, a populao IPv6 tenderia a crescer, sendo que cada vez mais e mais redes comeariam a utilizar este protocolo, fazendo com que as ilhas comeassem a se juntar, no necessitando mais de tunelamento. Outro ponto da aproximao seria o dual-stack, onde hosts e roteadores teriam rodando em uma mesma interface, tanto pilhas IPv4, quanto IPv6. Desta maneira, um nodo dual-stack pode receber e transmitir pacotes dos dois protocolos, fazendo com que eles coexistam em uma mesma rede. A figura abaixo mostra um exemplo de uma interface ethernet, configurada com dual-stack, no sistema operacional Linux. A figura a seguir mostra um exemplo de uma interface tambm configurada com dual-stack, porm com o sistema operacional Solaris. eth0 Link encap:Ethernet HWaddr 00:C0:DF:E9:2B:26 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::2c0:dfff:fee9:2b26/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3580 errors:0 dropped:0 overruns:0 frame:0 TX packets:2065 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:11 Base address:0xde00

lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000

iprb0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffff0000 broadcast 192.168.1.255 lo0: flags=2000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 iprb0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 inet6 fe80::2c0:dfff:fee9:2b26/10 No caso das figuras acima, as interfaces ethernet esto com o endereo IPv4 192.168.1.1 e o endereo IPv6 fe80::2c0:dfff:fee9:2b26, o que caracteriza este nodo como dual-stack. Aproximao de Redes IPv6 Utilizando Tneis Este tipo de soluo til quando deseja-se conectar ilhas IPv6 isoladas, no meio de oceanos IPv4, como demonstrado na figura a seguir.

O tunelamento requer que os nodos IPv6 em ambas as partes do tnel sejam capazes de transmitir pacotes IPv4 (nodos dual-stack). O processo de encapsular IPv6 dentro de IPv4 similar ao mtodo de encapsulao de outros protocolos: o nodo de um dos lados do tnel pega o datagrama IPv6 e evi-o como sendo dados do payload para o nodo que est do outro lado do tnel. O resultado um stream de datagramas IPv4 que contm datagramas IPv6. Como mostrado na figura acima, os nodos A e B trabalham apenas com IPv6. Para um pacote ser enviado de A para B, o nodo A simplesmente enderea o pacote para o endereo IPv6 do nodo B, passando pelo roteador X. Este roteador encapsula o pacote IPv6 dirigido ao nodo B e o envia para o endereo IPv4 do roteador Y. O roteador Y recebe o pacote e desencapsul-o, enviando em seguida ao seu destino, utilizando a rede IPv6. Tunelamento Configurado e Tunelamento Automtico A diferena entre tunelamento configurado e tunelamento automtico est no fato que o tunelamento automtico possvel quando os endereos IPv6 dos nodos do tnel so do tipo IPv4 compatvel.

Os tneis automticos no requerem configurao para setar os nodos IPv4 do tnel; tunelamento configurado, por sua vez, utilizado quando algum dos nodos IPv4 das extremidades do tnel recebem o seu endereo IPv4 de alguma maneira dinmica, como DHCP, sendo necessria uma nova configurao para cada vez que o endereo IPv4 for alterado. Endereos IPv6 do Tipo Compatvel-IPv4 Como citado anteriormente, os endereos IPv4 contidos nos endereos IPv6 podem ser de dois tipos: compatvel IPv4 e endereo IPv4 mapeado em endereo IPv6. Os endereos do tipo IPv4 compatvel tm o objetivo de serem usados em nodos IPv4/IPv6 capazes de fazer tunelamento automtico de pacotes IPv6 atravs de redes IPv4. Os nodos com dual-stack usam o "mesmo" endereo para ambos os pacotes sejam IPv4 ou IPv6. Nodos que trabalham apenas com IPv4 podem enviar pacotes para nodos dual-stack usando endereamento IPv4, enquando nodos que trabalham com IPv6 podem enviar pacotes utilizando para isto endereamento IPv6. Em geral este tipo de nodo poderia ser um roteador conectando redes IPv6 com tneis automticos, utilizando para isto a rede IPv4. O roteador poderia aceitar endereos IPv6 vindos de sua rede IPv6 local e encapsul-los em pacotes IPv4 destinado a outro roteador dual-stack presente na outra ponta do tnel, tambm utilizando endereamento do tipo IPv4 compatvel na outra ponta da rede IPv4. Ao chegarem no outro roteador com dual-stack, os pacotes seriam desencapsulados e enviados a rede IPv6 local. NAT-PT No caso do IPv4, quando uma organizao necessita de vrios computadores tendo acesso a internet, ela procura fazer uma requisio de nmeros IP ao rgo responsvel pela distribuio destes endereos em um pas. Todavia, esta requisio nem sempre atendida, sendo que s vezes a organizao acaba recebendo apenas uma parcela dos endereos que necessita. Para resolver este tipo de problema, foi criada a idia de NAT (Network Address Translator), ou seja, um sistema de traduo de endereos de rede. Na rede interna de cada organizao possivel que seja criada uma infra-estrutura de redes utilizando para isto endereos IPv4 privados. Entre a rede interna da organizao e a rede Internet, fica uma estao, uma firewall, contendo duas interfaces de rede, uma interna, com endereo IPv4 privado, e outra externa, com endereo IPv6 vlido. Esta estao configurada como sendo gateway dos computadores da rede interna, fazendo com que todas as requisies para hosts que se encontrem na internet passem obrigatoriamente por ela. Com isso ela pode enviar as requisies para a Internet, com o seu prprio endereo IP vlido, como sendo o originador do pacote. Quando os pacotes chegam so enviados para as estaes que o requisitaram. Isto pode ser feito tendo-se uma tabela interna com um endereo IP assossiado para cada estao, ou tendo-se um endereo IP assossiado a vrias estaes. Quando tem-se um endeo IP para cada estao, pode-se acessar esta estao de fora da rede interna, casa contrrio, com um endereo IP para vrias estaes, isto no possivel. Em outubro de 1999, foi apresentado na Data Communications, por Pete Loshin, nos Estados Unidos, uma soluo para resolver problemas relacionados a estaes que poderiam no suportar IPv6 em suas aplicaes. Esta soluo foi chamada de NAT-PT, ou seja, traduo de endereos de rede - traduo de protocolos. Sua idia bem similar a realizada com NAT nas redes IPv4. A rede IPv6 ficaria do lado de

fora, enquanto que a rede IPv4 ficaria na rede interna. A interface externa desta firewall ficaria com um endereo IPv6 vlido, enquanto que a interna ficaria com endereo IPv4. Na firewall ficaria uma tabela relacionando um endereo IPv6 para cada endereo IPv4 existente na rede interna - desta maneira seria possvel mapear todas as estaes que trabalhem com IPv4. A tarefa desta firewall no seria simplesmente repassar os enderessos IPv6 que chegam para os IPv4 que esto no outro lado, mas convert-los para este protocolo. O caminho inverso aconteceria tambm quando os pacotes requisitados retornassem. Este tipo de soluo se mostrar extrememente til no caso de aplicaes com dificuldades se serem convertidas para o novo protocolo, ou ento no caso de aplicaes crticas, que necessitem de mais tempo para serem adaptadas e devidamente testadas, como aplicaes militares, cientficas e sistemas bancrios. A palavra chave na transio entre as duas verses do protocolo IP interoperao. As duas verses devem poder permanecer na rede simultaneamente, se comunicando e endereando. A segunda palavra chave facilidade. Deve ser fcil se poder dar um upgrade nos softwares da verso 4 para a 6, tanto para administradores de rede, tcnicos, como para o usurio final. Os objetivos da transio so: roteadores e mquinas devem ter seus programas de rede trocados sem que todos os outros no mundo tenham que trocar ao mesmo tempo pr-requisitos mnimos. O nico pr-requisito que os servidores de DNS devem ter a sua verso trocada antes. Para os roteadores no existem prrequisitos quando as mquinas sofrerem o upgrade devem poder manter seus endereos IPv4, sem a necessidade de muitos planos de um reendereamento, usando inicialmente um dos prefixos vistos anteriormente custos baixos nodos IPv6 devem poder se comunicar com outros nodos IPv6, mesmo que a infraestrutura entre eles seja IPv4.

Para o ltimo objetivo, dois mecanismos foram trabalhados: dual-stack: com esse mecanismo, nodos IPv6 devem ter as duas pilhas TCP/IP internamente, a pilha da verso 6 e a da verso 4. Atravs da verso do protocolo, se decide qual pilha processar o datagrama. Esse mecanismo permite que nodos j atualizados com IPv6 se comuniquem com nodos IPv4, e realizem roteamento de pacotes de nodos que usem somente IPv4 tunneling: esse mecanismo consiste em transmitir um datagrama IPv6 como parte de dados de um datagrama IPv4, a fim de que dois nodos IPv6 possam se comunicar atravs de uma rede que s suporte IPv4. A rede IPv4 vista como um tnel, e o endereo IPv4 do nodo final deste tnel consta como destino do datagrama. Neste nodo o pacote IPv6 volta a trafegar normalmente a seu destino. Esse nodo final, portanto, deve ter a pilha que suporte IPv6.

Ha' pouco mais de um ano, a complementao das especificaes IPv6 foi estimada em 70% e que j, no inicio de 97, os fabricantes de software comeariam a desenvolver seus sistemas incluindo o novo protocolo.

Estima-se tambm que, a partir do inicio de 1998, comear o processo de migrao do IPv4 para o IPv6, colocando-se em pratica as estratgias de transio. Tecnicamente, foram definidas varias delas:

* Inicialmente, todos os servidores de nomes devero ser migrados para suportar a nova representao IP e todas as modificaes inerentes ao novo protocolo. Por exemplo, o registro DNS "A" do IPv4 passara' a ser "AAAA" no IPv6;

* A estratgia principal exigida pelo grupo de trabalho IPv6 e' a implementao do TCP/IP com pilha dupla (IPv6 e IPv4) nos hosts e roteadores da rede;

* O IPv6 j possui representao de endereo prevendo sua utilizao como mecanismo de transio;

* Foi includo um recurso para que pacotes IPv6 trafeguem em redes IPv4. Isso permite que dois hosts IPv6 se comuniquem atravs da infra-estrutura existente de roteadores (IPv4);

* Tambm foi includo mecanismo para que pacotes IPv4 trafeguem em redes puramente IPv6. Isso permitira' `as organizaes que no queiram fazer a transio, deixar suas redes IPv4 intactas, sem perder a conectividade com a Internet.

H varias outras questes e observaes sobre o processo de transio que devem ser consideradas como: planejamento de alocao de endereos, requisitos de software (sistemas operacionais e aplicativos), requisitos de hardware (memria e CPU), velocidade dos links, recursos financeiros, etc. Todos estes fatores sero imprescindveis para o xito de um plano de transio.

resoluo

dos

nomes

em

IPv6

Depois desta longa introduo ao endereamento em IPv6, lcito esperar que haja um modo para continuar a usar nomes para nos referirmos aos hosts, como se faz com o IPv4, no lugar de desfiar os longos endereos IPv6. Naturalmente possvel.

A traduo do nome de host para o endereo IP em IPv4 geralmente se faz em um destes trs modos: usando uma simples tabela no /etc/hosts, usando o Network Information Service (NIS, antes YP) ou com o Domain Name System (DNS). No momento o NIS/NIS+ em IPv6 est disponvel apenas para o Solaris 8, tanto para o contedo do banco de dados como para o transporte, usando uma extenso RPC. Um simples mapa do tipo endereo<->nome, do tipo do /etc/hosts suportado por todos os stacks IPv6. Com a implementao KAME usada no NetBSD, o arquivo /etc/hosts contm tanto os endereos IPv4 como os IPv6. A ttulo de simples exemplo, vejamos a expresso "localhost" na verso default para uma instalao do NetBSD. 127.0.0.1 ::1 localhost localhost

Para o DNS no so introduzidos conceitos fundamentalmente novos. A resoluo dos nomes IPv6 feita com registro de tipo AAAA que, como indica o nome, apontam para uma entidade que quatro vezes maior que um registro do tipo A. Um registro AAAA tem um nome de host na parte esquerda, do mesmo jeito que para A, e o endereo IPv6 na parte direita. Por exemplo: noon IN AAAA 3ffe:400:430:2:240:95ff:fe40:4385

Para a resoluo inversa o IPv4 usa a zona in-addr.arpa, qual acrescenta os bytes (decimais) em ordem inversa, vale dizer com os bytes mais significativos mais direita. Com o IPv6 o mtodo o mesmo, s que so usados os algarismos hexadecimais (um a cada 4 bits) ao invs dos nmeros decimais e os registros dos recursos encontram-se em um domnio diferente: ip6.int. Portanto, para a resoluo inversa do host precedente, deve-se por no arquivo /etc/named.conf uma expresso parecida com a seguinte: zone type file "0.3.4.0.0.0.4.0.e.f.f.3.IP6.INT" { master; "db.reverse";};

e, no arquivo de zona db.reverse, alm dos usuais registros SOA e NS: 5.8.3.4.0.4.e.f.f.f.5.9.0.4.2.0.2.0.0.0 IN PTR noon.ipv6.example.com.

Aqui o endereo escrito como uma cifra hexadecimal e, ao mesmo tempo, em ordem inversa, iniciando-se pela menos significativa (a que est mais direita) e separando os nmeros com pontos, como nos costumeiros arquivos de zona. Quando se instala o DNS para o IPv6, preciso prestar ateno verso do software DNS que se utiliza. BIND 8.x compreende os registros AAAA mas no oferece a resoluo dos nomes via IPv6. Porisso necessrio utilizar o BIND 9.x que, entre outras coisas, suporta alguns tipos de registro de recursos ainda em fase de discusso e, portanto, no introduzidos oficialmente. O mais interessante o registro A6, que facilita a mudana do provedor/prefixo. Roteamento IPv6

Quando os esforos para iniciar o desenvolvimento do IPv6 comearam, os desenvolvedores acreditavam que a internet poderia comear a deixar de funcionar por trs razes: A pequena quantidade de endereos IP existentes A exploso das tabelas de roteamento As grandes quantidades de pequenas redes

O pulo para 128 bits, no que se refere a endereamento, certamente resolveu o primeiro problema, porm no que se refere as tabelas de roteamento o problema persistia. Atualmete muitos hosts no conseguem trabalhar de forma eficiente, calculando a melhor rota entre destinos, isto porque eles devem manter uma lista de muitas redes existentes na Internet, o que faz com que os roteadores tenham que manter uma quantidade enorme de tabelas em sua memria. Para poder resolver este problema, deve-se fazer uma agregao das entradas de roteamento, criando roteamento por domnios, o que implica na criao de formas de hirarquisar os endereos - sendo que tecnologias para este tipo de roteamento (intradomain) devem ser criadas, com o intuito de melhor aproveitar esta idia de hierarquia. Os protocolos de roteamento oficiais para IPv6 so o OSPFv3 (Open Shorest Path First version 3) e o IDRPv2 (InterDomain Routing Protocolo). Roteamento Interdomain Obsevando estes modelos de endereamento de rotas por domnio, a soluo proposta pelo IPv6 usar endereos de provedores, desde que estes endereos possam ser utilizados destro da topologia hierrquica da rede. Isto implica que um provedor que receba um endereo do tipo NLA, poder ceder a seus clientes apenas endereos do tipo SLA pertencentes ao bloco NLA ao qual ele est associado. Todas as rotas seriam ento propagadas via IDRP (InterDomain Routing Protocol). Isto quer dizer que o que os adminitradores de rede tm tentado fazer parar com o crescimento das tabelas de roteamento, dispondo de CDIR (Classless InterDomain Routing), desde que o CDIR no considere os endereos IP como sendo compostos de endereos de tamanho fixo de nmero de redes, mas de prefixos variveis. Quando considera-se endereos internacionais, o prefixo de um determinado pas deve ser consistente e comear com os mesmos bits iniciais. A mesma regra no pode ser aplicada a redes nas quais os prefixos dependero de como estas redes estaro conectadas na internet. Por exemplo, muitas redes internacionais podero ter linhas diretas com outros provedores internacionais, que podero repassar a regra de prefixo. O problema que este tipo de modelo se refere a dependncia que ele acaba gerando entre a empresa e o seu provedor Internet. Uma vez que se deseje mudar de provedor, necessariamente todo o endereamento IP da empresa deve ser alterado, pelo menos caso no haja um acordo entre ambos os provedores. O roteamento no IPv6 baseado no modelo CDIR (Classless Inter-Domain), que o utilizado no IPv4 e utiliza os mesmos algoritmos desta verso (OSPF, RIP, IDRP, IS-IS, BGP, AGRP) , a sua diferena bsica esta somente no tamanho do endereo que aumentou de 32 para 128 bits. Um problema que se fala muito o da expanso das tabelas de roteamento, onde a alternativa para a reduo destas tabelas esta na agregao de vrias

entradas na tabela em uma. O IPv6 propes a utilizao de provider address, por ter uma boa relao com as topologias das redes. As redes so identificadas por Prefixos de tamanho varivel, isto , todas as redes do Brasil tem o mesmo Prefixo, ou seja, possuem os primeiros bits em comum. Mas somente esta diviso no se torna suficiente, pois existem vrios provedores de acesso no mesmo pas. Todos os clientes conectados a seus provedores sero roteados atravs da rede deste provedor. Fora desta rede, suficiente manter uma entrada para cada provedor na tabela de rotas, ocasionando com isto a reduo considervel das tabelas. O roteamento em IPv6 se baseia nos cabealhos de roteamento vistos anteriormente, principalmente no tipo 0 de roteamento. Nesse tipo de roteamento, uma lista de nodos por onde devem passar o datagrama consta no pacote. Vamos considerar o seguinte exempo de rede:

Se o host1 quer enviar algo para o host2, na lista de nodos do cabealho de roteamento poderiam estar, na forma mais simples:

H1, H2 A resposta do host2 para o host1 viria com o seguinte cabealho de roteamento:

H2, H1 Mas se o host1 escolher passar pelo provedor 1, o cabealho teria o seguinte caminho:

H1, P1, H2 E a resposta seria:

H2, P1, H1 Se o host1 quisesse passar por todos os provedores, uma opo seria: H1, P2, PR, P1, H2 Sendo que a resposta viria assim: H2, P1, PR, P2, H1 Estamos considerando essa rede simples, mas numa rede mais complexa esses caminhos podem ser requeridos atravs de endereos anycast, depois de se ter descoberto o MTU mnimo desejado. DNS no IPv6 O servio de DNS (Domain Name Service) foi adaptado para o IPv6, permanecendo o mesmo em suas caractersticas essenciais em relao ao IPv4. As modificaes ocorreram no recurso "resource record" que passou a suportar endereos IPv6. Criao de um novo domnio para suportar buscas em endereos IPv6 e atualizaes das queries existentes para tambm suportarem o IPv6. Outra mudana esta no nome de concatenao do endereo reverso, isto , enquanto que no IPv4 era obtido invertendo o endereo e concatenando o nome "in-addr.arpa", agora se concatena "IPv6.INT" em virtude da internacionalizao da Internet. Em [THO95] apresentado um estudo sobre as mudanas e implementaes necessrias ao DNS para suportar IPv6. ICMP no IPv6 O ICMP - Internet Control Message Protocol - usado pelos equipamentos roteadores do IPv6 para reportar erros encontrados no processamento dos datagramas, servindo como um protocolo de diagnsticos da camada de rede. O ICMPv6 no compatvel com o ICMP do IPv4, devido ao aumento de tamanho dos campos. Ele agrupado em duas classes : mensagens de erros e mensagens de informaes. As mensagens de erro so identificadas no campo Type por estarem na faixa entre 0 e 127 - o que corresponde ao valor zero (0) no bit de maior ordem no campo - e as mensagens de informaes so identificadas no campo Type por estarem na faixa entre 128 e 255 - o que corresponde ao valor zero (1) no bit de maior ordem no campo [CON98]. Cada mensagem ICMPv6 precedida por um cabealho IPv6 e/ou cabealhos de extenses IPv6.

Figura 4.12 : Formato de mensagens ICMP

Campo : Tipo Tamanho : 8 bits. Descrio : Indica o tipo da mensagem. Mensagens de erro no ICMPv6 : 1 Destino desconhecido 2 Pacote muito grande 3 Tempo excedido 4 Problemas com parmetros Mensagens de informao no ICMPv6 : 128 Requisio de eco 129 Resposta ao eco Campo : Cdigo. Tamanho : 8 bits. Descrio : Utilizada para criar um nvel de granulidade adicional para uma mensagem. Seu uso depende do tipo da mensagem. Campo : Checksum. Tamanho : 16 bits. Descrio : Campo de checagem da integridade das mensagens do protocolo ICMPv6 e parte do cabealho do IPv6. Campo : Corpo da mensagem. Tamanho : Varivel em mltiplos de 32 bits. Descrio : Uso geral. Estas mensagens ICMPv6 no podem ser enviadas em respostas a mensagens de multicast, pois pode ocasionar um congestionamento e at travar a rede. Outro aspecto que mensagens de erro ICMP no podem ser enviadas em resposta de outras mensagens ICMP, pois poderiam ocorrer loops destas mensagens. O ICMPv6 est especificado na RFC 2463. Ferramentas para Trabalhar com IPv6 De muito pouco adianta uma rede sem aplicaes para que se possa testar seu funcionamento. O Kame Project, um projeto responsvel pelo desenvolvimento de aplicaes IPv6, sendo estas para os mais diferentes sistemas operacionais. As aplicaes mais bsicas de uma rede, como telnet, FTP e HTTP j esto disponveis para a maioria dos sistemas operacionais com suporte a IPv6, o que permite que haja testes comparativos de desempenho, neste ponto, entre os dois protocolos. SMTP O protocolo SMTP (Simple Mail Transport Protocol) j foi adaptado para poder trabalhar com o IPv6. O programa que sofreu estas adaptaes foi o sendmail. Este programa, nas suas mais recentes verses (8.10.x), j pode utilizar os recursos de uma rede IPv6, caso ela exista. Este programa j trabalha com a idia de dual-stack, ou seja, quando um programa tenta utilizar uma rede IPv6 utiliza o endereo IPv6 da interface, quando deseja utilizar a rede IPv4, utiliza o endereo IPv4 da interface.

Servio de Nomes para IPv6 O DNS (Domain Name Service), um servio importante no que diz respeito a facilidades do uso de aplicaes para internet: ele facilita o mapemento de nomes em endereos IP. O DNS trabalha com a idia de hierarquia para ajudar a mapear os nomes. O nome dos hosts podem vir na forma computador.organizacao.com. O host (computador) existe dentro do domnio organizao.com. Existem uma srie de servidores de nvel superior que indicam qual o servidor responsvel pelo domnio organizao.com. Quando algum requisita o endereo host.organizacao.com, o servidor de nomes superior no qual chegou o pedido repassa-o para o servidor responsvel, e esse retorna para o requerinte o endereo IP deste host, na forma de um endereo de 32 bits. Para que este recurso trabalhe com IPv6 algumas alteraes tero que serem feitas. O DNS, como utilizado hoje, foi projetado para trabalhar com endereos de 32 bits, no podendo por isso, retornar endereos de 128 bits. As alteraes descritas em [RFC1886] mostram o que deve ser feito para que o DNS possa suportar o IPv6. As alteraes podem ser resumidas da seguinte maneira: Criao de um novo tipo de recurso para gravao, chamado de AAAA, para mapear endereos de 128 bits (o tipo de recurso para gravao do IPv4 o A). Criao de um novo domnio (.IP6.int), para permitir que endereos de hosts IPv6 posssam servir de base para que chegue ao nome do domnio que responde por eles. Este recurso parecido com o existente no IPv4 (.in.addr.arpa).

Os servidores de DNS devem ser revisados para localizar ou processar no apenas endereos IPv4, mas endereos IPv4 e IPv6 (caso existam). HTTP O servidor adaptado para trabalhar com o protocolo HTTP (Hyper Text Transport Protocol), junto com o IPv6, o Apache. Este programa deve ter um patch aplicado para que ele comece a reconhecer o novo protocolo. Assim como o Sendmail, o Apache pode tambm trabalhar com dual-stack. Para a leitura das pginas existe uma verso adaptada para trabalhar com o IPv6 do Lynx, um browser que trabalha em modo terminal. FTP O FTP (File Transport Protocol) foi um dos primeiros protocolos a serem adaptados para o IPv6. Muitas distribuies de sistemas operacionais j entregam em seus pacotes de atualizao para IPv6 um cliente de FTP j adaptado. Como exemplo de servidores j adaptados, pode-se citar o WU-FTP. Este programa possui um patch que faz com que ele comece a trabalhar com o novo protocolo, incluindo tecnologias como dual-stack. TELNET O telnet foi, sem dvida, uma das principais adaptaes, em matria de ferramentas, para que se pudesse trabalhar com o novo protocolo, o IPv6. Cada sistema opercional se encarregou de produzir o seu prprio telnetd, ou seja, o

daemon para funcionar como servidor do cliente telnet, que tambm produzido de forma exclusiva para sistema operacional. Atualmente, j existem adaptadas para o IPv6 uma nova safra de programas que tm a mesma finalidade do telnet, como por exemplo o SSH (Security Shell). Tipos de Tneis IPv6 H diferentes tipos de nodos que podem ser a ponta final de um tnel. A figura abaixo ser usada como referncia para os diferentes tipos de tneis que podem ser estabelecidos.

Os diferentes tipos de tipos de tneis podem ser: Tunelamento roteador a roteador. Na figura acima, o roteador da rede C e o roteador da rede A trocam pacotes IPv6 utilizando a rede M, que uma rede que trabalha apenas com IPv4. O host X envia pacotes para o host Z de forma transparente, sendo que nenhum dos hosts precisa saber da existncia da rede IPv4 no meio do caminho. Tunelamento roteador a host. No caso acima a rede B uma rede que trabalha apenas com endereos IPv4, porm o host Y utiliza tanto endereos IPv4 quanto endereos IPv6. Este host encontr-se ilhado no meio de uma rede IPv4. Neste caso feito um tnel deste host em particular, at o roteador dual-stack, para que ele possa que comuncar com os demais endereos IPv6 existentes. Tunelamento host a host. Supondo que o host Y e o host Z queiram se comunicar, mas que entre eles existam apenas redes IPv4. Neste caso, o tunelamento deve ocorrer apenas entre os hosts Y e Z, para que entre eles sejam transmitidos apenas pacotes IPv4.

Sistemas Operacionais que Suportam IPv6 Hoje em dia, a grande maioria das empresas que fabricam ou distribuem sistemas operacionais se encontram preocupadas em fornecer suporte para que seus produtos trabalhem com o protocolo IPv6. Sistemas operacionais como Linux, FreeBSD, Solaris e AIX se encontram j em uma fase bem adiantada de suporte a IPv6. Empresas como Microsoft tambm tem se mostrado interessadas em fornecer suporte para que seus sistemas operacionais possam utilizar as vantagens que o protocolo IPv6 proporciona. Os sistemas operacionais Windows 95, Windows 98, Windows NT e Windows 2000 j possuem patches para serem adaptados a trabalhar com IPv6. Linux O Linux comeos a trabalhar com IPv6 j nas verses 2.1.x do seu kernel. Os recursos que ele inicialmente dispunha eram a capacidade de fornecer tneis IPv6 utilizando protocolo IPv4, e reconher endereos IPv6 nativos. O Linux possui uma caracterstica que o fato de no necessitar de patches no kernel para trabalhar com IPv6, ainda mais quando se utiliza a verso 2.2.x do kernel. Em matria de alteraes, o que necessita ser feito no sistema operacional a atualizao dos arquivos que trabalham com rede, ou seja, os comandos de rede. Os comandos que inicialmente precisam ser atualizados para trabalhar com IPv6 so o ping, route, ifconfig, nslookup e outros. Uma srie de grupos, em muitos lugares do mundo, comearam a desenvolver aplicaes para que fosse possvel trabalhar com este novo protocolo. Com o lanamento da glibc 2.6, que j vem junto com o pacote RedHat 6.0, comeou-se a ter mais recursos para desenvolvimento de aplicaes de rede, tendo-se em vista os novos recursos de programao disponibilizados por esta biblioteca. Entre os pases que possuem grupos trabalhado no desenvolvimento de aplicaes para o Linux, pode-se citar a Alemanha, os Estados Unidos e o Japo. Solaris A Sun, empresa que fabrica o Solaris, lanou, j faz algum tempo, patches para que o Solaris 7 pudesse trabalhar com o protocolo IPv6. No dia dois de novembro de 1999, a Sun lanou, nos Estados Unidos, a verso 8 do Solaris, com suporte nativo a IPv6. O Solaris 8 distrubudo tanto para plataformas Sparc, como para plataformas x86. Muitas das aplicaes que rodam em Solaris com suporte a IPv6 so distribuidas pela prpria Sun, em pacotes fechados. Estes pacotes j se encontram prontos para a instalao, requerendo apenas a parte de configurao para que possa haver um melhor desempenho dependendo das caractersticas da rede que se est utilizando. Com o problema da virada do milncio, a comunidade internacional tem se voltado aos problemas relacionados a este fato, no tendo dado ainda os

devidos cuidados que o fator Internet necessita no mundo. Analistas da Sun acreditam que, caso a internet continue a crescer nas propores que se encontra hoje, a partir do ano de 2002 pode j no haver mais endereos IP disponveis em algumas partes do mundo. Este tipo de fato implica que, a partir do ano 2000, quando terminarem os problemas telativos a virada do milnio, o mundo se voltar a esta questo que a falta de endereos IPv4. Novas aplicaes tendem, cada vez mais, a serem portadas para este novo protocolo. Dever haver, nos prximos anos, um interesse mundial para a migrao total para esta nova plataforma. Isto acaba por mostrar que novas tcnicas para interconexo venham por ser apresentadas. As tcnicas atualmente desenvolvidas, devero ser utilizadas massivamente, especialmente as que envolvam dual-stack e NAT-PT.

O cabealho do IPV6

A tabela abaixo descreve o contedo dos campos presentes no cabealho IPv6. Campo Verso Classe de Trfego Etiqueta de fluxo Tamanho do payload Tamanho 4 bits 8 bits 20 bits 16 bits Descrio Verso do IP = 6 Campo de classe de trfego Campo de etiqueta de fluxo (flow label), utilizado para QoS. Comprimento do payload IPv6. Nota que qualquer extenso de cabealho presente consideradas parte do payload. Identifica o tipo de cabealho imediatamente seguinte ao cabealho IPv6. Usa o mesmo valor do IPv4, conforme estabelecido em [RFC1700]. Decrementado em 1 a cada nodo que o pacote avana. O pacote descartado se o limite de pulo atinge a zero.

Prximo cabealho

8 bits

Limite de Pulo 8 bits unsigned integer

Endereo origem Endereo Destino

128 bits 128 bits

Endereo IPv6 originador do pacote. Endereo do possvel receptor do pacote (possivelmente no o ltimo recepiente, se uma extenso de cabealho de roteamento estiver presente).

Campo Version
Segundo Deering (1998), o campo Version indica qual a verso do protocolo que est sendo usada. Ele possui o tamanho de quatro bits com o valor definido igual a seis. Indicando que o cabealho do protocolo IPv6.

Campo Priority
O campo PRIORITY (4 bits ) utilizada para dar prioridade distintas aos pacotes. Ele diferencia os pacotes que podem ter controle de fluxo, dos que no podem. Os valores de 0 a 7 do destinados a protocolos capazes de diminuir o fluxo de envio caso ocorra o congestionamento. Para pacotes de aplicaes em tempo real que so enviados a taxa constante, valores de 8 a 15 dizem quais datagramas podem ser descartados com prioridade maior para valores mais altos. Segundo Stalling (2000), com tamanho de quatro bits, o campo Priority, tem como funo ajudar os hosts e roteadores a distinguir entre os pacotes do IPv6, a classe ou a prioridade dos pacotes transmitidos pela rede, ou seja, distinguir as caractersticas de cada pacote. Este campo continua em estudo pelo grupo de trabalho do IPng, a fim de encontrar um uso adequado do campo, como funo de QoS (Quality of Service).

Campo Flow Label


O campo FLOW LABEL utilizado para definir que os roteadores devem tratar o pacote de maneira especial, que garantir uma especfica qualidade de servio. Por exemplo duas aplicaes que necessitam enviar vdeo podem estabilizar um fluxo no qual o delay e a largura de banda seja garantida. Neste campo contm apenas a informao de que se o dado deve ou no tratar este Datagrama de forma especial. Este campo pode ser dividido em dois sub-campos, como pode ser visto na figura 3. O sub-campo TCLASS especifica a classe do trafego para o datagrama. O restante do campo especifica um identificador para este fluxo. O identificador permite a distino de diversos fluxos de uma origem para o mesmo destino.
4 bit's TCLASS 24 bit's FLOW IDENTIFIER

Segundo Thomas (1996), o campo Flow Label com 24 bits tem como finalidade identificar um trfego de dados particular na rede. Esta identificao auxilia o processamento dos pacotes IPv6 pelos roteadores. Assim, quando um pacote recebido por um roteador que implementa o Flow Label, este far uma consulta na tabela de memria e ver por qual caminho o pacote dever seguir. Portanto, todos os pacotes com o mesmo valor no Flow Label percorrero o mesmo caminho para chegar

ao destino. Segundo Stalling (2000), existem trs regras a serem cumpridas quando implementado o uso do Flow Label:

Hosts e roteadores que no suportam o Flow Label devem, ao criar o pacote, atribuir o valor zero para o campo, no modificar o campo quando for repassar o pacote e ignorar o campo quando receber o pacote; Os pacotes criados por um host, com o mesmo valor e que no seja zero no campo Flow Label, devem ter o mesmo endereo destino e origem, e se for o caso, os cabealhos de extenso Hop-by-Hop Options e roteamento iguais. Para obter um valor Flow Label para um fluxo de dados, deve ser escolhido um valor na faixa entre 1 e (220 - 1) e no se deve reutilizar o mesmo valor do Flow Label para um novo fluxo de dados quando terminar o tempo de vida do primeiro. O valor zero reservado para informar que o campo no est sendo usado.

Campo Payload Length


Segundo Huitema (2000), o campo Payload Length equivalente ao campo Total Length (tamanho total) no IPv4. A diferena entre eles que, por definio, o Payload Length significa somente o tamanho de dados em octetos aps o cabealho, excluindo o tamanho do cabealho. Isso no ocorria no IPv4, que contabilizava tudo, inclusive o cabealho.

Determina o nmero em bytes que se seguem ao cabealho, que possui um tamanho fixo de 40 bytes. Os links do IPv6 suportam pacotes com at 576 bytes, mas como este suporta tcnicas de fragmentao, possvel enviar pacotes com at 65535 bytes. Se h a necessidade de enviar pacotes maiores, utiliza-se a opo Jumbo Payload, localizada no cabealho de extenso Hopby-Hop e o tamanho do pacote ser 0 (zero);
Os dois sub-campos do FLOW LABEL O campo PAYLOAD LENGTH ( 16 bits) determina o tamanho do datagrama, em octetos, excluindo-se o cabealho base . O total Length do IPv4, dava o valor total do datagrama incluindo o cabealho. O campo NEXT HEADER ( 8 bit's) indica a existncia de cabealho adicionais ou caso no exista o protocolo da camada superior ( TCP ou UDP). Esta caracterstica inclui dois compromissos : a generalizao e a eficincia. A generalizao conseguida com a incluso de funes adicionais, como fragmentao, roteamento na origem e autenticao. A eficincia conseguida a partir do momento que se no forem preciso estas caractersticas os seus campos no necessitam estar presentes. A figura 4 mostra como so utilizados os cabealhos de extenso. Cada cabealho contm o campo NEXT HEADER que aponta para o prximo campo, o ultimo cabealho indica qual protocolo da camada de transporte ser utilizado. utilizado o mesmo princpio de uma lista encadeada. Cabealho de Cabealho de Roteamento autenticao Segmento TCP ( dados NEXT=ROUTER NEXT=AUTH NEXT=TCP Cabealho Base

Figura 4 - Exemplo de cabealho com duas extenses O campo de oito bits HOP LIMIT utilizado semelhante ao TIME TO LIVE do IPv4. A grande diferena que este foi elaborado para de fato contar, de maneira decrescente, o nmero de roteadores que o mesmo passou. O pacote tambm, descartado caso o limite chegue a 0. O campo SOURCE e DESTINATION ADDRESS indicam respectivamente o endereo de origem e de destino do Datagrama, como diferencial do IPv4 tem o fato de se usar 128 bits ao invs de 32 bits daquela verso.

Campo Next Header


Assim como no IPv4, o IPv6 pode ter alguns cabealhos estendidos e, ao informar um valor ao campo Next Header, o host que ir tratar o pacote saber que existe outro cabealho aps o cabealho IPv6. Os valores usados neste campo so definidos na RFC 1700 por Deering (1998).

Campo Hop Limit


Segundo Salus (2000), este um campo inteiro positivo de oito bits de tamanho. Sua funcionalidade de saber quando o pacote deve ser descartado por um roteador, assim, o pacote no ficar vagando eternamente pela rede, se no for encontrado o seu destino. Funciona da seguinte forma: cada vez que o pacote passado adiante por um roteador e seu valor decrementado de um. Quando o valor for igual a zero, o pacote descartado.

Campos Source Address e Destination Address


Segundo Deering (1998), os campos Source Address e Destination Address so, respectivamente, os endereos de origem e destino do pacote. Cada um destes campos possui o tamanho de 128 bits. Caso exista o cabealho de roteamento,

este campo indica o endereo do prximo destino, e no do destino final. Este valor pode ser alterado durante o percurso.
O cabealho vem com vrios campos, muitos destes campos que existiam na verso 4 do protocolo foram removidos para simplificar. O cabealho da verso 6 tem seu tamanho fixo, tem um formato mais simples e constitudo por um cabealho inicial de 64 bits, seguido dos endereos de origem e destino de 128 bits, totalizando 40 bytes. Enquanto o cabealho do IPv4 possui 10 campos de cabealho, dois endereos de 32 bits cada, e algumas opes, o cabealho IPv6 compe-se apenas de 6 campos de cabealho e dois endereos 128 bits cada. Os seis campos de cubical so: version (4 bits), priority (4 bits), flow label (28 bits) e length of the payload (16 bits). O cabealho IPv4 possui 12 campos, num total de 160 bits. O ltimo campo poder ser seguido de um outro opcional, sendo finalizado por uma poro de dados que normalmente dizem respeito ao pacote da camada de transporte. O endereo IP possui um cabealho com vrias informaes essenciais para a troca de informaes entre sistemas e computadores. No IPv6, o cabealho sofre alteraes. A principais seu tamanho, que passa a ser de 320 bits, com 8 campos, o

dobro do IPv4. Alm disso, alguns campos do cabealho foram retirados, enquanto outros tornaram-se opcionais.

Formato de um cabealho IPv4 abaixo:

Os campos a sombreado no aparecem no cabealho IPv6 Ainda comparando-se o formato do IPv6 com o do IPv4, os mecanismos de opes foram completamente revisados, seis campos foram suprimidos (header length, type of service, identification, flags, fragment offset e header checksum), trs foram renomeados e, em alguns casos, ligeiramente modificados (length, protocol type e time to leave), e dois foram criados (priority e flow label). As simplificaes mais considerveis do IPv6 foram a alocao de um formato fixo para todos os cabealhos, a remoo do checksum de cabealho e remoo dos procedimentos de segmentao "hup-by-hop". A remoo de todos os elementos opcionais no significa que no se possam configurar servios especiais. Estes podero ser obtidos atravs de cabealhos denominados "extension headers", que so anexados ao cabealho principal. A remoo do checksum de cabealho poderia gerar problemas no roteamento dos pacotes, mas o IPv6 pressupe que as camadas inferiores so confiveis, com seus respectivos controles de erros como, por exemplo, o 802.2 LLC (Logical Link Control) para redes locais, o controle das camadas de adaptao dos circuitos ATM e o controle do PPP para links seriais. A cada salto de um pacote IPv6, os roteadores no precisaro se preocupar com o calculo do tamanho do cabealho, que fixo, com o calculo do checksum do cabealho, e nem com as tarefas de fragmentao, que sero realizadas pelos hosts. Todas estas modificaes aumentaro substancialmente o desempenho dos roteadores. Alguns campos foram removidos do cabealho IPv6 devido ausncia da necessidade de fragmentao nos routers e da verificao a nivel de camada de rede. Assim a fragmentao assegurada pela origem do pacote IPv6 e as verificaes so efetuadas ao nvel das camadas de link e de transporte. Adicionalmente o pacote referente ao cabealho IPv6 e o campo de opes esto alinhados para 64 bits facilitando assim o processamento de pacotes IPv6. A remoo da checksum do cabealho poderia originar problemas no routing de pacotes, mas o IPv6 baseia-se no pressuposto de que as camadas inferiores so confiaveis, com o seu respectivo controlo de erros como, por exemplo, o IEEE 802.2

LLC (Logical Link Control) para redes Ethernet e o controle do Point to Point Protocol para links Serial. Todas estas modificaes iro aumentar substancialmente o desempenho dos equipamentos de routing.

Formato de um cabealho IPv6.


Os campos genricos do cabealho IPv6 so:
Version Traffic Class Flow Label Indica a verso do protocolo ( v6 ) Utilizado para diferenciar classes de servio Utilizado para diferenciar pacotes na camada de rede

Payload Length Indica o tamanho total dos dados no pacote Next Header Hop Limit Determina o tipo de informao que se segue ao header IPv6Poder ser um pacote a nivel da camada de transporte (TCP/UDP) ou cabealhos denominados de (extension headers) Especifica o numeros mximo de saltos entre equipamentos

Source Address Especifica o endereo de origem (128 bits) Destination Address Especifica o endereo de destino (128 bits)

Cabealhos de Extenso Ter um cabealho bsico fixo e outros extras vem atender necessidade de se ter generalidade e eficincia na nova verso. Para ser geral, mecanismos de fragmentao, autenticao, etc, devem ser suportados, mas devem ser incluidos somente quando necessrios. Para tanto, so includos em cabealhos extras, pois se estivessem sempre presente, o header principal do protocolo seria to grande que o tempo de se process-lo levaria ineficincia da rede [COM 95]. Cada cabealho de extenso deve ter o campo Next Header a fim de indicar o prximo cabealho que se segue, num processo semelhante a uma lista encadeada de dados. Abaixo vemos 3 datagramas, o primeiro com nenhum cabealho extra, o segundo com 1 e o ltimo com 2:

Base Header / Next=TCP Base Header /

TCP PDU Route Header / TCP PDU

Next=Route Base Header / Next=Route

Next=TCP Route Header / Next=Auth Auth Header / Next=TCP TCP PDU

Um pacote IPv6 com todos os cabealhos de extenso pode ser visto na figura:

Formato do Extension Header

Tipo de Extension Headers Tipo Cabealho Valor Cabealho Descrio Hop-by-hop options header 0 Este cabealho processado por todos os saltos na path do pacote. Destination options header 60 Este cabealho segue o anterior sendo processado pelo destino final e por cada endereo visitado especificado pelo cabealho de routing. Alternativamente pode seguir o cabealho ESP (Encapsulating Security Payload) sendo apenas processado no destino final. Routing header 43 Utilizado para source routing Fragment header 44 Este cabealho utilizado quando uma origem tem de fragmentar um pacote cujo tamanho superior ao MTU (Maximum Transmission Unit) para o caminho entre ela e o seu destino. Authentication header and ESP header 51 e 50 O cabealho de autenticao e o ESP so utilizados dentro do IPSec (IP Security Protocol) de modo a possibilitar autenticao, integridade e confidencialidade de um pacote. Upper-layer header 6 (TCP) - 17 (UDP) Cabealho tipico dentro de um pacote para transporte.

Exemplo de Extension Headers do IPv6. Quando ocorrer a migrao para o IPv6, os protocolos da camada superior que incluem o tamanho do campo IP em seus mecanismos de deteco de erro devero ser alterados. No IPv6, h tambm um pseudo-cabealho, aps os Extension Header, mostrado na figura abaixo.

Pseudo-cabealho que antecede o cabealho da camada superior no IPv6. Upper-Layer Packet Length (Comprimento do Pacote da Camada Superior): 32 bits. Corresponde ao comprimento em bytes da camada superior, incluindo o cabealho e os dados (PDU e SDU). Para protocolos de camada superior que carregam seu

comprimento no prprio cabealho, como o UDP, o valor desse campo o mesmo do presente na camada superior. Next Header (Prximo Cabealho): O Next Header do pseudo-cabealho ser diferente do Next Header do cabealho IPv6, somente no caso em que houver Extension Headers aps o IPv6. Nesse caso, o Next Header do IPv6 informa o valor do Extension Header. O MTU mnimo do IPv6 de 1.280 bytes (no IPv4 era 576 bytes), mas o recomendado que ele seja maior que 1.500 bytes, para que possa ser feita alguma forma de encapsulamento sem que a camada de rede precise fragmentar os dados. Ao contrrio do IPv4, quando o protocolo da camada superior for o UDP, o checksum no opcional. Ele calculado e levado em considerao o tamanho do pseudocabealho. Se o valor do checksum der 0x0000, ele deve ser passado para 0xFFFF. Assim, quando um n IPv6 receber um pacote transportando UDP, se o checksum do UDP for 0x0000, o pacote ser descartado. No ser discutido aqui o ICMP do IPv6 (ICMPv6), mas obviamente ele possui algumas modificaes. Uma delas que seu cabealho equivale aos 32 primeiros bits somente do IPv4. Sua especificao encontra-se no RFC 2463 Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification. Cabealhos Hop-by-Hop e Destination

Os cabealhos de Hop-by-hop Options e Destination Options tm o mesmo formato. Eles foram projetados em vista de reunir vrias informaes isoladas e simples que por si s no necessitavam de mais um cabealho de extenso. A parte do cabealho que segue ao seu tamanho eh dividida da seguinte forma:

8 bits 8 bits n bits Type Lenght Value Type indica o tipo de opo [STA 96]. Caso essa opo contenha dados, o tamanho dos dados indicado em lenght. Os dados ficam presente, ento, no campo value. Os 5 bits de mais baixa ordem em type indicam a opo, enquanto o terceiro bit de mais alta ordem indica se os dados dessa opo podem mudar durante o trajeto do pacote.

Caso essa opo no seja conhecida por algum nodo durante o caminho do pacote, os dois bits de mais alta ordem indicam a ao a ser tomada:

00 Ignore esta opo, continue o processamento de cabealhos 01 Descarte datagrama, mas no envie mensagem ICMP 10 Descarte datagrama e envie mensagem ICMP para a origem Descarte datagrama e envie mensagem ICMP para a origem somente se o destino 11 no for um endereo multicast

Cabealho de extenso Destination


Possui duas variaes: Destination Options Header-1 Carrega informaes do primeiro destino listado no campo endereo do IPv6. Destination Options Header-2 Leva informaes opcionais que sero analisadas somente no destino final. O formato do cabealho equivalente ao formato Hop by Hop. Cabealho de Fragmentao

No IPv6 a fragmentao e remontagem de pacotes s pode ser feita no host origem ou de destino, no mais nos ns intermedirios, fazendo com que isso melhore o desempenho da rede. O host de origem quem determina o tamanho mximo de unidade de transmisso(Maximiun Transmission Unit MTU) dos links em que o pacote ir percorrer at chegar em seu destino. Para determinar este tamanho, o host de origem envia um pacote com o maior MTU possvel para o destino desejado, caso algum n intermedirio no suporte este pacote, envia uma mensagem ICMP "Datagram too big" para a origem, juntamente com o valor do tamanho suportado pelo n que gerou o impedimento do pacote. O host de origem ajusta o tamanho do pacote (MTU) para o valor recebido e transmite, repetindo a operao at que o pacote seja aceito no destino. O cabealho de Fragmentao carrega informaes necessrias para que o destino possa remontar estes pacotes.
Tendo em vista que no IPv4 roteadores deveriam fragmentar e reorganizar datagramas que fossem maior que que a MTU da sua rede, no IPv6 a fragmentao toda feita na origem. Para tanto, a origem realiza um Path MTU discovery, ou uma descoberta de MTU mnimo, a fim de identific-lo. Assim, basta fragmentar o datagrama de tal modo que ele passe por todos as redes no caminho at seu destino. Cada fragmento deve ser mltiplo de 8 octetos, e cada header de fragmentao indica se existem outros fragmentos do mesmo dado ou no. A figura abaixo mostra o cabealho [STA 96]:

Next Header (8 bits): indica o prximo cabealho; Reserved (8 bits): reservado para o futuro; Fragment Offset (13 bits): indica aonde no pacote original este fragmento deve ser inserido, qual o seu lugar; Res (2 bits): reservado para o futuro; M Flag (1 bit): indica se existem mais fragmentos (1) ou se este o ltimo (0); Identification (32 bits): identificao do pacote original; deve ser nica em toda a internet enquanto o pacote estiver trafegando.

Um problema gerado por esse tipo de fragmentao end-to-end, onde nodos intermedirios no podem fragmentar, que se a rota mudar no meio da transmisso e o novo MTU for menor que aquele j descoberto, alguma coisa precisaria ser feita. O que acontece que o datagrama IPv6 no mexido, mas um datagrama novo montado com o outro sendo encarado como dado. Assim, ele pode ser fragmentado no meio do caminho e remontado no meio do caminho. O que espera-se que isso no seja muito necessrio. Cabealho Genrico de Roteamento O cabealho de roteamento contm uma lista de um ou mais nodos que devem ser "visitados" no caminho para o destino. Os cabealhos de roteamento sempre comeam com um bloco de 32 bits divididos em 4 campos de 8 bits cada [STA 96]:

Next Header (8 bits): identifica o prximo cabealho; Header extension length (8 bits): tamanho do header em unidades de 64 bits, no incluindo o prprio header; Routing type (8 bits): identifica um tipo de roteamento; se ele no for compreensvel por algum nodo no caminho, o pacote deve ser descartado; Segments left: (8 bits): nmero de nodos intermedirios (listados explicitamente) que devem ainda ser visitados antes do destino.

Cabealho de Roteamento tipo 0

Alm dos 32 bits do cabealho de roteamento, esse tipo 0 de cabealho de roteamento foi definido com mais 8 bits reservados e 24 bits de strict/loose bit map. Esses bits so numerados da esquerda para a direita, cada um correspondendo a um hop, indicando se o prximo destino deve ser um vizinho deste (1 = strict) ou no (0 = loose) [STA 96].

Quando se usa o roteamento de tipo 0, a origem no precisa informar separadamente o destino do datagrama, pois ele considerado como sendo o ltimo endereo listado no cabealho de roteamento (address [n] na figura), sendo que o cabealho bsico do IPv6 tem como destino o primeiro endereo listado no header de roteamento. Antes desse nodo ser atingido, o header de roteamento no examinado, mas quando for a hora, o prximo nodo listado no cabealho de roteamento colocado no cabealho bsico, o datagrama enviado, e o segments left decrementado.

Cabealho de Roteamento - Routing Header


Armazena uma lista de 24 endereos de equipamentos roteadores por onde o pacote dever obrigatoriamente passar at chegar em seu destino final. Uma vez passador pelo equipamento roteador, o campo Destination Address modificado, recebendo o endereo do prximo campo do cabealho de roteamento, melhorando assim a performance da rede.

Cabealho de Roteamento. Descrio do Cabealho : Campo : Next Header Tamanho : 8 bits Descrio : Indica o prximo cabealho; Campo : Header Extension Length Tamanho : 8 bits Descrio : Tamanho do cabealho em palavras de 64 bits, excluindo os primeiros 64 bits - o prprio cabealho; Campo : Routing Type Tamanho : 8 bits Descrio : Indica um roteamento. Se ele no for compreensvel por algum equipamento roteador no caminho, o datagrama ser descartado. Geralmente setado em 0 - nica opo disponvel no momento; Campo : Segments Left Tamanho : 8 bits Descrio : Nmeros de seguimentos ou ns restantes para que o pacote chegue ao seu destino final, variando de 0 a 23; Campo : Reserved Tamanho : Indefinido Descrio : Uso reservado, setado seu valor em 0. Obs: O segmento que reconhecer seu endereo no campo Destination Address do cabealho principal do IPv6 poder analisar o cabealho de Roteamento. Aps isto, ser analisado o campo Segments Left, caso seu valor for " 0 " , ento no h mais segmentos para percorrer e o pacote chegou a seu destino final. Caso este segmento no seja o destino final, ento continua a verificao do cabealho de roteamento analisando o campo Routing Type, caso este valor seja invlido, o pacote rejeitado e enviado uma mensagem ICMP para o host de origem. Se este for o segmento final, este aceita o pacote. Caso o Segments Left for maior que 0, ento este paconte tem que continuar a procura seu destino, onde que este segmento ir atualizar o Destination Address do cabealho principal e enviar o pacote, e assim por diante.