KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q97559: How Remote Access Service Processes Datagram Traffic

Article: Q97559
Product(s): Microsoft Windows NT
Version(s): 4.0
Operating System(s): 
Keyword(s): kbnetwork
Last Modified: 08-AUG-2001

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Windows NT Server version 4.0 
- Microsoft Windows NT Workstation version 4.0 
-------------------------------------------------------------------------------

SUMMARY
=======

This article discusses how Remote Access Service (RAS) uses datagrams under
Windows NT. The article is divided into the following subjects:

- Remote RAS Workstation Posts NCB_Add_Group_Name

- LAN System Sends a Burst of Multicast Datagrams to a Group Name

- RAS Client Sends a Datagram

- Remote RAS Workstation Posts NCB_Add_Name

- LAN System Sends a Datagram to a Unique RAS Client Name

Remote RAS Workstation Posts NCB_Add_Group_Name
-----------------------------------------------

Windows NT adds a group name for the domain or the workgroup. Microsoft LAN
Manager, by default, adds a group name for the domain name and other domain
names (from the LANMAN.INI file). Applications using NetBIOS can add group names
as well. The RAS workstation follows these steps:

1. The RAS server checks to see if the group name registered locally already.

   - If the name is already registered (because another workstation has posted
     NCB_Add_Group_Name), the RAS server flags the name as registered and does
     not post NCB_Receive_Datagram.

   - Otherwise, the group name is not registered and the following steps are
     performed.

2. The RAS server posts NCB_Add_Group_Name on all available transports (NBF,
  TCP/IP, etc.).

   - MaxNames for RAS: There must be enough names to accommodate all the remote
     clients add request. The default is 255 (the maximum) which should leave
     plenty of room.

   - MaxNames for transport: Each transport has a MaxNames entry that may need
     tuning. It should be set high enough to handle all of the local server
     names plus all of the remote client NetBIOS names. The NBF transport can
     be configured in Control Panel using the "Maximize Throughput and
     Connections" setting. This allows names and sessions to be tuned high
     without any realistic limit. See the Windows NT documentation for
     information on default names in the section covering RemoteListen.

   - If NCB_Add_Group_Name fails on any transport because another system
     responds with an AddNameResponse frame (meaning that another system has
     the group name registered as a unique name), then the group is not added
     on the server or the client workstation.

3. The RAS server posts RcvDgSubmittedperGroupName number of
  NCB_Receive_Datagrams for the group name.

   - This has nothing to do with how many NCB_Receive_Datagrams are posted by
     the remote client. This is handled by the server only. When a client posts
     NCB_Add_Group_Name or NCB_Add_Name, the RAS server automatically posts
     NCB_Receive_Datagram for each name, regardless of what the client posts
     (even if the client does not post anything).

   - RcvDgSubmittedperGroupName controls how many NCB_Receive_Datagrams are
     posted by the server for each group name. This is a resource- intensive
     parameter. Each one takes 1.5K of physical RAM. As soon as one is
     completed the server automatically posts a new one.

LAN System Sends a Burst of Multicast Datagrams to a Group Name
---------------------------------------------------------------

The RAS server receives a datagram, and handles it as follows:

1. Check EnableBroadcast. Default is 0, disabled. (This datagram is not
  broadcast in example.)

   0 Yes. Drop broadcast (not multicast) datagram and do not forward
     to remote clients.

   1 No. Continue.

2. Check MulticastForwardRate. Default is 5.

  -1 Drop datagram. Do not forward any broadcast or multicast. This
     setting is useful to filter out LAN Manager server announcements
     that use multicast datagrams for domain group names. If you
     have a large LAN Manager network with many servers, this can use
     up asynchronous bandwidth.

   0 Guarantees delivery of datagram to client.

  >0 (1 to 32767) Works as a gate. After the designated number of
     seconds, the gate opens and all datagrams arriving at the server
     are forwarded to remote clients. When the gate is closed, all
     datagrams are dropped.

  NOTE: This parameter is useful for reducing LAN Manager server
  announcement traffic. On a large network, all the server
  announcements can look like a steady stream of data flowing over
  the asynchronous line.

3. Check DisableMcastFwdWhenSessionTraffic. Default is 1, enabled.

   1 When a client is busy transferring data during a session (a file
     copy, for example), multicast datagrams are dropped.

  -1 Broadcast datagrams are dropped even if EnableBroadcast is set
     to 1.

   0 Datagrams are always forwarded. This may slow session traffic.

If all conditions above are correct, the RAS Server is ready to forward the
datagram to remote RAS clients, as follows:

1. Check MaxDgBufferedPerGroupName. Default is 10.

  Because of the difference between the LAN speed and the asynchronous line
  speed, datagram traffic must be buffered. The maximum number of datagrams
  that the RAS server can buffer per group name is controlled by
  MaxDgBufferedPerGroupName. In the default (10) is used, every 11th datagram
  is dropped. The maximum is 255. This is a virtual memory parameter, so it is
  a relatively minor drain on system resources.

2. The RAS server checks to see which clients have the group name registered. It
  then multiplexes the datagram to each of these remote clients. RAS clients
  that have NCB_Receive_Datagram posted for that group name receive the
  datagram.

NOTE: For non-session traffic, set RAS AUTODISCONNECT to 0. Datagram traffic is
not counted in the auto-disconnect time-out. Only session traffic is counted. 0
disables auto-disconnecting RAS clients. Also, because of the slow link,
workstations probably do not need to post that many NCB_Receive_Datagrams. You
should be able to get by with 2 or 3.

RAS Client Sends a Datagram
---------------------------

Check NetbiosGatewayEnabled. Default is 1, enabled.

  1 All datagrams sent by remote clients are forwarded onto all transports. The
  default is all valid networks.

  0 Datagrams can only be received by the RAS server if it has an
  NCB_Receive_Datagram posted for the given name.

Remote RAS Workstation Posts NCB_Add_Name
-----------------------------------------

By default, MS LAN Manager and Windows NT post NCB_Add_Name for the computer name
and user identification of the person logging on.

1. The RAS server posts NCB_Add_Group_Name on all available transports (NBF,
  TCP/IP, etc.).

   - MaxNames for RAS: There must be enough names to accommodate all the remote
     clients add request. The default is 255 (the maximum) which should leave
     plenty of room.

   - MaxNames for transport: Each transport has a MaxNames entry that may need
     tuning. It should be set high enough to handle all of the local server
     names plus all of the remote client NetBIOS names. The NBF transport can
     be configured in Control Panel using the "Maximize Throughput and
     Connections" setting. This allows names and sessions to be tuned high
     without any realistic limit. See the Windows NT documentation for
     information on default names in the section covering RemoteListen.

   - If NCB_Add_Group_Name fails on any transport because another system
     responds with an AddNameResponse frame (meaning that another system has
     the group name registered as a unique name), then the group is not added
     on the server or the client workstation.

2. The RAS server posts RcvDgSubmittedperGroupName number of
  NCB_Receive_Datagrams for that unique name. This has nothing to do with how
  many NCB_Receive_Datagrams are posted by the remote client. This is handled
  by the server only. When a client posts NCB_Add_Group_Name or NCB_Add_Name.
  the RAS server automatically posts NCB_Receive_Datagram for each name
  regardless of what the client posts (even if the client does not post
  anything).

LAN System Sends a Datagram to a Unique RAS Client Name
-------------------------------------------------------

1. The RAS Server receives the datagram, and places it in a buffer. (There is no
  parameter to control this buffer: all datagrams are buffered.)

2. A new NCB_Receive_Datagram is posted on the server.

3. The RAS Server forwards the datagram from the buffer to the remote client
  with the unique name posted.

  NOTE: Unique name datagrams take priority over group name datagrams. They are
  forwarded to the client before pending group datagrams. NET LOGON uses unique
  name, directed datagrams that are given priority over group datagrams.

Reference(s)::

See Remote Access Service documentation for the RemoteListen parameter. This
gives related information on session based traffic.

Additional query words: prodnt advanced server serial comm modem

======================================================================
Keywords          : kbnetwork 
Technology        : kbWinNTsearch kbWinNTWsearch kbWinNTW400 kbWinNTW400search kbWinNT400search kbWinNTSsearch kbWinNTS400search kbWinNTS400
Version           : :4.0

=============================================================================

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.