Fairness, Queue Management, and QoS

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

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

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

Lecture 24: Scheduling and QoS

Network Support for Multimedia

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

Quality of Service (QoS)

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

CS557: Queue Management

Network Layer Enhancements

Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks. Congestion Control in Today s Internet

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

CSE 123b Communications Software

CS551 Router Queue Management

Packet Scheduling and QoS

Unit 2 Packet Switching Networks - II

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

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

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

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13

Queuing. Congestion Control and Resource Allocation. Resource Allocation Evaluation Criteria. Resource allocation Drop disciplines Queuing disciplines

Quality of Service (QoS)

Announcements. Quality of Service (QoS) Goals of Today s Lecture. Scheduling. Link Scheduling: FIFO. Link Scheduling: Strict Priority

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

Resource Control and Reservation

RSVP 1. Resource Control and Reservation

Congestion Control and Resource Allocation

Real-Time Protocol (RTP)

of-service Support on the Internet

Mohammad Hossein Manshaei 1393

Episode 5. Scheduling and Traffic Management

EE 122: Router Support for Congestion Control: RED and Fair Queueing. Ion Stoica Oct. 30 Nov. 4, 2002

Lecture Outline. Bag of Tricks

Congestion Control In the Network

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

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

Improving QOS in IP Networks. Principles for QOS Guarantees

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

Promoting the Use of End-to-End Congestion Control in the Internet

Master Course Computer Networks IN2097

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

Master Course Computer Networks IN2097

Chapter 6: Congestion Control and Resource Allocation

Computer Network Fundamentals Fall Week 12 QoS Andreas Terzis

Advanced Computer Networks

QUALITY of SERVICE. Introduction

Quality of Service (QoS)

COMP/ELEC 429/556 Introduction to Computer Networks

CSE 461 Quality of Service. David Wetherall

Fair Queueing. Presented by Brighten Godfrey. Slides thanks to Ion Stoica (UC Berkeley) with slight adaptation by Brighten Godfrey

QoS Configuration. Overview. Introduction to QoS. QoS Policy. Class. Traffic behavior

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

Real-Time Control Protocol (RTCP)

MUD: Send me your top 1 3 questions on this lecture

Quality of Service (QoS)

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

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers

Internet Services & Protocols. Quality of Service Architecture

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

Lecture 14: Performance Architecture

Kommunikationssysteme [KS]

Lesson 14: QoS in IP Networks: IntServ and DiffServ

Announcements. Quality of Service (QoS) Goals of Today s Lecture. Scheduling. Link Scheduling: Strict Priority. Link Scheduling: FIFO

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

CS 268: Computer Networking

TELE Switching Systems and Architecture. Assignment Week 10 Lecture Summary - Traffic Management (including scheduling)

different problems from other networks ITU-T specified restricted initial set Limited number of overhead bits ATM forum Traffic Management

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

Common network/protocol functions

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

Week 7: Traffic Models and QoS

Quality of Service in the Internet

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

Quality of Service in the Internet

Scheduling. Scheduling algorithms. Scheduling. Output buffered architecture. QoS scheduling algorithms. QoS-capable router

Flow and Congestion Control

Chapter 24 Congestion Control and Quality of Service 24.1

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

Chapter 6 Queuing Disciplines. Networking CS 3470, Section 1

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

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

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control

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

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

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ

Multimedia Networking

Congestion Control in the Network

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

ECEN Final Exam Fall Instructor: Srinivas Shakkottai

Multimedia networking: outline

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service

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

Part1: Lecture 4 QoS

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

Wireless Networks (CSC-7602) Lecture 8 (15 Oct. 2007)

Differentiated Services

QoS on Low Bandwidth High Delay Links. Prakash Shende Planning & Engg. Team Data Network Reliance Infocomm

EE 122: Differentiated Services

Introduction to IP QoS

Transcription:

Fairness, Queue Management, and QoS 15-441 Fall 2017 Profs Peter Steenkiste & Justine Sherry Slides borrowed from folks at CMU, Berkeley, and elsewhere.

YINZ I AM GETTING T-SHIRTS If you TA for me next year I will give you a t-shirt or jacket

sli.do time (yell at me if I don t notice?)

News and such Final is next week. Final exam review on FRIDAY in Recitation Slot Along with a review handout like I made for the midterm Homework due soon also

Recall: the Internet provides best-effort delivery with no guarantees. Why might this not be desirable?

Why isn t best-effort always what we want? Some applications require higher quality of service: Bandwidth: fast data transfers, video Delay, jitter: telephony Packet loss, bit error rate: update services Human desire for fairness: Misbehaving connections can consume resources and hurt other connections! Even in the absence of guarantees about latency, loss, or throughput, lack of guarantee about fairness bothers many people.

