1CSE 123bCSE 123bCommunications SoftwareCommunications SoftwareSpring 2002Spring 2002Lecture 10: Quality of ServiceLecture 10: Quality of ServiceStefan SavageStefan SavageMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 2Today’s class:Today’s class:Quality of ServiceQuality of Servicez What’s wrong with “Best Effort” service?z What kinds of service do applications need?z Integrated services architecturez Differentiated service architectureMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 3The Problem(s)The Problem(s)z Best effort service model (send and pray) ◆ Statistical multiplexing provides efficient use of bandwidth forbursty applications, but…◆ No isolation during contentionz Smart hosts-dumb routers architecture◆ Congestion control at end-hosts◆ Resource control feedback occurs slowly (min 1 RTT)◆ Must trust end hosts to behave wellMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 4z Playback is a real-time service in the sense that the audio must be received by a deadline to be usefulz Real-time apps need assurances from the networkz Q: What assurances does playback require?MicrophoneSpeakerSampler,A D converterBuffer,D AMotivation: MultimediaMotivation: MultimediaVariable bandwidth and delay (jitter)InternetMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 5Network Support for PlaybackNetwork Support for Playbackz Bandwidth◆ There must be enough on average◆ But we can tolerate to short term fluctuationsz Delay◆ Ideally it would be fixed◆ But we can tolerate some variation (jitter)z Loss◆ Ideally there would be none◆ But we can tolerate some lossesMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 6123Packets (%)90% 97% 98% 99%150 20010050Delay (milliseconds)Example: Delay and JitterExample: Delay and Jitter2May 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 7z Buffer before playout so that most late samples will have arrivedSequence numberPacketgenerationNetworkdelayBufferPlaybackTimePacketarrivalTolerating Jitter with Tolerating Jitter with BufferingBufferingMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 8Application requirementsApplication requirementsz Application variations ◆ Rigid – fixed playback point (low jitter)◆ Adaptive – application can vary playback point (jitter ok)◆ Tolerant – can tolerate interrupt/degradation◆ Intolerant – can’tz In reality only two classes◆ Rigid and intolerant applications (e.g. telemedicine)◆ Adaptive and tolerant (e.g. RealPlayer)May 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 9Another way to look at it...Another way to look at it...UtilityDelay-adaptiveBandwidthUtilityHard real-timeBandwidthBandwidthElasticUtilityMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 10The Integrated Services solutionThe Integrated Services solutionz Change service model◆ Multiple service classes; service specification◆ Guaranteed (send and pay), predicted, best-effort◆ Network directly supports per-application service requestsz Change implementation◆ Hosts explicitly reserve network capacity ◆ Routers implement admission control◆ Routers use explicit scheduling mechanisms to provide isolation between admitted flows◆ Requires per-flow stateMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 11IntservIntservcomponentscomponentsz Service classes◆ What are application demands?◆ What should the network promise?◆ What does the application promise?z Service interface◆ How are service requirements described?z Service mechanisms◆ How are service guarantees enforced?May 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 12Service interfaceService interfacez Specify service classz Specify “flowspec” for application data flow◆ Tspec: describes the flow’s traffic characteristics» Average bandwidth + burstiness◆ Rspec: describes the service requested from the network» Delay targetz Send request to network◆ Network can say “no”◆ If network says yes, then try to make sure it happens3May 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 13Token BucketsToken Bucketsz Common, simple descriptorz Use tokens to send bitsz Average bandwidth is R bpsz Maximum burst is B bitsFill rate R tokens/secBucket sizeB tokensSendingdrainstokensMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 14Service mechanismsService mechanismsz Admission control protocol◆ RSVPz Shaping/policing◆ Making sure that everyone only sends as much as they requestedz Per-flow scheduling policy in routers◆ Fair Queuing» Each flow gets equal access to bandwidth◆ Weighted Fair Queuing» Each flow gets access to bandwidth proportional to weightMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 15Using Token bucket Using Token bucket traffic conditioningtraffic conditioningz Operation◆ Token bucket size: b (maximum number of tokens)◆ Token bucket rate: r (rate at which new tokens are provided)z Need k tokens to send a packet of k bytesz Applications◆ Shaping (delay packets until k tokens appear)» Long term rate is limited to r, short term bursts to b» Over some interval T, traffic is limited to b+r*T◆ Policing (drop packets if insufficient tokens)◆ Buffer management (mark packets and transmit if > k)» Drop marked (i.e. out-of-spec) packets during congestionMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 16Token Bucket OperationToken Bucket OperationTokensPacketOverflowTokens TokensPacketEnough tokens Æpacket goes through,tokens removedNot enough tokens Æ wait for tokens to accumulateMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 17New elements in the routerNew elements in the routerAdmission ControlData InData OutControl PlaneData PlaneSchedulerRouting Routing MessagesRSVP messagesClassifierRSVPRoute LookupForwarding TablePer Flow QoS TableMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 18Integrated Services Integrated Services ExampleExampleSenderReceiverz Example: guarantee 1MBps and < 100 ms delay to a flow4May 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 19Integrated Services Integrated Services ExampleExampleSenderReceiverz Allocate resources - perform per-flow admission controlMay I?Yes, you may.May 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 20Integrated Services Integrated Services ExampleExampleSenderReceiverz Install per-flow stateMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 21SenderReceiverz Install per flow stateIntegrated Services Integrated Services ExampleExampleMay 8, 2002 CSE 123b -- Lecture 8 – IP Multicast 22Integrated Services
View Full Document