Capítulo III -Protocolos de Internet
3.3 Camada de Rede Protocolo IP
3.3.2 Protocolo IPv6
Em 1998 foi definida uma nova versão do protocolo IP, a versão 6 – IPv6, potencial
sucessora da versão 4 – IPv4 [6]. Existem algumas diferenças substanciais entre estas duas versões. Uma das características mais importantes do IPv6 é que os endereços, em vez de
terem os 32 bits do protocolo IPv4, passam a ter 128 bits, o que permite endereçar muito
mais nós (o espaço de endereçamento passa a ser 2128). Outra característica é o facto de, devido à utilização de endereços estruturados e hierarquizados, em vez de endereços definidos por classes, a auto-configuração dos endereços é mais simples [6].
Tendo em conta as diferenças substanciais existentes entre as duas versões do protocolo IP, a análise e o estudo dos protocolos IPv4 e IPv6 deve ser efectuada de forma
diferenciada. Daqui para a frente, para evitar ambiguidades de interpretação, quando for considerado apenas protocolo IP, refere-se à versão mais utilizada, IPv4. A versão 6 será
3.3.2.1 Endereços IPv6
Os endereços IPv6 são representados por oito campos de 16 bits (em formato
hexadecimal) separados por dois pontos (:). Os endereços IPv6 são hierarquizados e
constituídos por 7 campos, como se pode observar na figura 3.5: o campo FP (Format Prefix) constitui o prefixo de 3 bits; um identificador TLA (Top-Level Aggregation) de 13 bits, TLA ID (Identifier); o campo RES (Reserved) com oito bits reservados para uso
futuro, pelo que devem ser colocados todos a zero; um identificador SLA (Site-Level Aggregation), SLA ID, de 16 bits; e o identificador do Interface, Interface ID, com 64 bits.
0 1 2 3 16 24 48 64 128
FP TLA ID RES NLA ID SLA ID Interface ID
Figura 3.5. Hierarquia dos endereços IPv6.
O IPv6 permite uma organização em três níveis hierárquicos: nível público, nível de
subrede e nível de interface. A topologia pública é identificada pelos campos TLA ID, RES
e NLA ID, e define o conjunto de fornecedores de serviços da Internet, os fornecedores de
trânsito e os pontos de troca de tráfego. Identificada pelo campo SLA ID, a topologia de
subrede tem abrangência local, identificando uma organização específica que não fornece serviços de trânsito para outras organizações ou outras subredes. O identificador de interface (campo Interface ID), como o próprio nome indica, permite identificar os nós da
rede.
3.3.2.2 Cabeçalho IPv6
Na figura 3.6 encontra-se um esquema do cabeçalho IPv6. Tendo sido removidos
alguns campos existentes no IPv4 e tornado outros campos opcionais, o cabeçalho IPv6
fixo é mais simples, o que permite reduzir custos de processamento de pacotes e de ocupação de largura de banda. Neste caso, os routers não realizam cálculo do tamanho do
cabeçalho nem do checksum e não efectuam fragmentação de pacotes, sendo esta
funcionalidade assegurada pelo emissor.
Comparando a figura 3.4 com a figura 3.6, pode-se verificar que alguns campos foram removidos. Por exemplo, o cabeçalho IPv6 não tem campo de Checksum, ou seja, o IPv6
não efectua detecção de erros. Por isso, no caso de UDP-sobre-IPv6, também é (quase)
obrigatório que o cabeçalho UDP inclua o seu checksum. Este protocolo baseia-se no
conceito de que a camada de ligação de dados é (con)fiável. Como exemplo considera que as redes Ethernet ou as ligações com controlo ponto-a-ponto que utilizam o protocolo de
CRC-32 (Cyclic Redundancy Check-32 bits), que é mais robusto do que o complemento a 1
de palavras de 16 bits, utilizado nos protocolos IPv4, TCP e UDP.
Em termos práticos, o campo Limite de Hops do protocolo IPv6 é equivalente ao
campo TTL do IPv4. Os restantes campos são: o campo Versão que indica a versão do
protocolo (v6); o Tipo de Tráfego que se destina a identificar e a diferenciar classes ou
prioridades dos pacotes IPv6; o campo Comprimento do Campo de Dados, que indica o
tamanho total dos dados em bytes; e o campo Cabeçalho Seguinte, que determina o tipo de
informação que se segue ao cabeçalho IPv6, podendo ser um pacote da camada de
transporte ou extensões do próprio cabeçalho.
0 1 2 3 7 11 15 23 31
Versão Tipo de Tráfego Etiqueta de Fluxo - Flow Label Comprimento do Campo Dados Cab. Seguinte Limite de Hops
Endereço IP Origem
Endereço IP Destino
Figura 3.6. (a) Cabeçalho de pacote IPv6.
De notar que o campo Flow Label tem o mesmo comprimento (20 bits) do campo Label do cabeçalho MPLS. As extensões adicionadas ao cabeçalho são consideradas como
parte dos dados e, consequentemente, contabilizadas no campo Comprimento do Campo de Dados. A introdução do campo Flow Label acrescenta uma nova funcionalidade à camada
de rede, permitindo rotular os pacotes pertencentes a um determinado fluxo de tráfego v, por exemplo, em função da qualidade de serviço, QoS (Quality of Service), e permitindo
também adicionar extensões de autenticação, de integridade e de confidencialidade de dados [6]. Os campos Tipo de Tráfego e Flow Label foram criados especialmente para
facilitar o desenvolvimento de protocolos que efectuem controlo de tráfego em tempo real, tais como, aplicações multimedia e integração de serviços de dados, de voz e de vídeo em tempo real.
3.3.2.3 Integração e Transição para IPv6
Actualmente, a maioria das redes utiliza ainda o protocolo IPv4. É importante
encontrar soluções que permitam a coexistência de ambas as versões e possibilitem uma transição suave de serviços para o IPv6. Há diversos mecanismos que podem facilitar essa
v Fluxo de tráfego – Define-se como uma sequência de pacotes enviados de um determinado
emissor para um determinado destinatário, que tenha um tratamento diferenciado por parte dos routers por onde passam.
transição, como a perspectiva de camada IP dupla, a infra-estrutura de DNS (Domain Name System) e as topologias de IPv6 sobre túneis IPv4 [7].
A camada IP dupla, implementada nos nós, permite a comunicação dos protocolos da
camada de transporte sobre ambas as versões, IPv4 e IPv6, ou também IPv6 sobre túneis IPv4. A figura 3.7.a) ilustra a arquitectura de camada IP dupla, em termos protocolares. No
entanto, actualmente, a topologia utilizada é ligeiramente diferente, consistindo numa implementação de stack duplo na camada de rede (figura 3.7.b), ou seja, os protocolos TCP
e UDP estão implementados de forma diferenciada para cada uma das versões do
protocolo IP. Portanto, a arquitectura de camada IP dupla requer também a implementação
de uma nova versão dos protocolos TCP e UDP.
Camada de Aplicação Camada de Aplicação
Camada de Transporte
(TCP/UDP) TCP/UDP TCP/UDP
IPv6 IPv4 IPv6 IPv4
Camadas de Dados e Física Camadas de Dados e Física
(a) (b)
Figura 3.7. (a) Topologia de camada IP dupla. (b) Topologia de stack duplo.
Para a coexistência das duas versões do protocolo IP, é fundamental a infra-estrutura
de DNS, por causa da identificação dos elementos da rede através de nomes. A
actualização da infra-estrutura de DNS passa por acrescentar, nos servidores DNS, registos
que permitam efectuar a correspondência entre endereços IPv6 e nomes (e vice-versa).
Efectuando o acesso a serviços através do mapeamento ao nível de DNS, o nó onde se
encontra o serviço é identificado com o registo A para nós IPv4 ou IPv6-sobre-IPv4, e
registo AAAA ou A6 para nós do tipo IPv6.
O mecanismo de IPv6 sobre túneis IPv4 consiste no encapsulamento dos pacotes IPv6
com um cabeçalho IPv4 (figura 3.8), permitindo o envio desses pacotes através de
infra-estruturas IPv4. Neste caso, o campo protocolo do cabeçalho IPv4 é colocado a 41.
Dentro desta perspectiva de encaminhamento de pacotes IPv6 sobre túneis IPv4, pode
estabelecer-se um túnel através de configuração manual ou automática.
Nos túneis configurados manualmente, os nós das extremidades do túnel IPv4 devem
ter stack duplo e os endereços IPv4 e IPv6 são configurados manualmente nesses nós. Os
túneis configurados automaticamente são caracterizados por ambos endereços IPv6 de
endereços IPv4, permitindo constituir endereços compatíveis IPv6 – IPv4. Uma das
tecnologias utilizadas de configuração automática denomina-se de 6to4. O 6to4 permite
estabelecer ligação de endereços IPv6 unicast, entre subredes e interfaces IPv6 através de
redes IPv4. Neste caso, os endereços IPv6 utilizam o prefixo 2002:WWXX:YYZZ::/48,
onde WWXX:YYZZ é a representação hexadecimal do endereço público IPv4 (w.x.y.z)
da interface ou da subrede.
Figura 3.8. Encapsulamento de um pacote IPv6 sobre túneis IPv4.
3.3.2.4 IPv6 em Redes Ópticas
Em termos de redes ópticas, as soluções emergentes que permitem a migração de IPv4
para IPv6 e a integração de redes IPv6 têm como base a implementação de redes IPv6
sobre redes MPLS. Para tal existem diversos cenários: IPv6 sobre túneis IPv4 através de
configuração dos routers CEvi (Customer Edge), IPv6-sobre-circuitos-sobre-MPLS, IPv6-sobre-IPv4-sobre-MPLS recorrendo à configuração dos edge routers da rede MPLS – 6PE (IPv6 Provider Edge vii Router) sobre MPLS, e o nativo IPv6-sobre-MPLS.
A primeira solução não tem qualquer impacto sobre as redes MPLS existentes, dado
que as alterações na configuração da rede são exteriores às redes MPLS. Os routers CE
devem ter stack duplo. O cenário IPv6-sobre-circuitos-sobre-MPLS não tem qualquer
impacto nas redes IPv4 ou no interior das redes MPLS, dado que as alterações de
configuração necessárias acontecem nos routers fronteira MPLS. O cenário 6PE não requer
nenhuma alteração ou actualização nos routers interiores das redes MPLS e também não
são necessárias alterações ao nível das redes IPv4. Os routers PE devem ter stack duplo. O
último cenário, o nativo IPv6-sobre-MPLS, é análogo ao IPv4-sobre-MPLS, necessitando
vi CE (Customer Edge) router – é um router de interface da rede cliente a uma rede MPLS
“fornecedora”.
vii PE (Provider Edge) router – é um router que delimita as redes MPLS fornecedoras de serviço de
Internet. Pacote IPv6 Cabeçalho IPv6 Extensões de Cab. Pacote IPv4 Cabeçalho IPv4 Campo de Dados Pacote IPv6 Cabeçalho
que todos os routers na rede MPLS tenham stack duplo e permitam a utilização de
protocolos de encaminhamento de IPv6 em conjunto com o protocolo IPv6 LDP (Label
Distribution Protocol) no interior da rede MPLS [9]. No entanto, apesar de
comparativamente ser o cenário mais eficiente e simples, é o menos atractivo porque requer alterações ao nível das infra-estruturas, inviabilizando o aproveitamento das infra-estruturas já existentes e tornando-se muito dispendioso.
Nesta Dissertação, mais concretamente no capítulo 6, apenas serão analisados os dois últimos cenários, dado que são os que reúnem maior aceitação, 6PE no presente e IPv6-sobre-MPLS possivelmente no futuro.