The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The...

26
1 The Evolution of Quality-of- The Evolution of Quality-of- Service on the Internet Service on the Internet The The UNIVERSITY UNIVERSITY of of NORTH CAROLINA NORTH CAROLINA at at CHAPEL HILL CHAPEL HILL http://www.cs.unc.edu/Research/dirt Kevin Kevin Jeffay Jeffay Department of Computer Science Department of Computer Science September 15, September 15, 2005 2005 2 The Evolution of Quality-of-Service The Evolution of Quality-of-Service on the Internet on the Internet The quality-of-service issue for the Internet has been The quality-of-service issue for the Internet has been debated and researched for at least 20 years debated and researched for at least 20 years The goal has shifted but the assumed The goal has shifted but the assumed “ gold standard gold standard” is is the realization of virtual circuits the realization of virtual circuits Guaranteed QoS End-System Adaptation to Congestion Advanced Congestion Control Better-Than- Best-Effort Forwarding Virtual Circuits Best-Effort Forwarding 1985 2005 2000 1995 1990 Resource Reservation (Multicast) Beyond this, everything has been up for grabs Beyond this, everything has been up for grabs Architecture, protocols, networking technologies, Architecture, protocols, networking technologies, …

Transcript of The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The...

Page 1: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

11

The Evolution of Quality-of-The Evolution of Quality-of-Service on the InternetService on the Internet

TheThe UNIVERSITY UNIVERSITY ofof NORTH CAROLINA NORTH CAROLINA atat CHAPEL HILL CHAPEL HILL

http://www.cs.unc.edu/Research/dirt

Kevin Kevin JeffayJeffay

Department of Computer ScienceDepartment of Computer Science

September 15,September 15, 20052005

22

The Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

•• The quality-of-service issue for the Internet has beenThe quality-of-service issue for the Internet has beendebated and researched for at least 20 yearsdebated and researched for at least 20 years

•• The goal has shifted but the assumed The goal has shifted but the assumed ““gold standardgold standard”” is isthe realization of virtual circuitsthe realization of virtual circuits

GuaranteedQoS

End-SystemAdaptation

to Congestion

Advanced Congestion

Control

Better-Than-Best-Effort Forwarding

VirtualCircuits

Best-EffortForwarding

1985 2005200019951990

Resource Reservation(Multicast)

•• Beyond this, everything has been up for grabsBeyond this, everything has been up for grabs

–– Architecture, protocols, networking technologies, Architecture, protocols, networking technologies, ……

Page 2: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

33

The Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

•• Architecture debates:Architecture debates: Internet centric Internet centric v.v. telephony centric telephony centric–– In-band versus out of band signalingIn-band versus out of band signaling

–– End-to-end service realization versus hop-by-hopEnd-to-end service realization versus hop-by-hop

•• Solve the problem above or below IP?Solve the problem above or below IP?–– Overprovisioning Overprovisioning versus intelligent resource reservationversus intelligent resource reservation

–– Protocol innovation versus traffic managementProtocol innovation versus traffic management

GuaranteedQoS

End-SystemAdaptation

to Congestion

Advanced Congestion

Control

Better-Than-Best-Effort Forwarding

VirtualCircuits

Best-EffortForwarding

1985 2005200019951990

Resource Reservation(Multicast)

44

1980

insufficientresources

1990 2000

Hardware resources in year X

Requirements

(performance,

scale)

abundantresources

sufficientbut scarceresources

QoS QoS on the Internet Todayon the Internet TodayWhatWhat’’s the problem?s the problem?

•• Do we need more bandwidth or just better managementDo we need more bandwidth or just better managementof the existing bandwidth?of the existing bandwidth?

Page 3: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

55

The Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

•• Tonight: A historical overview of the efforts to bring Tonight: A historical overview of the efforts to bring QoSQoSto the Internetto the Internet–– Visions, architectures, and protocolsVisions, architectures, and protocols

•• Take home messages:Take home messages:–– QoS QoS and true internetworking have yet to be marriedand true internetworking have yet to be married

–– But stay within a managed network and you can have it allBut stay within a managed network and you can have it all

–– Great research has been done but business practices are drivingGreat research has been done but business practices are drivingdeploymentdeployment

GuaranteedQoS

End-SystemAdaptation

to Congestion

Advanced Congestion

Control

Better-Than-Best-Effort Forwarding

VirtualCircuits

Best-EffortForwarding

1985 2005200019951990

Resource Reservation(Multicast)

66

PSTN

Do we have Do we have QoS QoS on on ““the Internetthe Internet””today?today?

•• Depends on who you ask!Depends on who you ask!

–– Any number of enterprise-levelAny number of enterprise-level voice over IP solutionsvoice over IP solutionsproviders will say providers will say ““yesyes””

