IOS Server Load Balancing



Similar documents
IOS Server Load Balancing

Configuring Server Load Balancing

Firewall Load Balancing

IOS Server Load Balancing

Server Load Balancing Configuration Guide Cisco IOS Release 12.2SX

NetFlow Aggregation. Feature Overview. Aggregation Cache Schemes

Configuring Health Monitoring

Configuring Health Monitoring

GLBP - Gateway Load Balancing Protocol

Chapter 11 Network Address Translation

Understanding Slow Start

Supported Platforms. Supported Standards, MIBs, and RFCs. Prerequisites. Related Features and Technologies. Related Documents. Improved Server Access

Server Iron Hands-on Training

Configuring Redundancy

- Redundancy and Load Balancing -

Configuring Static and Dynamic NAT Translation

Firewall Load Balancing

HTTP 1.1 Web Server and Client

Configuring Network Address Translation

RADIUS Server Load Balancing

Securing Networks with PIX and ASA

Overview: Load Balancing with the MNLB Feature Set for LocalDirector

Link Load Balancing :50:44 UTC Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement

Configuring a Load-Balancing Scheme

Configuring Advanced Server Load Balancing

Configuring Timeout, Retransmission, and Key Values Per RADIUS Server

Content Switching Module for the Catalyst 6500 and Cisco 7600 Internet Router

Configuring Class Maps and Policy Maps

Configuring Stickiness

LAB THREE STATIC ROUTING

DHCP Server Port-Based Address Allocation

login timeout 30 access list ALL line 20 extended permit ip any any port 9053 interval 15 passdetect interval 30

PA-MC-T3 Multi-Channel T3 Synchronous Serial Port Adapter Enhancement

Configuring a Load-Balancing Scheme

Domain Name System Server Round-Robin Functionality for the Cisco AS5800

Managing Virtual Servers

co Characterizing and Tracing Packet Floods Using Cisco R

Virtual Fragmentation Reassembly

VRRPv3: Object Tracking Integration

Firewall Authentication Proxy for FTP and Telnet Sessions

Cisco Configuring Commonly Used IP ACLs

Deployment Guide AX Series with Citrix XenApp 6.5

NetFlow Subinterface Support

Transferring Files Using HTTP or HTTPS

Configuring TCP Intercept (Preventing Denial-of-Service Attacks)

Configuring DNS. Finding Feature Information

Lab Characterizing Network Applications

Advanced SLB High Availability and Stateless SLB

Server Management in the WSD

Exam Name: Foundry Networks Certified Layer4-7 Professional Exam Type: Foundry Exam Code: FN0-240 Total Questions: 267

IP Application Services Commands show vrrp. This command was introduced. If no group is specified, the status for all groups is displayed.

HP Load Balancing Module

Network Data Encryption Commands

Configuring Enhanced Object Tracking

Configuring Auto Policy-Based Routing

Configuring a Load-Balancing Scheme

Smart Tips. Enabling WAN Load Balancing. Key Features. Network Diagram. Overview. Featured Products. WAN Failover. Enabling WAN Load Balancing Page 1

Enabling Remote Access to the ACE

Configuring Load Balancing

Configuring SNMP and using the NetFlow MIB to Monitor NetFlow Data

Firewall Stateful Inspection of ICMP

Deployment Guide AX Series with Active Directory Federation Services 2.0 and Office 365

Cisco IOS Flexible NetFlow Command Reference

Linux MDS Firewall Supplement

RADIUS Server Load Balancing

Configuring DHCP Snooping

IP SLAs Overview. Finding Feature Information. Information About IP SLAs. IP SLAs Technology Overview

Emerald. Network Collector Version 4.0. Emerald Management Suite IEA Software, Inc.

Chapter 8 Router and Network Management

FWSM introduction Intro 5/1

FortiOS Handbook - Load Balancing VERSION 5.2.2

CCNP Switch Questions/Answers Implementing High Availability and Redundancy

Scaling Next-Generation Firewalls with Citrix NetScaler

NetFlow v9 Export Format

Interconnecting Cisco Network Devices 1 Course, Class Outline

Skills Assessment Student Training Exam

Implementing Object Tracking on Cisco IOS XR Software

Configuring the Firewall Management Interface

Configuring DHCP Snooping and IP Source Guard

> Technical Configuration Guide for Microsoft Network Load Balancing. Ethernet Switch and Ethernet Routing Switch Engineering

Appendix A Remote Network Monitoring

Brocade to Cisco Comparisons

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Load Balancing. FortiOS Handbook v3 for FortiOS 4.0 MR3

Enhanced Password Security - Phase I

Firewall Stateful Inspection of ICMP

Lab Configuring Access Policies and DMZ Settings

Using Cisco IOS Software

Sampled NetFlow. Feature Overview. Benefits

First Hop Redundancy (Layer 3) 1. Network Design First Hop. Agenda. First Hop Redundancy (Layer 3) 2. L102 - First Hop Redundancy

Configuring CSS Remote Access Methods

Configuring Nex-Gen Web Load Balancer

Monitoring Traffic Interception

Configuring DHCP. DHCP Server Overview

Note: This case study utilizes Packet Tracer. Please see the Chapter 5 Packet Tracer file located in Supplemental Materials.

Transport Layer Protocols

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

Enhanced Password Security - Phase I

: Interconnecting Cisco Networking Devices Part 1 v2.0 (ICND1)

Chapter 2 Quality of Service (QoS)

Transcription:

IOS Server Load Balancing This feature module describes the Cisco IOS Server Load Balancing (SLB) feature. It includes the following sections: Feature Overview, page 1 Supported Platforms, page 5 Supported Standards, MIBs, and RFCs, page 5 Configuration Tasks, page 6 Monitoring and Maintaining IOS SLB, page 11 Configuration Examples, page 12 Reference, page 14 Debug s, page 50 Glossary, page 53 Feature Overview The IOS SLB feature is an IOS-based solution that provides IP server load balancing. Using the IOS SLB feature, the network administrator defines a virtual server that represents a group of real servers in a cluster of network servers known as a server farm. In this environment the clients are configured to connect to the IP address of the virtual server. The virtual server IP address is configured as a loopback address, or secondary IP address, on each of the real servers. When a client initiates a connection to the virtual server, the IOS SLB function chooses a real server for the connection based on a configured load balancing algorithm. Figure 1 illustrates IOS SLB. 1

Feature Overview IOS Server Load Balancing Figure 1 Logical View of IOS SLB Virtual server Real server Real server Real server Cisco Device with IOS SLB 29164 Client Client Client Client IOS SLB Features This section describes the features supported in IOS SLB. It includes information on the following features: Load Balancing Algorithms, page 2 Port-Bound Servers, page 3 Client-Assigned Load Balancing, page 3 Sticky Connections, page 3 Maximum Connections, page 4 Delayed Removal of TCP Connection Context, page 4 TCP Session Reassignment, page 4 Automatic Server Failure Detection, page 4 Auto Unfail, page 4 Slow Start, page 4 SynGuard, page 5 IOS SLB Dynamic Feedback Protocol, page 5 Load Balancing Algorithms IOS SLB provides two load balancing algorithms: weighted round robin and weighted least connections. You may specify either algorithm as the basis for choosing a real server for each new connection request that arrives at the virtual server. 2

