NAT - Tipos de NAT 

No artigo anterior “NAT – Introdução” descrevemos sobre o “NAT Tradicional”, referenciado na RCF 3022, mas não comentamos sobre os tipos de NAT e suas variáveis.

 

O NAT Tradicional é o método mais comum de utilização de tradução de endereços. Seu principal uso é traduzir endereços locais internos (privados)  em endereços globais internos (públicos) para serem utilizados  em uma rede externa.

 

Em um NAT Tradicional as sessões são unidirecionais, somente no sentido de saída da rede privada, as sessões na direção oposta só podem ser realizadas utilizando mapeando  estático de endereço, direcionando o tráfego para os endereços locais internos selecionados ou métodos como o NAT Bidirecional.

 

O NAT Tradicional é dividido em dois tipos: Basic NAT e o NAPT, quando um dispositivo está utilizando o Basic NAT este fica limitado somente à tradução por meio de endereços IP, que podem ser realizados de maneira estática ou dinâmica, já com NAPT a sua operação é estendida para utilizar endereços IPs e portas (como o TCP / UDP ou ICMP query ID). Olhando em outras documentações é possivel localizar outros tipos de NAT como o Bi-Directional NAT, Twice NAT e o NAT-PT.

Agora vamos tentar entender como funciona cada um destes tipos de NAT:

Basic NAT (Estático): O NAT Básico Estático realiza o mapeamento de endereços IPs locais internos para endereços IPs globais internos, um endereços IP local interno sempre vai ter o mesmo endereço global interno (regra: um pra um).  Este tipo de NAT é muito útil quando dispositivos da rede local interna precisam ser acessados pela Internet com um endereço consistente.

 Analise o fluxo de dados da figura abaixo e tente entender como o Basic NAT (Estático) funciona:

Basic NAT (Dinâmico): O NAT Básico Dinâmico realiza o mapeamento de endereços IPs locais internos para endereços IPs globais internos de forma dinâmica. Qualquer endereço local interno pode ser traduzido para um range de endereços globais internos de forma dinâmica, diferentemente do Basic NAT (Estático) onde os endereços locais internos possuem sempre o mesmo endereço global externo.  Este tipo de NAT também pode ser aplicado em conjunto com o NAPT.

Analise o fluxo de dados da figura abaixo e tente entender como o Basic NAT (Dinâmico) funciona:

NAPT: O NAPT (Network Address Port Translation) realiza o mapeamento utilizando números de portas (como o TCP / UDP ou ICMP query ID) de origem dos endereços locais internos, para distinguir cada uma das traduções. A quantidade de portas que podem receber um único endereço IP fica em torno de 4.000, o NAPT tenta preservar a porta de origem, se essa porta de origem já estiver em uso, o NAPT atribui o primeiro número de porta disponível a partir do início do grupo de portas apropriadas: 0-511, 512-1023 ou 1024-65535. Quando não há mais portas disponíveis e há mais de um endereço global interno configurado, o NAPT passa para o próximo endereço IP, para tentar alocar novamente a porta de origem, esse processo continua até que não haja mais portas disponíveis nem endereços globais internos. O NAPT permite que vários endereços locais internos sejam traduzidos usando um único endereço global interno, permitindo assim que se tenham diversos dispositivos em uma rede interna utilizando um único global interno.

  

Analise o fluxo de dados da figura abaixo e tente entender como o NAPT funciona:

Twice NAT (2x NAT): Este tipo de NAT permite que você decida qual endereço IP global interno será utilizado no processo de tradução, baseado no endereço IP de destino ou pelo número da porta de destino do pacote.

Você pode criar regras para determinar que um endereço IP de origem deverá ser traduzido para o endereço IP “A” quando for para o destino “1”, ou traduzido para o endereço IP “B” quando for para o destino “2”.

 

Analise a figura abaixo e tente entender como Twice NAT por IP funciona:

No caso de portas, você pode determinar que um endereço IP de origem com uma porta de destino “80” deverá ser traduzido para o endereço “A” ou traduzido para o endereço “B” quando tiver a porta de destino “23”.

Analise a figura abaixo e tente entender como Twice NAT por porta funciona:

Bi-Directional NAT (ou two-way): Com o NAT bidirecional as sessões podem ser iniciadas a partir de hosts na rede pública. Esta característica foi incorporada no NAT Básico para adicionar capacidades mais avanças. Quando o NAT é somente de saída, as transações se tornam mais difíceis, hosts da rede interna (endereço local interno) geralmente sabem os endereços IPs de hosts da rede externa (endereço global externo), porque estes são públicos. Entretanto, os hosts das redes externas não sabem o endereço IP de hosts da rede interna, então se um host estiver na rede externa, ele não vai poder especificar um endereço IP de um servidor ou dispositivo que esteja em uma rede interna para enviar um pacote. O endereço IP do host interno não é roteável em redes públicas.

Como exemplos de NAT bidirecional podemos citar os túneis IPv6 e a utilização de serviços DNS (Domain Name System) em redes internas.

Em túneis IPv6 (será abordado em outra sessão deste site), o mesmos poderão ser estabelecidos mesmo quando não houver tráfego interno sendo gerado para a extremidade do túnel.

Para os serviços de DNS, os servidores em redes internas podem responder requisições para  hosts na rede pública. Quando um host externo tenta resolver o nome de um host onde o servidor de DNS está dentro de uma rede interna, o roteador NAT intercepta a solicitação de DNS e instala uma tradução de endereços para permitir que o host externo possa alcançar o servidor de DNS utilizando um endereço IP global interno (público).

O mapeamento dinâmico citado acima, depende a utilização de DNS-ALG (Application Level Gateway) que será abordado em outra sessão deste site.

Analise a figura abaixo e tente entender como o NAT bidirecional funciona:

NAT-PT: O NAT-PT (Network Address Translation - Protocol Translation) é uma técnica de tradução de endereços entre redes IPv6 e IPv4, onde pacotes IPv6 são traduzidos em pacotes IPv4 e vice-versa.

Este método pode ser utilizado quando equipamentos legados não permitirem o upgrade para utilização de endereços IPv6. Este técnica de tradução nada mais é do que uma extensão das técnicas de NAT já citadas acima.

Analise a figura abaixo e tente entender como o NAT-PT funciona:

Click aqui e faça uma atividade!

Autor: Rodrigo Salvo

Fonte: RFC3022, IETF, Cisco e Juniper.