Chapter 24 Congestion Control and Quality of Service (QoS)

Chapter 24 of Data Communications and Networking by Behrouz A. Forouzan focuses on Congestion Control and Quality of Service (QoS). Below are the detailed notes:

24.1 Data Traffic

Before discussing congestion control and QoS, it’s essential to understand data traffic. The goal of congestion control is to prevent overload, while QoS aims to ensure an appropriate environment for the traffic.

Key Traffic Descriptors:

  1. Average Data Rate: The total amount of data sent divided by the time taken to send it.

  2. Peak Data Rate: The maximum rate at which data is transmitted.

  3. Maximum Burst Size: Refers to how long traffic can maintain its peak data rate.

  4. Effective Bandwidth: The bandwidth needed to maintain a flow of traffic based on its average rate, peak rate, and burst size.

24.2 Congestion

Congestion happens when the load on a network exceeds its capacity, causing delays, packet loss, and degradation of service. It typically occurs when the arrival rate of packets is higher than the processing rate of the routers or switches.

  • Symptoms: Increased delay and decreased throughput as queues become full, causing packet loss.

24.3 Congestion Control

Congestion control mechanisms aim to prevent or alleviate congestion. There are two types of approaches:

  1. Open-Loop Control: Preventive policies that are applied before congestion occurs.

    • Retransmission Policy: Efficiently manages packet retransmission to avoid worsening congestion.

    • Window Policy: Selective Repeat is better for congestion control than Go-Back-N, as it avoids sending unnecessary packets.

    • Acknowledgment Policy: Receivers can slow down sending acknowledgments to reduce congestion.

    • Discarding Policy: Routers can discard lower-priority packets when queues are full to maintain network performance.

  2. Closed-Loop Control: Reactive mechanisms that attempt to remove congestion after it occurs.

    • Backpressure: Alerts the source to reduce transmission.

    • Choke Packet: A signal sent to the source to inform it about congestion, which results in reduced data rates.

    • Implicit Signaling: The source detects congestion based on the delay in receiving acknowledgments.

    • Explicit Signaling: Special bits in packets signal congestion to the source or destination.

24.4 Congestion Control in TCP

TCP uses three phases to manage congestion:

  1. Slow Start: Initially, TCP begins by sending a small number of packets and then rapidly increases the number of packets transmitted (exponential increase).

  2. Congestion Avoidance: Once a threshold is reached, the increase in the congestion window is slowed (additive increase).

  3. Congestion Detection: If packet loss occurs, TCP reduces the transmission rate and reverts to either slow start or congestion avoidance (multiplicative decrease).

24.5 Quality of Service (QoS)

QoS refers to the performance characteristics of a flow that a network must maintain, such as:

  • Reliability: Ensuring packet delivery.

  • Delay: Minimizing the time it takes for packets to travel from source to destination.

  • Jitter: Reducing variation in packet arrival times, crucial for real-time applications like audio and video.

  • Bandwidth: Allocating enough bandwidth to meet the needs of different applications.

24.6 Techniques to Improve QoS

Several techniques are employed to improve QoS:

  1. Scheduling: Determines the order in which packets are processed in routers or switches. Examples include FIFO, priority queuing, and weighted fair queuing.

  2. Traffic Shaping: Regulates the flow of packets into the network to prevent congestion. Techniques include the leaky bucket (sends data at a constant rate) and the token bucket (allows bursty traffic while controlling the data rate).

  3. Resource Reservation: Reserves network resources like bandwidth for certain flows, ensuring consistent performance.

  4. Admission Control: Decides whether to accept or reject new traffic flows based on the network’s current load and QoS commitments.

24.7 Integrated Services (IntServ)

Integrated Services (IntServ) is a flow-based QoS model that requires routers to reserve resources for specific flows. It is primarily implemented using the Resource Reservation Protocol (RSVP), which ensures that each router along the path has the necessary bandwidth and buffer capacity for the flow.

24.8 Differentiated Services (DiffServ)

Differentiated Services (DiffServ) is a class-based QoS model that divides traffic into different classes, each with its own level of service. DiffServ does not require resource reservation but instead relies on Per-Hop Behavior (PHB) to manage traffic within a class.

Summary:

  • Congestion Control: Methods to prevent or mitigate network congestion, either through open-loop (prevention) or closed-loop (reaction) mechanisms.

  • Quality of Service: Techniques to ensure that network traffic meets specific performance criteria (reliability, delay, jitter, bandwidth).

  • TCP: Uses slow start, congestion avoidance, and congestion detection to manage traffic.

  • QoS Models: Include IntServ (flow-based) and DiffServ (class-based), each with different approaches to maintaining service quality.

This chapter provides a comprehensive look at how networks handle traffic congestion and ensure QoS, outlining key mechanisms and models for maintaining network performance.

Last updated