Saltar para o conteúdo

Network address translation: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
Nallimbot (discussão | contribs)
Linha 68: Linha 68:
[[tr:NAT]]
[[tr:NAT]]
[[uk:NAT]]
[[uk:NAT]]
[[zh:网络地址转换]]
[[zh:网络地址转换]]piru

Revisão das 14h13min de 13 de novembro de 2008

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 (rede pública).

Explicação

Com o surgimento das redes privadas com internet partilhada, surgiu o problema de como os computadores pertencentes à esta rede privada poderiam receber as respostas aos seus pedidos feitos para fora da rede.

Por se tratar de uma rede privada, os números de IP interno da rede (10/8, 172.16/12 e 192.168/16) nunca poderiam ser passados para a internet pois não existem e o computador que recebesse um pedido com um desses números não saberia para onde enviar a resposta. Sendo assim, os pedidos teriam de ser gerados com um IP global do router. Mas quando a resposta chegasse ao router, seria preciso saber a qual dos computadores presentes na LAN pertencia aquela resposta.

A solução encontrada foi fazer um mapeamento baseado no IP interno e na porta local do computador. Com esses dois dados o NAT gera um número de 16 bits usando a tabela hash, este número é então escrito no campo da porta de origem.

O pacote enviado para fora leva o IP global do router e na porta de destino o número gerado pelo NAT. Desta forma o computador que receber o pedido sabe para onde tem de enviar a resposta. Quando o router recebe a resposta faz a operação inversa, procurando na sua tabela uma entrada que corresponda aos bits do campo da porta. Ao encontrar a entrada, é feita o direcionamento para o computador correto dentro da rede privada.

Esta foi uma medida de reação face à previsão da exaustão do espaço de endereçamento IP, e rapidamente adaptada para redes privadas também por questões econômicas (no início da Internet os endereços IP alugavam-se, quer individualmente quer por classes/grupos).

Um computador atrás de um router gateway NAT tem um endereço IP dentro de uma gama especial, própria para redes internas. Como tal, ao aceder ao exterior, o gateway seria capaz de encaminhar os seus pacotes para o destino, embora a resposta nunca chegasse, uma vez que os routers entre a comunicação não saberiam reencaminhar a resposta (imagine-se que um desses routers estava incluído em outra rede privada que, por ventura, usava o mesmo espaço de endereçamento). Duas situações poderiam ocorrer: ou o pacote seria indefinidamente1 reencaminhado, ou seria encaminhado para uma rede errada e descartado.

1 na verdade, existe um tempo de vida para os pacotes IP serem reencaminhados (ver TTL)

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 até 65535 conexões activas. Dependendo das dimensões da rede e do número de pedidos feitos pelos computadores desta rede, o limite de 65535 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 encontrá 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.

Ver também

Ligações externas