Tradução do Endereço da Rede



Nunca na história da humanidade houve tanta informação sobre Explorando a tradução de endereços de rede em 2023: um guia completo como existe hoje graças à internet. No entanto, esse acesso a tudo relacionado a Explorando a tradução de endereços de rede em 2023: um guia completo nem sempre é fácil. Saturação, baixa usabilidade e dificuldade de discernir entre informações corretas e incorretas sobre Explorando a tradução de endereços de rede em 2023: um guia completo muitas vezes difíceis de superar. Foi isso que nos motivou a criar um site confiável, seguro e eficaz.

Ficou claro para nós que, para atingir nosso objetivo, não bastava ter informações corretas e verificadas sobre Explorando a tradução de endereços de rede em 2023: um guia completo . Tudo o que coletamos sobre Explorando a tradução de endereços de rede em 2023: um guia completo também precisava ser apresentado de forma clara, legível, em uma estrutura que facilitasse a experiência do usuário, com um design limpo e eficiente, e que priorizasse a velocidade de carregamento. Estamos confiantes de que conseguimos isso, embora estejamos sempre trabalhando para fazer pequenas melhorias. Se você encontrou o que achou útil sobre Explorando a tradução de endereços de rede em 2023: um guia completo e você se sentiu confortável, ficaremos muito felizes se você voltar para scientiaen.com sempre que quiser e precisar.

Tradução de endereço de rede entre uma rede privada e a Internet

Tradução do Endereço da Rede (NAT) é um método de mapear um IP espaço de endereço em outro modificando endereço de rede informações no Cabeçalho IP de pacotes enquanto eles estão em trânsito através de um tráfego dispositivo de roteamento. A técnica foi originalmente usada para contornar a necessidade de atribuir um novo endereço a cada host quando uma rede foi movida ou quando o upstream Prestadores de serviços de Internet foi substituído, mas não conseguiu rotear o espaço de endereço da rede. Tornou-se uma ferramenta popular e essencial para conservar o espaço de endereço global diante de Esgotamento do endereço IPv4. Um roteável pela Internet Endereço IP de um gateway NAT pode ser usado para um rede privada.

Como a tradução de endereço de rede modifica as informações de endereço IP em pacotes, as implementações de NAT podem variar em seu comportamento específico em vários casos de endereçamento e seus efeitos no tráfego de rede. As especificidades do comportamento NAT não são comumente documentadas por fornecedores de equipamentos contendo implementações NAT.

NAT básico

O tipo mais simples de NAT fornece uma tradução um-para-um de endereços IP. RFC 2663 refere-se a este tipo de NAT como NAT básico; também é chamado de NAT um-para-um. Neste tipo de NAT, apenas os endereços IP, cabeçalho IP checksum, e todas as somas de verificação de nível superior que incluem o endereço IP são alteradas. O NAT básico pode ser usado para interconectar duas redes IP com endereçamento incompatível.

NAT de um para muitos

Mapeamento de endereço de rede

A maioria dos conversores de endereço de rede mapeia vários hosts privados para um endereço IP exposto publicamente.

Aqui está uma configuração típica:

  1. Uma rede local usa um dos designados privado Sub-redes de endereço IP (RFC 1918).
  2. A rede tem um roteador com um endereço público e um privado. O endereço privado é usado pelo roteador para comunicação com outros dispositivos na rede local privada. O endereço público (normalmente atribuído por um Prestadores de serviços de Internet) é usado pelo roteador para se comunicar com o restante da Internet.
  3. À medida que o tráfego passa da rede para a Internet, o roteador converte o endereço de origem em cada pacote de um endereço privado para o endereço público do próprio roteador. O roteador rastreia dados básicos sobre cada conexão ativa (particularmente o endereço de destino e porta). Quando o roteador recebe tráfego de entrada da Internet, ele usa os dados de rastreamento de conexão armazenados durante a fase de saída para determinar para qual endereço privado (se houver) deve encaminhar a resposta.

Todos os pacotes IP têm um endereço IP de origem e um endereço IP de destino. Normalmente, os pacotes que passam da rede privada para a rede pública terão seu endereço de origem modificado, enquanto os pacotes que passam da rede pública de volta para a rede privada terão seu endereço de destino modificado. Para evitar ambigüidade em como as respostas são traduzidas, são necessárias modificações adicionais nos pacotes. A grande maioria do tráfego da Internet usa Transmission Control Protocol (TCP) ou User Datagram Protocol (UDP). Para esses protocolos, o números de porta são alterados para que a combinação de endereço IP (dentro do Cabeçalho IP) e número da porta (dentro do Cabeçalho da Camada de Transporte) no pacote retornado pode ser mapeado de forma inequívoca para o destino de rede privada correspondente. A RFC 2663 usa o termo endereço de rede e tradução de porta (NAPT) para este tipo de NAT. Outros nomes incluem tradução de endereço de porta (PAT), mascaramento de IP, Sobrecarga de NAT e NAT muitos-para-um. Este é o tipo mais comum de NAT e tornou-se sinônimo do termo "NAT" em uso comum.

Este método permite a comunicação pelo roteador somente quando a conversa é originada na rede privada, pois é a transmissão originária inicial que estabelece as informações necessárias nas tabelas de tradução. assim um navegador web dentro da rede privada seria capaz de navegar em sites que estão fora da rede, enquanto os navegadores da web fora da rede não seriam capazes de navegar em um site hospedado dentro dela. Protocolos não baseados em TCP e UDP requerem outras técnicas de tradução.

Um benefício adicional do NAT um-para-muitos é que ele reduz Esgotamento do endereço IPv4 permitindo que redes inteiras sejam conectadas à Internet usando um único endereço IP público.

Métodos de tradução

Endereço de rede e conversão de porta podem ser implementados de várias maneiras. Alguns aplicativos que usam informações de endereço IP podem precisar determinar o endereço externo de um conversor de endereços de rede. Este é o endereço que seus pares de comunicação na rede externa detectam. Além disso, pode ser necessário examinar e categorizar o tipo de mapeamento em uso, por exemplo, quando se deseja configurar um caminho de comunicação direta entre dois clientes, ambos atrás de gateways NAT separados.

Para isso, a RFC 3489 especificou um protocolo chamado Traversal simples de UDP sobre NATs (ATORDOAR) em 2003. Ele classificou as implementações de NAT como NAT de cone completo, (endereço) NAT de cone restrito, cone de porta restrita NAT or NAT simétrico, e propôs uma metodologia para testar um dispositivo de acordo. No entanto, esses procedimentos foram retirados do status de padrões, pois os métodos são inadequados para avaliar corretamente muitos dispositivos. RFC 5389 padronizou novos métodos em 2008 e o acrônimo ATORDOAR agora representa o novo título da especificação: Utilitários de travessia de sessão para NAT.

Classificações de implementação NAT
NAT de cone completo, também conhecido como NAT um-para-um
  • Depois que um endereço interno (iAddr:iPort) é mapeado para um endereço externo (eAddr:ePort), todos os pacotes de iAddr:iPort são enviados por meio de eAddr:ePort.
  • Qualquer host externo pode enviar pacotes para iAddr:iPort enviando pacotes para eAddr:ePort.
Cone Completo NAT.svg
(Endereço) NAT de cone restrito
  • Depois que um endereço interno (iAddr:iPort) é mapeado para um endereço externo (eAddr:ePort), todos os pacotes de iAddr:iPort são enviados por meio de eAddr:ePort.
  • Um host externo (hAddr:qualquer) pode enviar pacotes para iAddr:iPort enviando pacotes para eAddr:ePort somente se iAddr:iPort tiver enviado anteriormente um pacote para hAddr:qualquer. "Qualquer" significa que o número da porta não importa.
Cone restrito NAT.svg
NAT de cone de porta restrita Como um NAT de cone restrito de endereço, mas a restrição inclui números de porta.
  • Depois que um endereço interno (iAddr:iPort) é mapeado para um endereço externo (eAddr:ePort), todos os pacotes de iAddr:iPort são enviados por meio de eAddr:ePort.
  • Um host externo (hAddr:hPort) pode enviar pacotes para iAddr:iPort enviando pacotes para eAddr:ePort somente se iAddr:iPort tiver enviado anteriormente um pacote para hAddr:hPort.
Cone restrito à porta NAT.svg
NAT Simétrico
  • A combinação de um endereço IP interno mais um endereço IP de destino e porta é mapeada para um único endereço IP de origem externa e porta; se o mesmo host interno enviar um pacote mesmo com o mesmo endereço de origem e porta, mas para um destino diferente, um mapeamento diferente será usado.
  • Somente um host externo que recebe um pacote de um host interno pode enviar um pacote de volta.
NAT simétrico.svg

Muitas implementações de NAT combinam esses tipos, portanto, é melhor referir-se ao comportamento individual específico de NAT em vez de usar a terminologia Cone/Simétrica. A RFC 4787 tenta aliviar a confusão introduzindo terminologia padronizada para comportamentos observados. Para o primeiro marcador em cada linha da tabela acima, o RFC caracterizaria os NATs Full-Cone, Restricted-Cone e Port-Restricted Cone como tendo um Mapeamento Independente de Endpoint, Considerando que caracterizaria um NAT simétrico como tendo um Mapeamento dependente de endereço e porta. Para o segundo marcador em cada linha da tabela acima, RFC 4787 também rotularia Full-Cone NAT como tendo um Filtragem Independente de Endpoint, NAT de cone restrito como tendo um Filtragem Dependente de Endereço, Cone NAT com restrição de porta como tendo um Filtragem dependente de endereço e porta, e NAT simétrico como tendo um Filtragem Dependente de Endereço or Filtragem dependente de endereço e porta. Outras classificações do comportamento NAT mencionadas no RFC incluem se eles preservam as portas, quando e como os mapeamentos são atualizados, se os mapeamentos externos podem ser usados ​​por hosts internos (ou seja, seu grampo de cabelo comportamento) e o nível de determinismo que os NATs exibem ao aplicar todas essas regras. Especificamente, a maioria dos NATs combinam NAT simétrico para conexões de saída com estático mapeamento de portas, onde os pacotes de entrada endereçados ao endereço e porta externos são redirecionados para um endereço e porta internos específicos.

Tipo de NAT e NAT traversal, função de preservação de porta para TCP

A NAT transversal O problema surge quando pares atrás de diferentes NATs tentam se comunicar. Uma maneira de resolver esse problema é usar encaminhamento de porta. Outra maneira é usar várias técnicas de travessia de NAT. A técnica mais popular para TCP NAT traversal é Perfuração TCP.

A perfuração do TCP exige que o NAT siga o preservação do porto projeto para TCP. Para uma determinada comunicação TCP de saída, os mesmos números de porta são usados ​​em ambos os lados do NAT. A preservação da porta NAT para conexões TCP de saída é crucial para a travessia do TCP NAT porque, no TCP, uma porta só pode ser usada para uma comunicação por vez, portanto, os programas vinculam soquetes TCP distintos a portas efêmeras para cada comunicação TCP, impossibilitando a previsão de porta NAT para TCP.

Por outro lado, para UDP, os NATs não precisam de preservação de porta. De fato, múltiplas comunicações UDP (cada uma com um Ponto final) pode ocorrer na mesma porta de origem e os aplicativos geralmente reutilizam o mesmo soquete UDP para enviar pacotes para hosts distintos. Isso simplifica a previsão de porta, pois é a mesma porta de origem para cada pacote.

Além disso, a preservação de porta em NAT para TCP permite que os protocolos P2P ofereçam menos complexidade e menor latência, pois não há necessidade de usar um terceiro (como STUN) para descobrir a porta NAT, pois o próprio aplicativo já conhece a porta NAT.

No entanto, se dois hosts internos tentarem se comunicar com o mesmo host externo usando o mesmo número de porta, o NAT pode tentar usar um endereço IP externo diferente para a segunda conexão ou pode precisar renunciar à preservação da porta e remapear a porta.: 9 

A partir de 2006, cerca de 70% dos clientes P2P as redes empregavam alguma forma de NAT.

Implementação

Estabelecendo uma comunicação bidirecional

No NAT bidirecional, a sessão pode ser estabelecida tanto dentro quanto fora dos domínios.

Cada pacote TCP e UDP contém um número de porta de origem e um número de porta de destino. Cada um desses pacotes é encapsulado em um pacote IP, cujo Cabeçalho IP contém um endereço IP de origem e um endereço IP de destino. O triplo endereço IP/protocolo/número da porta define uma associação com um tomada de rede.

Para serviços de acesso público, como servidores da Web e de correio, o número da porta é importante. Por exemplo, a porta 80 se conecta por meio de um soquete ao servidor web software e porta 25 para um servidor de correio SMTP demônio. O endereço IP de um servidor público também é importante, semelhante em exclusividade global a um endereço postal ou número de telefone. Tanto o endereço IP quanto o número da porta devem ser conhecidos corretamente por todos os hosts que desejam se comunicar com sucesso.

Os endereços IP privados, conforme descrito no RFC 1918, podem ser usados ​​apenas em redes privadas não conectadas diretamente à Internet. As portas são pontos finais de comunicação exclusivos para esse host, portanto, uma conexão por meio do dispositivo NAT é mantida pelo mapeamento combinado de porta e endereço IP. Um endereço privado dentro do NAT é mapeado para um endereço público externo. A conversão de endereço de porta (PAT) resolve conflitos que surgem quando vários hosts usam o mesmo número de porta de origem para estabelecer diferentes conexões externas ao mesmo tempo.

Analogia da extensão do número de telefone

Um dispositivo NAT é semelhante a um sistema telefônico em um escritório que possui um número de telefone público e vários ramais. Todas as chamadas telefônicas feitas no escritório parecem vir do mesmo número de telefone. No entanto, uma chamada de entrada que não especifica um ramal não pode ser transferida automaticamente para uma pessoa dentro do escritório. Nesse cenário, o escritório é uma LAN privada, o número de telefone principal é o endereço IP público e os ramais individuais são números de porta exclusivos.

processo de tradução

Com o NAT, todas as comunicações enviadas para hosts externos realmente contêm o externo Endereço IP e informações de porta do dispositivo NAT em vez de endereços IP de host interno ou números de porta. O NAT apenas traduz endereços IP e portas de seus hosts internos, ocultando o verdadeiro endpoint de um host interno em uma rede privada.

