DOCUMENT:Q97559  20-JUL-1993  [W_NT]
TITLE   :INF: How Remote Access Service Processes Datagram Traffic
PRODUCT :Windows NT
PROD/VER:3.10
OPER/SYS:WINDOWS
KEYWORDS:

----------------------------------------------------------------------
The information in this article applies to:
 
 - March Release of Microsoft Windows NT operating system version 3.1
----------------------------------------------------------------------
 
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 reference words: 3.10 advanced server serial comm
modem

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

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 1993.