Multicast, Packet Scheduling, QoS EE 122: Intro to Communication Networks Fall 2010 (MW 4-5:30 in 101 Barker) Scott Shenker TAs: Sameer Agarwal, Sara Alspaugh,

Slides:



Advertisements
Similar presentations
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 – QoS.
Advertisements

TAs: Junda Liu, DK Moon, David Zats
CPSC Topics in Multimedia Networking A Mechanism for Equitable Bandwidth Allocation under QoS and Budget Constraints D. Sivakumar IBM Almaden Research.
Differentiated Services. Service Differentiation in the Internet Different applications have varying bandwidth, delay, and reliability requirements How.
A Case for Relative Differentiated Services and the Proportional Differentiation Model Constantinos Dovrolis Parameswaran Ramanathan University of Wisconsin-Madison.
1 Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ EE122 Fall 2011 Scott Shenker Materials with thanks to.
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
ACN: IntServ and DiffServ1 Integrated Service (IntServ) versus Differentiated Service (Diffserv) Information taken from Kurose and Ross textbook “ Computer.
1 EE 122: Final Review Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson,
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 23 Introduction to Computer Networks.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
CS 268: Differentiated Services Ion Stoica February 25, 2003.
1 EE 122: Multicast Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson, Jennifer.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Multicast Computer Science Division Department of Electrical Engineering and Computer Sciences.
15-744: Computer Networking
School of Information Technologies IP Quality of Service NETS3303/3603 Weeks
Internet QoS Syed Faisal Hasan, PhD (Research Scholar Information Trust Institute) Visiting Lecturer ECE CS/ECE 438: Communication Networks.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 3. QoS.
CS 268: Lecture 10 (Integrated Services) Ion Stoica March 4, 2002.
CS 268: Lecture 11 (Differentiated Services) Ion Stoica March 6, 2001.
CS 268: Integrated Services Ion Stoica February 23, 2004.
Multicast EECS 122: Lecture 16 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
Spanning Tree and Multicast. The Story So Far Switched ethernet is good – Besides switching needed to join even multiple classical ethernet networks Routing.
24-1 Chapter 24. Congestion Control and Quality of Service part Quality of Service 23.6 Techniques to Improve QoS 23.7 Integrated Services 23.8.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
Computer Networking Quality-of-Service (QoS) Dr Sandra I. Woolley.
Integrated Services (RFC 1633) r Architecture for providing QoS guarantees to individual application sessions r Call setup: a session requiring QoS guarantees.
IntServ / DiffServ Integrated Services (IntServ)
CSE679: QoS Infrastructure to Support Multimedia Communications r Principles r Policing r Scheduling r RSVP r Integrated and Differentiated Services.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 23 - Multimedia Network Protocols (Layer 3) Klara Nahrstedt Spring 2011.
1 Quality of Service (QoS) - DiffServ EE 122: Intro to Communication Networks Fall 2007 (WF 4-5:30 in Cory 277) Vern Paxson TAs: Lisa Fowler, Daniel Killebrew.
CSE QoS in IP. CSE Improving QOS in IP Networks Thus far: “making the best of best effort”
Quality of Service (QoS)
QOS مظفر بگ محمدی دانشگاه ایلام. 2 Why a New Service Model? Best effort clearly insufficient –Some applications need more assurances from the network.
CSC 336 Data Communications and Networking Lecture 8d: Congestion Control : RSVP Dr. Cheer-Sun Yang Spring 2001.
CS 268: IP Multicast Routing Ion Stoica April 5, 2004.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
CONGESTION CONTROL and RESOURCE ALLOCATION. Definition Resource Allocation : Process by which network elements try to meet the competing demands that.
Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms.
Link Scheduling & Queuing COS 461: Computer Networks
CS 447 Network & Data Communication QoS (Quality of Service) & DiffServ Introduction Department of Computer Science Southern Illinois University Edwardsville.
Multimedia Wireless Networks: Technologies, Standards, and QoS Chapter 3. QoS Mechanisms TTM8100 Slides edited by Steinar Andresen.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
© Jörg Liebeherr, Quality-of-Service Architectures for the Internet Integrated Services (IntServ)
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
Bjorn Landfeldt, The University of Sydney 1 NETS3303 Networked Systems.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 21: Multicast Routing Slides used with.
EE 122: Lecture 15 (Quality of Service) Ion Stoica October 25, 2001.
Multicast Communications
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time, Interactive Multimedia: Internet.
Queue Management Mike Freedman COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
An End-to-End Service Architecture r Provide assured service, premium service, and best effort service (RFC 2638) Assured service: provide reliable service.
Providing QoS in IP Networks
Integrated Services & RSVP Types of pplications Basic approach in IntServ Key components Service models.
Quality of Service Frameworks Hamed Khanmirza Principles of Network University of Tehran.
1 Lecture 15 Internet resource allocation and QoS Resource Reservation Protocol Integrated Services Differentiated Services.
Multicast and Quality of Service Internet Technologies and Applications.
Internet Quality of Service
Advanced Computer Networks
Multicast Outline Multicast Introduction and Motivation DVRMP.
Queue Management Jennifer Rexford COS 461: Computer Networks
EE 122: Quality of Service and Resource Allocation
EE 122: Lecture 18 (Differentiated Services)
Computer Science Division
EE 122: Differentiated Services
CIS679: Two Planes and Int-Serv Model
EE 122: Lecture 13 (IP Multicast Routing)
Presentation transcript:

