CS519: Computer Networks. Lecture 5, Part 5: Mar 31, 2004 Queuing and QoS

Similar documents
Congestion Control and Resource Allocation

Real-Time Applications. Delay-adaptive: applications that can adjust their playback point (delay or advance over time).

Advanced Lab in Computer Communications Meeting 6 QoS. Instructor: Tom Mahler

CSCD 433/533 Advanced Networks Spring Lecture 22 Quality of Service

CSE 123b Communications Software

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems

Congestion Control & Resource Allocation. Issues in Resource Allocation Queuing Discipline TCP Congestion Control

Advanced Computer Networks

Mohammad Hossein Manshaei 1393

Lecture 24: Scheduling and QoS

Real-Time Protocol (RTP)

Internet Services & Protocols. Quality of Service Architecture

Improving QOS in IP Networks. Principles for QOS Guarantees

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Lecture 14: Performance Architecture

Computer Networking. Queue Management and Quality of Service (QOS)

Lecture Outline. Bag of Tricks

Differentiated Services

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service

RSVP and the Integrated Services Architecture for the Internet

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Quality of Service in the Internet

Quality of Service (QoS)

Network Support for Multimedia

A Preferred Service Architecture for Payload Data Flows. Ray Gilstrap, Thom Stone, Ken Freeman

Congestion Control & Resource Allocation

QoS Guarantees. Motivation. . link-level level scheduling. Certain applications require minimum level of network performance: Ch 6 in Ross/Kurose

EPL606. Quality of Service and Traffic Classification

Lesson 14: QoS in IP Networks: IntServ and DiffServ

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:

CSE 461 Quality of Service. David Wetherall

Quality of Service in the Internet

Chapter 6: Congestion Control and Resource Allocation

Multimedia Networking

Page 1. Quality of Service. CS 268: Lecture 13. QoS: DiffServ and IntServ. Three Relevant Factors. Providing Better Service.

Part1: Lecture 4 QoS

EECS 122: Introduction to Computer Networks Resource Management and QoS. Quality of Service (QoS)

Last time! Overview! 14/04/15. Part1: Lecture 4! QoS! Router architectures! How to improve TCP? SYN attacks SCTP. SIP and H.

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Common network/protocol functions

The Evolution of Quality-of- Service on the Internet

Basic Reliable Transport Protocols

Differentiated Services

QUALITY of SERVICE. Introduction

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097

Computer Network Fundamentals Fall Week 12 QoS Andreas Terzis

Basics (cont.) Characteristics of data communication technologies OSI-Model

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

Chapter 24 Congestion Control and Quality of Service Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Chapter 24 Congestion Control and Quality of Service 24.1

Quality of Service (QoS)

IntServ and RSVP. Overview. IntServ Fundamentals. Tarik Cicic University of Oslo December 2001

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Lecture 14: Congestion Control"

Congestion Control 3/16/09

Flow Control. Flow control problem. Other considerations. Where?

Fairness, Queue Management, and QoS

Telematics 2. Chapter 3 Quality of Service in the Internet. (Acknowledgement: These slides have been compiled from Kurose & Ross, and other sources)

RSVP 1. Resource Control and Reservation

Multicast and Quality of Service. Internet Technologies and Applications

15-744: Computer Networking TCP

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm

Resource Control and Reservation

Lecture 14: Congestion Control"

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Multiplexing. Common network/protocol functions. Multiplexing: Sharing resource(s) among users of the resource.

Integrated and Differentiated Services. Christos Papadopoulos. CSU CS557, Fall 2017

of-service Support on the Internet

Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

C 6. Congestion Control and Resource Allocation. Copyright 2010, Elsevier Inc. All rights Reserved

ADVANCED COMPUTER NETWORKS

Presentation Outline. Evolution of QoS Architectures. Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

Quality of Service II

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Tutorial 9 : TCP and congestion control part I

Quality of Service (QoS)

Lecture 13. Quality of Service II CM0256

Principles. IP QoS DiffServ. Agenda. Principles. L74 - IP QoS Differentiated Services Model. L74 - IP QoS Differentiated Services Model

Real-Time Control Protocol (RTCP)

ITBF WAN Quality of Service (QoS)

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance

Computer Networking

Congestion Control and Resource Allocation

Telematics 2 & Performance Evaluation

Project Computer Networking. Resource Management Approaches. Start EARLY Tomorrow s recitation. Lecture 20 Queue Management and QoS

DiffServ Architecture: Impact of scheduling on QoS

CS551 Router Queue Management

Problems with IntServ. EECS 122: Introduction to Computer Networks Differentiated Services (DiffServ) DiffServ (cont d)

Introduction to IP QoS

Topic 4b: QoS Principles. Chapter 9 Multimedia Networking. Computer Networking: A Top Down Approach

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

ETSF10 Internet Protocols Transport Layer Protocols

CS 356: Computer Network Architectures. Lecture 24: IP Multicast and QoS [PD] Chapter 4.2, 6.5. Xiaowei Yang

"Filling up an old bath with holes in it, indeed. Who would be such a fool?" "A sum it is, girl," my father said. "A sum. A problem for the mind.

Queue Overflow. Dropping Packets. Tail Drop. Queues will always sometimes overflow. But Cause more variation in delay (jitter)

CS4700/CS5700 Fundamentals of Computer Networks

Transcription:

: Computer Networks Lecture 5, Part 5: Mar 31, 2004 Queuing and QoS

Ways to deal with congestion Host-centric versus router-centric Reservation-based versus feedback-based Window-based versus rate-based The Internet is: host-centric, feedbackbased, and window-based Because that s what TCP is But this is to some extent an accident of TCP s history

Alternative approaches In the mid-90 s, there was a concerted effort to make Internet QoS more router-centric, reservation-based, and rate-based An architecture called Integrated-Services ( intserv ) And a resource reservation protocol called RSVP This didn t take off, but its interesting to look at, and to see where things stand now

Queuing disciplines We talked a bit about RED But in fact, most queuing in the internet is FIFO with tail-drop FIFO means First-In-First-Out, like the queue in a bank This is a scheduling discipline Tail drop means that, if the queue overflows, you drop the last packet received This is a drop policy

Limitations of FIFO... The problem with FIFO is that aggressive flows can squeeze out conservative flows A TCP that doesn t follow AIMD rules can grab all the bandwidth Non-TCP connections (voice) can grab all the bandwidth It just isn t fair!

Fair Queuing Use multiple FIFO queues instead of just one Assign traffic to queue according to some policy Such as type of traffic (voice versus TCP) Or by TCP flow Service each queue in turn

Fair Queuing

Fair Queuing issues Scheduling must be (conceptually) per bit, not per packet Else large packet flows get more bandwidth Often you want to schedule a short packet from Q1 that arrived after a long packet in Q2 Unless of course the long packet is already in transit...

Fair Queuing issues Perfect per bit scheduling of fair queues a bit expensive Book defines giving a sending timestamp to each packet, and then sending in order, but now you have an ordering job I ll ask you to build simple reasonable approximations in project 4!

Weighted Fair Queuing If we want to give higher priority to some queues over other, we can schedule bits from some queues more often than others Q1 gets 2 bits for every 1 bit from Q2 Why do this rather than a strict priority queuing scheme??? Service Q2 only if Q1 empty, service Q3 only if Q2 empty, etc

Fair Queuing is work conserving Work conserving means: If there is work to be done, it will be done With fair queuing, if any queue has something to send, it will be sent Note that this is not the case with pure circuit switches, where BW has been reserved whether it is used or not!

What is a real-time application? One where the time at which a packet is played out is important Voice or video... But real-time applications can have extremely different network requirements Voice conversation is very bad if delay > 200ms or so Streaming media can be delayed for many seconds Telnet has much stricter delay requirements!

Play-out (or playback) buffer

Real-time applications Some video applications can adapt bandwidth requirements over a large range High-fidelity versus low-fidelity bits And can therefore tolerate wide BW variance Others won t or can t do this

