This section discusses diff-serv marking (usually called as dsmark) queuing discipline in detail. The terms commonly used in the CBQ context and the user-level syntax to set up these queues are discussed in this section.
Differentiated Services provides a scalable means of service differentiation in the internet. No per-flow state needs to be maintained in the routers, neither is there an explicit connection setup phase. The Differentiated Services (commonly referred to as diff-serv) architecture offers a framework within which service providers can offer each customer a range of network services which are differentiated on the basis of performance in addition to pricing tiers used in the past. Diff-serv provides a wide range of services through a combination of the following functions.
The diff-serv architecture is composed of a number of small functional units implemented in the network nodes. This includes the definition of a set of Per-Hop Behaviors (PHBs), packet classification and traffic conditioning functions like metering, marking, shaping and policing. The resource allocation for each service type adds a new dimension to the problem, for which the Bandwidth Brokers are being considered.
The diffserv model is scalable because of a few reasons that are listed below:
A number of per-hop behaviors have been suggested for the diff-serv architecture. Of these, two per-hop behaviors, namely Assured Forwarding and Expedited Forwarding are being considered for implementation in the routers.
Assured Forwarding PHB is suggested for applications that require a better reliability than the best-effort service. There are four classes of service, and within each class, there are four drop precedences. Assured Forwarding PHB is decribed in more detail later in the report.
Expedited Forwarding PHB is suggested for applications that require a hard guarantee on the delay and jitter. Typically mission critical applications would require this service. Expedited Forwarding PHB is described in more detail later in the report.
The syntax for creating a dsmark queuing discipline is shown below:
tc qdisc add dsmark incides INDICES [ default DEFAULT_INDEX ] [ set_tc_index ]