–– So why is my So why is my skype skype phone not as good as my cell phone?phone not as good as my cell phone?((Do we care?)Do we care?)

AggregationAggregation

Switch/RouterSwitch/Router

Page 4: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

77

So what is the So what is the QoS QoS problem forproblem forthe Internet?the Internet?

•• QoS QoS is the ability to obtain assurances that performanceis the ability to obtain assurances that performancerequirements will be metrequirements will be met–– Throughput and delay are the biggiesThroughput and delay are the biggies

–– Loss and delay variation are derivative concernsLoss and delay variation are derivative concerns

•• Two dominant views:Two dominant views:–– Assurances can take the form of contractual guaranteesAssurances can take the form of contractual guarantees

((QoS QoS as a finely tunable service), oras a finely tunable service), or

–– Assurances Assurances represent the performance yourepresent the performance you’’d receive on and receive on anunloaded networkunloaded network((QoS QoS as a congestion control problem)as a congestion control problem)

•• Operational distinction:Operational distinction:

–– Do we need reservations or will congestion control andDo we need reservations or will congestion control andadaptation suffice?adaptation suffice?

88

The Early The Early QoS QoS DebatesDebatesThe Internet circa 1995The Internet circa 1995

•• Example: Performance ofExample: Performance ofProShareProShareTMTM transmissiontransmissionover the Internet (300 kbps)over the Internet (300 kbps)

–– Frozen videoFrozen video

–– Clipped, broken audioClipped, broken audio

Throughput (frames/sec) Packet Loss

Audio Latency (ms)

Audio

Video

Page 5: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

99

Throughput (frames/sec) Packet Loss

Audio Latency (ms)

Audio

Video

•• End-system adaptation canEnd-system adaptation canameliorate many of the effectsameliorate many of the effectsof congestionof congestion

–– But can it do so reliably orBut can it do so reliably orpredictably?predictably?

–– (And does it scale?)(And does it scale?)

The Early The Early QoS QoS DebatesDebatesAdaptation versus reservationAdaptation versus reservation

1010

The Integrated Services ArchitectureThe Integrated Services Architecturefor the Internet (INTSERV)for the Internet (INTSERV)

•• ““Integrated servicesIntegrated services”” introduces the concept of a introduces the concept of aservice modelservice model

–– A contract between a sender and the network for a particularA contract between a sender and the network for a particularquality of servicequality of service

•• Proposed service models:Proposed service models:

–– Guaranteed delay Guaranteed delay —— An application receives a guarantee An application receives a guaranteethat all packets will be delivered within a fixed delay boundthat all packets will be delivered within a fixed delay bound

–– Controlled loadControlled load —— Performance equivalent to that on an Performance equivalent to that on an““unloaded networkunloaded network””

–– BestBest--efforteffort —— Same old same old Same old same old

Page 6: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

1111

Realizing Guaranteed Delay ServiceRealizing Guaranteed Delay ServiceAxiomsAxioms

•• Resource reservation is requiredResource reservation is required

–– Network elements must maintain per-Network elements must maintain per-flow state information and use thisflow state information and use thisinformation to ensure applicationinformation to ensure applicationperformance contracts are metperformance contracts are met

•• Admission control is requiredAdmission control is required

–– To ensure performance contracts areTo ensure performance contracts aremet, network elements must ensuremet, network elements must ensurethey do not over commit their resourcesthey do not over commit their resources

•• Applications must be policedApplications must be policed

–– To ensure performance contracts areTo ensure performance contracts aremet, network elements must ensuremet, network elements must ensureapplications do not claim moreapplications do not claim moreresources than they contracted forresources than they contracted for

1212

•• To receive a service contract an application must specifyTo receive a service contract an application must specifythe service it requires and the traffic it will generatethe service it requires and the traffic it will generate

–– Canonical flow specification Canonical flow specification —— the token bucketthe token bucket

Transmissiontokens

!

RegulatorApplication

data

!

Network packets

!, !maxmax size

"

IETF traffic specification (TSpec)! average rate! token bucket depth! peak rate! maximum packet size! minimum policed unit

Realizing Guaranteed Delay ServiceRealizing Guaranteed Delay ServiceSpecifying and policingSpecifying and policing traffictraffic

Page 7: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

1313

PacketScheduler

•• EveryEvery router reserves and maintains state for router reserves and maintains state for everyeverynon-best-effort connectionnon-best-effort connection

RoutingRouting

RoutingRoutingDatabaseDatabase

Reservation & Traffic Control

Database

ReservationSetup

AdmissionControl

ClassifierClassifier

Inter-Inter-networknetwork

ISPISP

RouterRouter

ISPISP

RouterRouter

