Distributed Source NAT for Cloud VM Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud service access methods using private IP addresses are inefficient due to the need for network address translation (NAT) gateways, which create bottlenecks, especially in intensive network input/output operations, and require multiple floating IP addresses or NAT gateways, leading to high costs and performance issues.

Innovation Solution

Implementing source network address translation (SNAT) with a centralized controller to manage a pool of unique private IP address and port number pairs across multiple tenant logical networks, allowing packets to bypass NAT gateways and directly access cloud services without going through a NAT gateway, even when VMs are on different hosts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If one floating IP address is assigned to each virtual machine (1:1 NAT), then a client VM can directly access cloud services, but it is expensive because it requires one floating IP address per VM

Engineering Contradiction:
Improvedirect access to cloud servicesVSAvoidfloating IP addresses
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

Multiple tenant VMs from different logical networks are merged into a single broadcast domain using a common NAT network. They share a pool of private IP addresses instead of each requiring a floating IP address. This consolidation reduces the quantity of floating IP addresses needed while maintaining direct access capability through the shared network segment.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A single floating IP address on the NAT gateway serves multiple functions: it acts as the default gateway for all tenant VMs, performs network address translation for multiple logical networks, and enables direct access for all VMs in the NAT network. This universal gateway replaces the need for individual floating IP addresses on each VM.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of operation

If one NAT gateway is used per tenant logical network, then client initiated communication can be managed, but it would become a bottleneck when the network input/output (I/O) is intensive

Engineering Contradiction:
Improvecommunication managementVSAvoidnetwork I/O performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The NAT functionality is segmented from the gateway and distributed to each host running tenant VMs. NAT agents on individual hosts perform local address translation, eliminating the need for all traffic to traverse a central NAT gateway. This segmentation distributes the I/O load across multiple hosts, preventing bottlenecks while maintaining communication management capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A NAT agent acts as an intermediary component deployed on each host, performing local address translation between tenant VMs and the NAT network. This intermediary function eliminates the need for traffic to travel to a centralized gateway, improving network I/O performance by handling translation locally at the source.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If traditional NAT through gateway is used, then private IP address translation can be performed, but packets have to travel through gateway even when VMs are on the same host

Engineering Contradiction:
ImproveIP address translationVSAvoidpacket travel time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The NAT translation function is extracted from the gateway and embedded directly into the host's NAT agent. This extraction allows address translation to occur locally on the host where the VMs reside, eliminating unnecessary packet trips to the gateway. The translation reliability is maintained through the NAT agent's implementation of the same address translation logic.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each host performs its own NAT translation operations through the NAT agent, serving itself rather than relying on the gateway. When a VM on a host needs to communicate with the NAT network, the local NAT agent translates the address and routes the packet directly, enabling the host to serve its own translation needs without external gateway involvement.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240380708A1Distributed network address translation for efficient cloud service access
Publication Date: 2024.11.14 VMWARE INC
  • US20240380708A1 patent drawing
  • US20240380708A1 patent drawing
  • US20240380708A1 patent drawing

AI summary

A method for coordinating distributed network address translation (NAT) in a network within which several logical networks are implemented. The logical networks include several tenant logical networks and at least one service logical network that include service virtual machines (VMs) that are accessed by VMs of the tenant logical networks. The method defines a group of replacement IP address and port number pairs. Each pair is used to uniquely identify a VM across all tenant logical networks. The method sends to at least one host that is hosting a VM of a particular tenant logical network, a set of replacement IP address and port number pairs. Each replacement IP address and port number pair can be used by the host to replace a source IP address and a source port number in a packet that is destined from the particular VM to a VM of the particular service logical network.