NBT SessionAlive and TCP/IP Session Termination

Last reviewed: May 15, 1997
Article ID: Q115499
The information in this article applies to:
  • Microsoft Windows NT operating system version 3.1
  • Microsoft Windows NT Advanced Server version 3.1

SUMMARY

On Windows NT build 528, if TCP/IP protocol is the transport used, then NetBIOS over TCP/IP (NBT) KeepAlive frames maintain an idle session by default. The session is terminated if the other end does not respond to these frames. This article describes NBT session termination.

NOTE: This information applies only to NetBIOS over TCP/IP on Windows NT build 528. To determine which build of Windows NT you have installed:

   1. In the Program Manager window, choose Run from the File menu.

   2. In the Command Line field, type "winver" (without the quotation
      marks), and then choose the OK button.

   The Windows Version dialog box appears with the version number and build
   number of Windows NT.

MORE INFORMATION

The default value for NbtKeepAlive is 60 seconds (KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NBT\Parameters). This means that if there is no activity for 60 seconds, NBT generates a SessionAlive frame to probe the connection. It is the function of TCP/IP to attempt to deliver these SessionAlive frames. The number of attempts made by TCP/IP to deliver the frame is governed by "TcpMaxRetransmissionAttempts" which has a default of 7 (KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters).

The Retransmission (RETX) timer depends on the Smooth Round Trip Time (SRTT); it is a dynamic timer and varies between any two stations; it also cannot be set or tuned in any way.

The current RETX timer (whatever it is at that moment) is used for the first RETX attempt (of the seven). The RETX timer (t) is increased for subsequent retransmissions based on the formula: t=2t. Therefore, if the initial RETX value is 1 sec, then subsequent RETX timers would expire at 2, 4, 8, 16, 32, 64, 128 intervals.

In the above example, assuming there is no response, TCP/IP would report failure to the above layer after 255 seconds (1+2+4...+128, including the time until the seventh attempt expires), then the redirector would clear the session.

One point to note is that NBT would submit NEW SessionAlive Frames at 60 second intervals, which TCP/IP does not attempt to retransmit. In the above example, four new SessionAlive frames may be submitted by NBT in this 255 second period.

If there is a need to clear the session quicker, reducing MaxRetransmissionAttempts even by one to a value of 6 would make it dramatically quicker (two minutes less, as per the example above). Reducing NbtKeepAlive from a value of 60 seconds to a lesser value will also contribute to clearing the session quicker.

The following is a network trace illustrating the above:

#  DeltaT  Src MAC   Dst MAC   Ntprotocol  Description

2  0.225   MOHAK01   Mohaksta  TCP   ACK seq:0x20131
3  59.850  Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4BF
4  0.936   Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4BF
5  1.975   Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4BF
6  3.957   Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4BF
7  7.941   Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4BF
8  15.883  Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4BF
9  29.613  Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4C3
10 2.082   Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4BF
11 58.217  Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4C7
12 5.171   Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4BF
13 55.150  Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4CB
14 60.291  Mohaksta  MOHAK01   NBT   Session Keep Alive seq:0x3EE4CF

In the above trace, frame 2 is the last frame from MOHAK01. NBT initiates Session Alive Frames starting at #3. Frames 9,11,13,14 are "New" Session Alive Frames submitted by NBT which are not retransmitted by TCPIP.


Additional query words: prodnt Hang session end disconnect
Keywords : kbnetwork NTSrvWkst nttcp
Version : 3.1
Platform : WINDOWS


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.

Last reviewed: May 15, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.