Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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, ……
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?
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
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
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
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
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
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
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
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
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
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
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
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)
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””
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
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
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
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
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
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
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
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
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
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?
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)