Realizing Guaranteed Delay ServiceRealizing Guaranteed Delay ServicePacket forwarding machineryPacket forwarding machinery

1414

RoutingRouting

Reservation & Reservation & Traffic ControlTraffic Control

DatabaseDatabase

RoutingRoutingDatabaseDatabase

ClassifierPacket

Scheduler

ClassifierPacket

Scheduler

•• ClassifierClassifier —— Maps all packets into one or more classes that Maps all packets into one or more classes thatreceive the same servicereceive the same service

•• Packet SchedulerPacket Scheduler —— Schedules packets for transmission so that Schedules packets for transmission so thatperformance contracts are enforcedperformance contracts are enforced

...

......

ReservationReservationSetupSetup

AdmissionAdmissionControlControl

Realizing Guaranteed Delay ServiceRealizing Guaranteed Delay ServicePacket forwarding machineryPacket forwarding machinery

Page 8: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

1515

ClassifierClassifierPacketPacket

SchedulerSchedulerRoutingRouting

RoutingRoutingDatabaseDatabase

Reservation & Reservation & Traffic ControlTraffic Control

DatabaseDatabase

ReservationSetup

AdmissionControl

•• Reservation setup protocolReservation setup protocol–– Mechanism by which flow-specific state is created andMechanism by which flow-specific state is created and

maintainedmaintained

•• Admission control procedureAdmission control procedure–– The decision procedure that is used to determine if a newThe decision procedure that is used to determine if a new

flow can be accepted or notflow can be accepted or not

Realizing Guaranteed Delay ServiceRealizing Guaranteed Delay ServicePacket forwarding machineryPacket forwarding machinery

1616

•• End systems must support the same logicalEnd systems must support the same logicalcomponentscomponents

–– A real-time chain is only as strong as its weakest linkA real-time chain is only as strong as its weakest link

ClassifierClassifierPacketPacket

SchedulerSchedulerRoutingRouting

RoutingRoutingDatabaseDatabase

Reservation & Reservation & Traffic ControlTraffic Control

DatabaseDatabase

ReservationReservationSetupSetup

AdmissionAdmissionControlControl

Realizing Guaranteed Delay ServiceRealizing Guaranteed Delay ServicePacket forwarding machineryPacket forwarding machinery

Page 9: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

1717

ClassifierClassifierPacketPacket

SchedulerSchedulerRoutingRouting

RoutingRoutingDatabaseDatabase

Reservation & Reservation & Traffic ControlTraffic Control

DatabaseDatabase

ReservationReservationSetupSetup

AdmissionAdmissionControlControl

Integrated Services ArchitectureIntegrated Services ArchitectureArchitectural componentsArchitectural components

•• Flow specificationsFlow specifications

•• RoutingRouting

•• Resource reservationResource reservation

•• Admission controlAdmission control

•• Packet schedulingPacket scheduling

1818

Issues in Resource ReservationIssues in Resource ReservationPoint-to-point communicationsPoint-to-point communications

•• GoalGoal: Establish a virtual circuit from H1 to H2: Establish a virtual circuit from H1 to H2–– Reserve Reserve ““resourcesresources”” in routers R1, R2, and R3 in routers R1, R2, and R3

•• Resources are...Resources are...

–– Link capacity on transmission linksLink capacity on transmission links

–– Buffer capacity in routers to hold packets in transitBuffer capacity in routers to hold packets in transit

–– CPU capacity at all routers to forward packets from H1 inCPU capacity at all routers to forward packets from H1 inreal-timereal-time

R1

R2

R3

H1H2

L1L2

L4L3

Page 10: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

1919

Resource Reservation ExampleResource Reservation ExampleST-II: Two pass reservation protocolST-II: Two pass reservation protocol

•• H1 sends a H1 sends a connectconnect message containing a message containing a flowspecflowspectowards H2towards H2–– The connect message is modified as needed by R1-R3The connect message is modified as needed by R1-R3

•• Upon receipt of the connect, H2 sends an Upon receipt of the connect, H2 sends an acceptaccept message messageback to H1back to H1

•• Reservations are made when routers receive the acceptReservations are made when routers receive the acceptmessagemessage

R1

R2

R3

H1H2

L1L2

L4L3

r: H1-H2

r: H1-H2

r: H1-H2

2020

•• What if the route from H1 to H2 changes?What if the route from H1 to H2 changes?

–– How will the application know that the route has changed?How will the application know that the route has changed?

R1

R2

R3

H1H2

L1L2

L4L3

R4

L5 L6

r: H1-H2

r: H1-H2

r: H1-H2

•• What level of integration between routing andWhat level of integration between routing andresource reservation is appropriate?resource reservation is appropriate?

