Você está na página 1de 16

IBTA 2876

RC
Redes de Alta Velocidade
Semestre V

1. Introdução – Redes de alta velocidade

O desenvolvimento das tecnologias de redes de computadores está em ritmo cada vez mais
acelerado. A demanda por redes cada vez mais rápidas é uma realidade, para tal, novos
protocolos e soluções têm sido pesquisados, gerando novas tecnologias que se tornam padrões
de mercado, interoperando com as já existentes. Além disso, o problema de esgotamento de
endereços IPv4 é uma realidade e a migração para o IPv6 está cada vez mais próxima,
principalmente pela necessidade dessas redes de alta velocidade e segurança dentro do
panorama das redes convergentes e de próxima geração, que demandam recursos físicos de
transmissão alinhados a tratamento de tráfego diferenciado e requerimentos de qualidade.
O grande motivador são as aplicações multimídias distribuídas e integração das redes fixa
móveis, visando à convergência e criando subsídios para o aprimoramento e desenvolvimento de
novas técnicas de transmissão que apresentam um desempenho muito melhor, maximizando a
velocidade e minimizando as perdas de dados durante a transmissão.
Nesta primeira parte, estudaremos novas técnicas de endereçamento (IPv6) e a solução ATM
para redes de alta velocidade.

2. IPv6 (IPng) – IP de próxima geração

2.1. Histórico

No começo do desenvolvimento do protocolo IP, por volta da década de 60, não se imaginava que
a Internet alcançaria a dimensão atual.
Na época, os projetistas argumentaram que a Internet seria suficiente para novas aplicações,
tanto em endereçamento como em suporte para aplicações e que o crescimento da Internet
esgotaria os endereços disponíveis, porém com o surgimento do NAT e CIDR para fornecer
extensão para os endereços, em termos de projeção de crescimento, estes não se esgotariam até
2022. Infelizmente, com a demanda de crescimento do uso da Internet, temos enfrentado cada
vez mais o problema de endereçamento IP e falta de suporte para as aplicações, e acreditamos
não poder esperar até 2022 para a migração de versão do protocolo, pois a Internet tem
experimentado um aumento exponencial ininterrupto.
A versão 4 do protocolo IP foi a primeira versão que permaneceu quase inalterada desde o seu
surgimento, no final da década de 1970. A longevidade da versão 4 mostra que o projeto é flexível
e poderoso. A versão número 5 do protocolo, foi descartada para evitar posteriores confusões e
ambigüidade, e pulada depois de uma série de erros e implementações mal-sucedidas.
Foram necessários vários anos para que o IETF pudesse projetar uma nova versão desse
protocolo: a versão 6. No fim de um primeiro momento, o projeto ficou conhecido como SIP
(Simple IP), porém hoje essa nomenclatura é usada para Session Initial Protocol, não mais se
referenciando ao Simple IP. O Simple IP tornou-se base para uma proposta estendida que incluía
idéias de outras propostas, e ficou conhecida como SIPP (Simple IP Plus).

1
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

Ao final dessa fase do projeto, o IETF decidiu atribuir à revisão do IP o nome de IPv6 (ele também
é conhecido como IPng – IP The Next Generation).
À medida que a Internet se expande para acomodar as novas aplicações, não é só a arquitetura
que evolui, os protocolos tendem a acompanhar, bem como as formas de endereçamento, como é
o caso do IP. Sendo assim, devemos analisar esse crescimento não só pelo âmbito do
endereçamento, mas também do desenvolvimento de novas aplicações que demandam recursos
e serviços, porém nem sempre o protocolo está prontamente otimizado para oferecer. Por
exemplo, um aumento no interesse das aplicações em multimídia criou a demanda de protocolos
que pudessem transferir imagens e som com eficácia.
De modo semelhante, o interesse pela comunicação de áudio e vídeo em tempo real criou a
demanda por protocolos que pudessem garantir a entrega de informações dentre de um retardo
fixo de transmissão, bem como protocolos que pudessem sincronizar corrente de dados de vídeo
e áudio. Também essas aplicações requerem comunicações seguras.
Embora a força motriz por trás desse fenômeno de crescimento seja relacionada a aplicações de
computadores, verificamos a demanda cada vez maior de vários outros mercados, como:
• Dispositivos pessoais de comunicação – PDAs, telefones celulares e outros dispositivos de
comunicação sem fio endereçáveis na rede. Todos esses dispositivos requerem um endereço
único e devem ser capazes de reconfiguração automática com um endereço correto quando
passam de uma localidade remota para outra.
• Entretenimento em rede – Vídeo sob demanda, estéreos, CDs e televisão interativa serão
acessíveis via Internet. Por exemplo, no universo de televisão conectada à rede, toda TV
torna-se uma máquina da Internet e precisa de um endereço IP.
• Dispositivos controlados por rede – Uma gama de dispositivos de aplicações simples, tais
como dispositivos eletrônicos de segurança, etc. controlados por chaveamento analógico,
atualmente, serão controlados via rede de pacotes e necessitam de endereçamento para
acesso à rede.

Cada um desses mercados é enorme, e todos têm uma característica em comum: precisam ser
postos na tabela e o IPv4 não tem como suportar essa gama de aplicações. Por exemplo, haverá
necessidade de roteamento em larga escala, configuração e reconfiguração automática,
autenticação e encriptação de dados internamente.
Para tal, o IPv6 resolve o problema de limite de endereçamento do IPv4, permite simplificar as
funções dos roteadores, suporta nativamente funções de segurança e oferece suporte para
tratamento de tráfego de aplicações multimídia, como várias outras características que serão
abordadas mais adiante.

2.2. IPv4 x IPv6

O IPv6 provê solução para os problemas atuais de endereçamento e ainda provê a funcionalidade
necessária ao mercado emergente. Projetado como uma evolução do IPv4, o IPv6 mantém a
maioria das funções do IPv4, tornando algumas das funções raramente (ou não) usadas pelo IPv4
como opcionais e adicionando novas funções não existentes.
Conceitualmente as duas versões do protocolo IP são muito próximas (IPv4 e IPv6), mas em
termos de características existem muitas diferenças. Por exemplo, o IPv6 ainda admite entrega
sem conexão (ou seja, cada datagrama é roteado independentemente), permite que o emissor
escolha o tamanho de um datagrama e exige que o emissor especifique o número máximo de

2
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

saltos que um datagrama pode fazer antes de ser entregue, incluindo também as facilidades para
fragmentação e roteamento de origem. Por outro lado, usa endereços maiores e acrescenta
novos recursos, revisando completamente o formato do datagrama, substituindo o campo de
opções de tamanho variável do IPv4 por uma série de cabeçalhos de tamanho fixo.
Podemos agrupar essas mudanças em categorias:
• Formato do pacote – Existem duas diferenças importantes: suporte a campos para garantia de
qualidade de serviço e existência de cabeçalhos de extensão. No IPv4, existe o campo TOS
(Type of Service), que é usado pela estação origem para definir a prioridade do pacote e para
tratar, de maneira diferenciada, os pacotes de maior prioridade. No caso do IPv6, além de um
campo equivalente ao TOS, denominado campo de prioridade, tem-se, também, um campo de
rótulo de fluxo (Flow Label). Esse campo pode ser empregado para realizar label ou tag
switching, podendo ser definidos diversos fluxos na rede, associados a tipos de tráfego
diferentes,com tratamento diferenciado pelos roteadores e switches. Os cabeçalhos de
extensão do IPv6, por sua vez, são empregados para fins de roteamento, fragmentação e
autenticação. A figura abaixo, mostra a diferença entre os campos dos pacotes IPv4 e IPv6.

Version IHL Type of Total Length Version Traffic Class Flow Label
Service
Identification FLAGS Fragment Payload Length Nest Header Hop Limit
OffSet
Time to Live Protocol Header Checksum Source Address
Source Address Destination Address
Destination Address Cabeçalho do datagrama - IPv6
Options Padding

Cabeçalho do datagrama - IPv4

Nome do campo mantido do IPv4 para o IPv6


Nome e posição de campos alterados no IPv6
Campos não mantidos no IPv6
Campos novos no IPv6

Figura 1. Datagrama IPv4 x IPv6.

• Tamanho de endereçamento – O novo tamanho do endereço é a mudança mais observável.


O IPv6 tem um endereço de tamanho 128 bits contra o do IPv4 que tem 32. O endereçamento é
considerado uma das restrições mais sérias do IPv4. No IPv4, os campos de endereço têm 32
bits e são definidas cinco classes de endereços: A, B, C, D e E. Normalmente, um endereço IP
é subdivido em dois subcampos: endereço da rede e endereço do host. No IPv6, os campos de
endereço têm 128 bits, sendo que parte dele pode conter o endereço físico local da interface ou
host. Isso implica que em muitos casos será possível dispensar a utilização de um protocolo do
tipo ARP (Address Resolution Protocol), responsável pela tradução de endereços lógicos em
físicos, usado no caso do IPv4.
• Fragmentação – A fragmentação de pacotes IPv4 é realizada usualmente pelos gateways. No
caso do IPv6, isso é feito pela estação origem. Tanto o IPv4 como IPv6 suportam os protocolos
básicos de roteamento. Contudo, no IPv6, pode-se optar por definir a rota na origem, ou seja, a
estação origem determina a rota até o destino e as informações sobre essa rota são
transmitidas no próprio cabeçalho de extensão de roteamento do pacote IPv6.

3
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

• Três tipos de endereço – Unicast, multicast e anycast.


• Hierarquia de endereço entendida – O IPv6 utiliza o espaço de endereço maior para criar
níveis adicionais de hierarquia de endereçamento, por exemplo, permitindo que um ISP aloque
blocos de endereços para um cliente.
• Formato de cabeçalho flexível – O formato do cabeçalho é completamente diferente e
incompatível com a versão anterior, incluindo um conjunto de informações opcionais no
cabeçalho.
• Opções avançadas – O IPv6 permite que um datagrama inclua informações de controle
opcionais e provisão para extensão do protocolo; ao invés de especificar todos os detalhes, a
capacidade de extensão do protocolo permite que o IETF adapte o protocolo ao novo hardware
de redes e novas aplicações.
• Suporte para auto-reconfiguração e auto-reendereçamento – O IPv6 permite que os
computadores em uma rede isolada atribuam endereços locais automaticamente com suporte
DHCP, que um servidor gerente renumere redes em um site dinamicamente e que o pacote
seja roteado automaticamente para outro novo endereço.
• Suporte para alocação de recursos – O IPv6 inclui uma abstração de fluxo e bits para a
especificação de serviço diferente (DiffServ).
• Segurança – Suporte à autenticação, privacidade e confidencialidade dos dados. No que diz
respeito à segurança, no IPv4 não são suportados mecanismos de segurança. No IPv6 são
definidos dois cabeçalhos de segurança: o primeiro contém informações de autenticação, o
segundo transporta informações de segurança que serão empregadas para decriptografar os
dados do pacote IPv6.

2.3. Datagrama IPv6

O IPv6 cria o conceito de cabeçalho básico (necessário) e de extensão (opcionais).


Na figura abaixo, é ilustrado um formato geral de um datagrama IPv6.

40 octetos Opcionais

Cabeçalho Ipv6 Cabeçalho de ... Cabeçalho de Payload


extensão extensão

Figura 2. Formato geral do datagrama IPv6. Fonte: RFC 1752, RFC 1883, RFC 2373.

O IPv6 trata das especificações de tamanho de datagrama de uma nova maneira. Primeiro,como
o tamanho do cabeçalho básico é fixado em 40 octetos, o cabeçalho básico não inclui um campo
para o tamanho do cabeçalho. Em segundo lugar, o IPv6 substitui o campo de tamanho do
datagrama do IPv4 por um campo de Tamanho do payload que especifica o número de octetos
transportados no datagrama, excluindo o próprio cabeçalho. Assim, um datagrama IPv6 pode
conter 64K de octetos de dados.
O paradigma de um cabeçalho de base fixa por um conjunto de cabeçalhos de extensão foi
escolhido como um compromisso entre a generalidade e a eficiência. Para ser totalmente geral, o

