NAT: Network Address Translation
Todos os datagramas que saiam de uma rede local teem o mesmo NAT IP address, mas números de porta diferentes
Implementação
Datagramas enviados, é substituído IP origem e porta pelo NAT IP e a nova porta.
Registar na Tabela de Tradução NAT cada IP origem e porta e o par de traduções.
Datagramas recebidos, são substituídos o NAT IP e porta pelo IP origem e porta originais
Motivação
Redes locais usam só um IP visível ao exterior
Vantagens
Gama de IP necessários baixo: só um ou pouco servirão para todo os dispositivos
Dispositivos podem mudar de IP interno sem afetar o exterior e vice-versa
Os dispositivos na rede local não estão vulneráveis ao exterior
Pode existir mais que um IP público disponível para atribuição
O número da porta é expresso em 16 bits
Exemplo prático
Host: 10.0.0.1
Porta no host: 3345
Router (LAN side): 10.0.04
Router (WAN side): 138.76.29.7
Sequência de eventos:
Host envia um datagrama para 128.119.40.186, 80
O NAT Router muda o endereço origem de 10.0.0.1 para 138.76.29.7, 5001 e coloca na coluna WAN da NAT translation table esse endereço associado ao 10.0.0.1, 3345 na coluna LAN
A resposta chega ao Router com destino de 138.76.29.7, 5001
O Router procura na NAT Translation Table o endereço LAN correspondente e envia para ele a resposta
Problema
Um cliente quer ligar ao servidor 10.0.0.1, enfrenta dois problemas:
O endereço 10.0.0.1 é local, não estando visível ao exterior
O único endereço visível do exterior é o endereço do NAT: 128.76.29.7
1º Solução
Configurar de forma estática o NAT para reencaminhar qualquer conexão recebida por uma dada porta para o servidor
2º Solução
Universal Plug and Play Internet Gateway Device Protocol, permite host com NAT:
Aplicação no host com NAT pede um mapeamento entre um IP e porta público e um privado
A mesma aplicação publicita publicamente esse IP e porta públicos
3º Solução
Relaying
Conexão a um relay iniciada pelo host com NAT
Conexão a um relay iniciada pelo cliente
O relay vai fazer a transferência de pacotes entre as duas conexões
Last updated