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
- Definition and implications of congestion.
- Explanation of the basic Additive Increase, Multiplicative Decrease (AIMD) congestion control algorithm.
- Calculation of resulting transmission speeds using the ‘TCP Friendly’ formula.
- 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.
- Discussion on problems associated with long fat pipes in networking.
- 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