Product Documentation

Configure sessionless load balancing virtual servers

When the Citrix ADC appliance performs load balancing, it creates and maintains sessions between clients and servers. The maintenance of session information places a significant load on the appliance resources, and sessions might not be needed in scenarios such as a direct server return (DSR) setup and the load balancing of intrusion detection systems (IDS). To avoid creating sessions when they are not necessary, you can configure a virtual server on the appliance for sessionless load balancing. In sessionless load balancing, the appliance carries out load balancing on a per-packet basis.

Sessionless load balancing can operate in MAC-based forwarding mode or IP-based forwarding mode.

For MAC-based forwarding, the IP address of the sessionless virtual server must be specified on all the physical servers to which the traffic is forwarded.

For IP-based forwarding in sessionless load balancing, the IP address and port of the virtual server need not be specified on the physical servers, because this information is included in the forwarded packets. When forwarding a packet from the client to the physical server, the appliance leaves client details such as IP address and port unchanged and adds the IP address and port of the destination.

Supported setup

Citrix ADC sessionless load balancing supports the following service types and load balancing methods:

Service Types

  • ANY for MAC-based redirection
  • ANY, DNS, and UDP for IP-based redirection

Load Balancing Methods

  • Round Robin
  • Least Bandwidth
  • LRTM (Least response time method)
  • Source IP Hash
  • Destination IP Hash
  • Source IP Destination IP Hash
  • Source IP Source Port Hash
  • Custom Load

Limitations

Sessionless load balancing has the following limitations:

  • The appliance must be deployed in two-arm mode.
  • A service must be bound to only one virtual server.
  • Sessionless load balancing is not supported for service groups.
  • Sessionless load balancing is not supported for domain based services (DBS services).
  • Sessionless load balancing in the IP mode is not supported for a virtual server that is configured as a backup to a primary virtual server.
  • You cannot enable spillover mode.
  • For all the services bound to a sessionless load balancing virtual server, the Use Source IP (USIP) option must be enabled.
  • For a wildcard virtual server or service, the destination IP address will not be changed.

Note:

  • While configuring a virtual server for sessionless load balancing, explicitly specify a supported load balancing method. The default method, Least Connection, cannot be used for sessionless load balancing.

  • To configure sessionless load balancing in MAC-based redirection mode on a virtual server, the MAC-based forwarding option must be enabled on the Citrix ADC appliance.

To add a sessionless virtual server by using the CLI

At the command prompt, type the following commands to add a sessionless virtual server and verify the configuration:

add lb vserver <name>@ <serviceType> <IPAddress>@ <port> -m <redirectionMode> -sessionless <(ENABLED|DISABLED)> -lbMethod <load_balancing_method>  

show lb vserver <name>

Example:

 add lb vserver sesslessv1 any 11.11.12.123 54 -sessionless ENABLED -lbMethod roundrobin -m ip
      Done
 show lb vserver sesslessv1
      sesslessv1 (11.11.12.123:54) - ANY Type: ADDRESS
      State: DOWN
      ...
      Effective State: DOWN
      Client Idle Timeout: 120 sec
      Down state flush: ENABLED
      ...
      Persistence: NONE
      Sessionless LB: ENABLED
      Connection Failover: DISABLED
      L2Conn: OFF
      1) Policy : cmp_text Priority:8680 Inherited
      2) Policy : cmp_nocmp_ie60 Priority:8690 Inherited

To configure sessionless load balancing on an existing virtual server

At the command prompt, type:

set lb vserver <name>@ -m <redirectionMode> -sessionless <(ENABLED|DISABLED)> -lbMethod <load_balancing_method>

Example

set lb vserver sesslessv1 -m mac -sessionless ENABLED -lbmethod lrtm
  Done

Note

For a service that is bound to a virtual server on which -m MAC option is enabled, you must bind a non-user monitor.

To configure a sessionless virtual server by using the GUI

  1. Navigate to Traffic Management > Load Balancing > Virtual Servers.
  2. Open the virtual server, and in Advanced Settings, click Traffic Settings, and then select Sessionless Load Balancing.

Configure sessionless load balancing virtual servers