US 7102996 Method and system for scaling network traffic managers
ABSTRACT – A method and system for distributing network traffic to multiple traffic management devices. A distributor receives each packet from a network and may act as a layer 2 switch, a router, or distribute the packet to one of a group of traffic management devices. The distributor may receive packets from servers that the traffic management devices are managing communications to. When distributing packets to traffic management devices, information such as source and destination addresses may be used to determine which traffic management device each packet should be sent to. The distributor causes packets that are part of a flow to be delivered to the same traffic management device. Many configurations are possible for connecting the distributor to the traffic management devices, including connecting each traffic management device to a physical or virtual port on the distributor, connecting the traffic management devices to the distributor using a virtual local area network, and connecting the traffic management devices to a layer 2 switch.
FIELD OF THE INVENTION
The present invention relates to computer network traffic, and in particular to distributing network traffic associated with traffic management devices.
The Internet’s core bandwidth continues to double every year. Some of this additional bandwidth is consumed as more and more users access the Internet. Other additional bandwidth is consumed as existing users increase their use of the Internet. This increase of Internet use translates into an increase in traffic directed to and from World Wide Web (WWW) servers and other Internet servers.
Replacing a WWW server with a WWW server of twice the capacity is a costly undertaking. Adding additional WWW servers is less costly but generally requires a load-balancing mechanism to balance workload so that each virtual server performs work proportional to its capacity and the number of servers available to the traffic management device that is performing the load balancing.
Traffic across the Internet typically comes in the form of Transmission Control Protocol/Internet Protocol (TCP/IP) packets. TCP/IP has many layers for addressing packets. Managing TCP/IP packet traffic using lower layers typically requires less processing than managing packets using higher layers. As a result, lower layer traffic management may often be done in hardware with its attendant speed. Unfortunately, managing packet traffic based on lower layer information is typically not flexible enough for many applications using the Internet. For example, when a user is shopping for items on a WWW server and filling a “shopping cart,” a traffic management device that sends one of packets from the user to one WWW server and another packet from the user to another WWW server may cause shopping cart information to be lost. As a result, a traffic management device may be required to store state information about connections and look at higher TCP/IP layers to maintain connections between servers and users.
This requirement for more sophisticated traffic management requires more processing. With a sufficient rate of requests, eventually a traffic management device may not be able to process traffic in a timely manner.
In accordance with the present invention, there is provided a method and system for distributing network traffic to one or more traffic management devices while maintaining flows of packets. The system may be implemented in hardware and/or software and may be done without storing connection state information. One or more distributors may be used to distribute network traffic to multiple traffic management devices. Information in the packet, such as source and/or destination address, may be used to determine the traffic management device to which a packet should be sent. Which information is used may depend on where the packet is coming from and a destination to which it is addressed.
In one aspect of the invention, a distributor is configured to distribute to a traffic management device a packet sent from a client using a source address of the packet. The distributor distributes a packet sent from a server using the destination address of the packet. When a client and server are engaged in a communication, this causes each packet of the communication to be sent through the same traffic management device.
In another aspect of the invention, the distributor hashes on the source or the destination address to determine the traffic management device to which the packet should be sent.
In another aspect of the invention, the distributor acts as a router when distributing traffic to traffic management devices is inapplicable. Distributing traffic may be inapplicable when neither the source or the destination address of the packet are in a distributing table on the distributor. Note, that even though the addresses are not in a distributing table, they may be in a routing table on the distributor. Traffic distribution may also be inapplicable if the traffic management devices to which the distributor distributes packets would not perform processing on the packet if it were sent to any of them. In other words, traffic distribution may be inapplicable when the packet is not addressed to a resource controlled by or associated with the traffic management device.
In another aspect of the invention, the distributor replaces addresses in packets sent from a traffic management device. This may be done to cause responses to the packets to be addressed in such a way as to return to the distributor for distributing to the group of traffic management devices. The address replaced may be, for example, a physical address such as a media access control (MAC) address.
In another aspect of the invention, components of the invention are embodied in modulated data signals or one or more computer-readable mediums.
In another aspect of the invention, the distributor is coupled to multiple traffic management devices through a virtual local area network (VLAN) switch. The distributor may distribute a packet to a specific traffic management device by placing an identifier identifying the traffic management device in front of the MAC header.
In another aspect of the invention, the distributor is coupled to an Open Systems Interconnect (OSI) layer 2 switch which is connected to multiple traffic management devices. The distributor distributes a packet to a specific traffic management device by placing an identifier associated with the traffic management device in a MAC field and sending the packet to the layer 2 switch.
In another aspect of the invention, traffic management devices are coupled to physical ports on the distributor. The distributor distributes a packet to a specific traffic management device by sending the packet to the physical port coupled to the traffic management device.
In another aspect of the invention, a table is used to determine an action to take depending on source and destination addresses of a packet. Actions including using the source address to distribute the packet, using the destination address to distribute the packet, and routing the packet may be performed.
In another aspect of invention, a distributor distributes packets that are sent in response to other packets that have had an address translation performed. The packets in a flow are distributed to the same traffic management device despite the address translation.
In another aspect of the invention, a distributor distributes a packet that has not had an address translation (also known as untranslated) by hashing on a source address of the packet to obtain a value and sending the packet to a traffic management device associated with the value.
These and various other features as well as advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings.