Persistence Profile in BIG-IP
Persistence profiles in BIG-IP manage how the system maintains connections between clients and servers to ensure consistent behavior. Below is a detailed breakdown of persistence types, behaviors, and advanced options.
General Features
Connection Limit Overrides:
Pool member connection limits can be overridden for persisted clients.
Virtual server connection limits remain strict and are not overridden.
Persistence Types
Cookie Persistence:
Designed for HTTP connections.
Tracks sessions by inserting or handling cookies between clients and servers.
Options:
Insert (Default):
BIG-IP inserts a custom cookie in server responses.
Encodes the server's IP and port in the cookie (
BIGipServer<pool_name>
).Enabling Always Send Cookie ensures all F5 responses include the cookie (performance impact).
Rewrite:
Modifies cookies sent by the server (
BIGipCookie=<120-zeroes>
format) into F5's encoded cookie format.
Passive:
Forwards all cookies from the server without inserting or modifying them.
Server is responsible for persistence management.
Hash:
Server provides a cookie, and BIG-IP consistently maps it to a specific node.
Requires specifying the cookie name in the persistence profile.
Source Address Persistence:
Tracks clients based on their IP address.
Supports TCP and UDP for host or network-based virtual servers.
SSL Persistence:
Uses the SSL Session-ID to maintain persistence for non-terminated SSL connections.
Destination Address Persistence:
For TCP/UDP connections to network-based virtual servers (supports
/0
to/31
subnet masks).
Hash Persistence:
Uses an iRule to create persistence records based on a hash value.
Example:
persist hash <session-key>
Universal Persistence:
Flexible; persistence records are created based on specific header values.
Example:
persist uie <session-key>
Microsoft RDP Persistence:
Tracks sessions using RDP Session-ID.
SIP Persistence:
Tracks sessions using Caller-ID for SIP over TCP, UDP, or SCTP.
CARP (Cache Array Routing Protocol) Hash Algorithm
Stateless load balancing for HTTP or compatible protocols.
Key Features:
No persistence table required.
Automatic load redistribution between members.
Suitable for HTTP cache proxies, HTTP traffic, and OneConnect configurations.
Commands like
tmsh show /ltm persistence persist-records
andbigpipe persist show all
cannot be used.Excellent for stateless persistence scenarios.
Advanced Persistence Options
Criteria for Session Persistence
For cookie profiles, "Cookie Hash" settings apply when VS → Pool → Node mappings include the same member addresses.
"Match Across Services"
Port-based matching.
Used when multiple VSs share the same virtual IP but have different ports.
Example:
VS1:
192.168.0.2:80
VS2:
192.168.0.2:443
"Match Across Virtual Servers"
Allows persistence across virtual servers with different virtual IPs and ports.
Useful when multiple VSs point to the same backend pool or node.
"Match Across Pools"
Enables persistence across multiple pools.
The system uses any pool containing a persistence record for the client.
Caution: Can redirect traffic to a pool not explicitly configured for the virtual server.
Summary of Use Cases
Persistence Type
Use Case
Cookie
HTTP traffic with client-side tracking via cookies.
Source Address
Sessions requiring IP-based tracking (e.g., stateless clients).
SSL
Non-terminated SSL traffic with session consistency.
Destination Address
Network-based load balancing scenarios.
Hash / Universal
Custom iRule-driven persistence logic.
Microsoft RDP
Microsoft Remote Desktop Protocol sessions.
SIP
Caller-ID-based SIP traffic.
CARP Hash
Stateless, HTTP cache proxies, and OneConnect configurations.
Last updated