5.1 Introdução ao NAT

Outro tópico muito interessante é o NAT. NAT significa Network Address Translation e geralmente está presente em todos os roteadores como um serviço. Então, o que é e por que é necessário?

O NAT é um ponto pelo qual redes locais podem ser conectadas a redes globais, como a Internet, por exemplo.

Como você já sabe, em redes locais, todos os computadores (e outros dispositivos conectados à rede) possuem seus próprios endereços IP locais. E para trocar dados com um servidor na Internet, é necessário que nosso computador envie uma solicitação ao servidor e o servidor nos envie uma resposta. E para onde ele deve enviar uma resposta se nosso endereço IP for desconhecido fora de nossa rede local?

Imagine que você está escrevendo uma carta em papel para Donald Trump. Trump é uma figura pública, ele é o único - este é o nosso servidor público. E você indica Masha como endereço de retorno na carta. Amasse muito. Qual Masha deve receber a resposta?

Então você envia uma carta a seu conhecido em Washington, também uma figura pública, com instruções estritas para enviá-la a Trump. Seu amigo recebe uma carta, envia para Trump e dá seu endereço em Washington como endereço do remetente.

Então, após receber uma resposta de Trump, o conhecido encaminha para você. Mesmo com pacotes IP...

Para permitir que um dispositivo com um endereço IPv4 privado acesse dispositivos e recursos fora da rede local, primeiro o endereço privado deve ser alterado para um endereço público público.

Apenas o NAT traduz endereços privados em públicos. Isso permite que um dispositivo com um endereço IP local acesse recursos fora de sua rede privada. O NAT, combinado com endereços IP locais, provou ser um método útil para manter endereços IPv4 públicos.

Existem 8 bilhões de pessoas no mundo e já existem muito mais dispositivos de rede: telefones, laptops, relógios inteligentes, servidores, quaisquer dispositivos inteligentes. E existem apenas 4 bilhões de endereços IP. Parecia muito, mas com o rápido crescimento da Internet, ficou claro para todos que isso não era suficiente.

Aqui o NAT vem em socorro: um endereço IPv4 público pode ser usado por centenas, até milhares de dispositivos, cada um com um endereço IPv4 local. O NAT tem o benefício adicional de adicionar um grau de privacidade e segurança a uma rede porque oculta endereços IPv4 internos de redes externas.

5.2 Sub-redes em NAT

As LANs geralmente são projetadas com endereços IP privados. Esses são endereços de sub-redes privadas 10.0.0.0/8e 172.16.0.0/12. 192.168.0.0/16Esses endereços IP são usados ​​internamente por uma organização ou site para permitir que os dispositivos se comuniquem localmente, eles não são roteáveis ​​na Internet.

Os roteadores habilitados para NAT podem ser configurados com um ou mais endereços IPv4 públicos válidos. Esses endereços públicos são chamados de pool NAT.

Quando um dispositivo na rede interna envia tráfego da rede para fora, o roteador habilitado para NAT converte o endereço IP interno do dispositivo para o endereço IP público do pool NAT. Para dispositivos externos, todo o tráfego dentro e fora da rede parece ter um endereço IP público.

Um roteador NAT geralmente opera na borda de uma rede Stub. Uma rede stub é um termo da teoria da rede: uma rede stub que possui uma conexão com uma rede vizinha, uma entrada e uma saída da rede.

Quando um dispositivo dentro da rede Stub deseja se comunicar com um dispositivo fora de sua rede, o pacote é encaminhado ao roteador e este realiza um processo NAT, traduzindo o endereço privado interno do dispositivo em um endereço público, externo e roteável.

5.3 Terminologia NAT

Se você se aprofundar na teoria das redes, NAT é uma rede interna, que é um conjunto de sub-redes a serem traduzidas. A rede externa refere-se a todas as outras redes.

Ao usar o NAT, os endereços IP têm designações diferentes com base no fato de estarem em uma rede privada ou em uma rede pública (na Internet) e se o tráfego é de entrada ou saída.

O NAT inclui quatro tipos de endereços:

  • Endereço local interno (endereço local interno);
  • Endereço global interno (Endereço global interno);
  • Endereço local externo ;
  • Endereço global externo (Fora do endereço global);

Ao determinar qual tipo de endereço está sendo usado, é importante lembrar que a terminologia NAT é sempre aplicada do ponto de vista do dispositivo com o endereço traduzido:

  • Endereço interno (Inside address) - endereço do dispositivo que é traduzido pelo NAT;
  • Endereço externo – endereço do dispositivo de destino;
  • Um endereço local é qualquer endereço que apareça internamente na rede;
  • Um endereço global é qualquer endereço que aparece fora da rede.

Vamos ver isso com um exemplo de diagrama.

O computador na figura à esquerda tem um endereço local interno ( dentro do local ) 192.168.1.5e, do seu ponto de vista, o servidor web tem um endereço externo ( externo208.141.17.4 ) . Quando os pacotes de dados são enviados do computador para o endereço global do servidor web, o endereço local interno ( Inside local ) do PC é traduzido para 208.141.16.5( inside global ). O endereço do dispositivo externo geralmente não é traduzido porque é um endereço IPv4 público.

Vale a pena notar que um computador tem, por assim dizer, dois endereços: endereços locais e globais, enquanto um servidor web tem o mesmo endereço IP público. Do seu ponto de vista, o tráfego que se origina do computador vem do endereço global interno 208.141.16.5. Um roteador NAT é o ponto de separação entre redes internas e externas e entre endereços locais e globais.

Os termos dentro e fora são combinados com os termos local e global para se referir a endereços específicos. Na figura, o roteador está configurado para fornecer NAT e possui um pool de endereços públicos para atribuir a hosts internos.

