JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
System Administration Guide: IP Services     Oracle Solaris 11 Express 11/10
search filter icon
search icon

Document Information

Preface

Part I TCP/IP Administration

1.  Planning an IPv4 Addressing Scheme (Tasks)

2.  Planning an IPv6 Addressing Scheme (Overview)

3.  Planning an IPv6 Network (Tasks)

4.  Configuring TCP/IP Network Services and IPv4 Addressing (Tasks)

5.  Enabling IPv6 on a Network (Tasks)

6.  Administering a TCP/IP Network (Tasks)

7.  Configuring IP Tunnels

8.  Troubleshooting Network Problems (Tasks)

9.  TCP/IP and IPv4 in Depth (Reference)

10.  IPv6 in Depth (Reference)

Part II DHCP

11.  About DHCP (Overview)

12.  Planning for DHCP Service (Tasks)

13.  Configuring the DHCP Service (Tasks)

14.  Administering DHCP (Tasks)

15.  Configuring and Administering the DHCP Client

16.  Troubleshooting DHCP (Reference)

17.  DHCP Commands and Files (Reference)

Part III IP Security

18.  IP Security Architecture (Overview)

19.  Configuring IPsec (Tasks)

20.  IP Security Architecture (Reference)

21.  Internet Key Exchange (Overview)

22.  Configuring IKE (Tasks)

23.  Internet Key Exchange (Reference)

24.  IP Filter in Oracle Solaris (Overview)

25.   IP Filter (Tasks)

Part IV Networking Performance

26.  Integrated Load Balancer Overview

27.  Configuration of Integrated Load Balancer Tasks

28.  Virtual Router Redundancy Protocol (Overview)

29.  VRRP Configuration (Tasks)

30.  Implementing Congestion Control

Network Congestion and Congestion Control

How to Implement TCP and SCTP Network Congestion Control

Part V IP Quality of Service (IPQoS)

31.  Introducing IPQoS (Overview)

32.  Planning for an IPQoS-Enabled Network (Tasks)

33.  Creating the IPQoS Configuration File (Tasks)

34.  Starting and Maintaining IPQoS (Tasks)

35.  Using Flow Accounting and Statistics Gathering (Tasks)

36.  IPQoS in Detail (Reference)

Glossary

Index

Network Congestion and Congestion Control

Network congestion occurs typically in the form of router buffer overflows, when nodes send more packets than the network can accommodate. Various algorithms have been developed that prevent of traffic congestion by setting controls on the sending systems. These algorithms are supported in Oracle Solaris and can be directly plugged in to the operating system.

The following table lists the supported algorithms with brief descriptions of each.

Algorithm
Oracle Solaris Name
Description
NewReno
newreno
Default algorithm in the Oracle Solaris system. Control mechanism includes sender's congestion window, slow start, and congestion avoidance.
HighSpeed
highspeed
One of the best known and simplest modifications of NewReno for high speed networks.
CUBIC
cubic
Currently the default algorithm in Linux 2.6. Changes congestion avoidance phase from linear window increase to a cubic function.
Vegas
vegas
A classic delay-based algorithm that attempts to predict congestion without triggering actual loss.

In Oracle Solaris, congestion control is enabled by setting the following control-related TCP properties. Although these properties are listed for TCP, the control mechanism that is enabled by these properties also applies to SCTP traffic.

To set these properties, you use the ipadm set-prop command. You use either the += modifier to add algorithms or the -= modifier to remove algorithms.

How to Implement TCP and SCTP Network Congestion Control

  1. Become an administrator.

    For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.

  2. Display the current settings of the protocol's congestion-control properties.
    # ipadm show-prop -p cong_enabled,cong_default tcp

    If you do not specify the properties, then all of the protocol properties will be displayed.

    The command displays both the current settings as well as the possible algorithms that you can assign to the properties.

  3. Set the congestion control properties of the protocol.
    # ipadm set-prop -p cong-ctrl-property+=algorithm tcp

    where

    cong-ctrl-property

    refers to either the cong_enabled property or the cong_default property.

    algorithm

    specifies the algorithm that you are setting for the property. You can specify any algorithm that is listed under the POSSIBLE field heading in the output of the ipadm show-prop command.

  4. (Optional) Remove an algorithm that is currently enabled.
    # ipadm set-prop -p cong-ctrl-property-=algorithm tcp

    Note - No sequence rules are followed when adding or removing algorithms. You can remove an algorithm before adding other algorithms to a property. However, the cong_default property must always have a defined algorithm.


  5. (Optional) Display the new settings of the congestion control properties.
    # ipadm show-prop -p cong_enabled,cong_default tcp

Example 30-1 Setting Algorithms for Congestion Control

This example changes the default algorithm of the TCP protocol from newreno to cubic. It also removes vegas from the list of enabled algorithms.

# ipadm show-prop -p cong_default,cong_enabled tcp
PROTO  PROPERTY      PERM  CURRENT          PERSISTENT   DEFAULT   POSSIBLE
tcp    cong_default  rw    newreno          --           newreno   -
tcp    cong_enabled  rw    newreno,cubic,   --           newreno   newreno,cubic,
                           highspeed,                              highspeed,vegas
                           vegas

# ipadm set-prop -p cong_enabled-=vegas tcp
# ipadm set-prop -p cong_default=cubic tcp

# ipadm show-prop -p cong_default,confg_enabled tcp
PROTO  PROPERTY      PERM  CURRENT          PERSISTENT   DEFAULT   POSSIBLE
tcp    cong_default  rw    cubic            --           newreno   -
tcp    cong_enabled  rw    newreno,cubic,   --           newreno   newreno,cubic,
                           highspeed                               highspeed,vegas