Endereços IP e portas

Esta página descreve como os gateways do Cloud NAT usam endereços IP e como eles alocam portas de origem para instâncias de máquina virtual (VM) do Compute Engine e nós do Google Kubernetes Engine (GKE) que usam gateways.

Antes de analisar essas informações, familiarize-se com a visão geral do Cloud NAT.

Endereços IP do Public NAT

Um endereço IP do Public NAT é um endereço IP externo regional que pode ser roteado na Internet. Uma VM sem um endereço IP externo, que está em uma sub-rede atendida por um gateway do Public NAT, usa um endereço IP do Public NAT quando envia pacotes para um destino na Internet.

Para atribuir endereços IP de conversão de endereços de rede (NAT, na sigla em inglês) a um gateway do Public NAT, use um dos seguintes métodos:

  • Alocação automática de endereço IP NAT. Quando você seleciona esse método ou escolhe os padrões do Google Cloud, o Public NAT adiciona automaticamente endereços IP externos regionais ao gateway com base no seguinte:

    • O nível de rede selecionado
    • O número de VMs que usam o gateway
    • O número de portas reservadas para cada VM

    O Public NAT também remove automaticamente um endereço IP NAT quando ele não precisar mais de nenhuma porta de origem nesse endereço IP NAT.

    Veja a seguir as características da alocação automática de endereços IP NAT:

    • Quando um gateway do Public NAT adiciona um endereço IP NAT, ele cria um endereço IP externo regional estático (reservado) no nível da rede que você selecionou no momento da configuração do gateway. Por exemplo, se você selecionou o nível Premium, o gateway do Public NAT criará o endereço IP nesse nível. Os níveis de rede compatíveis são o nível Premium (opção padrão) e o nível Standard.

      Os endereços IP NAT adicionados automaticamente podem ser visualizados na lista de endereços IP externos estáticos. Esses endereços não contam para as cotas por projeto.

    • Se você alterar o nível de rede de um gateway do Public NAT, os endereços IP existentes para esse gateway serão liberados e um novo conjunto de endereços IP do nível selecionado será atribuído.
    • Com a alocação automática, não é possível prever o próximo endereço IP que está alocado. Se você depende do conjunto de endereços IP possíveis do NAT (por exemplo, para criar uma lista de permissões), use a atribuição manual de endereços IP NAT.
    • Quando os endereços IP NAT adicionados automaticamente não estiverem mais em uso, eles serão removidos. No entanto, o Public NAT só desaloca um endereço quando a última VM atribuída ao endereço não está mais usando nenhuma porta. Dessa forma, quando o número de VMs que usa o Public NAT cai, talvez você não veja uma redução no IP . O motivo é que o Cloud NAT não realoca dinamicamente as VMs de um endereço IP para outro porque a realocação afeta as conexões estabelecidas. Desde que pelo menos uma VM esteja usando um endereço IP, o endereço IP permanecerá ativo, e novas VMs poderão ser atribuídas a ele.

      Se você quiser realocar manualmente as VMs de um endereço IP para outro a fim de minimizar o uso do endereço IP, use as atribuições manuais de endereços IP NAT. A atribuição manual de endereços IP NAT permite a drenagem de endereços IP do Public NAT.

    • Se você mudar para a atribuição de endereço IP NAT manual mais tarde, os endereços IP externos regionais reservados automaticamente serão excluídos. Para mais informações, consulte Como alternar o método de atribuição.

  • Atribuição manual de endereços IP NAT. Quando você seleciona essa opção, cria e atribui manualmente endereços IP externos regionais estáticos (reservados) ao seu gateway do Public NAT. É possível atribuir endereços IP manualmente, seja do nível Premium, do nível Standard ou de ambos, sujeitos às conditions.

    • Aumente ou diminua o número de endereços IP NAT atribuídos manualmente editando o gateway do Cloud NAT.
    • Ao usar a atribuição manual de endereços IP NAT, é necessário calcular o número de endereços IP externos regionais necessários para o gateway do Public NAT. Se o gateway ficar sem endereços IP NAT, o Public NAT descartará pacotes. Os pacotes descartados são registrados quando você usa o registro do Cloud NAT para ativar a geração de registros de erro.
    • Para exemplos de cálculo, consulte o exemplo de reserva de porta.