Quando um computador na rede privada (interna) envia um pacote IP para a rede externa, o dispositivo NAT substitui o endereço IP de origem interna no cabeçalho do pacote pelo endereço IP externo do dispositivo NAT. O PAT pode então atribuir à conexão um número de porta de um pool de portas disponíveis, inserindo esse número de porta no campo de porta de origem. O pacote é então encaminhado para a rede externa. O dispositivo NAT faz uma entrada em uma tabela de tradução contendo o endereço IP interno, a porta de origem original e a porta de origem traduzida. Os pacotes subseqüentes do mesmo endereço IP de origem interna e número de porta são convertidos para o mesmo endereço IP de origem externa e número de porta. O computador que recebe um pacote que passou por NAT estabelece uma conexão com a porta e o endereço IP especificados no pacote alterado, alheio ao fato de que o endereço fornecido está sendo traduzido.

Ao receber um pacote da rede externa, o dispositivo NAT pesquisa a tabela de tradução com base na porta de destino no cabeçalho do pacote. Se for encontrada uma correspondência, o endereço IP de destino e o número da porta são substituídos pelos valores encontrados na tabela e o pacote é encaminhado para a rede interna. Caso contrário, se o número da porta de destino do pacote recebido não for encontrado na tabela de conversão, o pacote será descartado ou rejeitado porque o dispositivo PAT não sabe para onde enviá-lo.

Visibilidade da operação

A operação NAT é normalmente transparente para os hosts internos e externos. O dispositivo NAT pode funcionar como o gateway padrão para o host interno, que normalmente conhece o verdadeiro endereço IP e a porta TCP ou UDP do host externo. No entanto, o host externo está ciente apenas do endereço IP público do dispositivo NAT e da porta específica que está sendo usada para se comunicar em nome de um host interno específico.

Aplicações

Roteamento
A conversão de endereços de rede pode ser usada para atenuar a sobreposição de endereços IP. A sobreposição de endereços ocorre quando hosts em redes diferentes com o mesmo espaço de endereço IP tentam alcançar o mesmo host de destino. Isso geralmente é uma configuração incorreta e pode resultar da fusão de duas redes ou sub-redes, especialmente ao usar RFC 1918 rede privada endereçamento. O host de destino recebe tráfego aparentemente vindo da mesma rede, e os roteadores intermediários não têm como determinar para onde o tráfego de resposta deve ser enviado. A solução é a renumeração para eliminar a sobreposição ou a tradução do endereço de rede.
Balanceamento de carga
In servidor cliente formulários, balanceadores de carga encaminhar solicitações de clientes para um conjunto de computadores servidores para gerenciar a carga de trabalho de cada servidor. A conversão de endereço de rede pode ser usada para mapear um endereço IP representativo do cluster de servidor para hosts específicos que atendem à solicitação.

Técnicas relacionadas

IEEE Tradução Reversa de Endereço e Porta (RAPT ou RAT) permite que um host cujo real Endereço IP muda de tempos em tempos para permanecer acessível como um servidor por meio de um endereço IP residencial fixo. CiscoA implementação RAPT do é sobrecarga de PAT ou NAT e mapeia vários endereços IP privados para um único endereço IP público. Vários endereços podem ser mapeados para um único endereço porque cada endereço privado é rastreado por um número de porta. O PAT usa números de porta de origem exclusivos no endereço IP global interno para distinguir entre as traduções. PAT tenta preservar a porta de origem original. Se esta porta de origem já estiver sendo usada, o PAT atribuirá o primeiro número de porta disponível começando no início do grupo de portas apropriado 0–511, 512–1023 ou 1024–65535. Quando não há mais portas disponíveis e há mais de um endereço IP externo configurado, o PAT passa para o próximo endereço IP para tentar alocar novamente a porta de origem original. Esse processo continua até esgotar as portas disponíveis e os endereços IP externos.

Mapeamento de Endereço e Porto é uma proposta da Cisco que combina Endereço mais Porto tradução com tunelamento dos pacotes IPv4 sobre um provedor ISP interno IPv6 rede. Com efeito, trata-se de um (quase) sem estado alternativa para NAT de nível de operadora e DS-LiteName que empurra o Endereço IPv4função de tradução /port (e a manutenção do estado NAT) inteiramente no existente equipamento das instalações do cliente Implementação NAT. evitando assim o NAT444 e problemas de estado de NAT de nível de operadora e também fornece um mecanismo de transição para a implantação de IPv6 nativo ao mesmo tempo com muito pouca complexidade adicional.

Problemas e limitações

Hosts por trás de roteadores habilitados para NAT não têm conectividade de ponta a ponta e não pode participar de alguns protocolos de internet. Serviços que requerem a iniciação de TCP conexões da rede externa ou que usam protocolos sem estado, como os que usam UDP, pode ser interrompido. A menos que o roteador NAT faça um esforço específico para oferecer suporte a esses protocolos, os pacotes recebidos não podem alcançar seu destino. Alguns protocolos podem acomodar uma instância de NAT entre hosts participantes ("modo passivo" FTP, por exemplo), às vezes com o auxílio de um gateway em nível de aplicativo (Vejo § Aplicativos afetados por NAT), mas falham quando ambos os sistemas são separados da Internet por NAT. O uso de NAT também complica protocolos de tunelamento tais como IPsec porque o NAT modifica valores nos cabeçalhos que interferem nas verificações de integridade feitas por IPsec e outros protocolos de tunelamento.

A conectividade de ponta a ponta tem sido um princípio central da Internet, apoiado, por exemplo, pelo Conselho de Arquitetura da Internet. Os documentos atuais de arquitetura da Internet observam que o NAT é uma violação do princípio ponta a ponta, mas esse NAT tem uma função válida em um design cuidadoso. Há uma preocupação consideravelmente maior com o uso do IPv6 NAT, e muitos arquitetos do IPv6 acreditam que o IPv6 foi criado para remover a necessidade do NAT.

Uma implementação que apenas rastreia portas pode ser rapidamente esgotada por aplicativos internos que usam várias conexões simultâneas, como um HTTP solicitação de uma página da Web com muitos objetos incorporados. Esse problema pode ser atenuado rastreando o endereço IP de destino além da porta, compartilhando assim uma única porta local com muitos hosts remotos. Esse rastreamento adicional aumenta a complexidade da implementação e os recursos de computação no dispositivo de tradução.

Como os endereços internos estão todos disfarçados por trás de um endereço publicamente acessível, é impossível para hosts externos iniciar diretamente uma conexão com um determinado host interno. Aplicativos como VOIP, vídeo conferência, e outros aplicativos ponto a ponto devem usar NAT transversal técnicas para funcionar.

Fragmentação e somas de verificação

Pure NAT, operando apenas em IP, pode ou não analisar corretamente protocolos com cargas contendo informações sobre IP, como ICMP. Isso depende se a carga útil é interpretada por um host no dentro or lado de fora da tradução. Protocolos básicos como TCP e UDP não pode funcionar corretamente a menos que o NAT atue além da camada de rede.

Os pacotes IP têm uma soma de verificação em cada cabeçalho de pacote, que fornece detecção de erro apenas para o cabeçalho. Os datagramas IP podem se tornar fragmentados e é necessário que um NAT remonte esses fragmentos para permitir o recálculo correto das somas de verificação de nível superior e o rastreamento correto de quais pacotes pertencem a quais conexões.

TCP e UDP, possuem um checksum que cobre todos os dados que carregam, assim como o cabeçalho TCP ou UDP, mais um pseudo-cabeçalho que contém os endereços IP de origem e destino do pacote que transporta o cabeçalho TCP ou UDP. Para um NAT de origem passar TCP ou UDP com sucesso, ele deve recalcular a soma de verificação do cabeçalho TCP ou UDP com base nos endereços IP traduzidos, não nos originais, e colocar essa soma de verificação no cabeçalho TCP ou UDP do primeiro pacote do conjunto fragmentado de pacotes.

Alternativamente, o host de origem pode executar Descoberta de MTU de caminho para determinar o tamanho do pacote que pode ser transmitido sem fragmentação e, em seguida, definir o não fragmente (DF) no campo de cabeçalho do pacote apropriado. Esta é apenas uma solução unidirecional, porque o host que responde pode enviar pacotes de qualquer tamanho, que podem ser fragmentados antes de chegar ao NAT.

termos variantes

DTA

A tradução de endereço de rede de destino (DNAT) é uma técnica para alterar de forma transparente o destino Endereço IP de um pacote roteado e realizando a função inversa para quaisquer respostas. Qualquer roteador situados entre dois endpoints podem realizar esta transformação do pacote.

DNAT é comumente usado para publicar um serviço localizado em uma rede privada em um endereço IP publicamente acessível. Este uso de DNAT também é chamado encaminhamento de portaou DMZ quando usado em um todo servidor, que fica exposto à WAN, tornando-se análogo a um exército indefeso zona desmilitarizada (DMZ).

SNAT

O significado do termo SNAT varia de acordo com o fornecedor:

  • fonte NAT é uma expansão comum e é a contrapartida de NAT de destino (DTA). Isso é usado para descrever NAT um-para-muitos; NAT para conexões de saída para serviços públicos.
  • NAT com estado é usado por Cisco Systems
  • NAT estático é usado pela WatchGuard
  • NAT seguro é usado por Redes F5 e pela Microsoft (em relação ao ISA Server)

A tradução segura de endereço de rede (SNAT) faz parte da Microsoft Servidor de Segurança e Aceleração da Internet e é uma extensão do driver NAT integrado Servidor Microsoft Windows. Ele fornece rastreamento de conexão e filtragem para as conexões de rede adicionais necessárias para o FTP, ICMP, H.323e PPTP protocolos, bem como a capacidade de configurar um HTTP transparente servidor proxy.

