MB

BCSE308L - Computer Networks Congestion Control and Quality of Service (QoS)

Data Traffic: The flow of data packets transmitted across a network, influenced by factors like:

  • Volume: The total amount of data being transmitted. High volumes can lead to congestion if the network capacity is exceeded.

  • Frequency: How often data is sent over the network. Increased frequency can overwhelm the resources available for data processing and transmission.

  • Priority: The importance of different types of data packets. For instance, real-time traffic (like VoIP) is typically prioritized over bulk traffic (like file downloads) to ensure quality.

  • Nature of data: The characteristics of the data being transmitted, which may dictate how it's delivered and processed.

Understanding the types of data traffic is crucial for:

  • Managing network performance: Ensuring that the network runs efficiently without undue delays or interruptions.

  • Avoiding congestion: Proactively identifying potential bottlenecks before they degrade service quality.

  • Optimizing resources: Effective allocation of bandwidth and processing power based on data traffic patterns.

Types of Data Traffic:

  1. Real-Time Traffic
    Description: Requires immediate transmission and low latency to ensure effective communication.
    Examples:

    • Voice over IP (VoIP) calls, where delays can significantly disrupt conversation.

    • Video conferencing platforms (Zoom, Skype) needing synchronized video and audio.

    • Online gaming, where responsiveness is key for user experience.

  2. Bursty Traffic
    Description: Transmitted in unpredictable, high-volume spikes, often leading to congestion.
    Examples:

    • File downloads/uploads (especially torrents) that surge in data at specific times.

    • Streaming a movie, which can have varying data demands.

    • Large email attachments that may flood the network abruptly.

  3. Continuous (Steady) Traffic
    Description: Ensures a consistent and predictable flow of data.
    Examples:

    • Streaming media (like Netflix) after initial buffering, where data delivery remains stable.

    • Sensor data in IoT networks that continuously sends data to a server.

    • Background sync processes that require constant data transfer but at a controlled rate.

  4. Interactive Traffic
    Description: Exchanged in short bursts between users and servers, crucial for user-driven activities.
    Examples:

    • Web browsing activities, where quick requests and responses are necessary.

    • Remote desktop sessions that depend on fast interaction between users and applications.

    • Instant messaging applications where timely delivery affects the user experience.

  5. Bulk Traffic
    Description: Large volumes of data transferred with lower urgency, often scheduled to avoid peak times.
    Examples:

    • Background software updates that can be performed when network usage is low.

    • Cloud storage backups that can be planned during off-peak hours.

    • Data replication between servers, usually managed to avoid congestion.

  6. Control Traffic
    Description: Used for managing and maintaining the network rather than user data; essential for overall network health.
    Examples:

    • Routing protocol updates (OSPF, BGP) that ensure proper data forwarding paths.

    • ICMP messages (ping), crucial for monitoring network performance and availability.

Traffic Descriptors:

Traffic Descriptors: Metrics that define properties of data traffic that help in performance assessment. Key descriptors include:

  1. Peak Rate
    Definition: Maximum data transmission rate during a burst; critical for establishing capacity thresholds.
    Units: Bits per second (bps), e.g., a peak of 10 Mbps during high-activity times.
    Example: Video streaming may peak at 5 Mbps during high-motion scenes, impacting network flow.

  2. Average Rate
    Definition: Average transmission rate over time, providing insight into typical usage patterns.
    Units: Bits per second (bps), e.g., an average of 2 Mbps across a session.
    Example: A file transfer averaging 1 Mbps indicates steady usage during the transfer.

  3. Burst Size
    Definition: Maximum data amount sent in a single burst; significant for traffic management.
    Units: Bytes or bits, e.g., 100 KB for a typical webpage download.
    Example: Webpage loads sending a 50 KB burst often suggest typical interaction patterns.

  4. Burst Duration
    Definition: Time period during which a burst occurs, relevant for understanding peak usage.
    Units: Seconds or milliseconds.
    Example: A packet burst lasting 20 ms during a file download indicates a quick transfer.

  5. Packet Size Distribution
    Definition: Range and frequency of packet sizes in traffic; different applications have unique needs.
    Example: VoIP typically uses small packets (~64 bytes) to maintain steady communication, while file transfers often involve larger packets (1500 bytes).

  6. Inter-Arrival Time
    Definition: Time gap between consecutive packets, which plays a crucial role in overall latency.
    Example: Real-time traffic like gaming may have a 20 ms inter-arrival time, affecting playability and experience.

Role in Congestion:

Traffic descriptors aid in:

  • Traffic policing: Ensuring compliance with network usage rules by dropping excess traffic.

  • Traffic shaping: Smoothing out data bursts in a controlled manner to prevent sudden spikes.

  • E.g., routers enforce peak rate limits to prevent congestion while maintaining expected service levels.

Traffic Profiles:

Traffic Profile: Representation of traffic behaviour over time that assists in design and management decisions.

  1. Constant Bit Rate (CBR)
    Description: Steady, predictable data rate that helps with simple management.
    Examples: Traditional telephony where a fixed bandwidth ensures quality.
    Impact: Easy to manage; rarely causes congestion unless capacity is exceeded.

  2. Variable Bit Rate (VBR)
    Description: Fluctuating data rates with bursts, which can complicate management.
    Examples: Video streaming, where high-resolution sequences require more bandwidth.
    Impact: Bursts can overwhelm buffers leading to delays or interruptions.

  3. Bursty Traffic Profile
    Description: Infrequent but intense spikes in data demand, presenting unique challenges.
    Examples: Backup data transfers typically scheduled at night to minimize impact.
    Impact: Needs policing to prevent congestion during peak loads.

  4. Real-Time Traffic Profile
    Description: Requires low latency and consistent delivery, critical for quality.
    Examples: VoIP, live gaming applications that depend on minimal lag.
    Impact: Sensitive to delays, requiring prioritization in Quality of Service (QoS) protocols.

  5. Best-Effort Traffic Profile
    Description: Traffic without strict timing guarantees, essential for flexibility.
    Examples: Email, FTP, or background updates that can be stored and sent later.
    Impact: Absorbs excess capacity, yielding to priority traffic when needed.

Congestion:

Congestion: Occurs when demand exceeds network resource supply, degrading performance and leading to delays.

  • Analogy: Similar to a traffic jam, where too many packets in the pipeline lead to increasing latencies.

Causes of Congestion:

  1. Excessive Traffic Load: Too many users transmitting simultaneously, overwhelming the network.
    Example: A popular live stream attracting thousands of viewers can cause heavy load.

  2. Bottlenecks: Points within the network where capacity is lower than the incoming traffic.
    Example: A 100 Mbps link feeding into a 10 Mbps router port creates a narrow path.

  3. Bursty Traffic: Sudden spikes in data usage that are difficult to manage.

  4. Poor Network Design: Inadequate bandwidth or inefficient routing contribute significantly.

  5. Protocol Behavior: TCP retransmissions can amplify congestion through repeated packets.

  6. External Factors: Attacks like DDoS can flood the network, pushing the capacity to its limits.

Effects of Congestion:

  1. Increased Latency: As packets queue up, the overall transmission time increases.

  2. Packet Loss: Buffers overflow, causing packets to be dropped and degrading service.

  3. Reduced Throughput: Overall data transfer rate diminishes, impacting efficiency.

  4. Jitter: Inconsistent packet arrivals disrupt real-time applications, significantly affecting user experience.

  5. Network Collapse: Unchecked congestion can lead to complete cessation of service, effectively disrupting operations.

Queues in Routers:

  • Queue: A buffer in routers to hold incoming packets before processing, essential for managing traffic.

Queue Behavior During Congestion:

  • When incoming traffic exceeds capacity, queues begin to fill, leading to increased latency.

    • Tail Drop: New packets are discarded once the queue is full, leading to potential data loss.

    • Bufferbloat: Excessive queuing introduces more delays, compounding the problem.

Types of Queues:

  1. First-In-First-Out (FIFO): Simple method where the first packet to arrive is the first to be processed.

  2. Priority Queuing (PQ): Ensures higher-priority packets are processed before others, crucial in real-time applications.

  3. Weighted Fair Queuing (WFQ): Divides the network bandwidth among flows based on weight, ensuring fair access for all.

  4. Class-Based Queuing (CBQ): Groups traffic into classes giving guaranteed portions of bandwidth to certain types.

  5. Random Early Detection (RED): Proactively drops packets to signal congestion before buffers become full.

Network Performance Metrics:

  • Delay: Time it takes for a packet to travel from its source to its destination.

  • Load: Overall amount of traffic offered to the network over a period.

  • Throughput: Rate of successful data deliveries, adjusted for congestion and delays.

Congestion Control Mechanisms:

Open-loop Control

  • Description: Focuses on preventing congestion before it occurs, utilizing advanced planning and regulation.

  • Mechanisms: Admission control ensures limits on new traffic, traffic shaping smooths out data bursts, and resource reservation allocates bandwidth ahead of demand.

Closed-loop Control

  • Description: Reacts to congestion situations after they have been detected, striving for recovery.

  • Mechanisms: Backpressure mechanisms signal upstream nodes to slow down; choke packets inform senders to reduce flow; implicit feedback relies on existing traffic conditions to adaptively manage rate.

TCP Congestion Policies

  • Congestion Control: Techniques that TCP employs include:

    1. Congestion Window Management: Limits the number of segments transmitted based on current congestion levels, adapting dynamically using:

    • cwnd (congestion window): Defines how much new data can be sent before receiving an acknowledgment.

    • rwnd (receive window): Limits based on advertised capacities of the receiving end.

    1. Slow Start: Increases cwnd exponentially upon receiving ACKs to quickly probe for bandwidth.

    2. Congestion Avoidance: Once a threshold is reached, increases cwnd additively to fine-tune utilization.

    3. Fast Recovery: Responds to duplicate ACKs, quickly enabling data retransmission without reverting to a full slow start cycle.

This comprehensive outline provides not only definitions but also examples, implications, and the underlying mechanisms that govern data traffic and congestion control, offering a detailed understanding of their dynamics and impact on network performance management.