Para ver o número máximo de endereços IP NAT alocados automaticamente ou atribuídos manualmente, consulte Limites do Cloud NAT.

Atribuir manualmente uma combinação de endereços IP de nível Premium e Standard

Ao criar um gateway do Public NAT com o método de atribuição manual de endereço IP NAT, é possível atribuir uma combinação de endereços IP de nível Premium e Standard, desde que os endereços IP de diferentes níveis de rede não pertençam à mesma regra (incluindo a regra padrão).

Dentro de uma regra (incluindo a regra padrão), todos os endereços IP atribuídos a intervalos ativos precisam estar no mesmo nível de rede. Se você tentar usar endereços IP de camadas diferentes como parte da mesma regra, o Google Cloud rejeitará a configuração.

Alternar método de atribuição

É possível alternar um gateway do Public NAT da alocação automática do endereço IP NAT para a atribuição manual de endereço IP NAT. No entanto, os endereços IP NAT não podem ser preservados. Embora os endereços IP NAT alocados automaticamente sejam estáticos, eles não podem ser movidos para uma atribuição de endereço IP NAT manual. Por exemplo, não é possível começar a usar um gateway do Public NAT com endereços IP NAT alocados automaticamente e, depois, usar os mesmos endereços ao mudar para endereços IP NAT atribuídos manualmente.

O conjunto de endereços IP externos regionais que o Public NAT usa para a alocação automática de endereços IP NAT é diferente do conjunto de endereços IP externos regionais que podem ser escolhidos manualmente.

Drenar endereços IP do Public NAT

Ao configurar um gateway do Public NAT com atribuição manual de endereço IP NAT, é possível escolher o que acontece quando é necessário reduzir o número de endereços IP NAT usados pelo gateway:

  • Se você remover um endereço IP NAT atribuído manualmente, as conexões NAT estabelecidas serão interrompidas imediatamente.

  • É possível escolher drenar um endereço IP NAT atribuído manualmente. A drenagem instrui o gateway do Public NAT a parar de usar o endereço IP NAT para novas conexões, mas continuar usando-o para conexões estabelecidas. As conexões estabelecidas podem ser fechadas normalmente em vez de serem abruptamente encerradas. Para drenar um endereço IP associado a um gateway do Public NAT que não usa regras NAT, consulte Drenar endereços IP externos associados ao NAT. Para drenar um endereço IP que está associado a um gateway NAT que usa regras NAT; consulte Atualizar regras NAT.

Endereços IP do Private NAT

A NAT particular requer duas redes de nuvem privada virtual (VPC), cada uma configurada como um spoke VPC no mesmo hub do Network Connectivity Center. Para mais informações sobre spokes VPC e o Network Connectivity Center, consulte Visão geral dos spokes VPC.

Um endereço NAT particular é um endereço IPv4 interno regional que vem do intervalo de endereços IPv4 principal de uma sub-rede NAT particular localizada na mesma região e rede VPC que um gateway NAT particular. Um endereço IP NAT particular não é roteável na Internet. Os endereços IP dos intervalos de endereços IPv4 principais de sub-redes NAT particulares só podem ser usados por gateways NAT particulares. Para criar uma sub-rede NAT privada, adicione uma sub-rede somente IPv4 usando a Google Cloud CLI e a sinalização --purpose=PRIVATE_NAT.

Depois de configurar um gateway NAT particular para fornecer serviços NAT para uma sub-rede em uma rede VPC conectada a um hub do Network Connectivity Center, as VMs com interfaces de rede nessa sub-rede podem enviar pacotes para recursos localizados em outros spokes VPC do hub. Na saída, o Google Cloud altera o endereço IP de origem para um endereço IP da sub-rede NAT particular associada ao gateway.

Veja a seguir características dos endereços IP do Private NAT:

  • Não é possível atribuir automaticamente endereços IP NAT particulares a um gateway NAT particular. Em vez disso, ao criar uma regra em um gateway NAT particular, você especifica manualmente a sub-rede NAT particular ou as sub-redes. As sub-redes NAT particulares precisam estar localizadas na mesma rede VPC e região que o gateway. O gateway usa endereços IP apenas dos intervalos de endereços IPv4 primários das sub-redes NAT particulares.
  • Para determinar quantos endereços IP NAT cada sub-rede NAT particular pode fornecer, use a seguinte fórmula: 2(32 - PREFIX_LENGTH) - 4, em que PREFIX_LENGTH é o comprimento da máscara de sub-rede do intervalo de endereços IPv4 principal da sub-rede NAT particular. Quatro endereços IP não podem ser usados no intervalo de endereços IPv4 principais de todas as sub-redes.

Portas

Cada endereço IP NAT em um gateway do Cloud NAT (Public NAT e Private NAT) oferece 64.512 portas de origem TCP e 64.512 portas de origem UDP. O TCP e o UDP suportam 65.536 portas por endereço IP cada, mas o Cloud NAT não usa as primeiras 1.024 portas conhecidas (privilegiadas).

Quando um gateway do Cloud NAT realiza a conversão de endereços de rede de origem (SNAT) em um pacote enviado por uma VM, ele altera o endereço IP de origem e a porta de origem do NAT do pacote.

Ao criar um gateway do Cloud NAT, você escolhe se quer usar a alocação de porta estática ou a atribuição de porta dinâmica. Quando você altera o modo de atribuição de porta, todas as conexões existentes que usam o gateway NAT público são fechadas e precisam ser restabelecidas.

Se você tiver atribuído manualmente vários endereços IP externo regionais estáticos (reservados) ao gateway NAT público, uma única VM que usa o gateway poderá receber as portas necessárias de qualquer um dos endereços IP NAT atribuídos, mesmo de vários endereços IP NAT ao mesmo tempo.

Alocação de porta estática

Ao configurar a alocação de porta estática, você especifica um número mínimo de portas por instância de VM. Se você não especificar o número mínimo de portas por VM, o Google Cloud usará o valor padrão.

A alocação de porta estática é ativada por padrão para o Public NAT. Por outro lado, o Private NAT usa a alocação de porta dinâmica por padrão.

Como todas as VMs recebem o mesmo número de portas, a alocação de porta estática funciona melhor se todas as VMs tiverem uso semelhante de saída. Se algumas VMs usarem mais portas do que outras, as portas no gateway do Cloud NAT podem ser subutilizadas. Se o uso da saída variar, configure a alocação dinâmica de portas.

Se você quiser configurar o Mapeamento independente de endpoint no gateway do Public NAT, use a alocação de porta estática. O mapeamento independente de endpoint não está disponível para gateways do Private NAT.

Alocação de porta dinâmica

Ao configurar a alocação de porta dinâmica, você especifica um número mínimo de portas por instância de VM e um número máximo de portas por instância de VM.

A alocação dinâmica de portas está ativada por padrão no Private NAT. Para o Public NAT, é necessário configurar manualmente a alocação de porta dinâmica.

A configuração da alocação dinâmica de portas permite que o mesmo gateway do Cloud NAT aloque diferentes números de portas por VM, com base no uso da VM. Inicialmente, uma VM recebe o número mínimo de portas por instância de VM. Se uma VM estiver próxima de esgotar todas as portas alocadas para ela, o número de portas atribuídas à VM será dobrado. A VM pode solicitar repetidamente mais portas até o número máximo de portas por instância de VM. Quando o uso da porta diminui significativamente, as portas são desalocadas e podem ser alocadas para outras VMs que usam o mesmo gateway NAT.

A alocação dinâmica de portas tem os seguintes benefícios:

  • O número de portas alocadas, mas que não estão sendo usadas, é reduzido.

  • O gateway NAT monitora o uso de portas de cada VM e modifica o número de portas alocadas para cada VM, com base na necessidade. Não é preciso monitorar o uso da porta ou ajustar a configuração do gateway NAT.

Antes de usar a alocação dinâmica de porta, considere o seguinte:

  • Se o mapeamento independente de endpoint estiver ativado no gateway do Cloud NAT, não será possível configurar a alocação de porta dinâmica. Se você precisar do mapeamento independente de endpoint, use a alocação de porta estática.

  • Enquanto portas adicionais estão sendo alocadas às VMs, é possível que você veja latências ou tempos limite de conexão. Para ver estratégias que ajudam a evitar quedas de conexão, consulte Reduzir conexões descartadas com a alocação dinâmica de porta

Mudar o método de alocação de portas

É possível alternar entre a alocação de portas estática e a alocação de portas dinâmica para um determinado gateway do Cloud NAT.

Mudar para o método de alocação dinâmica de portas só interrompe as conexões NAT atuais quando uma das seguintes condições é atendida:

  • Você define o número máximo de portas por VM como um valor menor que o número mínimo de portas por VM especificado na configuração NAT anterior (com alocação estática de portas).

    Na configuração anterior, o número mínimo de portas por VM foi definido como mais de 1024 e você especificou 1024 como o número máximo de portas por VM na nova configuração. Devido a isso, as conexões atuais serão interrompidas porque a primeira condição tem precedência.

  • Você definiu o número máximo de portas por VM como um valor menor que 1024.

A menos que uma das condições anteriores seja atendida, a mudança para a alocação dinâmica de portas não interrompe as conexões NAT atuais.

Desativar a alocação dinâmica de portas e alternar para a alocação estática de portas é um processo interruptivo que causa interrupção em todas as conexões NAT ativas.

Procedimento de reserva de porta

O Cloud NAT usa o procedimento a seguir para provisionar endereços IP de origem NAT e tuplas de portas de origem para cada VM que o gateway do Cloud NAT (Public NAT e Private NAT) veicula.

  1. O Cloud NAT determina os endereços IP internos da VM para os quais NAT precisa ser realizado. Os endereços IP internos da VM são determinados pelos intervalos de endereços IP da sub-rede que o gateway foi configurado para veicular.

    • Se o gateway do Public NAT estiver configurado para executar NAT para o intervalo de endereços IP primários da sub-rede usada pela interface de rede da VM, o gateway executará NAT para ambos, o endereço IP interno primário da VM e qualquer um dos intervalos de IP do alias da VM do intervalo de endereços IP primários da sub-rede.

    • Se o gateway do Public NAT estiver configurado para executar NAT para um intervalo de endereços IP secundário da sub-rede usada pela interface de rede da VM, o gateway executará NAT para qualquer intervalo de IP do alias do intervalo de endereços IP secundário dessa sub-rede.

    Como um gateway do Private NAT é configurado para executar NAT para todos os intervalos de endereços IP da sub-rede usada pela interface de rede da VM, o gateway executa NAT para todos os intervalos de IP dessa sub-rede.

  2. O Cloud NAT ajusta as portas mínimas por instância de VM, se necessário. Se a alocação de porta estática estiver configurada e o gateway executar NAT para intervalos de IP de alias com mais de um endereço (máscara de rede menor que /32), o Cloud NAT ajustará o número mínimo de portas por VM para ser o máximo destes dois valores:

    • O número mínimo de portas por instância de VM especificado

    • O número 1.024

    Em todas as outras situações, incluindo quando a alocação de porta dinâmica é configurada, o gateway do Cloud NAT procede para a próxima etapa usando as portas mínimas especificadas por instância de VM como entrada. Se você não especificar o mínimo de portas por instância de VM, o valor padrão será usado: 64 para alocação de porta estática e 32 para alocação de porta dinâmica.

  3. O Cloud NAT reserva o endereço IP de origem NAT e as tuplas de porta de origem de cada VM. O gateway do Cloud NAT usa o número de portas mínimas fornecidas ou ajustadas por instância de VM da etapa anterior para calcular o número de endereços IP de origem de NAT e tuplas de portas de origem para atribuir à VM.

    Para o Public NAT, o Google Cloud aloca endereços IP de origem NAT e tuplas de portas de origem usando múltiplos de potências de dois. Portanto, o número de endereços IP de origem NAT e tuplas de portas de origem é maior ou igual ao valor mínimo de portas por instância de VM que você especificar.

    Para a o Private NAT, o Google Cloud aloca duas vezes o número mínimo de portas necessárias por VM para confiabilidade. Verifique se a sub-rede da qual o Private NAT atribui endereços IP e portas está dimensionada adequadamente.

    • Se o gateway do Cloud NAT usa dois ou mais endereços IP NAT, é possível que o endereço IP de origem NAT e as tuplas de porta de origem abranjam mais de um endereço IP NAT. Um único endereço IP NAT pode não ter portas de origem disponíveis suficientes para acomodar o número de endereços IP de origem NAT e tuplas de porta de origem de que a VM precisa.

    • O gateway do Cloud NAT aloca o endereço IP de origem e as tuplas de porta de origem para cada VM.

      • Se você tiver configurado a alocação de portas estáticas, o número de endereços IP de origem e tuplas da porta de origem será fixo. Cada VM pode usar apenas o número alocado de endereços IP de origem e de tuplas de porta de origem, mesmo durante bursts de tráfego.

      • Se você tiver configurado a alocação de portas dinâmicas, o número de endereços IP e tuplas de origem poderá mudar com base na demanda. Se uma VM estiver perto de esgotar a alocação de portas atual, o Cloud NAT alocará outras portas, até o valor especificado de máximo de portas por instância de VM. Depois que o uso de portas da VM for reduzido abaixo de um limite, as portas serão liberadas e poderão ser alocadas para outras VMs.