Tradução dinâmica de endereço de rede

Como o NAT dinâmico funciona.

O NAT dinâmico, assim como o NAT estático, não é comum em redes menores, mas é encontrado em grandes corporações com redes complexas. Onde o NAT estático fornece um mapeamento de endereços IP estáticos internos um-para-um, o NAT dinâmico usa um grupo de endereços IP públicos.

NAT hairpinning

NAT hairpinning, também conhecido como NAT loopback or Reflexão NAT, é um recurso em muitos roteadores de consumo onde uma máquina no LAN é capaz de acessar outra máquina na LAN por meio do endereço IP externo da LAN/roteador (com encaminhamento de porta configurado no roteador para direcionar solicitações à máquina apropriada na LAN). Esta noção é oficialmente descrita em 2008, RFC 5128.

O seguinte descreve um exemplo de rede:

  • Endereço público: 203.0.113.1. Este é o endereço do WAN interface no roteador.
  • Endereço interno do roteador: 192.168.1.1
  • Endereço do servidor: 192.168.1.2
  • Endereço de um computador local: 192.168.1.100

Se um pacote for enviado para 203.0.113.1 por um computador em 192.168.1.100, o pacote normalmente seria roteado para o gateway padrão (o roteador) Um roteador com o recurso NAT loopback detecta que 203.0.113.1 é o endereço de sua interface WAN e trata o pacote como se viesse dessa interface. Ele determina o destino desse pacote, com base nas regras DNAT (encaminhamento de porta) para o destino. Se os dados foram enviados para a porta 80 e existe uma regra DNAT para a porta 80 direcionada para 192.168.1.2, então o host naquele endereço recebe o pacote.

Se nenhuma regra DNAT aplicável estiver disponível, o roteador descartará o pacote. Um Destino ICMP inacessível resposta pode ser enviada. Se alguma regra DNAT estiver presente, a tradução do endereço ainda estará em vigor; o roteador ainda reescreve o endereço IP de origem no pacote. O computador local (192.168.1.100) envia o pacote como vindo de 192.168.1.100, mas o servidor (192.168.1.2) a recebe como proveniente de 203.0.113.1. Quando o servidor responde, o processo é idêntico a um remetente externo. Assim, a comunicação bidirecional é possível entre os hosts dentro da rede LAN por meio do endereço IP público.

NAT em IPv6

A tradução de endereço de rede não é comumente usada em IPv6 porque um dos objetivos de design do IPv6 é restaurar a conectividade de rede de ponta a ponta. O grande espaço de endereçamento do IPv6 evita a necessidade de conservar endereços e cada dispositivo pode receber um endereço globalmente roteável exclusivo. Uso de endereços locais únicos em combinação com tradução de prefixo de rede pode alcançar resultados semelhantes ao NAT.

O grande espaço de endereçamento do IPv6 ainda pode ser derrotado dependendo do comprimento real do prefixo fornecido pela operadora. Não é incomum receber um prefixo /64 – a menor sub-rede recomendada – para toda uma rede doméstica, exigindo uma variedade de técnicas a serem usadas para subdividir manualmente o alcance para que todos os dispositivos permaneçam acessíveis. Mesmo o NAT IPv6 para IPv6 real, NAT66, pode ser útil às vezes: o blog APNIC descreve um caso em que o autor recebeu apenas um único endereço (/128).

Aplicativos afetados pelo NAT

Alguns camada de aplicação protocolos, como File Transfer Protocol (FTP) e Protocolo de iniciação de sessão (SIP), envie endereços de rede explícitos em seus dados de aplicativo. O FTP no modo ativo, por exemplo, usa conexões separadas para controlar o tráfego (comandos) e para o tráfego de dados (conteúdo do arquivo). Ao solicitar uma transferência de arquivo, o host que faz a solicitação identifica a conexão de dados correspondente por seu camada de rede e camada de transporte endereços. Se o host que faz a solicitação estiver atrás de um firewall NAT simples, a tradução do endereço IP ou número da porta TCP invalida as informações recebidas pelo servidor. O SIP geralmente controla voz sobre IP chamadas, e sofrem do mesmo problema. SIP e seu acompanhamento Protocolo de Descrição da Sessão pode usar várias portas para configurar uma conexão e transmitir fluxo de voz via Protocolo de Transporte em Tempo Real. Endereços IP e números de porta são codificados nos dados de carga útil e devem ser conhecidos antes da travessia de NATs. Sem técnicas especiais, como ATORDOAR, o comportamento do NAT é imprevisível e as comunicações podem falhar. Gateway de camada de aplicativo (ALG) software ou hardware pode corrigir esses problemas. Um módulo de software ALG em execução em um dispositivo de firewall NAT atualiza todos os dados de carga tornados inválidos pela conversão de endereço. Os ALGs precisam entender o protocolo de camada superior que precisam corrigir e, portanto, cada protocolo com esse problema requer um ALG separado. Por exemplo, em muitos sistemas Linux, existem módulos do kernel chamados rastreadores de conexão que servem para implementar os ALGs. No entanto, o ALG não pode funcionar se os dados do protocolo estiverem criptografados.

