Quality of Service Principles

Work in progress. This note is still being written and incomplete.

Providing reliable multimedia streaming and conversational voice requires network support beyond standard best-effort IP delivery.

For per-flow reservations and aggregate QoS architecture, see Integrated Services, RSVP, and Differentiated Services.

Network Support Strategies

  1. Dimensioning best-effort networks:
    • Overprovision link capacity so that link utilization remains low and congestion never occurs.
    • Advantage
      Low complexity; no special scheduling or queue management needed in routers.
    • Disadvantage
      High bandwidth costs; difficult to estimate maximum traffic demand spikes.
  2. Quality of Service (QoS) guarantees:
    • Classify, prioritize, shape, and police traffic so that delay-sensitive flows receive guaranteed network treatment.

Four Principles for QoS Guarantees

  1. Packet marking and class-based forwarding:
    • Routers must distinguish between traffic classes. Edge devices mark packets (e.g., audio vs. HTTP web browsing).
  2. Class isolation and policing:
    • The network must protect compliant flows from misbehaving applications.
    • If a VoIP application sends data faster than its declared rate, policing mechanisms at the edge must drop or remark non-compliant packets.
  3. Efficient resource sharing:
    • While providing isolation, resources should be shared efficiently.
  4. Call admission control (CAC):
    • Because network capacity is finite, an application must declare its QoS requirements during session setup. The network will block new calls (returning a busy signal) if it cannot satisfy requested guarantees without degrading existing flows.

Packet Scheduling Mechanisms

Packet scheduling determines the transmission order of queued packets on an outgoing link interface.

1. First-Come First-Served (FCFS)

Packets are transmitted in exact order of arrival. Does not support class differentiation.

2. Priority Queueing

Packets are classified and placed into distinct priority queues. The router always transmits from the highest-priority non-empty queue.

  • Risk
    High-priority traffic can completely starve lower-priority queues.

3. Round-Robin Queueing

Packets are separated into classes. The scheduler cycles through classes, transmitting one packet from each non-empty queue in sequence. Prevents starvation.

4. Weighted Fair Queueing (WFQ)

An advanced generalized round-robin scheduler. Each traffic class ii is assigned a weight wiw_i.

  • Over any time interval, class ii receives a guaranteed minimum throughput share equal to: Throughputi=R×wijwj\text{Throughput}_i = R \times \frac{w_i}{\sum_j w_j} where RR is the total outgoing link capacity.

Traffic Policing Mechanisms

Policing limits traffic to ensure it does not exceed declared parameters:

  1. Average rate: Average number of packets permitted per unit time over a long time window.
  2. Peak rate: Maximum sending rate allowed over a short time window.
  3. Burst size: Maximum number of packets permitted to arrive consecutively without idle delays.

Token Bucket Algorithm

The token bucket mechanism enforces burst size and average rate constraints:

  • A bucket holds up to bb tokens.
  • Tokens are generated at a constant rate rr tokens/second. If the bucket is full, arriving tokens are discarded.
  • When a packet of size 1 unit arrives, it must consume 1 token to be transmitted. If no token is available, the packet is queued or dropped.
  • Burst bound
    Over any time interval tt, the maximum number of packets admitted into the network is bounded by: Max Packetsrt+b\text{Max Packets} \le r \cdot t + b

Guaranteed Upper Bound on Delay

When a token-bucket flow (r,b)(r, b) receives WFQ rate RR, its burst-delay component is bounded by:

Dmax=bRD_{\max} = \frac{b}{R}

The bound applies when the reservation and scheduler admit the flow.

Written by September 16, 2026 3 min read
Was this helpful?