Resource Reservation ExampleResource Reservation ExampleST-II: Two pass reservation protocolST-II: Two pass reservation protocol

Page 11: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

2121

•• Apply the point-to-point method recursively throughoutApply the point-to-point method recursively throughoutthe multicast treethe multicast tree

•• How do we handle differing link/router capacities?How do we handle differing link/router capacities?–– ST-II ST-II —— Reduce Reduce allall connections to the least common connections to the least common

denominatordenominator

R1

R2

R3

H3

H1H2

H5

H4

L7

L1L2

L8

L5

L4L3

R4

L6

L9

Issues in Resource ReservationIssues in Resource ReservationOne-to-many multicastOne-to-many multicast

2222

Issues in Resource ReservationIssues in Resource ReservationOne-to-many multicastOne-to-many multicast

•• How do we add/delete new users?How do we add/delete new users?

R1

R2

R3

H3

H1H2

H5

H4

L7

L1L2

L8

L5

L4L3

R4

L6

L9

H6

–– ST-II ST-II —— Source re-executes the reservation protocol Source re-executes the reservation protocolwith all receiverswith all receivers

Page 12: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

2323

•• H1 and H3 independently reserve resourcesH1 and H3 independently reserve resources

•• How can we avoid over-reserving resources?How can we avoid over-reserving resources?

R1

R2

R3

H3

H1H2

H5

H4

L7

L1L2

L8

L5

L4L3

R4

L6

L9

Issues in Resource ReservationIssues in Resource ReservationOne-to-many multicastOne-to-many multicast

2424

Simple Resource ReservationSimple Resource ReservationSummarySummary

•• Guaranteed service requires integration of resourceGuaranteed service requires integration of resourcereservation with routingreservation with routing

•• Sender-initiated reservations do not scaleSender-initiated reservations do not scale

–– Protocol overhead at sender becomes a bottleneckProtocol overhead at sender becomes a bottleneck

–– Difficult to accommodate heterogeneous receiversDifficult to accommodate heterogeneous receivers

–– Low utilization of network links may result from overlyLow utilization of network links may result from overlyconservation reservationsconservation reservations

R1

R2

R3

H1H2

L1L2L4

L3

R4

L5 L6

Page 13: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

2525

RSVPRSVPA receiver initiated reservation protocolA receiver initiated reservation protocol

•• Receivers initiate reservationsReceivers initiate reservations–– Receivers know what bandwidth they want or can handleReceivers know what bandwidth they want or can handle

–– Places burden of joining/leaving on the involved receiverPlaces burden of joining/leaving on the involved receiver

–– Admits the possibility of optimizing reservations in routers &Admits the possibility of optimizing reservations in routers &switches through aggregationswitches through aggregation

•• Reservation state in routers is Reservation state in routers is ““softsoft”” and must be and must beperiodically refreshedperiodically refreshed

R1

R2

R3

H3

H1H2

H5

H4

L7

L1L2

L8

L5

L4L3

R4

L6

L9

2626

The Integrated Services ArchitectureThe Integrated Services ArchitectureAhead of its time or fatally flawed?Ahead of its time or fatally flawed?

ISPISP

RouterRouter

ISPISP

RouterRouter

FCFSFCFSSchedulerScheduler

PacketSchedulerRoutingRouting

RoutingRoutingDatabaseDatabase

Reservation & Traffic Control

Database

ReservationSetup

AdmissionControl

ClassifierClassifier

Inter-Inter-networknetwork

Page 14: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

2727

•• Guarantees requires per-flow state in every router andGuarantees requires per-flow state in every router andswitchswitch

–– And guarantees were only modulo route changesAnd guarantees were only modulo route changes

•• Algorithmic complexity of reservations and scheduling isAlgorithmic complexity of reservations and scheduling isnon-trivialnon-trivial

•• Absent a pricing model, why would service providersAbsent a pricing model, why would service providersimplement this?implement this?

–– Why would providers do this when they can provide these servicesWhy would providers do this when they can provide these servicesbelow IP?below IP?

The Integrated Services ArchitectureThe Integrated Services ArchitectureAhead of its time or fatally flawed?Ahead of its time or fatally flawed?

FCFSFCFSSchedulerScheduler

PacketSchedulerRoutingRouting

RoutingRoutingDatabaseDatabase

Reservation & Traffic Control

Database

ReservationSetup

AdmissionControl

ClassifierClassifier

2828

•• The Internet is evolving to support quality-of-serviceThe Internet is evolving to support quality-of-service–– Capacity allocation & inter-flow protection are required for Capacity allocation & inter-flow protection are required for QoSQoS

•• The current mechanisms for realizing The current mechanisms for realizing QoS QoS are moreare moreabout router queue management than virtual circuitsabout router queue management than virtual circuits

