Network Congestion Control and Traffic Shaping

Posted by Anonymous and classified in Computers

Written on in with a size of 6 KB

Network Layer Design Issues

The network layer involves several critical design considerations, including store-and-forward switching, transport-layer services, the distinction between Virtual Circuits (VC) and Datagrams, and congestion management.

Understanding Network Congestion

Congestion occurs when too much traffic enters the network, leading to overloaded routers and a sharp drop in overall performance.

Congestion Control vs Flow Control

  • Congestion Control: A global issue involving all routers and hosts to manage total network load.
  • Flow Control: A point-to-point mechanism ensuring a sender does not overwhelm a specific receiver.

General Principles of Congestion Management

  1. Monitor the system to detect where and when congestion occurs.
  2. Distribute information to the points where corrective action can be taken.
  3. Adjust operations to alleviate the congestion and restore performance.

Primary Causes of Congestion

  • Packet arrival rate exceeds the link capacity.
  • Insufficient buffer memory within routers.
  • Highly bursty traffic patterns.
  • Slow router CPU processing speeds.

Corrective Actions During Congestion

  • Block new packets from entering the congested region.
  • Drop queued packets to free up essential buffer space.

Congestion Control Techniques

Warning Bit Mechanism

A router detects congestion and sets a specific warning bit in the packet header. This bit is returned to the sender via acknowledgments (ACKs), signaling the sender to reduce its transmission rate.

Choke Packets

A congested node sends a choke packet directly back to the source. Upon receipt, the source reduces its transmission rate by a specific percentage. An example of this is the ICMP Source Quench message. However, this method faces challenges such as tuning difficulty, the potential for multiple choke packets, propagation delays, and inefficiency over long-distance paths.

Hop-by-Hop Choke Packets

In this variation, each intermediate hop reduces its rate before the signal even reaches the source. This is significantly more effective for long-distance or high-speed networks.

Resource Allocation

Reserving specific resources in advance helps avoid congestion entirely and improves Quality of Service (QoS) reliability.

TCP Congestion Handling

  • Conservative Flow Control: Ensures the receiver always has enough buffer space.
  • Aggressive Approach: Sends data optimistically but drops packets if the network becomes saturated.
  • Trade-off: Balancing raw speed against total network utilization.

Load Shedding Strategies

When buffers are completely full, the router must perform load shedding by dropping packets. The strategy used depends on the application type:

  • File Transfers: It is better to avoid dropping older packets to maintain sequence integrity.
  • Real-Time Media: It is better to drop old packets and keep new ones to maintain current data flow.
  • Priority: Packets may include a discard priority to guide the router on what to drop first.

Random Early Discard (RED) Mechanism

RED is a proactive approach that drops packets before buffers are completely full. It calculates the average queue length to determine action:

  • If the queue is below the lower threshold, packets are queued normally.
  • If the queue exceeds the upper threshold, packets are dropped.
  • Between these thresholds, packets are dropped based on a probability calculation.

Traffic Shaping Algorithms

Traffic shaping controls the rate of data entry into the network, rather than just the total count. This is typically negotiated during connection setup.

Leaky Bucket Algorithm

  • Provides a constant output rate and discards any overflow.
  • Effectively smooths out traffic bursts.
  • For variable packet sizes, it is calculated based on bytes per tick.

Token Bucket Algorithm

  • Allows for controlled bursts of traffic.
  • Tokens are generated at a fixed rate; a packet is only sent if there are enough tokens available.
  • It allows the system to save tokens for future bursts.
  • Comparison: The Leaky Bucket discards packets, while the Token Bucket discards tokens.

Jitter Control and Quality of Service

Managing Jitter

Jitter refers to the variation in packet arrival times. Large jitter can lead to significant errors in real-time applications. Buffering is the primary method used to smooth out output and reduce jitter.

Quality of Service (QoS) Techniques

  • Integrated Services and Differentiated Services: Frameworks for managing network resources.
  • Admission Control: Checks if the network can meet specific flow requirements before accepting a connection.
  • Packet Scheduling: Prioritizes packets based on their finishing times.
  • RSVP (Resource Reservation Protocol): Reserves resources across the entire network path.
  • Expedited Forwarding: Ensures low delay and zero congestion for critical traffic.
  • Assured Forwarding: Provides differentiated levels of reliability for different traffic classes.

Related entries: