DOCUMENT:Q254961 16-AUG-2001 [winnt] TITLE :INFO:Recommendations for Use of Windows 2000 Traffic Control API PRODUCT :Microsoft Windows NT PROD/VER:WINDOWS: OPER/SYS: KEYWORDS:kbGQos kbTrafficControl ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Windows 2000 Advanced Server - Microsoft Windows 2000 Server - Microsoft Windows 2000 Professional ------------------------------------------------------------------------------- SUMMARY ======= After the Quality of Service (QoS) packet scheduler service is installed on a Windows 2000-based computer, traffic management programs that use the Microsoft Windows 2000 traffic control API (TCI) can apply traffic control to outgoing traffic on behalf of non QoS-aware applications. The traffic control functionalities available in Windows 2000 include: - Packet scheduling - 802.1p marking - DSCP marking However, the usage of 802.1p marking and DSCP marking through the TCI is discouraged because they bypass the policy and resource control in a QoS- enabled network. Also, the use of the TCI requires administrative privileges on the local computer. Microsoft recommends that developers use the Winsock Generic QoS API to develop QoS-aware applications to take full advantage of the policy and resource control in a QoS-enabled network. Please note that the traffic control API is not available for Microsoft Windows 98. MORE INFORMATION ================ Two primary functions in the TCI are TcAddFlow and TcAddFilter. The TC_GEN_FLOW structure in the TcAddFlow call includes the sending of Flowspec. The sequence of packets that are subject to the same TC_GEN_FLOW constitutes a flow. The TC_GEN_FILTER in the TcAddFilter function describes the attributes that classify packets into the corresponding flow. The 802.1p marking is controlled by the presence of a QOS_OBJECT_TRAFFIC_CLASS object in the TC_GEN_FLOW structure. The DiffServ Code Point (DSCP) marking is controlled by the presence of a QOS_OBJECT_DS_CLASS object in the TC_GEN_FLOW structure. A 802.1p marked packet is given priority treatment at the 802.1p aware switch (layer 2), and a DSCP marked packet is given priority treatment at the DSCP aware router (layer 3). In a typical QoS-enabled network, DSCP aware routers (and optionally 802.1p aware switches) are placed at strategic nodes within the network topology. Network managers set the policy and resource control in a policy server (Policy Decision Point, or PDP) to control the traffic admission and marking at the preceding nodes as well as the individual hosts (Policy Enforcement Point, or PEP). Traffic control programs that perform 802.1p and DSCP marking without contacting the policy server can potentially disrupt the QoS operations over the entire network and should be avoided. The preferred usage of TCI for Windows 2000-based computers is the packet scheduling functionality. By providing appropriate scheduling parameters in the sending Flowspec, the QOS_OBJECT_SD_MODE object, and the QOS_OBJECT_SHAPING_RATE object within the TC_GEN_FLOW structure, the local administrator can limit the amount and rate of traffic non QoS-aware applications are allowed to put on the local segment of the network. Please note that mis-configured flows may drop packets or cause the local buffer to grow and thus leak memory unnecessarily. If you want QoS in your network, you should consider Generic Quality of Service (GQoS) enabling for your Winsock applications. A GQoS application that runs on a Windows 2000-based computer or a Windows 98-based computer triggers the Resource Reservation Protocol (RSVP) service provider to perform end to end RSVP signaling. The PDPs and PEPs that are in the RSVP signaling path perform necessary policy and resource control in all network segments between the two end systems. If your network is managed by a Windows 2000 domain, end to end QoS can even be achieved for your GQoS applications without dedicated QoS-aware routers, switches, or policy servers. You can provision the resource usage for each subnet based on the user identity from the Windows 2000 QoS Admission Control Service/Subnet Bandwidth Manager (ACS/SBM). The RSVP provider on Windows 2000 directs the RSVP PATH messages to the subnet's Designated Subnet Bandwidth Manager (DSBM), which plays the role of PEP and PDP. Initially, the flow generated by the GQoS program is best effort only. After the user is authenticated by ACS/DSBM and policy and resource control is approved, the RESV message is returned to the sending host. The information contained in the RESV message makes the local RSVP provider modify the best effort flow so that the TCI provides the desired service level and priority mark for the traffic. REFERENCES ========== For an overview about QoS and Windows 2000 Traffic Management, refer to the following white paper: http://www.microsoft.com/windows2000/techinfo/howitworks/communications/trafficmgmt/default.asp (http://www.microsoft.com/windows2000/techinfo/howitworks/communications/trafficmgmt/default.asp) Platform SDK documentation about Quality of Service, and Windows Socket version 2 is available in the "Platform SDK/Networking and Directory Services" in the MSDN subscription CD. This documentation is also available from MSDN Online at the following Web address: http://msdn.microsoft.com (http://msdn.microsoft.com) Windows 2000 Online Help; topic "Network Interoperability/QoS Admission Control". Additional query words: ====================================================================== Keywords : kbGQos kbTrafficControl Technology : kbwin2000AdvServ kbwin2000AdvServSearch kbwin2000Serv kbwin2000ServSearch kbwin2000Search kbwin2000ProSearch kbwin2000Pro kbWinAdvServSearch Version : WINDOWS: Issue type : kbinfo ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.