IOS Server Load Balancing Feature Overview Weighted Round Robin Weighted Least Connections Port-Bound Servers The weighted round robin algorithm specifies that the real server used for a new connection to the virtual server is chosen from the server farm in a circular fashion. Each real server is assigned a weight, n, that represents its capacity to handle connections, as compared to the other real servers associated with the virtual server. That is, new connections are assigned to a given real server n times before the next real server in the server farm is chosen. For example, assume a server farm comprised of real server ServerA with n = 3, ServerB with n = 1, and ServerC with n = 2. The first three connections to the virtual server are assigned to ServerA, the fourth connection to ServerB, and the fifth and sixth connections to ServerC. The weighted least connections algorithm specifies that the next real server chosen from a server farm for a new connection to the virtual server is the server with the fewest active connections. Each real server is assigned a weight for this algorithm, also. When weights are assigned, the server with the fewest connections is based on the number of active connections on each server, and on the relative capacity of each server. The capacity of a given real server is calculated as the assigned weight of that server divided by the sum of the assigned weights of all of the real servers associated with that virtual server, or n 1 /(n 1 +n 2 +n 3...). For example, assume a server farm comprised of real server ServerA with n = 3, ServerB with n = 1, and ServerC with n = 2. ServerA would have a calculated capacity of 3/(3+1+2), or half of all active connections on the virtual server, ServerB one-sixth of all active connections, and ServerC one-third of all active connections. At any point in time, the next connection to the virtual server would be assigned to the real server whose number of active connections is farthest below its calculated capacity. You must specify which Transmission Control Protocol/User Datagram Protocol (TCP/UDP) port a virtual server handles. The port-bound servers feature allows one virtual server IP address to represent one set of real servers for one service, such as Hypertext Transfer Protocol (HTTP), and a different set of real servers for another service, such as Telnet. Packets destined to a virtual server address for a port that is not specified in a virtual server definition are not redirected. Client-Assigned Load Balancing The client-assigned load balancing feature allows you to limit the subnets that use a virtual server. Sticky Connections The sticky connections feature allows new connections from a client IP address to be assigned to the same real server as previous connections from the same client address. This behavior is controlled by a configurable timer. If the timer is configured on a virtual server, new connections from a client are sent to the same real server that handled the previous client connection, provided that: An existing connection for the same client exists, or The amount of time between the end of a previous connection from the client and the start of the new connection is within the timer duration. 3

Feature Overview IOS Server Load Balancing The sticky connection feature also permits the coupling of services that are handled by more than one virtual server. This feature allows connection requests for related services to use the same real server. For example, Web server (HTTP) typically uses TCP port 80, and HTTP over Secure Socket Layer (HTTPS) uses port 443. If HTTP virtual servers and HTTPS virtual servers are coupled, connections for ports 80 and 443 from the same client IP address are assigned to the same real server. Maximum Connections The maximum connections feature allows you to configure a limit on the number of active connections that a real server can handle. Delayed Removal of TCP Connection Context Because of IP packet ordering anomalies, IOS SLB might see the termination of a TCP connection (a finish [FIN] or reset [RST]) followed by other packets for the connection. This problem occurs when there are multiple paths that the TCP connection packets can follow. To correctly redirect the packets that arrive after the connection is terminated, IOS SLB retains the TCP connection information, or context, for a specified length of time. The length of time the context is retained after the connection is terminated is controlled by a configurable delay timer. TCP Session Reassignment IOS SLB tracks each TCP synchronous idle character (SYN) sent to a real server by a client attempting to open a new connection. If several consecutive SYNs are not answered, or if a SYN is replied to with a RST, the TCP session is reassigned to a new real server. The number of SYN attempts is controlled by a configurable reassign threshold. Automatic Server Failure Detection IOS SLB automatically detects each failed connection attempt to a real server, and increments a failure counter for that server. (The failure counter is not incremented if a failed connection from the same client has already been counted.) If a server s failure counter exceeds a configurable failure threshold, the server is considered out of service and is removed from the list of active real servers. Auto Unfail When a real server fails and is removed from the list of active servers, it is assigned no new connections for an amount of time specified by a configurable retry timer. After that timer expires, the server is again eligible for new virtual server connections and IOS SLB sends the server the next connection for which it qualifies. If the connection is successful, the failed server is placed back on the list of active real servers. If the connection is unsuccessful, the server remains out of service and the retry timer is reset. Slow Start In an environment that uses weighted least connections load balancing, a real server that is placed in service initially has no connections, and could therefore be assigned so many new connections that it becomes overloaded. To prevent such an overload, the slow start feature controls the number of new connections that are directed to a real server that has just been placed in service. 4

IOS Server Load Balancing Supported Platforms SynGuard The SynGuard feature limits the rate of TCP SYNs handled by a virtual server to prevent a type of network problem known as a SYN flood denial of service attack. A user might send a large number of SYNs to a server, which would overwhelm or crash the server, denying service to other users. The SynGuard feature prevents a SYN flood denial of service attack from bringing down IOS SLB or a real server. SynGuard monitors the number of SYNs to a virtual server over a specific time interval and does not allow the number to exceed a configured SYN threshold. Once the threshold is reached, any new SYNs are dropped. IOS SLB Dynamic Feedback Protocol The IOS SLB Dynamic Feedback Protocol (DFP) is a mechanism that allows host agents in load balanced environments to dynamically report the change in status of the host systems providing a virtual service. The status reported is a relative weight that specifies a host server s capacity to perform work. Benefits IOS SLB facilitates scalability and availability. The addition of new servers and the removal or failure of existing servers can occur at any time without affecting the availability of the virtual server. Restrictions IOS SLB has the following restrictions: Operates in a standalone mode and currently does not operate as a MultiNode Load Balancing (MNLB) Services Manager. The presence of IOS SLB does not preclude the use of the existing MNLB Forwarding Agent with an external Services Manager in an MNLB environment. Operates in dispatch mode only. Real servers must be Layer-2 adjacent, or tag switching must be implemented. Does not support coordinating server load balancing statistics among different IOS SLB instances for backup capability. Supported Platforms Catalyst 6000 Series Cisco 7200 Series Supported Standards, MIBs, and RFCs Standards No new or modified standards are supported by this feature. MIBs No new or modified MIBs are supported by this feature. 5

Configuration Tasks IOS Server Load Balancing RFCs No new or modified RFCs are supported by this feature. Configuration Tasks Configuring IOS SLB involves identifying server farms, configuring groups of real servers in server farms, and configuring the virtual servers that represent the real servers. See the following sections for configuration tasks for the IOS SLB feature. Perform these tasks in the order given. Some of the tasks are required; others are optional. Specifying a Server Farm (Required), page 6 Specifying a Load Balancing Algorithm (Optional), page 7 Specifying a Bind ID (Optional), page 7 Specifying a Real Server (Required), page 7 Configuring Real Server Attributes (Optional), page 8 Enabling the Real Server for Service (Required), page 8 Specifying a Virtual Server (Required), page 8 Associating a Virtual Server with a Server Farm (Required), page 9 Configuring Virtual Server Attributes (Required), page 9 Adjusting Virtual Server Values (Optional), page 9 Preventing Advertisement of Virtual Server Address (Optional), page 10 Enabling the Virtual Server for Service (Required), page 10 Configuring IOS SLB Dynamic Feedback Protocol (Optional), page 10 Verifying IOS SLB, page 11 Specifying a Server Farm (Required) Grouping real servers into server farms is an essential part of IOS SLB. Using server farms enables IOS SLB to assign new connections to the real servers based on their weighted capacities, and on the load balancing algorithms used. To configure a server farm, use the following command in global configuration mode: Router# ip slb serverfarm serverfarm-name Purpose Adds a server farm definition to the IOS SLB configuration and initiates server farm configuration mode. See the ip slb serverfarm command for more details. 6

IOS Server Load Balancing Configuration Tasks Specifying a Load Balancing Algorithm (Optional) To determine which real server to use for each new connection request, the IOS SLB feature uses one of two load balancing algorithms: weighted round robin (the default) or weighted least connections. (See the Weighted Round Robin section on page 3 or the Weighted Least Connections section on page 3 for detailed descriptions of these algorithms.) To specify the load balancing algorithm, use the following command in server farm configuration mode: Router(config-slb-sfarm)# predictor [roundrobin leastconns] Purpose Specifies whether the weighted round robin algorithm or the weighted least connections algorithm is to be used to determine how a real server is selected. See the predictor command for more details. Specifying a Bind ID (Optional) To configure a bind ID on the server farm for use by DFP, use the following command in server farm configuration mode: Router(config-slb-sfarm)# bindid [bind_id] Purpose Specifies a bind ID on the server farm for use by DFP. See the bindid command for more details. Specifying a Real Server (Required) A server farm comprises a number of real servers. The real servers are the physical devices that provide the services that are load balanced. To identify a real server in your network, use the following command in server farm configuration mode: Router(config-slb-sfarm)# real ip-address Purpose Identifies a real server to the IOS SLB function and initiates real server configuration mode. See the real command for more details. 7

Configuration Tasks IOS Server Load Balancing Configuring Real Server Attributes (Optional) You can configure any of the following real server attributes, by using the following commands in real server configuration mode: Router(config-slb-real)# faildetect numconns number-conns [numclients number-clients] Router(config-slb-real)# maxconns number-conns Router(config-slb-real)# reassign threshold Router(config-slb-real)# retry retry-value Router(config-slb-real)# weight weighting-value Purpose Specifies the number of consecutive connection failures and, optionally, the number of unique client connection failures, that constitute failure of the real server. See the faildetect command for more details. Specifies the maximum number of active connections allowed on the real server at one time. See the maxconns command for more details. Specifies the number of consecutive unanswered SYNs that initiates reassignment of the connection to another real server. See the reassign command for more details. Specifies the interval, in seconds, that must elapse between the detection of a server failure and the next attempt to connect to the failed server. See the retry command for more details. Specifies the real server s workload capacity relative to other servers in the server farm. See the weight command for more details. Enabling the Real Server for Service (Required) To place the real server into service, use the following command in real server configuration mode: Router(config-slb-real)# inservice Purpose Enables the real server for use by IOS SLB. See the inservice (real server) command for more details. Specifying a Virtual Server (Required) To specify a virtual server, use the following command in global configuration mode: Router(config)# ip slb vserver virtserver-name Purpose Identifies a virtual server and initiates virtual server configuration mode. See the ip slb vserver command for more details. 8

IOS Server Load Balancing Configuration Tasks Associating a Virtual Server with a Server Farm (Required) To associate the virtual server with a server farm, use the following command in virtual server configuration mode: Router(config-slb-vserver)# serverfarm serverfarm-name Purpose Associates a real server farm with a virtual server. See the serverfarm command for more details. Configuring Virtual Server Attributes (Required) To configure virtual server attributes, use the following command in virtual server configuration mode: Router(config-slb-vserver)# virtual ip-address {tcp udp} port-number [service service-name] Purpose Specifies the virtual server IP address, type of connection, port number, and optional service coupling. See the virtual command for more details. Adjusting Virtual Server Values (Optional) To change the default settings of the virtual server values, use the related command in virtual server configuration mode: Router(config-slb-vserver)# client ip-address network-mask Router(config-slb-vserver)# delay duration Router(config-slb-vserver)# idle duration Purpose Specifies which clients are allowed to use the virtual server. See the client command for more details. Specifies the amount of time IOS SLB maintains TCP connection context after a connection has terminated. The default value is 10 seconds. See the delay command for more details. Specifies the minimum amount of time IOS SLB maintains connection context in the absence of packet activity for a connection. The default value is 3600 seconds (60 hours). See the idle command for more details. 9

Configuration Tasks IOS Server Load Balancing Router(config-slb-vserver)# sticky duration [group group-id] Router(config-slb-vserver)# synguard syn-count interval Purpose Specifies that connections from the same client use the same real server, providing that the interval between client connections does not exceed the specified duration. See the sticky command for more details. Specifies the rate of TCP SYNs handled by a virtual server in order to prevent a SYN flood denial of service attack. See the synguard command for more details. Preventing Advertisement of Virtual Server Address (Optional) By default, virtual server addresses are advertised. That is, static routes to the Null0 interface are installed for the virtual server addresses. To advertise these static routes using the routing protocol, you must configure redistribution of static routes for the routing protocol. To prevent the installation of a static route, use the no form of the advertise command, in virtual server configuration mode: Router(config-slb-vserver)# no advertise Purpose Omits the virtual server IP address from the routing protocol updates. See the advertise command for more details. Enabling the Virtual Server for Service (Required) To place the virtual server into service, use the following command in virtual server configuration mode: Router(config-slb-vserver)# inservice Purpose Enables the virtual server for use by IOS SLB. See the inservice (virtual server) command for more details. Configuring IOS SLB Dynamic Feedback Protocol (Optional) To configure IOS SLB DFP, enter the following commands in order, beginning in global configuration mode: Step 1 Step 2 Router(config)# ip slb dfp [password password [timeout]] Router(config-slb-dfp)# agent ip_address port [timeout [retry_count [retry_interval]]] Purpose Configures DFP and, optionally, sets a password and initiates DFP configuration mode. See the ip slb dfp command for more details. Configures a DFP agent. See the agent command for more details. 10

IOS Server Load Balancing Monitoring and Maintaining IOS SLB Verifying IOS SLB To verify that the IOS SLB feature has been installed and is operating correctly, ping the real servers from IOS SLB, then ping the virtual servers from the clients. Monitoring and Maintaining IOS SLB To obtain and display runtime information about IOS SLB, use the following commands in EXEC mode: Router# show ip slb conns [vserver virtserver-name] [client ip-address] [detail] Router# show ip slb dfp [agent ip_addr port] [detail] [weights] Router# show ip slb reals [vserver virtserver-name] [detail] Router# show ip slb serverfarms [name serverfarm-name] [detail] Router# show ip slb stats Router# show ip slb sticky [client ip-address] Router# show ip slb vservers [name virtserver-name] [detail] Purpose Displays all connections handled by IOS SLB, or, optionally, only those connections associated with a particular virtual server or client. See the show ip slb conns command for more details. Displays information about DFP and DFP agents, and about the weights assigned to real servers. See the show ip slb dfp command for more details. Displays information about the real servers defined to IOS SLB. See the show ip slb reals command for more details. Displays information about the server farms defined to IOS SLB. See the show ip slb serverfarms command for more details. Displays IOS SLB statistics. See the show ip slb stats command for more details. Displays information about the sticky connections defined to IOS SLB. See the show ip slb sticky command for more details. Displays information about the virtual servers defined to IOS SLB. See the show ip slb vservers command for more details. 11

Configuration Examples IOS Server Load Balancing Configuration Examples This section provides a configuration example based on the network layout shown in Figure 2. Figure 2 Network Configuration for IOS SLB Web server 10.1.1.1 Web server 10.1.1.2 Web server 10.1.1.3 Restricted web server 10.1.1.20 Restricted web server 10.1.1.21 10.1.1.x Virtual server 10.0.0.1 10.4.4.x 29163 Client Human Resources Client Client As shown in the following sample code, the example topology has three public Web servers and two restricted Web servers for privileged clients in subnet 10.4.4.x. The public Web servers are weighted according to their capacity, with server 10.1.1.2 having the lowest capacity and having a connection limit imposed on it. The restricted Web servers are configured as members of the same sticky group, so that HTTP connections and Secure Socket Layer (SSL) connections from the same client use the same real server. 12

