Prof. Jéfer Dörr

Prof. Jéfer Benedett Dörr

./redes_computadores/aula7

UFPR
LicComp

IPv6: Formato & Tipos

Motivações & Estrutura de Endereço

Por que IPv6?

  • Escassez de IPv4 → espaço 128 bits (3,4×10³⁸ endereços)
  • Melhorias: auto-configuração, QoS, segurança nativa (IPsec)

Formato de um Endereço IPv6

8 blocos hexadecimais de 16 bits, separados por “:”, ex:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

Tipos de Endereço

  • Unicast Global: roteável publicamente
  • Link-Local: fe80::/10, alcance na sub-rede
  • Unique Local: fc00::/7, similar a RFC1918
  • Multicast: ff00::/8, grupos

Transição IPv6

Dual-Stack, NAT64

Dual-Stack

Execução simultânea de IPv4 e IPv6 em hosts e roteadores.

NAT64

Tradução de IPv6 ↔ IPv4 para comunicação entre você e servidores IPv4.

nat64_example.txt
# Exemplo de pool NAT64 no Cisco IOS
ipv6 nat64 prefix stateful 64:ff9b::/96
ipv6 nat64 v4 pool POOL1 192.0.2.10 192.0.2.20 prefix 64:ff9b::/96

NAT

Static, Dynamic & PAT (L3↔L4)

Tipos de NAT

  • Static NAT: 1:1 IPv4 interna↔externa
  • Dynamic NAT: pool público, 1:1 temporário
  • PAT: múltiplas internas compartilham 1 IP público via portas
nat_config.txt
interface Gig0/0
ip nat inside
interface Gig0/1
ip nat outside
ip nat inside source list 10 pool PUBLIC_POOL overload

(NAT opera entre Camada 3 e 4 do OSI)

MPLS

Layer 2.5 & Label Switching

O que é MPLS?

Multiprotocol Label Switching – encaminhamento por rótulo, não por IP.

Benefícios

  • Comutação rápida (L2.5)
  • VPNs, engenharia de tráfego, QoS
mpls_labels.txt
show mpls forwarding-table
Label Pop Push Next Hop

Tunelamento

GRE, IPsec (L3) & L2TP, PPTP (L2)

Protocolos de Tunelamento

  • GRE, IPsec: encapsulamento na Camada 3
  • L2TP, PPTP: encapsulamento na Camada 2

Exemplo: 6in4 (IPv6 sobre IPv4)

6in4_setup.sh
ip tunnel add tun6in4 mode sit remote 198.51.100.1 local 203.0.113.10
ip link set tun6in4 up
ip addr add 2001:db8::2/64 dev tun6in4

Leitura Recomendada: Kurose §4.4.4; Tanenbaum §5.6.8.

Atividade Prática

Leitura IPv6 & Simulação NAT

Parte 1: IPv6

  1. Liste em um arquivo 5 endereços IPv6 e classifique cada um (global, link-local, ULA).
  2. Para cada, identifique o prefixo de sub-rede /64 e o intervalo de hosts.

Parte 2: Packet Tracer

  1. Monte um pequeno AS com 1 roteador e 2 LANs IPv4.
  2. Implemente NAT PAT conforme Slide 3.
  3. Teste: ping de host interno para Internet simulada.
Redes de Computadores – Aula 7: IPv6, NAT, MPLS & Tunelamento
Prof. Jéfer Dörr

Prof. Jéfer Benedett Dörr

./redes_computadores/aula7

UFPR
LicComp

IPv6: Formato & Tipos

Motivações & Estrutura de Endereço

Por que IPv6?

  • Exaustão do IPv4: 4.3B endereços vs 340 undecilhões (IPv6)
  • Eficiência: Cabeçalho simplificado (40 bytes fixos)
  • Segurança nativa: IPsec integrado
  • Auto-configuração: Protocolo SLAAC

Estrutura do Endereço

IPv6 Address
$ 2001:0db8:85a3::8a2e:0370:7334
  • 8 grupos hexadecimais de 16 bits
  • Compressão: :0000:::
  • Omite zeros: 0db8db8

Tipos de Endereço

🌐 Unicast Global

2000::/3
Endereços públicos roteáveis globalmente

🔗 Link-Local

fe80::/10
Comunicação local (auto-configurado via MAC)

🏠 Unique Local

fc00::/7
Equivalentes aos privados do IPv4 (RFC1918)

Dica: IPv6 elimina broadcasts - usa multicast específico (ex: ff02::1 para todos hosts locais)
📢

Diferença Chave: Broadcast vs Multicast

IPv6 eliminou broadcasts tradicionais, substituindo por multicast direcionado. Exemplo: ff02::1 alcança todos os hosts na rede local, enquanto ff02::2 atinge apenas roteadores.

