US 12,155,621 B2
Network address translation between networks
Shreyas Vinayakumar, Santa Clara, CA (US); Abhiman Yashpala Karkera, San Jose, CA (US); Siddharth Rampura Chandraprabhuraju, Sunnyvale, CA (US); Saurabh Agarwal, Fremont, CA (US); and Soumya Kailasa, Fremont, CA (US)
Assigned to ORACLE INTERNATIONAL CORPORATION, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Oct. 29, 2021, as Appl. No. 17/514,488.
Claims priority of provisional application 63/128,489, filed on Dec. 21, 2020.
Prior Publication US 2022/0200952 A1, Jun. 23, 2022
Int. Cl. H04L 61/2503 (2022.01); H04L 61/5007 (2022.01); H04L 61/5061 (2022.01)
CPC H04L 61/2503 (2013.01) [H04L 61/5007 (2022.05); H04L 61/5061 (2022.05)] 19 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a network device configured to perform network address translation (NAT) operations, a packet that comprises a header, wherein the header indicates a source address of a first computing resource in a first network, a destination address of a second computing resource in a second network, and a network identifier associated with the first network;
determining, by the network device, the network identifier from the header of the packet;
determining, by the network device, a first pool of flow identifiers from a plurality of pools based on the network identifier, wherein the first pool is available for first NAT operations between the first network and the second computing resource, wherein each flow identifier of the first pool is specific to a packet flow between a source computing resource of the first network and the second computing resource and is usable to determine NAT information related to the packet flow;
identifying, by the network device, the packet flow based on the header;
determining, by the network device, that no flow identifier from the first pool of flow identifiers has been allocated for the packet flow;
determining, by the network device, a flow identifier available to allocate for the packet flow from the first pool of flow identifiers; and
performing, by the network device, a NAT operation on the packet based on the flow identifier, wherein performing the NAT operation comprises replacing at least a portion of the header of the packet with the flow identifier.