IP Library Granted Patent US 10,091,099
Granted Patent B2
US 10,091,099 · App. 15/169,188 · Granted Oct 2, 2018

Session continuity in the presence of network address translation

Inventors: Abilash Menon (Boxborough, MA); Anna Yungelson (Lexington, MA); Scott A. McCulley (Groton, MA); Robert Penfield (Concord, MA); Francisco Jose Mendez Cirera (Cambridge, MA); Thomas E. Sullivan (Ridgewood, NJ)
Assignee: 128 Technology, Inc.
H04L45/38H04L49/25H04L61/2514H04L67/142
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 10,091,099
App. No.
15/169,188
Granted
Oct 2, 2018
Kind
B2
Abstract

Embodiments of the present invention provide for continuity of “stateful” routing sessions in the presence of source network address translation (NAT). Specifically, a stateful routing session may be moved from one routing path to another routing path, e.g., due to a routing change in the communication network, where the routing paths have different source NAT status. For example, the stateful routing session may be moved from a path having no source NAT to a path having source NAT, from a path having source NAT to a path having no source NAT, or from paths having different source network address translations. When a stateful routing session is moved from an existing routing path to a new routing path, the routers detect the routing change based on the change in source NAT status using a special link monitoring protocol. Upon detecting the change in source NAT status, session metadata is included in at least the first packet forwarded following detection of the change in source NAT status so that the stateful routing session can continue without interruption.

Claims (74)

1. A method of providing session continuity by a router in the presence of source network address translation (NAT), the method comprising:

establishing, by the router, a stateful routing session with a remote router including transmitting to the remote router first session metadata allowing the remote router to associate source address information received in session-related packets with the stateful routing session in accordance with a first source NAT status;

running, by the router, a link monitoring protocol with the remote router to detect a change in source NAT status associated with the stateful routing session to a second source NAT status due to one of (a) a change from source NAT disabled to source NAT enabled, (b) a change from source NAT enabled to source NAT disabled, or (c) a change from a first source address translation to a second source address translation; and

sending, by the router, second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status so that the stateful routing session continues without interruption.

2. The method according to claim 1 , wherein the link monitoring protocol is an augmented Bidirectional Forwarding Detection (BFD) protocol.

3. The method according to claim 1 , further comprising:

modifying, by the router, a flow associated with the stateful routing session based on the change in source NAT status.

4. The method according to claim 3 , wherein modifying the flow comprises:

deactivating the flow;

establishing a new flow based on the change in source NAT status; and

activating the new flow.

5. The method according to claim 4 , wherein:

the flow includes an action chain having a chain descriptor linked to a series of functional blocks;

deactivating the flow comprises deactivating the action chain;

establishing the new flow comprises establishing a new action chain comprising the chain descriptor and a new series of functional blocks linked to the chain descriptor; and

activating the new flow comprises activating the new action chain.

6. The method according to claim 4 , wherein modifying the flow further comprises:

storing context information associated with the flow;

linking the new flow to the stored context information; and

using the stored context information to forward packets using the new flow.

7. The method according to claim 1 , wherein sending second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status comprises:

activating a metadata action mechanism associated with the stateful routing session to cause the router to send second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status.

8. A router comprising:

a plurality of communication interfaces;

a computer storage; and

a packet router configured to implement a method of providing session continuity in the presence of source network address translation (NAT), the method comprising:

establishing, by the packet router, a stateful routing session with a remote router including transmitting to the remote router first session metadata allowing the remote router to associate source address information received in session-related packets with the stateful routing session in accordance with a first source NAT status;

running, by the packet router, a link monitoring protocol with the remote router to detect a change in source NAT status associated with the stateful routing session to a second source NAT status due to one of (a) a change from source NAT disabled to source NAT enabled, (b) a change from source NAT enabled to source NAT disabled, or (c) a change from a first source address translation to a second source address translation; and

sending, by packet the router, second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status so that the stateful routing session continues without interruption.

9. The router according to claim 8 , wherein the link monitoring protocol is an augmented Bidirectional Forwarding Detection (BFD) protocol.

10. The router according to claim 8 , wherein the method further comprises:

modifying, by the packet router, a flow associated with the stateful routing session based on the change in source NAT status.

11. The router according to claim 10 , wherein modifying the flow comprises:

