Setting the RTO

An SCTP endpoint uses a retransmission timer to ensure data delivery in the absence of any feedback from its peer. RFC 4960 refers to the timer itself as T3-rtx and to the timer duration as RTO (retransmission timeout).

When an endpoint's peer is multi-homed, the endpoint calculates a separate RTO for each IP address affiliated with the peer. The calculation of RTO in SCTP is similar to the way TCP calculates its retransmission timer. RTO fluctuates over time in response to actual network conditions. To calculate the current RTO, an endpoint maintains two state variables per destination IP address — the SRTT (smoothed round-trip time) variable, and the RTTVAR (round-trip time variation) variable.

Use the following procedure to assign values used in RTO calculation.

  1. From superuser mode, use the following command sequence to access network-parameters configuration mode.
    ORACLE# configure terminal
    ORACLE(configure)# system
    ORACLE(system)# network-parameters
    ORACLE(network-parameters)#
  2. Use the sctp-rto-initial parameter to assign an initial timer duration.

    Allowable values are integers within the range 0 through 4294967295 that specify the initial duration in milliseconds. In the absence of an explicitly configured integer value, sctp-rto-initial defaults to 3000 milliseconds (3 seconds, the recommended default value from RFC 4960).

    As described in Section 6.3 of RFC 4960, the value specified by sctp-rto-initial is assigned to the SCTP protocol parameter RTO.Initial, which provides a default RTO until actual calculations have derived a fluctuating duration based on network usage. The value specified by the sctp-rto-initial parameter seeds these calculations.

    ORACLE(network-parameters)# sctp-rto-initial 3000
    ORACLE(network-parameters)#
  3. Use the sctp-rto-min and sctp-rto-max parameters to assign an RTO floor and ceiling.

    Allowable values are integers within the range 0 through 4294967295 that specify the minimum and maximum durations in milliseconds. In the absence of an explicitly configured integer value, sctp-rto-min defaults to 1000 ms (1 second, the recommended default value from RFC 4960), and sctp-rto-max defaults to 60000 ms (60 seconds, the recommended default value from RFC 4960.)

    As described in Section 6.3 of RFC 4960, the values specified by sctp-rto-min and sctp-rto-max are assigned to the SCTP protocol parameters, RTO.min and RTO.max that limit RTO calculations. If a calculated RTO duration is less than RTO.min, the parameter value is used instead of the calculated value; likewise, if a calculated RTO duration is greater than RTO.max, the parameter value is used instead of the calculated value.

    ORACLE(network-parameters)# sctp-rto-min 1000
    ORACLE(network-parameters)# sctp-rto-max 60000
    ORACLE(network-parameters)#
  4. Use done, exit, and verify-config to complete RTO configuration.
    ORACLE(network-parameters)# done
    ORACLE(system)# exit
    ORACLE(configure)# exit
    ORACLE(configure)# exit
    ORACLE# verify-config
    ---------------------------------------------------------------------
    Verification successful! No errors nor warnings in the configuration
    ORACLE#