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

  1. 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.


  1. Source Address Persistence:

    • Tracks clients based on their IP address.

    • Supports TCP and UDP for host or network-based virtual servers.

  2. SSL Persistence:

    • Uses the SSL Session-ID to maintain persistence for non-terminated SSL connections.

  3. Destination Address Persistence:

    • For TCP/UDP connections to network-based virtual servers (supports /0 to /31 subnet masks).

  4. Hash Persistence:

    • Uses an iRule to create persistence records based on a hash value.

      • Example: persist hash <session-key>

  5. Universal Persistence:

    • Flexible; persistence records are created based on specific header values.

      • Example: persist uie <session-key>

  6. Microsoft RDP Persistence:

    • Tracks sessions using RDP Session-ID.

  7. 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 and bigpipe 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