IP Library Granted Patent US 9,769,116
Granted Patent B2
US 9,769,116 · App. 13/621,387 · Granted Sep 19, 2017

Encapsulating traffic while preserving packet characteristics

Inventors: Robert Robinson (Waterloo, CA); Jakub Schmidtke (Waterloo, CA); Severn Tsui (Waterloo, CA); Nicholas Armstrong (Waterloo, CA)
Assignee: WILMERDING COMMUNICATIONS LLC
H04L61/2592H04L12/4633H04L45/74H04L61/2507
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 9,769,116
App. No.
13/621,387
Granted
Sep 19, 2017
Kind
B2
Abstract

A method for encapsulating a packet of data from a data flow is described. The packet comprises a flow network header for identifying a source network address and a target destination network address and a flow transport network header for identifying a source port and a target destination port. The method comprises the following steps. The flow network header is replaced with an encapsulation network header for identifying an encapsulation network address and a decapsulation network address. The decapsulation network address specifies the address of a decapsulation node. The flow transport header is replaced with an encapsulation transport header for identifying an encapsulation port and a decapsulation port. The decapsulation port is configured to be the same as the target destination port. A method for decapsulating the encapsulated packet, as well as network nodes configured to implement the methods, are also described.

Claims (46)

1. A method for encapsulating a packet of data from a data flow, the packet comprising a flow network header for identifying a source network address and a target destination network address and a flow transport header for identifying a source port and a target destination port, the method comprising:

replacing the flow network header with an encapsulation network header for identifying an encapsulation network address and a decapsulation network address; the decapsulation network address specifying the address of a decapsulation node; and

replacing the flow transport header with an encapsulation transport header having a destination port configured to be the same as the target destination port.

2. The method of claim 1 comprising the further step of creating an encapsulation header including information to be used when decapsulating the packet.

3. The method of claim 2 wherein the encapsulation transport header is the same as the flow transport header.

4. The method of claim 3 comprising the further steps of relocating the flow network header to a first predetermined location within the packet and relocating the encapsulation header to a second predetermined location within the packet.

5. The method of claim 2 comprising the further step of transmitting header information header to a decapsulation node using a separate channel from the packet.

6. The method of claim 5 , wherein the header information includes one or more of the source network address, the target destination network address, the source port, the target destination port or the encapsulation network header.

7. The method of claim 6 comprising the further steps of creating a flow identifier for associating the flow network header with the encapsulated packet, and adding the flow identifier to packet.

8. The method of claim 7 wherein the flow identifier is included in the encapsulation network header.

9. The method of claim 1 wherein the encapsulation transport header is the same as the flow transport header.

10. The method of claim 9 comprising the further step of relocating the flow network header to a first predetermined location within the packet.

11. The method of claim 1 comprising the further step of transmitting header information header to a decapsulation node using a separate channel from the packet.

12. The method of claim 11 , wherein the header information includes one or more of the source network address, the target destination network address, the source port or the target destination port.

13. The method of claim 12 comprising the further steps of creating a flow identifier for associating the flow network header with the encapsulated packet, and adding the flow identifier to the packet.

14. The method of claim 13 wherein the flow identifier is further included in the encapsulation network header.

15. A method for decapsulating an encapsulated packet of data, the encapsulation packet comprising an encapsulation network header for identifying an encapsulation network address and a decapsulation network address, and an encapsulation transport header for identifying an encapsulation port and a target destination port, the method comprising:

replacing the encapsulation network header with a flow network header for identifying a source network address and a destination network address; and

replacing the encapsulation transport header with a flow transport header having a destination port configured to be the same as the target destination port.

16. The method of claim 15 comprising the further step of retrieving the flow network header from a first predetermined location within the packet.

17. The method of claim 16 comprising the further step of retrieving an encapsulation header from a second predetermined location within the packet.

18. The method of claim 15 comprising the further step of receiving header information header from an encapsulation node via a separate channel from the packet.

19. The method of claim 18 , wherein the header information includes one or more of the source network address, the target destination network address, the source port or the target destination port.

20. The method of claim 18 , wherein the encapsulated packet further includes a first flow identifier and the header information further includes a second flow identifier the packet is associated with corresponding header information by comparing the first and second flow identifiers.

21. The method of claim 20 wherein header information further includes an encapsulation header.

22. The method of claim 20 wherein the destination network address and the target destination port are derived from information available within a payload of the packet.

23. The method of claim 22 wherein the destination network address and the target destination port are derived from an application-layer header.

24. A network node configured to encapsulate a packet of data from a data flow, the packet comprising a flow network header for identifying a source network address and a target destination network address and a flow transport header for identifying a source port and a target destination port, the network node comprising:

a processor; and

memory for storing instructions, which when executed cause the processor to implement the steps of:

replacing the flow network header with an encapsulation network header for identifying an encapsulation network address and a decapsulation network address; the decapsulation network address specifying the address of a decapsulation node; and

replacing the flow transport header with an encapsulation transport header having a destination port configured to be the same as the target destination port.

25. The network node of claim 24 comprising further instruction for creating an encapsulation header including information to be used when decapsulating the packet.

26. The network node of claim 24 wherein the encapsulation transport header is the same as the flow transport header.

27. The network node of claim 26 comprising further instruction for relocating the flow network header to a first predetermined location within the packet.

28. The network node of claim 24 comprising further instruction for transmitting header information header to a decapsulation node using a separate channel from the packet.

29. The network node of claim 28 , wherein the header information includes one or more of the source network address, the target destination network address, the source port or the target destination port.

30. The network node of claim 29 comprising further instruction for creating a flow identifier for associating the flow network header with the encapsulated packet, and adding the flow identifier to the packet.

31. A network node configured to decapsulate an encapsulated packet of data, the encapsulation packet comprising an encapsulation network header for identifying an encapsulation network address and a decapsulation network address, and an encapsulation transport header for identifying an encapsulation port and a target destination port, the network node comprising:

a processor; and

memory for storing instructions, which when executed cause the processor to implement the steps of:

replacing the encapsulation network header with a flow network header for identifying a source network address and a destination network address; and

replacing the encapsulation transport header with a flow transport header having a destination port configured to be the same as the target destination port.

32. The network node of claim 31 comprising further instruction for retrieving the flow network header from a first predetermined location within the packet.

33. The network node of claim 32 comprising further instruction for retrieving an encapsulation header from a second predetermined location within the packet.

34. The network node of claim 31 comprising further instruction for receiving header information header from an encapsulation node via a separate channel from the packet.

Assignments (4)
SECURITY INTEREST Recorded Jan 28, 2020
From: WILMERDING COMMUNICATIONS, LLC
To: CTH LENDING COMPANY, LLC
Reel/Frame 051642/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2016
From: PRAVALA, INC.
To: WILMERDING COMMUNICATIONS LLC
Reel/Frame 037873/0021 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2016
From: ROBINSON, ROBERT; SCHMIDTKE, JACKUB; TSUI, SEVERN; ARMSTRONG, NICHOLAS
To: PRAVALA NETWORKS INC.
Reel/Frame 037692/0008 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2016
From: PRAVALA NETWORKS, INC.
To: PRAVALA, INC.
Reel/Frame 037692/0316 →
Continuity (2)
Provisional Application 61535450 · Sep 16, 2011
Related Publication 20130136128A1 · May 30, 2013