•• In the best case, the Internet of tomorrow will provideIn the best case, the Internet of tomorrow will providerouter router ““forwarding behaviorsforwarding behaviors”” rather than end-to-end rather than end-to-end““servicesservices””

The Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

GuaranteedQoS

End-SystemAdaptation

to Congestion

Advanced Congestion

Control

Better-Than-Best-Effort Forwarding

VirtualCircuits

Best-EffortForwarding

1985 2005200019951990

Resource Reservation(Multicast)

Page 15: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

2929

Towards a Better-Than-Best-EffortTowards a Better-Than-Best-EffortServiceService

•• So if guarantees areSo if guarantees are““too much,too much,”” what what’’ss““just enoughjust enough””??

•• The IETF The IETF controlledcontrolledloadload service service–– A service thatA service that

approximates theapproximates theservice a flow wouldservice a flow would

PacketSchedulerRoutingRouting

RoutingRoutingDatabaseDatabase

ReservationDatabase

ReservationSetup

AdmissionControl

ClassifierClassifier

ISPISP

RouterRouter

–– A (very) high percentage of transmitted packets will be deliveredA (very) high percentage of transmitted packets will be delivered

–– A high percentage of transmitted packets will experience a transitA high percentage of transmitted packets will experience a transitdelay not significantly greater then the minimum transit delaydelay not significantly greater then the minimum transit delayexperienced by any packetexperienced by any packet

receive under receive under ““unloadedunloadedconditionsconditions”” in the network in the network

•• In a controlled load service,In a controlled load service,applications can assume:applications can assume:

3030

EgressEgress

RouterRouter

ISPISP

Towards a Better-Than-BE ServiceTowards a Better-Than-BE ServiceArchitectural principlesArchitectural principles

Marking

EgressEgress

RouterRouter

CampusCampus

IngressIngress

RouterRouter

ISPISP

Shaping

Policing

Marking

IngressIngress

RouterRouter

ISPISP

•• Shift in emphasis from per-flow contracts to per-aggregateShift in emphasis from per-flow contracts to per-aggregatecontracts (contracts (““SLAsSLAs””))

–– All state is maintained at the edges of the networkAll state is maintained at the edges of the network–– No new state inside a providerNo new state inside a provider’’s networks network

•• A campus aggregates traffic that conforms to a A campus aggregates traffic that conforms to a ““serviceserviceprofileprofile””

Page 16: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

3131

IngressIngress

RouterRouter

ISP 2ISP 2

Policing

Marking

EgressEgress

RouterRouter

ISPISP

Marking

Shaping

Marking

EgressEgress

RouterRouter

CampusCampus

Shaping

Policing

Marking

•• An ISP policies marked traffic to ensure its complianceAn ISP policies marked traffic to ensure its compliancewith the profilewith the profile

•• An end-user must be able to verify the actual performanceAn end-user must be able to verify the actual performanceit receivesit receives

•• Service agreements stitched together from bilateralService agreements stitched together from bilateralagreementsagreements

Towards a Better-Than-BE ServiceTowards a Better-Than-BE ServiceArchitectural principlesArchitectural principles

IngressIngress

RouterRouter

ISPISP

IngressIngress

RouterRouter

ISPISP

3232

Towards a Better-Than-BE ServiceTowards a Better-Than-BE ServiceTheThe ““expected capacityexpected capacity”” service service

EgressEgress

RouterRouter

•• ISPs allocate capacity for marked flowsISPs allocate capacity for marked flows

•• Campus marks packets for Campus marks packets for ““regularregular”” or or ““assuredassured”” service service

•• A A policer policer checks arriving flows compliance against profilechecks arriving flows compliance against profile

–– Conformant Conformant ““in profilein profile”” packets forwarded unchanged packets forwarded unchanged

–– Non-conformant Non-conformant ““out of profileout of profile”” packets demoted to best-effort packets demoted to best-effort

"in

!inIn-Profile

Unmarked/

Out-of-Profile

MarkedPackets

!

UnmarkedPackets

IngressIngress

RouterRouter

ISPISP

Page 17: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

3333

•• On the Internet today, packet loss isOn the Internet today, packet loss isthe end-systemthe end-system’’s only indication of congestions only indication of congestion

•• As switchAs switch’’s queues overflow, arriving packets are droppeds queues overflow, arriving packets are dropped–– ““Drop-tailDrop-tail”” FIFO queuing is the default FIFO queuing is the default

•• TCP end-systems detect loss and respond by reducingTCP end-systems detect loss and respond by reducingtheir transmission ratetheir transmission rate

P1 P2 P3FCFSFCFS

SchedulerScheduler

RouterRouter