Outra solução possível para esse problema é usar NAT transversal técnicas usando protocolos como ATORDOAR or Estabelecimento de Conectividade Interativa (ICE), ou abordagens proprietárias em um controlador de borda de sessão. NAT traversal é possível em aplicativos baseados em TCP e UDP, mas a técnica baseada em UDP é mais simples, mais amplamente compreendido e mais compatível com NATs legados.[carece de fontes?] Em ambos os casos, o protocolo de alto nível deve ser projetado tendo em mente a travessia do NAT e não funciona de maneira confiável em NATs simétricos ou outros NATs herdados mal comportados.

Outras possibilidades são Protocolo do dispositivo de gateway da Internet, Protocolo de Mapeamento de Porta NAT (NAT-PMP), ou Protocolo de controle de porta (PCP), mas eles exigem que o dispositivo NAT implemente esse protocolo.

A maioria dos protocolos cliente-servidor (FTP sendo a principal exceção), no entanto, não envia informações de contato da camada 3 e não requer nenhum tratamento especial por parte dos NATs. Na verdade, evitar complicações de NAT é praticamente um requisito ao projetar novos protocolos de camada superior hoje.

Os NATs também podem causar problemas onde IPsec criptografia é aplicada e nos casos em que vários dispositivos, como telefones SIP estão localizados atrás de um NAT. Os telefones que criptografam sua sinalização com IPsec encapsulam as informações da porta em um pacote criptografado, o que significa que os dispositivos NAT não podem acessar e traduzir a porta. Nesses casos, os dispositivos NAT revertem para operações NAT simples. Isso significa que todo o tráfego que retorna ao NAT é mapeado para um cliente, fazendo com que o serviço para mais de um cliente por trás do NAT falhe. Existem algumas soluções para esse problema: uma é usar TLS, que opera em camada 4 e não mascara o número da porta; outra é encapsular o IPsec dentro UDP – sendo esta última a solução escolhida por TISPAN para alcançar NAT traversal seguro, ou um NAT com "Intervalo IPsec" apoiar; outra é usar um controlador de borda de sessão para ajudar a atravessar o NAT.

Estabelecimento de Conectividade Interativa é uma técnica NAT traversal que não depende do suporte ALG.

A vulnerabilidade do protocolo DNS anunciada por Dan Kaminski em 8 de julho de 2008, é indiretamente afetado pelo mapeamento de porta NAT. Evitar Envenenamento do cache DNS, é altamente desejável não converter números de porta de origem UDP de solicitações DNS de saída de um servidor DNS por trás de um firewall que implementa NAT. A solução alternativa recomendada para a vulnerabilidade do DNS é fazer com que todos os servidores DNS de cache usem portas de origem UDP aleatórias. Se a função NAT eliminar a aleatoriedade das portas de origem UDP, o servidor DNS ficará vulnerável.

Exemplos de software NAT

Veja também

Notas

  1. ^ A maioria dos dispositivos NAT hoje permite que o administrador de rede configure as entradas da tabela de tradução estática para conexões da rede externa para a rede mascarada interna. Este recurso é frequentemente referido como NAT estático. Pode ser implementado em dois tipos: encaminhamento de porta que encaminha o tráfego de uma porta externa específica para um host interno em uma porta especificada e a designação de um Host DMZ que passa todo o tráfego recebido na interface externa (em qualquer número de porta) para um endereço IP interno enquanto preserva a porta de destino. Ambos os tipos podem estar disponíveis no mesmo dispositivo NAT.
  2. ^ O arranjo mais comum é ter computadores que requerem conectividade de ponta a ponta fornecidos com um endereço IP roteável, enquanto outros não fornecem serviços a usuários externos por trás do NAT com apenas alguns endereços IP usados ​​para permitir o acesso à Internet.
  3. ^ Os números de porta são inteiros de 16 bits. O número total de endereços internos que podem ser traduzidos para um endereço externo pode, teoricamente, chegar a 65,536 por endereço IP. Realisticamente, o número de portas que podem ser atribuídas a um único endereço IP é de cerca de 4000.
  4. ^ A menos que uma rota explícita seja definida no computador roteamento tabelas.
  5. ^ Esse problema pode ser evitado usando SFTP em vez de FTP

