O conceito de NAT é sempre alvo de discussões devido às questões de segurança que advêm da utilização desta técnica mas também, nos últimos tempos, devido ao “pressing” no uso do IPv6.
Sabendo que os IPs públicos (IPv4) são um recurso limitado e atualmente escasso, o NAT tem como objectivo poupar o espaço de endereçamento público, recorrendo a IPs privados.
Os endereços públicos são geridos por uma entidade reguladora, são pagos, e permitem identificar univocamente uma máquina (PC, routers, etc) na Internet.
Por outro lado, os endereços privados apenas fazem sentido num domínio local e não são conhecidos (encaminháveis) na Internet, sendo que uma máquina configurada com um IP privado terá de sair para a Internet através de um IP público.
A tradução de um endereço privado num endereço público é definido como NAT e está documentado no RFC 1631.
Existem 3 tipos de NAT
- NAT Estático– Um endereço privado é traduzido num endereço público.
- NAT Dinâmico –Existe um conjunto de endereços públicos (pool), que as máquinas que usam endereços privados podem usar.
- NAT Overload (PAT) –Esta é certamente a técnica mais usada. Um exemplo de PAT é quando temos um endereço público e por ele conseguimos fazer sair várias máquinas (1:N). Este processo é conseguido, uma vez que o equipamento que faz PAT utiliza portas que identificam univocamente cada pedido das máquinas locais (ex: 217.1.10.1:53221, 217.1.10.1:53220, etc) para o exterior.
O PAT é a técnica presente na maioria dos equipamentos de rede que usamos. Considerando, por exemplo, um router Wi-Fi, é possível ligarmos/associarmos vários clientes a esse equipamento e estes são configurados (ou adquirem) um endereço privado. No entanto, todos eles podem ter acesso à Internet através de um único endereço público. Como já referido, tal é possível porque a técnica de NAT, recorre a portos lógicos para distinguir os pedidos das máquinas internas. Na prática, existem 65536 portas, no entanto, por norma apenas são usados os portos dinâmicos (de 49152 a 65535).