The Expected Capacity ServiceThe Expected Capacity ServiceDigression: Router based congestion controlDigression: Router based congestion control

3434

P1 P2 P3 P4 P5 P6

FCFSFCFSSchedulerScheduler

Router-Based Congestion ControlRouter-Based Congestion ControlActive queue management (AQM)Active queue management (AQM)

•• Key concept: Drop packets Key concept: Drop packets beforebefore a queue overflows to a queue overflows tosignal signal incipientincipient congestion to end-systems congestion to end-systems

•• Basic mechanism: When the queue length exceeds aBasic mechanism: When the queue length exceeds athreshold, packets are probabilistically droppedthreshold, packets are probabilistically dropped

Enqueue

Flip a coin

•• Random Early DetectionRandom Early Detection (RED) AQM: (RED) AQM:–– AlwaysAlways enqueue enqueue if queue length less than a low-water markif queue length less than a low-water mark

–– Always drop if queue length is greater than a high-water markAlways drop if queue length is greater than a high-water mark

–– Probalistically Probalistically drop/drop/enqueue enqueue if queue length is in betweenif queue length is in between

P1 P2 P3 P4 P5 P6

FCFSFCFSSchedulerScheduler

Enqueue

Always dropFlip acoin

Page 18: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

3535

Active Queue ManagementActive Queue ManagementThe RED AlgorithmThe RED Algorithm

TimeTime

MaxMaxqueue lengthqueue length

MinMinthresholdthreshold

DropDropprobabilityprobability

No dropNo drop

MaxMaxthresholdthreshold

Forced dropForced drop

ProbabilisticProbabilisticearly dropearly drop

Router queue lengthRouter queue length

Weighted average queue lengthWeighted average queue length

•• RED computes a weighted moving average of queueRED computes a weighted moving average of queuelength to accommodatelength to accommodate bursty bursty arrivalsarrivals

•• Drop probability is a function of the current averageDrop probability is a function of the current averagequeue lengthqueue length–– The larger the queue, the higher the drop probabilityThe larger the queue, the higher the drop probability

3636

Drop probabilityDrop probability

WeightedWeightedAverageAverageQueue LengthQueue Length

100%100%

minminthth maxmaxthth

maxmaxpp

TimeTime

MaxMaxqueue lengthqueue length

MinMinthresholdthreshold

DropDropprobabilityprobability

No dropNo drop

MaxMaxthresholdthreshold

Forced dropForced drop

ProbabilisticProbabilisticearly dropearly drop

Router queue lengthRouter queue length

Weighted average queue lengthWeighted average queue length

Active Queue ManagementActive Queue ManagementThe RED AlgorithmThe RED Algorithm

Page 19: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

3737

The Expected Capacity ServiceThe Expected Capacity ServiceRED with In/Out (RIO)RED with In/Out (RIO)

•• Ingress router runs two RED packet droppers in parallelIngress router runs two RED packet droppers in parallel–– Apply Apply ““harsh REDharsh RED”” to out-of-profile packets & unmarked packets to out-of-profile packets & unmarked packets

–– Apply Apply ““lenient REDlenient RED”” to in-profile packets to in-profile packets

EgressEgress

RouterRouter

ISPISP

FCFSSchedulerClassifier

In-Profile

RED

Out-of-Profile

RED

EgressEgress

RouterRouter

CampusCampus!

IngressIngress

RouterRouter

ISPISP

3838

The Expected Capacity ServiceThe Expected Capacity ServiceRED with In/Out (RIO)RED with In/Out (RIO)

•• Under RIO, in-profile marked traffic can alwaysUnder RIO, in-profile marked traffic can alwaysoccupy at least occupy at least minminthth_in_in queue locationsqueue locations

•• Thus in-profile traffic is allocated at least bandwidthThus in-profile traffic is allocated at least bandwidth

where where CC is the link capacity and is the link capacity and PP is the average packet is the average packetsizesize

Bin = P x minth_in

CP x maxth_out

FCFSSchedulerClassifier

In-Profile

RED

Out-of-Profile

RED

Page 20: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

3939

The Expected Capacity ServiceThe Expected Capacity ServiceIssuesIssues

•• Specification of the expected capacitySpecification of the expected capacity

–– Specification for individual flows or aggregatesSpecification for individual flows or aggregates

•• Specification of the end-point of the serviceSpecification of the end-point of the service

–– How can a flow ensure that it gets bandwidth to theHow can a flow ensure that it gets bandwidth to thenetwork it desires?network it desires?

•• Is one service model enough?Is one service model enough?

–– Expected capacity service is primarily a throughput serviceExpected capacity service is primarily a throughput service

–– How about a service for latency sensitive applications?How about a service for latency sensitive applications?

4040

Out-of-Profile

RED

