IP Library Granted Patent US 49,926
Granted Patent E1
US 49,926 · App. 17/129,829 · Granted Apr 16, 2024

Port chunk allocation in network address translation

Inventors: Prakash Babu (Bangalore, IN); Jed Kaplan (Lowell, MA); Christopher J. Skowronek (North Andover, MA); Janakiraman Senthilnathan (Nashua, MA); Arun Seshadri (Bangalore, IN); Rajamathangi Subramanian (Duluth, GA)
Assignee: Cisco Technology, Inc.
H04L61/503H04L61/2514H04L61/2517H04L61/2521H04L61/256H04L61/2567H04L61/2575
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 49,926
App. No.
17/129,829
Granted
Apr 16, 2024
Kind
E1
Abstract

A system and method for providing network and port address translation is provided. A global IP address and a block (chunk) of ports are allocated for each mobile subscriber (MS) on first data connection. Subsequent data connections from the same MS are assigned the same IP address and a new port from this block. The mapping information is communicated, processed, and stored once for the complete block, instead of for every new data connection. This process reduces processing, communication, and storage requirements.

Claims (80)

1. An apparatus comprising:

one or more processors configured to:

in response to identifying a first data connection associated with a first user device:

allocate a public Internet Protocol (IP) address for the first user device;

allocate a first plurality of network address translation (NAT) ports of the apparatus for the first user device;

associate the allocated public IP address and the first plurality of NAT ports with a private IP address allocated for the first user device;

assign a first NAT port of the first plurality of NAT ports to the first data connection; and

prior to assigning at least one of the plurality of NAT ports to a data connection, update a mapping indicating the association between the first plurality of NAT ports and the private IP address;

identify a second data connection associated with the first user device;

upon determining that the first plurality of NAT ports includes at least one NAT port that is not allocated to a data connection, assign a second NAT port of the first plurality of NAT ports to the second data connection;

identify a third data connection associated with the first user device; and

upon determining that the first plurality of NAT ports does not include any NAT ports that are not allocated to a data connection:

allocate a second plurality of NAT ports to the first user device;

associate the second plurality of NAT ports with the private IP address allocated for the first user device;

assign a first NAT port of the second plurality of NAT ports to the third data connection; and

update a mapping indicating the association between the second plurality of NAT ports and the private IP address, wherein at least one of the second plurality of NAT ports is not assigned to any data connection.

2. The apparatus of claim 1 , wherein updating the mapping comprises initiating sending of a message indicating the association between the allocated public IP address, the plurality of NAT ports, and the private IP address to a server.

3. The apparatus of claim 2 , wherein the one or more processors are further configured to refrain from updating the mapping upon assigning the second NAT port to the second data connection.

4. The apparatus of claim 1 , wherein the apparatus is an access gateway coupled between an Internet and a radio access network.

5. The apparatus of claim 1 , wherein the one or more processors are further configured to:

allocate a second public IP address for the first user device;

allocate a third plurality of NAT ports for the first user device; and

associate the allocated second public IP address and the third plurality of NAT ports with the private IP address allocated for the first user device.

6. The apparatus of claim 1 , wherein the one or more processors are further configured to:

identify a fourth data connection associated with a second user device;

in response to identifying the fourth data connection associated with the second user device, allocate the public IP address for the second user device and allocate a third plurality of NAT ports for the second user device; and

associate the allocated public IP address and the third plurality of NAT ports with a private IP address allocated for the second user device.

7. The apparatus of claim 1 , wherein the one or more processors are further configured to modify a header of a packet associated with the first data connection and destined for the first user device, wherein the header of the packet is modified to include the private IP address allocated for the first user device.

8. A method comprising:

in response to identifying a first data connection associated with a first user device:

allocating, by a gateway, a public Internet Protocol (IP) address for the first user device;

allocating a first plurality of network address translation (NAT) ports on the gateway for the first user device;

associating the allocated public IP address and the first plurality of NAT ports with a private IP address allocated for the first user device;

assigning a first NAT port of the first plurality of NAT ports to the first data connection; and

prior to assigning at least one of the plurality of NAT ports to a data connection, update a mapping indicating the association between the plurality of NAT ports and the private IP address;

identifying a second data connection associated with the first user device;

upon determining that the first plurality of NAT ports includes at least one NAT port that is not allocated to a data connection, assigning a second NAT port of the first plurality of NAT ports to the second data connection;

