26 de ago. de 2013

O que é o NAT - Network address translation

Em redes de computadores, NAT, Network Address Translation, também conhecido como masquerading é uma técnica que consiste em reescrever os endereços IP de origem de um pacote que passam por um router ou firewall de maneira que um computador de uma rede interna tenha acesso ao exterior ou Rede Mundial de Computadores.


Sabendo que os IP’s públicos (IPv4) são um recurso limitado e atualmente escasso, o NAT tem como objetivo poupar o espaço de endereçamento público, recorrendo a IP’s 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 é então definido como NAT e está definido 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 1 único 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 WiFi. É 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 às portas para distinguir os pedidos das máquinas internas. Na prática existem 65536 portas, no entanto por norma apenas são usadas as portas dinâmicas (de 49152 a 65535).



Limitações:
Por reconhecer apenas os protocolos TCP e UDP, não é possível estabelecer uma conexão que não utilize um desses protocolos.



O número gerado pela tabela de hash tem apenas 16 bits, o que faz com que esta técnica permita apenas 65505 conexões ativas. Dependendo das dimensões da rede e do número de pedidos feitos pelos computadores desta rede, o limite de 65505 pode ser facilmente atingido.



Vantagens
 
As entradas no NAT são geradas apenas por pedidos dos computadores de dentro da rede privada. Sendo assim, um pacote que chega ao router vindo de fora e que não tenha sido gerado em resposta a um pedido da rede, ele não encontrará nenhuma entrada no NAT e este pacote será automaticamente descartado, não sendo entregue a nenhum computador da rede. Isso impossibilita a entrada de conexões indesejadas e o NAT acaba funcionando como uma firewall.

Nenhum comentário: