Loading

Module 1: Internet QoS

Notes
Study Reminders
Support
Text Version

Internet QoS: Introduction

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Internet QoS: Introduction
Welcome back to the course on Computer Networks and Internet Protocols. So, today wewill we are going to start a new topic which we call as tje Network Quality of Service.So, in this introductory lecture of the internet quality of service we will first look intowhat is quality of service, and what do we require quality of service. Indeed in today’snetwork quality of service is an very important topic because, nowadays we are going touse different kind of multimedia data and multimedia traffic like we use mobile phones,and in mobile phones we have thousands of different apps or applications which arerunning there. And we do different kind of multimedia based applications like thisYouTube app like Facebook life then this Hotstar, Netflix all these different type ofapplications which use multimedia streaming of data.So, this streaming data the nature of streaming data is much different compared to thenature of normal file transfer. Why? Because in case of normal file transfer, you just needto transfer the bytes at the bits at the other end and in the other end, you can just combineall the bits all together whenever you are receiving, or whether you have received all thebits and then you can reconstruct the file.But in case of multimedia streaming say just think of the example, of YouTube streamingsay for example, when you are watching this video during that time the data is comingover the internet. So, and you are playing it simultaneously, so do not think about theoffline video downloading that is a different ballgame that is similar to that file transfer,you are just transferring the video file and playing it offline. But whenever you areplaying it online over say YouTube, during that time from the YouTube server to yourclient which is running at your browser, the video data is getting transmittedcontinuously, and by the time this video data is getting transmitted, during the same timeyou are playing the video. And, many of the time I think you have observed thatwhenever your network quality is poor you do not have sufficient bandwidth, you mayobserve for degradation of the video quality. Suddenly you will see that, the videoquality is getting dropped or sometime you may observe some events what we call as there-buffering. So, what happens that the video got stuck and you keep on seeing thecircular thing that is rounding about for trying to download the video data.Now, for this kind of video transmission we need to maintain certain level of quality ofservice. Quality of service in the sense that what the other end or the client side isexpecting from the internet. So, here in case of this YouTube video streaming the clientside the YouTube client it is expecting a continuous stream of videos such that it canrender the videos directly on the player and play the video without having this kind ofquality drop or re-buffering. So, that is why or to ensure such kind of application qualitywe need to provide certain special services at the internet level.Now, remember that providing this kind of special service over the internet requiressomething like a dedicated line or a dedicated resource that is given to you. So, do notget confused over the fact that while you are observing the videos over YouTube whyyou are not able to see properly whenever your video is getting bandwidth, wheneveryour network bandwidth is getting dropped or whenever you see some qualitydegradation. That is because your network bandwidth on which you are currentlysubscribed that does not provide that kind of service level agreement, that you require toget the network quality of service.Now, today we will look into briefly that what type of quality of service parameters arerequired for this kind of smooth video streaming, or to improve the quality of service orin other words sometimes we call it as quality of experience. The, what term quality ofexperience actually indicates the users perceived quality of particular applications. Forexample, how good you are thinking about the video streaming service or the quality ofthe video that you are observing in YouTube.So, on that the network need to provide certain services. So, that you can look into thosevideos more smoothly and; obviously, for that you have to pay more to your networkservice provider, and you have to go for an agreement with your network serviceprovider that you require these particular types of video quality of service. And thenetwork service provider should provide you that level of quality of service. So, thisgives you a kind of broad overview of what quality of service actually means. Now let usgo into the details of different parameters, which we need to play with while providingquality of service to the end users from the network perspective and how we can insure itover a large internet.Indeed in the beginning of the lecture let me give you an information that, in today’sinternet providing quality of service is indeed a very challenging task considering thescale of the network. So, that is why we actually apply certain kind of approximationthere and you will never get a perfect quality of service unless you have a dedicated leastline connection, where you are getting the entire bandwidth. But, for a general internetfor a general data transfer over the internet we try to provide certain level of quality ofservice. So, let us look into the details of this particular topic.And ifthere is congestion in the network then only it acts or it updates its sending rate, to avoidthe congestion from the network.Now, the question comes that if there is still a possibility of congestion in the networkhow this congestion impact the network performance. So, we look into four specificparameters on top that impact the network performance, when there are congestion in thenetwork the first parameter is the network Bandwidth. Obviously, whenever thecongestion is there you are expecting less bandwidth from the network, because the samebottleneck (Refer Time: 08:58) bandwidth is getting shared by multiple applications.The second parameter is the delay. We will look into the different components of delay indetails and we will see that whenever the congestion is there in the network, during thattime, that delay gets impacted like if there is a congestion, that means, the packet need towait for more amount of time in the packet buffer. Because the packet needs to wait formore amount of time in the packet buffer, you will experience that the packet will betransmitted, with a higher delay because the queuing delay the time to wait inside thequeues at intermediate routers that get gets increased.The third parameter which we are going to talk about we call it jitter. So, possibly youhave heard about this term bandwidth and delay earlier, but jitter may be a new term foryou. So but in respective of quality of service jitter is a very important parameter. So,what is jitter? So, jitter is basically the variance of delay. So, we call the variance ofdelay as the jitter. So, what do you mean by variance of delay? So, variance of delaymeans assume there are two packets, which are coming from the or which are goingthrough the network. So, whenever there are two packets which are going to the network.(Refer Slide Time: 10:24)So, assume that these are the sequences of packets, which are being transferred over thenetwork. Now, individual packets will have individual delay. So, say this first packet hasa delay of 10 millisecond; that means, you have a source here you have a destination hereand from this source to destination there are multiple routers, and over that you aretransferring this packets. Now, whenever you are transferring this packet during that timethese different packets may have different delay. So, said this packet has 10 milliseconddelay this packet has say 15 millisecond delay then this packet has say 6 milliseconddelay and this packet expect some say 2 millisecond delay.Now, why this there is a variance here? So, what you can see from here that the varianceof delay among those four packets is significant like it the maximum delay is somethinglike 15 millisecond and the minimum delay is something like 2 millisecond and, whythere can be variance? Because different packets may experience different level ofcongestion at the intermediate routers.So, it may happen that whenever this first two or three packets who are gettingtransmitted, during that time you have the congestion in the network and as a result dueto this congestion the packets have experienced more waiting time inside the packetqueues at this intermediate routers. But this last packet it came out of the congestion andbecause it was able to came out of the congestion true the TCP congestion controlalgorithm which is running at the transport layer. So, maybe at this point of time TCP hasexperienced or TCP has found out a packet loss, and whenever TCP has found out apacket loss, TCP has reduced it rate and as the TCP has reduced it rate, the congestionwill slowly get out of the network, and you will see less delay. But this delay variationamong multiple packets that actually impact the performance of the quality of videostreaming services.Now, the question comes that how it impacts the quality of video streaming services. Justthink of the scenario when you are observing a video in a YouTube player and duringthat time, every data packet is coming one after another that is getting buffered inside theclient buffer that you have at the YouTube player and then the YouTube player isrendering that video.Now, if different packets has different delay then, the problem is comes for the livestreaming. So, for the live streaming what happens whatever I am doing here or whateverI am say recording here that is getting streamed immediately. So, currently you areobserving something called a buffer streaming because the video has been recorded andyou are getting the video from the video server, but if there is a live streaming sessionjust think of an NPTEL live streaming session which is going on.Now, in that live streaming session, whenever some video is getting recorded,immediately that video is getting transferred. And that video is getting played in theYouTube player where you are being observed. Now if different data packets hasdifferent amount of delay, what will happen? Some packets will reach there at the clientside and the client will play it then the next packet comes. So, the next packet has see ahigher delay. So, the client wait for some amount of time and place it again that thirdpacket say it comes very fast. So, the client plays it immediately the fourth packet gets ahigher delay, and there is a delay in playing that particular video and as a result whathappens that at the client side you will see lots of this kind of jerkiness in quality.So, the quality some time it good becomes good some time there is a it is waiting for thenext video frame, but it is not getting that, after that it is again immediately getting theframe, then again there is a delay. So, you will see a lots of jerkiness in the quality levelbecause the data which is coming from the server it is not coming at a constant bitrate itis coming in a variable bitrate and thats too at a high variation. So, that is why jitter isindeed important for ensuring quality of service. So, that we do not see lots of up anddowns in video quality.So, in that particular context or that particular perspective jitter is an important parameterfor consideration and the final parameter is the packet loss. So it triggers that how muchpacket loss the a particular video streaming service or a particular quality of serviceassociated application can sustain. So, certain application they can sustain a level ofquality of service, but for some other application say for the voice application loss is avery important parameter. So if you have a significant amount of packet loss you will notbe able to hear the voice correctly, if you are transferring the voice over the normal IPnetwork data. Now, we will look into all these individual parameters in little details so.(Refer Slide Time: 15:55)OK. So first let us look into the network bandwidth. So, by definition as you know thatthe network bandwidth is the amount of data that can be transmitted over a link within afixed amount of time. Now network bandwidth is something like we do not have muchcontrol over that. So, I actually liked very much this line by Tim Greene from a bookcalled QoS versus more bandwidth, an article there he mentions that when drainchronically runs sxlow even though it is not plugged it is time to get a bigger pipe. So,what does it mean that if your connection does not have sufficient bandwidth, but yourequire more bandwidth then you will never be able to manage with the existing pipe orexisting line that you have, better to go for a subscription of a higher bandwidth line.So, that is regarding bandwidth. If you have a lower lower capacity pipe or lowercapacity network channel you will always experience bandwidth if you are going togoing to say deliver or if you are going to use more amount of bandwidth. Say forexample, you have a think of you have a 1 Mbps list line and with that 1 Mbps list lineyou are always trying to observe high definition video.Now, high definition video if you are trying to observe it every time 1 Mbps may not besufficient for you. And because of that, you require more bandwidth you need to go from1 Mbps to 8 Mbps or even more bandwidth. Now some applications in the network arebandwidth hungry such as this video applications and congestion limits per userbandwidth and that is why we need to design networks with high capacity to improve thebandwidth. So, if you think that your application or your network is going to runapplications like video applications which are kind of bandwidth hungry applications,then you purchase network lines with more bandwidth ok.(Refer Slide Time: 18:04)Now, coming to delay, in network there are three different types of delay or you say thatthere are three components of delay, the first one is the Transmission delay then we havethe Propagation delay and the third one is the Queuing delay.Now, what is a transmission delay? The transmission delay is the amount of time to pushall the packet bits in the network. So, it is like that it actually depends on the capacity ofyour network. So, for example, if your network bandwidth is 8 Mbps and your packetsize including the packet header is 1 megabyte then what is the transmission delay? So, 1megabyte packet means it is 8 megabit packet and you are transferring data at a rate of 8Mbps. So, your network capacity is 8 Mbps. Now if you are the 8 megabit bit of packetthen to transfer that 8 megabit data over 8 megabit per second line you require exactly 1second.
Internet QoS: Introduction-Part 2
So, that is the transmission delay that we have over the network. So, it dependson the amount of bandwidth that is given to you and based on the amount of bandwidththat is given to you need to transfer the data over that capacity. And the example, that Ihave given if your capacity of 8 megabit per second and you are going to transfer 8megabit of packet, that means, you can transfer that 8 megabit data for 1 second. So, itwill take 1 second to transfer the packet from the sender to the receiver.So, this particular delay component we call it the Transmission Delay component. So,this transmission delay component depends on the capacity of the channel now thesecond component of the delay we call it as the Propagation Delay. So, the propagationdelay is time to transfer one bit from one end of the link to another end of the link. So,usually depends on the underlying communication video. Now what is the differencebetween this transmission delay and the propagation delay. So, let us see it with the helpof an example.(Refer Slide Time: 20:05)Now, think of a Sender and a Receiver. So, this is my sender and this is my receiver nowthe capacity. So, you can think of that we have a pipe between the sender and thereceiver through which you are sending data. Now, the capacity of the pipe will dependon what is the width of this time. So, how much data it can pump to that pipe. So, if youthink of that the capacity of data is say 8 Mbps the example, that I was giving; thatmeans, from the sender side you can pump data to this capacity channel at a rate of 8megabit per second. So, you can push 8 megabit data to this particular channel.So, it is if it is depending on this capacity or the width of the pipe. Now if you have awider pipe say, if you have a pipe of something like this between the same sender and thereceiver where the capacity the width is more say it is 16 Mbps. If that is the case; thatmeans, you can push data at despite at a rate of 16 megabit per second. So, if your packetsize is still 8 megabit then it will take 0. it will take 0.5 second to push this entire data inthis pipe. So, because you are increasing the capacity of the pipe. So this particular delayto transfer or to push the data in the pipe that we call as the Transmission Delay. Nowwhat is the propagation delay now think of that you have pushed the first bit of data inthe say the at the first bit of data has been pushed in the pipe. Now that particular datathat particular bit need to reach at the other end.Now, the time to reach for this bit to the other end that particular delay we call it as thePropagation Delay. So, whenever you are transferring a single bit you can think of it inthe form of a signal that, you are transferring now the signal will get propagated over thisparticular channel, and if the length of the channel is more, it will take more time to getpropagated. So, that is why this transmission delay it depends the transmission delaycomponent it depends on the capacity of the pipe or the capacity of the channel andwhereas, the propagation delay it depends on the length of the pipe or the length of thechannel or the distance between the sender and the receiver.So, these are the two different delay components that we have: the Propagation Delayand the Transmission Delay and there is a third delay component which we call as theQueuing Delay. Now the queuing delay is an interesting component. So, the queuingdelay is the delay at the interface buffer. So, whenever you are transferring certain data.(Refer Slide Time: 23:37)During that time you have from the sender to the receiver you have multiple intermediaterouters. And these routers form a network and you have say multiple senders which aresending data. So, you have device 1 device 2 and device 3 which are sending datasimultaneously. So, assume that so another device a device 4 which is again sendingdata. So, device 4 is sending some data device D1 is sending some data, but you havecertain fixed capacity of this out going link say assume D4 is sending data to D3 as wellas D1 is sending data to D3.But at this router say R1 you have some fixed capacity of this particular router, becauseyou have some fixed capacity of this particular router, the packet gets enqueued in theintermediate buffer queue, or packet buffer queue that is your that is associated with thisparticular router. Now, as you have more data which are coming to this router, your delayfor transferring the data from this queue will increase. So that packet has to wait for moreamount of time in the queue. So, you can think of it in this way say the packet thisparticular queue it can process say 1 packet per second. So, if it can process 1 packet persecond; that means, at the outgoing link you can send 1 packet per second and assumethat you are receiving data at a rate of 8 packets per second.Now, in general what we have that these Queuing delay it is significantly much morethan the Transmission delay and the Propagation delay. So, that is why the queuing delayit dominates the network. Now packet multiplexing in the network devices loud like therouters or the switches it impact the queuing delay, the example, that I have just shownyou. Now if you have congestion in the network congestion in the network means morepackets are coming to the queue and it was not able to serve it. So, it increased thequeuing delay.(Refer Slide Time: 26:44)OK. Now, coming to the third component which we call as the Jitter; so, as we havementioned jitter is the Variation in End to End delay. So, you do not have a study streamof packets like this one rather what you have you have a stream of packets which areirregulated and there are different packets are transmitted at different instants of time,and you do not have a steady stream of packets which impacts the jitter.So, in case of video streaming as the example that we have given earlier this kind of jitterit impacts significantly the application performance. So, the example, that we have givenearlier that you are watching a live streaming and then packets are coming will differ indelay. So, it is not coming at a constant bitrate. So, the video player will not be able toplay the service at a constant rate. So, it will see lots of up and downs in a video quality.(Refer Slide Time: 27:43)OK, now, coming to the fourth component which is the Loss. So this loss is a relativemeasure of the number of packets or sometime we represent it in the form of segments orbits, that were not received compared to the total number of packets or segments or bits.So, this loss is a function of availability in general, if the network is available, thatmeans, if your capacity is more than the demand then the loss will generally be zero youdo not see any loss there, but if your capacity is less then you will see a significant lossfrom the network.So, that is why whenever there is a congestion you will see there is a significant loss, andthat is why TCP takes that loss as an indication of congestion, but this particularprinciple does not hold the exactly in case of wireless network, because in case ofwireless network there can be loss from the channel as well like you are transferring datain a open media and that is why you can just think of that lots of people are talkingtogether in a single room. If a lots of people are talking together in a single room overthat open environment then it will create a noise and none will be able to hear othersvoice.So, the same thing happens in case of wireless media what we call as the interferenceduring the discussion of wireless physical layer we’ll talk about this interference in moredetails, but this interference is also results in packet loss. So, in wireless there aremultiple results the multiple reasons for packet loss are indeed that is the reason you willexperience more amount of packet loss in a wireless environment.OK. So, if we look into the Application level Quality of Service. So, different applicationrequires different level of quality of service in terms of delay jitter and bandwidth. Andhere is an example chart for that. So, you can see that the for the voice application so thisdata is taken from Cisco typical networking company. So, the voice data has a losstolerance of less than equal to 1 percent you need to it can tolerate very few losses thedeal delay should be less than equal to 150 millisecond the jitter need to be less thanequal to 30 millisecond and you require some 21 Kbps to 320 Kbps of dedicatedbandwidth.For interactive video like the live streaming, the lost need to be less than 1 percent thedelay can be around 150 milliseconds the jitter need to be 30 millisecond and thebandwidth is on demand like if you are watching a high quality video you will requirehigh bandwidth. If you are watching standard quality video we may require little lessbandwidth.OK. So, here is the formal definition of quality of service which is coming from Cisco.So, I have highlighted the different part of the definition in different color the importantkey words. So, quality of service refers to the capability of a network to provide betterservice to selected network traffic - why it is selected network traffic? Because we arelooking into network traffic which are quality of service associated like the voice trafficor the video traffic, over various technologies including frame relay, asynchronoustransfer mode ethernet and 802 that 1 networks, SONET, and IP based networks.To ensure quality of service over a packet switched network, we need to find out thesefour different things. First of all what the application need from the network, what typeof quality of service it is expecting, how to regulate the traffic that enters the network toprovide quality of service we will look into all these things in details in the subsequentlectures. Then how to reserve the resources at a router to guarantee performance becauseyou need to have end to end dedicated resources to ensure certain classes of quality ofservice, and whether the network can safely accept more traffic while not violating thequality of service of the existing traffics.So, the primary Quality of Service parameters that you have already seen. There are foursuch parameters the Bandwidth, Delay, Jitter and Loss.Now, another important question is that why quality of service is considered at thenetwork layer, because maintaining quality of service requires both per hop and end toend behavior. So, whenever you want to ensure quality of service over the network, sayyou have these two different end host and between these two different end hosts youhave multiple intermediate routers or switches.Now based on the quality of service we define multiple application classes like theconstant bit rate classes. So example of constant bit rate is telephone applications likeVoice over IP. So you require constant streaming of data bits. Then the second one is thereal time variable bit rates. So, in case of real time variable bit rate example is somevideo conferencing service where the bit rate can be variable depending on the framesthat you are going to transfer, but it need to be a real lifetime.The third one is non real time variable bit rate like on demand video streaming. So, forexample, television service over IP network. So, if you want to observe a TV over IPnetwork, it is a variable bit rate at the same time it did not to be in real time and thenavailable bit rate service at the best effort service like the file transfer services. So, welook into all these classes of traffic in more details. And, in the next class we will lookinto that considering this different level of quality of service or different classes ofquality of service, how the network should design itself so, that it can provide the desiredlevel of quality of service.So, hopefully you have got a basic idea about what quality of service means and in thenext class we will go to the details about how the network actually provides quality ofservice in the internet.So, thank you all for attending this class.