Adjust Parameters to Connect to LAN Man Over Slow Link (98849)
This article was previously published under Q98849
SUMMARY
Data transfer between LAN Manager 2.2 workstations and servers (using
NetBEUI protocol) can sometimes fail due to slow or congested links,
or intermediate systems (bridges, routers) with inadequate buffering.
You can increase chances for successful data transfer by increasing T1
(and possibly dlcretries) on the workstation AND the server. You may
also need to increase sesstimeout on the workstation and the related
serverheuristic 15 on the server.
The symptoms of a timeout-related data transfer failure vary depending
on the type of process running on the workstation. For example, if you
are copying files to/from the server at the MS-DOS command line, one
of the following errors may occur:
NET805: Network device no longer exists reading drive H
Abort, Retry, Fail?
where H is the logical drive you were copying files to/from, or
NET804: Network busy
Abort, Retry, Fail?
MORE INFORMATION
On a slow link, you need to increase the "session timeout" and the
"frame acknowledgment timeout" parameters to eliminate data transfer
timeout failures.
Session Timeout
When the redirector and server set up a session (NET USE), they can
each specify to the protocol driver a "session timeout" parameter.
Later, whenever the redirector or server submits an Server Message Block
(SMB) message to the underlying protocol driver for transmission on the
network, the driver must manage to transmit the entire message within the
"session timeout" period or it returns a timeout error.
This session timeout is exposed differently in the redirector and the
server. You need to remember that if you have a slow link between
redirector and server you must increase this "session timeout" on both
the redirector (workstation, client) side and the server side. On the
redirector side, the session timeout is exposed by means of the
sesstimeout parameter. (Note: sesstimeout also determines how long the
redirector is willing to wait to receive a response SMB message from the
server). Contrary to early (pre- LAN Manager 2.2) documentation, as of
LAN Manager 2.1, sesstimeout applies to MS-DOS REDIR as well as OS/2
REDIR.
Configure SESSTIMEOUT as follows (default = 45):
2-127 Actual value in seconds
128-65534 127 seconds
65535 Don't timeout (wait forever)
Remember that when you increase this timeout on the redirector, you
also normally need to increase the related timeout on the server side.
The server side session timeout is exposed by means of serverheuristic 15.
The documentation describes this heuristic as "oplock timeout," but does
not include the fact that this same heuristic is also used to set the
"session timeout." The heuristic values documented are correct for the
oplock timeout, but do not correspond to the values used for the session
timeout. The following table lists the session timeout values that
correspond to the range of values that heuristic 15 can be set to
(default = 1):
0 34 seconds
1 68 seconds
2-8 127 seconds
9 Don't timeout (wait forever)
Frame Acknowledgment Timeout
Because the redirector and server can submit an SMB message up to
64K long, but the adapter can transmit only small data units (Ethernet
can transmit only about 1500 bytes), NetBEUI breaks the SMB message
(that it received from the redirector or server) into "frames." It
labels them as belonging to the start-of-message, middle-of-message or
end-of-message, sequences them and hands them off to the adapter for
transmission on the network. Most data transfer between the redirector
and server is "reliable connection oriented," which implies, among other
things, that after NetBEUI transmits frame X it must wait for the remote
station to send a frame acknowledging receipt of frame X. (For simplicity,
this explanation ignores protocol optimizations such as windowing.)
The question is: once frame X has been sent, how long will NetBEUI wait
to receive the frame X acknowledgment? The answer is: it will wait for T1
(default 0.5 seconds). If the acknowledgment does not arrive within that
time, NetBEUI tries again as many times as are specified by the dclretries
parameter (default 5), each time doubling the wait period (T1*2, T1*4,
T1*8, topping out at T1*16).
Over a slow link, it takes longer for frame X to get to the remote
station, and longer for the frame X acknowledgment to get back. So
when you are communicating with servers across slow links and you
increase the "session timeout" on both sides as described earlier, you
usually also need to increase the "frame acknowledgment timeout" (T1)
on both sides. And it is usually a good idea to increase dlcretries a
bit also. Tuning T1 (the timeout) to accommodate the average round
trip time (and increasing the retries at times when the slow link is
especially busy), along with the automatic opening up of the timeout
period, enables the frame- acknowledgment transaction to eventually
succeed.
Note 1
Increasing netbiostimeout (and possibly netbiosretries) helps ensure
that the initial connection (NET USE) succeeds, but does not affect
data transfer.
Note 2- sesstimeout is in the LANMAN.INI file [workstation] section.
- serverhuristic 15 is in the LANMAN.INI file [server] section.
- T1 and dlcretries are in the PROTOCOL.INI file [NetBEUI] section.
- netbiostimeout and netbiosretries are in the PROTOCOL.INI file
[NetBEUI] section.
Modification Type: |
Major |
Last Reviewed: |
7/30/2001 |
Keywords: |
kbnetwork KB98849 |
|