IP Library Granted Patent US 10,601,610
Granted Patent B2
US 10,601,610 · App. 15/480,297 · Granted Mar 24, 2020

Tunnel-level fragmentation and reassembly based on tunnel context

Inventors: Andre Poulin (Quebec, CA); Michel Rochon (Ottawa, CA); Alp Dibirdi (Andover, MA)
Assignees: Nokia of America Corporation; Alcatel Lucent
H04L12/4633H04L45/66H04L45/741H04L47/825H04L69/166H04L69/22H04L69/324
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,601,610
App. No.
15/480,297
Granted
Mar 24, 2020
Kind
B2
Abstract

This disclosure generally discloses a tunnel-level fragmentation and reassembly capability configured to support tunnel-level fragmentation and reassembly of a packet being transported via a tunnel between a tunnel source node and a tunnel destination node. The tunnel-level fragmentation and reassembly capability may be configured to support tunnel-level fragmentation and reassembly of packets in a manner tending to prevent reassembly errors, that could cause malformed packets or packet drops at the tunnel destination nodes, due to multiple parallel tunnel contexts of the tunnel which may correspond to multiple parallel entry points into the tunnel at the tunnel source node. The tunnel-level fragmentation and reassembly capability may be configured to support tunnel-level fragmentation and reassembly of packets within various types of communication networks, for various types of tunnels, or the like.

Claims (57)

1. An apparatus, comprising:

at least one processor; and

at least one memory storing a set of instructions;

wherein the set of instructions is configured to, when executed by the at least one processor, cause the apparatus to:

generate, by a first node, a tunnel packet to be transported via a tunnel between the first node and a second node;

identify, by the first node, a tunnel context of the tunnel for the tunnel packet;

determine, by the first node, a packet context identifier for the tunnel packet, the packet context identifier including a tunnel context identifier indicative of the tunnel context of the tunnel for the tunnel packet and a packet identifier configured to uniquely identify the tunnel packet within the tunnel context of the tunnel for the tunnel packet, wherein the tunnel context identifier includes a set of bits identifying a queue of the first node via which the tunnel packet is to be sent; and

send the tunnel packet from the first node toward the second node based on the packet context identifier.

2. The apparatus of claim 1 , wherein the tunnel packet comprises a tunnel header and a tunnel payload, wherein the tunnel payload comprises a packet obtained at the first node and protocol header information.

3. The apparatus of claim 1 , wherein the tunnel context of the tunnel for the tunnel packet is indicative of a tunnel entry point into the tunnel for the tunnel packet at the first node.

4. The apparatus of claim 1 , wherein the tunnel context of the tunnel for the tunnel packet is identified from a set of multiple parallel tunnel contexts providing, respectively, multiple tunnel entry points for the tunnel packet at the first node.

5. The apparatus of claim 1 , wherein the packet identifier comprises a sequence number or a random number.

6. The apparatus of claim 1 , wherein, to send the tunnel packet from the first node toward the second node based on the packet context identifier, the set of instructions is configured to cause the apparatus to:

fragment, by the first node, the tunnel packet to form a set of tunnel fragment packets for the tunnel packet, the tunnel fragment packets including respective tunnel fragment packet payloads including respective portions of a tunnel payload of the tunnel packet, the tunnel fragment packets including respective tunnel fragment packet headers including the packet context identifier for the tunnel packet; and

send the tunnel fragment packets from the first node toward the second node via the tunnel context of the tunnel for the tunnel packet.

7. The apparatus of claim 6 , wherein the tunnel fragment packet headers comprise Generic Routing Encapsulation (GRE) headers, Internet Protocol version 4 (IPv4) headers, IP version 6 (IPv6) headers, or IP Security (IPSec) headers.

8. The apparatus of claim 6 , wherein the tunnel fragment packet headers comprise respective reassembly context tuples including:

a source address field including an address of the first node;

a destination address field including an address of the second node;

a protocol field identifying a protocol of the tunnel packet; and

the packet context identifier for the tunnel packet.

9. The apparatus of claim 6 , wherein the tunnel fragment packet headers comprise Internet Protocol version 4 (IPv4) headers.

10. The apparatus of claim 9 , wherein, for each of the tunnel fragment packet headers, the packet context identifier is included within an Identification Field of the IPv4 header.

11. The apparatus of claim 9 , wherein, for each of the tunnel fragment packet headers, a first portion of the packet context identifier is included within an Identification Field of the IPv4 header and a second portion of the packet context identifier is included within at least one of an options field or a header extension of the IPv4 header.

12. The apparatus of claim 6 , wherein the tunnel fragment packet headers comprise Internet Protocol version 6 (IPv6) headers.

13. The apparatus of claim 12 , wherein, for each of the tunnel fragment packet headers, the packet context identifier is included within an Identification field of a fragment header extension of the IPv6 header.

