F5 – Sticky Persistence Options

Locations:
Persistence (sticky) Profiles:
Local Traffic > Profiles > Persistence

Virtual Servers (Where you apply the Persistence Profile):
Local traffic > Virtual Servers > {VS Name} > Resources > Default Persistence Profile

The F5 technology allows you to set up session persistence. When you set session persistence, the BIG-IP system records and maintains session data, such as the pool member that handled a client request. To ensure that client requests are sent to the same pool member throughout a session or during consecutive sessions, recording and preserving session data is essential. Session persistence can also track and save several kinds of data, such as user preferences or a user name and password.

When you attach a persistence profile to a virtual server, persistence is automatically enabled because the profile is pre-configured. You may achieve a form of persistence without writing a program by utilizing a persistence profile.

There are 7 default profiles but you can always create your own.

Cookie:
To maintain connections throughout the course of a session, cookie persistence employs the HTTP cookie header. Developers can access data kept in the server session by using the session ID often included in replies by application servers (shopping carts and so on). This value enables persistence for load balancing services. Because the session ID is unique, this method avoids the problems caused by essential persistence.

Destination Address:
Destination address affinity persistence, often referred to as sticky persistence, routes session requests to the same server based purely on the destination IP address of a packet. It supports TCP and UDP protocols.

Hash:
Hash persistence allows you to create a persistence hash based on an existing iRule. Hash persistence allows multiple values within a request to enable persistence. For example, a hash value may be created based on Source IP, Destination IP, and Destination Port to avoid problems with simple persistence. While not necessarily unique to every session, this technique results in a more even distribution of load across servers. You generally use this persistence technique with stateless applications or streaming content (video and audio).

MSRDP:
Microsoft® Remote Desktop Protocol (MSRDP) persistence tracks sessions between clients and servers running the Microsoft® Remote Desktop Protocol (RDP) service.

SIP:
Servers that accept Session Initiation Protocol (SIP) messages provided by UDP, SCTP, or TCP utilize a sort of persistence known as SIP persistence. This persistence strategy is typically used with stateful applications that need the client to remain logged in to the same application instance for the duration of the session.

Source Address:
Source address affinity persistence, sometimes referred to as simple persistence, routes session requests to the same server based purely on the source IP address of a packet and supports TCP and UDP protocols. This load-balancing persistence mechanism is typically used with stateless apps or streaming media (video and audio).

SSL:
Failure to maintain SSL-secured sessions causes the session to be renegotiated since SSL sessions must be formed and are closely related to a session between the client and server. Renegotiation takes a substantial amount of time and could make users unhappy. The BIG-IP system employs the SSL session ID to ensure that a session is appropriately routed to the application instance to which the session is initially connected to prevent needless renegotiation. The F5 system still considers the connection as permanently based on the session ID even if the client’s IP address changes. This persistence strategy is typically used with stateful applications that need the client to remain logged in to the same application instance for the duration of the session.

Universal:
Any piece of data (network, application protocol, payload) can be used by universal persistence to keep a session alive. The BIG-IP system must be able to inspect and eventually extract any piece of data from a request or response to use this approach. Application-specific persistence solutions targeting well-known applications like SIP, WTS, and, more recently, VMware View are built on this method. The data that the BIG-IP system will persist on in a packet can be defined by an expression using universal persistence. The expression specifies a set of bytes to use as a session ID and is constructed using the same expression syntax as iRules. This persistence strategy is typically used with stateful applications that need the client to remain logged in to the same application instance for the duration of the session.