Multicast, Packet Scheduling, QoS EE 122: Intro to Communication Networks Fall 2010 (MW 4-5:30 in 101 Barker) Scott Shenker TAs: Sameer Agarwal, Sara Alspaugh, Igor Ganichev, Prayag Narula Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley

Last Lecture: Routing Challenges Resilience –Routing not reliable while reconverging after failures Traffic Engineering –Routing algorithms don’t automatically spread load across available paths Policy Oscillations –Policy autonomy makes oscillations possible –Current routing algorithms provide no way to resolve policy disputes 2

Meeting These Challenges Augmenting LS with Failure-Carrying Packets –No packet drops during convergence –Requires change to packet header Augmenting DV with Routing Along DAGs –Local adaptation prevents packet drops, spreads load –No need for header changes, applies to L2 and L3 Augmenting PV with Policy Dispute Resolution –Only invoked when oscillation is in progress 3

Today’s Lecture Last lecture preserved traditional service model –Unicast, best-effort delivery –Just made it more reliable Today, we examine changes to the service model –Multicast: one-to-many delivery model –Quality of service: better than “best-effort” oPacket scheduling is a key component oBut also useful in congestion control (later lecture) Key architectural concept –Soft-state design 4

5 Multicast

Motivating Example: Internet Radio Live 8 concert –At peak, > 100,000 simultaneous online listeners –Could we do this with parallel unicast streams? Bandwidth usage –If each stream was 1Mbps, concert requires > 100Gbps Coordination –Hard to keep track of each listener as they come and go Multicast addresses both problems…. 6

7 Unicast approach does not scale… Backbone ISP Broadcast Center

8 Instead build trees Backbone ISP Broadcast Center Copy data at routers At most one copy of a data packet per link LANs implement link layer multicast by broadcasting Routers keep track of groups in real-time Routers compute trees and forward packets along them

9 Multicast Service Model Receivers join multicast group identified by a multicast address G Sender(s) send data to address G Network routes data to each of the receivers Note: multicast is both a delivery and a rendezvous mechanism –Senders don’t know list of receivers –For many purposes, the latter is more important than the former R 0 joins G R 1 joins G R n joins G S R0R0 R1R [G, data] RnRn Net

10 Multicast and Layering Multicast can be implemented at different layers –link layer oe.g. Ethernet multicast –network layer oe.g. IP multicast –application layer oe.g. End system multicast Each layer has advantages and disadvantages –Link: easy to implement, limited scope –IP: global scope, efficient, but hard to deploy –Application: less efficient, easier to deploy [not covered]