IOS Server Load Balancing Configuration Examples This configuration is coded as follows:! ip slb serverfarm PUBLIC predictor leastconns real 10.1.1.1 weight 16 inservice real 10.1.1.2 weight 4 maxconns 1000 inservice real 10.1.1.3 weight 24 inservice! ip slb serverfarm RESTRICTED predictor leastconns real 10.1.1.20 in-service real 10.1.1.21 in-service! ip slb vserver PUBLIC_HTTP virtual 10.0.0.1 tcp www serverfarm PUBLIC inservice! ip slb vserver RESTRICTED_HTTP virtual 10.0.0.1 tcp www serverfarm RESTRICTED client 10.4.4.0 255.255.255.0 sticky 60 group 1 inservice! ip slb vserver RESTRICTED_SSL virtual 10.0.0.1 tcp https serverfarm RESTRICTED client 10.4.4.0 255.255.255.0 sticky 60 group 1 inservice Unrestricted Web server farm Use weighted least connections algorithm First real server Second real server Restrict maximum number of connections Third real server Restricted Web server farm Use weighted least connections algorithm First real server Second real server Unrestricted Web virtual server Handle HTTP requests Use public Web server farm Restricted HTTP virtual server Handle HTTP requests Use restricted Web server farm Only allow clients from 10.4.4.x Couple connections with RESTRICTED_SSL Restricted SSL virtual server Handle SSL requests Use restricted Web server farm Only allow clients from 10.4.4.x Couple connections with RESTRICTED_WEB 13

Reference IOS Server Load Balancing Reference This section documents new or modified commands. All other commands used with this feature are documented in the Cisco IOS 12.0 and 12.0(5)T command reference publications. advertise agent bindid client delay faildetect idle inservice (real server) inservice (virtual server) ip slb dfp ip slb serverfarm ip slb vserver maxconns predictor real reassign retry serverfarm show ip slb conns show ip slb dfp show ip slb reals show ip slb serverfarms show ip slb stats show ip slb sticky show ip slb vservers sticky synguard virtual weight In Cisco IOS 12.0(1)T or later, you can search and filter the output for show and more commands. This functionality is useful when you need to sort through large amounts of output, or if you want to exclude output that you do not need to see. To use this functionality, enter a show or more command followed by the pipe character ( ), one of the keywords begin, include, or exclude, and an expression that you want to search or filter on: command {begin include exclude} regular-expression 14

IOS Server Load Balancing Reference Following is an example of the show atm vc command in which you want the command output to begin with the first line where the expression PeakRate appears: show atm vc begin PeakRate For more information on the search and filter functionality, refer to the Cisco IOS 12.0(1)T feature module titled CLI String Search. 15

advertise IOS Server Load Balancing advertise To control the installation of a static route to the Null0 interface for a virtual server address, use the advertise virtual server configuration command. Advertisement of this static route using the routing protocol requires that you configure redistribution of static routes for the routing protocol. To prevent the installation of a static route for the virtual server IP address, use the no form of this command. advertise no advertise This command has no arguments or keywords. Defaults The virtual server IP address is added to the routing table. Modes Virtual server configuration History Examples The following example prevents advertisement of the virtual server s IP address in routing protocol updates: no advertise 16

IOS Server Load Balancing agent agent To configure a DFP agent, use the agent DFP configuration command. To remove an agent definition from the DFP configuration, use the no form of this command. agent ip-address port [timeout [retry_count [retry_interval]]] no agent ip-address port ip-address port timeout Agent IP address Agent port number (Optional) Time period, in seconds, during which the DFP manager must receive an update from the DFP agent. The default is 0 seconds, which means there is no timeout. retry_count (Optional) Number of times DFP manager attempts to establish the TCP connection to the DFP agent. The default is 0 retries, which means there are infinite retries. retry_interval (Optional) Interval, in seconds, between retries. The default is 180 seconds. Defaults Timeout default: 0 seconds (no timeout) Retry_count default: 0 (infinite retries) Retry_interval default: 180 seconds Modes DFP configuration History Usage Guidelines You can configure up to 1024 agents. A DFP agent collects status information about a server s load capability and reports that information to a load manager. The DFP agent may reside on the server, or it may be a separate device that collects and consolidates the information from several servers before reporting to the load manager. Examples The following example configures a DFP agent: agent 17.17.17.17 22 17

agent IOS Server Load Balancing Related s Description ip slb dfp Configures the IOS SLB DFP. 18

IOS Server Load Balancing bindid bindid To configure a bind ID, use the bindid server farm configuration command. To remove a bind ID from the server farm configuration, use the no form of this command. bindid [bind_id] no bindid [bind_id] bind_id (Optional) Bind ID number. The default bind ID is 0. Defaults Bind_id default: 0 Modes Server farm configuration History Usage Guidelines You can configure one bind ID on each bindid command. The bind ID allows a single physical server to be bound to multiple virtual servers and report a different weight for each one. Thus, the single real server is represented as multiple instances of itself, each having a different bind ID. DFP uses the bind ID to identify which instance of the real server a given weight is for. Examples The following example configures bind ID 309: bindid 309 Related s ip slb dfp Description Configures the IOS SLB DFP. 19

client IOS Server Load Balancing client To define which clients are allowed to use the virtual server, use the client virtual server configuration command. You can use more than one client command to define more than one client. To remove a client definition from the IOS SLB configuration, use the no form of this command. client ip-address network-mask no client ip-address network-mask ip-address network-mask Client IP address. The default is 0.0.0.0 (all clients). Client IP network mask. The default is 0.0.0.0 (all subnetworks). Defaults Ip_address default: 0.0.0.0 (all clients) Network_mask default: 0.0.0.0 (all subnetworks) Taken together, the default is client 0.0.0.0 0.0.0.0 (allow all clients on all subnetworks to use the virtual server). Modes Virtual server configuration History Usage Guidelines The network-mask value is applied to the source IP address of incoming connections. The result must match the ip-address value for the client to be allowed to use the virtual server. Examples The following example allows only clients from 10.4.4.x access to the virtual server: client 10.4.4.0 255.255.255.0 Related s virtual Description Configures the virtual server attributes. 20

IOS Server Load Balancing delay delay To change the amount of time IOS SLB maintains TCP connection context after a connection has terminated, use the delay virtual server configuration command. To restore the default delay timer, use the no form of this command. delay duration no delay duration Delay timer duration in seconds. The valid range is 1 to 600 seconds. The default value is 10 seconds. Defaults Duration default: 10 seconds Modes Virtual server configuration History Examples The following example specifies that IOS SLB maintains TCP connection context for 30 seconds after a connection has terminated: delay 30 Related s virtual Description Configures the virtual server attributes. 21

faildetect IOS Server Load Balancing faildetect To specify the conditions that indicate a server failure, use the faildetect real server configuration command. To restore the default values that indicate a server failure, use the no form of this command. faildetect numconns number-conns [numclients number-clients] no faildetect numconns Number of consecutive TCP connection reassignments allowed before a real server is considered to have failed. number-conns Connection reassignment threshold value in the range from 1 to 255. The default is 8 connection failures. numclients number-clients (Optional) Number of unique client connection failures, which, together with the server connection reassignment threshold, constitutes failure of a real server. (Optional) Client connection reassignment threshold value in the range from 1 to 8. The default is whichever value is less, number-conns or 8. Defaults If the faildetect command is not specified, the default value of the connection reassignment threshold is 8. If the numclients keyword is not specified, the default value of the unique client failure threshold is whichever value is less, number-conns or 8. Modes Real server configuration History Examples In the following example the connection reassignment threshold is set to 16 and, because the number-clients keyword is not configured, the threshold for unique client connection failure is set to the default value 8. The real server is considered to have failed when 8 unique clients have had connection failure and there have been 16 connection reassignments. faildetect numconns 16 Related s real Description Identifies a real server. 22

