Manual Chapter : Implementing Low-Latency Electronic Trading with FIX load balancing

Applies To:

Show Versions Show Versions

BIG-IP AAM

  • 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0

BIG-IP APM

  • 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0

BIG-IP Analytics

  • 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0

BIG-IP Link Controller

  • 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0

BIG-IP LTM

  • 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0

BIG-IP PEM

  • 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0

BIG-IP AFM

  • 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0

BIG-IP DNS

  • 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0

BIG-IP ASM

  • 14.1.5, 14.1.4, 14.1.3, 14.1.2, 14.1.0, 14.0.1, 14.0.0
Manual Chapter

Implementing Low-Latency Electronic Trading with FIX load balancing

Overview: Configuring low-latency electronic trading with FIX load balancing

You can configure the BIG-IP® system to manage electronic trading traffic for both low-latency and intelligent load balancing. The BIG-IP system supports Financial Information eXchange (FIX) protocol connections for electronic trading between financial institutions. When you acquire a special license, you can use the FastL4 profile to optimize the FIX connections, and use the embedded Packet Velocity® ASIC (ePVA) to minimize the latency. You can then use an iRule to implement intelligent load balancing: you do this by enabling the Late Binding feature in the FastL4 profile, then creating an iRule that parses each FIX header to choose a back-end server pool.

About Late Binding

With the Late Binding feature enabled, an iRule can examine the FIX logon packet, the one that establishes the connection, and choose a server pool based on the packet's contents. The iRule finishes by sending the connection down to the ePVA hardware, which processes the stream at high speed.
The only TCP options available to the client and server are MSS, accept Selective ACK, and Time Stamp. The BIG-IP system ignores all other options because it must enable SYN cookies on the client-side interface, and because the ePVA hardware does not slow down for any of those options. For example, the BIG-IP system ignores the Window Scaling option as soon as the flow has been released to the ePVA hardware.
Secure Sockets Layer (SSL) is not supported by a virtual server that uses Late Binding.

About FIX features with low latency

After the iRule selects a server, the ePVA hardware manages the FIX stream for the rest of its existence. The ePVA does not examine the individual FIX packets that pass through it, so FIX-profile features such as tag substitution are not supported.

About induced latency for FIX connections

Induced latency
, which is the latency realized after a FIX connection is established, typically has a duration of approximately 10 µsecs or less.

About using TCP protocol for FIX clients and servers

The ePVA only supports the TCP protocol, which requires FIX clients and servers to establish TCP connections. When creating a virtual server to manage the traffic for low-latency electronic trading, you must specify the TCP protocol setting.

Task summary for low latency electronic trading with fix

There are several tasks you perform to implement low-latency electronic trading.

Licensing low-latency electronic trading functionality

In order to use a BIG-IP system to manage low-latency electronic trading functionality, you must first acquire a specific license. The license must enable both of the following features:
  • Advanced LTM Protocols
  • FIX Low Latency
Please contact your F5 Networks support representative to acquire the necessary license.

Creating a pool

Ensure that at least one virtual server exists in the configuration before you start to create a load balancing pool.
Create a pool to which the system can load balance global traffic.
  1. On the Main tab, click
    DNS
    GSLB
    Pools
    .
    The Pools list screen opens.
  2. Click
    Create
    .
    The New Pool screen opens.
  3. In the General Properties area, in the
    Name
    field, type a name for the pool.
    Names must begin with a letter, and can contain only letters, numbers, and the underscore (_) character.
    The pool name is limited to 63 characters.
  4. From the
    Type
    list, depending on the type of the system (IPv4 or IPv6), select either an
    A
    or
    AAAA
    pool type.
  5. In the Configuration area, for the
    Health Monitors
    setting, in the
    Available
    list, select a monitor type, and move the monitor to the
    Selected
    list.
    Hold the Shift or Ctrl key to select more than one monitor at a time.
  6. In the Members area, for the
    Member List
    setting, add virtual servers as members of this load balancing pool.
    The system evaluates the virtual servers (pool members) in the order in which they are listed. A virtual server can belong to more than one pool.
    1. Select a virtual server from the
      Virtual Server
      list.
    2. Click
      Add
      .
  7. Click
    Finished
    .

Creating a virtual server for low-latency electronic trading

After you create a server pool, profile(s), and (optionally) iRule, you need to create a virtual server that references those components.
  1. On the Main tab, click
    Local Traffic
    Virtual Servers
    .
    The Virtual Server List screen opens.
  2. Click
    Create
    .
    The New Virtual Server screen opens.
  3. In the
    Name
    field, type a unique name for the virtual server.
  4. From the
    Type
    list, select
    Performance (Layer 4)
    .
  5. In the
    Destination Address/Mask
    field, type the IP address in CIDR format. This is the address to which the FIX clients send their FIX transmissions.
    The supported format is address/prefix, where the prefix length is in bits. For example, an IPv4 address/prefix is
    10.0.0.1
    or
    10.0.0.0/24
    , and an IPv6 address/prefix is
    ffe1::0020/64
    or
    2001:ed8:77b5:2:10:10:100:42/64
    . When you use an IPv4 address without specifying a prefix, the BIG-IP system automatically uses a
    /32
    prefix.
    The IP address you type must be available and not in the loopback network.
  6. From the
    Configuration
    list, select
    Advanced
    .
  7. From the
    Protocol
    list, select
    TCP
    .
  8. From the
    Protocol Profile (Client)
    list, select the custom Fast L4 profile you defined for low-latency FIX trading.
  9. Go to the
    FIX Profile
    list and select the custom FIX profile you defined for low-latency trading.
  10. For the
    Address Translation
    setting, clear the
    Enabled
    check box to implement direct server return (DSR) functionality.
  11. For the
    Port Translation
    setting, clear the
    Enabled
    check box.
    Clearing the
    Enabled
    check box disables network address translation (NAT) functionality. If you require NAT, you must select the
    Enabled
    check box.
  12. In the Resources area of the screen, from the
    Default Pool
    list, select the pool name for FIX streams.
    This pool is for streams that do not match your iRule(s).
  13. For the
    iRules
    setting, from the
    Available
    list, select the name of the iRule that you created for the Late Binding feature and move it to the
    Enabled
    list.
    The iRule enables load balancing based on the Layer-7 (FIX) fields at the head of each stream.
  14. Click
    Finished
    .
The virtual server is configured to use the specified Fast L4 profile and pool. If a client initiates a FIX connection with this virtual server, the connection uses the Fast L4 (ePVA) hardware.

Implementation result

This implementation configures a BIG-IP® system to manage low-latency electronic trading functionality, optimizing the system for predictable latency and jitter. Clients who send FIX streams to the virtual server's Destination address all receive this low-latency service. The virtual server intelligently distributes the streams to different server pools based on information in each stream's FIX logon packet.