Manual Chapter : Implementing SCTP Multistreaming and Multihoming

Applies To:

Show Versions Show Versions

BIG-IP LTM

  • 13.1.0, 13.0.1, 13.0.0
Manual Chapter

Overview: SCTP multistreaming

Unlike Transmission Control Protocol (TCP), Stream Control Transmission Protocol (SCTP) includes the ability to support multistreaming functionality, which permits several streams within an SCTP connection. While a TCP stream refers to a sequence of bytes, an SCTP stream represents a sequence of data messages. Each data message (or chunk) contains an integer ID that identifies a stream, an application-defined Payload Protocol Identifier (PPI), a Stream sequence number, and a Transmit Serial Number (TSN) that uniquely identifies the chunk within the SCTP connection. Chunk delivery is acknowledged using TSNs sent in selective acknowledgements (ACKs) so that every chunk can be independently acknowledged. This capability demonstrates a significant benefit of streams, because it eliminates head-of-line blocking within the connection. A lost chunk of data on one stream does not prevent other streams from progressing while that lost chunk is retransmitted.

Task list

Creating an SCTP profile for multistreaming

You can enable and configure an SCTP profile for multistreaming functionality, which permits several streams within an SCTP connection.
  1. On the Main tab, click Local Traffic > Profiles > Protocol > SCTP .
    The SCTP profile list screen opens.
  2. Click Create.
    The New SCTP Profile screen opens.
  3. In the Name field, type a unique name for the profile.
  4. Select the Custom check box.
    The settings become available for change.
  5. In the Out Streams field, type a value for the number of outbound streams.
    Important: Ensure that this value equals the value requested by the servers when the server-side connection is established.
    Note: A value of 2, or greater, enables SCTP multistreaming functionality.
  6. In the In Streams field, type a value for the number of inbound streams.
    Important: Ensure that this value equals the value requested by the servers when the server-side connection is established.
    Note: A value of 2, or greater, enables SCTP multistreaming functionality.
  7. Click Finished.
An SCTP profile is configured for multistreaming functionality, permitting several streams within an SCTP connection.

Configuring an SCTP virtual server

You must create an SCTP profile before you can support SCTP on a virtual server.
You can use SCTP with multistreaming as a transport for a virtual server.
  1. On the Main tab, click Local Traffic > Virtual Servers .
    The Virtual Server List screen opens.
  2. Click the Create button.
    The New Virtual Server screen opens.
  3. In the Name field, type a unique name for the virtual server.
  4. In the Destination Address field, type the IP address for the SCTP client in CIDR format.
    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.
    Note: This destination address supports the initial SCTP control connection, providing the initial handshake and transfer of valid destination addresses.
  5. From the Protocol list, select SCTP.
  6. From the Protocol Profile (Client) list, select a predefined or user-defined SCTP profile.
  7. Click Finished.
The new virtual server supports SCTP with multistreaming.

Overview: SCTP multihoming

Stream Control Transmission Protocol (SCTP) includes the ability to support multihoming functionality, which provides path redundancy for an SCTP connection by enabling SCTP to send packets between multiple addresses owned by each endpoint. SCTP endpoints typically configure different IP addresses on different network interfaces to provide redundant physical paths between the peers. For example, a client and server might be attached to separate VLANs. The client and server can each advertise two IP addresses (one per VLAN) to the other peer. If either VLAN is available, then SCTP can transport packets between the peers.

Task list

Creating an SCTP profile for multihoming

You can enable and configure an SCTP profile for multihoming functionality, which provides path redundancy for an SCTP connection by enabling SCTP to send packets between multiple addresses owned by each endpoint.
  1. On the Main tab, click Local Traffic > Profiles > Protocol > SCTP .
    The SCTP profile list screen opens.
  2. Click Create.
    The New SCTP Profile screen opens.
  3. In the Name field, type a unique name for the profile.
  4. Select the Custom check box.
    The settings become available for change.
  5. Configure the client-side multihoming settings.
    1. From the Client Side Multi-homing list, select Enabled to enable SCTP multihoming for clients.
      When enabled, this setting enables SCTP clients to connect to a virtual server over multiple IP interfaces.
      The Secondary Addresses setting appears.
    2. For the Secondary Addresses setting, in the Destination Address field, type a valid destination address for any virtual server that uses this SCTP profile.
    3. Click Add.
      Repeat the addition of each destination address that you want to provide to SCTP clients.
  6. From the Server Side Multi-homing list, select Enabled to enable SCTP multihoming for servers.
  7. Click Finished.