4
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

IPv6 precisa incluir mecanismos de modo a dar suporte às funções como fragmentação,
roteamento de origem e autenticação. Porém, a escolha de alocar campos fixos no cabeçalho do
datagrama para todos os mecanismos é ineficaz, pois a maioria dos datagramas não usa todos os
mecanismos, desta forma, o grande tamanho do IPv6 aumenta a ineficiência. Por exemplo, ao
enviar um datagrama por uma única rede local, um cabeçalho que contém campos de endereços
vazios pode ocupar uma fração substancial de cada frame.
O cabeçalho de extensão do IPv6 funciona de modo semelhante às opções do IPv4 – um emissor
pode escolher quais cabeçalhos de extensão incluir em determinado datagrama e quais omitir.
Assim, os cabeçalhos de extensão oferecem o máximo de flexibilidade. Desta forma, entendemos
que os cabeçalhos de extensão do IPv6 são semelhantes ao campo Opções do IPv4. Cada
datagrama inclui cabeçalhos de extensão somente para as facilidades que o datagrama utiliza.
Embora deva acomodar endereços maiores, um cabeçalho básico IPv6 contém menos
informações do que na versão anterior. As opções a alguns dos campos fixos que aparecem em
um cabeçalho de datagrama IPv4 foram movidas para os cabeçalhos de extensão no IPv6.
Em geral, as mudanças no cabeçalho do datagrama refletem as mudanças no protocolo. A figura
abaixo mostra o conteúdo e o formato de um cabeçalho IPv6 básico. Vários campos em um
cabeçalho básico do IPv6 correspondem diretamente aos campos em um cabeçalho IPv4:

4 4 24 16 8 8 128 128
V TF FL PL NH HL SA DA

Figura 3. Formato e conteúdos de um cabeçalho básico IPv6. O tamanho de cada campo é dado em bits.
Fonte: RFC 1752, RFC 1883, RFC 2373.

• V (Version) – Esse campo de 4 bits especifica o número da versão do protocolo. Para o IPv6
esse valor é 0110.
• TC (Traffic Class) – Especifica a prioridade do pacote de dados. Dividido em dois grupos: no
primeiro (prioridade de 0 a 7) corresponde a pacotes que podem responder a controle de
congestionamento, a exemplo das redes Frame Relay. O segundo (prioridade de 8 a 15)
corresponde a pacotes que não respondem a controle de congestionamento, usado
normalmente para dados críticos como voz e vídeo. Além disso, um novo mecanismo no IPv6
admite reserva de recurso e permite que um roteador associe cada datagrama a determinada
alocação de recurso. A abstração básica, um fluxo, consiste em um caminho por uma Internet
junto à qual roteadores intermediários garantem uma qualidade de serviço específica
• FL (Flow Label) – Campo de rótulo de fluxo corresponde a pacotes que necessitam de
tratamento especial. Um de seus usos é prover qualidade de serviço (QoS) via RSVP. Esse
campo no cabeçalho básico contém informações que os roteadores utilizam para associar um
datagrama a um fluxo específico e prioridade. Por exemplo, duas aplicações que precisam
enviar vídeo podem exigir que um assinante especifique a qualidade de serviço desejada e
depois use um fluxo para limitar o tráfego que um computador específico ou aplicação enviam.
Observe que os fluxos também podem ser usados dentro de uma determinada organização
para gerenciar recursos da rede e garantir que todas as aplicações recebam uma fatia justa.
Um roteador usa a combinação de endereço de origem do datagrama e identificador de fluxo ao
associar um datagrama a um fluxo específico.
• PL (Payload Length) – Especifica o comprimento dos dados do usuário que seguem o
cabeçalho. No IPv4, o campo correspondente incluía o cabeçalho e os dados.

5
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

• NH (Next Header) – Esse campo substitui o campo de protocolo do IPv4. NH especifica o tipo
de cabeçalho que segue o cabeçalho do IPv6. Ele permite que extensões de cabeçalho possam
ser inseridas entre o cabeçalho do IP e do TCP (ou do UDP) que precedem os dados do
usuário. Um exemplo desses campos é o uso de cabeçalhos para autenticação IPSec e
criptografia para segurança. Esse campo substitui os campos de comprimento do cabeçalho e
opções do IPv4.
• HL (Hop Limit) – Esse campo de limite de saltos é usado para especificar o número de
segundos em que um pacote pode permanecer ativo na Internet. O valor desse campo é
decrementado em 1 segundo cada vez que ele passa pelo roteador. O campo Limite de salto,
corresponde ao campo Tempo de vida (TTL-time-to-live) do IPv4. Diferente do IPv4, que
interpreta um tempo de vida como uma combinação de contagem de saltos e tempo máximo, o
IPv6 interpreta o valor como dado um limite restrito sobre o número máximo de saltos que um
datagrama pode fazer antes de ser descartado.
• SA (Source Address) – Esse é o endereço IP de origem. Tem o mesmo propósito do SA do
IPv4, difere apenas no tamanho e localização no pacote.
• DA (Destination Address) – Esse é o endereço IP de destino. Da mesma forma que o SA, o
DA tem o mesmo propósito do IPv4, diferenciado pelo tamanho e localização no pacote.

Conforme mencionado acima, podemos observar que as principais características são:


• Um campo de tamanho de cabeçalho foi eliminado e o campo de tamanho do datagrama foi
substituído por um campo de Tamanho do payload (PL-Payload Length).
• O tamanho dos campos de endereço de origem e destino foi aumentado para 16 octetos cada
um (128 bits).
• A informação de fragmentação foi movida para fora dos campos fixos no cabeçalho básico para
um cabeçalho de extensão.
• O campo Tempo de vida (TTL-Time To Live) foi substituído por um campo limite de saltos
(HL - Hop Limit).
• O Tipo de serviço (Service Type) teve o nome alterado para Classe de tráfego (Traffic
Class) e entendido como um campo Rótulo de fluxo (Flow Label).
• O campo Protocolo (Protocol) foi substituído por um campo que especifica o tipo do próximo
cabeçalho.

