Arquitetura TCP/IP - INF

Propaganda
Arquitetura TCP/IP
Parte VIII – Interconexão de redes privadas (NAT, VPN)
Fabrízzio Alphonsus A. M. N. Soares
Tópicos
●
●
●
Definições
VPN (Virtual Private Network)
NAT (Network Address Translation)
–
Tabela de tradução
Definições
●
●
Uma inter-rede (internet) é privada para um
grupo se seus recursos (sobretudo, roteadores e
enlaces) e tráfego não é acessível a outros
grupos
–
Implementação típica envolve enlaces próprios
(ou arrendados) para interligar os roteadores
–
É também conhecida como Intranet, embora
esse termo também seja usado para redes
menores
A Internet global é pública porque seus
recursos são compartilhados entre todos
Arquitetura híbrida
●
●
Parte do tráfego está
infraestrutura privada
restrito
à
Parte do tráfego flui através da Internet
global
Redes privada e pública
●
Inter-rede privada é cara
●
Internet pública é barata
●
Objetivo: combinar a segurança de uma
rede privada com o baixo custo da
Internet global
–
Pergunta: como uma organização que usa a
Internet global para conectar seus sites
mantém seus dados privados?
–
Resposta: Virtual Private Network (VPN)
Virtual Private Network (VPN)
●
●
Conecta todos os sites (de uma organização)
através da Internet global
Protege os dados enquanto eles passam de um
site para outro, usando
–
Criptografia
–
Encapsulamento IP-em-IP
Exemplos de VPN
●
VPN com endereços IP privados
Endereços privados na Internet
pública
●
●
Problema: vários equipamentos com endereços
IP privados, porém o site tem apenas um (ou
poucos) endereços IP públicos (ex.: pequeno
ISP)
Duas abordagens:
–
Gateway de aplicação (em geral, um para cada
serviço)
●
–
Exemplo: proxy web
Network Address Translation (NAT)
Network Address Translation
(NAT)
●
Economia de endereços IP públicos
●
Solução no nível IP
●
Transparente para ambas extremidades
●
Implementação
–
Geralmente em software
–
Normalmente instalado em um roteador
–
Hardware especializado é usado para obter
maior velocidade
Operação
●
●
●
Substitui o endereço IP de origem no pacote que
sai (do site)
Substitui o endereço IP de destino no pacote
que entra (no site)
Também manipula protocolos de camadas
superiores, por exemplo
–
Transporte: pseudo cabeçalho para TCP e UDP
–
Aplicação: conexão de dados do FTP
Tabela de tradução
●
●
●
Cada entrada na tabela específica uma extremidade
local (privada) e outra global
Modelo típico
–
Cada entrada é criada dinamicamente por um pacote ao
sair do site
–
Cada entrada serve para fazer o mapeamento reverso de
endereço para pacotes entrando no site
Variante mais comum de NAT usa portas de
protocolo (de transporte) na composição do índice
da tabela
–
NAPT (Network Address Port Translation)
Tabela de tradução – exemplo
IP privado
Porta
IP público
Porta
Porta NAT
Protocolo
10.0.0.10
1030
200.0.50.25
80
1501
TCP
10.0.0.11
1030
100.0.10.15
25
1520
TCP
10.0.0.11
1031
50.10.15.20
23
1510
TCP
10.0.1.12
1050
30.15.5.10
80
1515
TCP
10.0.1.12
1051
30.15.5.10
80
1517
TCP
Exemplo de um pacote saindo por NAT com o IP público 100.0.0.1:
Dados 1030 80 ... 10.0.0.10 200.0.50.25
NAT
Dados 1501 80 ... 100.0.0.1 200.0.50.25
NAT e protocolos de camadas
superiores
●
NAT necessita
–
–
–
–
–
●
Mudar cabeçalhos IP
Mudar cabeçalho TCP e UDP
● Recalcular checksum
Mudar cabeçalho ICMP (ex.: ICMP Echo Request/Redirect)
Identificar as mensagens ICMP (ex.: ICMP Redirect não deve
ser repassada, mas ICMP Host unreachable deve)
Traduzir números de porta em uma sessão FTP
Ou seja, NAT afeta TCP, UDP, ICMP e outros
protocolos de nível superior
–
Com exceção de umas poucas aplicações (como o FTP), se
houver o envio de endereço IP ou porta de transporte como
dados da aplicação, a mesma não funcionará
adequadamente através do NAT
Download