An SCTP profile is configured for multihoming functionality, providing path redundancy for an SCTP connection by enabling SCTP to send packets between multiple addresses owned by each endpoint.

Configuring IP addresses for multihoming connections

In configuring SCTP multihoming for servers, you can create a server node for each IP address on the servers. For example, to configure two servers with three addresses for each server, you need to create six server nodes.
  1. On the Main tab, click Local Traffic > Pools .
    The Pool List screen opens.
  2. Click Create.
    The New Pool screen opens.
  3. Using the New Members setting, add each resource that you want to include in the pool:
    1. (Optional) In the Node Name field, type a name for the node portion of the pool member.
    2. In the Address field, type an IP address.
    3. In the Service Port field, type a port number, or select a service name from the list.
    4. (Optional) In the Priority field, type a priority number.
    5. Click Add.
  4. Click Finished.
    The screen refreshes, and you see the new pool in the Pool list.
A pool is now available for use with an SCTP virtual server.

Creating a SNAT pool for SCTP

A virtual server requires a SNAT pool of self-IP addresses so it can provide SCTP multihomed connections to servers.
  1. On the Main tab, click Local Traffic > Address Translation > SNAT Pool List .
    The SNAT Pool List screen displays a list of existing SNATs.
  2. In the Name field, type a name for the SNAT pool.
    An example of a name is snat-pool-1.
  3. For the Member List setting:
    1. In the IP Address field, type an IP address.
      The BIG-IP system uses this address as a SNAT translation address.
      Important: This address must NOT be on a directly-connected network.
    2. Click Add.
    3. Repeat these steps for each IP address that you want to include in the SNAT pool.
  4. Click the Finished button.
A SNAT pool is available for use in a SCTP virtual server configuration.

Creating an SCTP pool for multihoming

You can create an SCTP pool for multihoming, which includes a pool member for each server's IP address to efficiently manage the SCTP traffic on your server resources.
Note: You must create the pool before you create the corresponding virtual server.
  1. On the Main tab, click Local Traffic > Pools .
    The Pool List screen opens.
  2. Click Create.
    The New Pool screen opens.
  3. In the Name field, type a unique name for the pool.
  4. For the Health Monitors setting, in the Available list, select a monitor type, and click << to move the monitor to the Active list.
    Tip: Hold the Shift or Ctrl key to select more than one monitor at a time.
  5. From the Load Balancing Method list, select how the system distributes traffic to members of this pool.
    The default is Round Robin.
  6. For the Priority Group Activation setting, specify how to handle priority groups:
    • Select Disabled to disable priority groups. This is the default option.
    • Select Less than, and in the Available Members field type the minimum number of members that must remain available in each priority group in order for traffic to remain confined to that group.
  7. Using the New Members setting, add each resource that you want to include in the pool:
    1. (Optional) In the Node Name field, type a name for the node portion of the pool member.
    2. In the Address field, type an IP address.
    3. In the Service Port field, type a port number, or select a service name from the list.
    4. (Optional) In the Priority field, type a priority number.
    5. Click Add.
  8. Click Finished.
The SCTP multihoming pool appears in the Pools list.

Configuring an SCTP virtual server for multihoming

You must prepare an SCTP profile before you can support SCTP on a virtual server. SCTP multihoming also requires the following objects:
  • A SNAT Pool containing the server-side IP addresses for the virtual server
  • A Node Pool with one node per server-IP address
You can use SCTP as a transport for a virtual server, similar to TCP or UDP.
  1. On the Main tab, click Local Traffic > Virtual Servers .
    The Virtual Server List screen opens.
  2. Click the Create button.
    The New Virtual Server screen opens.
  3. In the Name column, click the name of the relevant virtual server.
    This displays the properties of the virtual server.
  4. In the Destination Address field, type the IP address for the SCTP client in CIDR format.
    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.
    Note: This destination address supports the initial SCTP control connection, providing the initial handshake and transfer of valid destination addresses.
  5. From the Protocol list, select SCTP.
  6. From the Protocol Profile (Client) list, select a predefined or user-defined SCTP profile.
  7. From the Source Address Translation list, select SNAT.
  8. From the SNAT pool list, select the name of an existing SNAT pool.
  9. Click Finished.
The new virtual server supports SCTP for multihoming functionality.