5.4 caminho do pacote

Se você já está cansado, vá para a próxima palestra. Se você ainda estiver interessado, seja bem-vindo mais abaixo no buraco de minhoca.

A figura abaixo mostra como o tráfego é enviado de um computador interno para um servidor da Web externo por meio de um roteador habilitado para NAT, enviado e retransmitido de volta.

Sub-redes em NAT 3
tabela NAT do roteador
PC servidor web
Dentro do mundo Dentro do local fora do local Fora Global
208.141.17.4 192.168.1.5 208.141.16.5 208.141.16.5

Endereço local interno - O endereço de origem visto da rede interna. Na figura, o endereço 192.168.1.5é atribuído ao computador - este é seu endereço local interno.

Endereço global interno - O endereço de origem visto da rede externa. Na figura, quando o tráfego do computador é enviado para o servidor web em 208.141.17.4, o roteador traduz o endereço local interno (endereço local) para o endereço global interno (endereço global interno). Nesse caso, o roteador altera o endereço de origem IPv4 de 192.168.1.5para 208.141.16.5.

Endereço global externo - o endereço do destino visto da rede externa. Este é um endereço IP roteável globalmente atribuído a um host na Internet. No diagrama, o servidor web está disponível em 208.141.17.4. Na maioria das vezes, os endereços externos locais e externos globais são os mesmos.

Endereço local externo - O endereço do destinatário conforme visto na rede interna. Neste exemplo, o computador envia tráfego para o servidor web em208.141.17.4

Agora vamos ver todo o caminho do pacote. O computador com o endereço 192.168.1.5está tentando se comunicar com o servidor web 208.141.17.4. Quando um pacote chega a um roteador habilitado para NAT, ele lê o endereço IP de destino do pacote para determinar se o pacote corresponde aos critérios especificados para tradução. Neste exemplo, o endereço de origem corresponde aos critérios e é convertido de 192.168.1.5(endereço local interno) para 208.141.16.5(endereço global interno).

O roteador adiciona esse mapeamento de endereço local para global à tabela NAT e envia o pacote com o endereço de origem traduzido para o destino. O servidor web responde com um pacote endereçado ao endereço global interno do PC ( 208.141.16.5).

O roteador recebe um pacote com um endereço de destino 208.141.16.5e verifica a tabela NAT em busca de uma entrada para esse mapeamento. Ele usa essas informações e traduz de volta o endereço global interno ( 208.141.16.5) para o endereço local interno ( 192.168.1.5), o pacote é redirecionado para o PC.

5.5 Vantagens e desvantagens do NAT

O serviço NAT é uma solução muito poderosa que é usada em todos os lugares. O NAT oferece muitos benefícios , incluindo:

  • O NAT mantém um esquema de endereçamento registrado, fornecendo operação de LAN flexível. Com o NAT, os hosts internos podem compartilhar um endereço IP público para todas as comunicações externas. Este tipo de configuração requer muito poucos endereços externos para suportar muitos hosts internos.
  • O NAT aumenta a flexibilidade das conexões com a Internet. Vários pools, pools de backup e pools de balanceamento de carga podem ser implementados para fornecer conexões de rede pública confiáveis.
  • O NAT fornece consistência para os esquemas de endereçamento interno da rede. Em uma rede que não usa endereços IP privados e NAT, alterar o esquema geral de endereço IP requer o redirecionamento de todos os hosts na rede existente. O custo do encaminhamento do host pode ser significativo. O NAT permite que o esquema de endereçamento privado IPv4 existente permaneça enquanto permite que o novo esquema de endereçamento público seja facilmente alterado. Isso significa que uma organização pode mudar de fornecedor e não precisa mudar nenhum de seus clientes internos.
  • NAT fornece segurança de rede . Como as redes privadas não anunciam seus endereços ou topologia interna, elas permanecem razoavelmente confiáveis ​​quando usadas em conjunto com o NAT para obter acesso externo controlado. No entanto, você precisa entender que o NAT não substitui os firewalls.

Mas o NAT tem algumas desvantagens . O fato de que os hosts na Internet parecem estar conversando diretamente com um dispositivo habilitado para NAT, em vez de um host real dentro da rede privada, cria vários problemas:

  • Uma das desvantagens de usar o NAT tem a ver com o desempenho da rede, especialmente para protocolos de tempo real, como VoIP. O NAT aumenta os atrasos de comutação porque a tradução de cada endereço IP nos cabeçalhos dos pacotes leva tempo.
  • Outra desvantagem de usar o NAT é que o endereçamento de ponta a ponta é perdido. Muitos protocolos e aplicativos da Internet dependem do endereçamento de ponta a ponta da origem ao destino. Alguns aplicativos não funcionam com NAT. Os aplicativos que usam endereços físicos em vez de um nome de domínio qualificado falham em alcançar destinos que são convertidos por meio de um roteador NAT. Às vezes, isso pode ser evitado implementando mapeamentos NAT estáticos.
  • O rastreamento de IPv4 de ponta a ponta também é perdido. É mais difícil rastrear pacotes que passam por várias alterações de endereço de pacote em vários saltos NAT, dificultando a solução de problemas.
  • O uso do NAT também dificulta os protocolos de tunelamento, como o IPsec, porque o NAT altera valores nos cabeçalhos que interferem nas verificações de integridade realizadas pelo IPsec e outros protocolos de tunelamento.
  • Os serviços que exigem que as conexões TCP sejam iniciadas a partir da rede externa ou protocolos sem estado, como os que usam UDP, podem ser interrompidos. Se o roteador NAT não estiver configurado para oferecer suporte a esses protocolos, os pacotes recebidos não poderão alcançar seu destino.