Network Systems: Congestion Control Lecture Notes

Network Systems: Congestion Control Lecture Notes

Introduction and Overview

  • Presenter: Pieter-Tjerk de Boer
  • Image Copyright: (1996-2012) J.F. Kurose and K.W. Ross, and/or copyright (2010) Elsevier Inc.
  • Context: This lecture is part of the course "Network Systems" (UT/EWI).
  • Format Changes: This part includes a focus on resource allocation, followed by discussions on security.
  • Exam Preparation:
    • The upcoming third exam is shorter (1.5 hours).
    • Covers less material than the previous exams.
    • More time is allocated due to the reduced math requirements in sections TCS/EE.
    • Warning: This exam may be perceived as harder by students compared to the previous two.

Themes of the Week

  • Resource Allocation:
    • Discussion on fair sharing of resources.
    • Addressing the prevention of network overload.
    • Introduction to Quality of Service (QoS) concepts to enhance audio/video performance.

Lecture Agenda

  1. Definition and implications of congestion.
  2. Explanation of the basic Additive Increase, Multiplicative Decrease (AIMD) congestion control algorithm.
  3. Calculation of resulting transmission speeds using the ‘TCP Friendly’ formula.
  4. Introduction to refinements:
    • Slow Start: Rapidly ramping up data transmission at the connection start.
    • Fast Recovery: Maintaining data flow despite single packet losses using techniques such as triple duplicate ACKs.
  5. Discussion on problems associated with long fat pipes in networking.
  6. Overview of alternative congestion control approaches:
    • Vegas: Measures delay to identify congestion.
    • Cubic: Employs a cubic function to adjust the congestion window dynamically.

Understanding Congestion

Definition of Congestion
  • Congestion occurs when packets are sent into a network at a rate too high for it to handle, resulting in delays and losses.
Congestion in a Single Queue
  • Single Queue Mechanics:
    • Average delay when packets arrive regularly vs. randomly.
    • Each packet takes exactly 1 ms to transmit.
Finite Queue Behavior
  • When a queue is full, packets may be dropped, preventing infinite delays but necessitating retransmissions.
  • Increased activity causes extra workload for end hosts and routers.
Consequences of Congestion:
  • Long Queues: Result in increased delays for packet transmissions.
  • Packet Loss: Leads to the requirement of retransmissions, wasting bandwidth and causing delays.
  • Congestion Collapse: If no feedback is integrated, networks are susceptible to congestion collapse, resulting in inefficient resource utilization.

Classification of Congestion Control Approaches

  • Router-centric vs. Host-centric: Differentiates where the control mechanisms are executed.
  • Reservation-based vs. Feedback-based: Highlights how resource allocation is managed.
  • Window-based vs. Rate-based: Details on how data flow is managed and controlled.

TCP Congestion Control Explained

  • Key Characteristics:
    • Host-centric, Feedback-based, Window-based mechanisms.
    • The transmission of data is adjusted based on packet observations indicating congestion through packet drops.
    • Hosts manage sending limits based on the