IETF Intserv (Integrated Services) IETF attempt at fine-grained (per-flow) QoS Resource reservation with admission control Settled on two types of service: Guaranteed i.e. conversational voice Controlled Load More tolerant/adaptive realtime applications (In addition to existing best effort service)

Guaranteed versus Controlled Load Guaranteed really requires reserved resources, careful packet scheduling Controlled Load is based on the notion that most realtime apps work well as long as the network is lightly loaded Simply give this class adequate bandwidth (WFQ), but otherwise treat FIFO

Flowspec Recall that the more bursty traffic is, the quicker queues build up To make admission control decisions, the network needs to know how bursty a given flow is going to be And, it needs to guarantee that the flow is no more bursty than it claimed A flowspec is what describes the traffic (TSpec) and the network requirements (RSpec)

Token bucket (aka Leaky bucket) A simple and common way to describe traffic is with a token bucket Two parameters: Rate r (bits per second) The size of the hole in the bucket (average throughput) and bucket Depth B (bits) The size of the bucket itself (max burst size)

Token bucket policing A token bucket flowspec (r,b) can be enforced with a queue of size B that is serviced at a rate of r The network can therefore enforce compliance The network will tag a non-compliant packet as out of spec rather than drop it And then drop with higher priority should there actually be congestion

Resource Reservation Protocol (RSVP) IETF s version of a call setup protocol Different from a virtual circuit network in several interesting ways VCs couple routing and resource reservation (RR), whereas Internet already has routing (decoupled from RR) IETF wanted to allow router failure and not lose the call IETF wanted to accommodate multicast

RSVP Recipient makes the actual resource reservation But initiator gives the recipient the path to use Resource reservation is on reverse path Reservation is soft-state Network will forget the reservation if recipient doesn t refresh it Essentially, the recipient refreshes the reservation every minute or so!

An aside: soft-state Internet community was (still is???) big on the notion of soft state Idea is to allow control state to age (timeout) rather than require explicit deletion of state More robust, because if state creator crashes, state goes away naturally Simpler, because only need state create commands

An aside: soft-state Can be a nice principle if functions degrade gracefully rather than stop working when state disappears RSVP: packet still forwarded, but just without requested QoS Or if actual usage (user data packets) is what refreshes the state LRU caching is a form of soft state A nice design principle to keep in mind, but don t be religious about it

RSVP with multicast

RSVP with multicast

Intserv failed in the commercial marketplace Scaling issues Core routers can t handle so much flow state Rather spend energy on high speed (rightfully) Lack of business model? Requires buy-in from too many communities ISPs, OS vendors, application developers

Differentiated Services (Diffserv) A more modest (and realistic) proposal from IETF No resources reservations No per-flow handling Simply define a smallish number of service classes, encoded in IP s ToS bits These bits can be set by ISP edge routers, handled by internal routers according to ISP policies

Example Diffserv deployment model

Service classes reflect those of Intserv EF (Expedited Forwarding) For highly delay sensitive and intolerant apps AF (Assured Forwarding) To give high priority traffic the effect of a lightly loaded network 12 classes of this

Several approaches to AF Weighted RED (or RIO: Red with In and Out) Different drop thresholds for different classes WFQ Combinations of these

Status of Diffserv I ve seen it defined for cellular wireless data networks Where there is a clear bottleneck and need for differentiated services Certainly people believe that this is the best usage of the IP ToS bits Not aware that this has taken off for backbone services

TCP Friendly Rate Control (TFRC, RFC3448) What if you don t need TCP s reliability/sequencing, but want to be TCP friendly? A BW-flexible realtime video that can tolerate some packet loss TCP behavior can be described by an equation Some time called equation-based congestion control

Approaches for TCP-friendly congestion control Round-trip delay R Packet size s Loss event rate p (receiver feedback every RTT) Retransmission timeout t RTO ~ 4R

Simple TCP model Bandwidth as function of packet loss: Assumes triple-duplicate-ack triggering retransmission Does not take timeout into account Model: single saturated TCP pumping data into bottleneck other flows only modeled through packet loss

TFRC Defines an algorithm for Measuring loss at receiver Feeding back that info to sender Measuring RTT at sender Adjusting send rate accordingly