11 Multicast Implementation Issues How is join implemented? How is send implemented? How much state is kept and who keeps it?

Link Layer Multicast Join group at multicast address G –NIC normally only listens for packets sent to unicast address A and broadcast address B –After being instructed to join group G, NIC also listens for packets sent to multicast address G Send to group G –Packet is flooded on all LAN segments, like broadcast Scalability: –State: Only host NICs keep state about who has joined –Bandwidth: Requires broadcast on all LAN segments Limitation: just over single LAN 12

13 Network Layer (IP) Multicast Performs inter-network multicast routing –Relies on link layer multicast for intra-network routing Portion of IP address space reserved for multicast –2 28 addresses for entire Internet Open group membership –Anyone can join (sends IGMP message) –Privacy preserved at application layer (encryption) Anyone can send to group –Even nonmembers –Flexible, but leads to problems

14 IP Multicast Routing Intra-domain –Source Specific Tree: Distance Vector Multicast Routing Protocol (DVRMP) –Shared Tree: Core Based Tree (CBT) Inter-domain [not covered today] –Protocol Independent Multicast –Single Source Multicast

15 Distance Vector Multicast Routing Protocol Elegant extension to DV routing –Using reverse paths! Use shortest path DV routes to determine if link is on the source-rooted spanning tree Three steps in developing DVRMP –Reverse Path Flooding –Reverse Path Broadcasting –Truncated Reverse Path Broadcasting (pruning)

16 Reverse Path Flooding (RPF) If incoming link is shortest path to source Send on all links except incoming Otherwise, drop Issues: Some links (LANs) may receive multiple copies Every link receives each multicast packet s:2 s s s:1 s:3 s:2 s:3 r r

17 Other Problems Flooding can cause a given packet to be sent multiple times over the same link Solution: Reverse Path Broadcasting x x y y z z S S a b duplicate packet

18 Reverse Path Broadcasting (RPB) x x y y z z S S a b 5 6 child link of x for S forward only to child link Parent of z on reverse path Choose single parent for each link along reverse shortest path to source Only parent forwards to child link Identifying parent links –Distance –Lower address as tie- breaker

Not Done Yet! This is still a broadcast algorithm – the traffic goes everywhere Need to “Prune” the tree when there are subtrees with no group members Add the notion of “leaf” nodes in tree –They start the pruning process 19

20 Pruning Details Prune (Source,Group) at leaf if no members –Send Non-Membership Report (NMR) up tree If all children of router R send NMR, prune (S,G) –Propagate prune for (S,G) to parent R On timeout: –Prune dropped –Flow is reinstated –Down stream routers re-prune Note: a soft-state approach

21 Distance Vector Multicast Scaling State requirements: –O(Sources  Groups) active state How to get better scaling? –Hierarchical Multicast –Core-based Trees

Core-Based Trees (CBT) Pick a “rendevouz point” for the group (called core) Build tree from all members to that core –Shared tree More scalable: –Reduces routing table state from O(S x G) to O(G) 22

23 Use Shared Tree for Delivery Group members: M1, M2, M3 M1 sends data root M1 M2 M3 control (join) messages data

24 Barriers to Multicast Hard to change IP –Multicast means changes to IP –Details of multicast were very hard to get right Not always consistent with ISP economic model –Charging done at edge, but single packet from edge can explode into millions of packets within network Troublesome security model –Anyone can send to a group –Denial-of-service attacks on known groups

25 5 Minute Break Questions Before We Proceed?

Announcements Homework 3b coming soon! 26

27 Packet Scheduling

28 Scheduling Decide when and what packet to send on output link Classifier partitions incoming traffic into flows In some designs, each flow has their own FIFO queue 1 2 Scheduler flow 1 flow 2 flow n Classifier Buffer management

