Flow distribution table for packet flow load balancing
US-2015146539-A1 · May 28, 2015 · US
US11575600B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11575600-B2 |
| Application number | US-202017103614-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 24, 2020 |
| Priority date | Nov 24, 2020 |
| Publication date | Feb 7, 2023 |
| Grant date | Feb 7, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In a novel tunnel-less SD-WAN, when an ingress node of the SD-WAN receives a new packet flow, it identifies the path of the flow through the SD-WAN, and sends an initial prepended set of SD-WAN header values before the first packet for the flow to the next hop along this identified path, rather than encapsulating each packet of the flow with encapsulating tunnel headers that store SD-WAN next hop data for the flow. The prepended set of SD-WAN header values are then used to not only forward the first packet through the SD-WAN, but also to create records at each subsequent hop, which are then used to forward subsequent packets of the flow through the SD-WAN. Instead of identifying the entire packet flow, the first hop in the SD-WAN does not identify the entire path for the packet flow in some embodiments, but just identifies the next hop, as each subsequent hop in the SD-WAN has the task of identifying the next hop through the SD-WAN for the packet flow. Also, in some embodiments, each hop also creates records for the reverse flow in order to automatically forward reply packets along a reverse route.
Opening claim text (preview).
We claim: 1. A method of forwarding packets through a software-defined wide area network (SD-WAN), the method comprising: receiving a first packet of a flow at an ingress forwarding node of the SD-WAN; after receiving the first packet, (i) generating a set of SD-WAN header (SDH) values for the flow, each SDH value specifying a network address for a subsequent forwarding node in the SD-WAN through which the flow should traverse to reach a destination outside of the SD-WAN and (ii) sending the generated set of SDH values to a next forwarding node in the SD-WAN for the next forwarding node and any other subsequent forwarding nodes to use to forward the flow through the SD-WAN without using any encapsulating tunnel header to direct traversal of the flow through the SD-WAN; sending the first packet to the next forwarding node in the SD-WAN; and sending, to the next forwarding node in the SD-WAN, subsequent packets of the flow without sending the set of SDH values again for the subsequent packets. 2. The method of claim 1 , wherein the flow is a Transmission Control Protocol (TCP) flow, the method comprising performing a TCP split operation that comprises said generating and sending of the set of SDH values. 3. The method of claim 1 further comprising identifying a path through the SD-WAN based on header values of the first packet. 4. The method of claim 1 further comprising: at each subsequent forwarding node in the SD-WAN, removing an SDH value that corresponds to the subsequent forwarding node from the set of SDH values and forwarding the remaining set of SDH values to a next subsequent forwarding node when there is a next subsequent forwarding node. 5. The method of claim 4 , wherein when there is not a next subsequent forwarding node, forwarding the flow from the subsequent forwarding node to the destination outside the SD-WAN. 6. The method of claim 4 , wherein the removed SDH value is a leading SDH value of the set of SDH values. 7. The method of claim 4 further comprising, at each of the subsequent forwarding nodes: storing a set of rules based at least partly on the received set of SDH values, the set of rules associating the next subsequent forwarding node with the flow when there is a next subsequent forwarding node; receiving the flow at the subsequent forwarding node; and based on the set of rules, sending the flow to the next subsequent forwarding node. 8. The method of claim 4 further comprising, at each of the subsequent forwarding nodes: splicing a pair of connections associated with the flow; receiving the flow at the subsequent forwarding node through a first connection of the pair of connections; and based on the splicing of the connections, forwarding the flow to the next subsequent forwarding node through the second connection when there is a next subsequent forwarding node. 9. The method of claim 8 , wherein a first forwarding node is a next subsequent forwarding node of a second forwarding node, the method further comprising: receiving a reply flow in response to the flow at the first forwarding node; and based on the splicing of the pair of connections of the first forwarding node, forwarding the reply flow to the second forwarding node through the first connection of the first forwarding node. 10. The method of claim 1 , wherein sending the generated set of SDH values and sending the first packet to the next forwarding node in the SD-WAN comprises sending the generated set of SDH values with the first packet. 11. The method of claim 1 , wherein the sets of instructions for sending the generated set of SDH values and sending the first packet to the next forwarding node in the SD-WAN comprises a set of instructions for sending the generated set of SDH values before sending the first packet. 12. A non-transitory machine readable medium storing a program which when executed by at least one processing unit forwards packets through a software-defined wide area network (SD-WAN), the program comprising sets of instructions for: receiving a first packet of a flow at an ingress forwarding node of the SD-WAN; after receiving the first packet, (i) generating, for the flow, a set of one or more SD-WAN next hop values that specifies a set of one or more network addresses for a set of one or more subsequent forwarding nodes in the SD-WAN through which the flow should traverse to reach a destination outside of the SD-WAN and (ii) sending the generated set of SDH values to a next forwarding node in the SD-WAN for the next forwarding node to use to forward the flow through the SD-WAN; sending the first packet to the next forwarding node in the SD-WAN; and sending, to the next forwarding node in the SD-WAN, subsequent packets of the flow without sending the set of SDH values again for the subsequent packets. 13. The non-transitory machine readable medium of claim 12 , wherein the set of SDH values includes one next hop value specifying a network address of a subsequent forwarding node of the ingress forwarding node. 14. The non-transitory machine readable medium of claim 13 , wherein each subsequent forwarding node: determines a next hop value, specifying a network address of a next subsequent forwarding node, by using, for the first packet, a set of original header values of the flow to identify the next subsequent forwarding node; and creates a connection tracking record for the flow that stores the network address of the next subsequent forwarding node. 15. The non-transitory machine readable medium of claim 14 , wherein the connection tracking record associates a network address of the previous forwarding node with the network address of the next subsequent forwarding node. 16. The non-transitory machine readable medium of claim 15 , wherein, for a second packet of the flow, at each of a plurality of subsequent forwarding nodes, the subsequent forwarding node uses the connection tracking record to identify the network address of the next subsequent forwarding node. 17. The non-transitory machine readable medium of claim 14 , wherein each of the subsequent forwarding nodes: splices a pair of connections associated with the flow using the connection tracking record; receives the flow at the subsequent forwarding node through a first connection of the pair of connections; and based on the splicing of the connections, forwards the flow to the next subsequent forwarding node through a second connection of the pair of connections when there is a next subsequent forwarding node. 18. The non-transitory machine readable medium of claim 17 , wherein a first forwarding node is a next subsequent forwarding node of a second forwarding node, wherein the first forwarding node: receives a reply flow in response to the flow at the first forwarding node; and based on the splicing of the pair of connections of the first forwarding node, forwards the reply flow to the second forwarding node through the first connection of the first forwarding node. 19. The non-transitory machine readable medium of claim 12 , wherein the set of one or more SD-WAN next hop values comprises two or more next hop values specifying all of the network addresses for the set of one or more subsequent forwarding nodes. 20. The non-transitory machine readable medium of claim 12 , wherein the flow is a Transmission Control Protocol (TCP) flow. 21. The non-transitory machine readable medium of claim 12 , wherein the sets of instructions for sending the generated set of SDH values and sending the first pac
Related publications grouped by family.
Answers are generated from the same data shown on this page.