Adjustable bit mask for high-speed native load balancing on a switch
AssigneeCisco Technology, Inc.
InventorsRajendra Kumar Thirumurthi, Samar Sharma, Mouli Vytla
Life of this patent
Estimating the term…
Abstract
In an example, a network switch is configured to natively act as a high-speed load balancer. Numerous load-balancing techniques may be used, including one that bases the traffic “bucket” on a source IP address of an incoming packet. This particular technique provides a network administrator a powerful tool for shaping network traffic. For example, by assigning certain classes of computers on the network particular IP addresses, the network administrator can ensure that the traffic is load balanced in a desirable fashion. To further increase flexibility, the network administrator may apply a bit mask to the IP address, and expose only a portion, selected from a desired octet of the address.
Claims20
A switch comprising:
- one or more logic elements comprising a load balancing engine implemented in one or a combination of hardware, firmware, and low-level software at the switch, the load balancing engine configured for:
- receiving an incoming network packet including a source IP address and a destination IP address;
- identifying whether to load balance the network packet across a plurality of service nodes based on the destination IP address;
- masking, via an adjustable mask, a portion of the source IP address of the incoming network packet to both change the portion of the source IP address and expose a load balancing tag that is a fragment of the source IP address, wherein the portion of the source IP address is masked based on whether it is identified to load balance the network packet across the plurality of service nodes, and further wherein a size of the portion of the source IP address that is changed is selectable based on adjustable characteristics of the adjustable mask;
- and
- assigning the incoming network packet to a service node of the plurality of service nodes by identifying an IP address of the service node from the fragment of the source IP address serving as the load balancing tag from a plurality of rules mapping fragments of source IP addresses to different traffic buckets corresponding to IP addresses of different service nodes including the IP address of the service node.
One or more non-transitory tangible computer-readable mediums having stored thereon executable instructions to provide a load balancing engine, the load balancing engine configured for:
- receiving an incoming network packet including a source IP address and a destination IP address;
- identifying whether to load balance the network packet across a plurality of service nodes based on the destination IP address;
- masking, via an adjustable mask, a portion of the source IP address of the incoming network packet to both change the portion of the source IP address and expose a load balancing tag that is a fragment of the source IP address, wherein the portion of the source IP address is masked based on whether it is identified to load balance the network packet across the plurality of service nodes, and further wherein a size of the portion of the source IP address that is changed is selectable based on adjustable characteristics of the adjustable mask;
- and
- assigning the incoming network packet to a service node of the plurality of service nodes by identifying an IP address of the service node from the fragment of the source IP address serving as the load balancing tag from a plurality of rules mapping fragments of source IP addresses to different traffic buckets corresponding to IP addresses of different service nodes including the IP address of the service node.
A method comprising:
- receiving an incoming network packet including a source IP address and a destination IP address;
- load balancing the network packet across a plurality of service nodes based on the destination IP address;
- masking, via an adjustable mask, a portion of the source IP address of the incoming network packet to both change the portion of the source IP address and expose a load balancing tag that is a fragment of the source IP address, wherein the portion of the source IP address is masked based on the load balancing of the network packet across the plurality of service nodes, and further wherein a size of the portion of the source IP address that is changed is selectable based on adjustable characteristics of the adjustable mask;
- assigning the incoming network packet to a service node of the plurality of service nodes by identifying an IP address of the service node from the fragment of the source IP address serving as the load balancing tag from a plurality of rules mapping fragments of source IP addresses to different traffic buckets corresponding to IP addresses of different service nodes including the IP address of the service node.
Dependencies are inferred from the claim text.