IOS Server Load Balancing idle idle To specify the minimum amount of time IOS SLB maintains connection information in the absence of packet activity for a connection, use the idle virtual server configuration command. To restore the default idle duration value, use the no form of this command. idle duration no idle duration Idle connection timer duration in seconds. Valid values range from 10 to 65535. The default is 3600 seconds. Defaults Duration default: 3600 seconds Modes Virtual server configuration History Examples The following example instructs IOS SLB to maintain connection information for an idle connection for 120 seconds. idle 120 Related s virtual Description Configures the virtual server attributes. 23

inservice (real server) IOS Server Load Balancing inservice (real server) To enable the real server for use by IOS SLB, use the inservice real server configuration command. To remove the real server from service, use the no form of this command. inservice no inservice This command has no arguments or keywords. Defaults If the inservice command is not specified, the real server is defined to IOS SLB but is not used. Modes Real server configuration History Examples The following example enables the real server for use by the IOS SLB feature: inservice Related s real Description Identifies a real server. 24

IOS Server Load Balancing inservice (virtual server) inservice (virtual server) To enable the virtual server for use by IOS SLB, use the inservice virtual server configuration command. To remove the virtual server from service, use the no form of this command. inservice no inservice This command has no arguments or keywords. Defaults If the inservice command is not specified, the virtual server is defined to IOS SLB but is not used. Modes Virtual server configuration History Examples The following example enables the real server for use by the IOS SLB feature: inservice Related s virtual Description Configures the virtual server attributes. 25

ip slb dfp IOS Server Load Balancing ip slb dfp To configure DFP and supply an optional password, use the ip slb dfp global configuration command. To remove the DFP configuration, use the no form of this command. ip slb dfp [password password [timeout]] no ip slb dfp password password timeout (Optional) Specifies a password for MD5 authentication. (Optional) Password value for MD5 authentication. This password must match the password configured on the host agent. (Optional) Delay period, in seconds, during which both the old password and the new password are accepted. The default value is 180 seconds. Defaults Timeout default: 180 seconds Modes Global configuration History Usage Guidelines The optional password, if configured, must match the password configured on the host agent. The timeout options allow you to change the password without stopping messages between the agent and the manager. Examples The following example configures DFP, sets the password to flounder, and configures a timeout period of 60 seconds: ip slb dfp flounder 60 Related s agent Description Configures a DFP agent. 26

IOS Server Load Balancing ip slb serverfarm ip slb serverfarm To identify a server farm and enter server farm configuration mode, use the ip slb serverfarm global configuration command. To remove the server farm from the IOS SLB configuration, use the no form of this command. ip slb serverfarm serverfarm-name no ip slb serverfarm serverfarm-name serverfarm-name Character string used to identify the server farm. The character string is limited to 15 characters. Defaults No default behavior or values. Modes Global configuration History Examples The following example identifies a server farm named PUBLIC: ip slb serverfarm PUBLIC Related s real Description Identifies a real server. 27

ip slb vserver IOS Server Load Balancing ip slb vserver To identify a virtual server and enter virtual server configuration mode, use the ip slb vserver global configuration command. To remove a virtual server from the IOS SLB configuration, use the no form of this command. ip slb vserver virtserver-name no ip slb vserver virtserver-name virtserver-name Character string used to identify the virtual server. The character string is limited to 15 characters. Defaults No default behavior or values. Modes Global configuration History Examples The following example identifies a virtual server named PUBLIC_HTTP: ip slb vserver PUBLIC_HTTP Related s serverfarm Description Associates a real server farm with a virtual server. 28

IOS Server Load Balancing maxconns maxconns To limit the number of active connections to the real server, use the maxconns real server configuration command. To restore the default of no limit, use the no form of this command. maxconns maximum-number no maxconns maximum-number Maximum number of simultaneous active connections on the real server. Valid values range from 1 to 4294967295. The default is 4294967295. Defaults Maximum_number default: 4294967295 Modes Real server configuration History Examples The following example limits the real server to a maximum of 1000 simultaneous active connections: maxconns 1000 Related s real Description Identifies a real server. 29

predictor IOS Server Load Balancing predictor To specify the load balancing algorithm for selecting a real server in the server farm, use the predictor server farm configuration command. To restore the default load balancing algorithm of weighted round robin, use the no form of this command. predictor [roundrobin leastconns] no predictor roundrobin leastconns (Optional) Use the weighted round robin algorithm for selecting the real server to handle the next new connection for the server farm. See the Weighted Round Robin section on page 3 for a detailed description of this algorithm. (Optional) Use the weighted least connections algorithm for selecting the real server to handle the next new connection for this server farm. See the Weighted Least Connections section on page 3 for a detailed description of this algorithm. Defaults Weighted round robin Modes Server farm configuration History Examples The following example specifies the weighted least connections algorithm: predictor leastconns Related s weight Description Specifies the real server s capacity, relative to other real servers in the server farm. 30

IOS Server Load Balancing real real To identify a real server as a member of a server farm, use the real server farm configuration command. To remove the real server from the IOS SLB configuration, use the no form of this command. real ip-address no real ip-address ip-address Real server IP address. Defaults No default behavior or values. Modes Server farm configuration History Examples The following example identifies a real server as a member of the server farm: real 10.1.1.1 Related s inservice Description Enables the real server for use by IOS SLB. 31

reassign IOS Server Load Balancing reassign Use the reassign real server configuration command to specify the threshold of consecutive unanswered SYNs that, if exceeded, result in an attempted connection to a different real server. To restore the default reassignment threshold, use the no form of this command. reassign threshold no reassign threshold Number of unanswered TCP SYNs that are directed to a real server before the connection is reassigned to a different real server. Valid threshold values range from 1 to 4 SYNs. The default value is 3. Defaults Threshold default: 3 SYNs Modes Real server configuration History Examples The following example sets the threshold of unanswered SYNs to 2: reassign 2 Related s real Description Identifies a real server. 32

IOS Server Load Balancing retry retry To specify the amount of time that must elapse before a new connection is attempted to a failed server, use the retry real server configuration command. To restore the default retry value, use the no form of this command. retry retry-value no retry retry-value Interval of time, in seconds, that must elapse after the detection of a server failure before a new connection to the server is attempted. Valid values range from 1 to 3600. The default value is 60 seconds. Defaults Retry-value default: 60 seconds Modes Real server configuration History Examples The following example specifies that 120 seconds must elapse after the detection of a server failure before a new connection is attempted: retry 120 Related s real Description Identifies a real server. 33

serverfarm IOS Server Load Balancing serverfarm To associate a real server farm with a virtual server, use the serverfarm virtual server configuration command. To remove the server farm association from the virtual server configuration, use the no form of this command. serverfarm serverfarm-name no serverfarm serverfarm-name Name of a server farm that has already been defined using the ip slb serverfarm command. Defaults No default behavior or values. Modes Virtual server configuration History Examples The following example shows how the ip slb vserver, virtual, and serverfarm commands are used to associate the real server farm named PUBLIC with the virtual server named PUBLIC_HTTP. ip slb vserver PUBLIC_HTTP virtual 10.0.0.1 tcp www serverfarm PUBLIC Related s virtual Description Configures the virtual server attributes. 34

IOS Server Load Balancing show ip slb conns show ip slb conns To display the active IOS SLB connections, use the show ip slb conns privileged EXEC command. show ip slb conns [vserver virtserver-name] [client ip-address] [detail] vserver virtserver-name client ip-address detail (Optional) Displays only those connections associated with a particular virtual server. (Optional) Name of the virtual server to be monitored. (Optional) Displays only those connections associated with a particular client IP address. (Optional) IP address of the client to be monitored. (Optional) Displays detailed connection information. Defaults If no options are specified, the command displays output for all active IOS SLB connections. Modes Privileged EXEC History Examples The following example shows IOS SLB active connection data: router# show ip slb conns vserver prot client real state ----------------------------------------------------------------------------- TEST TCP 7.150.72.183:328 80.80.90.25:80 CLOSING TEST TCP 7.250.167.226:423 80.80.90.26:80 CLOSING TEST TCP 7.234.60.239:317 80.80.90.26:80 CLOSING TEST TCP 7.110.233.96:747 80.80.90.26:80 CLOSING TEST TCP 7.162.0.201:770 80.80.90.30:80 CLOSING TEST TCP 7.22.225.219:995 80.80.90.26:80 CLOSING TEST TCP 7.2.170.148:169 80.80.90.30:80 CLOSING Table 1 show ip slb conns Field Information Field vserver prot client Description Name of the virtual server whose connections are being monitored and displayed. Information about each connection is displayed on a separate line. Protocol being used by the connection. Client IP address being used by the connection. 35

show ip slb conns IOS Server Load Balancing real state Real IP address of the connection. Current state of the connection. 36

IOS Server Load Balancing show ip slb dfp show ip slb dfp To display DFP manager and agent information, such as passwords, timeouts, retry counts, and weights, use the show ip slb dfp privileged EXEC command. show ip slb dfp [agent ip_address port detail weights] agent ip_address port detail weights (Optional) Displays information about an agent. (Optional) Agent IP address. (Optional) Agent port number. (Optional) Displays all data available. (Optional) Displays information about weights assigned to real servers for load balancing. Defaults If no options are specified, the command displays summary information. Modes Privileged EXEC History Examples The following example shows IOS SLB DFP data: router# show ip slb dfp detail DFP Manager: Current passwd:none Pending passwd:none Passwd timeout:0 sec Unexpected errors:0 DFP Agent 161.44.2.34:61936 Connection state:connected Timeout = 0 Retry Count = 0 Interval = 180 (Default) Security errors = 0 Last message received:10:20:26 UTC 11/02/99 Last reported Real weights for Protocol TCP, Port www Host 17.17.17.17 1 Weight 1 Host 68.68.68.68 Bind ID 4 Weight 4 Host 85.85.85.85 Bind ID 5 Weight 5 Last reported Real weights for Protocol TCP, Port 22 Host 17.17.17.17 Bind ID 111 Weight 111 37

show ip slb dfp IOS Server Load Balancing router# show ip slb dfp weights Real IP Address 17.17.17.17 Protocol TCP Port 22 Bind_ID 111 Weight 111 Set by Agent 161.44.2.3458490 at 132241 UTC 12/03/99 Real IP Address 17.17.17.17 Protocol TCP Port www Bind_ID 1 Weight 1 Set by Agent 161.44.2.3458490 at 132241 UTC 12/03/99 Real IP Address 68.68.68.68 Protocol TCP Port www Bind_ID 4 Weight 4 Set by Agent 161.44.2.3458490 at 132241 UTC 12/03/99 Real IP Address 85.85.85.85 Protocol TCP Port www Bind_ID 5 Weight 5 Set by Agent 161.44.2.3458490 at 132241 UTC 12/03/99 router# show ip slb dfp DFP Manager: Current passwd:none Pending passwd:none Passwd timeout:0 sec Agent IP Port Timeout Retry Count Interval -------------------------------------------------------- 161.44.2.34 61936 0 0 180 (Default) Table 2 show ip slb dfp Field Information Field Agent IP Port Timeout Retry Count Interval Description IP address of the agent about which information is being displayed. Port number of the agent. Time period, in seconds, during which the DFP manager must receive an update from the DFP agent. A value of 0 means there is no timeout. Number of times the DFP manager attempts to establish the TCP connection to the DFP agent. A value of 0 means there are infinite retries. Interval, in seconds, between retries. 38

IOS Server Load Balancing show ip slb reals show ip slb reals To display information about the real servers, use the show ip slb reals privileged EXEC command. show ip slb reals [vserver virtserver-name] [detail] vserver virtserver-name detail (Optional) Displays information about only those real servers associated with a particular virtual server. (Optional) Name of the virtual server. (Optional) Displays detailed information. Defaults If no options are specified, the command displays information about all real servers. Modes Privileged EXEC History Examples The following example shows IOS SLB real server data: router# show ip slb reals real server farm weight state conns ---------------------------------------------------------------- 80.80.2.112 FRAG 8 OUTOFSERVICE 0 80.80.5.232 FRAG 8 INSERVICE 0 80.80.15.124 FRAG 8 OUTOFSERVICE 0 80.254.2.2 FRAG 8 OUTOFSERVICE 0 80.80.15.124 LINUX 8 INSERVICE 0 80.80.15.125 LINUX 8 INSERVICE 0 80.80.15.126 LINUX 8 INSERVICE 0 80.80.90.25 SRE 8 INSERVICE 220 80.80.90.26 SRE 8 INSERVICE 216 80.80.90.27 SRE 8 INSERVICE 216 80.80.90.28 SRE 8 TESTING 1 80.80.90.29 SRE 8 INSERVICE 221 80.80.90.30 SRE 8 INSERVICE 224 80.80.30.3 TEST 100 READY_TO_TEST 0 80.80.30.4 TEST 100 READY_TO_TEST 0 80.80.30.5 TEST 100 READY_TO_TEST 0 80.80.30.6 TEST 100 READY_TO_TEST 0 39

show ip slb reals IOS Server Load Balancing Table 3 show ip slb reals Field Information Field real server farm weight state Description IP address of the real server about which information is being displayed. Used to identify each real server. Information about each real server is displayed on a separate line. Name of the server farm to which the real server. Weight assigned to the real server. The weight identifies the real server s capacity, relative to other real servers in the server farm. Current state of the real server. 40

IOS Server Load Balancing show ip slb serverfarms show ip slb serverfarms To display information about the server farms, use the show ip slb serverfarms privileged EXEC command. show ip slb serverfarms [name serverfarm-name] [detail] name serverfarm-name detail (Optional) Displays information about only a particular server farm. (Optional) Name of the server farm. (Optional) Displays detailed server farm information. Defaults No default behavior or values. Modes Privileged EXEC History Examples The following example shows IOS SLB server farm data: router# show ip slb serverfarms server farm predictor reals bind id ------------------------------------------------- FRAG ROUNDROBIN 4 0 LINUX ROUNDROBIN 3 0 SRE ROUNDROBIN 6 0 TEST ROUNDROBIN 4 0 Table 4 show ip slb serverfarms Field Information Field server farm predictor reals bind id Description Name of the server farm about which information is being displayed. Information about each server farm is displayed on a separate line. Type of load balancing algorithm (ROUNDROBIN or LEASTCONNS) used by the server farm. Number of real servers configured in the server farm. Bind ID configured on the server farm. 41