Quality of Service versus Fairness Traditional definition of fairness: treat all flows equally. E.g., share bandwidth on bottleneck link equally QoS: treat flows differently. For example, some users get a bandwidth guarantee, while others have to use best effort service The two are not in conflict All else being equal, users are treated equally Unequal treatment is based on policies, price: Administrative policies: rank or position Economics: extra payment for preferential treatment

What is a flow? Defines the granularity of QoS and fairness TCP flow Traffic to or from a device, user, or network Bigger aggregates for traffic engineering purposes Routers use a classifier to determine what flow a packet belongs to Classifier uses a set of fields in the packet header to generate a flow ID Example: (src IP, dest IP, src port, dest port, protocol) Or: (src prefix, dest prfix), i.e., some fields are wildcards

Why should we consider QoS? Continuous media applications Lower and upper limit on acceptable performance. BW below which video and audio are not intelligible Internet telephones, teleconferencing with high delay (200-300ms) impair human interaction Sometimes called tolerant real-time since they can adapt to the performance of the network Hard real-time applications Require hard limits on performance E.g. control applications consider remote, robotic surgery (!)

QoS Analogy: Surface Mail The defaults if first class mail. Usually gets there within a few days Sufficient for most letters Many guaranteed mail delivery services: next day, 2-day delivery, next day am,.. Provide faster and more predictable service at a higher cost Providers differentiate their services: target specific markets with specific requirements and budgets Why don t we do the same thing in networks?

Fairness Goals Allocate resources fairly Isolate ill-behaved users Router does not send explicit feedback to source Still needs e2e congestion control Still achieve statistical multiplexing One flow can fill entire pipe if no contenders Work conserving à scheduler never idles link if it has a packet

Problems in Achieving fairness

Problems in Achieving fairness In the Internet, fairness is only achieved if all flows play by the rules

Problems in Achieving fairness In the Internet, fairness is only achieved if all flows play by the rules In practice: most sources must use TCP or be TCP friendly most sources are cooperative most sources implement homogeneous/compatible control law compatible means less aggressive than TCP

Problems in Achieving fairness In the Internet, fairness is only achieved if all flows play by the rules In practice: most sources must use TCP or be TCP friendly most sources are cooperative most sources implement homogeneous/compatible control law compatible means less aggressive than TCP What if sources do not play by the rule? E.g., TCP versus UDP without congestion control

RANYSHA ALREADY TOLD YOU THAT

How might you change the Internet to implement QoS?

How might you change the Internet to implement Fairness?

Techniques to implement QoS and Fairness Admission control limits number of flows You cannot provide guarantees if there are too many flows sharing the same set of resources (bandwidth) For example, telephone networks - busy tone This implies that your request for service can be rejected Traffic enforcement limits how much traffic flows can inject based on predefined limits. Make sure user respects the traffic contract Data outside of contract can be dropped (before entering the network!) or can be sent at a lower priority Router scheduling that users get their share of the bandwidth. Again based on pre-negotiated bounds

Implementing QoS: Reserving Resources End-to-End Source sends a reservation message E.g., this flow needs 5 Mbps

Implementing QoS: Reserving Resources End-to-End Source sends a reservation message E.g., this flow needs 5 Mbps Each router along the path

Implementing QoS: Reserving Resources End-to-End Source sends a reservation message E.g., this flow needs 5 Mbps Each router along the path Keeps track of the reserved resources E.g., the link has 6 Mbps left

Implementing QoS: Reserving Resources End-to-End Source sends a reservation message E.g., this flow needs 5 Mbps Each router along the path Keeps track of the reserved resources E.g., the link has 6 Mbps left Checks if enough resources remain E.g., 6 Mbps > 5 Mbps, so circuit can be accepted

Implementing QoS: Reserving Resources End-to-End Source sends a reservation message E.g., this flow needs 5 Mbps Each router along the path Keeps track of the reserved resources E.g., the link has 6 Mbps left Checks if enough resources remain E.g., 6 Mbps > 5 Mbps, so circuit can be accepted Creates state for flow and reserves resources E.g., now only 1 Mbps is available

Requires: traffic enforcement control how much data sender can put into the network!

Tokens enter bucket at rate r Traffic Enforcement: Token Bucket Filter Bucket depth b: capacity of bucket Operation: If bucket fills, tokens are discarded Sending a packet of size P uses P tokens If bucket has P tokens, packet sent at max rate, else must wait for tokens to accumulate

Token Bucket Operation Tokens Tokens Tokens Overflow Packet Packet Enough tokens à packet goes through, tokens removed Not enough tokens à wait for tokens to accumulate

Token Bucket Characteristics Can characterize flow using a token bucket: smallest parameters for which no packets will be delayed On the long run, rate is limited to r On the short run, a burst of size b can be sent Maximum amount of traffic that can enter the network in time interval T is bounded by: Simple case: Traffic = b + r*t Information useful to admission algorithm

Traffic Enforcement: Token Buckets

Traffic Enforcement: Token Buckets Parameters r average rate, i.e., rate at which tokens fill the bucket b bucket depth (limits size of burst)

Traffic Enforcement: Token Buckets Parameters r average rate, i.e., rate at which tokens fill the bucket b bucket depth (limits size of burst) A bit can be transmitted only when a token is available

Traffic Enforcement: Token Buckets Parameters r average rate, i.e., rate at which tokens fill the bucket b bucket depth (limits size of burst) A bit can be transmitted only when a token is available r bps b bits R bps regulator

Traffic Enforcement: Example r = 100 Kbps; b = 3 Kb; R = 500 Kbps

Traffic Enforcement: Example r = 100 Kbps; b = 3 Kb; R = 500 Kbps 3Kb (a) T = 0 : 1Kb packet arrives

Traffic Enforcement: Example r = 100 Kbps; b = 3 Kb; R = 500 Kbps (a) (b) 3Kb 2.2Kb T = 0 : 1Kb packet arrives T = 2ms : packet transmitted b = 3Kb 1Kb + 2ms*100Kbps = 2.2Kb

Traffic Enforcement: Example r = 100 Kbps; b = 3 Kb; R = 500 Kbps (a) (b) 3Kb 2.2Kb T = 0 : 1Kb packet arrives (c) T = 2ms : packet transmitted b = 3Kb 1Kb + 2ms*100Kbps = 2.2Kb 2.4Kb T = 4ms : 3Kb packet arrives

Traffic Enforcement: Example r = 100 Kbps; b = 3 Kb; R = 500 Kbps (a) (b) 3Kb 2.2Kb T = 0 : 1Kb packet arrives (c) T = 2ms : packet transmitted b = 3Kb 1Kb + 2ms*100Kbps = 2.2Kb (d) 2.4Kb 3Kb T = 4ms : 3Kb packet arrives T = 10ms : packet needs to wait until enough tokens are in the bucket

Traffic Enforcement: Example r = 100 Kbps; b = 3 Kb; R = 500 Kbps (a) (b) 3Kb 2.2Kb T = 0 : 1Kb packet arrives 2.4Kb (c) 3Kb T = 2ms : packet transmitted b = 3Kb 1Kb + 2ms*100Kbps = 2.2Kb (d) 0.6Kb (e) T = 4ms : 3Kb packet arrives T = 10ms : packet needs to wait until enough tokens are in the bucket T = 16ms : packet transmitted

Controlling Fairness and QoS with Queuing Disciplines Each router must implement some queuing discipline Queuing allocates both bandwidth and buffer space: Bandwidth: which packet to serve (transmit) next Buffer space: which packet to drop next (when required) Queuing also affects latency

Network Queuing Disciplines First-in-first-out (FIFO) + drop-tail Simplest choice - used widely in the Internet FIFO means all packets treated equally Drop-tail: new packets gets dropped when queue is Important distinction: FIFO: scheduling discipline Drop-tail: drop policy Alternative is to do Active Queue Management To improve congestion response Support fairness in presence of non-tcp flows To give flows different types of service QoS

Implementing Max-min Fairness Generalized processor sharing Fluid fairness Bitwise round robin among all queues Why not simple round robin? Variable packet length à can get more service by sending bigger packets Unfair instantaneous service rate What if packets arrive just before/after packet departs? We will use bit-bit round robin as an example Many other algorithms exist

Fairness: General Approach

Fairness: General Approach Routers classify packets into flows (For now) flows are packets between same source/destination

Fairness: General Approach Routers classify packets into flows (For now) flows are packets between same source/destination Each flow has its own FIFO queue in router Router services flows in a fair fashion When line becomes free, take packet from next flow in a fair order

Fairness: General Approach Routers classify packets into flows (For now) flows are packets between same source/destination Each flow has its own FIFO queue in router Router services flows in a fair fashion When line becomes free, take packet from next flow in a fair order What does fair mean exactly?

Max-min Fairness Give users with small demand what they want, evenly divide unused resources to big users Formally: Resources allocated in terms of increasing demand No source gets resource share larger than its demand Sources with unsatisfied demands get equal share of resource

Max-min Fairness Give users with small demand what they want, evenly divide unused resources to big users Formally: Resources allocated in terms of increasing demand No source gets resource share larger than its demand Sources with unsatisfied demands get equal share of resource

Max-min Fairness Give users with small demand what they want, evenly divide unused resources to big users Formally: Resources allocated in terms of increasing demand No source gets resource share larger than its demand Sources with unsatisfied demands get equal share of resource

Max-min Fairness Give users with small demand what they want, evenly divide unused resources to big users Formally: Resources allocated in terms of increasing demand No source gets resource share larger than its demand Sources with unsatisfied demands get equal share of resource

Max-min Fairness Give users with small demand what they want, evenly divide unused resources to big users Formally: Resources allocated in terms of increasing demand No source gets resource share larger than its demand Sources with unsatisfied demands get equal share of resource

Max-min Fairness Give users with small demand what they want, evenly divide unused resources to big users Formally: Resources allocated in terms of increasing demand No source gets resource share larger than its demand Sources with unsatisfied demands get equal share of resource

Max-Min Fairness

Max-Min Fairness Given set of bandwidth demands r i and total bandwidth C, max-min bandwidth allocations are: r 1 r 2 C bits/s?? r 3?

Max-Min Fairness Given set of bandwidth demands r i and total bandwidth C, max-min bandwidth allocations are: a i = min(f, r i ) r 1 r 2 C bits/s?? r 3?

Max-Min Fairness Given set of bandwidth demands r i and total bandwidth C, max-min bandwidth allocations are: a i = min(f, r i ) where f is the unique value such that Sum(a i ) = C r 1 r 2 C bits/s?? r 3?

Example

Example C = 10; r 1 = 8, r 2 = 6, r 3 = 2; N = 3

Example C = 10; r 1 = 8, r 2 = 6, r 3 = 2; N = 3 C/3 = 3.33 Can service all of r 3 Remove r 3 from the accounting: C = C r 3 = 8; N = 2

Example C = 10; r 1 = 8, r 2 = 6, r 3 = 2; N = 3 C/3 = 3.33 Can service all of r 3 Remove r 3 from the accounting: C = C r 3 = 8; N = 2 C/2 = 4 Can t service all of r 1 or r 2 So hold them to the remaining fair share: f = 4

Example C = 10; r 1 = 8, r 2 = 6, r 3 = 2; N = 3 C/3 = 3.33 Can service all of r 3 Remove r 3 from the accounting: C = C r 3 = 8; N = 2 C/2 = 4 Can t service all of r 1 or r 2 So hold them to the remaining fair share: f = 4 8 6 2 10 4 4 2 f = 4: min(8, 4) = 4 min(6, 4) = 4 min(2, 4) = 2

Max-Min Fairness Given set of bandwidth demands r i and total bandwidth C, max-min bandwidth allocations are: a i = min(f, r i ) where f is the unique value such that Sum(a i ) = C Property: If you don t get full demand, no one gets more than you

Max-Min Fairness Given set of bandwidth demands r i and total bandwidth C, max-min bandwidth allocations are: a i = min(f, r i ) where f is the unique value such that Sum(a i ) = C Property: If you don t get full demand, no one gets more than you This is what round-robin service gives if all packets are the same size

How do we deal with packets of different sizes?

How do we deal with packets of different sizes? Mental model: Bit-by-bit round robin ( fluid flow )

How do we deal with packets of different sizes? Mental model: Bit-by-bit round robin ( fluid flow ) Can you do this in practice?

How do we deal with packets of different sizes? Mental model: Bit-by-bit round robin ( fluid flow ) Can you do this in practice? No, packets cannot be preempted

How do we deal with packets of different sizes? Mental model: Bit-by-bit round robin ( fluid flow ) Can you do this in practice? No, packets cannot be preempted But we can approximate it This is what fair queuing routers do

Fair Queuing (FQ)

Fair Queuing (FQ) For each packet, compute the time at which the last bit of a packet would have left the router if flows are served bit-by-bit

Fair Queuing (FQ) For each packet, compute the time at which the last bit of a packet would have left the router if flows are served bit-by-bit Then serve packets in the increasing order of their deadlines

Example Flow 1 (arrival traffic) 1 2 3 4 5 6 time Flow 2 (arrival traffic) 1 2 3 4 5 time

Example Flow 1 (arrival traffic) 1 2 3 4 5 6 time Flow 2 (arrival traffic) 1 2 3 4 5 time Service in fluid flow system 1 2 1 2 3 3 4 4 5 6 5 time

Example Flow 1 (arrival traffic) 1 2 3 4 5 6 time Flow 2 (arrival traffic) 1 2 3 4 5 time Service in fluid flow system 1 2 1 2 3 3 4 4 5 6 5 time FQ Packet system 1 2 1 3 2 3 4 4 5 5 6 time

