A. Quality of Service was first implemented in the 1970's over the X.25 network which had limited Quality of Service built into it allowing differentiation between various X.25 data streams providing priority transmission for those packets deemed to be a priority. Other technologies since then have had Quality of Service abilities including the newest technologies such as ATM (Asynchronous Transfer Mode)
Quality of Service at present is not for use over the Internet as it requires end-to-end support. However it has come from its primarily Wide Area Network (WAN) usage to now be used over the whole network, mainly due to the extended use of networks such as voice over IP etc. This is not to say QOS will not operate over the Internet, in the future it will be important to the Internet. It is just not ready yet.
Quality of Service is an end-to-end concept. Every box, router and bridge must support QOS. But what does it do? Basically you reserve an amount of bandwidth on the network, hence the need for it to be end to end. Imagine if a router in the middle of the network did not support QOS. From your computer to the router would reserve an amount of bandwidth. Suppose the target computer up to the router supported QOS. You would have a reserved pipe. But if the router did not support QOS and reserved no bandwidth it would all have been wasted. Every component HAS to support QOS for it to work.
There is a second kind of QOS; one where bandwidth is not reserved, but is given priority over other traffic. This is known as differentiated service.
For Quality of Service to work on a network, two things are required. The first is the reservation of resources, in this case bandwidth, on each component between the two ends of the link. This is done using the Resource Reservation Protocol or RSVP as its known. The second is for the actual data to receive the bandwidth reserved and while this sounds simple and it can be complicated in the real world.
Winsock 2.0 that is the windows sockets implementation provides full QOS support. However, until now there has never been an implementation method. With Windows 2000, applications can now have full Quality of Service support.
For more information also see:
- http://www.microsoft.com/windows/server/Technical/networking/QoSOver.asp which has some good information
- http://www.microsoft.com/windows/server/Technical/networking/enablingQOS.asp which talks about enabling applications to use QoS
- http://support.microsoft.com/support/kb/articles/Q233/0/39.ASP a knowledge base article on using QoS queuing techniques
- http://support.microsoft.com/support/kb/articles/Q228/8/30.ASP talks about SBM (Subnet Bandwidth Manager) used for QoS
- http://msdn.microsoft.com/library/backgrnd/html/msdn_qostech.htm MSDN QoS document