The Expected Capacity ServiceThe Expected Capacity ServiceRealizing a Realizing a ““premiumpremium”” service service

•• The RIO scheme can be extended to provide aThe RIO scheme can be extended to provide apremium servicepremium service

–– Can also be made more resilient to unresponsive flowsCan also be made more resilient to unresponsive flows

FCFSSchedulerClassifier

In-Profile

RED

IngressIngress

RouterRouter

ISPISP

EgressEgress

RouterRouter

ISPISP

EgressEgress

RouterRouter

CampusCampus

RegulatorNon-TCP

Traffic

Page 21: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

4141

•• Specification of the expected capacitySpecification of the expected capacity

–– Specification for individual flows or aggregatesSpecification for individual flows or aggregates

•• Specification of the end-point of the serviceSpecification of the end-point of the service

–– How can a flow ensure that it gets bandwidth to theHow can a flow ensure that it gets bandwidth to thenetwork it desires?network it desires?

•• Is one service model enough?Is one service model enough?

–– Assured service is primarily a throughput serviceAssured service is primarily a throughput service

–– How about a service for latency sensitive applications?How about a service for latency sensitive applications?

The Expected Capacity ServiceThe Expected Capacity ServiceIssuesIssues

4242

The The ““Two BitTwo Bit”” Architecture ArchitectureThe The ““expedited forwardingexpedited forwarding”” service service

•• ISPs allocate and sell capacity for a ISPs allocate and sell capacity for a ““premiumpremium”” service service

–– Packets are marked and policed according to a service profilePackets are marked and policed according to a service profile

•• Premium service is realized by simple priority schedulingPremium service is realized by simple priority scheduling

EgressEgress

RouterRouter

ISPISP

Marking

EgressEgress

RouterRouter

CampusCampus

Shaping

PrioritySchedulerClassifier

IngressIngress

RouterRouter

ISPISP

High

Low

Page 22: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

4343

The The ““Two BitTwo Bit”” Architecture ArchitectureExpedited and assured servicesExpedited and assured services

•• The The assuredassured (expected capacity) service is easily (expected capacity) service is easilysupported within the low priority queuesupported within the low priority queue–– Packets are marked and policed according to service profilesPackets are marked and policed according to service profiles

as beforeas before

•• Thus two bits can be used to mark trafficThus two bits can be used to mark traffic

PrioritySchedulerClassifier

Premium marked traffic

Assured

marked traffic

Out-of-Profile

RED

In-Profile

RED

Unmarked best-

effort traffic

4444

Assured and Expedited ServiceAssured and Expedited ServiceComparisonComparison

EgressEgress

RouterRouter

!in

Unmarked/

Out-of-Profile

IngressIngress

RouterRouter

ISPISP

!

UnmarkedPackets

In-Profile Assured

AssuredMarkedPackets

•• The difference between The difference between assuredassured and and expeditedexpeditedservices is in the way in capacity is allocated and inservices is in the way in capacity is allocated and inthe way flows are policedthe way flows are policed–– Assured capacity is provisioned/policed according toAssured capacity is provisioned/policed according to

expected demandexpected demand

–– Premium capacity is provisioned/policed according to peakPremium capacity is provisioned/policed according to peakdemanddemand

Page 23: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

4545

EgressEgress

RouterRouter!in

Out-of-Profile

Premium

IngressIngress

RouterRouter

ISPISP

!

In-Profile

Premium

PremiumMarkedPackets

Assured and Expedited ServiceAssured and Expedited ServiceComparisonComparison

EgressEgress

RouterRouter

!in

Unmarked/

Out-of-Profile

!

UnmarkedPackets

In-Profile Assured

AssuredMarkedPackets

IngressIngress

RouterRouter

ISPISP

4646

•• Specification of the expected capacitySpecification of the expected capacity

–– Specification for individual flows or aggregatesSpecification for individual flows or aggregates

•• Specification of the end-point of the serviceSpecification of the end-point of the service

–– How can a flow ensure that it gets bandwidth to theHow can a flow ensure that it gets bandwidth to thenetwork it desires?network it desires?

•• Is one service model enough?Is one service model enough?

–– Assured service is primarily a throughput serviceAssured service is primarily a throughput service

–– How about a service for latency sensitive applications?How about a service for latency sensitive applications?

The Expected Capacity ServiceThe Expected Capacity ServiceIssuesIssues

Page 24: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

4747

Bandwidth AllocationBandwidth AllocationSignaling issuesSignaling issues

IngressIngress

RouterRouter

ISP 2ISP 2

Policing

Marking

EgressEgress

RouterRouter

ISPISP

Marking

Shaping

Marking

EgressEgress

RouterRouter

CampusCampus

IngressIngress