identifying a third data connection associated with the first user device; and

upon determining that the first plurality of NAT ports does not include any NAT ports that are not allocated to a data connection:

allocating a second plurality of NAT ports to the first user device;

associating the second plurality of NAT ports with the private IP address allocated for the first user device;

assigning a first NAT port of the second plurality of NAT ports to the third data connection; and

updating a mapping indicating the association between the second plurality of NAT ports and the private IP address, wherein at least one of the second plurality of NAT ports is not assigned to any data connection.

9. The method of claim 8 , wherein updating the mapping comprises sending a message indicating the association between the allocated public IP address, the plurality of NAT ports, and the private IP address to a server.

10. The method of claim 9 , the method further comprising refraining from updating the mapping upon assigning the second NAT port to the second data connection.

11. The method of claim 8 , wherein the gateway is an access gateway coupled between an Internet and a radio access network.

12. The method of claim 8 , the method further comprising:

allocating a second public IP address for the first user device;

allocating a third plurality of NAT ports for the first user device; and

associating the allocated second public IP address and the third plurality of NAT ports with the private IP address allocated for the first user device.

13. The method of claim 8 , the method further comprising:

identifying a fourth data connection associated with a second user device;

in response to identifying the fourth data connection associated with the second user device, allocating the public IP address for the second user device and allocating a third plurality of NAT ports for the second user device; and

associating the allocated public IP address and the third plurality of NAT ports with a private IP address allocated for the second user device.

14. The method of claim 8 , the method further comprising modifying a header of a packet associated with the first data connection and destined for the first user device, wherein the header of the packet is modified to include the private IP address allocated for the first user device.

15. One or more tangible non-transitory computer readable media comprising logic that when executed is operable to:

in response to identifying a first data connection associated with a first user device;

allocate, on a gateway, a public Internet Protocol (IP) address for the first user device;

allocate a first plurality of network address translation (NAT) ports of the gateway to the first user device;

associate the allocated public IP address and the first plurality of NAT ports with a private IP address allocated for the first user device;

assign a first NAT port of the first plurality of NAT ports to the first data connection; and

prior to assigning at least one of the plurality of NAT ports to a data connection, update a mapping indicating the association between the first plurality of NAT ports and the private IP address;

identify a second data connection associated with the first user device;

upon determining that the first plurality of NAT ports includes at least one NAT port that is not allocated to a data connection, assign a second NAT port of the first plurality of NAT ports to the second data connections:

identify a third data connection associated with the first user device; and

upon determining that the first plurality of NAT ports does not include any NAT ports that are not allocated to a data connection;

allocate a second plurality of NAT ports to the first user device;

associate the second plurality of NAT ports with the private IP address allocated for the first user device;

assign a first NAT port of the second plurality of NAT ports to the third data connection; and

update a mapping indicating the association between the second plurality of NAT ports and the private IP address, wherein at least one of the second plurality of NAT ports is not assigned to any data connection.

16. The media of claim 15 , wherein updating the mapping comprises initiating sending of a message indicating the association between the allocated public IP address, the plurality of NAT ports, and the private IP address to a server.

17. The media of claim 15 , wherein the logic when executed is further operable to:

allocate a second public IP address for the first user device;

allocate a third plurality of NAT ports for the first user device; and

associate the allocated second public IP address and the third plurality of NAT ports with the private IP address allocated for the first user device.

18. The media of claim 15 , wherein the logic when executed is further operable to:

identify a fourth data connection associated with a second user device;

in response to identifying the fourth data connection associated with the second user device, allocate the public IP address for the second user device and allocate a third plurality of NAT ports for the second user device; and

associate the allocated public IP address and the third plurality of NAT ports with a private IP address allocated for the second user device.

19. The media of claim 15 , wherein the logic when executed is further operable to modify a header of a packet associated with the first data connection and destined for the first user device, wherein the header of the packet is modified to include the private IP address allocated for the first user device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2020
From: SUBRAMANIAN, RAJAMATHANGI
To: CISCO TECHNOLOGY, INC.
Reel/Frame 054823/0190 →
Continuity (3)
Continuation 12861517 · Aug 23, 2010
Provisional Application 61235738 · Aug 21, 2009
Reissue 14796352 · Jul 10, 2015