O processo NAT

Como o nome mesmo diz, trata-se duma tradução de endereços de rede. Acontece que com a exaustão dos endereços de rede tornou-se necessario encontrar-se formas de permitir a redução do uso de endereços publicos e o NAT juntamente com o uso de endereços privados foi uma das soluções que hoje sao amplamente usadas.

Definiu-se um conjunto de endereços IP que seriam conhecidos como privados e cujos pacotes apenas poderão ser usados numa rede local. Estes pacotes nunca poderão ser roteados para fora ou seja para a Internet.

As seguintes faixas de endereços privados sao conhecidas e usadas

10.0.0.0 até 10.255.255.255

172.16.1.0 até 172.16.31.255

192.168.1.0 até 192.168.255.255

Qualquer uma das faixas acima poderá ser usada para endereçar e criar subredes dentro da sua rede local. Pois bem, então é aí que entra o NAT, porque se estes pacotes sao encaminhados para fora da rede, não serão reconhecidos e como nao sao conhecidos precisam de ser ‘trocados’ por um endereço que seja reconhecido na Internet.

Mas existem ainda algumas coisas a serem identificadas e nomeadas dentro dum processo NAT. Atentemos a figura abaixo:

Concentremo-nos apenas nas redes 10.1.1.0/24 e 10.1.2.0/24

Inside Local IP Address – Endereço da Interface Ethernet do Host 1 (No caso acima a e0 que tem o endereço 10.1.1.2).

Outside Global IP Address – Endereço da Interface Ethernet do Host x (que nao aparece na figura) outra rede ou seja do outro extremo (10.1.2.2)

Inside Global IP Address – Embora nao visto acima, é este endereço que assume os endereços a serem traduzidos. Geralmente sao endereços atribuidos as interfaces de redes ponto a ponto.  Geralmente uma conexão ponto a ponto é vista como se estivesse ligada apenas entre 2 pontos remotos por uma antena e nao sendo tao verdade assim, para não fugir ao assunto dizer apenas que estes 2 pontos extremos para se comunicarem necessitam de ser endereços da mesma rede. Logo se um destes endereços participa do processo NAT e recebe um pacote da sua rede interna ele pode encaminha-lo ao outro extremo que está imaginemos em Cacuaco pois se encontra na mesma rede e vice-versa.

Vamos a um exemplo.

Imagine que você pertença ao provedor EMPRESAx. Assim que se conecta a rede interna do provedor entrega um endereço privado de classe C digamos 192.168.2.57. Vc ainda nao tem acesso a Internet razão pela qual apenas consegue chegar ao gateway da mesma (no Windows tente com um ipconfig e depois um ping) mas não consegue pingar para fora ou seja a Internet.
Então o processo NAT dinamico (já falo disso) é activado e o seu pacote de ping ao chegar a interface de saída do roteador para sair a Internet sofre uma alteração do seu endereço que passa agora a ser um endereço global, já definido pela empresa numa Pool de endereços globais ou por sobrecarga de endereço.
E assim acontece com todo e qualquer pacote que necessite de ir a Internet buscar ou enviar dados. Muito bem, mas já que o endereço foi trocado como o pacote sabe aonde voltar? A pergunta é boa e a resposta é simples e bem conhecida.

Durante o processo NAT em que o  Inside Local IP Address é trocado pelo  Outside Global IP Address, existe uma tabela conhecida como tabela NAT que se encarrega de armazenar tanto o Inside Local IP Address como o Outside Local IP Address para que quando o pacote de volta a rede do provedor receba o pedido o cabeçalho IP seja novamente trocado e o campo de endereço receba novamente o Inside Local IP Address e assim possa ser encaminhado ao respectivo dispositivo (computador, etc).

Tipos de NAT

Nat Estatico – É o NAT mais conhecido. A tradução é realizada endereço por endereço. Nao é aconselhavel para uma rede que possua varios dispositivos.

Nat Dinamico – O mais fiavel. É estabelecido por meio de uma Pool de endereços Globais que estão prontos para serem roteaveis pela Internet.

Pool de endereços – Na realidade quando o processo NAT é realizado de forma dinamica existe uma faixa de endereços publicos devidamente reconhecidos e roteaveis pela Internet que podem ser usados por qualquer dispositivo interno a empresa para tranportar dados. Cabe ao dispositivo (servidor, router) que realiza o processo NAT decidir qual usar. Por exemplo a faixa que vai de 196.3.4.1/24 a 196.3.4.10/24, qualquer um destes endereços da faixa ou pool pode ser usado para endereçar um dispositivo que precisa ir a Internet.

PAT (Port Address Translation) – Tradução de endereços por porta. Neste tipo de tradução um unico endereço Global pode ser usado para muitas maquinas já que a cada endereço Local que recebe o mesmo Global diferencia-se pelo numero da porta. Por exemplo a rede abaixo (Imagem ZDNet):

Este é o exemplo tipico de rede que muitas empresas adotam. Para uma rede domestica elimine o roteador e fique apenas com o MODEM. Note que existem 3 computadores com os endereços de classe C .1, .2 e .3 (abreviando) mas note que o roteador realiza um processo de NAT/PAT trocando os cabeçalhos de cada um dos pacotes enviandos por estes computadores a Internet por um endereço global 213.31.218.101 com a diferença que cada um deles tem uma porta diferente, ou seja  sequencialmente 213.31.218.101:5001, 213.31.218.101:5002 e 213.31.218.101:5003 e assim sucessivamente até alcançar todas as portas válidas( 0 até 2^16), pulando automaticamente ao proximo endereço da Pool (se disponivel) para começar a alocar mais endereços dando deste jeito uma melhor e mais apurada forma de endereçar clientes da rede interna poupando endereços publicos.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s