Microsoft KB Archive/124241

From BetaArchive Wiki
Knowledge Base


MSDLC (Lan Manager/WFW) Timers Explained

Article ID: 124241

Article Last Modified on 11/17/2003



APPLIES TO

  • Microsoft LAN Manager 2.2 Standard Edition
  • Microsoft Windows for Workgroups 3.11
  • Microsoft DLC



This article was previously published under Q124241

SUMMARY

The Microsoft DLC (MSDLC) Installation and Configuration guide describes PROTOCOL.INI timing parameters that can be used to fine-tune the MSDLC protocol (stack). This article explains the algorithms used to determine the timer values used by the stack.

MORE INFORMATION

There are three primary timers that are exposed by the MSDLC stack:

T1 - Retransmission timer. Used to determine when to retransmit a packet that hasn't been acknowledged by the remote computer.

T2 - Delayed acknowledgment timer. Used to determine the delay before acknowledging a received frame when the receive window has not been reached.

Ti - Inactivity timer. Determines how often to poll an idle link.

The actual values used are application dependent. Microsoft has exposed the values of these timers in PROTOCOL.INI. However, the values are used only if the application does not specify its own. A DLC application has two opportunities to pass timer values to the MSDLC stack. The first opportunity is when it opens the adapter. The other chance is when it opens a service access point (SAP).

During the OpenAdapter call, an application may provide values for:

   T1_TICK_ONE (default:5, range 1-255)
   T1_TICK_TWO (default:25, range 1-255)
   T2_TICK_ONE (default:1, range 1-255)
   T2_TICK_TWO (default:10, range 1-255)
   TI_TICK_ONE (default:25, range 1-255)
   TI_TICK_TWO (default:125, range 1-255)
                

During the OpenSAP call, the application may provide values for:

   T1 (default:5, range 1-10)
   T2 (default:2, range 1-10)
   TI (default:3, range 1-10)
                

The formula used to calculate the timers is the same for each. This example is for T1:

   if (T1 <= 5)
      T1 = (T1 * T1_TICK_ONE * 40 milliseconds)
   else
      T1 = (T1 * T1_TICK_TWO * 40 milliseconds)
                

If an application passes 0 values both when opening the adapter and when opening the SAP, and there are no values specified in PROTOCOL.INI, the timers will be calculated as follows:

   T1 = (5 * 5 * .040) = 1 second
   T2 = (2 * 1 * .040) = 0.08 seconds
   Ti = (3 * 25 * 040) = 3 seconds
                

Two Important Notes:

  1. PROTOCOL.INI values (defaults) are only used if the application passes 0's for the values in the OpenAdapter or OpenSAP calls.
  2. Although the Installation and Configuration guide discusses "msdlcretries," by specification the stack provides a non-configurable value of 8 for this parameter. It is not adjustable in PROTOCOL.INI. This parameter is only exposed to the application.



Additional query words: wfw wfwg prodlm 2.20 3.11

Keywords: KB124241