Transição IPv6

Estratégias de Migração Gradual

Dual-Stack

  • Pilha dupla em todos os dispositivos
  • Suporte simultâneo a IPv4 e IPv6
  • DNS retorna ambos os endereços (AAAA e A)
Linux Dual-Stack
$ ip -6 addr show
inet6 2001:db8::1/64 scope global
$ ip -4 addr show
inet 192.168.1.10/24

NAT64/DNS64

  • Gateway de tradução IPv6→IPv4
  • DNS64 sintetiza registros AAAA a partir de A
  • Prefixo bem conhecido: 64:ff9b::/96
Cisco NAT64
# ipv6 nat64 prefix stateful 64:ff9b::/96
# ipv6 nat64 v4 pool POOL1 192.0.2.10 192.0.2.20
# ipv6 nat64 enable

⚠ Cuidado: Algumas aplicações podem quebrar (ex: IP literais em URLs)

🔌

Tunelamento (Plano B)

  • 6to4: Prefixo 2002::/16 + IPv4 público
  • Teredo: Para hosts atrás de NAT
  • ISATAP: Tunelamento intra-rede

NAT

Static, Dynamic & PAT (L3↔L4)

O que é NAT?

Network Address Translation (NAT) permite que dispositivos com endereços IPv4 privados comuniquem-se na Internet usando um ou mais endereços públicos. Atua entre as camadas de Rede (3) e Transporte (4) do modelo OSI, reescrevendo IPs e, no caso de PAT, portas TCP/UDP.

Tipos de NAT

ModoDescriçãoMapping
Static Endereço privado ↔ endereço público fixo 1:1 permanente
Dynamic Pool de IPs públicos, mapeia priv. conforme demanda 1:1 temporário
PAT (Overload) Múltiplos endereços privados compartilham um público via portas N:1 usando números de porta

Fluxo de Tradução (PAT)

Diagrama de Fluxo
[10.0.0.10:34567]───→Router NAT───→[200.0.0.1:40000]
↑ traduz IP privado:porta → público:porta única

[10.0.0.20:12345]───→Router NAT───→[200.0.0.1:40001]
↑ cada sessão usa porta distinta no NAT

Configuração Cisco IOS (Exemplo PAT)

nat_config.txt
! define lista de endereços privados
access-list 10 permit 10.0.0.0 0.0.0.255

! marca interfaces inside/outside
interface Gig0/0
ip nat inside
interface Gig0/1
ip nat outside

! cria pool público (não usado no PAT, mas ilustrativo)
ip nat pool PUB_POOL 200.0.0.1 200.0.0.5 netmask 255.255.255.248

! ativa PAT usando lista 10 e pool PUB_POOL
ip nat inside source list 10 pool PUB_POOL overload

info Nota sobre PAT

O PAT (Port Address Translation), também chamado de NAT Overload, é apenas uma variante do Dynamic NAT. Enquanto o Dynamic NAT mapeia cada IP privado para um IP público do pool (1:1), o PAT permite que **várias** máquinas internas compartilhem **um único** endereço IP público, diferenciando-se pelas portas TCP/UDP. Assim, o PAT opera entre as Camadas 3 e 4 do modelo OSI, traduzindo não só endereços IP mas também números de porta.

Vantagens e Limitações

  • Vantagens: economiza endereços IPv4, oculta estrutura interna, fácil de configurar.
  • Limitações: quebra “end-to-end” (impede conexões iniciadas de fora), complica aplicações P2P, estado mantido no NAT.

Atividade Prática

Em Packet Tracer, monte duas redes privadas (10.0.0.0/24 e 10.0.1.0/24), configure o roteador com PAT e teste acesso à Internet simulada (navegar em um servidor Web público).

MPLS

Layer 2.5 & Label Switching

O que é MPLS?

Multiprotocol Label Switching (MPLS) é uma tecnologia de comutação de pacotes que utiliza rótulos (labels) ao invés de endereços IP para encaminhar tráfego, proporcionando alta velocidade e flexibilidade.

layers Por que “Layer 2.5”?

O MPLS situa-se entre as camadas de Enlace (L2) e Rede (L3): • usa labels na fronteira L2, mas mantém lógica de roteamento L3.

Principais Componentes

  • Label: 20 bits identificando o caminho (LSP)
  • LFIB: Tabela de comutação de labels em cada LSR
  • LDP/RSVP-TE: Protocolos para distribuir labels e sinalizar caminhos
  • LSP (Label Switched Path): Caminho um-a-um definido por rótulos