14. The apparatus of claim 12 , wherein, for each of the tunnel fragment packet headers, a first portion of the packet context identifier is included within an Identification field of a fragment header extension of the IPv6 header and a second portion of the packet context identifier is included within a Flow Label field of the IPv6 header or an extension header of the IPv6 header.

15. The apparatus of claim 1 , wherein, to send the tunnel packet from the first node toward the second node based on the packet context identifier, the set of instructions is configured to cause the apparatus to:

modify a tunnel header of the tunnel packet by inserting within the tunnel header the packet context identifier for the tunnel packet and an indication that downstream fragmentation of the tunnel packet is permitted; and

send the tunnel packet from the first node toward the second node via the tunnel context of the tunnel for the tunnel packet.

16. The apparatus of claim 1 , wherein the packet context identifier is included within an Identification Field of an IPv4 header.

17. The apparatus of claim 1 , wherein a first portion of the packet context identifier is included within an Identification Field of an IPv4 header and a second portion of the packet context identifier is included within at least one of an options field or a header extension of the IPv4 header.

18. The apparatus of claim 1 , wherein the packet context identifier is included within an Identification field of a fragment header extension of an IPv6 header.

19. The apparatus of claim 1 , wherein a first portion of the packet context identifier is included within an Identification field of a fragment header extension of an IPv6 header and a second portion of the packet context identifier is included within a Flow Label field of the IPv6 header or an extension header of the IPv6 header.

20. The apparatus of claim 1 , wherein the tunnel context of the tunnel for the tunnel packet is based on:

a line card of the first node via which the tunnel packet is to be sent;

a port of the first node via which the tunnel packet is to be sent; and

the queue of the first node via which the tunnel packet is to be sent.

21. The apparatus of claim 20 , wherein the tunnel context identifier includes:

a set of bits identifying the line card of the first node via which the tunnel packet is to be sent; and

a set of bits identifying the port of the first node via which the tunnel packet is to be sent.

22. The apparatus of claim 21 , wherein the set of bits identifying the line card of the first node via which the tunnel packet is to be sent includes four bits, set of bits identifying the port of the first node via which the tunnel packet is to be sent includes four bits, and the set of bits identifying the queue of the first node via which the tunnel packet is to be sent includes four bits.

23. The apparatus of claim 1 , wherein the tunnel context of the tunnel for the tunnel packet is based on:

a line card of the first node via which the tunnel packet is to be sent;

a port of the first node via which the tunnel packet is to be sent;

the queue of the first node via which the tunnel packet is to be sent; and

a network interface of the first node via which the tunnel packet is to be sent.

24. The apparatus of claim 23 , wherein the tunnel context identifier includes:

a set of bits identifying the line card of the first node via which the tunnel packet is to be sent;

a set of bits identifying the port of the first node via which the tunnel packet is to be sent; and

a set of bits identifying the network interface of the first node via which the tunnel packet is to be sent.

25. The apparatus of claim 24 , wherein the set of bits identifying the line card of the first node via which the tunnel packet is to be sent includes four bits, set of bits identifying the port of the first node via which the tunnel packet is to be sent includes four bits, the set of bits identifying the queue of the first node via which the tunnel packet is to be sent includes four bits, and the set of bits identifying the network interface of the first node via which the tunnel packet is to be sent includes at least six bits.

26. A method, comprising:

generating, by a first node, a tunnel packet to be transported via a tunnel between the first node and a second node;

identifying, by the first node, a tunnel context of the tunnel for the tunnel packet;

determining, by the first node, a packet context identifier for the tunnel packet, the packet context identifier including a tunnel context identifier indicative of the tunnel context of the tunnel for the tunnel packet and a packet identifier configured to uniquely identify the tunnel packet within the tunnel context of the tunnel for the tunnel packet, wherein the tunnel context identifier includes a set of bits identifying a queue of the first node via which the tunnel packet is to be sent; and

sending the tunnel packet from the first node toward the second node based on the packet context identifier.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: ALCATEL-LUCENT CANADA INC.
To: ALCATEL LUCENT
Reel/Frame 045503/0974 →
MERGER AND CHANGE OF NAME Recorded Mar 28, 2018
From: NOKIA SOLUTIONS AND NETWORKS US LLC; ALCATEL-LUCENT USA INC.; ALCATEL-LUCENT USA INC.
To: NOKIA OF AMERICA CORPORATION
Reel/Frame 045373/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2017
From: POULIN, ANDRE; ROCHON, MICHEL
To: ALCATEL-LUCENT CANADA INC.
Reel/Frame 042706/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2017
From: DIBIRDI, ALP
To: ALCATEL-LUCENT USA INC.
Reel/Frame 042706/0520 →
Continuity (1)
Related Publication 20180294993A1 · Oct 11, 2018
Cited By (1)
US 12,463,881