Computer Networks Essentials / Congestion & Traffic Control

Congestion Control Techniques

πŸ€” What is Congestion Control? (Basic Idea)

From the previous topic, we learned:

  • Congestion happens when too many packets overload the network.

πŸ“Œ Congestion control is about preventing or reducing congestion before the network collapses.


🧠 Simple Definition

πŸ“Œ Congestion control refers to techniques used to regulate the flow of data in a network so that traffic load does not exceed network capacity.


🧠 Congestion Control vs Flow Control

Aspect

Congestion Control

Flow Control

Controls

Network load

Receiver capacity

Scope

Entire network

End-to-end

Example

TCP congestion control

TCP sliding window

πŸ“Œ Congestion control β‰  Flow control


🧭 Where is Congestion Control Applied?

Congestion control can be applied at:

  • Network layer (routers)

  • Transport layer (TCP)


🎯 Goals of Congestion Control

Congestion control aims to:

  • 🚫 Prevent network collapse

  • πŸ“¦ Reduce packet loss

  • ⏱️ Reduce delay

  • βš–οΈ Ensure fairness among users

  • πŸ“ˆ Improve throughput


🧩 Classification of Congestion Control Techniques

Congestion control techniques are broadly divided into:

1️⃣ Open-Loop Congestion Control

2️⃣ Closed-Loop Congestion Control

πŸ“Œ This classification is VERY IMPORTANT⭐


πŸ”“ 1. Open-Loop Congestion Control (Prevention)

🧠 What is Open-Loop Congestion Control?

πŸ“Œ In open-loop control:

  • Decisions are made before congestion occurs

  • No feedback from the network

  • Focus is on prevention

πŸ‘‰ β€œPrevent congestion rather than cure it”

🧠 Real-Life Analogy

🚦 Traffic Rules

  • Speed limits

  • Lane discipline

  • Traffic signals

πŸ‘‰ These rules prevent traffic jams before they happen.

🧩 Open-Loop Congestion Control Techniques


🧠 Explanation

  • Network checks if it can handle new traffic

  • If overloaded β†’ new connection denied

πŸ“Œ Used in:

  • ATM networks

  • QoS-based systems

βœ… Advantage

  • Prevents overload

❌ Disadvantage

  • New users may be blocked

🧠 Explanation

Traffic shaping controls:

  • Rate of data transmission

  • Smooths bursty traffic

Two common algorithms:

🚰 a) Leaky Bucket Algorithm

  • Bucket leaks at constant rate

  • Excess packets are discarded

πŸ“Œ Ensures steady traffic flow.

πŸͺ™ b) Token Bucket Algorithm

  • Tokens generated at fixed rate

  • Packet sent only if token available

πŸ“Œ Allows controlled bursts βœ”οΈ

🧠 Explanation

  • Resources (bandwidth, buffer) reserved in advance

  • Used in multimedia applications

πŸ“Œ Example:

  • Video conferencing πŸŽ₯

🧠 Explanation

  • Routes selected based on current traffic

  • Avoids congested paths

πŸ“Œ Helps balance load.

🧠 Explanation

  • Determines order of packet transmission

Examples:

  • FIFO (First In First Out)

  • Priority scheduling

  • Weighted Fair Queuing

πŸ“Œ Ensures fairness βš–οΈ


πŸ” 2. Closed-Loop Congestion Control (Feedback-Based)

🧠 What is Closed-Loop Congestion Control?

πŸ“Œ In closed-loop control:

  • Congestion is detected

  • Feedback is sent

  • Action is taken to reduce congestion

πŸ‘‰ β€œDetect β†’ Feedback β†’ Adjust”

🧠 Real-Life Analogy

🚘 Traffic Police

  • Detect traffic jam

  • Redirect vehicles

  • Reduce congestion


🧩 Closed-Loop Congestion Control Techniques

🧠 Explanation

  • Congested node tells upstream nodes to slow down

  • Propagates backward

πŸ“Œ Used in:

  • Virtual circuits

🧠 Explanation

  • Router sends special packet to sender

  • Asks sender to reduce transmission rate

πŸ“Œ Rarely used today.

🧠 Explanation

  • Router marks packets instead of dropping them

  • Receiver informs sender

  • Sender reduces rate

πŸ“Œ Prevents packet loss βœ”οΈ

🧠 Explanation

  • Router deliberately drops packets

  • Reduces load immediately

πŸ“Œ Last-resort technique ❗

TCP uses multiple mechanisms:

🐒 a) Slow Start

  • Start with small congestion window

  • Increase exponentially

πŸ“Œ Prevents sudden overload.

πŸ“ˆ b) Congestion Avoidance

  • Increase window slowly (linear)

  • Avoids congestion region

🚫 c) Fast Retransmit

  • Retransmit lost packet quickly

  • Based on duplicate ACKs

πŸ” d) Fast Recovery

  • Avoids going back to slow start

  • Improves performance


βš–οΈ Open-Loop vs Closed-Loop

Feature

Open-Loop

Closed-Loop

Feedback

❌ No

βœ… Yes

Focus

Prevention

Detection & recovery

Reaction

Proactive

Reactive

Example

Traffic shaping

TCP congestion control


🧠 Congestion Control Summary Table

Technique

Type

Admission control

Open-loop

Traffic shaping

Open-loop

Choke packet

Closed-loop

ECN

Closed-loop

TCP congestion control

Closed-loop


🧠 Memory Tricks

  • Open-loop = No feedback πŸ”“

  • Closed-loop = Feedback πŸ”

  • TCP = Smart congestion control 🧠


⭐ One-Line Summary

πŸ”Ή Congestion control techniques regulate data flow using preventive (open-loop) and feedback-based (closed-loop) methods to maintain network performance.