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:
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.
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.
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.
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.
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.
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:
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.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.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.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.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).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.
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.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.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.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.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:
Excessive Traffic Load: Too many users transmitting simultaneously, overwhelming the network.
Example: A popular live stream attracting thousands of viewers can cause heavy load.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.Bursty Traffic: Sudden spikes in data usage that are difficult to manage.
Poor Network Design: Inadequate bandwidth or inefficient routing contribute significantly.
Protocol Behavior: TCP retransmissions can amplify congestion through repeated packets.
External Factors: Attacks like DDoS can flood the network, pushing the capacity to its limits.
Effects of Congestion:
Increased Latency: As packets queue up, the overall transmission time increases.
Packet Loss: Buffers overflow, causing packets to be dropped and degrading service.
Reduced Throughput: Overall data transfer rate diminishes, impacting efficiency.
Jitter: Inconsistent packet arrivals disrupt real-time applications, significantly affecting user experience.
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:
First-In-First-Out (FIFO): Simple method where the first packet to arrive is the first to be processed.
Priority Queuing (PQ): Ensures higher-priority packets are processed before others, crucial in real-time applications.
Weighted Fair Queuing (WFQ): Divides the network bandwidth among flows based on weight, ensuring fair access for all.
Class-Based Queuing (CBQ): Groups traffic into classes giving guaranteed portions of bandwidth to certain types.
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:
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.
Slow Start: Increases cwnd exponentially upon receiving ACKs to quickly probe for bandwidth.
Congestion Avoidance: Once a threshold is reached, increases cwnd additively to fine-tune utilization.
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.