Loading

Module 1: Internet QoS

Notes
Study Reminders
Support
Text Version

Basic QoS Architecture

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

    +

Basic QoS Architecture
Welcome back to the course on Computer Network and Internet Protocols and in the last2 class we were discussing about quality of service in the internet and we have lookedinto the basic definition of quality of service and what is mean by quality of service andwhat are the parameters that impact quality of service and we have seen that 4parameters, a bandwidth delay jitter and loss they have an significant impact on thenetwork quality of service. And whenever we are trying to ensure quality of service overthe internet we need to have a control over these 4 parameters.Now, we look into that what support do we require from the TCP/IP network to ensurethe quality of service in the network. So, we look into the architecture in details intoday’s lecture.(Refer Slide Time: 01:17)So, as we are discussing in the last class that based on the quality of service, we can havemultiple classes of applications, we can have constant bit rate application, constant bitrate application means in us so, in short form we call it as a kind of severe application.So, in case of severe application you expect the data at a constant bit rate. So, thereceiver expects that the data will be coming at a constant bit rate and then the receiverwill process that data and we will be able to render the data further.So, the example of constant bit rate requirement QoS requirement is telephoneapplication or these voice over IP application. Say whenever you want to make a VoIPcall to make a VoIP call you have to transfer the data or the voice data over the IPnetwork. So, whenever you are transferring the voice data over the IP network, the voiceis actually converted to a digital signal, the voice signal is digitized and after digitizingthe voice signal that data need to be transferred at a constant bit rate.Then the second class is real time variable bit rate. So, here the bit rate can be variable,but you need to transfer the data in real time. So, by real time we mean that there is amaximum delay by which you need to send the data. If you fail to send the data by thattime then your transfer your data transfer we consider to be failure. So, the example ofreal time variable bit rate is the video conferencing or live streaming.Then the third class is non real-time variable bit rate. So, here you do not need to sendthe data in real time you do not have a such strict delay requirement that by within thistime you have to transfer the data. Buffering is supported, but you require certain QoSstill you have a kind of loose delay on the loose bound on the delay or loose bound onthe amount of packet loss that can be tolerated and that is example can be on demandvideo streaming or IPTV kind of services.And then finally, comes to the fourth class of service, which we call as the available bitrate or the best effort service. So, best effort means whatever is the available bandwidthnow in the network you utilize that bandwidth for transferring the data for say filetransfer. For file transfer as such we do not need any strict requirement on the quality ofservice parameters you can transfer it with whatever available bandwidth is there in thenetwork. So, that kind of transfer we call it as available bit rate transfer or Best Efforttransfer.(Refer Slide Time: 04:06)So, this is the basic quality of service architecture in the internet. This figure I have takenfrom a Cisco website and the link is given here. So, you can see that there are multiplestages in this enter end to end pipeline. So, let us explain this figure and then we will goto the internals of every individual step. So, the packets are moving from one end intoanother end and at every individual step we are applying certain filters, filters means weare actually looking into the property of this packet and taking certain kind of correctivemeasurement to ensure quality of service in the end to end application perspective.So, the first thing is kind of admission control. So, if you remember whenever wediscussed about that what is our expectation from the network to ensure quality ofservice? One expectation was to find out whether the network can take or the whether thenetwork can accept more flows without violating the quality of service of the existingflows. Now to ensure that we have the first module which is called the admission controlmodule.So, what this admission control module does?It basically admit a new flow in the network by ensuring that even if you are admittingthis new flow in the network and if you know that what is the quality of servicerequirement for that particular kind of flow. So, this requirement we call it as servicelevel agreement or SLA. So, we will discuss all these terminologies in details later onjust giving you a broad overview kind of backside view of the entire system.So, based on the service level agreement you know that, what is the expected QoS levelfor this particular flow? Now whenever you are entering this flow in the network duringthat time you try to estimate that, if you enter this flow in the network, then whether youwill be able to satisfy the quality of service for all the existing flows plus this new flowin the same network or not. If you are able to do that then you admit or allow that newflow to transfer the packet otherwise you block that flow.So, that particular module is termed as admission of control. After the admission controlis done then the next step is classification and marking. So, what this classificationmodule does? The classification module basically identifies the classes of packets whichare there. So, as you have discussed that there are 4 different classes of application, theyare kind of broad classes in different network context you can have much more granulardefinition of quality of service classes.So, considering those 4 classes of service, the guaranteed bit rate or the constant bit rate,the real time variable bit rate, the non real time variable bit rate and a best effort areavailable bit rate. You classify and mark the packet that which packet require sayconstant bit rate, which packet require non-real time variable bit rate, which packetrequired real time variable bit rate and which packet requires this available bit rate. So,basically does not require any particular bit rate.So, based on that you mark the packet so, just like a blue packet, a red packet, a greenpacket, or a yellow packet, like that and then go to the next filter next level of filters.Now all these filters are actually implemented at all the layer 3 devices; that means,inside the router. So, inside the router so, we implement all these individual filters thatwe are currently talking about.And the third filter is traffic policies and markdown. So, what traffic policing looks into,traffic policing in looks into that whether certain kind of flows or certain kind of packetsin the flows is significantly violating the quality of service requirement or not. If it isviolating the quality of service requirement then you simply drop those packets. So, theidea is there that if you know that well your end to end delay requirement is say 10millisecond, let me explain it with the help of an example figure say your end to enddelay requirement is 10 milliseconds.(Refer Slide Time: 08:56)So, you have a host, a source host, then coming to an intermediate router and then thereis this destination host. And in between you have an intermediate network through 2different networks they are say connected OK. So, in this network now say that end toend delay requirement is 10 milliseconds so my end to end delay requirement is 10millisecond.Now one up once so you are sending a particular packet say you are sending a particularpacket from the source and once this packet reaches to this router then this router findsout that the packet has already experienced 9 millisecond of delay. If the packet hasalready experienced 9 millisecond of delay and this router is very sure that it isimpossible to transfer this packet to the destination within 1 millisecond.So that means, if the packet has already experienced a 9 millisecond delay, then within10 milliseconds you have to send it to the destination; that means, within one millisecondyou have this remaining one millisecond you have to send the packet from this router tothe final destination. And the router knows that it is totally impossible. If that is the casethen what the router does, the router simply drop this packet.Why the router drops this packet? The reason is that you know that you will not be ableto satisfy the quality of service for this particular packet. If you are not able to satisfy thequality of service then there is no meaning to send that packet unnecessary to the link,because it will again clog the link it will take certain bandwidth, it will reach at the finaldestination, the application again need to process that packet. So, there is a hell lot ofoverhead which are associated with this entire process.So, if you are sure at a intermediate step that you will not be able to satisfy the quality ofservice requirement for some specific packets of some specific traffic classes then youimmediately drop those packets. Coming back to the stages so that is called the policiesand - policing and markdown.Then the next step is scheduling, scheduling where we applied the queuing and thedropping policies. So, scheduling means based on individual requirement of trafficclasses we basically prioritize individual packets, prioritizing individual packet meanssay again let me give you an example.(Refer Slide Time: 11:53)Say your packets are coming to an input link and you have multiple service queues. OK.So, say this is a red queue, I have a blue queue and I have a say yellow queue. Now these3 queues has 3 different priority levels. So, say the red queue has a priority of 1, the bluequeue has a priority of 2, and the yellow queue has a priority of 3. So, priority 1 means itis the highest priority and priority 3 means it is the lowest priority.Now, the scheduling works in this way, say if you are receiving a red packet then this redpacket you put it in the red queue ok. So, red packet means say that this is a voice packet.So, red means voice say voice has the highest priority because we have seen that it has avery strict requirement on delay jitter and bandwidth. So, say red means voice. So,whenever you are getting a voice packet you are putting it in the say red queue.Whenever you are getting a blue packet say this blue packet is assume it is a videopacket the second class of traffic you are putting it in the blue queue.And whenever you are getting a yellow packet, say yellow packet means data it is thelowest priority as we have seen. So, whenever you are getting a yellow packet you areputting it in the yellow queue. Now here you have the server that we will finally, servethis individual 3 queues in a round robin fashion and there you apply this priorityqueuing mechanism. So, the priority queuing mechanism says that if you have somepackets in the red queue you first transfer those packets.So, this is the first transfer if the red queue is empty then only you go to the blue queueand transfer the packets besides the second priority and if both the red queue and the bluequeues are empty then you transfer the packets from the yellow queue. So, this is theleast priority. So, that way you are ensuring that the voice traffics which are there in thelink they are getting highest priority and they are transmitted first. So, that they are strictQoS delay requirement gets satisfied.So, this is just an example of different kind of scheduling mechanism this is not the onlyscheduling mechanism which is a used or which is implemented in the network. So, thisis one type of scheduling mechanism which is called priority queuing. There are otherkind of queuing mechanism like custom queuing, weighted fair queuing, fair weightedfair queuing and so on. So, we will discuss those in details later on. So, the schedulingmeans scheduling the packets in different application queues based on our different flowqueues based on their QoS requirements ok.
Basic QoS Architecture- Part 2
Then the step which we call as the traffic shaping. So, traffic shaping basically tells thatsay in a link you are getting the packets. So, traffic shaping actually ensures that smoothjitter in the network, it controls the jitter in the network say you are getting the packets atrandom delay, now you send it to a shaper. The shaper will output the packet at aconstant rate. So, you are actually getting the packet at with the jitter introduced. So, theshaper will remove the jitter and send it to the outgoing queue. So, that is the objective ofthe traffic shaper so, that you can regulate the flow of traffic over the outgoing link.So, it is a kind of traffic regulator and finally, we apply certain link specific mechanismlike if it is a wi-fi links, then wi-fi has their own QoS service QoS provisioning servicelike a prioritizing traffic for link layer, channel access and so on. So, these link specificmechanisms are finally applied. So, this is the broad mechanism, broad QoS architecturethrough which we try to guarantee end to end quality of service in the internet.So, we will now look into all these individual steps in little more details.(Refer Slide Time: 16:40)So, let us start with admission control as we are mentioning that admission controlensures that new flows are entered in the network only if the quality of service of all theexisting flows including the new flow can be satisfied.(Refer Slide Time: 16:59)So, you have actually experienced this context of admission control, many of the timewhenever you are dialing over say the cellular network you have hard disk space like alllines are busy please dial after sometime.So, whenever you are hearing this voice that is actually blocking your call because thecellular service provider it does not have sufficient amount of resource to ensure theminimum quality of service for your call. So, that is why it is blocking your call and forlong distance call it is pretty common that it will say that, all lines are busy please dialafter some time. So, it is like that the network does not allow new flows if all thenetwork resources are blocked in servicing the existing flows based on their quality ofservice requirement.So, that is the first phase of maintaining quality of service. So, you do not admit a newflow if you cannot support quality of service for all the flows including the new flows.(Refer Slide Time: 18:01)The second mechanism was classification and marking as I have mentioned thatclassifies the packet based on their application QoS requirements and then mark thepackets accordingly.(Refer Slide Time: 18:13)So, to classify it in case of IP we use a header in the IP header field it is called the IP typeof service. So, we have a 8 bit field, 8 bit type of service field in the IP header in thattype of service field in the IP header you have 3 bits for IP precedence.So this IP precedence value it define different kind of traffic say if the precedence valueis 0 then it is a kind of routine packets. Then if the precedence value is 1 it is the highestpriority packet, if the precedence value is 2 it is the immediate priority packet, if it is apriority 3 it is a kind of flash packet, if it is priority 4 flash override packet, for 5 the kindof critical packet, for 6 it is internetwork control packets 7 it is network control packets.So, that way we define these 8 different classes of traffic based on the IP precedence.Then the next 4 bits it actually defines the priority inside the classes for example, if youwant to send voice video voice and streaming video simultaneously, you can use it underthis critical class and under the critical class you can again relatively prioritize a voicegive more priority to voice over the video traffic.So, that way this 8 bit IP type of service header can be type of service field in the IPheader can be utilized to identify or to mark the packet to a specific quality of serviceclass.(Refer Slide Time: 19:57)Now, the third filter which we apply for quality of service it is policing and markdown.So, policing and markdown means monitor the flow characteristics and take appropriateaction based on the flow QoS.(Refer Slide Time: 20:13)So, for traffic policing as we are mentioning initially that we have a terminology calledservice level agreement. So, this service level agreement says that you have anagreement or a contract between the customer and the service provider to maintain thequality of service of an application. Say for example, if you want certain quality ofservice for the VoIP data, for the VoIP data, you have to go for a service level agreementwith your service providers. Say if you are purchasing network from Airtel or from sayVodafone. With the service provider you have to make an agreement that well I want totransfer the VoIP traffic, for that VoIP traffic I require this class of service. So, for thatwhat is the money that I have to pay?So, you have to pay that much of money and in that case you have a service levelagreement or SLA with your service provider. Now this SLA will determine that howyour packets will be treated when the packets are going over the network. Say oneinteresting example of service level agreement is whenever you are subscribing for saybroadband connection. So, whenever you are subscribing for broadband connection thereare you will see that there are multiple packages say you can have 1 Mbps of leased linefor 1 month, you have can have 256 Kbps of leased line for 15 days and so on.So, these packages are kind of service level agreements. So, they are saying thatwhatever data you will send for that data we will try to give you 1 Mbps of peakbandwidth or 256 Kbps of peak bandwidth. Many of the time you will see that there is adifferentiation between the uplink traffic rate and a downlink traffic rate. So, it will saythat you can have 256 Kbps of uplink rate and say 1 Mbps of downlink rate. All thosethings are kind of service level agreement that you have with the service providerwhenever you are subscribing for a specific package for getting your internet connection.Now, this kind of service level agreements are actually also embedded in the IP packetsand this is one example of configuring service level agreement in a particular router thattrack 10 IP SLA 11 reachability and agreement is delay down 15 up 15; that means, inthe downlink it can tolerate up to 15 millisecond delay in uplink it can also tolerate intoup to 15 milliseconds of delay.So, this is one service level agreement which has been configured in a particular router.So, I have just taken the trace of a router to show you that this way you can configure theservice level agreement in the edge router or the gateway routers of a specific networkservice provider. So, the network service provider so, whenever you are going for aservice level agreement the network service provider actually writes down all thoseservice level agreement in the network based on this their policies based on their theirarchitecture and so on.(Refer Slide Time: 23:40)Now, this traffic policing it monitors the flow of traffic and mark them to takeappropriate action, like whether you want to reduce the priority or whether you want todrop the packets and so on ok.Next the fourth step was traffic scheduling as we have mentioned that based on themarkdown by different traffic policers, the scheduler schedule the traffic into outputbuffers of an interface.(Refer Slide Time: 23:58)And the example that I was discussing in the terms of priority queue that you maintainmultiple queues at the interface, the scheduling mechanism service the schedulingmechanism services the queues based on the scheduling policy. So, one example is thepriority queue that I was mentioning. So, on arrival of a packet you classify the packetand then put it either in the high priority queue or in the low priority queue.If you are in the high priority queue you will be serviced first compared to a customer atthe low priority queue. So, the link will sub it one by one and send a packet in theoutgoing link. So, that way you are giving priority to certain classes of traffic which willexperience better quality of service compared to others.(Refer Slide Time: 24:47)Finally, the traffic shaping as you are mentioning the so, the traffic shaping control theoutgoing traffic rate, irrespective of the incoming traffic rates. So, you are alwaysregulating that what is going to be your outgoing traffic rate. So, either it has constant bitrate output from the interface buffer or you also want certain delay or certain jitter basedon the application requirement.(Refer Slide Time: 25:12)So, here is the example of traffic shaping. So, you are having irregulated traffic at theinput and at the output you are getting the regulated traffic, which by the from the figureyou can directly see that it is minimizing the jitter in the network. So, output traffic has aconstant packet rate so it reduces the jitter in the network.(Refer Slide Time: 25:35)Now, these there are 2; this 2 different terms the traffic policing and traffic shaping. So,let us look into the difference between traffic policing and traffic shaping.So, traffic policing what it tries to do it just looks that whether certain flows or certainpackets are violating the QoS service requirements or not. So, you are getting the trafficat this rate and your expected traffic rate is this dotted line, in that case whatever are thepeaks you just drop those packets. So, this is your traffic policing.So, you see whenever whether something is violating the requirement if someone isviolating the requirement you drop the packet. In case of traffic shaper it does somethingthe traffic shaper it actually have this irregulated traffic and it tries to regulate the trafficfurther.So, you are regulating the traffic at the expected traffic rate. So, this is the differencebetween traffic policing and traffic shaping. So, we require both in the network becausesee traffic shaping can may not always be able to give you a smoother rate. If you areaverage rate is more than this expected rate then traffic shaping will not work directly inthat case, you have to apply the traffic policer to drop the packets, which are violating thequality of service requirements, which are violating the service level agreement thenfrom the remaining packets where your average rate or your mean traffic rate is less thanyour expected bound, then you can apply traffic shaper to regulate the output rate.So, remember this difference between traffic shaping and traffic policing. So, this givesyou a kind of broad overview of the basic QoS architecture and in the next class we willgo to more deeper inside this 3 components which are very important from the QoSperspective, the traffic shaping, traffic policing and traffic scheduling. So, we look intothe details of these individual filters that we apply for quality of service.So thank you all for attending this class.