Aumentar portas por VM

Se você configurou um gateway do Cloud NAT com alocação de porta estática, quando você aumentar as portas mínimas por VM no gateway, não haverá interrupção no tráfego.

Se você configurou um gateway do Cloud NAT com alocação dinâmica de portas, aumentar o número mínimo, máximo ou ambos os números de portas por VM não interrompe as conexões NAT atuais nem o tráfego que flui pelo gateway NAT.

Considere o seguinte ao aumentar o número de portas na VM:

  • Ao usar o Public NAT com atribuição manual de endereços IP NAT, você precisa calcular o número de endereços IP de origem NAT necessários. Antes de aumentar o número mínimo de portas por VM, atribua pelo menos esses endereços IP de NAT ao gateway do Public NAT.

  • Ao usar o Public NAT com alocação automática de endereços IP NAT, aumentar o número mínimo de portas por VM faz com que o gateway do Public NAT adquira e aloque automaticamente mais endereços IP externos regionais.

  • Ao usar o Private NAT, verifique se a sub-rede a partir da qual o gateway aloca endereços IP tem um número adequado de endereços IP.

Reduzir portas por VM

Se você configurou um gateway do Cloud NAT com alocação de porta estática e reduzir as portas mínimas por VM no gateway, não haverá diminuição da conexão. As conexões NAT estabelecidas são quebradas imediatamente e os clientes precisam estabelecer novas conexões TCP.

Se você configurou um gateway do Cloud NAT com alocação dinâmica de portas, as seguintes instruções são verdadeiras:

  • A redução do número mínimo de portas por VM não interrompe as conexões NAT atuais nem o tráfego que flui pelo gateway NAT.
  • A redução do número máximo de portas por VM interrompe todas as conexões NAT atuais imediatamente, e o número de portas alocadas para todas as VMs é redefinido temporariamente para o valor especificado como o número mínimo de portas por VM.

Portas e conexões

O número de endereços IP de origem NAT e tuplas de portas de origem que um gateway do Cloud NAT reserva para uma VM restringe o número de conexões que a VM pode fazer para um destino único:

  • Um destino único significa uma tupla 3 única, que consiste em um endereço IP de destino, uma porta de destino e um protocolo IP (como TCP ou UDP).

  • Uma conexão significa uma tupla 5 única composta pelo endereço IP de origem NAT e pela tupla da porta de origem combinada com um destino único de três tuplas. Como o protocolo UDP é sem conexão, o conceito de conexão é reduzido a uma tupla 5 associada a um datagrama UDP exclusivo.

Imagine que um gateway do Cloud NAT calcule 1.024 para o número fixo de portas de uma VM, seguindo o procedimento de reserva de porta. O gateway do Cloud NAT reserva 1.024 combinações únicas de endereço IP de origem NAT e tuplas da porta de origem para a VM. O gateway do Cloud NAT pode processar 1.024 conexões simultâneas para cada 3 tuplas de destino único. No entanto, o Cloud NAT considera que as conexões fechadas são inutilizáveis por 120 segundos após o encerramento da conexão, o que pode afetar o número de conexões em uso por vez.

Exemplos:

  • O gateway suporta 1.024 conexões simultâneas com o endereço IP de destino 203.0.113.99 na porta 80 usando o protocolo TCP.

  • O gateway suporta outras 1.024 conexões simultâneas com o mesmo endereço IP de destino na porta 443, também usando o protocolo TCP.

  • O gateway suporta outras 1.024 conexões simultâneas com um endereço IP de destino diferente na porta 80, também usando o protocolo TCP.

Reutilização de porta simultânea e mapeamento independente de endpoint

Contanto que pelo menos uma parte das informações nas três tuplas de destino seja modificada (o endereço IP de destino, a porta de destino, o protocolo), o mesmo endereço de origem NAT e tupla da porta de origem podem ser reutilizados simultaneamente para outras conexões.

O Public NAT usa o Mapeamento independente de endpoint, conforme definido na Seção 2.3 da RFC 5128. Como resultado, o número de conexões simultâneas que uma VM cliente pode fazer com um destino único de três tuplas possa ser reduzido se o Public NAT atribuir o mesmo endereço IP de origem e tupla de porta de origem do NAT a mais de um endereço IP interno e uma porta de origem temporária de uma VM cliente. A chance disso acontecer aumenta se a VM cliente tiver um grande número de endereços IP de origem interna e fizer um grande número de conexões com o mesmo destino de três tuplas. Na primeira vez que uma VM cliente envia um endereço IP interno e uma porta de origem temporária, o Public NAT cria um mapeamento independente de endpoint de muitos para um entre os seguintes itens:

  • Endereço IP interno e tupla da porta de origem temporária
  • Um endereço IP de origem NAT único e uma tupla de porta de origem

Por exemplo, quando uma VM cliente envia um pacote do endereço IP interno 10.0.0.2 usando a porta de origem temporária 10001, a NAT pública atribui 10.0.0.2:10001. Esse endereço IP de origem NAT e a tupla da porta de origem são usadas para todas as conexões subsequentes de 10.0.0.2:10001 para qualquer destino com três tuplas.

Se a mesma VM usar uma porta de origem temporária diferente para enviar um pacote, por exemplo, 10.0.0.2:20002, o Public NAT também atribui um endereço IP de origem NAT e uma tupla de porta de origem para todas as conexões subsequentes a partir de 10.0.0.2:20002 para qualquer destino de três tuplas. É possível que o Public NAT atribua o mesmo endereço IP de origem NAT e tupla da porta de origem a ambos: endereço IP interno e tuplas temporárias de porta de origem, causando um conflito independente de endpoint em determinadas situações.

Para um exemplo mais detalhado, consulte Exemplo de conflito no mapeamento independente de endpoint.

Reduzir conflitos independentes de endpoint

É possível fazer alterações de configuração para reduzir os conflitos independentes de endpoint. Para mais informações, consulte Pacotes descartados com conflito independente de endpoint de motivo.

Atraso para a reutilização da porta de origem TCP

Depois que um gateway do Cloud NAT fecha uma conexão TCP, o Google Cloud impõe um atraso antes que o gateway possa reutilizar o mesmo endereço IP de origem NAT e tupla de porta de origem com o mesmo destino (endereço IP de destino, porta de destino e protocolo). A duração do atraso é controlada pela configuração Tempo limite TCP_WAIT.

Se necessário, reduza esse atraso modificando o valor padrão de tempo limite TCP TIME_WAIT. Para informações sobre como modificar os tempos limite de NAT, consulte Alterar os tempos limite de conexão associados ao Cloud NAT. Também é possível fazer uma das seguintes alterações:

  • Aumente o número mínimo de portas por instância de VM para que o procedimento de reserva de porta atribua à VM mais endereços IP de origem NAT e tuplas de porta de origem.

  • Se uma VM precisar abrir e fechar conexões TCP rapidamente para o mesmo endereço IP e a mesma porta de destino usando o mesmo protocolo, em vez de usar o Cloud NAT, atribua um endereço IP externo à VM e use regras de firewall para limitar conexões de entrada não solicitadas.

Portas de origem e segurança

Se você depender da ordem aleatória da porta de origem como medida de segurança, considere o seguinte:

  • Aumente o número mínimo de portas por instância de VM para que o procedimento de reserva de porta atribua à VM mais endereços IP de origem NAT e tuplas de porta de origem. Aumentar o número mínimo de portas por instância de VM atribui aleatoriamente um intervalo de portas a cada VM. No entanto, a porta de origem escolhida nesse intervalo é sequencial.

  • Atribua um endereço IP externo à VM em vez de usar o Public NAT.

Examples

Os exemplos a seguir demonstram como o Cloud NAT reserva endereços IP de origem NAT e portas de origem para uma VM e como ela realiza NAT para pacotes enviados à Internet.

Reserva de porta

Os exemplos a seguir demonstram os aplicativos do procedimento de reserva de porta.

Suponha que você esteja configurando um gateway do Public NAT para fornecer NAT para o intervalo de endereços IP primários de uma sub-rede e as VMs que usam essa sub-rede não tenham intervalos de IP de alias do intervalo de endereços IP primários da sub-rede. Arredonde para baixo o resultado de qualquer operação de divisão para o número inteiro mais próximo. ⌊⌋ é a função floor (maior inteiro), ou seja, descarta qualquer resultado fracionário da divisão.

  • Se você configurar o gateway do Public NAT com um único endereço IP NAT usando atribuição manual e definir o número mínimo de portas por instância de VM para 64, o gateway pode fornecer serviços NAT para até 1.008 VMs:

    ⌊(1 endereço IP NAT) × (64.512 portas por endereço) / (64 portas por VM) ⌋ = 1.008 VMs

  • Se precisar aceitar mais de 1.008 VMs, atribua um segundo endereço IP NAT ao gateway do Cloud NAT. Com dois endereços IP NAT, mantendo o número mínimo de portas por VM em 64, é possível suportar 2.016 VMs:

    ⌊(2 endereços IP NAT) × (64.512 portas por endereço) / (64 portas por VM) ⌋ = 2.016 VMs

  • Se você definir o número mínimo de portas por VM como 4.096, cada endereço IP NAT será compatível com 15 VMs. Esse cálculo é arredondado para o número inteiro mais próximo:

    ⌊(1 endereço IP NAT) × (64.512 portas por endereço) / (4.096 portas por VM) ⌋ = 15 VMs

Suponha que você esteja configurando um gateway de Private NAT para fornecer NAT para todos os endereços IP de uma sub-rede:

  • O tamanho mínimo de sub-rede que pode ser criado é oito endereços IPv4, que é uma máscara de sub-rede de /29. Se você configurar um gateway do Private NAT com uma sub-rede NAT de tamanho mínimo e definir o número mínimo de portas por instância de VM como 64, o gateway poderá fornecer serviços NAT para até 2.016 VMs:

    ⌊(2(32-29) - 4) endereços IP NAT × (64.512 portas por endereço) / (64 portas por VM × 2)⌋ = 2.016 VMs

    No exemplo anterior, se você definir o número mínimo de portas por instância de VM como 1.024, o gateway poderá fornecer serviços NAT para até 126 VMs:

    ⌊(2(32-29) - 4) endereços IP NAT × (64.512 portas por endereço) / (1024 portas por VM × 2)⌋ = 126 VMs

  • Se você configurar um gateway do Private NAT com uma máscara de sub-rede NAT de /28 e definir o número mínimo de portas por instância de VM como 64, o gateway poderá fornecer serviços NAT para até 6.048 VMs:

    ⌊(2(32-28) - 4) endereços IP NAT × (64.512 portas por endereço) / (64 portas por VM × 2)⌋ = 6.048 VMs

Conflito de mapeamento independente de endpoint

O exemplo a seguir ilustra como o mapeamento independente de endpoint pode reduzir o número de conexões simultâneas de uma VM cliente para o mesmo destino de três tuplas, mesmo quando há um número suficiente de endereços IP de origem NAT gratuitos e tuplas da porta de origem para a VM cliente.

Suponha que você tenha configurado um gateway do Public NAT para fornecer NAT ao intervalo de endereços IP primários de uma sub-rede. Você criou uma VM cliente com uma interface de rede com um endereço IP interno primário que é 10.0.0.2 nessa sub-rede. A VM de exemplo não tem um endereço IP externo atribuído à interface de rede dele.

  1. A VM abre uma conexão com estas características:

    • Endereço IP interno e porta de origem: 10.0.0.2:10001
    • Três tuplas de destino: 203.0.113.1:80 usando TCP
    • O Public NAT usa o seguinte endereço IP de origem NAT e a tupla da porta de origem: 192.0.2.10:30009
  2. A VM abre uma conexão com estas características:

    • Endereço IP interno e porta de origem: 10.0.0.2:10002
    • Três tuplas de destino: 203.0.113.2:80 usando TCP
    • O Public NAT também pode optar por usar o mesmo endereço IP de origem NAT e tupla de porta de origem 192.0.2.10:30009 para essa conexão. É possível usar o mesmo endereço IP de origem NAT e a tupla de porta de origem para um endereço IP de cliente diferente e uma porta de origem temporária.
  3. Enquanto a primeira e a segunda conexões estão ativas, o Public NAT não pode abrir uma terceira conexão TCP com estas características:

    • Mesmo endereço IP interno de porta de origem que a primeira conexão: 10.0.0.2:10001
    • Mesmas três tuplas de destino da segunda conexão: 203.0.113.2:80 usando TCP

    Essa terceira tentativa de conexão é descartada com um erro de conflito independente de endpoint porque o mapeamento independente de endpoint estabelecido pela primeira conexão determina que todas as conexões de 10.0.0.2:10001 precisam usar o mesmo endereço IP de origem NAT e tupla de porta de origem, 192.0.2.10:30009. No entanto, 192.0.2.10:30009 já está sendo usado pela segunda conexão TCP com 203.0.113.2:80.

  4. Para descartar a ambiguidade, uma tentativa de conexão subsequente neste exemplo é bem-sucedida, desde que uma das seguintes condições seja verdadeira:

    • A primeira conexão TCP foi encerrada. Fechar a conexão remove o mapeamento independente de endpoint entre 10.0.0.2:10001 e 192.0.2.10:30009, para que a terceira conexão possa ser mapeada para um endereço IP de origem NAT e tupla de porta de origem para se comunicar com 203.0.113.2:80 usando TCP.
    • A segunda conexão TCP foi encerrada. Fechar a conexão libera 10.0.0.2:10001 para usar o endereço IP de origem NAT e a porta de origem 192.0.2.10:30009 para se comunicar com 203.0.113.2:80 usando TCP.
    • A terceira tentativa de conexão seleciona uma porta de origem temporária (interna) diferente. Neste exemplo, um mapeamento independente de endpoint estabeleceu um mapeamento de muitos para um para endereços IP de origem de NAT internos e portas de origem 10.0.0.2:10001 e 10.0.0.2:10002 para usar 192.0.2.10:30009 ao se comunicar com 203.0.113.2:80 usando TCP. Se a terceira tentativa de conexão usar uma porta de origem temporária diferente de 10001 e 10002, há uma chance de que um endereço IP de origem NAT e uma porta de origem diferentes possam ser usados para se comunicar com 203.0.113.2:80 usando TCP.
    • Como desativar a independência do endpoint. A alternância permite que a nova conexão de 10.0.0.2:10001 não precise usar 192.0.2.10:30009, permitindo que ele use um endereço IP e uma porta de origem NAT diferentes.

Para técnicas que podem ser usadas para evitar conflitos, consulte Como reduzir conflitos independentes de endpoint.

A seguir