How to Configure the IPQoS Configuration File for an Application Server
Log in to the IPQoS-enabled application server, and create a new IPQoS configuration file with a .qos extension.
For example, you would create the /var/ipqos/BigAPPS.qos file for the application server. Begin with the following required phrases to start the action statement that invokes the ipgpc classifier:
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE }
For an explanation of the opening action statement, refer to How to Create the IPQoS Configuration File and Define Traffic Classes.
Create classes to select traffic from three applications on the BigAPPS server.
Add the class definitions after the opening action statement.
class { name smtp enable_stats FALSE next_action markAF13 } class { name news next_action markAF21 } class { name ftp enable_stats TRUE next_action meterftp }
name smtp
Creates a class that is called smtp, which includes email traffic flows to be handled by the SMTP application
enable_stats FALSE
Enables statistics collection for the smtp class. However, because the value of enable_stats is FALSE, statistics for this class are not taken.
next_action markAF13
Instructs the ipgpc module to pass packets of the smtp class to the markAF13 action statement after ipgpc completes processing.
name news
Creates a class that is called news, which includes network news traffic flows to be handled by the NNTP application.
next_action markAF21
Instructs the ipgpc module to pass packets of the news class to the markAF21 action statement after ipgpc completes processing.
name ftp
Creates a class that is called ftp, which handles outgoing traffic that is handled by the FTP application.
enable_stats TRUE
Enables statistics collection for the ftp class.
next_action meterftp
Instructs the ipgpc module to pass packets of the ftp class to the meterftp action statement after ipgpc completes processing.
For more information about defining classes, refer to How to Create the IPQoS Configuration File and Define Traffic Classes.
Define filter clauses to select traffic of the classes defined in Step 2.
filter { name smtpout sport smtp class smtp } filter { name newsout sport nntp class news } filter { name ftpout sport ftp class ftp } filter { name ftpdata sport ftp-data class ftp } }
name smtpout
Gives the name smtpout to the filter.
sport smtp
Selects traffic with a source port of 25, the well-known port for the sendmail (SMTP) application.
class smtp
Identifies the class to which the filter belongs, in this instance, class smtp.
name newsout
Gives the name newsout to the filter.
sport nntp
Selects traffic with a source port name of nntp, the well-known port name for the network news (NNTP) application.
class news
Identifies the class to which the filter belongs, in this instance, class news.
name ftpout
Gives the name ftpout to the filter.
sport ftp
Selects control data with a source port of 21, the well-known port number for FTP traffic.
name ftpdata
Gives the name ftpdata to the filter.
sport ftp-data
Selects traffic with a source port of 20, the well-known port number for FTP data traffic.
class ftp
Identifies the class to which the ftpout and ftpdata filters belong, in this instance ftp.
See Also
To define filters, refer to How to Define Filters in the IPQoS Configuration File.
To define forwarding behaviors for application traffic, refer to How to Configure Forwarding for Application Traffic in the IPQoS Configuration File.
To configure flow control by using the metering modules, refer to How to Configure Flow Control in the IPQoS Configuration File.
To configure flow accounting, refer to How to Enable Accounting for a Class in the IPQoS Configuration File.
How to Configure Forwarding for Application Traffic in the IPQoS Configuration File
The next procedure shows how to configure forwarding for application traffic. In the procedure, you define per-hop behaviors for application traffic classes that might have lower precedence than other traffic on a network. The steps continue building the /var/ipqos/BigAPPS.qos file in Example 34-3.
Before You Begin
The procedure assumes that you have an existing IPQoS configuration file with already-defined classes and already-defined filters for the applications to be marked.
Open the IPQoS configuration file that you have created for the application server, and locate the end of the last filter clause.
In the /var/ipqos/BigAPPS.qos file, the last filter is the following:
filter { name ftpdata sport ftp-data class ftp } }
action { module dscpmk name markAF13
module dscpmk
Invokes the marker module dscpmk.
name markAF13
Gives the name markAF13 to the action statement.
Define the per-hop behavior to be marked on electronic mail traffic flows.
params { global_stats FALSE dscp_map{0-63:14} next_action continue } }
global_stats FALSE
Enables statistics collection for the markAF13 marker action statement. However, because the value of enable_stats is FALSE, statistics are not collected.
dscp_map{0-63:14}
Assigns a DSCP of 14 to the packet headers of the traffic class smtp, which is currently being processed by the marker.
next_action continue
Indicates that no further processing is required on packets of the traffic class smtp. These packets can then return to the network stream.
The DSCP of 14 tells the marker to set all entries in the dscp map to the decimal value 14 (binary 001110). The DSCP of 14 sets the AF13 per-hop behavior. The marker marks packets of the smtp traffic class with the DSCP of 14 in the DS field.
AF13 assigns all packets with a DSCP of 14 to a high-drop precedence. However, because AF13 also assures a Class 1 priority, the router still guarantees outgoing email traffic a high priority in its queue. For a table of possible AF codepoints, refer to Table 37-2.
Add a marker action statement to define a per-hop behavior for network news traffic:
action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } }
name markAF21
Gives the name markAF21 to the action statement.
dscp_map{0-63:18}
Assigns a DSCP of 18 to the packet headers of the traffic class nntp, which is currently being processed by the marker.
The DSCP of 18 tells the marker to set all entries in the dscp map to the decimal value 18 (binary 010010). The DSCP of 18 sets the AF21 per-hop behavior. The marker marks packets of the news traffic class with the DSCP of 18 in the DS field.
AF21 assures that all packets with a DSCP of 18 receive a low-drop precedence, but with only Class 2 priority. Thus, the possibility of network news traffic being dropped is low.
See Also
To add configuration information for web servers, refer to How to Create the IPQoS Configuration File and Define Traffic Classes.
To configure flow control by using the metering modules, refer to How to Configure Flow Control in the IPQoS Configuration File.
To configure flow accounting, refer to How to Enable Accounting for a Class in the IPQoS Configuration File.
To configure forwarding behaviors on a router, refer to How to Configure a Router on an IPQoS-Enabled Network.
To activate the IPQoS configuration file, refer to How to Apply a New Configuration to the IPQoS Kernel Modules.