show ip slb stats IOS Server Load Balancing show ip slb stats To display IOS SLB statistics, use the show ip slb stats privileged EXEC command. show ip slb stats This command has no arguments or keywords. Defaults No default behavior or values. Modes Privileged EXEC History Examples The following example shows IOS SLB statistics: router# show ip slb stats Pkts via normal switching: 530616 Pkts via special switching:1812710 Connections Created: 783774 Connections Established: 633418 Connections Destroyed: 782752 Connections Reassigned: 0 Zombie Count: 0 Table 5 show ip slb stats Field Information Field Pkts via normal switching Pkts via special switching Connections Created Connections Established Connections Destroyed Connections Reassigned Zombie Count Description Number of packets that have been handled by IOS SLB via normal switching since the last time counters were cleared. Number of packets that have been handled by IOS SLB via special switching since the last time counters were cleared. Number of connections that have been created since the last time counters were cleared. Number of connections that have been created and have become established since the last time counters were cleared. Number of connections that have been destroyed since the last time counters were cleared. Number of connections that have been reassigned to a different real server since the last time counters were cleared. Number of connections that are currently pending destruction, awaiting a timeout or some other condition to be met. 42

IOS Server Load Balancing show ip slb sticky show ip slb sticky To display the IOS SLB sticky database, use the show ip slb sticky privileged EXEC command. show ip slb sticky [client ip_address] client ip-address (Optional) Displays only those sticky database entries associated with a particular client IP address. (Optional) IP address of the client. Defaults If no options are specified, the command displays information about all virtual servers. Modes Privileged EXEC History Examples The following example shows the IOS SLB sticky database: router# show ip slb sticky client group real conns ftp-cntrl -------------------------------------------------------------- 10.10.2.12 4097 10.10.3.2 1 0 Table 6 show ip slb sticky Field Information Field client group real conns ftp-cntrl Description Client IP address which is bound to this sticky assignment. Group ID for this sticky assignment. Real server used by all clients connecting with the client IP address detailed on this line. Number of connections currently sharing this sticky assignment. Number of File Transfer Protocol (FTP) control connections currently using this sticky assignment. 43

show ip slb vservers IOS Server Load Balancing show ip slb vservers To display information about the virtual servers, use the show ip slb vservers privileged EXEC command. show ip slb vservers [name virtserver-name] [detail] name virtserver-name detail (Optional) Displays information about only this virtual server. (Optional) Name of the virtual server. (Optional) Displays detailed information. Defaults If no options are specified, the command displays information about all virtual servers. Modes Privileged EXEC History Examples The following example shows virtual server data: router# show ip slb vservers slb vserver prot virtual state conns ------------------------------------------------------------------ TEST TCP 80.80.254.3:80 INSERVICE 1013 TEST21 TCP 80.80.254.3:21 OUTOFSERVICE 0 TEST23 TCP 80.80.254.3:23 OUTOFSERVICE 0 Table 7 show ip slb vserver Field Information Field slb vserver prot virtual state conns Description Name of the virtual server about which information is being displayed. Information about each virtual server is displayed on a separate line. Protocol being used by the virtual server detailed on a given line. Virtual IP address of the virtual server detailed on a given line. Current state of the virtual server detailed on a given line. Number of connections associated with the virtual server detailed on a given line. 44

IOS Server Load Balancing sticky sticky To assign all connections from a client to the same real server, use the sticky virtual server configuration command. To remove the client/server coupling use the no form of this command. sticky duration [group group-id] no sticky duration Sticky timer duration in seconds. Valid values range from 0 to 65535. group (Optional) Places the virtual server in a sticky group, for coupling of services. group-id (Optional) Number identifying the sticky group to which the virtual server belongs. Valid values range from 0 to 255. Defaults Sticky connections are not tracked. Virtual servers are not associated with any groups. Modes Virtual server configuration History Usage Guidelines The last real server that was used for a connection from a client is stored for the set duration seconds. If a new connection from the client to the virtual server is initiated during that time, the same real server that was used for the previous connection is chosen for the new connection. If two virtual servers are placed in the same group, coincident connection requests for those services from the same IP address are handled by the same real server. Examples The following example specifies that if a client s subsequent request for a virtual server is made within 60 seconds of the previous request, then the same real server is used for the connection. This example also places the virtual server in group 10. sticky 60 group 10 Related s virtual Description Configures the virtual server attributes. 45

synguard IOS Server Load Balancing synguard To limit the rate of TCP SYNs handled by a virtual server to prevent a SYN flood denial of service attack, use the synguard virtual server configuration command. To remove the threshold, use the no form of this command. synguard syn-count [interval] no synguard syn-count interval Number of unanswered SYNs that are allowed to be outstanding to a virtual server. Valid values range from 0 (off) to 4294967295. The default is 0. (Optional) Interval, in milliseconds, for SYN threshold monitoring. Valid values range from 50 to 5000. The default is 100 ms. Defaults Syn-count default: 0 (off) Interval default: 100 ms Modes Virtual server configuration History Examples The following example sets the threshold of unanswered SYNs to 50: synguard 50 Related s virtual Description Configures the virtual server attributes. 46

IOS Server Load Balancing virtual virtual To configure virtual server attributes, use the virtual virtual server configuration command. To remove the attributes, use the no form of this command. virtual ip-address {tcp udp} port-number [service service-name] no virtual ip-address tcp udp port-number service service-name IP address for this virtual server instance, used by clients to connect to the server farm. Perform load balancing for only TCP connections. Perform load balancing for only UDP connections. IOS SLB virtual port (the TCP or UDP port number or port name). If specified, only the connections for the specified port on the server are load balanced. The ports and the valid name or number for the port-number argument are as follows: Domain Name System: dns 53 File Transfer Protocol: ftp 21 HTTP over Secure Socket Layer: https 443 Mapping of Airline Traffic over IP, Type A: matip-a 350 Network News Transport Protocol: nntp 119 Post Office Protocol v2: pop2 109 Post Office Protocol v3: pop3 110 Simple Mail Transport Protocol: smtp 25 Telnet: telnet 23 World Wide Web (HTTP): www 80 (Optional) Couple connections associated with a given service, such as HTTP or Telnet, so all related connections from the same client use the same real server. (Optional) Type of connection coupling. Currently, the only choice is: ftp Couple FTP data connections with the control session that created them. Defaults No default behavior or values. Modes Virtual server configuration 47

virtual IOS Server Load Balancing History Usage Guidelines The no virtual command is allowed only if the virtual server has been taken out of service by the no inservice command. Examples The following example specifies that the virtual server with the IP address 10.0.0.1 performs load balancing for TCP connections for the port named www. The virtual server processes HTTP requests. virtual 10.0.0.1 tcp www Related s ip slb vserver Description Identifies a virtual server. 48

IOS Server Load Balancing weight weight To specify a real server s capacity, relative to other real servers in the server farm, use the weight real server configuration command. To restore the default weight value, use the no form of this command. weight weighting-value no weight weighting-value Weighting value to use for real server predictor algorithm. Valid values range from 1 to 155. The default weighting value is 8. Defaults Weighting-value default: 8 Modes Real server configuration History Examples The following example specifies the relative weighting values of three real servers as 16, 8 (by default), and 24, respectively: real 10.10.1.1 First real server weight 16 Assigned weight of 16 inservice Enabled! real 10.10.1.2 Second real server inservice Enabled; default weight of 8! real 10.10.1.2 Third real server weight 24 Assigned weight of 24; not enabled Related s real Description Identifies a real server. 49

Debug s IOS Server Load Balancing Debug s This section documents the following new debug command related to the IOS SLB feature: debug ip slb 50