Fair Queuing (FQ)

Fair Queuing (FQ) Think of it as an implementation of round-robin generalized to the case where not all packets are equal sized Weighted fair queuing (WFQ): assign different flows different shares

Fair Queuing (FQ) Think of it as an implementation of round-robin generalized to the case where not all packets are equal sized Weighted fair queuing (WFQ): assign different flows different shares Today, some form of WFQ implemented in almost all routers Not the case in the 1980-90s, when CC was being developed Mostly used to isolate traffic at larger granularities (e.g., per-prefix)

FQ vs. FIFO

FQ vs. FIFO FQ advantages: Isolation: cheating flows don t benefit Bandwidth share does not depend on RTT Flows can pick any rate adjustment scheme they want

FQ vs. FIFO FQ advantages: Isolation: cheating flows don t benefit Bandwidth share does not depend on RTT Flows can pick any rate adjustment scheme they want

FQ vs. FIFO FQ advantages: Isolation: cheating flows don t benefit Bandwidth share does not depend on RTT Flows can pick any rate adjustment scheme they want Disadvantages: More complex than FIFO: per flow queue/state, additional per-packet book-keeping

FQ in the big picture FQ does not eliminate congestion à it just manages the congestion

FQ in the big picture FQ does not eliminate congestion à it just manages the congestion 5Gbps 1Gbps 1Gbps 100Mbps 1Gbps

FQ in the big picture FQ does not eliminate congestion à it just manages the congestion 5Gbps 1Gbps 1Gbps 100Mbps 1Gbps Blue and Green get 0.5Gbps; any excess will be dropped

FQ in the big picture FQ does not eliminate congestion à it just manages the congestion 5Gbps 1Gbps 1Gbps 100Mbps 1Gbps Will drop an additional 400Mbps from the green flow Blue and Green get 0.5Gbps; any excess will be dropped

FQ in the big picture FQ does not eliminate congestion à it just manages the congestion 5Gbps 1Gbps 1Gbps 100Mbps 1Gbps Will drop an additional 400Mbps from the green flow Blue and Green get 0.5Gbps; any excess will be dropped If the green flow doesn t drop its sending rate to 100Mbps, we re wasting 400Mbps that could be usefully given to the blue flow

FQ in the big picture FQ does not eliminate congestion à it just manages the congestion robust to cheating, variations in RTT, details of delay, reordering, retransmission, etc.

FQ in the big picture FQ does not eliminate congestion à it just manages the congestion robust to cheating, variations in RTT, details of delay, reordering, retransmission, etc. But congestion (and packet drops) still occurs

FQ in the big picture FQ does not eliminate congestion à it just manages the congestion robust to cheating, variations in RTT, details of delay, reordering, retransmission, etc. But congestion (and packet drops) still occurs And we still want end-hosts to discover/adapt to their fair share!

FQ in the big picture FQ does not eliminate congestion à it just manages the congestion robust to cheating, variations in RTT, details of delay, reordering, retransmission, etc. But congestion (and packet drops) still occurs And we still want end-hosts to discover/adapt to their fair share! What would the end-to-end argument say w.r.t. congestion control?

Fairness is a controversial goal

Fairness is a controversial goal What if you have 8 flows, and I have 4? Why should you get twice the bandwidth

Fairness is a controversial goal What if you have 8 flows, and I have 4? Why should you get twice the bandwidth What if your flow goes over 4 congested hops, and mine only goes over 1? Why shouldn t you be penalized for using more scarce bandwidth?

Fairness is a controversial goal What if you have 8 flows, and I have 4? Why should you get twice the bandwidth What if your flow goes over 4 congested hops, and mine only goes over 1? Why shouldn t you be penalized for using more scarce bandwidth? And what is a flow anyway? TCP connection Source-Destination pair? Source?

Summary Internet guarantees best effort delivery Sometimes we want to provide bandwidth, latency guarantees Sometimes we want to at least ensure traffic is served fairly Can do this by admission control, traffic enforcement, queue management/router but still not used widely on Internet, just in local networks.

Seriously, come TA for us next year! Some ideas for things we ll do next year: Move everything to GitHub: projects code, web site Faster updates and no accidental rollbacks :P Updated and new projects Some of my ideas: invent your own TCP, implement an IDS More candy. And JACKETS. I will buy you JACKETS and you will look too cool at the networking parties. Email me and Prof. Steenkiste if interested.

Friday Recitation here. With me. I will cover whatever you ask me to on Piazza. There will also be a handout like there was for the Midterm.