Consistent hashing for network traffic dispatching
US-2020336370-A1 · Oct 22, 2020 · US
US11303576B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11303576-B2 |
| Application number | US-201916656353-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 17, 2019 |
| Priority date | Oct 17, 2019 |
| Publication date | Apr 12, 2022 |
| Grant date | Apr 12, 2022 |
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.
A network device receives a fragmented packet of an internet protocol (IP) packet. The fragmented packet is subsequently received relative to an initial fragmented packet of the IP packet and includes a first set of tuple information. The network device determines an entry of a hash table associated with the IP packet, based on the first set of tuple information and a fragment identifier (ID) within the fragmented packet. The network device retrieves a second set of tuple information associated with the fragmented packet from the hash table entry, and transmits an indication of the first and second sets of tuple information.
Opening claim text (preview).
We claim: 1. A computer-implemented method, comprising: receiving, at a network device, a fragmented packet of an internet protocol (IP) packet, wherein the fragmented packet is subsequently received relative to an initial fragmented packet of the IP packet and wherein the fragmented packet comprises a first set of tuple information; determining, by the network device, an entry of a hash table associated with the IP packet, based on the first set of tuple information and a fragment identifier (ID) within the fragmented packet; retrieving, by the network device, a second set of tuple information associated with the fragmented packet from the entry of the hash table; transmitting, by the network device, an indication of the first set of tuple information and the second set of tuple information; and upon determining, by the network device, that the fragmented packet is a last fragmented packet of the IP packet, invalidating, by the network device, the entry of the hash table after retrieving the second set of tuple information from the entry of the hash table. 2. The computer-implemented method of claim 1 , further comprising: receiving, at the network device, the initial fragmented packet of the IP packet, wherein the initial fragmented packet comprises the first set of tuple information and the second set of tuple information; determining, by the network device, the entry of the hash table based on the first set of tuple information and a fragment ID within the initial fragmented packet; and storing, by the network device, the second set of tuple information at the entry of the hash table. 3. The computer-implemented method of claim 1 , further comprising determining, by the network device, a traffic flow associated with the fragmented packet based on the first set of tuple information and the second set of tuple information. 4. The computer-implemented method of claim 1 , wherein the first set of tuple information comprises a partial set of tuple information used for determining a traffic flow associated with the fragmented packet. 5. The computer-implemented method of claim 1 , wherein the first set of tuple information comprises a source IP, a destination IP, and a protocol. 6. The computer-implemented method of claim 1 , wherein the second set of tuple information comprises a source port and a destination port. 7. The computer-implemented method of claim 1 , wherein the indication of the first set of tuple information and the second set of tuple information is transmitted to a computing system that performs at least one of (i) load balancing, (ii) security monitoring, or (iii) quality of service (QoS) analytics for traffic within a network. 8. A network device, comprising: a processor; a hash table; and a memory containing a program that, when executed by the processor, performs an operation comprising: receiving a fragmented packet of an internet protocol (IP) packet, wherein the fragmented packet is subsequently received relative to an initial fragmented packet of the IP packet and wherein the fragmented packet comprises a first set of tuple information; determining an entry of the hash table associated with the IP packet, based on the first set of tuple information and a fragment identifier (ID) within the fragmented packet; retrieving a second set of tuple information associated with the fragmented packet from the entry of the hash table; transmitting an indication of the first set of tuple information and the second set of tuple information; and upon determining that the fragmented packet is a last fragmented packet of the IP packet, invalidating the entry of the hash table after retrieving the second set of tuple information from the entry of the hash table. 9. The network device of claim 8 , the operation further comprising: receiving the initial fragmented packet of the IP packet, wherein the initial fragmented packet comprises the first set of tuple information and the second set of tuple information; determining the entry of the hash table based on the first set of tuple information and a fragment ID within the initial fragmented packet; and storing the second set of tuple information at the entry of the hash table. 10. The network device of claim 8 , the operation further comprising determining a traffic flow associated with the fragmented packet based on the first set of tuple information and the second set of tuple information. 11. The network device of claim 8 , wherein the first set of tuple information comprises a partial set of tuple information used for determining a traffic flow associated with the fragmented packet. 12. The network device of claim 8 , wherein the first set of tuple information comprises a source IP, a destination IP, and a protocol. 13. The network device of claim 8 , wherein the second set of tuple information comprises a source port and a destination port. 14. The network device of claim 8 , wherein the indication of the first set of tuple information and the second set of tuple information is transmitted to a computing system that performs at least one of (i) load balancing, (ii) security monitoring, or (iii) quality of service (QoS) analytics for traffic within a network. 15. A non-transitory computer-readable medium comprising computer program code that, when executed by one or more processors, performs an operation comprising: receiving, at a network device, a fragmented packet of an internet protocol (IP) packet, wherein the fragmented packet is subsequently received relative to an initial fragmented packet of the IP packet and wherein the fragmented packet comprises a first set of tuple information; determining, by the network device, an entry of a hash table associated with the IP packet, based on the first set of tuple information and a fragment identifier (ID) within the fragmented packet; retrieving, by the network device, a second set of tuple information associated with the fragmented packet from the entry of the hash table; transmitting, by the network device, an indication of the first set of tuple information and the second set of tuple information; and upon determining, by the network device, that the fragmented packet is a last fragmented packet of the IP packet, invalidating, by the network device, the entry of the hash table after retrieving the second set of tuple information from the entry of the hash table. 16. The non-transitory computer-readable medium of claim 15 , the operation further comprising: receiving, at the network device, the initial fragmented packet of the IP packet, wherein the initial fragmented packet comprises the first set of tuple information and the second set of tuple information; determining, by the network device, the entry of the hash table based on the first set of tuple information and a fragment ID within the initial fragmented packet; and storing, by the network device, the second set of tuple information at the entry of the hash table. 17. The non-transitory computer-readable medium of claim 15 , the operation further comprising determining, by the network device, a traffic flow associated with the fragmented packet based on the first set of tuple information and the second set of tuple information. 18. The non-transitory computer-readable medium of claim 15 , wherein the first set of tuple information comprises a partial set of tuple information used for determining a traffic flow associated with the fragmented packet. 19. The non-transitory computer-readable medium of claim 15 , wherein: the first set of tuple
with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains · CPC title
by balancing the load, e.g. traffic engineering · CPC title
Arrangements for supporting packet reassembly or resequencing · CPC title
using hashing · CPC title
Clos switching fabrics · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.