Em resumo, cada datagrama IPv6 começa com um cabeçalho básico de 40 octetos, que inclui
campos para os endereços de origem e destino, o limite máximo de saltos, a classe de tráfego, o
rótulo de fluxo e o tipo do próximo cabeçalho. Assim, um datagrama IPv6 precisa conter pelo
menos 40 octetos além dos dados.
Cada um dos cabeçalhos básico e de extensão contém um campo Próximo cabeçalho (Next
Header) que os roteadores intermediários e o destino final utilizam para desmembrar o
datagrama. O processamento é seqüencial – o campo Próximo cabeçalho em cada cabeçalho
diz o que aparece em seguida, conforme pode ser visto na figura abaixo:

6
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

Cabeçalho básico Segmento TCP


Próximo = TCP
(A)

Cabeçalho básico Cabeçalho route Segmento TCP


Próximo = Route Próximo =TCP
(B)

Cabeçalho básico Cabeçalho route Cabeçalho Auth Segmento TCP


Próximo = route Próximo=Auth Próximo =TCP

Figura 4. Três datagramas com (A) somente um cabeçalho básico, (B) um cabeçalho básico e uma extensão e (C) um
cabeçalho básico mais duas extensões.

Para agilizar o processamento, o IPv6 exige que os cabeçalhos de extensão utilizados por
roteadores intermediários sejam colocados antes dos cabeçalhos de extensão usados pelo
destino final. O IPv6 usa o termos cabeçalho salto a salto (hop-a-hop header) para se referir a um
cabeçalho de extensão que um roteador intermediário precisa processar. Assim, os cabeçalhos
salto a salto precedem os cabeçalhos fim a fim.

2.4. Fragmentação e remontagem do IPv6

A fragmentação de datagramas IPv6 é através de um cabeçalho de extensão, para identificar que


um datagrama é um fragmento. Assim como no IPv4, o IPv6 providencia para que o destino final
realize a remontagem do datagrama. Porém, os projetistas escolheram fazer mudanças que
evitam a fragmentação por roteadores. Lembre-se de que o IPv4 requer que um roteador
intermediário fragmente qualquer datagrama que seja muito grande para a MTU da rede que ele
precisa atravessar.
Na figura que segue, ilustramos o esquema de cabeçalho de extensão para a fragmentação de
um datagrama:

0 8 16 29 31

Próximo cabeçalho Reservado Offset de fragmento RS M

Identificação do Datagrama

Figura 5. Formato de um cabeçalho de extensão de fragmento.

O IPv6 retém a funcionalidade de fragmentação básica. Cada fragmento precisa ser múltiplo de 8
octetos, o único bit no campo M marca o último fragmento, como o bit More Fragments do IPv4,
e o campo Identificação do datagrama transporta um ID exclusivo que o receptor usa para
agrupar fragmentos (o IPv6 expande o campo de Identificação do IPv4 para 32 bits, a fim de
acomodar redes de maior velocidade). Finalmente o campo RS é atualmente reservado; os dois
bits são definidos como zero na transmissão e ignorados pelo receptor.

7
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

No IPv6, a fragmentação é fim a fim, sendo que nenhuma fragmentação ocorre nos roteadores
intermediários. A origem que é responsável pela fragmentação tem duas escolhas: ela pode usar
a MTU mínima garantida de 1280 octetos ou realizar a descoberta de MTU do caminho (Path
MTU Discovery) para identificar a MTU mínima ao longo do caminho até o destino. De qualquer
forma, a origem fragmenta o datagrama de modo que cada fragmento seja menor que a MTU
esperada do caminho.
A motivação para usar a fragmentação fim a fim está em sua capacidade de reduzir o overhead
em roteadores e permitir que cada roteador trate de mais datagramas por tempo unitário. Porém,
a fragmentação de fim a fim tem uma conseqüência importante: ela altera a suposição
fundamental do IPv4 de que as rotas mudam dinamicamente.
Para entender a conseqüência da fragmentação fim a fim, lembre-se de que o IPv4 foi projetado
para permitir que as rotas mudem a qualquer hora. Por exemplo, se uma rede ou roteador falhar,
o tráfego poderá ser roteado por um caminho diferente. A principal vantagem desse sistema é a
flexibilidade – o tráfego pode ser roteado ao longo de um caminho alternativo sem atrapalhar o
serviço, sem informar a origem ou o destino. Porém, no IPv6, as rotas não podem ser alteradas
tão facilmente, pois uma mudança em uma rota pode alterar também a MTU do caminho. Se a
MTU do caminho ao longo de uma nova rota for menor que a MTU do caminho ao longo da rota
original, então um roteador intermediário precisará fragmentar o datagrama ou a origem terá de
ser informada.
O problema pode ser resumido desta forma: Um protocolo de Internet que usa a fragmentação fim
a fim exige que o emissor descubra a MTU do caminho para cada destino e fragmente qualquer
datagrama de saída que seja maior do que a MTU do caminho. A fragmentação de fim a fim não
acomoda mudanças de rota.
Para resolver o problema de mudanças de rota que afetam a MTU do caminho, o IPv6 inclui uma
nova mensagem de erro do ICMP. Quando um roteador descobrir que a fragmentação é
necessária, ela enviará a mensagem de volta à origem. Ao receber tal mensagem, a origem
realizará outra descoberta de MTU do caminho para determinar uma nova MTU mínima e depois
fragmentará os datagramas de acordo com o novo valor.

2.5. Roteamento IPv6

O IPv6 retém a capacidade para um emissor especificar uma rota de origem solta, através de um
cabeçalho de extensão separado. Diferente do IPv4, em que o roteamento de origem é fornecido
por opções, o IPv6 usa apenas uma.
Como mostra na figura abaixo, os quatro primeiros campos do cabeçalho de roteamento são
fixos. O Tipo de roteamento (Routing Type) especifica o tipo de informação de roteamento; o
único tipo que foi definido, tipo 0, corresponde ao roteamento de origem solto. O campo Dados
específicos do tipo (Type-Specific Data) contém uma lista de endereços de roteadores através
dos quais o datagrama precisa passar. O campo Seg restantes (Seg Left) especifica o número
total de endereços da lista. Finalmente, o campo Tamanho do cabeçalho extensão (Hdr Ext
Len) especifica o tamanho do cabeçalho de roteamento.

