How Windows NT RAS Handles Auto Disconnect (181431)



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Server 4.0

This article was previously published under Q181431

SUMMARY

This article explains how Windows NT 4.0 Remote Access Service (RAS) auto disconnect works.

MORE INFORMATION

There are three major components involved in the Windows NT RAS client autodisconnect feature.

  • The Remote Access Point-to-Point Protocol (PPP) Engine (Raspppen.dll)

    This is the low-level component for a RAS connection and handles the PPP connection establishment, manages the control protocol drivers, monitors the connection and handles the hang up of a connection through autodisconnect. It is also responsible for writing to the PPP.log file as described in the following Knowledge Base article:

    ARTICLE-ID: 115929
    TITLE : Enabling PPP Logging in Windows NT

    The article mentions to set the RasMan\PPP\Logging registry value to 1. You can, however, get an even more detailed log by setting this value to 2.

    For monitoring and disconnecting a RAS connection, the Remote Access PPP Engine creates a separate thread that loops once a second while there is an active connection. In every loop, it asks each bound control protocol driver when it had its last activity. The returned value is translated into minutes and is compared to the auto disconnect time value the Remote Access Connection Manager passes as a parameter when it makes a connection request.
  • The Remote Access Connection Manager (Rasman.dll)

    This component sits on top of the Remote Access PPP Engine and forwards connection requests to the Remote Access PPP Engine. It provides an API to services and applications so that they can easily use RAS. All it does concerning autodisconnect is to provide the autodisconnect time as a parameter to the Remote Access PPP Engine when a PPP RAS call is initiated. An important detail here is that this parameter has to be specified in minutes not seconds. Therefore, the minimum autodisconnect resolution is 1 minute.
  • The RAS client

    This is the top-level component. It uses the Win32 RAS API to communicate with the Remote Access Connection Manager. It reads idle timeout values from the registry and passes these values to the Remote Access Connection Manager. Because the RAS API only accepts the autodisconnect parameter in minutes, the client has to convert the seconds value specified by the user into a minutes value needed for the API. To do so, the formula (minutes = seconds + 59 / 60) is used. For example, an idle timeout of 20 seconds will be converted into an auto disconnect time of 1 minute.

Modification Type:MajorLast Reviewed:6/3/2003
Keywords:kbinfo KB181431