Quality of Service (QoS) Part 2

In part one of this series on QoS we determined that QoS was the differential treatment of the voice, video, and data packets that flow on the IP network, creating a system of managed unfairness. QoS technologies allow different types of traffic to contend inequitably for network resources. Time-sensitive applications, such as voice or interactive video packets, can be given priority over data applications.

In this post we’ll examine the three different models of QoS that are supported in Cisco IOS software. Best Effort is the default of IP where all packets, no matter their type, are processed the same for each packet. DiffServ puts packets on the IP network into classes and can be marked directly in the packet. The IntServ model contrasts with DiffServ as a signaling protocol is required to tell the routers which flows of packets require special QoS treatment.

pyramidBest Effort Service
Best Effort does not provide QoS, because there is no reordering of packets. It uses a First-in-First-Out (FIFO) queuing strategy, where packets are emptied from the queue in the same order in which they entered. This is the default of most router devices, as well as most nodes on the internet.

Integrated Service (IntServ) – RFC 1633
IntServ makes a strict bandwidth reservation, and uses Resource Reservation Protocol (RSVP) to explicitly signal the QoS needs of an application’s traffic along the device path through the network. The signaling protocol guarantees that adequate resources are available at each hop on the end-to-end path across the network. If every network device along the path can reserve the necessary bandwidth, the originating application can begin transmitting.

The IntServ model suffered from scalability issues because of the many flows that needed to be managed. The routers have to maintain call states and exchange signaling messages on a per flow basis, and all intermediate nodes must implement RSVP.

Differentiated Service (DiffServ) – RFC 2474, 2475

DiffServ architecture is based on the model in which traffic entering a network is classified, and possibly conditioned, at the boundaries of the network. The treatment of each class is described by the Per-Hop Behavior (PHB) with which the network must comply. The markings DiffServ uses to provide QoS services are inside the IPv4 header, and are called the type-of-service (ToS) byte. The ToS byte can be used to mark a packet for IP Precedence or Differentiated Service Code Point (DSCP) markings.

The packet should be marked as close to the edge of the network as possible. By marking the traffic at the network edge, core network devices and other devices along the forwarding path will be able to quickly determine the proper class of service (CoS) to apply to a given traffic flow.

DiffServ differentiates between traffic flows by looking at the class markings on each packet. Routers and switches can then make dropping or forwarding decisions based on the markings. DiffServ is more scalable then IntServ because DiffServ does not provide for per flow reservations. DiffServ offers different network service levels to packets by placing them in classes.


The main PHBs that DiffServ uses will be discussed in the next post in this series and are listed as follows:

  • Expedited Forwarding (EF) – RFC 3246 – Provides a strict priority service
  • Assured Forwarding (AF) – RFC 2597 – Provides a qualified delivery guarantee, and provides for over-subscription, markdown and dropping schemes for excess traffic
  • Class Selectors (CS) – RFC 2474 – Provides code points that can be used for backward compatibility with IP Precedence models
  • Best-Effort – Provides delivery when possible

Author: Paul Stryer


In this article

Join the Conversation