RouterRouter

ISPISP

Shaping

Policing

Marking

IngressIngress

RouterRouter

ISPISP

•• Our conceptual model to date is that ISPs staticallyOur conceptual model to date is that ISPs staticallyconfigure themselves to offer better-than-best-effortconfigure themselves to offer better-than-best-effortservices between themselvesservices between themselves

•• End-to-end services realized through bilateralEnd-to-end services realized through bilateralagreementsagreements

4848

IngressIngress

RouterRouter

ISP 2ISP 2

Policing

Marking

EgressEgress

RouterRouter

ISPISP

Marking

Shaping

Marking

EgressEgress

RouterRouter

CampusCampus

IngressIngress

RouterRouter

ISPISP

Shaping

Policing

Marking

IngressIngress

RouterRouter

ISPISP

•• Issues:Issues:

–– Identifying flows that are authorized to receive servicesIdentifying flows that are authorized to receive services

–– Communicating and managing state information inCommunicating and managing state information inborder routersborder routers

–– Coordinating bandwidth allocation in neighboringCoordinating bandwidth allocation in neighboringnetworksnetworks

Bandwidth AllocationBandwidth AllocationSignaling issuesSignaling issues

Page 25: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

4949

Bandwidth AllocationBandwidth AllocationBandwidth brokersBandwidth brokers

Marking

EgressEgress

RouterRouter

BellSouthBellSouth

IngressIngress

RouterRouter

UNCUNC

Shaping

Policing

Marking

•• ““Bandwidth brokersBandwidth brokers”” allocate premium/assured allocate premium/assuredbandwidth on the campus and control egress router(s)bandwidth on the campus and control egress router(s)

–– Assume some signaling protocol exists (Assume some signaling protocol exists (e.g.e.g., RSVP), RSVP)

B B

Leaf

Router

Leaf

Router

Leaf

Router

KJ@home -> cs.unc

Premium @128 Kbps

9pm-12am Sun-Fri

<signature>

KJ@home -> cs.unc

Premium @128 Kbps

P

5050

•• The IETF is standardizing a set of The IETF is standardizing a set of ““router behaviorsrouter behaviors””

–– Called Called ““per hop forwarding behaviorsper hop forwarding behaviors”” ( (PHBsPHBs))

•• Two main Two main PHBsPHBs::

–– Assured forwarding (AF)Assured forwarding (AF)

–– Expedited forwarding (EF)Expedited forwarding (EF)

•• These are part of a larger framework called theThese are part of a larger framework called thedifferentiated services architecture for the Internetdifferentiated services architecture for the Internet((diffservdiffserv))

The Expected Capacity ServiceThe Expected Capacity ServiceWhere is all this going?Where is all this going?

Page 26: The Evolution of Quality-of- Service on the Internetjeffay/talks/QoS-Evolution-9-05.pdf · The Evolution of Quality-of-Service on the Internet ¥Tonight: A historical overview of

5151

Differentiated ServicesDifferentiated ServicesWhen will we see this stuff deployed?When will we see this stuff deployed?

Abilene Premium Service Test Program Launched

April 11th, 2000 - Armonk, NY - To support the QBone, an interdomain

quality of service (QoS) testbed initiative sponsored by Internet2,

Internet2 announced at the recent Spring 2000 Internet2 Member

Meeting the launch of the Abilene Premium Service (APS) test program.

...

The Qbone/Abilene Premium Service aims to provide a low-loss, low-

jitter service to advanced applications. Typically, these are real-

time applications that support either human-to-human collaborations

or human-to-machine remote control, and demand a level of

interactivity that imposes stringent worst-case delay, jitter, and

loss requirements on the underlying network service.

...

The Abilene Premium Service is built on the Expedited Forwarding (EF)

per-hop behavior defined by the IETF Differentiated Services working

group. The basic packet conditioning and forwarding service is

complemented by a measurement infrastructure which will provide

detailed QoS performance data to support end-to-end debugging and

analysis of QoS-enabled paths.

...

5252

•• Capacity allocation & isolation are required for better-Capacity allocation & isolation are required for better-than best effort servicesthan best effort services

–– But it need not be on a per-flow basis (maybe!)But it need not be on a per-flow basis (maybe!)

•• Key principle: Keep state only at the edges of the networkKey principle: Keep state only at the edges of the network

•• Research community has focused on standardizingResearch community has focused on standardizing““forwarding behaviorsforwarding behaviors”” rather than rather than ““servicesservices””

The Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

GuaranteedQoS

End-SystemAdaptation

to Congestion

Advanced Congestion

Control

Better-Than-Best-Effort Forwarding

VirtualCircuits

Best-EffortForwarding

1985 2005200019951990

Resource Reservation(Multicast)