• Nenhum resultado encontrado

Técnicas de Tunelamento

No documento IPv6Trans (páginas 31-36)

SRC IPv4 DST IPv4 payload

Tunnel Endpoints payload SRC IPv6 DST IPv6 PROT rede IPv6 SRC IPv4 IPv4 rede IPv6 DST IPv4 DST IPv6 SRC IPv6

De acordo com a estratégia do IETF, a rede Internet baseada em IPv6 deverá crescer lentamente, devendo coexistir com a rede IPv4 durante muitos anos, antes que a tecnologia IPv4 se torne obsoleta e venha a ser desativada. Atualmente, não existe suporte de conectividade IPv6 em grande escala. Contudo, utilizando mecanismos de tunelamento, é possível fazer com que redes IPv6 isoladas utilizem a Internet IPv4 para se comunicarem.

O tunelamento é uma técnica genérica que consiste em colocar um pacote dentro de outro. Por exemplo, um pacote IPv6 pode ser colocado inteiramente no campo de carga de um pacote IPv4, a fim de ser transmitido pela Internet. Esse princípio é ilustrado na figura. Na parte superior da figura vemos o formato de um pacote com tunelamento. O campo "protocolo type" é utilizado para indicar que o pacote IPv4 está transportando um pacote IPv6 tunelado.

Geralmente, os endereços de origem e destino do pacote IPv6 refletem a comunicação entre as origens e destinos finais (por exemplo, os endereços do cliente e do servidor). Já os endereços IPv4 definem as extremidades dos túneis, isto é, os endereços dos

roteadores que terão a função de criar o pacote tunelado para envio, e destunelar os pacotes recebidos.

Os principais mecanismos de transição propostos pelo IETF para integrar redes IPv4 e IPv6 são baseados em tunelamento. Como veremos, existe mais de uma estratégia possível de tunelamento. As estratégias diferem quanto a forma como o túnel é criado e sua finalidade. As técnicas propostas pelo IETF adotam endereços especiais para pacotes IPv6 que precisam ser tunelados, de maneira que os túneis sejam criados de forma automática e dinâmica, numa abordagem conhecida como "sem estado" (stateless).

Edgard Jamhour

ISATAP (

Intra-Site Automatic Tunnel Addressing Protocol

)

FE80::5EFE:200.1.2.3 FE80::5EFE:60.1.2.3 IPv4 200.1.2.3 60.1.2.3 payload payload FE80::5EFE:200.1.2.3 FE80::5EFE:60.1.2.3 PROT if ISATAP if IPv4 200.1.2.3 if ISATAP if IPv4 60.1.2.3 A B

if: interface de rede

ISATAP (Intra-Site Automatic Tunnel Addressing Protocol) é um mecanismo para

atribuição automática de endereço e configuração automática de túneis que permite que hosts IPv6 isolados se comuniquem através da Internet. Para utilizar esse mecanismo, o sistema operacional do host precisa ter as duas pilhas instaladas IPv4 e IPv6.

Quando o mecanismos ISATAP é habilitado em um host que já tenha um endereço IPv4 previamente atribuído, uma interface virtual ISATAP é criada, com um endereço IPv6 automático, formatado da seguinte maneira:

FE80::5EFE:<IPv4>

O prefixo FE80::5EFE/96 é denominado "prefixo do ISATAP". Observe na figura que um host com suporte a ISATAP possui pelo menos duas interfaces. Uma interface IPv4 e outra ISATAP com endereço IPv6. Todas os pacotes direcionados para o prefixo

FE80::5EFE/96 são enviados através da interface de ISATAP, que efetua o tunelamento para a interface IPv4 do host de destino de forma automática.

Observe que quando o host A envia um pacote para o host B, sua interface ISATAP sabe como criar o túnel, pois o endereço IPv4 do destinatário está embutido no próprio

endereço IPv6.

Esse mecanismo permite que hosts com aplicações puramente IPv6 (por exemplo, um cliente e um servidor Web) se comuniquem de forma transparente através da Internet IPv4. A desvantagem desse método é que ele não provê nenhuma economia de endereços IPv4, pois todos os hosts envolvidos na comunicação precisam de um endereço IPv4 público.

Edgard Jamhour 6to4 scheme

Tunelamento 6to4

1/65535 AGGR (1/8) Reserved Allocation 0000 0000 1/256

Prefix (binary) Address SpaceFraction of

Unassigned … …

NSAP Allocation 0000 001 1/128 IPX Allocation 0000 010 1/128

Unassigned … …

Aggregatable Global Unicast Addresses 001 1/8 Unassigned … … . 1111 1110 10 1/1024 1111 1110 11 1/1024 Multicast Addresses 1111 1111 1/256 Site-Local Unicast Addresses

Link-Local Unicast Addresses

O tunelamento 6to4 é outro mecanismo de transição baseado em tunelamento proposto pelo IETF. De forma diferente do ISATAP, o mecanismo 6to4 é utilizado para conectar redes IPv6 inteiras através da Internet IPv4, ao invés de hosts isolados.

A fim de suportar esse esquema, o IETF selecionou um bloco de endereços para criação automática dos túneis 6to4. Esse bloco, denominado "esquema 6to4", é definido pelo prefixo 2002::/16. Ele corresponde a 1/8 de um bloco TLA (que tem prefixo /13), extraído do espaço de endereços unicast públicos (AGGR). Isto significa que nenhum endereço com esse prefixo poderá ser atribuído a um ISP, nem poderá ser usado como endereço público unicast de um host.

O motivo para reservar endereços de tunelamento para o mecanismo "6to4" é o mesmo do mecanismo ISATAP. Quando um host envia um pacote para outro endereço IPv6, seu sistema operacional precisa determinar se o pacote deve ser tunelado ou não. Como o prefixo 2002::/16 é reservado para tunelamento, todas as vezes que se enviar um pacote para um endereço com esse prefixo, ele será tunelado.

Um prefixo "/16" corresponde a 2112 endereços, o que é uma quantidade 280 vezes maior

do que todos os endereços da Internet atual. Essa quantidade de endereços gigantesca corresponde a apenas 1/65535 do espaço de endereços públicos disponíveis para o IPv6. Como veremos, um bloco de 280 endereços IPv6 do esquema "6to4" foi atribuído

automaticamente para cada usuário que possua um endereço IPv4 público registrado, de forma que qualquer usuário hoje está livre para participar da Internet IPv6, sem

Edgard Jamhour

Endereços 6to4

V4ADDR 2002

Interface externa do roteador que se conecta

com a Internet.

SLAID Interface

16 32 16 64

prefixo da rede ::/48 escolhido pelo usuário 80 bits

redes IPv6 "6to4" 2002:V4ADDR::/48

IPv4

V4ADDR (endereço IPv4 público)

Os endereços IPv6 do tipo "6to4" devem ser construídos conforme a figura (definido pela RFC 2529). Para ter direito a utilizar essa classe de endereços, um usuário precisa ter pelo menos um endereço IPv4 público, que é denominado V4ADDR.

Idealmente, o V4ADDR corresponde ao endereço IPv4 da interface externa do roteador, isto é, o endereço da interface que tem conexão direta com a rede IPv4. Esse conceito é ilustrado pela parte inferior da figura.

Todo o usuário detentor de um endereço IPv4 (o V4ADDR), ganha automaticamente 280

endereços públicos da classe "6to4" para serem atribuídos aos computadores de sua rede IPv6 interna. O bloco de 280 endereços é definido pelo prefixo construído da seguinte

forma:

2002:V4ADDR::/48.

Por exemplo, suponha que o endereço V4ADDR corresponde ao IP 64.1.2.3. A representação em hexadecimal desse endereço é: 4001:0203

O prefixo deve, então, ser construído da seguinte forma: 2002:4001:0203::/48

A rede do usuário pode ser criada adicionando-se livremente os 80 bits restantes ao prefixo. Como os 80 bits incluem o identificador do site (SLAID), a rede pode ser inclusive segmentada em múltiplos sites.

Observe que não há necessidade de entrar em contato com uma autoridade de registro da Internet para obter esse endereços, uma vez que sua própria construção garante que os endereços serão únicos.

Edgard Jamhour

Exemplo

redes IPv6 "6to4" 2002:4001:0203::/48

redes IPv6 "6to4" 2002:C803:0201::/48 IPv4 2 REDE A V4ADDR 64.1.2.3 = 4001:0203 1 V4ADDR 200.3.2.1 = C803:0201 REDE B 2002:4001:0203::2/48 2002:C803:0201::5/48 2002:4001:0203::2 2002:C803:0201::5 1 1 2 2 2002:4001:0203::2 2002:C803:0201::5 64.1.2.3 200.3.2.1 3 3 2002:4001:0203::2 2002:C803:0201::5

A figura ilustra como acontece uma comunicação entre duas redes IPv6, conectadas através da rede IPv4, utilizando o mecanismo de transição "6to4".

Observe que cada uma das redes foi estruturada utilizando o bloco "6to4" definido com o endereço V4ADDR do seu roteador. Como o roteador 1 da rede A possui o endereço V4ADDR=64.1.2.3 (4001:0203), a rede A possui o seguinte prefixo: 2002:4001:0203::/48. Similarmente, como o roteador 2 da rede B possui o endereço V4ADDR=200.3.2.1

(C803:0201), o prefixo da rede B é 2002:C803:0201::/48. Tanto o roteador 1 quanto o roteador 2 precisarão ter o mecanismo de transição "6to4" implementado em seu sistema operacional, para que eles sejam capazes de identificar esse tipo de endereço e efetuar as operações de tunelamento e de-tunelamento.

Os computadores A e B possuem, respectivamente, os seguintes endereços pertencentes ao prefixo "6to4" de suas redes: Computador A: 2002:4001:0203::2 e Computador B: 2002:C803:0201::5.

Quando o computador A envia uma mensagem para o computador B (indicado como passo 1 na figura), o pacote é processo primeiramente pelo seu roteador 1 (que pode ser o gateway default da rede). Ao identificar que o endereço de destino possui o prefixo 2002::/16, o roteador 1 efetua o tunelamento do pacote recebido, utilizando o endereço V4ADDR do roteador 2, extraído do endereço IPv6 de destino. O pacote tunelado é enviado diretamente ao roteador 2 (passo 2 da figura). Quando o pacote chega ao roteador 2, ele é de-tunelado e enviado para o computador B (passo 3 na figura).

Se uma rede tiver endereços "6to4" ela pode se comunicar apenas com outra rede que também tenha prefixos "6to4", mas não pode se comunicar com as demais redes IPv6 "puras". Para resolver esse problema, o IETF definiu a figura de roteadores "relay" que executam a função de ponte entre as redes "6to4" e as demais redes IPv6.

Edgard Jamhour

No documento IPv6Trans (páginas 31-36)

Documentos relacionados