deactivating the flow;

establishing a new flow based on the change in source NAT status; and

activating the new flow.

12. The router according to claim 11 , wherein:

the flow includes an action chain having a chain descriptor linked to a series of functional blocks;

deactivating the flow comprises deactivating the action chain;

establishing the new flow comprises establishing a new action chain comprising the chain descriptor and a new series of functional blocks linked to the chain descriptor; and

activating the new flow comprises activating the new action chain.

13. The router according to claim 11 , wherein modifying the flow further comprises:

storing context information associated with the flow;

linking the new flow to the stored context information; and

using the stored context information to forward packets using the new flow.

14. The router according to claim 8 , wherein sending second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status comprises:

activating a metadata action mechanism associated with the stateful routing session to cause the router to send second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status.

15. A computer program product comprising a tangible, non-transitory computer readable medium having embodied therein a computer program that, when run on at least one computer processor, implements a packet router for a router, the packet router implementing a method of providing session continuity in the presence of source network address translation (NAT), the method comprising:

establishing, by the packet router, a stateful routing session with a remote router including transmitting to the remote router first session metadata allowing the remote router to associate source address information received in session-related packets with the stateful routing session in accordance with a first source NAT status;

running, by the packet router, a link monitoring protocol with the remote router to detect a change in source NAT status associated with the stateful routing session to a second source NAT status due to one of (a) a change from source NAT disabled to source NAT enabled, (b) a change from source NAT enabled to source NAT disabled, or (c) a change from a first source address translation to a second source address translation; and

sending, by the packet router, second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status so that the stateful routing session continues without interruption.

16. The computer program product according to claim 15 , wherein the link monitoring protocol is an augmented Bidirectional Forwarding Detection (BFD) protocol.

17. The computer program product according to claim 15 , wherein the method further comprises:

modifying, by the packet router, a flow associated with the stateful routing session based on the change in source NAT status.

18. The computer program product according to claim 17 , wherein modifying the flow comprises:

deactivating the flow;

establishing a new flow to associate the second ingress interface with the first egress interface; and

activating the new flow.

19. The computer program product according to claim 18 , wherein:

the flow includes an action chain having a chain descriptor linked to a series of functional blocks;

deactivating the flow comprises deactivating the action chain;

establishing the new flow comprises establishing a new action chain comprising the chain descriptor and a new series of functional blocks linked to the chain descriptor; and

activating the new flow comprises activating the new action chain.

20. The computer program product according to claim 18 , wherein modifying the flow further comprises:

storing context information associated with the flow;

linking the new flow to the stored context information; and

using the stored context information to forward packets using the new flow.

21. The computer program product according to claim 15 , wherein sending second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status comprises:

activating a metadata action mechanism associated with the stateful routing session to cause the router to send second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status.

22. A system comprising:

a first router; and

a remote router, wherein:

the first router is configured to establish a stateful routing session with the remote router including transmitting to the remote router first session metadata allowing the remote router to associate first source address information received in session-related packets with the stateful routing session in accordance with a first source NAT status, run a link monitoring protocol with the remote router to detect a change in source NAT status associated with the stateful routing session to a second source NAT status due to one of (a) a change from source NAT disabled to source NAT enabled, (b) a change from source NAT enabled to source NAT disabled, or (c) a change from a first source address translation to a second source address translation, and send second session metadata in at least a first session packet forwarded to the remote router following detection of the change in source NAT status so that the stateful routing session continues without interruption; and

the remote router is configured to receive the at least first session packet containing the second session metadata for the stateful routing session associated with the change in source NAT status, identify the stateful routing session based on the second session metadata, and update session-related information and affected flows based on header information in the at least first session packet.

Assignments (2)
NUNC PRO TUNC ASSIGNMENT Recorded May 6, 2026
From: 128 TECHNOLOGY, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 075513/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2016
From: MENON, ABILASH; YUNGELSON, ANNA; MCCULLEY, SCOTT A; PENFIELD, ROBERT; MENDEZ CIRERA, FRANCISCO JOSE; SULLIVAN, THOMAS E.
To: 128 TECHNOLOGY, INC.
Reel/Frame 039414/0836 →
Continuity (1)
Related Publication 20170346787A1 · Nov 30, 2017
Cited By (1)
US 12,363,035