IOS Server Load Balancing debug ip slb debug ip slb To display debug messages for IOS SLB, use the debug ip slb EXEC command. To stop debug output, use the no form of this command. debug ip slb {all conns dfp icmp reals} no debug ip slb all conns dfp icmp reals Displays all debug messages for IOS SLB. Displays debug messages for all connections being handled by IOS SLB. Displays debug messages for the IOS SLB DFP and DFP agents. Displays all Internet Control Message Protocol debug messages for IOS SLB. Displays debug messages for all real servers defined to IOS SLB. Defaults No default behavior or values. History Examples The following example shows IOS SLB DFP debug output: router# debug ip slb dfp SLB DFP debugging is on router# 022048 SLB DFP Queue to main queue - type 2 for Agent 161.44.2.3458229 022048 SLB DFP select_rc = -1 readset = 0 022048 SLB DFP Sleeping... 022049 SLB DFP readset = 0 022049 SLB DFP select_rc = -1 readset = 0 022049 SLB DFP Processing Q event for Agent 161.44.2.3458229 - OPEN 022049 SLB DFP Queue to conn_proc_q - type 2 for Agent 161.44.2.3458229 022049 SLB DFP readset = 0 022049 SLB DFP Set SLB_DFP_SIDE_QUEUE 022049 SLB DFP Processing Conn Q event for Agent 161.44.2.3458229 - OPEN 022049 SLB DFP Open to Agent 161.44.2.3458229 succeeded, socket = 0 022049 SLB DFP Agent 161.44.2.3458229 start connect 022049 SLB DFP Connect to Agent 161.44.2.3458229 successful - socket 0 51

debug ip slb IOS Server Load Balancing 022049 SLB DFP Queue to main queue - type 6 for Agent 161.44.2.3458229 022049 SLB DFP Processing Conn Q unknown MAJOR 80 022049 SLB DFP Reset SLB_DFP_SIDE_QUEUE 022049 SLB DFP select_rc = -1 readset = 0 022049 SLB DFP Sleeping... 022050 SLB DFP readset = 1 022050 SLB DFP select_rc = 1 readset = 1 022050 SLB DFP Agent 161.44.2.3458229 fd = 0 readset = 1 022050 SLB DFP Message length 44 from Agent 161.44.2.3458229 022050 SLB DFP Agent 161.44.2.3458229 setting Host 17.17.17.17, Bind ID 1 Weight 1 022050 SLB DFP Agent 161.44.2.3458229 setting Host 34.34.34.34, Bind ID 2 Weight 2 022050 SLB DFP Agent 161.44.2.3458229 setting Host 51.51.51.51, Bind ID 3 Weight 3 022050 SLB DFP Processing Q event for Agent 161.44.2.3458229 - WAKEUP 022050 SLB DFP readset = 1 022050 SLB DFP select_rc = 1 readset = 1 022050 SLB DFP Agent 161.44.2.3458229 fd = 0 readset = 1 022050 SLB DFP Message length 64 from Agent 161.44.2.3458229 022050 SLB DFP Agent 161.44.2.3458229 setting Host 17.17.17.17, Bind ID 1 Weight 1 022050 SLB DFP Agent 161.44.2.3458229 setting Host 68.68.68.68, Bind ID 4 Weight 4 022050 SLB DFP Agent 161.44.2.3458229 setting Host 85.85.85.85, Bind ID 5 Weight 5 022050 SLB DFP Agent 161.44.2.3458229 setting Host 17.17.17.17, Bind ID 111 Weight 111 022050 SLB DFP readset = 1 022115 SLB DFP Queue to main queue - type 5 for Agent 161.44.2.3458229 022115 SLB DFP select_rc = -1 readset = 0 022115 SLB DFP Sleeping... 022116 SLB DFP readset = 1 022116 SLB DFP select_rc = -1 readset = 0 022116 SLB DFP Processing Q event for Agent 161.44.2.3458229 - DELETE 022116 SLB DFP Queue to conn_proc_q - type 5 for Agent 161.44.2.3458229 022116 SLB DFP readset = 1 022116 SLB DFP Set SLB_DFP_SIDE_QUEUE 022116 SLB DFP Processing Conn Q event for Agent 161.44.2.3458229 - DELETE 022116 SLB DFP Connection to Agent 161.44.2.3458229 closed 022116 SLB DFP Agent 161.44.2.3458229 deleted 022116 SLB DFP Processing Conn Q unknown MAJOR 80 022116 SLB DFP Reset SLB_DFP_SIDE_QUEUE 022116 SLB DFP Set SLB_DFP_SIDE_QUEUE 022116 SLB DFP Reset SLB_DFP_SIDE_QUEUE 52

IOS Server Load Balancing Glossary Glossary cluster Set of computer systems that are connected together through multisystem hardware or software to provide services traditionally provided by a single system. This arrangement provides higher availability and better scalability of the system. content-aware networking Networking strategy that enables content to be dynamically distributed. Because content can be dynamically cached, it can be located at any given place at any given time and distributed between the servers and the location of the Web cache. Cisco has developed the ContentFlow architecture and the DFP to enable networks to provide content-aware networking services ContentFlow architecture Cisco s content-aware networking architecture that describes message flows and actions in a distributed environment. DFP Dynamic Feedback Protocol. Allows host agents to dynamically report the change in status of the host systems providing a virtual service. The status reported is a relative weight that specifies a host server s capacity to perform work. Dynamic Feedback Protocol See DFP. IOS SLB IOS Server Load Balancing. Load balancing scheme in which the network administrator defines a virtual server that represents a group of real servers in a cluster of network servers known as a server farm. When a client initiates a connection to the virtual server, IOS SLB chooses a real server for the connection based on a configured load balancing algorithm. load balancing Spreading user requests among available servers within a cluster of servers, based on a variety of algorithms. MD5 Message Digest Algorithm Version 5. Neighbor router authentication scheme used to ensure reliability and security when routing updates are exchanged between neighbor routers. Message Digest Algorithm Version 5 See MD5. NetFlow switching High-performance network-layer switching path that captures as part of its switching function a rich set of traffic statistics including user, protocol, port, and type of service information. round robin See weighted round robin. Secure Socket Layer See SSL. server cluster See server farm. server farm Also called a server cluster. Group of real servers that provide various applications and services. Server Load Balancing See IOS SLB. services manager Functionality built into IOS SLB that makes load-balancing decisions based on application availability, server capacity, and load distribution algorithms such as weighted round robin or weighted least connections, or the DFP. The services manager determines a real server for the packet flow using load balancing and server/application feedback. SLB See IOS SLB. SSL Secure Socket Layer. Encryption technology for the Web used to provide secure transactions such as the transmission of credit card numbers for e-commerce. virtual server Presents a single address that represents an application server farm to clients. weighted least connection Load balancing algorithm in which the next real server chosen for a new connection to the virtual server is the server with the fewest active connections. Each real server is assigned a weight, n, that represents its capacity to handle connections, as compared to the other real 53

Glossary IOS Server Load Balancing servers associated with the virtual server. The server with the fewest connections is based on the number of active connections on each server, and on the relative capacity of each server. The capacity of a given real server is calculated as the assigned weight of that server divided by the sum of the assigned weights of all of the real servers associated with that virtual server, or n 1 /(n 1 +n 2 +n 3...). weighted round robin Load balancing algorithm in which the real server used for a new connection to the virtual server is chosen in a circular fashion. Each real server is assigned a weight, n, that represents its capacity to handle connections, as compared to the other real servers associated with the virtual server. New connections are assigned to a given real server n times before the next real server in the list is chosen. workload agents Value-added software components developed for specific platforms by third-party developers. Workload agents run on server platforms or on platforms that manage server farms. Workload agents deliver server and application information to the services manager. This information enables the services manager to make optimum server selection. 54