Network Address Translation - NAT

Novembro 2017

Qual é o princípio do NAT

O mecanismo de tradução de endereços (NAT - Network Address Translation) foi criado para resolver a situação da pouca oferta de endereços IP com o protocolo IPv4 (o protocolo IPv6 responderá a este problema).

Na realidade, em endereçamento IPv4, a quantidade de endereços IP roteáveis (que são os únicos no mundo) não é suficiente para permitir que todos os computadores que o requerem estejam conectados à Internet.

Por isso, o princípio de NAT consiste em utilizar uma ponte estreita de conexão à Internet, possuindo, pelo menos, uma interface de rede conectada à rede interna e, pelo menos, uma interface de rede conectada à Internet (com um endereço roteável) para poder conectar todos os computadores da rede:



Trata-se de realizar, na ponte estreita, uma tradução dos pacotes provenientes da rede interna para a rede externa.

Por que habilitar o NAT

Os computadores da rede que precisam acessar a Internet são configurados para utilizar a ponte estreita NAT especificando o endereço IP da mesma no campo gateway (passarela) com seus parâmetros TCP/IP. Quando uma máquina da rede envia um pedido à Internet, a passarela faz a solicitação em seu lugar, recebe a resposta e transmite-a ao computador que fez a pesquisa:


Já que a passarela camufla completamente o endereçamento interno de uma rede, o mecanismo para realizar a tradução de endereços garante uma função de proteção. É assim que, para um observador externo à rede, todos os pedidos parecem vir do endereço IP da ponte estreita.

O que são os espaços de endereçamento

O organismo que gerencia o espaço de endereçamento público (endereços IP roteáveis) é a IANA (Internet Assigned Number Authority). O RFC 1918 define o que é um espaço de endereçamento privado permitindo a qualquer organização atribuir endereços IP aos computadores da sua rede interna sem correr o risco de provocar um conflito com um endereço IP público atribuído pelo IANA. Estes endereços, ditos não roteáveis, correspondem aos seguintes intervalos de endereços:

Classe A: intervalo de 10.0.0.0 a 10.255.255.255;
Classe B: intervalo de 172.16.0.0 a 172.31.255.255;
Classe C: intervalo de 192.168.0.0 a 192.168.255.55.

Todos os computadores de uma rede interna conectados à Internet através de switch (comutador) sem um endereço IP público devem utilizar um endereço contido em um destes intervalos. Para as pequenas redes domésticas, a gama de endereços de 192.168.0.1 a 192.168.0.255 é geralmente a mais utilizada.

Tradução estática

O NAT estático consiste em associar um endereço IP público a um endereço IP privado interno à rede. O roteador (ou mais exatamente a passarela) permite associar a um endereço IP privado (por exemplo 192.168.0.1) um endereço IP público roteável na Internet e fazer a tradução, nos dois sentidos, alterando o endereço no pacote IP.

Desta forma, a tradução do endereço estático permite conectar computadores da rede interna à Internet de maneira transparente, apesar de não resolver o problema da raridade de endereços, na medida em que n endereços IP roteáveis são necessários para conectar n computadores da rede interna.

Tradução dinâmica

O NAT dinâmico permite compartilhar um endereço IP que pode ser encaminhado (ou um número reduzido de endereços IP roteáveis) entre vários computadores sem endereçamento privado. Assim, todos os computadores da rede interna possuem virtualmente, visto de fora, o mesmo endereço IP. Esta é a razão pela qual o termo de mascaramento de IP é muito utilizado para designar o mecanismo de tradução de endereço dinâmico.

Para poder multiplicar (compartilhar) os diferentes endereços IP em um ou vários endereços IP roteáveis, o NAT dinâmico utiliza o mecanismo de tradução da porta PAT (Port Address Translation - Tradução do endereço da porta), ou seja, a atribuição de uma porta-fonte diferente a cada pesquisa, de modo a manter uma correspondência entre os pedidos vindos da rede interna e as respostas dos computadores na Internet, todos dirigidos ao endereço IP do roteador.

Encaminhamento de porta

A tradução de endereços só permite encaminhar ou redirecionar pedidos que provenham da rede interna para a rede externa, o que significa que é impossível, para um computador externo, enviar um pacote para um computador da rede interna. Em outras palavras, os computadores da rede interna não podem funcionar como servidor para o exterior. Por esta razão, existe uma extensão do NAT chamada Encaminhamento de porta (Port Forwarding ou Port mapping).

Este mecanismo consiste em configurar a passarela para transmitir a um computador específico da rede interna todos os pacotes recebidos em uma determinada porta. Assim, para poder acessar, do exterior, um servidor web (porta 80) que funciona no computador 192.168.1.2, será preciso definir uma regra de redirecionamento de porta para a passarela encaminhar todos os pacotes TCP recebidos na sua porta 80 para o computador 192.168.1.2.

Ativar as portas

A maior parte dos aplicativos cliente-servidor faz um pedido em um hóspede remoto em uma determinada porta e abre outra porta para recuperar os dados. No entanto, certos aplicativos utilizam mais de uma porta para trocar dados com o servidor. Este é o caso do FTP, para o qual uma conexão é estabelecida pela porta 21, mas os dados são transferidos pela porta 20. Assim, com o mecanismo NAT, após um pedido de conexão pela porta 21 de um servidor FTP remoto, a passarela espera uma conexão em uma só porta e recusará o pedido de conexão da porta 20 do cliente.

Existe um mecanismo derivado do NAT, chamado Ativação de portas (Port triggering), que autoriza a conexão a certas portas se uma condição (pedido) for preenchida. Trata-se de um redirecionamento de porta condicional, para não deixar aberta uma porta permanentemente, mas apenas enquanto um aplicativo necessita dela.

Para mais informação consulte o artigo NAT - Tradução de endereços de rede. Os RFC 1918 e RFC 3022 descrevem o princípio do espaço de endereçamento interno e a tradução de endereços.

Veja também


NAT- Network address translation, port forwarding and port trigg
NAT- Network address translation, port forwarding and port trigg
NAT- Conversión de direcciones de red, habilitación de puertos y
NAT- Conversión de direcciones de red, habilitación de puertos y
NAT - Adressenumsetzung, port forwarding und port triggering
NAT - Adressenumsetzung, port forwarding und port triggering
NAT - Translation d'adresses, port forwarding et port triggering
NAT - Translation d'adresses, port forwarding et port triggering
NAT - Traslazione di indirizzi, port forwarding e port triggerin
NAT - Traslazione di indirizzi, port forwarding e port triggerin
Última modificação: 3 de julho de 2017 às 14:47 por Pedro.CCM.
Este documento, intitulado 'Network Address Translation - NAT', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.