Skip Navigation Links | |
Exit Print View | |
Oracle Solaris Administration: IP Services Oracle Solaris 11 Information Library |
1. Planning the Network Deployment
2. Considerations When Using IPv6 Addresses
3. Configuring an IPv4 Network
4. Enabling IPv6 on the Network
5. Administering a TCP/IP Network
7. Troubleshooting Network Problems
11. Administering the ISC DHCP Service
12. Configuring and Administering the DHCP Client
13. DHCP Commands and Files (Reference)
14. IP Security Architecture (Overview)
16. IP Security Architecture (Reference)
17. Internet Key Exchange (Overview)
19. Internet Key Exchange (Reference)
20. IP Filter in Oracle Solaris (Overview)
Part IV Networking Performance
22. Integrated Load Balancer Overview
23. Configuration of Integrated Load Balancer (Tasks)
24. Virtual Router Redundancy Protocol (Overview)
25. VRRP Configuration (Tasks)
26. Implementing Congestion Control
Part V IP Quality of Service (IPQoS)
27. Introducing IPQoS (Overview)
28. Planning for an IPQoS-Enabled Network (Tasks)
29. Creating the IPQoS Configuration File (Tasks)
30. Starting and Maintaining IPQoS (Tasks)
31. Using Flow Accounting and Statistics Gathering (Tasks)
Network congestion typically occurs in the form of router buffer overflows, when nodes send more packets than the network can accommodate. Various algorithms prevent traffic congestion through establishing controls on the sending systems. These algorithms are supported in Oracle Solaris and can be easily added or directly plugged in to the operating system.
The following table lists and describes the supported algorithms.
|
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.
cong_enabled – contains a list of algorithms, separated by commas, that are currently operational in the system. You can add or remove algorithms to enable only those algorithms you want to use.
cong_default – the algorithm that is used by default when applications do not specify the algorithms explicitly in socket options. Currently, the value of the cong_default property applies to both global and non-global zones.
To set these properties, you use the ipadm set-prop command. You use either the += modifier to add an algorithm or the -= modifier to remove an algorithm.
For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.
# ipadm show-prop -p cong_enabled,cong_default tcp
If you do not specify the properties, then all of the properties are displayed.
The command displays both the current values as well as the possible algorithms that you can assign to the properties.
# ipadm set-prop -p cong-ctrl-property+=algorithm tcp
where
Refers to either the cong_enabled property or the cong_default property.
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.
# ipadm set-prop -p cong-ctrl-property-=algorithm tcp
Note - No sequence rules are followed when you add or remove algorithms. You can remove an algorithm before adding other algorithms to a property. However, the cong_default property must always have a defined algorithm.
# ipadm show-prop -p cong_enabled,cong_default tcp
Example 26-1 Setting Algorithms for Congestion Control
This example changes the default algorithm for 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