Benefícios

  • Encaminhamento ultrarrápido (lookup por label)
  • Suporte a VPNs MPLS, engenharia de tráfego e QoS diferenciada
  • Integração multimodal (IPv4, IPv6, ATM, Frame Relay)

Exemplos de Comandos (Cisco IOS)

mpls_show.txt
Router# show mpls forwarding-table
Label Pop Push Next Hop
----- --- ---- -----------
100 128 — Gig0/1 10.0.0.2
128 pop 200 Gig0/2 10.0.0.3

Configuração Básica

mpls_config.txt
Router(config)# mpls ip
Router(config)# interface Gig0/0
Router(config-if)# mpls ip
Router(config-if)# exit
Router(config)# mpls label protocol ldp

help_outline Como ler esta tabela

  • Label: rótulo que o roteador espera receber no pacote.
  • Pop: rótulo que será removido (pop). Se for um número, indica um swap de label; “pop” significa descartar e usar o próximo protocolo (e.g., IPv4).
  • Push: rótulo que será adicionado (push) antes de encaminhar o pacote.
  • Next Hop: interface e endereço do próximo salto na LSP (Label Switched Path).

Na primeira linha, um pacote com label 100 tem seu rótulo trocado para 128 e sai pela interface Gig0/1 em direção a 10.0.0.2. Na segunda linha, o rótulo 128 é descartado (“pop”) e um novo rótulo 200 é empilhado, enviando pela Gig0/2 a 10.0.0.3.

Atividade Prática

Em um laboratório no Packet Tracer ou GNS3, habilite MPLS em três LSRs em cadeia:

  1. Ative MPLS e LDP em cada roteador.
  2. Verifique a tabela LFIB com show mpls forwarding-table.
  3. Analise o comportamento de comutação de labels usando tráfego ICMP.

Tunelamento

GRE, IPsec (L3) & L2TP, PPTP (L2)

O que é Tunelamento?

Encapsulamento de pacotes de um protocolo dentro de outro, criando um “túnel” lógico através de uma rede intermediária.

layers Mapeamento no OSI

  • Camada 3 (Rede): GRE, IPsec — encapsulam pacotes IP em IP.
  • Camada 2 (Enlace): L2TP, PPTP — transportam quadros Ethernet/PPP.

Protocolos Comuns

  • GRE (Generic Routing Encapsulation): simples, sem criptografia, usado para criar VPNs ponto-a-ponto.
  • IPsec: seguro, com autenticação e criptografia nativas, normalmente em modo túnel para redes privadas.
  • L2TP (Layer 2 Tunneling Protocol): geralmente combinado com IPsec para VPNs, transporte de PPP.
  • PPTP (Point-to-Point Tunneling Protocol): legado, fácil de configurar, mas sem segurança forte.

Exemplo Prático: 6in4 (IPv6 sobre IPv4)

Cria um túnel SIT para transportar IPv6 através da Internet IPv4.

6in4_setup.sh
# 1. Criar o túnel SIT
ip tunnel add tun6in4 mode sit remote 198.51.100.1 local 203.0.113.10
# 2. Ativar a interface
ip link set tun6in4 up
# 3. Atribuir o endereço IPv6
ip addr add 2001:db8::2/64 dev tun6in4

help_outline Como funciona?

  • O kernel encapsula cada pacote IPv6 em um cabeçalho IPv4.
  • O roteador remoto “decapsula” e entrega o IPv6 ao destino final.
  • Útil para conectar redes IPv6 através da infraestrutura IPv4.

Atividade Prática

Em uma máquina Linux:

  1. Substitua remote e local pelos seus IPs públicos.
  2. Execute o script e verifique com ping6 para um host IPv6 remoto.
  3. Use ip -6 route para inspecionar a rota via túnel.

Atividade Prática

Leitura IPv6 & Simulação NAT

Parte 1: Leitura de Endereços IPv6

Em um arquivo de texto, liste 5 endereços IPv6 distintos e classifique-os:

  1. Global Unicast (2000::/3)
  2. Link-Local (fe80::/10)
  3. ULA (fc00::/7)
  4. … e mais dois à sua escolha.

Para cada um, determine:

  • Prefixo /64 (ex: 2001:db8:acad:1::/64)
  • Intervalo de hosts válidos (da primeira até a última interface identifier)

Parte 2: Simulação de NAT PAT no Packet Tracer

Monte um AS simples com um roteador e duas LANs IPv4 internas:

  1. R1 G0/0 → LAN A (192.168.10.0/24)
  2. R1 G0/1 → LAN B (192.168.20.0/24)
  3. R1 S0/0 → Internet (faixa pública)
  4. Implemente PAT para que ambos os LANs compartilhem um único IP público.
  5. Teste com ping de um host interno até um host “externo”.