Quality of Service |
The Windows 2000 QoS architecture is built upon a tightly-integrated set of industry standard protocols, services and mechanisms that control access to network resources, classify and schedule network traffic, and protocols that signal network devices to apply QoS by handling specific traffic flows with priority. Figure 9.1 illustrates the Windows 2000 QoS architecture.
Figure 9.1 Windows 2000 QoS Components
All of these components work together seamlessly to provide QoS on a network. Appearing as shaded boxes in this Figure are the Windows 2000 QoS components. Not pictured in Figure 9.1 are the elements in the network infrastructure required to fully guarantee QoS end-to-end. The OSI model layer 2 and layer 3 devices in between the end nodes (that is, sender and receiver) must also support QoS. Otherwise, traffic receives standard network treatment (best-effort delivery) on that segment.
Generic QoS (GQoS) API (part of Winsock 2.0) Windows 2000 QoS is designed with a Generic QoS API, an abstract interface to the QoS technologies in Windows 2000. Application programmers can use GQoS to specify or request bandwidth requirements particular to their application for diverse media such as Ethernet or IP over Asynchronous Transfer Mode (ATM).
RSVP SP (Rsvpsp.dll) When QoS is requested, GQoS calls upon the services of the underlying QoS service provider, Resource Reservation Protocol Service Provider (RSVP SP). The RSVP SP invokes RSVP to signal all network devices along the data path of the bandwidth requirements, traffic control, and QoS Admission Control support.
RSVP Service (Rsvp.exe) Resource Reservation Protocol (RSVP) is an IETF-defined signaling protocol that carries QoS requests for priority bandwidth through the network. RSVP bridges the gap between the application, the operating system, and the media-specific QoS mechanisms. RSVP sends messages in a format that is media-independent, so that end-to-end QoS is possible over networks that combine different types of low-layer network devices.
Traffic Control (Traffic.dll) Traffic control creates and regulates data flows by using defined QoS parameters. It also facilitates the creation of filters to direct selected packets through a data flow. The capabilities of traffic control are accessed via the Traffic Control API. Traffic control is called upon by the GQoS API.
Generic Packet Classifier (Msgpc.sys) The Generic Packet Classifier determines the service class to which an individual packet belongs. Packets are then queued by service level. The queues are managed by the QoS Packet Scheduler.
QoS Packet Scheduler (Psched.sys) The QoS Packet Scheduler enforces QoS parameters for a particular data flow. Traffic is marked with a particular priority by the QoS Packet Scheduler. The QoS Packet Scheduler then determines the delivery schedule of each packet queue and handles competition between queued packets that need simultaneous access to the network. Packets are marked with an 802.1p priority for prioritization in layer 2 devices, and a Differentiated Class of Service for prioritization in layer 3 devices.
QoS Admission Control Service (QoS ACS) QoS ACS manages network resources on congested, shared network segments (subnets). It is not required to implement the QoS ACS on every subnet; the highest benefit is realized from implementing the QoS ACS on congested segments. The QoS ACS provides a control point for bandwidth requests, determining if the necessary network resources are currently available, and whether or not the user has the necessary permissions to request that amount of bandwidth and service.
Local Policy Module (Msidlpm.dll) The Local Policy Module (LPM) is a component of the QoS ACS that provides a policy enforcement point (PEP) and policy decision point (PDP). The LPM included in Windows 2000 provides the QoS ACS with a means of retrieving policy information from the Active Directory™ directory service. The QoS ACS invokes the LPM DLL Msidlpm.dll when a RSVP message with a Windows 2000 Kerberos ticket is detected. The LPM extracts the user name from the RSVP message and looks up the user's admission control policy in Active Directory. An LPM API is also included.