The information in this article applies to:
- March Release of Microsoft Windows NT operating system version 3.1
- 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:
- 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.
- 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.
- 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:
- 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.
- 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.
- 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:
- 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.
- 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.
- 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.
- 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
- The RAS Server receives the datagram, and places it in a buffer.
(There is no parameter to control this buffer: all datagrams are
buffered.)
- A new NCB_Receive_Datagram is posted on the server.
- 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.
|