IP Library Granted Patent US 12,432,172
Granted Patent B2
US 12,432,172 · App. 18/671,178 · Granted Sep 30, 2025

Multi-level and dynamic timers for carrier grade NAT

Inventor: James Mathison (Greer, SC)
Assignee: Verizon Patent and Licensing Inc.
H04L61/256H04L61/2517H04L61/2592H04L61/5053
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 12,432,172
App. No.
18/671,178
Granted
Sep 30, 2025
Kind
B2
Abstract

Systems and methods described herein use a variable 2MSL timer (also referred to herein as a “port reuse timer”) for a core network/gateway. A network device in a core network detects closing of a session that uses a port designated for Network Address Translation (NAT), monitors an overall NAT port utilization level, and manages release timing for the port based on the overall port utilization level.

Claims (54)

1. A method comprising:

detecting, by a network device, a closing of a Transport Control Protocol (TCP) session, wherein the TCP session uses a port designated for Network Address Translation (NAT);

monitoring, by the network device, an overall NAT port utilization level of the network device; and

assigning, by the network device, one or more timing thresholds for a two-stage timer that permits reuse of the port and releases the port based on the overall NAT port utilization level.

2. The method of claim 1 , wherein assigning the one or more timing thresholds comprises assigning a value to a port reuse timer based on the overall NAT port utilization level, and wherein the method further comprises:

maintaining an assigned state for the port until the port reuse timer expires; and

designating an unassigned state for the port when the port reuse timer expires.

3. The method of claim 2 , where assigning the value to the port reuse timer based on the overall NAT port utilization level further comprises:

selecting from one of a minimum time value, a maximum time value, and an intermediate time value based on a current NAT port utilization level.

4. The method of claim 1 , wherein detecting the closing of the TCP session includes detecting messages indicating both endpoints of the TCP session are ready to close a connection.

5. The method of claim 1 , wherein assigning the one or more timing thresholds further comprises:

starting, in response to the detecting, a first timer;

maintaining the port in an assigned state until the first timer expires; and

designating the port with an intermediate state after the first timer expires and before a second timer expires.

6. The method of claim 5 , wherein the intermediate state permits assignment by the network device when the overall NAT port utilization level exceeds a threshold.

7. The method of claim 5 , wherein ports in an unassigned state are prioritized for assignment over ports in the intermediate state.

8. The method of claim 5 , further comprising:

assigning ports from the intermediate state in order of decreasing age.

9. The method of claim 1 , wherein the network device includes:

a Packet Data Network Gateway (PGW), or

a User Plane Function (UPF).

10. A network device comprising:

a processor configured to:

detect a closing of a Transport Control Protocol (TCP) session, wherein the TCP session uses a port designated for Network Address Translation (NAT);

monitor an overall NAT port utilization level of the network device; and

assign one or more timing thresholds for a two-stage timer that permits reuse of the port and releases the port based on the overall NAT port utilization level.

11. The network device of claim 10 , wherein, when assigning the one or more timing thresholds, the processor is further configured to:

assign a value to a port reuse timer based on the overall NAT port utilization level;

maintain an assigned state for the port until the port reuse timer value expires; and

designate an unassigned state for the port when the port reuse timer value expires.

12. The network device of claim 11 , wherein, when assigning the value to the port reuse timer, the processor is further configured to:

select from one of a minimum time value, a maximum time value, and an intermediate time value based on a current NAT port utilization level.

13. The network device of claim 10 , wherein, when detecting the closing of the TCP session, the processor is further configured to:

detect messages indicating both endpoints of the TCP session are ready to close a connection.

14. The network device of claim 10 , wherein, assigning the one or more timing thresholds, the processor is further configured to:

start, in response to the detecting, a first timer;

maintain the port in an assigned state until the first timer expires; and

designate the port with an intermediate state after the first timer expires and before a second timer expires.

15. The device of claim 14 , wherein the intermediate state permits assignment by the network device when the overall NAT port utilization level exceeds a threshold.

16. The network device of claim 15 , wherein the processor is further configured to:

assign ports from the intermediate state in order of decreasing age.

17. The network device of claim 10 , wherein the network device includes:

a Packet Data Network Gateway (PGW), or

a User Plane Function (UPF).

18. A non-transitory, computer-readable storage medium storing instructions executable by a processor of a network device, which when executed cause the network device to:

detect a closing of a Transport Control Protocol (TCP) session, wherein the TCP session uses a port designated for Network Address Translation (NAT);

monitor an overall NAT port utilization level of the network device; and

assign one or more timing thresholds for a two-stage timer that permits reuse of the port and releases the port based on the overall NAT port utilization level.

19. The non-transitory, computer-readable medium of claim 18 , wherein the instructions to assign one or more timing thresholds further cause the network device to:

assign a value to a port reuse timer based on the overall NAT port utilization level;

maintain an assigned state for the port until the port reuse timer value expires; and

designate an unassigned state for the port when the port reuse timer value expires.

20. The non-transitory, computer-readable medium of claim 18 , wherein the instructions assign one or more timing thresholds further cause the network device to:

select from one of a minimum time value, a maximum time value, or an intermediate time value based on a current NAT port utilization level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2024
From: MATHISON, JAMES
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 067493/0519 →
Continuity (2)
Continuation 17717475 · Apr 11, 2022
Related Publication 20240314101A1 · Sep 19, 2024
References Cited (17)
US 8892724B1 · Bertz · 2014 [cited by examiner]
US 10469446B1 · Chigurupati · 2019 [cited by examiner]
US 11178230B1 · Sreenivasan · 2021 [cited by examiner]
US 12015588B2 · Mathison · 2024 [cited by examiner]
US 20030114166A1 · Franz · 2003 [cited by examiner]
US 20030212772A1 · Harris · 2003 [cited by examiner]
US 20030212795A1 · Harris · 2003 [cited by examiner]
US 20040193683A1 · Blumofe · 2004 [cited by examiner]
US 20050060414A1 · Phillips · 2005 [cited by examiner]
US 20120207173A1 · Namihira · 2012 [cited by examiner]
US 20130185404A1 · Patel · 2013 [cited by examiner]
US 20130243007A1 · Ding · 2013 [cited by examiner]
US 20150372973A1 · Lopez Da Silva · 2015 [cited by examiner]
US 20210250397A1 · Pane · 2021 [cited by examiner]
US 20220174038A1 · Yu · 2022 [cited by examiner]
US 20220224669A1 · Bouvet · 2022 [cited by examiner]
US 20230269815A1 · Tang · 2023 [cited by examiner]