Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
High Rate of Collisions on 100-Megabit Networks
Identificativo articolo: 315237 - Visualizza i prodotti a cui si riferisce l?articolo.
For a Microsoft Windows 2000 version of this article, see 169789
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/256986/EN-US/ )Description of the Microsoft Windows Registry
If you use the TCP/IP protocol and you have a 100-megabit network adapter, you may notice slow network performance while you copy files. You may also experience this slow performance while you use Windows Explorer in Windows XP.
Note that although the slow performance is known to occur on several 100-megabit network adapters, this issue is not specific to Windows.
This issue is due to a high rate of early collisions on the network. The interframe gap (the amount of time that a workstation waits before attempting to transmit on the wire) is less than the IEEE 802.3 specification of 9.6 microseconds.
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
To resolve this issue, contact the manufacturer of your network adapter for information about increasing the interframe gap.
Intel EtherExpress 100B network adapters have a registry parameter that controls the length of the interframe gap. To modify this parameter if you use an Intel EtherExpress 100B network adapter, follow these steps:
WORKAROUNDTo work around this issue, you can create a TcpWindowSize registry parameter to have the sender wait to receive an ACK from the receiver before sending more data. Making this change reduces the potential for collision. Follow these steps:
Microsoft ha confermato che questo problema si verifica con i prodotti elencati nella sezione "Si applica a..." di questo articolo.
A "collision" occurs when two stations transmit simultaneously on the wire. An "early collision" is any collision that occurs before 512 bits of the frame are on the wire. Early collisions can occur regularly in a normally operating Ethernet network. There is no hardware malfunction or misbehaving station.
The IEEE 802.3 specification states that a station must wait 9.6 microseconds (the interframe gap) before the station can attempt to transmit on the wire. Several adapter manufacturers design their adapters with a smaller interframe gap to achieve higher data transfer rates. This smaller interframe gap can lead to a high rate of collisions.
The potential for collisions is also influenced by the behavior of the upper layer protocol. The TCP/IP specification is sending an ACK (acknowledgement) for every other data frame that is received. That is, after a TCP host receives two data frames, the TCP host transmits an ACK to the sender. The potential for collisions is high if a client that has received two packets tries to send an ACK while the sender is trying to send more data to the client.
Analysis of Windows Explorer File Copy in Windows XPWhen the same file copy is initiated by using a command prompt or by using Windows Explorer in Windows XP, the pattern of data transfer is different. In this case, the redirector issues a 60-kilobyte (KB) "bulk read" or "raw read." The data transfer pattern is shown below:
At the TCP level:
10 CLIENT SERVER SMB C read & X, FID = 0x1004, Read 0xf000 11 SERVER CLIENT SMB R read & X, Read 0xf000 12 SERVER CLIENT NBT SS: Session Message Cont., 1460 Bytes 13 SERVER CLIENT NBT SS: Session Message Cont., 1460 Bytes 14 SERVER CLIENT NBT SS: Session Message Cont., 1460 Bytes 15 SERVER CLIENT NBT SS: Session Message Cont., 1460 Bytes 16 CLIENT SERVER TCP .A...., len: 0, seq:404791-404791, ack 17 CLIENT SERVER TCP .A...., len: 0, seq:404791-404791, ack 18 SERVER CLIENT NBT SS: Session Message Cont., 1460 Bytes 19 SERVER CLIENT NBT SS: Session Message Cont., 1460 Bytes 20 SERVER CLIENT NBT SS: Session Message Cont., 1460 Bytes
When you use the TCP/IP protocol, TCP acknowledgement (ACK) influences the collision. However, the problem is not due to TCP/IP or to the enhancement that makes Windows Explorer able to do 60-KB bulk reads. The problem can be illustrated by using FTP also. TCP/IP, the redirector, and Windows Explorer have absolutely no control over interframe gap. Interframe gap is at the physical layer, which is controlled by the chipset on the adapter. If your network experiences a high rate of collisions, contact the vendor of your network adapter.
10 CLIENT SERVER TCP len: 64, seq: 404727-404790, ack: 6992081 >Client sends 64 bytes of data (SMB command to read 4KB); 11 SERVER CLIENT TCP len: 1460, seq: 6992081-6993540, ack: 404791 >Server sends the piggyback ACK, and the SMB response with some data; 12 SERVER CLIENT TCP len: 1460, seq: 6993541-6995000, ack: 404791 13 SERVER CLIENT TCP len: 1460, seq: 6995001-6996460, ack: 404791 >Server sends rest of the data to the client. >**Collision likely at this point because the client tries to send an ACK. 14 SERVER CLIENT TCP len: 1460, seq: 6996461-6997920, ack: 404791 15 SERVER CLIENT TCP len: 1460, seq: 6997921-6999380, ack: 404791 >But server is able to get the wire and send more data. 16 CLIENT SERVER TCP len: 0, seq: 404791-404791, ack: 6996461 >Client is able to get the wire and send the ACK for data on frames 12 and 13. 17 CLIENT SERVER TCP len: 0, seq: 404791-404791, ack: 6999381 >Client is able to get the wire and send the ACK for data on frames 14 and 15. 18 SERVER CLIENT TCP len: 1460, seq: 6999381-7000840, ack: 404791 19 SERVER CLIENT TCP len: 1460, seq: 7000841-7002300, ack: 404791 >Server continues to send data. >**Collision likely at this point because the client tries to send an ACK. 20 SERVER CLIENT TCP len: 1460, seq: 7002301-7003760, ack: 404791 >But server is able to get the wire and send more data.
For additional information about the TCP/IP protocol, see the white paper titled "TCP/IP Implementation Details," which is available at the following Microsoft anonymous FTP site:
ftp://ftp.microsoft.com/bussys/winnt/winnt-docs/papers/The file name for the white paper is Tcpipimp2.doc.
Identificativo articolo: 315237 - Ultima modifica: sabato 1 dicembre 2007 - Revisione: 2.1
Le informazioni in questo articolo si applicano a
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.