Support for Stream Control Transmission Protocol

Overview

Stream Control Transmission Protocol (SCTP) is a transport layer protocol similar to TCP. It provides an alternate transport layer. It is mostly used for the purpose of transporting various signaling protocols over IP networks for telecommunication use-cases.

SCTP Supports:

  • Multi-streaming: Enables data delivery in multiple and independent streams.
  • Multi-homing: Operates over multiple layer-3 endpoints while retaining the same layer-4 association.

Note: This feature is under tech preview for 22.1.3.

Use Cases and Application

  • Kubernetes natively supports SCTP for services, POD, and endpoints. CNFs running in k8s clusters can be load-balanced using an SCTP load-balancer endpoint.
  • Load balancing 5G Core functions, where diameter or SS7 protocols use SCTP as transport layer protocol. For example,
    • Access and Mobility Management function - NAS Termination
    • Session Management Function (SMF)
    • User plane function (UPF): QoS and forwarding
    • Policy Control Function (PCF)
  • HSS (Home Subscriber Server) SCTP [e.g., load-balancing SDP (Service Delivery Platform)

NSX Advanced Load Balancer Support for SCTP Network Profile

Starting with release 22.1.3, NSX Advanced Load Balancer introduces an additional network profile named SCTP-Proxy-Profile, in addition to existing TCP and UDP Network profiles. Users will be able to configure this profile to load balance based on SCTP associations.

Users will get configurable profile for SCTP proxy where number of streams and different SCTP parameters could be tweaked to serve various use-cases.

Configuring SCTP Proxy Network Profile

  1. Navigate to Templates > TCP/UDP.
  2. Click Create to open NEW TCP/UDP PROFILE.
  3. Under General, enter Name and Description. SCTP Network Profile
  4. Select SCTP Proxy as Type.
  5. Under SCTP Proxy, select SCTP Proxy Profile Parameters.
    a. Enter a value for Number of Streams. The default value is 10.
    b. Enter a value for Receive Window. The default value is 256.
    c. Enter a value for Heartbeat Interval. The default value is 30.
    d. Enter a value for Max Retransmissions Init Chunks. The default value is 8.
    e. Enter a value for Reset Timeout. The default value is 0.
    f. Enter a value for Cookie Expiration Timeout. The default value is 60.
    g. Enter a value for Idle Timeout. The default value is 0.
    h. Enter a value for Max Retransmissions Association. The default value is 10.
  6. Under Role-Based Access Control (RBAC), add Key & Values. For complete configuration steps, see Configuring RBAC.
  7. Click Save.

Configuring SCTP Health Monitors

  1. Navigate to Templates > Health Monitors.
  2. Click Create to open CREATE HEALTH MONITOR.
  3. Under General, enter Name and Description. SCTP Health Monitor
  4. Select SCTP as Type.
  5. By default, Is Federated option is deselected.
  6. Enter a value for Send Interval. The default value is 10.
  7. Enter a value for Successful Checks. The default value is 2.
  8. Enter a value for Receive Timeout. The default value is 4.
  9. Enter a value for Failed Checks. The default value is 2.
  10. Under SCTP, enter a value for Health Monitor Port.
  11. Under Client Request Header, enter User Input and Converted Value Preview as required.
  12. Under Server Response Data, enter User Input and Converted Value Preview as required.
  13. Under Role-Based Access Control (RBAC), add Key & Values. For complete configuration steps, see Configuring RBAC.
  14. Click Save.

Configuring SCTP Virtual Services

  1. Navigate to Applications > Virtual Services.
  2. Click edit icon to open the existing virtual services.
  3. In the Settings tab, enter details in the fields as shown below: SCTP Virtual Services
  4. Under VIP Address, select the desired VS VIP.
  5. Select System-SCTP-Proxy from TCP/UDP Profile.
  6. Select System-L4-Application from Application Profile.
  7. Under Pool, select sctp-vs2-Pool from Pool.
  8. Click Save.

Supported Features

The following features are supported in SCTP Phase 1:

  • SCTP proxy profile
  • Legacy HA (Active / Standby) Support
  • VMware Cloud
  • Preserve client IP
  • Auto gateway
  • L4 connection logs and metrics
  • L4 Policy

Note: AKO support for creating SCTP Virtual Service and other SCTP objects in K8s clusters will be available starting AKO 1.9.1. For more information, see SCTP support in AKO.

Limitations

The following features are not supported in SCTP Phase 1:

  • SCTP fast path
  • Enhanced HA (limited Support)
  • AWS, GCP, Azure, and OpenStack
  • SCTP multihoming
  • IPV6
  • Multi VRF
  • RSS, TSO, and GRO
  • No Specific metrics and connection log corresponding to SCTP
  • Custom SNAT
  • Network security policy
  • DataScript policies
  • Shared VIP
  • Pool sharing
  • Configuring Port Ranges: When System-SCTP-Proxy TCP/UDP Profile is selected as network profile for virtual services, a port range cannot be specified under Service Ports. If a port range is configured, only the first port within the specified range handles traffic.

Related Article

SCTP support in AKO