8
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

0 8 16 24 31

Próximo cabeçalho Tamanho cabeçalho de Tipo de roteamento Seg. restantes


extensão

Dados específicos do tipo

Figura 6. Formato de um cabeçalho de roteamento IPv6. Somente o tipo 0 (rota de origem solta) está definido
atualmente.

2.6. Opções do IPv6

Pode parecer que os cabeçalhos de extensão do IPv6 substituem completamente as opções do


IPv4. Porém, os projetistas propõem dois cabeçalhos de extensão adicionais do IPv6 para
acomodar informações diversificadas não incluídas nos outros cabeçalhos de extensão. Os
cabeçalhos adicionais são um cabeçalho de extensão salto a salto e um cabeçalho de extensão
fim a fim. Como o nome sugere, os dois cabeçalhos separam o conjunto de opções que devem
ser examinadas em cada salto do conjunto que são apenas interpretadas no destino.
Embora cada um dos dois cabeçalhos de opção tenha um código de tipo exclusivo, os dois
cabeçalhos utilizam o formato ilustrado na figura abaixo:

0 8 16 31

Próximo cabeçalho Tamanho do Uma ou mais opções....


cabeçalho

... uma ou mais opções

Figura 7. Formato de um cabeçalho de extensão de opção do IPv6.

Como sempre, o campo Próximo cabeçalho indica o tipo de cabeçalho que vem em seguida.
Como um cabeçalho de opção não tem tamanho fixo, o campo rotulado como Tamanho do
Cabeçalho especifica o tamanho total do cabeçalho. A área rotulada com Uma ou mais opções
representa uma seqüência de opções individuais.
A figura abaixo ilustra que cada opção individual é codificada com um tipo, tamanho e valor; as
opções não estão alinhadas ou preenchidas.

0 8 16

Tipo Tamanho Valor

Figura 8. Codificação de uma opção individual em um cabeçalho de extensão de opção do IPv6.

As opções do IPv6 seguem o mesmo formato das opções do IPv4. Cada opção começa com um
campo Tipo de um octeto, seguido por um campo de Tamanho de um octeto. Se a opção exigir
dados adicionais, os octetos que constituem o Valor vêm após o Tamanho.

9
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

Os bits de alta ordem de cada campo Tipo da opção especificam como um host ou roteador
deverá descartar um datagrama se não atender à opção:

Bits tipo Significado


00 Pular essa opção
01 Descartar datagrama: não enviar mensagem ICMP
10 Descartar datagrama: enviar mensagem ICMP à origem
11 Descartar datagrama: enviar mensagem ICMP se não multicast

Tabela 1. Bits e significado.

Além disso, o terceiro bit no campo Tipo especifica se a opção poderá mudar em trânsito. É
importante ter essa informação para autenticação – o conteúdo de uma opção que pode mudar
em trânsito é tratado como zeros, para fins de autenticação.

2.7. Endereçamento IPv6

No IPv6, cada endereço ocupa 16 octetos, quatro vezes a mais que o IPv4. Esse espaço de
endereçamento grande garante ao IPv6 qualquer esquema de atribuição de endereços.
É difícil compreender o tamanho do espaço de endereços no IPv6. Um modo de examinar isso
relaciona a magnitude ao tamanho da população: o espaço de endereços é tão grande que cada
pessoa no planeta pode ter endereços suficientes para ter sua própria Internet. Uma segunda
forma de pensar relaciona-se ao espaço físico disponível: a superfície da terra tem
aproximadamente 5,1 x 108 Km2, significando que existem mais de 10 24 endereços por m2 na
superfície da terra. Outra forma de entender o tamanho relaciona-se ao esgotamento de
endereços. Por exemplo, considere quanto tempo levaria para atribuir todos os endereços
possíveis. Um inteiro de 16 octetos pode manter 2 128 valores. Assim, o espaço de endereços é
maior do que 3,4 x 1038. Se os endereços forem atribuídos na velocidade de um milhão de
endereços a cada microssegundo, seriam necessários mais de 10 20 anos para atribuir todos os
endereços possíveis.
• Sendo assim, temos 2128 possibilidades de endereços, ou seja, 3,4x10 38. Isso poderia ser
comparado a 1030 IP´s por pessoa no planeta.
• O valor 3,4x1038 é igual a 340.282.366.920.463.374.607.432.768.211.456 endereços IPv6.

128 bits

Network Prefix Sub-rede Interface ID


XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
XXXX = Cada X representa um valor hexadecimal

Figura 9. Espaço de endereçamento IPv6.

Os primeiros octetos (n) são usados como Global Routing Prefix, a fim de identificar um endereço
especial como o multicast ou para identificar um endereço atribuído a uma mesma rede. Os

10
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

próximos octetos (m) podem ser utilizados para uma melhor administração dos endereços,
atribuindo-os a uma sub-rede. Por fim, os octetos restantes (n-m) identificam uma interface
específica dentro de uma sub-rede (link) e necessariamente precisa ser único dentro daquela
sub-rede.

Provider Site Host


3 bits 45 bits 16 bits 64 bits

001* Global Routing Prefix Subnet ID Interface ID

*001 = Unicast Global

Figura 10. Exemplo de alocação de Endereçamento IPv6.

2.7.1. Notação IPv6

Embora solucione o problema de capacidade de endereçamento, o tamanho de endereço grande


