6.13.2014

IPv6 em Redes Cisco – Introdução

É há muitos anos sabido que o número de endereços IPv4 disponíveis é insuficiente face às necessidades crescentes de conectividade. O IPv4 permite 2^32 endereços (cerca de 4.29 biliões). O IPv6 permite 2^128 endereços. O número é desmesuradamente grande. De facto, com o IPv6 evita-se pensar novamente num novo esquema de endereçamento.

O formato do endereçamento IPv6 usa hexadecimal (números escritos com os algarismos [0-9] e letras [a-f]. e : para delimitar os 8 segmentos. Cada segmento tem 16 bits, sendo que 8*16= 128, o número total de bits de um endereço IPv6. Os termos “hextet” ou “quible” são por vezes usados para referir um segmento. O RFC indicado para obter informação sobre a correcta representação de endereços IPv6 é o http://tools.ietf.org/html/rfc5952

Exemplos de endereços IPv6 e características

2001:0db8:caf3:a010:bbb0:728a:4e5b:ac01
fe80:0000:0000:0000:05ef:b5a3:2ab1:54ce

Ao contrário do IPv4, decorar ou transmitir oralmente um endereço IPv6 não é de todo tão simples como no IPv4. Como tal, a correcta implementação do DNS numa arquitectura IPv6 assume uma importância acrescida.

Para além da necessidade objectiva de perceber e implementar o IPv6, convém salientar que com este novo endereçamento foram introduzidas melhorias significativas face ao IPv4. Ao contrário do IPv4 o IPsec é nativo no IPv6, com todas as implicações positivas a nível de segurança que tal implica. A mobilidade de um endereço IPv6 permite que um dispositivo transite entre várias redes sem quebras de ligação. O cabeçalho de um endereço IPv6 possui metade dos campos de um cabeçalho de um endereço IPv4 o que permite uma melhoria apreciável na capacidade de processamento por parte dos dispositivos que efectuam roteamento. O IPv6 permite igualmente múltiplos endereços para hosts e redes garantindo alta disponibilidade. Ao contrário do que sucede no IPv4, o IPv6 não tem consagrado um mecanismo de broadcast. O broadcast, como muitos administradores de redes sabem, origina problemas de ocupação ilegítima de largura de banda que muitas vezes tornam a rede inoperacional (broadcast storm).

O recurso a um endereço de broadcast obriga a que todos os hosts de uma rede processassem o pedido. Com o IPv6 a comunicação de um para muitos é feita com recurso a multicast, aumentando assim a eficiência dos recursos(o broadcast não existe em IPv6). Para além do multicast, existe o unicast que é similar ao existente no IPv4 e um tipo novo e inexistente no IPv4, o anycast que permite que um endereço exista em mais do que um host. Quando tráfego é enviado para esse endereço comum, o dispositivo mais próximo é o que o irá receber. Mais à frente voltaremos a falar de anycast com maior detalhe.

Comecemos por analisar um endereço IPv6:

2001:0db8:3c4d:0012:0000:0000:1234:56ab

Imediatamente verificamos que o endereço obedece às regras previamente mencionadas. Possui 128 bits, está dividido em 8 segmentos separados por : e recorre à numeração hexadecimal. Foram criadas algumas regras que permitem simplificar por vezes os endereços IPv6:

Os zeros iniciais de cada um dos segmentos podem ser omitidos. Assim sendo o endereço:

2001:0db8:3c4d:0012:0000:0000:1234:56ab pode ter a regra aplicada nos zeros a negrito:

2001:0db8:3c4d:0012:0000:0000:1234:56ab ficando no final da seguinte forma:

2001:db8:3c4d:12:0:0:1234:56ab

Apesar de mais pequeno, existe uma regra que permite ainda reduzir mais o número.

É permitido remover todos os zeros em segmentos contíguos. No entanto, caso exista mais do que um grupo de segmentos contíguos, apenas um deles pode ser resumido.

Aplicando a regra, o número anterior fica da seguinte maneira:

2001:db8:3c4d:12::1234:56ab

Para perceber a regra na sua totalidade observe-se agora o seguinte endereço:

2001:0000:0000:0012:0000:0000:1234:56ab

Temos 2 grupos de zeros contíguos. A versão resumida do endereço aplicando a regra é:

2001::12:0:0:1234:56ab

Note-se que 2001::12::1234:56ab não é um endereço válido! Só podemos ter um único par de “::”. Se removermos todos os conjuntos de zeros não contíguos e colocarmos mais do que um par de “::” no endereço um dispositivo que o analisasse não saberia como o preencher novamente com zeros.

Vejamos agora uma breve descrição de cada tipo de endereço IPv6:

Unicast: Pacotes endereçados para um endereço unicast são entregues apenas na interface que possui o endereço. Para efeitos de balanceamento de tráfego, duas ou mais interfaces podem ter o mesmo endereço unicast.

Saliente-se que existem vários tipos de endereços unicast. Por exemplo:

Global Unicast: endereços públicos roteáveis reconhecidos na Internet, têm os endereços públicos IPv4 como homólogos.

Link-local Unicast: São os endereços homólogos dos endereços privados no IPv4, não sendo roteáveis. Pense-se neles para serem utilizados numa pequena LAN onde exista a necessidade de partilhar ficheiros e aceder a serviços e não exista a necessidade ou possibilidade de roteamento.

Unique-local Unicast: Foram criados para não serem roteáveis tais como os link-local, mas são globalmente únicos evitando-se que alguma vez exista o risco de sobreposição.

Site-local Unicast: Tornaram-se obsoletos a partir de 2004. Foram criados para terem a mesma função dos endereços privados em IPv4, permitindo conectividade através de um site sendo roteável entre várias redes locais.

Multicast: Os pacotes endereçados para um endereço multicast são entregues em todas as interfaces identificadas com esse endereço, tal como sucede com o multicast em IPv4. Os endereços multicast são conhecidos como one-to-many (um-para-muitos). Em IPv6, os endereços multicast começam sempre com os primeiros 8 bits a 1, FF. O segundo octeto contém a flag lifetime e o escopo do endereço. Não existe um campo TTL porque o mesmo está definido no próprio endereço. Os primeiros 4 bits do segundo octeto definem o lifetime, sendo um 0 para um endereço permanente ou um 1 para um endereço multicast temporário. Os últimos 4 bits do segundo octeto definem o escopo do endereço. A tabela seguinte mostra os vários valores e os seus significados:

1

Interface ou loopback

2

Local Link

3

Local subnet

4

Admin-local, configurado administritivamente.

5

Site

8

Organizações, sites múltiplos

E

Global

Anycast: Os endereços anycast identificam várias interfaces sendo similares aos endereços multicast. Contudo, um pacote enviado para um endereço anycast é apenas entregue numa única interface, a que se encontra mais próxima em termos de distância de roteamento. São conhecidos como endereços one to one of many (um para um de muitos).

Endereços IPv6 especiais

Convêm reconhecer os endereços da tabela seguinte, pois como administrador de redes IPv6 os mesmos surgirão inevitavelmente.

0:0:0:0:0:0:0:0, ::

Homólogo do 0.0.0.0 do IPv4

0:0:0:0:0:0:0:1, ::1

Homólogo do endereço de loopback 127.0.0.1

0:0:0:0:0:0:192.168.100.1

Num ambiente misto IPv4/IPv6 podem surgir endereços com congiguração “mista”.

2000::/3

Range dos endereços Global unicast

FC00::/7

Range dos endereços Unique local

FE80::/10

Range dos endereços Link-local

FF00::/8

Range dos endereços multicast

3FFF:FFFF::/32

Reservado para exemplos e documentação

2001:0DB8::/32

Reservado para exemplos e documentação

2002::/16

Reservado para o sistema transitório 6 para 4, que permite que pacotes com endereços IPv6 possam ser transmitidos numa rede IPv4 sem a necessidade de configurar explicitamente túneis para o efeito.

Autoconfiguração

A autoconfiguração é um método criado para permitir que hosts numa rede se “auto-atribuam” endereços unicast do tipo link-local. A autoconfiguração ocorre quando uma interface obtém o prefixo do router e adiciona a esse prefixo o seu próprio endereço (Interface ID). O Interface ID é construído com base no endereço MAC. Sabendo que o Interface ID num endereço IPv6 tem 64 bits de comprimento e o endereço MAC apenas 48 bits como suprir os 16 bits em falta?

Para responder, tomemos um endereço IPv6 de um dispositivo com um endereço MAC 0060.d673.1987 que se transforma em 0260.d6FF.FE73.1987. Para já, repare-se no 2 no início do endereço. Para além da adição dos 16 bits referida, o processo (conhecido como formatação eui-64) modifica um bit para especificar se o endereço é localmente único (locally unique ) ou globalmente único (globally unique). O sétimo bit do endereço é o utilizado. Quando o valor do bit é 1 trata-se de um endereço globalmente único. Se o valor for 0 é localmente único.

0060.d673.1987 endereço MAC
ff.fe (formatação eui-64)
0060.d673.1987
0260.d6ff.fe73.1987

O processo de autoconfiguração descrito poupa tempo ao administrador no endereçamento dos hosts de uma rede, porque estes comunicam com o router durante o processo para obter o prefixo (similar ao endereço de rede no caso do IPv4) para configurar a interface. O host envia uma router solicitation (RS) requisitando o envio de informação por parte do router. O RS é enviado como um multicast para o endereço de multicast de todos os routers. A informação efectivamente enviada como um tipo de mensagem ICMP, sabendo-se que cada tipo de mensagem ICMP é identificada por um número. Uma solicitação RS é basicamente uma mensagem ICMP do tipo 133. O router responde através de uma mensagem que contem o prefixo, sendo esta um router advertisement (RA). Uma mensagem RA é também do tipo ICMP (134), multicast e é enviada para o endereço multicast all-nodes.

Este processo é chamado de stateless autoconfiguration, porque o host apenas recebe a informação do prefixo por parte do router. Fala-se em stateful autoconfiguration com DHCPv6. Observando um exemplo de configuração IPv6 no caso de um router (Cisco), deve-se começar por habilitar globalmente o protocolo:

RouterA(config)#ipv6 unicast-routing

Por defeito, em muitos equipamentos o roteamento de tráfego IPv6 não está activado por defeito. Este comando permite que o tráfego IPv6 seja encaminhado pelo router. Por defeito, o IPv6 está desactivado em todas as interfaces, e como tal, deve-se ir a cada interface que se pretenda configurar IPv6 e habilitar o protocolo. Existem vários métodos para habilitar uma interface para utilizar IPv6, sendo que o mais recorrente é configurar um endereço.

Sintaxe: ipv6 address <ipv6prefix>/<prefix-length> [eui-64]

Exemplo:RouterA(config-if)#ipv6 address 2001:db8:3c4d:1:0260.d6FF.FE73.1987/64

Conforme o exemplo, todo o endereço IPv6 de 128 bits pode ser especificado. No entanto, conforme exemplo a seguir, pode-se usar a formatação eui-64, onde o endereço MAC da interface é usado para construir o Interface ID.

Exemplo: RouterA(config-if)#ipv6 address 2001:db8:3c4d:1::/64 eui-64

Relembre-se que a interface pode ser configurada com um endereço automático do tipo link-local, algo que convenhamos não fará muito sentido num router, visto que este tipo de endereços apenas permitem comunicação na subnet a que pertencem. Para permitir que a interface de um router se auto-atribua um endereço do tipo link-local:

Exemplo: RouterA(config-if):ipv6 enable

DHCP em IPv6 – DHCPv6

O funcionamento do DHCPv6 é similar ao protocolo homólogo para IPv4. O DHCPv6 permite suprimir algumas lacunas muito importantes do processo de autoconfiguração descrito previamente. A autoconfiguração não contempla os servidores de DNS, nomes de domínio e outros parâmetros que o DHCPv6 permite. Como tal, com a implementação de IPv6 surgirá na maior parte das vezes acompanhada da implementação de um servidor DHCPv6 na rede. Em IPv4, quando um host inicia o boot, envia uma mensagem DHCP discover message (brodcast) para descobrir um servidor de DHCP na Rede. Com o IPv6, o processo RS e RA descrito sucede primeiro. Se existir um servidor de DHCPv6 na rede, a mensagem RA que é devolvida ao host informará sobre a existência de um servidor. Caso não exista nenhum router, é enviada uma mensagem de solicitação de DHCP. Esta mensagem é do tipo multicast (não há broadcast em IPv6), e é enviada para o endereço ff02::1:2 (all-DHCP agents). Existe suporte para DHCPv6 nos Routers Cisco, mas até à data como algumas limitações face a soluções mais completas como o servidor DHCPv6 das versões 2008 e 2012 do Windows Server e distribuições empresariais de Linux. Não existe gestão de endereços, e as únicas opções disponíveis são o servidor de DNS, o nome de domínio e os servidores SIP.

Exemplo de configuração DHCPv6 num router Cisco

RouterA(config)#ipv6 dhcp pool
RouterA(config-dhcp)#dns-server [endereço do servidor DNS]
RouterA(config-dhcp)#domain-name [nome do domínio]
RouterA(config-dhcp)#prefix-delegation pool[nome da pool]lifetime 3600 3600

Agora é necessário configurar uma interface para operar o servidor de DHCPv6

RouterA(config)#int fa 0/0
RouterA (config-if)#ipv6 dhcp server [nome da pool]

ICMPv6

O ICMP em IPv4 foi largamente utilizado para efeitos de troubleshoting. Ferramentas como o ping e o traceroute baseavam-se no ICMP. O ICMPv6 extende o nível de funcionalidade do ICMP, porque ao contrário do seu homólogo o ICMPv6 não é um protocolo layer 4 independente. O ICMPv6 foi incorporado no IPv6, ou seja existe um cabeçalho ICMPv6 em cada pacote IPv6. Destacam-se as seguintes funcionalidades:

  • Prevenção de fragmentação de pacotes
  • Neighbor discover
  • Multicast listener discovery

Prevenção de fragmentação de pacotes

O ICMPv6 previne a fragmentação de pacotes através de um processo chamado PMTU-D (Path maximum transmission unit discovery). Este processo permite redimensionar o tamanho dos pacotes em tráfego de maneira a que não exista fragmentação.

Neighbor Discovery

O ICMPv6 assume a tarefa de descobrir os endereços de outros dispositivos na subnet, ou no local link. Ou seja, em IPv6 não existe um protocolo homólogo para o ARP do IPv4. O processo chama-se Neighbor discovery, e é utilizado um endereço multicast conhecido como o solicited node address. Todos os hosts juntam-se a esse grupo de multicast que se ligam à subnet. Com o ARP, quando um host necessitava de saber o endereço MAC de outro dispositivo, enviava um broadcast com o endereço IP ao qual o host respondia com o respectivo MAC. Em IPv6, é enviada uma discover message do tipo multicast e o host responde com o respectivo MAC. O solicited node adress é o FF02:0:0:0:0:1:FF/104. O remetente adiciona parte do seu endereço IPv6 ( os 24 bits mais à direita) do endereço do host desconhecido no fim do endereço multicast. Quando o endereço é requerido, o host correspondente devolve o MAC. Um dispositivo pode usar este processo para encontrar outros routers e manter uma lista dos hosts vizinhos. As mensagens RA e RS que foram já mencionadas são funções do ICMPv6 e do Neigbhor discovery em particular.

Multicast Listener Discovery

No IPv4, o protocol IGMP era utilizado por um host para informar o router local que se ia juntar a um grupo de multicast e que pretendia receber tráfego direccionado a esse grupo. O IGMP foi incorporado no ICMPv6 e deixa de existir. O processo que substitui as funções do IGMP é o Multicast Listener Discovery.

Protocolos de Roteamento em IPv6

Os protocolos de roteamento mantêm-se idênticos nas versões IPv6, assumindo contudo novos nomes e algumas pequenas alterações. Obviamente, os protocolos que usavam broadcast em IPv4 usam multicast nas versões em IPv6. O RIP passa a designar-se RIP next generation ou RIPng, o EIGRP passa a EIGRPv6 e o OSPF passa a OSPFv3 (adoptou-se v3 e não v6 por ser a evolução do v2, a última versão do protocolo para IPv4).

RIPng

As principais características do RIPng são similares às existentes no RIPv2. Mantém-se como um protocolo distant vector, máximo de 15 saltos, usa igualmente split horizon e poison reverse. Utiliza agora a porta UDP 521. Usa igualmente multicast para emitir os updates, com recurso ao endereço FF02::9 (o endereço de multicast do RIP é 224.0.0.9). Existem contudo algumas diferenças importantes na nova versão. Como é sabido, para enviar dados, os routers guardam os endereços das rotas vizinhas com destino para determinadas redes (next-hop address). No RIPng, os routers usam um endereço link-local para o next-hop address ao invés de um global address como sucede com o RIP. Um das mudanças mais notórias é o modo de configuração. Com o RIPng o protocolo é habilitado na interface e não no modo de configuração global como sucede com O RIP.

RouterA(config-if)# ipv6 rip 1 enable

O 1 no comando é a tag que identifica o processo. Caso seja necessário uma configuração mais granular do protocolo usa-se essa tag para aceder à configuração, então no modo de configuração global, conforme indicado:

RouterA(config)#ipv6 router rip 1

RouterA(config-rtr)#

EIGRPv6

Muitas das características do EIGRPv6 foram importadas do EIGRP. Mantem-se como um protocol distance vector com algumas características dos protocolos link state. O processo neighbor discovery é feito com recurso a hellos, rápida convergência com recurso ao algoritmo DUAL (Diffused Update ALgorithm), entre outras semelhanças. O endereço para multicast do EIGRPv6 é o FF02::A (em EIGRP é o 224.0.0.10).
Para configurar o EIGRPv6, o protocolo tem que ser habilitado no modo de configuração global. A rede e a interface são configuradas na interface tal como sucede com o RIPng.

RouterA(config)#ipv6 router eigrp 10

O 10 é neste caso o número do AS - Autonomous system.

RouterA(config-rtr)#no shutdown

RouterA(config-if)#ipv6 eigrp 10

Outras configurações, como a redistribuição, podem ser configuradas no modo de configuração global.

OSPFv3

Os aspectos fundamentais do protocolo mantêm-se. Trata-se na mesma de um protocolo link-state que divide uma rede alargada ou autonomous systems em áreas, criando uma hierarquia. Contudo, no OSPFv2 o router ID era determinado através de um dos endereços IP atríbuidos ao router ( ou um ID administrativamente configurado). No OSPFv3 é mandatório configurar administrativamente o ID. O RID, o area ID e o link state ID são ainda valores de 32 bits, mas deixaram de ser representados com recurso a endereços IP, visto que os endereços IPv6 usam 128 bits. A mudança na forma como os valores são atribuídos juntamente com a remoção dos endereços IP dos cabeçalhos dos pacotes OSPF tornam a nova versão capaz de proporcionar roteamento em praticamente todas as camadas protocolares. Adjacências e atributos next-hop usam agora endereços link-local. O OSPFv3 continua a recorrer a tráfego multicast para envio de updates e acknowledgements. Os endereços são agora FF02::5 para routers OSPF e FF02::6 para routers designated. (substituem os endereços OSPFv2 224.0.0.5 e 224.0.0.6 respectivamente). O OSPFv2 possibilita que se definam quais as redes e as interfaces que devem ser incluídas no processo através do modo de configuração global. No OSPFv3, como noutros protocolos de roteamento que usam IPv6 as configurações são feitas na interface.
Uma configuração básica do OSPFv3:

RouterA# ipv6 router osfp 10
RouterA(config-rtr)#router-id 1.1.1.1

Outras configurações, como sumarização e redistribuição, podem ser feitas pelo modo de configuração global. No entanto, esta configuração não é necessária caso se recorra à interface. Ou seja, quando se termina a configuração na interface o processo de roteamento é adicionado automaticamente.

RouterA (config-if)#ipv6 ospf 10 area 0.0.0.0

Quando se configure o OSPFv3 numa interface, a interface é adicionada ao processo de roteamento. Todos os IPs configurados nessa interface fazem de imediato parte do processo. Não é possível adicionar um endereço específico ou prevenir que um endereço existente faça parte do processo.

Interoperabilidade entre IPv6 e IPv4

Neste momento, já conhecemos o protocolo IPv6 e temos noções básicas de configuração de endereços IPv6 e protocolos de roteamento. Mas qual será efectivamente o trabalho e respectivos custos na migração de IPv4 para IPv6? Em termos de custos, depende da infra-estrutura que existe. Será necessário verificar se os routers e switches da rede são compatíveis com o IPv6. Será necessário analisar os sistemas operativos e testar as aplicações críticas que existam antes de efectuar a migração. No enanto, relembre-se que há muitos anos que os sistemas operativos mais comuns e as aplicações comerciais mais utilizadas têm suporte para IPv6. Até o finado Windows XP tem suporte para IPv6. Contudo, numa organização de dimensão apreciável o processo de migração deve ser faseado e controlado. Para tal, existem estratégias de implementação do IPv6 que permitem a coabitação com o IPv4. As mais recomendadas e documentadas são o Dual stacking que permite que um dispositivo tenha em simultâneo o processo IPv4 e o processo IPv6 permitindo a coexistência dos dois protocolos na rede. O 6t04 tunneling é útil quando se tem uma rede IPv6 que tem que comunicar com outra rede IPv6 através de uma rede IPv4. Por fim, destaca-se o NAT-PT (Network address translation-protocol), que não deve ser confundido com o NAT convencional que efectua tradução de endereços públicos para endereços privados. O NAT-PT efectua a tradução de endereços IPv6 para endereços IPv4.

Dual Stacking

O Dual Stacking é a estratégia de migração mais usada pois permite que os dispositivos de uma rede comuniquem utilizando IPv4 ou IPv6. Esta estratégia permite o upgrade individualizado de aplicações e dispositivos. Quando todos os constituintes da rede estiverem a utilizar IPv6, o protocolo IPv4 poderá ser removido. A configuração de Dual Stacking num router Cisco consiste apenas em adicionar configurações IPv6 às IPv4 existentes.

Habilitar globalmente o IPv6

RouterA(config)# ipv6 unicast-routing

Configurar endereço na interface

RouterA (config)#interface fastethernet 0/0

RouterA (config-if)#ipv6 address 2001:db8:3c4d:1::/64 eui-64

Tunneling

O Tunneling é útil para transportar tráfego IPv6 através de uma rede IPv4. Podem ser usadas duas estratégias para criar este tipo de solução: O tunneling manual e o tunneling 6t04. Nalguns casos, existirão subnets IPv6 ou partes da rede que já são todas IPv6 e porventura existirá ou surgirá a necessidade de comunicarem com outras redes. O tráfego poderá ter que passar por um link WAN ou por outra rede cuja configuração não controlamos. Exactamente para dar uma resposta a estas situações é que foi criado o tunneling que permite que o tráfego IPv6 atravesse uma rede IPv4.

Tunneling manual

A estratégia consiste em encapsular os pacotes IPv6 em pacotes IPv4, colocá-los numa das extremidades do túnel e após percorrerem a porção IPv4 do caminho, esses pacotes são descapsulados.

Antes de iniciarmos a configuração, devemos obviamente assegurar que os 2 routers estão configurados com Dual Stacking. A configuração é simples pois basta basicamente indicar a origem e o destino do túnel em ambos os equipamentos.

RouterA(config)#int tunnel 0

RouterA(config-if)#ipv6 address 2001:db8:1:1::1/64

RouterA (config-if)#tunnel source 192.168.30.1

RouterA (config-if)#tunnel destination 192.168.40.1

RouterA (config-if)#tunnel mode ipv6ip

RouterB(config)#int tunnel 0

RouterB (config-if)#ipv6 address 2001:db8:2:2::1/64

RouterB (config-if)#tunnel source 192.168.40.1

RouterB (config-if)#tunnel destination 192.168.30.1

RouterB (config-if)#tunnel mode ipv6ip

6t04 tunneling

O segundo método de tunneling é o 6t04. Este método cria automaticamente uma ligação entre redes IPv6 que se encontram separadas por uma rede IPv4. O método de tunneling 6t04 cria um prefixo IPv6 automaticamente para cada uma das redes IPv6. Este método torna o deployment do IPv6 mais rápido porque os endereços não necessitam de ser obtidos com recurso a um ISP. É necessário verificar se os routers onde se pretende configurar o tunneling suportam o método 6t04. Para os restantes dispositivos da rede, o processo é totalmente transparente. Cada site 6t04 recebe um prefixo de /48 bits que é constituído por duas partes 0x2002 e a parte em hexadecimal do endereço IPv4 do edge router.

Muito importante, se a rede IPv4 tiver um ponto em que exista NAT o 6t04 não vai funcionar, visto que o túnel ou não se forma ou cairá sistematicamente. Existe uma maneira de contornar esta situação, chamado Teredo. O Teredo permite que o tráfego alusivo ao túnel seja encapsulado em pacotes UDP o que leva a que a existência de NAT deixe de ser um problema.

NAT-PT

Uma das maiores mudanças com a introdução do IPv6 prende-se com o abandono do NAT, que deixa de ser contemplado. Contudo, em situações de migração em que o protocolo IPv4 ainda esteja a ser utilizado, poderá ser necessário o NAT-PT (Network Address Translation), devendo no entanto ser encarado com o último recurso para que hosts IPv4 e IPv6 possam comunicar. Deve ser sempre usada os métodos de tunneling descritos previamente.

Tal como no NAT, existem alguns tipos de NAT-PT a considerar:

  • Static-PT: mapeamento um-para-um de um endereço IPv4 para um endereço IPv6 (similar ao static NAT).
  • Dynamic NAT-PT: é usada uma pool de endereços IPv4 que providenciam um mapeamento um-para-um com um endereço IPv6.
  • NAPT-PT: providencia um mapeamento um-para muitos de múltiplos endereços IPv6 para um único endereço IPv4 e um número de porta.

Fonte: Cisco Advanced Network Professionals - Patrick Colan, Sybex