Referência

  1. ^ Manual de protocolos de rede (2 ed.). Javvin Technologies Inc. 2005. p. 27. ISBN 9780974094526. Recuperado 2014-09-16.
  2. ^ a b c d e f g h Francisco Audet; Cullen Jennings (janeiro de 2007). Requisitos comportamentais de conversão de endereço de rede (NAT) para Unicast UDP. IETF. dois:10.17487/RFC4787. RFC 4787.
  3. ^ a b Wing, Dan (2010-07-01). "Tradução de endereços de rede: estendendo o espaço de endereços da Internet". IEEE Internet Computing. 14 (4): 66-70. dois:10.1109/MIC.2010.96. ISSN 1089-7801. S2CID 31082389.
  4. ^ "Caracterização e Medição de TCP Traversal através de NATs e Firewalls". Dezembro 2006.
  5. ^ "Iluminando as sombras: rede oportunista e medição da web". Dezembro de 2006. Arquivado em o original no 2010-07-24.
  6. ^ "Guia do Especialista Instantâneo de Áudio sobre IP" (PDF). Linha de gravata. Janeiro de 2010. Arquivado em o original (PDF) em 2011-10-08. Recuperado 2011-08-19.
  7. ^ "Usando NAT em redes sobrepostas". Agosto de 2005.
  8. ^ "Cenário de problema de VPNs com sub-redes sobrepostas". 2017 de setembro.
  9. ^ Srisuresh, Pyda; Gan, Der-Hwa (agosto de 1998). "Compartilhamento de carga usando tradução de endereço de rede IP". dois:10.17487/RFC2391. {{cite journal}}: O jornal Cite requer |journal= (ajudar)
  10. ^ "O que é o balanceamento de carga da camada 4?". Junho de 2020.
  11. ^ "O que é balanceamento de carga?". Novembro 2018.
  12. ^ "Configurar balanceamento de carga do servidor usando NAT dinâmico". Junho de 2018.
  13. ^ Singh, R.; Tay, YC; Teo, WT; Yeow, SW (1999). "RAT: Um empurrão rápido (e sujo?) para suporte de mobilidade". Processos WMCSA'99. Segundo IEEE Workshop sobre Sistemas e Aplicações de Computação Móvel. pp. 32–40. CiteSeerX 10.1.1.40.461. dois:10.1109/MCSA.1999.749275. ISBN 978-0-7695-0025-6. S2CID 7657883.
  14. ^ Bush, R.; Meyer, D. (2002). Algumas Diretrizes e Filosofia de Arquitetura da Internet. IETF. dois:10.17487/RFC3439. RFC 3439.
  15. ^ Velde, G. Van de; Hain, T.; Droms, R.; Carpinteiro, B.; Klein, E. (2007). Proteção de rede local para IPv6. IETF. dois:10.17487/RFC4864. RFC 4864.
  16. ^ "Resiliência de IP aprimorada usando Cisco Stateful NAT". Cisco.
  17. ^ "Usar NAT para acesso público a servidores com endereços IP privados na rede privada (exemplo de configuração do WatchGuard)" (PDF). www.watchguard.com.
  18. ^ "K7820: Visão geral dos recursos SNAT". AskF5. 28 de agosto de 2007. Recuperado Fevereiro 24, 2019.
  19. ^ "Resiliência de IP aprimorada usando Cisco Stateful NAT". Cisco.
  20. ^ "Usar NAT para acesso público a servidores com endereços IP privados na rede privada (exemplo de configuração do WatchGuard)" (PDF). www.watchguard.com.
  21. ^ "K7820: Visão geral dos recursos SNAT". AskF5. 28 de agosto de 2007. Recuperado Fevereiro 24, 2019.
  22. ^ "NAT dinâmico". 26 de janeiro de 2016. Recuperado 2022-04-19.
  23. ^ "NAT dinâmico". Recuperado 2022-04-19.
  24. ^ "O que é NAT Reflection/NAT Loopback/NAT Hairpinning?". Networkers de Nova York. 2014-11-09. Recuperado 2017-04-27.
  25. ^ "Roteadores NAT Loopback - OpenSim" (MediaWiki). OpenSimulator, 2013-10-21. Recuperado 2014-02-21.
  26. ^ Iljitsch van Beijnum (2008-07-23). "Após forte resistência, o NAT pode chegar ao IPv6 afinal". Ars Technica. Recuperado 2014-04-24.
  27. ^ Dupont, Kasper (18 de agosto de 2015). "sub-rede - sub-rede IPv6 a /64 - o que vai quebrar e como contornar isso?". Falha do servidor. Recuperado 2023-04-20.
  28. ^ Cilloni, Marco (2018-02-01). "NAT66: O bom, o mau, o feio". Blog APNIC. Recuperado 2023-04-20.
  29. ^ D. Wing, Ed; Cheshire, S.; Boucadair, M.; Penno, R.; Selkirk, P. (2013). Protocolo de Controle de Porta (PCP). IETF. dois:10.17487/RFC6887. RFC 6887.
  30. ^ Messmer, Ellen (2008-07-08). "Grande falha de DNS pode atrapalhar a Internet". Mundo da rede, Arquivado de o original em 2009-02-13. Recuperado 14 junho 2021.

Links externos