Network Address Translation
Consiste em re-escrever os endereços de IP de origem de um pacote que passam pelo roteador ou firewall de maneira que um dispositivo de uma rede interna, tenha acesso à rede externa.
Como funciona?
É realizado um mapeamento baseado no IP interno e na porta local do dispositivo. Com esses dados o NAT gera um número de 16 bits utilizando uma tabela hash este número é então escrito no campo da porta de origem. O pacote é enviado para fora da rede rumo ao destinatário que agora saberá pra onde enviar a resposta.
Quando o router recebe a resposta, ele faz a operação inversa, procurando em sua tabela uma entrada correspondente ao destino e encontrando o dispositivo correto que receberá a resposta dentro da rede privada.