Load balancing methods based on transport layer port numbers for a network switch

US10193809B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10193809-B1
Application numberUS-201514871561-A
CountryUS
Kind codeB1
Filing dateSep 30, 2015
Priority dateSep 30, 2015
Publication dateJan 29, 2019
Grant dateJan 29, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one embodiment, a network element that performs network traffic bridging receives load balancing criteria comprising an indication of at least one transport layer port number and an indication of a plurality of network nodes. A plurality of forwarding entries are created based on the load balancing criteria. A forwarding entry specifies the at least one transport layer port number and a network node of the plurality of network nodes. The network element applies the plurality of forwarding entries to network traffic to load balance, among the plurality of network nodes, network traffic that matches the at least one transport layer port number.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, at a network element that performs network traffic bridging, load balancing criteria comprising an indication of at least one transport layer port number and an indication of a plurality of network nodes; creating a plurality of forwarding entries based on the load balancing criteria, a forwarding entry specifying the at least one transport layer port number and a network node of the plurality of network nodes; constructing, based on the plurality of forwarding entries and network traffic, a key representing the at least one transport layer port number; determining whether the network traffic is to be load balanced, wherein when the network element uses a destination port based load balancing scheme, the network traffic is load balanced when a source port of the network traffic matches a predetermined list of source ports; when the network traffic is to be load balanced: using the key, performing, by the network element, a lookup to identify a matching forwarding entry from the plurality of forwarding entries, wherein when the network element uses the destination port based load balancing scheme, the matching forwarding entry specifies that an egress port of the network traffic is based on a destination port of the network traffic, and when the network element uses a source port based load balancing scheme, the matching forwarding entry specifies that an egress port of the network traffic is based on the source port of the network traffic; and using the matching forwarding entry to load balance, among the plurality of network nodes, the network traffic used to construct the key. 2. The method of claim 1 , wherein the load balancing criteria further specifies that the at least one transport layer port number corresponds to a source port. 3. The method of claim 2 , wherein each forwarding entry further specifies a distinct plurality of transport layer destination port numbers. 4. The method of claim 1 , wherein the load balancing criteria further specifies that the at least one transport layer port number corresponds to a destination port. 5. The method of claim 4 , wherein each forwarding entry further specifies a distinct plurality of transport layer source port numbers. 6. The method of claim 1 , further comprising: detecting that a network node of the plurality of network nodes has become unavailable; creating a second plurality of forwarding entries based on the load balancing criteria, a forwarding entry of the second plurality of forwarding entries specifying the at least one transport layer port number and a network node of the remaining available network nodes; constructing, based on the second plurality of forwarding entries and network traffic, a key representing the at least one transport layer port number; using the key, performing, by the network element, a lookup to identify a matching forwarding entry from the second plurality of forwarding entries; and using the matching forwarding entry from the second plurality of forwarding entries to load balance, among the plurality of remaining available network nodes, network traffic used to construct the key. 7. The method of claim 1 , wherein the network element performs a lookup to identify the matching forwarding entry of the plurality of forwarding entries within a single clock cycle of the network element. 8. The method of claim 1 , wherein the network traffic is load balanced at a line rate of the network element. 9. The method of claim 1 , wherein the plurality of forwarding entries are stored in a ternary content-addressable memory (TCAM) of the network element. 10. The method of claim 1 , further comprising accessing a forwarding table of the network element to determine an egress port for network traffic that does not meet the load balancing criteria. 11. An apparatus comprising: an interface to receive load balancing criteria comprising an indication of at least one transport layer port number and an indication of a plurality of network nodes; at least one memory element to store a plurality of forwarding entries based on the load balancing criteria, a forwarding entry specifying the at least one transport layer port number and a network node of the plurality of network nodes; and forwarding logic containing a processor to: receive network traffic; perform network traffic bridging on a first portion of the network traffic; construct, based on the plurality of forwarding entries and a second portion of the network traffic, a key representing the at least one transport layer port number; determine whether the network traffic is to be load balanced, wherein when a destination port based load balancing scheme is used, the network traffic is load balanced when a source port of the network traffic matches a predetermined list of source ports; when the network traffic is to be load balanced: using the key, perform a lookup using the key to identify a matching forwarding entry from the plurality of forwarding entries, wherein when the forwarding logic uses the destination port based load balancing scheme, the matching forwarding entry specifies that an egress port of the network traffic is based on a destination port of the network traffic, and when the forwarding logic uses a source port based load balancing scheme, the matching forwarding entry specifies that an egress port of the network traffic is based on the source port of the network traffic; and use the matching forwarding entry to load balance, among the plurality of network nodes, the second portion of the network traffic used to construct the key. 12. The apparatus of claim 11 , wherein the load balancing criteria further specifies that the at least one transport layer port number corresponds to a source port. 13. The apparatus of claim 11 , wherein each forwarding entry further specifies a distinct plurality of transport layer destination port numbers. 14. The apparatus of claim 11 , wherein the load balancing criteria further specifies that the at least one transport layer port number corresponds to a destination port. 15. The apparatus of claim 11 , wherein each forwarding entry further specifies a distinct plurality of transport layer source port numbers. 16. A computer-readable non-transitory medium comprising one or more instructions that when executed by a processor configure the processor to cause programmable logic to perform operations comprising: receiving, at a network element that performs network traffic bridging, load balancing criteria comprising an indication of at least one transport layer port number and an indication of a plurality of network nodes; creating a plurality of forwarding entries based on the load balancing criteria, a forwarding entry specifying the at least one transport layer port number and a network node of the plurality of network nodes; constructing, based on the plurality of forwarding entries and network traffic, a key representing the at least one transport layer port number; determining whether the network traffic is to be load balanced, wherein when the network element uses a destination port based load balancing scheme, the network traffic is load balanced when a source port of the network traffic matches a predetermined list of source ports; when the network traffic is to be load balanced: using the key, performing, by the network element, a lookup to identify a matching forwarding entry from the plurality of forwarding entries, wherein when the network element uses the destination port based load balancing scheme, the matching forwarding entry speci

Assignees

Inventors

Classifications

  • H04L47/125Primary

    by balancing the load, e.g. traffic engineering · CPC title

  • Arrangements for connecting between networks having differing types of switching systems, e.g. gateways · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10193809B1 cover?
In one embodiment, a network element that performs network traffic bridging receives load balancing criteria comprising an indication of at least one transport layer port number and an indication of a plurality of network nodes. A plurality of forwarding entries are created based on the load balancing criteria. A forwarding entry specifies the at least one transport layer port number and a netw…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/125. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 29 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).