Quality of service, or QoS, is the practice of treating different kinds of network traffic differently, so urgent traffic such as voice gets low delay when a link is congested. On IP networks the standard approach is Differentiated Services: packets are marked into classes at the edge, and each router forwards them according to their class.
What problem does QoS solve?
A busy link has to drop or delay something. Without QoS, everything waits in the same queue. A large backup upload and a phone call compete equally, and the call suffers because voice cannot tolerate much delay or loss while a backup can.
QoS does not create bandwidth. It decides who gets hurt first when there is not enough. If a link is always saturated, QoS only shifts the pain; capacity planning fixes it.
How does Differentiated Services work?
RFC 2475 defines an architecture for implementing scalable service differentiation in the Internet. It achieves scalability by aggregating traffic classification state, conveyed by IP-layer packet marking using the DS field. Packets are classified and marked to receive a particular per-hop forwarding behavior on nodes along their path. More sophisticated classification, marking, policing and shaping operations are needed only at network boundaries.
That design point is the key. The interior of the network stays simple. It reads a mark and applies a queueing rule. The expensive decisions, such as which flow deserves which mark, happen at the edge.
Four terms recur:
- Classification. Deciding which packets belong to which class, by address, port, protocol or an existing mark.
- Marking. Writing the class into the DS field as a code point.
- Policing and shaping. Limiting a class to its agreed rate, by dropping or delaying the excess.
- Per-hop behavior. What each router does with a class: queue priority, bandwidth share, drop preference.
Which classes do real networks use?
RFC 4594 gives configuration guidelines for DiffServ service classes. Its abstract says it describes service classes configured with DiffServ and recommends how to construct them using code points, traffic conditioners, per-hop behaviors and active queue management. It stresses that nothing forces particular choices, but for policy and interoperability it recommends a common set. In its table, for example, Network Control maps to CS6, Telephony to EF, Signaling to CS5, Broadcast Video to CS3, OAM (operations and management) to CS2, and Standard to the default behavior.
A voice call marked EF is placed in a strict, low-delay queue and policed so it cannot starve everything else. Control traffic that keeps routing protocols alive gets high priority because losing it breaks the network. Ordinary web browsing falls into Standard.
A constructed example
A branch office has a 20 Mbps link shared by phones, video meetings and nightly file sync. Calls stutter every afternoon when a large sync runs. The network team marks voice at the phones' switch ports, caps the sync class so it cannot use more than a set share during business hours, and leaves everything else as Standard. Calls become steady. The sync still finishes, only slower, which nobody notices overnight. Nothing about the link changed.
What are the common mistakes?
Trusting marks from everywhere. If any user device can mark its traffic as top priority, they all will. Re-mark or police at the edge.
Too many classes. Four to six well-understood classes beat twelve that nobody can explain.
Ignoring the return path. QoS applies per direction. A good outbound policy does nothing for the traffic coming back if the other end is unmanaged.
Expecting it to work across the internet. Marks are typically honored only inside networks that agree to do so. Across providers, assume they may be cleared.
How to check or apply this
- List the applications that need protection and their tolerance for delay and loss.
- Choose a small set of classes aligned to RFC 4594 where it fits.
- Classify and mark at the network edge, and police there.
- Apply matching queueing on each congested link, in both directions.
- Measure delay, jitter and loss before and after, so you know it worked.
- Revisit when applications change, since yesterday's priority is today's bulk traffic.
Quick check
Does QoS increase my bandwidth?
No. It allocates a fixed amount of capacity more intelligently, protecting sensitive traffic when the link is congested.
Where should packets be marked in a DiffServ network?
At the network edge, where classification, marking, policing and shaping are done. Interior routers only read the mark and apply the per-hop behavior.
Sources
- RFC 2475, An Architecture for Differentiated Services, fetched 18 October 2026.
- RFC 4594, Configuration Guidelines for DiffServ Service Classes, fetched 18 October 2026.
Last reviewed: 18 October 2026.