Untitled
Network Systems: Resource Allocation & Quality of Service
Overview
- Buffer Overflow Prevention: Key question is whether we can avoid buffer overflows.
- Quality of Service (QoS): Understanding what QoS is and techniques associated with it.
- QoS in Internet: Discussion on how QoS is implemented within internet systems.
Can We Avoid Buffer Overflows?
- TCP requires packet loss to identify congestion, typically occurring from buffer overflow.
- Alternatives to Avoid Overflows:
- Use Round Trip Time (RTT) to compute average queue lengths - example: TCP Vegas.
- Employ Random Early Detection (RED) to preemptively drop packets before overflow.
- Implement Explicit Congestion Notification (ECN).
Random Early Detection (RED)
- Overview:
- Router monitors average queue length to identify congestion.
- Notify end-hosts by randomly dropping packets before queue overflow occurs.
- Average Queue Length Drop Probability: A router might establish a drop probability based on queue length.
- Active Queue Management (AQM):
- RED exemplifies AQM by proactively dropping or marking packets to let sending sources reduce their rates before buffers are full.
Explicit Congestion Notification (ECN)
- ECN seeks to inform end-hosts about congestion rather than allowing congestion detection to be passive.
- Potential Approaches:
- Congested router returns a congestion notification directly to the source.
- Modifying a congestion-indication bit within packets that allows the destination to inform the source of congestion.
- Create special packets sent by the source to assess congestion levels at routers.
- For the internet, the second approach (modifying bits) has been adopted.
ECN for IP
- Two bits in the IP header denote congestion status:
- 00: transport layer not ECN-capable.
- 01: transport layer ECN-capable.
- 10: transport layer ECN-capable, but congestion NOT experienced.
- 11: transport layer ECN-capable and congestion experienced.
- Router Behavior:
- Uncongested routers retain the bits unchanged. Congested routers drop packets if transport is non-ECN-capable; otherwise, they set bits to 11.
Role of Transport Layer in ECN
- Routers signal congestion in packets traveling from A to B and A must adjust the sending rate accordingly.
- The transport layer should echo back the congestion notification to sender A using a congestion-experienced notification bit (ECE).
- Signal Flow: A sends packets to B, with ECN bits being updated as necessary.
Real-time Applications and Quality of Service (QoS)
- Real-time applications require assurances such as “deliver on time”.
- Example audio application:
- A sampler and A/D converter generate one byte 8000 times per second.
- Samples must be played back 8000 times per second.
- Variables include potential network delays and the risk of packet loss.
- Current IP and UDP Limitations:
- IP (UDP) offers no delivery or delay guarantees, only best-effort guarantees.
- TCP provides delivery guarantees but can introduce significant delays through retransmissions, making it unsuitable for real-time applications.
- Many audio/video applications use TCP even though they face delays from retransmissions, particularly where delay is not critical (e.g., listening to a radio station).
QoS Application Requirements
- Scarce Resources: Questions arise regarding which resources (like link capacity and buffer space) to allocate and how to schedule packets effectively.
- Decisions in Network:
- Scheduling Discipline: Determines packet service order based on resource availability.
- Drop Policy: Specifies packets’ queue treatment when resources are limited.
Scheduling Methods
- First In, First Out (FIFO): No prioritization; all packets treated equally.
- Priority Queueing: Classifies packets into priority groups; higher priority packets served first.
- Round Robin Scheduling: Handles packets by class per round; may not be fair due to varying packet sizes.
- Bit-by-Bit Round Robin: A theoretical approach where one bit is served from each class per round; not feasible in practice due to complexities.
Fair Queueing
- Tries to mimic bit-by-bit round robin scheduling, ordering packets so they leave the queue as if in bit-by-bit order without interrupting those already being sent.
- Weighted Fair Queueing: Extends fair queueing by assigning weights, allowing for uneven bandwidth distribution between flows.
Components Required for QoS
- Effective QoS relies on several components:
- Queueing Discipline
- Packet Classification: Determines which packet receives which treatment.
- Admission Control: Ensures network capacity for new and existing flows.
- Traffic Policing: Verifies that flows adhere to their defined traffic specifications.
Token Bucket Specification
- Describes traffic characteristics using two parameters:
- r: maximum average bytes per second.
- B: maximum burst size in bytes.
- Token Bucket Behavior: If a data stream adheres to the token bucket model, it guarantees average sending rates within specified bounds while allowing bursts up to parameter B.
QoS in the Internet
- Three Approaches to QoS:
- Integrated Services (IntServ): Reservations made for individual flows at routers.
- Differentiated Services (DiffServ): Groups flows into classes, focusing on class-level service rather than per-flow.
- Overprovisioning: Simply providing excessive bandwidth as a solution.
Integrated Services (IntServ)
- Enables link capacity reservations for flows needing it, using protocols like RSVP.
- Enforces admission controls to sustain quality guarantees.
- Provides two service categories:
- Guaranteed Service: Delay assurances for flows.
- Controlled Load Service: Network experience similar to lightly loaded scenarios.
- Challenges: Significant scalability issues due to state management and classification.
Differentiated Services (DiffServ)
- Limits the number of traffic classes defined and their expected service.
- Classification at network edges, while interior routers manage routing based on marked classes.
- PHB example: Expedited Forwarding (EF) guarantees serving rates and low delays, frequently used in VoIP applications.
Summary of Resource Allocation & QoS
- Importance of determining which resources to allocate to which packets.
- Congestion Control: Essential to prevent service degradation by adjusting loads based on congestion signals.
- Routers must enforce queuing policies to dictate packet treatment.
- Early signaling of congestion through strategies like RED and ECN.
- QoS: Aims for service differentiation through careful classification and admission controls, though it’s not universally deployed in the Internet.