NAT estático e tradução de endereço de porta

0

Eu estava lendo sobre o NAT. Tem 3 tipos.

  1. Static - mapeamento um-para-um entre endereços privados e públicos.
  2. Dinâmico - um endereço público é selecionado de um conjunto de endereços públicos e mapeado para um endereço particular. Este também é um mapeamento de um para um.
  3. Sobrecarga / PAT - nesse caso, os números de porta desempenharão um papel para mapear um conjunto de endereços privados para um endereço público ou um conjunto muito menor de endereços públicos.

Nos dois primeiros casos, a tabela NAT terá pares de endereços IP, mas no último caso, a tabela NAT terá pares de números de porta IP +.

Também li que quando se comunica diferentes aplicativos podem ser diferenciados por números de porta.

Meu problema é: Vamos considerar um NAT estático, em que um host local é mapeado para um endereço IP global. Se esse host executar vários aplicativos e cada aplicativo usar números de porta diferentes, a tabela NAT também terá mapeamentos de números de porta? Em outras palavras, como solicitações de diferentes aplicativos de um determinado host são tratadas / diferenciadas sem números de porta no NAT estático?

    
por user570593 09.01.2018 / 07:26

1 resposta

1

A implementação de NAT varia. Mesmo os 3 tipos de NAT nem sempre são como você descreveu. O NAT estático pode ter IP + porta estática. Ou seja, IP privado / Port mapeia para IP público / porta. E você pode ter diferentes Private IP / Port mapeados para o mesmo IP público, mas porta diferente. (Existem, na verdade, mais de 3 tipos de NAT, mas essa é uma discussão diferente)

Dito isso, vamos continuar com o seu exemplo. Diga NAT estático de 192.168.1.2 => 25.4.233.34 .

A implementação de NAT normalmente tem uma tabela de tradução de NAT para procurar o pacote de entrada, que tem um IP de origem do host da Internet e o IP de destino de um dos IPs públicos do NAT. Essa tabela de conversão é atualizada sempre que uma nova tradução ocorre e também é eliminada de tempos em tempos.

Se houver uma correspondência de tupla completa (que significa IP / porta de origem, IP / porta de destino, protocolo IP), o NAT usará a correspondência para traduzir. Também pode ser uma correspondência parcial (você pode pensar que a entrada NAT estática tem uma entrada parcial usando um caractere curinga para porta). Diga, o pacote recebido é TCP 213.3.2.4:33442 -> 25.4.233.34:80

Se houver uma correspondência ( 24.4.233.34 ), ela usará a tradução estática para mapear o IP de destino de entrada ( 24.4.233.34 ) para o IP privado ( 192.168.1.2 ) em seu NAT estático. No caso da entrada NAT estática, o NAT só precisa traduzir o IP de destino e as portas passam sem modificações. E o host 192.168.1.2 distribuirá o pacote para a base do aplicativo na porta de destino. isto é, a aplicação na porta TCP 80 receberá o pacote.

    
por 09.01.2018 / 08:13