IP Library Granted Patent US 11,956,145
Granted Patent B1
US 11,956,145 · App. 18/236,759 · Granted Apr 9, 2024

Method and apparatus to recover flow using an error message in a tunnel-less SDWAN

Inventors: Fidelis Prashanth (San Jose, CA); Jayakrishnan Iyer (Morgan Hill, CA); Apurva Mehta (Cupertino, CA)
Assignee: Versa Networks, Inc.
H04L45/28H04L43/0847H04L45/566H04L63/0428
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 11,956,145
App. No.
18/236,759
Granted
Apr 9, 2024
Kind
B1
Abstract

A flow identifier is described for packet sequences through a secure tunnel of an SD-WAN and an error message for recovering the flow. A method includes receiving a sequence of packets, facilitating a first secure tunnel between a first hub and a second hub, assigning a first flow identifier to the sequence of packets, encapsulating a first start packet, the wrapper including the first flow identifier, sending the encapsulated first start packet to the second hub through the first secure tunnel, receiving an error message from the second hub, the error message including the first flow identifier and an error code, facilitating a second secure tunnel, assigning a second flow identifier, encapsulating a second start packet, the wrapper including the second flow identifier, and sending the encapsulated second start packet through the second secure tunnel.

Claims (60)

1. A method to route traffic through a software-defined wide area network (SD-WAN) between a first hub and a second hub, the method comprising:

receiving a sequence of packets from a first client at the first hub, the sequence of packets each having a same flow;

facilitating a secure tunnel between the first hub and the second hub;

assigning a first flow identifier to the sequence of packets of the flow;

encapsulating a first start packet of the sequence of packets in a wrapper, the wrapper including the first flow identifier;

sending the encapsulated first start packet of the sequence of packets from the first hub to the second hub through the secure tunnel;

receiving an error message from the second hub, the error message including the first flow identifier and an error code;

facilitating the secure tunnel again between the first hub and the second hub in response to receiving the error message;

assigning a second flow identifier to the sequence of packets;

encapsulating a second start packet of the sequence of packets in a wrapper, the wrapper including the second flow identifier; and

sending the encapsulated second start packet of the sequence of packets from the first hub to the second hub through the secure tunnel;

further comprising:

converting fields of a header of a third packet of the sequence of packets to a header format that has fewer bytes to form a reduced third packet;

encapsulating the reduced third packet in a wrapper that includes the second flow identifier; and

sending the encapsulated reduced third packet from the first hub to the second hub through the secure tunnel.

2. The method of claim 1 , wherein the error message is configured to indicate an error with a flow of the sequence of packets associated with the first flow identifier.

3. The method of claim 1 , wherein the error code is configured to indicate that a session associated with the secure tunnel has aged.

4. The method of claim 1 , wherein the error code is configured to indicate that the second hub has restarted.

5. The method of claim 1 , wherein the error code is configured to indicate that the second hub did not find the first flow identifier.

6. The method of claim 1 , wherein the error message is configured as an Internet Control Message Protocol (ICMP) message.

7. The method of claim 1 , wherein converting fields comprises converting the fields of the reduced third packet to a metadata supplement to the reduced third packet.

8. The method of claim 1 , wherein converting fields comprises removing the second start packet header and combining the second start packet header and the second flow identifier to form metadata attached to a payload of the reduced third packet before encapsulating the reduced third packet.

9. The method of claim 1 , further comprising:

converting fields of a header of a fourth packet of the sequence of packets to a header format that has fewer bytes to form a reduced fourth packet;

encapsulating the reduced fourth packet in a wrapper that includes the second flow identifier; and

sending the encapsulated reduced fourth packet of the sequence of packets from the first hub to the second hub through the secure tunnel.

10. A non-transitory computer-readable storage medium containing program instructions, which when executed by the computer cause the computer to perform operations comprising:

receiving a sequence of packets from a first client at a first hub, the sequence of packets each having a same flow;

facilitating a secure tunnel between the first hub and a second hub;

assigning a first flow identifier to the sequence of packets having the flow;

encapsulating a start packet of the sequence of packets in a wrapper, the wrapper including the first flow identifier;

sending the encapsulated start packet of the sequence of packets from the first hub to the second hub through the secure tunnel;

receiving an error message from the second hub, the error message including the first flow identifier and an error code;

facilitating a second secure tunnel between the first hub and the second hub in response to receiving the error message;

assigning a second flow identifier to the sequence of packets;

encapsulating a second start packet of the sequence of packets in a wrapper, the wrapper including the second flow identifier; and

sending the encapsulated second start packet of the sequence of packets from the first hub to the second hub through the second secure tunnel;

the operations further comprising:

associating fields of a header of the second start packet with the second flow identifier;

removing the associated fields from a header of a third packet of the sequence of packets to form a reduced third packet; and

encapsulating the reduced third packet in a wrapper that includes the second flow identifier; and

sending the encapsulated reduced third packet of the sequence of packets from the first hub to the second hub through the second secure tunnel,

wherein sending the encapsulated second start packet comprises sending the encapsulated second start packet without removing fields from a header of the second start packet.

11. The medium of claim 10 , wherein the error message is configured to indicate an error with a flow of the sequence of packets associated with the first flow identifier.

12. The medium of claim 10 , wherein the error code is configured to indicate that the second hub did not find the first flow identifier.

13. The medium of claim 10 , wherein the error message is configured as an Internet Control Message Protocol (ICMP) message.

14. A network node comprising:

a processor and memory configured to;

receive a sequence of packets from a first client, the sequence of packets each having a same flow;

facilitate a secure tunnel between the network node and a hub and to assign a first flow identifier to the sequence of packets; and

encapsulate a first start packet of the sequence of packets in a wrapper, the wrapper including the first flow identifier;

send the encapsulated first start packet of the sequence of packets from the network node to the hub through the secure tunnel, and to receive an error message from the hub, the error message including the first flow identifier and an error code;

facilitate a second secure tunnel between the network node and the hub in response to receiving the error message and to assign a second flow identifier to the sequence of packets;

encapsulate a second start packet of the sequence of packets in a wrapper, the wrapper including the second flow identifier;

send the encapsulated second start packet of the sequence of packets from the network node to the hub through the second secure tunnel;

convert fields of a header of a third packet of the sequence of packets to a header format that has fewer bytes to form a reduced third packet and to encapsulate the reduced third packet in a wrapper that includes the second flow identifier; and

send the encapsulated reduced third packet from the network node to the hub through the second secure tunnel,

wherein sending the encapsulated second start packet comprises sending the encapsulated second start packet without removing fields from a header of the second start packet.

15. The network node of claim 14 , wherein converting fields comprises converting the fields of the reduced packet to a metadata supplement to the reduced packet.

16. The network node of claim 14 , wherein the sequence of packets each having a same flow each have a same 5-tuple.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2023
From: PRASHANTH, FIDELIS; IYER, JAYAKRISHNAN; MEHTA, APURVA
To: VERSA NETWORKS, INC.
Reel/Frame 064680/0247 →
Continuity (2)
Provisional Application 63476316 · Dec 20, 2022
Provisional Application 63437095 · Jan 4, 2023