TCP/IP in a sysplex

The increasing demands of network servers, and in particular System z® servers, has led to the creation of different techniques to address performance requirements when a single server is not capable of providing the availability and scalability demands placed on it by its clients. Specifically, network solutions make use of what is referred to as the clustering technique, whereby multiple servers are associated together into a cluster to provide sufficient processing power and availability characteristics to handle the demands of the clients.

In the scope of this topic, this cluster functionality is provided by the sysplex. That is, the sysplex provides the necessary capability to cluster together a number of System z servers that cooperate with one another to deliver the processing power needed to service the demands required of a particular service environment.

Solutions that use the clustering approach to increase server availability and processing capability attempt to provide mechanisms by which they ensure the viability of the cluster in an environment containing a large number of clients generating a potentially high number of requests. To do so, the cluster technique can provide for two main objectives, high availability and load balancing. In some cases, clustering techniques address only high availability, as is the case with dynamic VIPA that provides for availability in spite of potential TCP/IP stack or z/OS® image failures. In other cases, the intent is to provide for both high availability and load balancing, as is done by sysplex distributor.

In general, load balancing refers to the ability to use different systems within the cluster simultaneously, thereby taking advantage of the additional computational function of each. Further, clustering techniques addressing load balancing lead to other system requirements, such as that of a single systemwide image (one identity by which clients access the system), horizontal growth, and ease of management.

The traditional view of a single server has been primarily a single machine with perhaps a few network interfaces (IP addresses). This tends to lead to many potential points of failure within the server: the machine itself (hardware), the operating system (including TCP/IP stack) kernel executing on the machine, or a network interface (and the IP address associated with it). Static Virtual IP Addresses (VIPAs) exclude the network interface as a point of failure while dynamic VIPAs additionally aid with server (image) or kernel failure. In this way, high availability is seen as the availability of the entire server cluster and the service it provides. Furthermore, VIPAs can be used in conjunction with the sysplex distributor load balancing solution.

Clustering techniques that address the load balancing of connections requests also typically provide for some high availability. That is, these techniques dispatch connections to target servers and can exclude failed servers from the list of target servers that can receive connections. In this way, the dispatching function avoids routing connections and requests to a server incapable of satisfying such requests.

Load balancing is the ability for a cluster to distribute workload evenly (or based on some policy) to target servers comprising the cluster. Usually, this load balancing is measured by some notion of perceived load on each of the target servers. This topic describes load balancing using the sysplex distributor, which identifies the target System z servers willing to receive client connections based on some specification.

By providing load balancing, clustering techniques must also provide for other system requirements in addition to the dispatching of connections. These include the ability to advertise some single systemwide image or identity so that clients can uniquely and easily identify the service. Additionally, clustering techniques should also provide for horizontal growth of the system and ease of management.

It is also sometimes useful to arrange the members in the sysplex into subsets of members that communicate through XCF only amongst themselves. This is called subplexing. Each member of a subplex joins a unique set of sysplex groups and communicates through XCF with only other members that have joined the same unique set of sysplex groups. Each TCP/IP stack can participate in one and only one subplex. For more information, see Sysplex subplexing.

Note: This information applies to both IPv4 and IPv6, unless otherwise noted.