Welcome to the BIG/ip® Controller Administrator Guide. This guide describes how to set up the BIG/ip Controller hardware and how to configure your load balancing setup, as well as other BIG/ip Controller features. The Administrator guide also includes the software specifications for the BIG/ip Controller platform and reviews some sample configurations that can help you in planning your own configuration.
The BIG/ip Controller is a network appliance that manages and balances traffic for networking equipment such as web servers, cache servers, routers, firewalls, and proxy servers. A variety of useful features meets the special needs of e-commerce sites, Internet service providers, and managers of large intranets. The system is highly configurable, and its web-based and command line configuration utilities allow for easy system set up and monitoring.
Adding a BIG/ip Controller to your network ensures that your network remains reliable. The BIG/ip Controller continually monitors the servers and other equipment it manages, and never attempts to send connections to servers that are down or too busy to handle the connection. The BIG/ip Controller uses a variety of methods to monitor equipment, from simple pings to more advanced methods, such as Extended Content Verification that verifies whether a server returns specific site content. The BIG/ip Controller also offers several layers of redundancy that ensure its own reliability.
The BIG/ip platform supports both TCP and UDP protocols, and also supports popular network services including:
Note that the BIG/ip Controller supports administrative protocols, such as Simple Network Management Protocol (SNMP) and Simple Mail Transfer Protocol (SMTP) (outbound only), for performance monitoring and notification of system events. The BIG/ip Controller's SNMP agent allows you to monitor status and current traffic flow using popular network management tools, including the F5 Configuration utility. The SNMP agent provides useful data such as packets in and out per second, and current connections being handled for each virtual server. You may also want to take advantage of Telnet, FTP, and the F-Secure SSH client (distributed only in the US). The F-Secure SSH client provides a secure UNIX shell connection to the BIG/ip Controller from a remote workstation.
The BIG/ip Controller offers a variety of features that protect both the controller itself, and the network equipment that it manages. Each of the following features can help prevent potentially hostile attacks on your site or equipment.
In addition to these features, BIG/ip Controllers distributed in the US support encrypted administrative connections using F-Secure SSH for shell connections, and SSL protocol for connections to the web-based configuration utility.
The BIG/ip Controller is a highly scalable and versatile solution. You can actually configure a single BIG/ip Controller to manage up to 10,000 virtual servers, though most common configurations are significantly smaller. The number of servers, firewalls, or routers that a single BIG/ip Controller can load balance is limited only by the capacity of your network media, such as Ethernet. The BIG/ip Controller supports a variety of media options, including Fast Ethernet, Gigabit Ethernet, and FDDI. The maximum number of concurrent connections that a BIG/ip Controller can manage is determined by the amount of RAM in your particular BIG/ip Controller hardware configuration.
The BIG/ip platform provides the following web-based and command line administrative tools that make for easy setup and configuration.
The First-Time Boot utility is a wizard that walks you through the initial system set up. The utility helps you quickly define basic system settings, such as a root password and the IP addresses for the interfaces that connect the BIG/ip Controller to the network. The First-Time Boot utility also helps you configure access to the BIG/ip web server, which hosts the web-based F5 Configuration utility.
The F5 Configuration utility is a web-based application that you use to configure and monitor the load balancing setup on the BIG/ip Controller. In the F5 Configuration utility, you can configure virtual servers, define IP and packet rate filters, and also configure system objects including the SNMP agent and system settings. The F5 Configuration utility allows you to monitor network traffic, current connections, and the operating system itself, and it also provides convenient access to downloads such as the SNMP MIB. The F5 Configuration utility requires Netscape Navigator or Microsoft Internet Explorer, version 4.0 or later.
The BIG/pipeTM utility is the command line counter-part to the F5 Configuration utility. Using BIG/pipe commands, you can configure virtual servers, open ports to network traffic, and configure a wide variety of features. To monitor the BIG/ip Controller, you can use certain BIG/pipe commands, or you can use the BIG/topTM utility, which provides real-time system monitoring. You can use the command line utilities directly on the BIG/ip Controller, or you can execute commands via a remote shell, such as the SSH client (US only), or a Telnet client.
The BIG/ip Controller offers seven different load balancing modes, including three static modes and four dynamic modes. A load balancing mode defines, in part, the logic that a BIG/ip Controller uses to determine which server should receive a particular connection on a specific port.
Static load balancing is based on pre-defined user settings, and does not take current performance into account. The BIG/ip Controller supports three static load balancing modes:
Dynamic load balancing modes use current performance information from each node to determine which node should receive each new connection. The different dynamic load balancing modes incorporate different performance factors:
The BIG/ip platform supports easy configuration of the BSD operating system method of IP packet filtering. IP packet filtering allows you to control both in-bound and out-bound network traffic. For example, you can specify a single IP address, or a range of IP addresses, from which your site either accepts or denies network traffic. You can also specify one or more IP addresses to which you specifically want to allow or prevent out-bound connections.
The BIG/ip platform also supports rate classes, which are an extension to IP filters. A rate class defines a maximum outgoing packet rate (bits per second) for connections that are destined for a specific IP address or from a range of IP addresses. You can use rate classes to help control the amount and flow of specific network traffic. For example, you can offer faster connection speeds for high priority connections, such as paying customers on an e-commerce site.
Some e-commerce and other dynamic content sites occasionally require returning users to go the same server that hosted their last connection, rather than being load balanced to a random server. For example, if a customer reserves an airline ticket and holds it for 24 hours, the customer may need to return to a specific back-end server that stores the reservation information in order to purchase the ticket.
The BIG/ip Controller offers a variety of sophisticated persistence options that support this functionality. In addition to simple persistence and standard SSL persistence, the BIG/ip Controller supports cookie persistence. Cookie persistence is a unique implementation where the BIG/ip Controller stores persistence connection information in a cookie on the client, rather than in a table in its own memory. When the client returns and makes a persistence connection request, the BIG/ip Controller uses the information in the cookie to determine which back-end server should host the client connection.
The BIG/ip Controller supports other useful persistence options, including simple persistence for TCP and UDP (which bases connection information on source and destination IP address) and SSL persistence (which bases connection information on an SSL session ID).
The BIG/ip Controller platform offers three different systems, each of which can be stand-alone, or can run in redundant pairs:
Note: BIG/ip Controllers distributed outside of the United States, regardless of system type, do not support encrypted communications. They do not include the F-Secure SSH client, nor do they support SSL connections to the BIG/ip web server. Instead, you can use the standard Telnet, FTP, and HTTP protocols to connect to the unit and perform administrative functions.
In addition to this administrator guide, you can find technical documentation about the BIG/ip Controller in the following locations:
The BIG/ip platform offers the following major new features in version 2.1, in addition to smaller enhancements such as support for VLAN trunks.
Redundant BIG/ip Controller systems support three new important features: connection mirroring, network fail-over, and gateway fail-safe.
Connection and persistence mirroring allow the standby unit in a redundant system to maintain the information necessary to sustain the connections and persistence information currently running through the active unit. If the active unit fails and the standby unit takes over, it handles the current connections or persistence information immediately, and allows them to continue virtually uninterrupted. This is particularly useful if your site handles FTP, Telnet, Chat, or other long-lived connections, that are especially sensitive to interruption.
The BIG/ip Controller now offers two types of redundant system configurations:
Gateway fail-safe is a new feature for redundant systems that simply provides one more checkpoint that can trigger a fail-over. You generally want to implement gateway fail-safe if your BIG/ip Controller uses two different gateways to connect each unit in the redundant system to the Internet. If the primary gateway fails, the second BIG/ip Controller can still connect to the Internet through the second gateway. Gateway fail-safe uses ICMP echo requests to verify that a particular gateway is up and running.
The BIG/ip Controller offers several new options for persistence, including a unique persistence that stores persistent connection information in an HTTP cookie on a client's own workstation.
Cookie persistence is an important new feature unique to the BIG/ip Controller. Cookie persistence allows persistent connection information to be stored in an HTTP cookie on the client's machine, rather than in a table on the BIG/ip Controller. Web servers may store client information independently, rather than storing it in location available to all web servers in an array. Thus, even though a returning client may have information stored in a cookie, the server to which the client connects may not have the corresponding information needed to process the cookie. In this case, the client needs to return to the same server that stores the information needed to process the cookie, and the BIG/ip Controller now allows for that. Using cookie persistence offers you the advantage of reducing the amount of storage space taken up on the BIG/ip Controller.
This feature provides a special type of persistence that is especially useful for cache servers. Similar to simple persistence, destination address affinity keeps track of incoming clients' source and destination IP addresses. When a client is looking to make a repeat connection to a particular destination IP address, the BIG/ip Controller directs the client to the same cache server or other transparent node that it previously used. Forcing clients to repeatedly use the same cache server can help you reduce the amount of content that might otherwise be duplicated on two or more cache servers in your network.
You can now configure simple persistence for each individual virtual server. (In previous versions, you could configure simple persistence only for ports; any virtual server that used a specific port would inherit that port's persistence settings.)
Simple persistence for a virtual server provides a new persist mask feature. The persist mask defines a range of IP addresses that can be matched to a persistent connection. Any client whose source IP address falls within the range is considered a match for the given persistence entry.
Secure Network Address Translation (SNAT) is a new feature that gives the BIG/ip Controller additional firewall functionality. You can define a SNAT IP address that acts as the source IP address for one or more clients on the BIG/ip Controller's internal interface looking to connect to hosts on the BIG/ip Controller's external interface. SNAT IP addresses are very secure because they cannot accept incoming connections from clients on the BIG/ip Controller's external network.
All BIG/ip Controller products now support having more than two interface cards. You can enhance the reliability of a BIG/ip Controller by installing redundant interface cards for each network that the BIG/ip Controller connects to. The separate interface cards can connect through different routers or gateways to the same network, allowing for more than one available network path.
You can now use wildcard ports both in standard virtual servers and in wildcard virtual servers. A virtual server defined with a wildcard port inherently accepts any type of traffic. Accordingly, the nodes that are members of that virtual server must also use wildcard ports.
You can now set up ECV service checks for transparent nodes. These checks are used to determine if tranparent nodes are operating. This is done by routing the ECV service check through the transparent node to a configurable destination beyond the transparent node.
The BIG/ip Controller now supports IEEE 802.1q VLAN tags. You can define a VLAN tag for the IP address, the shared IP alias in a redundant system, and any IP addresses on the BIG/ip Controller's internal interface. Note however, that if you use a VLAN tag for any one of these addresses, you must use VLAN tags for all of the IP addresses defined for the BIG/ip Controller itself (excluding IP addresses used for virtual servers, nodes, NATs, and SNATs).
The web-based F5 Configuration utility now supports multiple-user access, which allows you to define three security levels for users: full read-write, partial read-write, and read-only. The Config utility also supports all of the new features in version 2.1. In addition to several new screens, some existing screens have been reorganized to accommodate new settings. For a review of each particular screen, click the Help button in the toolbar.
The BIG/pipe® command line utility has been updated and streamlined. In addition to new commands for new features, certain existing commands support new syntax to make for more efficient configuration.
There are new system control variables, and the default settings for some existing system control variables have changed in certain cases. To view a description of the system control variables used by BIG/ip Controllers, refer to Appendix C, BIG/ip System Control Variables.
The BIG/ip Controller includes an updated SNMP MIB that supports the new features, as well as enhanced support for existing features.
The most common application of the BIG/ip Controller is to distribute traffic across an array of web servers that host standard web traffic, including e-commerce traffic. However, a BIG/ip Controller can also control traffic distribution for other types of servers, such as cache servers, proxy servers, firewalls, and even routers.
The following sections provide you with two basic configuration examples that can help you plan your installation. These examples can also help you understand how people use some of the most popular BIG/ip Controller features to resolve specific issues or to enhance network performance in general.
First, we start with a basic configuration where a BIG/ip Controller load balances two sites: www.MySite.com and store.MySite.com. The www.MySite.com site provides standard web content, and the store.MySite.com site is the e-commerce site that sells items to www.MySite.com customers. In this scenario, the BIG/ip Controller provides simple load balancing for both sites.
To set up load balancing for these sites, you need to create two virtual servers, one for each site. Even though the sites are related and they may even share the same IP address, each requires its own virtual server because it uses a different port to support its particular protocol: port 80 for the HTTP traffic going to www.MySite.com, and port 443 for the SSL traffic going to store.MySite.com.
Figure 1.1 shows the topology for the sample configuration. Each site uses two of the three web servers to host its content. Both sites happen to share Server 2.
Note: Note that in this example, as in all examples in this guide, we use only non-routable IP addresses. In a real topology, the virtual server IP addresses would have to be routable on the Internet.
The virtual servers that you define always include three basic elements:
The BIG/ip Controller distributes connections among the three servers according to a user-specified load balancing mode. The most common mode is Round Robin, which simply distributes each new connection to the next server in line, eventually distributing the connections equally among all the servers.
In this type of configuration, you might want to take advantage of the following BIG/ip Controller features:
The next example is a configuration that might be found in a large corporate intranet. In this scenario, the BIG/ip Controller performs load balancing for two different types of connection requests:
To set up load balancing for this intranet example, you need to create three virtual servers: one that handles load balancing for the internal corporate web site, one that directs outbound HTTP traffic to the cache server, and one that handles load balancing for the firewalls.
Figure 1.2 shows the topology for the sample configuration. A standard virtual server handles the load balancing for the corporate intranet web site, Corporate.main.net. Wildcard Virtual Server 1 takes all of the outbound HTTP traffic and directs it to the cache server. Wildcard Virtual Server 2 handles all of the remaining traffic that actually has to go out to the Internet.
The wildcard virtual servers are a special type of virtual server, which accept traffic going to IP addresses unknown to the BIG/ip Controller, as all outside Internet addresses would be. When the BIG/ip Controller receives a connection request, it immediately tries to match the requested IP address to one of its virtual server IP addresses. If it cannot find a match among the standard virtual servers that it manages, it then looks for a wildcard virtual server. Wildcard virtual servers provide the default IP address of 0.0.0.0 that the BIG/ip Controller can use as a sort of catch-all IP address match.
There are actually two types of wildcard virtual servers, and this example takes advantage of both:
In this type of configuration, you might want to take advantage of the following BIG/ip Controller features: