IP Library Granted Patent US 12,401,602
Granted Patent B2
US 12,401,602 · App. 18/236,741 · Granted Aug 26, 2025

Method and apparatus for flow identifier of packet sequence in tunnel-less SDWAN

Inventors: Fidelis Prashanth (San Jose, CA); Jayakrishnan Iyer (Morgan Hill, CA); Apurva Mehta (Cupertino, CA)
Assignee: Versa Networks, Inc.
H04L47/2483H04L43/0847H04L63/029H04L63/0428H04L2212/00
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,401,602
App. No.
18/236,741
Granted
Aug 26, 2025
Kind
B2
Abstract

A flow identifier is described for packet sequences through a secure tunnel of an SD-WAN in a tunnel-less mode. A method includes receiving a sequence of packets from a first client at the first hub, the sequence of packets each having a same flow and facilitating a secure tunnel between the first hub and the second hub. A flow identifier is assigned to the sequence of packets. Fields of a header of a start packet of the sequence of packets are associated with the flow identifier and the associated fields are removed from a header of a second packet of the sequence of packets to form a reduced packet. The reduced packet is encapsulated in a wrapper that includes the flow identifier, and the encapsulated reduced packet of the sequence of packets is sent from the first hub to the second hub through the secure tunnel.

Claims (70)

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

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

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

assigning a flow identifier to the sequence of packets;

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

encapsulating the start packet including the associated fields in a wrapper that includes the flow identifier in the wrapper;

sending the start packet with the flow identifier and the associated fields from the first hub to the second hub;

receiving, through the secure tunnel, a flow learnt status from the second hub in response to sending the start packet, the flow learnt status indicating that the second hub has learnt the flow identifier;

updating the flow learnt status at the first hub as true in response to receiving the flow learnt status;

removing the associated fields from a header of a second packet of the sequence of packets to form a reduced packet in response to receiving the flow learnt status;

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

sending the encapsulated reduced 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 including the flow identifier;

facilitating the 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 third packet of the sequence of packets in a wrapper, the wrapper including the second flow identifier; and

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

2. The method of claim 1 , wherein:

encapsulating the start packet comprises encapsulating the header of the encapsulated start packet including the associated fields; and

sending the encapsulated start packet from the first hub to the second hub comprises sending the encapsulated start packet through the secure tunnel.

3. The method of claim 1 , further comprising performing a capabilities exchange between the first hub and the second hub for the flow identifier before removing the associated fields.

4. The method of claim 1 , wherein facilitating a secure tunnel comprises facilitating a session between the first hub and the second hub for the secure tunnel.

5. The method of claim 4 , further comprising updating a state of the session with the flow learnt status.

6. The method of claim 1 , further comprising receiving a second flow identifier from the second hub through the secure tunnel; and

receiving reply encapsulated packets directed to a source address of the sequence of packets.

7. The method of claim 6 , wherein the second flow identifier is included within a wrapper of the reply encapsulated packets.

8. The method of claim 6 , further comprising saving the second flow identifier and using the second flow identifier to identify subsequent reply encapsulated packets received from the second hub.

9. The method of claim 6 , wherein receiving reply encapsulated packets comprises receiving a reply start packet, the method further comprising:

decapsulating the reply encapsulated packets;

recreating headers of the decapsulated reply encapsulated packets based on a header received with the reply start packet; and

forwarding the decapsulated reply packets to the source address of the sequence of packets.

10. The method of claim 1 , wherein removing the associated fields comprises removing fields that are the same in the sequence of packets.

11. The method of claim 1 , further comprising converting fields of the second packet header to a header format that has fewer bytes.

12. The method of claim 11 , wherein converting fields comprises converting the fields of the reduced packet to a metadata supplement to the reduced packet.

13. The method of claim 1 , further comprising removing the second packet header and combining the second packet header and the flow identifier to form metadata attached to a payload of the reduced packet before encapsulating the reduced packet.

14. The method of claim 1 , further comprising encrypting the reduced packet before encapsulating the reduced packet.

15. The method of claim 1 , wherein the sequence of packets each have a same flow each have a same 5-tuple.

16. The method of claim 1 , further comprising increasing a value of a maximum segment size parameter of a header of the reduced packet before encapsulating the reduced packet.

17. 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 flow identifier to the sequence of packets;

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

encapsulating the start packet including the associated fields in a wrapper that includes the flow identifier in the wrapper;

sending the start packet with the flow identifier and the associated fields from the first hub to the second hub;

receiving, through the secure tunnel, a flow learnt status from the second hub in response to sending the start packet, the flow learnt status indicating that the second hub has learnt the flow identifier;

updating the flow learnt status at the first hub as true in response to receiving the flow learnt status;

removing the associated fields from a header of a second packet of the sequence of packets to form a reduced packet, in response to receiving the flow learnt status;

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

sending the encapsulated reduced 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 including the flow identifier:

facilitating the 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 third packet of the sequence of packets in a wrapper, the wrapper including the second flow identifier: and

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

18. The medium of claim 17 , the operations further comprising performing a capabilities exchange between the first hub and the second hub for the flow identifier before removing the associated fields.

19. The medium of claim 17 , wherein facilitating a secure tunnel comprises facilitating a session between the first hub and the second hub for the secure tunnel.

20. The medium of claim 17 , the operations further comprising receiving an acknowledgement of the flow identifier from the second hub and updating a state of the session with the acknowledgement.

21. The medium of claim 17 , the operations further comprising:

receiving a second flow identifier from the second hub through the secure tunnel, the second flow identifier being included within a wrapper of a reply encapsulated packet;

saving the second flow identifier;

receiving subsequent reply encapsulated packets directed to a source address of the sequence of packets; and

using the second flow identifier to identify subsequent reply encapsulated packets received from the second hub.

22. A network node comprising:

a communications interface configured to receive a sequence of packets from a first client, the sequence of packets each of a same flow and to receive, through a secure tunnel, in response to sending a start packet, a flow learnt status indicating that a hub has learnt a flow identifier;

a session management module configured to facilitate the secure tunnel between the network node and the hub, to assign the flow identifier to the sequence of packets, and to update the flow learnt status as true in response to receiving the flow learnt status; and

a processor configured to associate fields of a header of the start packet of the sequence of packets with the flow identifier, to encapsulate the start packet including the associated fields in a wrapper that includes the flow identifier in the wrapper, to remove the associated fields from a header of a second packet of the sequence of packets to form a reduced packet in response to receiving the flow learnt status, and to encapsulate the reduced packet in a wrapper that includes the flow identifier in the wrapper,

the communications interface further configured to send the encapsulated start packet and the encapsulated reduced packet of the sequence of packets to the hub through the secure tunnel,

the communications interface further configured to receive an error message from the second hub including the flow identifier to encapsulate a third packet of the sequence of packets in a wrapper, the wrapper including a second flow identifier, and to send the encapsulated reduced packet of the sequence of packets from the first hub to the second hub through the secure tunnel,

the session management module further configured to facilitate the secure tunnel between the first hub and the second hub in response to receiving the error message and to assign a second flow identifier to the sequence of packets.

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/0211 →
Continuity (3)
Provisional Application 63437095 · Jan 4, 2023
Provisional Application 63476316 · Dec 20, 2022
Related Publication 20240205146A1 · Jun 20, 2024
References Cited (44)
US 5446736A · Gleeson · 1995 [cited by examiner]
US 10091102B2 · Thubert et al. · 2018 [cited by applicant]
US 10979402B1 · Hartley · 2021 [cited by examiner]
US 11516049B2 · Cidon et al. · 2022 [cited by applicant]
US 11671367B1 · Shukla · 2023 [cited by applicant]
US 11722471B1 · Ramanujan · 2023 [cited by applicant]
US 20080080508A1 · Das et al. · 2008 [cited by applicant]
US 20100103837A1 · Jungck et al. · 2010 [cited by applicant]
US 20110296002A1 · Caram · 2011 [cited by applicant]
US 20150063158A1 · Nedeltchev et al. · 2015 [cited by applicant]
US 20150172169A1 · Decusatis et al. · 2015 [cited by applicant]
US 20160127520A1 · Tewari et al. · 2016 [cited by applicant]
US 20170063783A1 · Yong et al. · 2017 [cited by applicant]
US 20180013584A1 · Shen et al. · 2018 [cited by applicant]
US 20190104035A1 · Cidon et al. · 2019 [cited by applicant]
US 20190158605A1 · Markuze et al. · 2019 [cited by applicant]
US 20190199636A1 · Narayanan · 2019 [cited by applicant]
US 20190268973A1 · Bull · 2019 [cited by examiner]
US 20200213151A1 · Srivatsan et al. · 2020 [cited by applicant]
US 20200366526A1 · Boutros et al. · 2020 [cited by applicant]
US 20210036888A1 · Vadde Makkalla et al. · 2021 [cited by applicant]
US 20210144791A1 · Kang · 2021 [cited by examiner]
US 20210184983A1 · Ramaswamy · 2021 [cited by examiner]
US 20220006756A1 · Ramaswamy et al. · 2022 [cited by applicant]
US 20220052984A1 · Valluri et al. · 2022 [cited by applicant]
US 20220116792A1 · Smoot · 2022 [cited by examiner]
US 20220345400A1 · He et al. · 2022 [cited by applicant]
US 20220360566A1 · Sawant et al. · 2022 [cited by applicant]
US 20220394017A1 · Solanki et al. · 2022 [cited by applicant]
US 20230026874A1 · Camarillo Garvia et al. · 2023 [cited by applicant]
US 20230059537A1 · Gavand · 2023 [cited by examiner]
US 20230097734A1 · Parla et al. · 2023 [cited by applicant]
US 20230118718A1 · Solanki et al. · 2023 [cited by applicant]
US 20230179521A1 · Markuze et al. · 2023 [cited by applicant]
US 20230208769A1 · Iyer et al. · 2023 [cited by applicant]
US 20230216772A1 · Veyland · 2023 [cited by examiner]
US 20230353421A1 · Hatte et al. · 2023 [cited by applicant]
US 20240040472A1 · Satyanarayana · 2024 [cited by applicant]
CN 101682858B · 2015 [cited by applicant]
Notice of Allowance (U.S. Appl. No. 18/236,759) dated Feb. 28, 2023, 23 pgs. [cited by applicant]
Office Action for U.S. Appl. No. 18/236,771, dated Apr. 3, 2025, 18 pages. [cited by applicant]
Rawat, Priyanka et al., “Designing a tunneling header compression (TuCP) for tunneling over IP”, 2008 IEEE International Symposium on Wireless Communication Systems; IEEE; Oct. 21-24, 2008; https://ieeexplore.ieee.org/d… [cited by applicant]
Davis, Jonathan J. et al., “Automated feature engineering for HTTP tunnel detection”, Computers & Security; vol. 59; Jun. 2016; https://www.sciencedirect.com/science/article/abs/pii/S0167404816000080; 6 pages. [cited by applicant]
Opmane, Inara et al., “Zero: An efficient ethernet-over-IP tunneling protocol”, Inter-cooperative Collective Intelligence: Techniques and Applications; Jan. 1, 2023; https://link.springer.com/chapter/10.1007/978-3-642-3… [cited by applicant]