29 Packet Scheduling: FIFO What if scheduler uses one first-in first-out queue? –Simple to implement –But everyone gets the same service Example: two kinds of traffic –Video conferencing needs high bandwidth and low delay oE.g., 1 Mbps and 100 msec delay – transfers not very sensitive to delay Cannot admit much traffic –Since it will interfere with the video conference traffic

30 Packet Scheduling: Strict Priority Strict priority –Multiple levels of priority –Always transmit high-priority traffic, when present –.. and force the lower priority traffic to wait Isolation for the high-priority traffic –Almost like it has a dedicated link –Except for the (small) delay for packet transmission oHigh-priority packet arrives during transmission of low-priority oRouter completes sending the low-priority traffic first

31 Scheduling: Weighted Fairness Limitations of strict priority –Lower priority queues may starve for long periods –… even if the high-priority traffic can afford to wait –Traffic still competes inside each priority queue Weighted fair scheduling –Assign each queue a fraction of the link bandwidth –Rotate across the queues on a small time scale –Send extra traffic from one queue if others are idle 50% red, 25% blue, 25% green

Max-Min Fairness Given a set of bandwidth demands r i and a total bandwidth C, the 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 name comes from multi-good version 32

33 Computing Max-Min Fairness Denote –C – link capacity –N – number of flows –r i – arrival rate Max-min fair rate computation: 1.compute C/N (= the remaining fair share) 2.if there are flows i such that r i ≤ C/N then update C and N and go to 1 3.if not, f = C/N; terminate

34 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 = f = 4 : min(8, 4) = 4 min(6, 4) = 4 min(2, 4) = 2 10

35 Fair Queuing (FQ) Conceptually, computes when each bit in the queue should be transmitted to attain max-min fairness (a “fluid flow system” approach) Then serve packets in the order of the transmission time of their last bits Allocates bandwidth in a max-min fairly

36 Example Flow 1 (arrival traffic) Flow 2 (arrival traffic) Service in fluid flow system Packet system time

37 Fair Queuing (FQ) Provides isolation: –Misbehaving flow can’t impair others –Very important in congestion control (but not used) Doesn’t “solve” congestion by itself: –Still need to deal with individual queues filling up Generalized to Weighted Fair Queuing (WFQ) –Can give preferences to classes of flows

38 Quality of Service

OK, so now what? So we know how to schedule packets How does that improve the quality of service? In particular, can we do better than “best-effort? 39

40 Differentiated Services (DiffServ) Give some traffic better treatment than other –Application requirements: interactive vs. bulk transfer –Economic arrangements: first-class versus coach What kind of better service could you give? –Fewer drops –Lower delay –Lower delay variation (jitter) How to know which packets get better service? –Bits in packet header Deals with traffic in aggregate –Very scalable

41 Diffserv Architecture Ingress routers - entrance to a DiffServ domain –Police or shape traffic (discussed later) –Set Differentiated Service Code Point (DSCP) in IP header Core routers –Implement Per Hop Behavior (PHB) for each DSCP –Process packets based on DSCP Ingress Egress Ingress Egress DS-1 DS-2 Edge router Core router

42 Differentiated Service (DS) Field DS field encodes Per-Hop Behavior (PHB) –E.g., Expedited Forwarding (all packets receive minimal delay & loss) –E.g., Assured Forwarding (packets marked with low/high drop probabilities) VersionHLen TOSLength Identification Fragment offset Flags Source address Destination address TTLProtocolHeader checksum Data IP header DS Field ECN

DiffServ Describes Relative Treatment What if my application needs bounds on delay? –Integrated Services Architecture Three steps necessary 1.Need to describe flow’s traffic 2.Need to reserve resources along path 3.Need to deny resource requests when overloaded 43

44 1: How to Characterize Flow’s Traffic Option #1: Specify the maximum bit rate. –Maximum bit rate may be much higher average –Reserving for the worst case is wasteful Option #2: Specify the average bit rate. –Average bit rate is not sufficient –Network will not be able to carry all of the packets –Reserving for average case leads to bad performance Option #3: Specify the burstiness of the traffic –Specify both the average rate and the burst size –Allows the sender to transmit bursty traffic –… and the network to reserve the necessary resources

45 Characterizing Burstiness: Token Bucket Parameters –r – average rate, i.e., rate at which tokens fill the bucket –b – bucket depth (limits size of burst) –R – maximum link capacity or peak rate A bit can be transmitted only when a token is available r bps b bits ≤ R bps regulator time bits b·R/(R-r) slope R slope r Maximum # of bits sent b/(R-r)

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

47 2: 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 oE.g., “the link has 6 Mbps left” –Checks if enough resources remain oE.g., “6 Mbps > 5 Mbps, so circuit can be accepted” –Creates state for flow and reserves resources oE.g., “now only 1 Mbps is available” RSVP –Dominant reservation protocol

48 QoS Guarantees: Per-hop Reservation End-host: specify –arrival rate characterized by token bucket with parameters (b,r,R) –the maximum tolerable delay D, no losses Router: allocate bandwidth r a, buffer space B a such that –no packet is dropped –no packet experiences a delay larger than D

QoS Guarantee: Per-Hop Reservations End-host: specifies –Traffic token bucket with parameters (b,r,R) –Maximum tolerable delay D Router: allocates bandwidth buffer space so that: –No packet is dropped –No packet experiences a delay larger than D If it doesn’t have the spare capacity, it says no 49

50 Ensuring the Source Behaves Guarantees depend on the source behaving –Extra traffic might overload one or more links –Leading to congestion, and resulting delay and loss –Solution: need to enforce the traffic specification Solution #1: policing –Drop all data in excess of the traffic specification Solution #2: shaping –Delay the data until it obeys the traffic specification Solution #3: marking –Mark all data in excess of the traffic specification –… and give these packets lower priority in the network

51 Comparison to Best-Effort & Intserv Best-EffortDiffservIntserv ServiceConnectivity No isolation No guarantees Per aggregate isolation Per aggregate guarantee Per flow isolation Per flow guarantee Service scope End-to-endDomainEnd-to-end ComplexityNo setupLong term setupPer flow steup ScalabilityHighly scalable (nodes maintain only routing state) Scalable (edge routers maintain per aggregate state; core routers per class state) Not very scalable (each router maintains per flow state, unless aggregation techniques are used)

52 Discussion: Limited QoS Deployment End-to-end QoS across multiple providers/domains is not available today Issue #1: complexity of payment –Requires payment system among multiple parties oAnd agreement on what constitutes service –Diffserv tries to structure this as series of bilateral agreements … o… but lessens likelihood of end-to-end service oArchitecture “Bandwidth Broker” for end-to-end provisioning Vaporware….. –Need infrastructure for metering/billing end user

53 Limited QoS Deployment, con’t Issue #2: prevalence of overprovisioning –Within a large ISP, links tend to have plenty of headroom –Inter-ISP links are not over provisioned, however Is overprovisioning enough? –If so, is this only because access links are slow? –What about Korea, Japan, and other countries with fast access links? –Disconnect: ISPs overprovision, users get bad service Key difference: intra-ISP vs. general end-to-end

54 Exploiting Lack of End-to-End QoS Suppose an ISP offers their own Internet service –E.g., portal (ala’ Yahoo) or search engine (ala’ Google) Then it’s in their interest that performance to Yahoo or Google is inferior –So customers prefer to use their value-added services ISP can –recognize traffic to competitor and demote it –charge competitor if they want well-provision paths –just not put effort/$ into high-capacity interconnects w/ other ISPs; congestion provides traffic demotion directly Works particularly well for large providers w/ lots of valuable content

Architectural Loss, Mechanistic Win While Multicast, IntServ, and DiffServ are not globally available services, the underlying mechanisms have widely influential Multicast, Weighted Fair Queueing, RSVP, DiffServ in almost every router Future designs leverage the understanding gained in the development of multicast and QoS 55