Help and Support

Slow TCP/IP Performance When Resuming Large Data Transfer

Article ID:154579
Last Review:November 15, 2006
Revision:1.1
This article was previously published under Q154579
On This Page

SYMPTOMS

Windows 95 clients using the TCP/IP protocol may experience a considerable delay resuming data transfer to client applications that take a long time to clear the receive window.

Observing a Protocol Analyzer trace of the slow performance shows the following behavior:
1.The server sends a large data transfer.
2.The client runs out of receive window space and indicates a zero-byte window.
3.The server enters exponential backoff until it hits the maximum limit of 240 seconds between window probe packets. Because the time between probes is longer than the 120-second arp cache life, each new window probe requires that the server arp for the client's Media Access Control (MAC) address.
4.The client clears its receive window and advertises additional window space.
5.The server begins transmitting data with an incorrect sequence number.
6.The client acknowledges a previous data send.
7.The server takes up to four minutes to send the correct sequence number.

Back to the top

Sample Protocol Analyzer Trace

1  0.000   Client -> Server
   TCP .A...., len:    0, seq:2192824888, ack: 578989364, win:    0
2  153.452 Client -> Server
   TCP .AP..., len:  512, seq:2192824888, ack: 578989364, win:    0
3  0.008   Client -> Server
   TCP .A...., len:    0, seq:2192825400, ack: 578989364, win:14336
4  0.002   Client -> Server ARP Reply
5  0.001   Server -> Client
   TCP .A...., len: 1460, seq: 578992284, ack:2192825400, win:48640
6  0.005   Client -> Server
   TCP .A...., len:    0, seq:2192825400, ack: 578989364, win:14336
7  0.195   Client -> Server
   TCP .A...., len:    0, seq:2192825400, ack: 578989364, win:14336
8  4.785   Server -> Client
   TCP .A...., len:  357, seq: 578993744, ack:2192825400, win:48640
9  0.003   Client -> Server
   TCP .A...., len:    0, seq:2192825400, ack: 578989364, win:14336
10 0.193   Client -> Server
   TCP .A...., len:    0, seq:2192825400, ack: 578989364, win:14336
11 235.180 Client -> Server
   ARP Reply
12 0.000   Server -> Client
   TCP .A...., len: 1460, seq: 578989364, ack:2192825400, win:48640
				

Back to the top

CAUSE

The server falls out of sequence because its window probes are 240 seconds apart. Therefore, the server has to arp for the client's MAC address when the client advertises its new window space.

The reason this causes the server to fall out of sequence is that the server begins sending data immediately after discovering that the client has additional window space. Because the arp table entry for the client is in the resolving state when the server starts indicating data, TCP/IP cannot send the data to the client. Per RFC, the arp cache only buffers one packet when the destination IP address is in the resolving state. Windows 95 buffers the last packet only, so all sends, except for the last, are dropped until the arp entry has been resolved. When the arp entry for the client is resolved, TCP/IP sends the last packet that was cached to the client, which is out of sequence because the prior sends were dropped while the arp entry was resolving.

The delay that occurs is caused by the server taking 240 seconds to send the correct sequence number.

The reason the server takes 240 seconds to send the correct sequence number is that a retransmit timer started running. The retransmit timer takes 240 seconds to finish before the packet with the correct sequence number can be sent.

Back to the top

STATUS

This problem no longer occurs in Windows 98. To resolve this problem, install the current version of Windows. For information about the current version of Windows, visit http://www.microsoft.com/windows (http://www.microsoft.com/windows).

Back to the top

MORE INFORMATION

For additional information about the ARP cache, please refer to RFC 1122.

Back to the top


APPLIES TO
Microsoft Windows 95

Back to the top

Keywords: 
kbnetwork kbpolicy kbprb KB154579

Back to the top

Article Translations

 

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.