KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q254961: INFO:Recommendations for Use of Windows 2000 Traffic Control API

Article: Q254961
Product(s): Microsoft Windows NT
Version(s): WINDOWS:
Operating System(s): 
Keyword(s): kbGQos kbTrafficControl
Last Modified: 16-AUG-2001

-------------------------------------------------------------------------------
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 1986-2002.