Conceito de NAT detalhadamente

O que é o NAT? Para que o NAT? Este artigo traz alguns conceitos básicos sobre o NAT (Network Address Translation) e mostra como esses conceitos podem ser aplicados em sua empresa.

[ Hits: 135.771 ]

Por: Luis Fernando Targas em 03/07/2003


NAT avançado



O NAT define algumas outras tarefas mais complexas que devem ser realizadas pelo roteador para que ele funcione corretamente, entre elas:
  1. Os pacotes de dados TCP/IP tem um campo para verificação de erro: o "checksum IP". Como esse campo é dependente dos dados contidos no cabeçalho do pacote de dados (que inclui os endereços IP de origem e destino) ele deve então ser modificado corretamente pelo roteador
  2. Como vimos no exemplo 1, o roteador com NAT deve armazenar a informação sobre qual servidor na Internet os computadores locais estão acessando para poder encaminhar as respostas que chegarem. Porém pode haver instantes onde duas máquinas da rede local podem estar acessando o mesmo servidor na Internet. Nesse caso, não basta armazenar os endereços IPs das máquinas que estão sendo acessadas, devesse também armazenar o "socket" de origem de cada máquina local para que o roteador possa encaminhar corretamente as respostas.
  3. A solução apresentada no ítem anterior também tem um problema: o "socket" de origem de cada máquina é definido por cada uma dessas máquina e é aleatório,então existe a possibilidade de duas máquinas na rede local acessarem o mesmo servidor e escolherem o mesmo "socket" de origem. Neste caso o roteador é obrigado a modificar também o "socket" de origem em uma das conexões, manter essa informação na memória e modificar o "socket" de destino da resposta. Repare que esse procedimento também obriga ao roteador trocar o "checksum" do IP e do TCP.
  4. Alguns protocolos como o ICMP, protocolos de roteamento, etc. carregam dentro do campo de dados informações sobre o endereço da máquina de origem. O roteador com NAT deve então observar esses pacotes e modificar essas informações adequadamente. Como cada protocolo utiliza essa informação de maneira diferente o roteador deve ter conhecimento específicos sobre o protocolo, caso contrário o protocolo não irá funcionar.


Página anterior    

Páginas do artigo
   1. Para que o NAT?
   2. O Provedor e o fornecimento de conexões de redes
   3. A pequena empresa e o compartilhamento de modem/linha/conta
   4. O que é o NAT?
   5. NAT avançado
Outros artigos deste autor

Configurando o SendMail

Utilizando RPM para detecção de intrusos

Criando um firewall simples e compartilhando a conexão usando o IPtables

Como instalar e usar o MS Office 97 no Linux

Leitura recomendada

Apache em chroot + MySQL + PHP + mod_security + mod_evasive + vsftpd + Fail2ban + Debian Squeeze

FreeBSD + FreeRadius + MySQL

Instalando e configurando o modem SpeedTouch 330 USB da Alcatel

Servidor Apache Profissional

Instalando o Asterisk no CentOS 5.3

  
Comentários
[1] Comentário enviado por blackcatdbflush em 05/07/2003 - 20:42h

Artigo legal, mas copiou meu logo do bsd .. homem mau !!

[2] Comentário enviado por gustavo_marcon em 17/02/2004 - 16:39h

Muito bom o Artigo, mas fiquei c/ uma dúvida.
É o seguinte tenho uma conexão adsl c/ ip fixo mas que passa pelo roteador da brasil telecom e esse roteador faz NAT. Acontece que eu queria disponibilizar um servidor DNS e um servidor WEB para a Internet, mas como o roteador não tem em sua memória o registro de saida do roteador ele não deixa entrar nenhum pacote a mais, então os acessos ao meu ip são rejeitados. Como mudar isso? Será que tem como fazer alguma configuração em meu servidor ou teria que ser feito no roteador da Brasil Telecom?

[3] Comentário enviado por lamss em 12/06/2004 - 00:01h

Amigo Gustavo uso o ADSL velox modem speed stream 5200 (firmware atualizado para router), as configurações têm que ser feitas no seu router... pois liberei para internet a porta do ssh para acesso externo internet... deve ser o mesmo procedimento redirecionamento de porta nas configurações do router...
Se ajuda em alguma coisa...
Valeu

[4] Comentário enviado por marcosvalente em 17/06/2004 - 22:00h

Até copiei este artigo, valeu

[5] Comentário enviado por juglenijr em 25/11/2004 - 19:11h

Muito bom esta artigo... nota 10

[6] Comentário enviado por presunto em 24/05/2006 - 19:23h

muito bom artigo, fiz igual nosso amigo ali, copiei pro meu computador.. brigadao

[7] Comentário enviado por daemonio em 27/10/2006 - 13:29h

Gostei, artigo muito bom!

[8] Comentário enviado por thiagovitor3 em 05/03/2007 - 14:00h

olá amigo, adoreii tbm seu artigo, mais gostaria de alguns esclarecimentos se possível, tenho uma 10.10.20.1(onde tem acesso a internet) e uma outra 10.10.21.1(onde ficam as máquinas locais na minha rede), tem como eu apartir da segunda rede acessar os primeira, usando nat?

[9] Comentário enviado por digitelriopreto em 10/04/2007 - 18:21h

Olá...gostei do seu artigo...muito bom!!! Mas eu preciso de um "esclarecimentozinho" a mais. Possuo uma rede com um roteador "Clavister", 5 máquinas e 1 impressora TCP/IP da HP. Esse "Clavister" (roteador com 1 porta WAN e 8 portas LAN) veio da Suécia e é quem recebe o sinal de internet de um modem, DLink 500B, ROTEADO (pq naum tenho permissão de acessar o software do "Clavister", ninguem da Sueçia quis me passar o login e a senha), e distribui o sinal para as demais máquinas. Acontece q essa rede possui domínio na Suécia (todas as máquinas aki fazem login lá) e esse maldito "Clavister" faz sincronizações para manter tudo atualizado ( o q se faz aki, seatualiza lá na Suécia) e o desempenho das máquinas ficam muitíssimo lentas. Eu gostaria de saber se eu colocar um outro roteador entre o modem e o "Clavister", eu vou ter um desempenho melhor das máquinas, e como fazer isso sendo q os dois atribuem IP's p/ as máquinas (DHCP). Como faço pra fazer com q o roteador (não o "Clavister") faça apenas o serviço de conectar o modem e enviar o sinal pra porta WAN do "Clavister" e deixar q ele atribua os IP's (somente o "Clavister" em DHCP)????
Marcelo Milani

[10] Comentário enviado por jairus em 19/08/2007 - 16:07h

Parabens pelo artigo, tirou muitas dúvidas minhas, pela forma que foi explicado o tema "NAT".


Abraços
Jairus

[11] Comentário enviado por yodalmp em 17/09/2007 - 10:07h

ERRADO!

[12] Comentário enviado por yodalmp em 17/09/2007 - 10:07h

ERRADO, nat é um padrão definido pela RFC 1631!

[13] Comentário enviado por juraci.junior em 09/06/2012 - 13:49h

Muito bom o post. me ajudou com umas questões que sempre tive duvidas.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts