Anycast NAT at Edge Nodes for Active-Active Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Logical networks in datacenters face bottlenecks due to active-standby configurations of stateful gateways, which can't efficiently handle large 'north-south' traffic, and managing network address translation (NAT) becomes complex when scaling edge nodes.

Innovation Solution

Implementing an active-active configuration with edge nodes sharing an anycast network address for NAT, using deterministic algorithms to select nodes for stateful processing, and modifying transport layer port numbers to differentiate data message flows, allowing each node to use the entire port number range without coordination.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If active-standby configuration is used for stateful gateways, then traffic is handled by a single node ensuring state consistency, but network throughput is limited due to the bottleneck at the single active node

Engineering Contradiction:
Improvestate consistencyVSAvoidnetwork throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the gateway functionality by introducing multiple active edge nodes that each handle specific traffic flows.通过使用ECMP和确定性算法,不同的数据流被定向到不同的边缘节点,从而将单一 gateways 的功能分割到多个节点,既保持了状态一致性,又提高了网络吞吐量

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the gateway functions across multiple edge nodes by implementing shared anycast addresses and unified state management.多个边缘节点通过共享任何播地址和状态同步机制,作为一个整体提供网关服务,实现了从单点到分布式的功能合并

Inventive Principle:
Principle #5Merging (Combining)

2Ease of manufacture

If each edge node has its own network address for NAT, then address translation is straightforward, but managing the network address pool becomes complex when scaling the edge node cluster

Engineering Contradiction:
ImproveNAT managementVSAvoidcluster scalability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements universality by having all edge nodes share a common anycast network address for NAT.这个任何播地址可以被多个边缘节点同时使用,使得新增节点无需分配新的NAT地址,简化了地址管理和集群扩展

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

Solution Approach 2:

The anycast address acts as an intermediary between external networks and the cluster of edge nodes.外部网络通过这个任何播地址访问服务,而实际的请求处理由确定性算法决定分配到哪个边缘节点,实现了地址与节点的解耦

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If multiple edge nodes share the same anycast network address, then NAT management is simplified, but differentiating data message flows for reverse SNAT becomes challenging

Engineering Contradiction:
ImproveNAT managementVSAvoidflow differentiation
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent adds another dimension to flow identification by using transport layer port numbers in addition to network addresses.通过在传输层引入端口号维度,创建了更精细的流识别机制,使得在共享任何播地址的情况下仍能准确区分不同应用层的数据流

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent applies local quality by allowing each edge node to use the entire port number range independently.每个节点根据其处理的特定数据流本地分配端口号,无需全局协调,简化了端口管理同时保持了流的可区分性

Inventive Principle:
Principle #3Local quality

4Productivity

If ECMP algorithms are used to distribute traffic to edge nodes, then load balancing is improved, but return traffic may not reach the same node that processed the original traffic

Engineering Contradiction:
Improveload balancingVSAvoidstateful processing consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback by using deterministic algorithms that ensure symmetric traffic routing.去程和回程流量都通过相同的确定性规则(如基于源地址或目的地址的哈希)进行路由决策,形成闭环反馈,保证往返流量都到达同一个边缘节点进行处理

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary action by pre-establishing flow-to-node mappings using deterministic algorithms.在流量到达之前,就通过确定性算法确定了该流量应该由哪个边缘节点处理,并在网络基础设施(如ARP表、路由表)中预先配置,确保往返流量的一致性

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11962564B2Anycast address for network address translation at edge
Publication Date: 2024.04.16 VMWARE INC
  • US11962564B2 patent drawing
  • US11962564B2 patent drawing
  • US11962564B2 patent drawing

AI summary

Some embodiments provide a method for forwarding data messages at multiple edge nodes of a logical network that process data messages between a logical network and an external network. At a particular one of the edge nodes, the method receives a data message sent from a source machine in the logical network. The method performs network address translation to translate a source network address of the data message corresponding to the source machine into an anycast network address that is shared among the edge nodes. The method sends the data message with the anycast network address as a source network address to the external network. Each edge node receives data messages from source machines in the logical network and translates the source addresses of the data messages into the same anycast public network address prior to sending the data messages to the external network.