|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. Solaris TCPIP Protocol Suite (Overview) 2. Planning an IPv4 Addressing Scheme (Tasks 3. Planning an IPv6 Addressing Scheme (Overview) 4. Planning an IPv6 Network (Tasks) 5. Configuring TCP/IP Network Services and IPv4 Addressing (Tasks) 6. Administering Network Interfaces (Tasks) 7. Enabling IPv6 on a Network (Tasks) 8. Administering a TCP/IP Network (Tasks) 9. Troubleshooting Network Problems (Tasks) 10. TCP/IP and IPv4 in Depth (Reference) 12. About Solaris DHCP (Overview) 13. Planning for DHCP Service (Tasks) 14. Configuring the DHCP Service (Tasks) 15. Administering DHCP (Tasks) 16. Configuring and Administering DHCP Clients 17. Troubleshooting DHCP (Reference) 18. DHCP Commands and Files (Reference) 19. IP Security Architecture (Overview) 21. IP Security Architecture (Reference) 22. Internet Key Exchange (Overview) 24. Internet Key Exchange (Reference) 25. Solaris IP Filter (Overview) 28. Administering Mobile IP (Tasks) 29. Mobile IP Files and Commands (Reference) 30. Introducing IPMP (Overview) 31. Administering IPMP (Tasks) Part VI IP Quality of Service (IPQoS) 32. Introducing IPQoS (Overview) 33. Planning for an IPQoS-Enabled Network (Tasks) General IPQoS Configuration Planning (Task Map) Planning the Diffserv Network Topology Planning the Quality-of-Service Policy How to Prepare a Network for IPQoS How to Define the Classes for Your QoS Policy How to Define Filters in the QoS Policy Introducing the IPQoS Configuration Example 34. Creating the IPQoS Configuration File (Tasks) 35. Starting and Maintaining IPQoS (Tasks) 36. Using Flow Accounting and Statistics Gathering (Tasks) |
Planning the Quality-of-Service PolicyWhen you plan the quality-of-service (QoS) policy, you must review, classify, and then prioritize the services that your network provides. You must also assess the amount of available bandwidth to determine the rate at which each traffic class is released onto the network. QoS Policy Planning AidsGather information for planning the QoS policy in a format that includes the information needed for the IPQoS configuration file. For example, you can use the following template to list the major categories of information to be used in the IPQoS configuration file. Table 33-1 QoS Planning Template
You can divide each major category to further define the QoS policy. Subsequent sections explain how to obtain information for the categories that are shown in the template. QoS Policy Planning (Task Map)This task map lists the major tasks for planning a QoS policy.
Note - The rest of this section explains how to plan the QoS policy of an IPQoS-enabled system. To plan the QoS policy for the Diffserv router, refer to the router documentation and the router manufacturer's web site. How to Prepare a Network for IPQoSThe following procedure lists general planning tasks to do before you create the QoS policy.
How to Define the Classes for Your QoS PolicyThe first step in defining the QoS policy is organizing traffic flows into classes. You do not need to create classes for every type of traffic on a Diffserv network. Moreover, depending on your network topology, you might have to create a different QoS policy for each IPQoS-enabled system. Note - For an overview of classes, see IPQoS Classes. The next procedure assumes that you have determined which systems on your network are to be IPQoS-enabled, as identified in How to Prepare a Network for IPQoS.
|
Name |
Definition |
---|---|
saddr |
Source address. |
daddr |
Destination address. |
sport |
Source port number. You can use a well-known port number, as defined in /etc/services, or a user-defined port number. |
dport |
Destination port number. |
protocol |
IP protocol number or protocol name that is assigned to the traffic flow type in /etc/protocols. |
ip_version |
Addressing style to use. Use either IPv4 or IPv6. IPv4 is the default. |
dsfield |
Contents of the DS field, that is, the DSCP. Use this selector for extracting incoming packets that are already marked with a particular DSCP. |
priority |
Priority level that is assigned to the class. For more information, see How to Define the Classes for Your QoS Policy. |
user |
Either the UNIX user ID or user name that is used when the upper-level application is executed. |
projid |
Project ID that is used when the upper-level application is executed. |
direction |
Direction of traffic flow. Value is either LOCAL_IN, LOCAL_OUT, FWD_IN, or FWD_OUT. |
Note - Be judicious in your choice of selectors. Use only as many selectors as you need to extract packets for a class. The more selectors that you define, the greater the impact on IPQoS performance.
Before you can perform the next steps, you should have completed the procedure How to Define the Classes for Your QoS Policy.
Consider creating separate filters for incoming and outgoing traffic for each class, where applicable. For example, add an ftp-in filter and an ftp-out filter to the QoS policy of an IPQoS-enabled FTP server. You then can define an appropriate direction selector in addition to the basic selectors.
Use the QoS planning table that was introduced in Table 33-1 to fill in filters for the classes you defined.
The next table shows how you would define a filter for outgoing FTP traffic.
Class |
Priority |
Filters |
Selectors |
---|---|---|---|
ftp-traffic |
4 |
ftp-out |
saddr 10.190.17.44 daddr 10.100.10.53 sport 21 direction LOCAL_OUT |
To define a flow-control scheme, refer to How to Plan Flow Control.
To define forwarding behaviors for flows as the flows return to the network stream, refer to How to Plan Forwarding Behavior.
To plan for flow accounting of certain types of traffic, refer to How to Plan for Flow Accounting.
To add more classes to the QoS policy, refer to How to Define the Classes for Your QoS Policy.
To add more filters to the QoS policy, refer to How to Define Filters in the QoS Policy.
Flow control involves measuring traffic flow for a class and then releasing packets onto the network at a defined rate. When you plan flow control, you define parameters to be used by the IPQoS metering modules. The meters determine the rate at which traffic is released onto the network. For an introduction to the metering modules, see Meter (tokenmt and tswtclmt) Overview.
The next procedure assumes that you have defined filters and selectors, as described in How to Define Filters in the QoS Policy.
To guarantee a certain level of service, you might need to meter certain traffic classes that are generated by the customer.
Determine if any classes other than those classes that are associated with SLAs need to be metered.
Suppose the IPQoS system runs an application that generates a high level of traffic. After you classify the application's traffic, meter the flows to control the rate at which the packets of the flow return to the network.
Note - Not all classes need to be metered. Remember this guideline as you review your list of classes.
Classes that have more than one filter might require metering for only one filter. Suppose that you define filters for incoming and outgoing traffic of a certain class. You might conclude that only traffic in one direction requires flow control.
Add the module name to the meter column in your QoS planning table.
If you use the tokenmt module, you need to define the following rates in bits per second:
Committed rate
Peak rate
If these rates are sufficient to meter a particular class, you can define only the committed rate and the committed burst for tokenmt.
If needed, you can also define the following rates:
Committed burst
Peak burst
For a complete definition of tokenmt rates, refer to Configuring tokenmt as a Two-Rate Meter. You can also find more detailed information in the tokenmt(7ipp) man page.
If you use the tswtclmt module, you need to define the following rates in bits per second.
Committed rate
Peak rate
You can also define the window size in milliseconds. These rates are defined in tswtclmt Metering Module and in the twstclmt(7ipp) man page.
The outcomes for both metering modules are green, red, and yellow. Add to your QoS organizational table the traffic conformance outcomes that apply to the rates you define. Outcomes for the meters are fully explained in Meter Module.
You need to determine what action should be taken on traffic that conforms, or does not conform, to the committed rate. Often, but not always, this action is to mark the packet header with a per-hop behavior. One acceptable action for green-level traffic could be to continue processing while traffic flows do not exceed the committed rate. Another action could be to drop packets of the class if flows exceed peak rate.
The next table shows meter entries for a class of email traffic. The network on which the IPQoS system is located has a total bandwidth of 100 Mbits/sec, or 10000000 bits per second. The QoS policy assigns a low priority to the email class. This class also receives best-effort forwarding behavior.
Class |
Priority |
Filter |
Selector |
Rate |
---|---|---|---|---|
8 |
mail_in |
daddr10.50.50.5 dport imap direction LOCAL_IN |
||
8 |
mail_out |
saddr10.50.50.5 sport imap direction LOCAL_OUT |
meter=tokenmt committed rate=5000000 committed burst =5000000 peak rate =10000000 peak burst=1000000 green precedence=continue processing yellow precedence=mark yellow PHB red precedence=drop |
To define forwarding behaviors for flows as the packets return to the network stream, refer to How to Plan Forwarding Behavior.
To plan for flow accounting of certain types of traffic, refer to How to Plan for Flow Accounting.
To add more classes to the QoS policy, refer to How to Define the Classes for Your QoS Policy.
To add more filters to the QoS policy, refer to How to Define Filters in the QoS Policy.
To define another flow-control scheme, refer to How to Plan Flow Control.
To create an IPQoS configuration file, refer to How to Create the IPQoS Configuration File and Define Traffic Classes.
Forwarding behavior determines the priority and drop precedence of traffic flows that are about to be forwarded to the network. You can choose two major forwarding behaviors: prioritize the flows of a class in relationship to other traffic classes or drop the flows entirely.
The Diffserv model uses the marker to assign the chosen forwarding behavior to traffic flows. IPQoS offers the following marker modules.
dscpmk – Used to mark the DS field of an IP packet with a DSCP
dlcosmk – Used to mark the VLAN tag of a datagram with a class-of-service (CoS) value
Note - The suggestions in this section refer specifically to IP packets. If your IPQoS system includes a VLAN device, you can use the dlcosmk marker to mark forwarding behaviors for datagrams. For more information, refer to Using the dlcosmk Marker With VLAN Devices.
To prioritize IP traffic, you need to assign a DSCP to each packet. The dscpmk marker marks the DS field of the packet with the DSCP. You choose the DSCP for a class from a group of well-known codepoints that are associated with the forwarding behavior type. These well-known codepoints are 46 (101110) for the EF PHB and a range of codepoints for the AF PHB. For overview information on DSCP and forwarding, refer to Traffic Forwarding on an IPQoS-Enabled Network.
The next steps assume that you have defined classes and filters for the QoS policy. Though you often use the meter with the marker to control traffic, you can use the marker alone to define a forwarding behavior.
Not all traffic classes need to be marked.
The EF PHB guarantees that packets with the EF DSCP 46 (101110) are released onto the network before packets with any AF PHBs. Use the EF PHB for your highest-priority traffic. For more information about EF, refer to Expedited Forwarding (EF) PHB.
Traffic is generally metered for the following reasons:
An SLA guarantees packets of this class greater service or lesser service when the network is heavily used.
A class with a lower priority might have a tendency to flood the network.
You use the marker with the meter to provide differentiated services and bandwidth management to these classes. For example, the following table shows a portion of a QoS policy. This policy defines a class for a popular games application that generates a high level of traffic.
Class |
Priority |
Filter |
Selector |
Rate |
Forwarding? |
---|---|---|---|---|---|
games_app |
9 |
games_in |
sport 6080 |
N/A |
N/A |
games_app |
9 |
games_out |
dport 6081 |
meter=tokenmt committed rate=5000000 committed burst =5000000 peak rate =10000000 peak burst=15000000 green precedence=continue processing yellow precedence=mark yellow PHB red precedence=drop |
green =AF31 yellow=AF42 red=drop |
The forwarding behaviors assign low-priority DSCPs to games_app traffic that conforms to its committed rate or is under the peak rate. When games_app traffic exceeds peak rate, the QoS policy indicates that packets from games_app are to be dropped. All AF codepoints are listed in Table 37-2.
To plan for flow accounting of certain types of traffic, refer to How to Plan for Flow Accounting.
To add more classes to the QoS policy, refer to How to Define the Classes for Your QoS Policy.
To add more filters to the QoS policy, refer to How to Define Filters in the QoS Policy.
To define a flow-control scheme, refer to How to Plan Flow Control.
To define additional forwarding behaviors for flows as the packets return to the network stream, refer to How to Plan Forwarding Behavior.
To create an IPQoS configuration file, refer to How to Create the IPQoS Configuration File and Define Traffic Classes.
You use the IPQoS flowacct module to track traffic flows for billing or network management purposes. Use the following procedure to determine if your QoS policy should include flow accounting.
If the answer is yes, then you should use flow accounting. Review the SLAs to determine what types of network traffic your company wants to bill customers for. Then, review your QoS policy to determine which classes select traffic to be billed.
If the answer is yes, consider using flow accounting to observe the behavior of these applications. Review your QoS policy to determine the classes that you have assigned to traffic that requires monitoring.
To add more classes to the QoS policy, refer to How to Define the Classes for Your QoS Policy.
To add more filters to the QoS policy, refer to How to Define Filters in the QoS Policy.
To define a flow-control scheme, refer to How to Plan Flow Control.
To define forwarding behaviors for flows as the packets return to the network stream, refer to How to Plan Forwarding Behavior.
To plan for additional flow accounting of certain types of traffic, refer to How to Plan for Flow Accounting.
To create the IPQoS configuration file, refer to How to Create the IPQoS Configuration File and Define Traffic Classes.
Previous | Next |