impõe um novo problema: a notação binária é impraticável, uma vez que os endereços são
manipulados por seres humanos. A notação decimal, com ponto usada para o IPv4 não torna
esses endereços suficientemente compactos também.
Para entender por que, considere um número de 128 bits, por exemplo, expresso em notação
decimal com pontos: 104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255.
Agora veja quando o valor mostrado antes em notação decimal com ponto é traduzido para a
notação hexadecimal se torna: 68E6:8C64:FFFF:0:1180:96A:FFFF.
Um endereço IPv6 se difere do IPv4 também na aparência. Os endereços IPv6 são agrupados em
classes, como acontecia no IPv4. Contudo, o delimitador não é o ponto. Os endereços IPv6 são
expressos na forma hexadecimal usando dois pontos (:) como delimitadores e cada bloco possui
16 bits em notação hexadecimal. A notação hexadecimal com dois pontos tem a vantagem óbvia
de exigir menos dígitos e menos caracteres separadores que o decimal pontuado.
A notação hexadecimal possui duas formas de representação: padrão e abreviada.
Na notação padrão, cada bloco (conjunto de 16 bits) é representado por um hexadecimal, por
exemplo: FE80:0000:0000:0000:0202:B3FF:FE1E:8329
Na opção abreviada, duas técnicas a tornam extremamente útil. Primeiro permite a compactação
de zeros, em que uma seqüência de zeros repetidos é substituída por um par de sinais de dois
pontos. Por exemplo, o endereço: FF05:0:0:0:0:0:0:0:B3, poderia ser escrito desta forma:
FF05::B3. A primeira simplificação é possível quando uma das divisões do endereço (16 bits)
possui apenas zeros, neste caso não é necessário escrever todos os zeros.
Para garantir que a compactação de zeros produza uma interpretação não ambígua, a proposta
especifica que ela pode ser aplicada apenas uma vez em qualquer endereço. A compactação de
zero é especialmente útil quando usada com o esquema de atribuição de endereço proposto, pois
muitos endereços terão seqüências contíguas de zeros.
Em segundo lugar, a notação hexa com dois pontos incorpora os sufixos decimais pontuados,
veremos que essas combinações devem ser usadas durante a transição do IPv4 para o IPv6, pois
o IPv6 dá suporte aos formatos IPv4, chamados de “embutidos” e de “transição”. Por exemplo, a
seqüência a seguir é uma notação hexa com dois pontos válida: 0:0:0:0:0:0:128:10.2.1
Observe que, embora os números separados por sinais de dois pontos especifiquem o valor de
uma quantidade de 16 bits, os números na parte decimal com ponto especificam, cada um, o valor

11
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

de um octeto. Naturalmente, a compactação de zeros pode ser usada com o número anterior para
produzir uma seqüência hexa de dois pontos equivalente, muito semelhante a um endereço IPv4:
::128.10.2.1. Esse endereço é chamado de IPv6 compatível ao IPv4 e usado para representar nós
que dão suporte ao IPv6, mas fazem roteamento de pacotes IPv4.
O endereço acima ainda poderia ser escrito como ::FFFF:128.10.2.1. Esse endereço é chamado
de IPv4 mapeado em IPv6 e é usado para representar nós IPv4 que dão suporte ao IPv6.
Finalmente, o IPv6 estende a notação tipo CIDR, permitindo que um endereço seja seguido por
uma barra e um inteiro que especifica um número de bits. Por exemplo: 12AB::CD30:0:0:0:0/60
especifica os primeiros 60 bits do endereço ou 12AB00000000CD3 em hexadecimal.

2.7.2. Atribuição de espaços IPv6

Existem duas questões envolvendo o particionamento de um endereço IPv6: como gerenciar a


atribuição de endereço e como mapear um endereço a uma rota.
A primeira questão trata do problema prático de criar uma hierarquia de autoridade. Ao contrário
da Internet atual, usa uma hierarquia de dois níveis de prefixo de rede (atribuída por um ISP) e
sufixo de host (atribuído por uma organização); o espaço de endereços grande no IPv6 permite
uma hierarquia multinível ou hierarquias múltiplas.
A segunda questão trata da eficiência computacional. Independente da hierarquia de autoridade
que atribui endereços, um roteador precisa examinar cada datagrama e escolher um caminho até
o destino. Para manter baixo o custo dos roteadores de alta velocidade, o tempo de
processamento exigido para escolher um caminho precisa ser mantido pequeno.
Foi proposta a atribuição de blocos de endereços de uma maneira semelhante ao esquema
utilizado para o IPv4.
Apenas 15% dos espaços de endereços possíveis foram atribuídos. O IETF usará as partes
restantes à medida que a demanda crescer. Apesar da atribuição esparsa, os endereços foram
escolhidos para tornar o processamento mais eficiente. Por exemplo, o octeto de alta ordem de
um endereço distingue entre multicast (todos os bits em 1) e unicast (uma mistura de 0s e 1s).
O primeiro campo de um endereço IPv6 é um prefixo de comprimento variável, o qual especifica
as várias categorias de endereço. Embora os oito primeiros bits de um endereço sejam suficientes
para identificar seu tipo, o espaço de endereços não é particionado em seções de um mesmo
tamanho. Exemplos de alguns espaços já atribuídos pelo IETF 1:
• 001 – Unicast global.
• 1111 1111 – Endereço multicast.
• 101 – Especifica um endereço unicast com provedor IPv6, o qual é atribuído a nós conectados
diretamente na Internet.
• 1111 1110 10 – Especifica um endereço de link local, o qual é atribuído a sites isolados na
rede. Um site isolado é aquele cujos nós são conectados à rede, mas rede não tem um roteador
conectado à Internet.
• 1111 1110 11 – Designa endereços de sites locais, os quais são atribuídos a sites com
roteadores, mas não conectados à Internet.

_________________________
1
Informações adicionais podem ser pegas nas RFCs 1884, 2073, 2373 e 2374.

12
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

• 0000 0000 0000 0000 0000 0000 – Designa um endereço IPv6 compatível com IPv4.

Embora o prefixo 0000 0000 seja rotulado como Reservado, os projetistas planejam usar uma
pequena fração dos endereços nessa seção para codificar os endereços IPv4. Em particular,
qualquer endereço que começa com 80 bits 0 seguidos por 16 bits 1 ou 16 bits 0 contém
endereço IPv4 nos 32 bits de baixa ordem. O valor de campo de 16 bits indica se o nó também
tem um endereço de unicast IPv6 convencional.

2.7.3. Três tipos de endereços no IPv6

Assim como no IPv4, o IPv6 associa um endereço a uma conexão de rede específica e não a um
computador específico, e as atribuições de endereço são semelhantes ao IPv4: um roteador IPv6
possui dois ou mais endereços e um host; IPv6 com uma conexão de rede só precisa de um
endereço. O IPv6 também retém a hierarquia de endereços do IPv4 em que uma rede física
recebe um prefixo. Porém, para tornar a atribuição e a modificação mais fáceis, o IPv6 permite
que vários prefixos sejam atribuídos a determinada rede e que um computador tenha vários
endereços simultâneos atribuídos à determinada interface.
Em geral, um endereço de destino em um datagrama cai em uma das três categorias:
• Unicast – Identifica uma única interface de um nó IPv6.
• Anycast – Conjunto de interfaces e roteadores com um mesmo prefixo.
• Multicast – Grupos de interfaces. Não existem endereços broadcast.

O IPv6 não usa os termos broadcast ou broadcast direcionado para se referir a uma entrega a
todos os computadores em uma rede física ou a uma sub-rede IP lógica. Em vez disso, ele usa o
termo multicast, e trata o broadcast como uma forma especial de multicast, onde o hardware
envia um pacote de multicast a todos os computadores da rede, exatamente como um pacote de
broadcast e o hardware de interface de cada computador filtra todos os pacotes de multicast.
Para ver por que o IPv6 escolhe o multicast como abstração central em vez de broadcast,
considere as aplicações em vez de examinar o hardware adjacente. Uma aplicação precisa se
comunicar com uma única aplicação ou com um grupo de aplicações. A comunicação direta é
tratada melhor por meio de unicast; a comunicação em grupo é melhor por multicast ou broadcast.
Para prover o máximo de flexibilidade, a inscrição no grupo não deve ser determinada pelas
conexões de rede, pois os membros do grupo podem residir em locais quaisquer. O uso do
broadcast para toda a comunicação em grupo não se expande para tratar de uma Internet tão
grande quanto a Internet global. Assim, além do seu próprio endereço de unicast, cada roteador
precisa aceitar pacotes endereçados aos grupos multicast All Routers para o seu ambiente local.

2.7.4. Endereços não especificados e de loopback

Assim, como no IPv4, alguns endereços IPv6 recebem significado especial. Por exemplo, o
endereço tudo zero: 0:0:0:0:0:0:0:0 é um endereço não especificado, que não pode ser atribuído a
qualquer computador ou usado como destino. Ele é só usado como endereço de origem durante a
inicialização por um computador que ainda não descobriu o seu endereço. Outro exemplo é o
endereço de loopback que será entregue à máquina local, ou seja, ele nunca deve ser usado
como endereço de destino em um datagrama que sai: 0:0:0:0:0:0:0:1.

13
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

Além dos endereços não especificado e de loopaback, existe o aggregatable unicast address.
Esse tipo de endereço IPv6 é identificado pela seqüência de bits 001 nos 3 primeiros bits de mais
alta ordem do endereço, serve para agregar prefixos de rede (sumarização).

2.7.5. Identificadores de interface

Os 64 bits de baixa ordem de um endereço unicast do IPv6 identificam uma interface de rede
específica.
O IPv6 não usa ARP para traduzir um endereço IP em um endereço de hardware. Em vez disso,
IPv6 usa um protocolo de descoberta de vizinho (Neighbor Discovery Protocol) disponível em
uma nova versão do ICMP (ICMPv6) para permitir que um nó determine quais computadores são
seus vizinhos conectados diretamente.
Para garantir a interoperabilidade, todos os computadores precisam usar a mesma codificação
para um endereço de hardware. Conseqüentemente, os padrões IPv6 especificam exatamente
como codificar várias formas de endereço de hardware. No caso mais simples, o endereço de
hardware é colocado diretamente no endereço IPv6.
Duas codificações de exemplo ajudam a esclarecer o conceito. Por exemplo, o IEEE define um
formato de endereço globalmente exclusivo de 64 bits conhecido como EUI-64. A única mudança
necessária quando se codifica um endereço EUI-64 em um endereço IPv6 consiste em inverter o
bit 6 no octeto de alta ordem do endereço, que indica se o endereço é conhecido como sendo
globalmente exclusivo.
Uma mudança mais complexa é exigida para um endereço Ethernet convencional de 48bits. Os
bits de endereço original não são contíguos na forma codificada. Em vez disso, 16 bits com o
valor hexadecimal FFFF16 são inseridos no meio. Além disso, o bit 6, que indica se o endereço
possui escopo global, é alterado de 0 para 1. Os bits restantes do endereço, incluindo o bit de
grupo (rotulado com g), a ID da empresa que fabricou a interface (rotulada com c) e a extensão do
fabricante são copiados.

2.7.6. Endereços locais

Além dos endereços de unicast globais o IPv6 inclui prefixos para endereços de unicast que
possuem escopo local. O padrão define endereços locais ao enlace (link-local address) que são
restritos a uma única rede.
Outras formas de endereços restritos também foram propostas. Os roteadores honram as regras
de escopo no seguinte sentido: um roteador nunca encaminha um datagrama que contém um
endereço de escopo local fora do escopo especificado (ou seja, fora da rede local).
Os endereços locais ao enlace oferecem comunicação por uma única rede física sem perigo de o
datagrama ser encaminhado pela Internet. Por exemplo, ao realizar a descoberta de vizinho, um
nó IPv6 usa um endereço local ao enlace. As regras de escopo especificam que somente
computadores da mesma rede física do emissor receberão mensagens de descoberta do vizinho.
De modo semelhante, os computadores conectados a uma rede isolada (ou seja, uma rede que
não possui roteadores conectados) podem usar endereços locais ao enlace para se comunicar.

14
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

2.8. Autoconfiguração e renumeração

O IPv6 foi elaborado para dar suporte à autoconfiguração.


A autoconfiguração de endereços permitirá uma operação plug-and-play de hosts na Internet.
Quando a máquina for ligada, deve automaticamente associar um endereço IP à sua interface de
rede.
Existem duas formas de autoconfiguração no IPv6:
• Configuração stateful – Onde há um servidor de configuração com o qual o host se comunica.
• Configuração stateless – Onde o host constrói seu endereço IP a partir do seu endereço de
interface de rede, que é único 2, aplicado apenas para hosts e não para roteadores. Não
necessita de configuração manual, mas não especifica os servidores de DNS, o prefixo, lifetime
e default route, assumem que a interface tem um único interface ID.
Com base no seu endereço de placa de rede, resta, portanto, saber o prefixo ao qual o host
pertencerá. Uma forma é usar o prefixo de uso local, que atende a essa necessidade. Para redes
que não estão conectadas, é uma ótima solução. Para redes conectadas, o roteador dessa rede
deve informar aos hosts o devido prefixo da rede.
Duas facilidades discutidas anteriormente tornam a autoconfiguração possível e eficiente:
endereçamento local ao enlace e identificadores de interface embutidos.
Para iniciar a autoconfiguração, um computador gera um endereço local ao enlace combinando o
prefixo local ao enlace: 1111 1110 10 com 54 bits zero e seu identificador de interface de 64 bits.
Ao verificar que o endereço local ao enlace é exclusivo, um computador usa o endereço para
enviar uma solicitação de roteador (router solicitation) que requisita informações adicionais de
um roteador. Se um roteador estiver presente na rede, o roteador responde enviando um anúncio
de roteador (router advertisement) para informar ao computador sobre os prefixos que podem
ser usados para endereços globais. Quando chega um anúncio de roteador, o computador torna o
emissor seu roteador default. Finalmente, uma flag no anúncio diz ao computador se deve contar
com a autoconfiguração ou usar uma configuração gerenciada convencional,ou seja, DHCP.
Para facilitar a renumeração da rede, o IPv6 permite que os roteadores limitem o tempo que um
computador pode reter um prefixo. Para fazer isso, um anúncio do roteador especifica dois
valores de tempo para cada prefixo: um tempo de vida válido e um tempo de vida preferido. Um
host precisa escutar anúncios de roteador adicional. Quando o tempo de vida preferido de um
prefixo expira, o prefixo permanece válido, mas o host precisa usar outro prefixo para a
comunicação, quando possível. Quando o tempo de vida válido expira, o host precisa parar de
usar o prefixo, mesmo que a comunicação existente esteja em andamento.
A idéia por trás da renumeração é simples: anunciar um novo prefixo (ou seja, adicional), esperar
um pouco e desativar o uso do prefixo antigo. Porém, na prática, essas transições são difíceis.
Conexões de transporte de longa duração serão terminadas quando houver mudança; um
servidor que se vincula a um endereço existente não receberá contato no novo endereço; e o
roteamento precisa ser alterado. Durante a transição, cada interface terá vários endereços, e os
tempos de vida do endereço precisam ser coordenados com o DNS para evitar que sejam
utilizadas várias cópias em cache dos registros de recurso para endereços antigos. Assim, a
renumeração não é direta em um sentido prático.

_________________________
2
Maiores informações, consulte a RFC 2462

15
Copyright Faculdade IBTA
IBTA 2876
RC
Redes de Alta Velocidade
Semestre V

2.9. Migração para o IPv6

O IPv6 não é apenas uma atualização de versão do IPv4, mas uma versão completamente nova.
Seu endereçamento é diferente, seus cabeçalhos são mais específicos, ele provê mais opções,
inclusive para segurança e controle de fluxo, e dá suporte à mobilidade juntamente com outras
características. A conversão será lenta e não será feita em uma noite. Nem todo usuário irá mudar
para o IPv6 até uma data especificada.
A migração para o IPv6 sem interromper as operações existentes na rede IPv4 é uma questão
importante, para que as operações durante a migração para o IPv4 sejam válidas. O atual plano
de migração para o IPv6 dá suporte a vários tipos de transições.

3 5 n 56 - n 64
010 Registry ID Provider ID Subscriber ID Intrasubscriber

Figura 11. Estrutura geral de um endereço unicast baseado em provedor IPv6. Valores expressos em bits.
Fonte: RFC 2050, RFC 2073, RFC 2074.

• Registry ID – Identifica a organização responsável pela atribuição do endereço Internet. O


registry atribui o ID do provedor.
• Provider ID – Identifica o provedor de serviços Internet (ISP). O comprimento específico desse
campo é uma função do registry que atribui essa parte do endereço. Em uma configuração,
pode ter de 16 a 24 bits. O ISP atribui o subscriber ID.
• Subscriber ID – Identifica o usuário de forma única. O comprimento desse campo depende da
estratégia do provedor para estruturação e atribuição de subscribers IDs. Em uma configuração,
tem de 24 a 32 bits.
• Intrasubscriber – Identifica a parte local do endereço (isto é, se é rede local ou máquina). Esse
campo pode ser subdividido em um campo de sub-rede e um campo de ID da
máquina/interface. Por exemplo, na rede Ethernet, os 16 bits de maior ordem desse campo
podem ser usados para especificar uma sub-rede e o restante para atribuir um endereço
Ethernet/802.3MAC (48 bits).

Os desafios da migração compreendem, entre outros aspectos:


• Atualizações incrementais serão permitidas. Qualquer dispositivo pode ser atualizado para o
IPv6, independentemente de outros dispositivos na rede, com exceção do DNS, que deve ser
atualizado com os endereços IPv6.
• Desenvolvimento incremental também será suportado. Novos nós IPv6 podem ser instalados a
qualquer hora sem a necessidade de quaisquer outras modificações.
• A transição deve dar suporte aos endereços IP existentes. Se um nó IPv4 for atualizado para o
IPv6, ele não deverá ter um novo endereço, mas continuar com o seu endereço IPv4.

Essa transição deverá ser feita em duas fases: na primeira, ambos os dispositivos IPv4 e IPv6
devem coexistir; na segunda, apenas os dispositivos IPv6. Durante a primeira fase, acredita-se
que nós IPv4 e IPv6 irão interoperar, novos dispositivos IPv6 serão introduzidos de forma
incremental com poucas interdependências, e usuários finais, administradores de sistemas e
operadores de sistemas serão capazes de fazer a transição sem muita dificuldade.

16
Copyright Faculdade IBTA

Você também pode gostar