Netwerk vertraagt als u bestanden kopieert naar een domeincontroller met Windows 2000 of Windows Server 2003

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 321098 - Bekijk de producten waarop dit artikel van toepassing is.
Belangrijk Dit artikel bevat informatie over het bewerken van het register. Maak eerst een reservekopie van het register voordat u dit gaat bewerken. Ga eerst na of u weet hoe u het register kunt herstellen als er een probleem optreedt. Als u meer informatie wilt over het maken van een back-up van het register en het herstellen of wijzigen van het register, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
256986 Beschrijving van het Microsoft Windows-register
Alles uitklappen | Alles samenvouwen

Symptomen

Als u bestanden kopieert vanaf een computer met Microsoft Windows 2000, Microsoft Windows XP of Microsoft Windows Server 2003 naar een netwerkshare op een domeincontroller met Windows 2000 of Windows Server 2003, verloopt de bewerking langzamer dan bij het kopiëren van dezelfde bestanden naar een lidserver met Windows 2000 of Windows Server 2003. Dit probleem kan optreden bij het kopiëren van een groot aantal kleine bestanden, maar ook bij enkele grote bestanden. Het probleem treedt alleen op als u Microsoft Windows Verkenner gebruikt voor het kopiëren van de bestanden of als een Windows Verkenner-venster geopend is en verbonden met de doelserver. Het probleem doet zich niet voor wanneer u de bestanden kopieert met de opdracht Xcopy.exe en alle vensters van Windows Verkenner gesloten zijn.

Oorzaak

Het probleem doet zich voor omdat bij SMB-schrijfbewerkingen (Server Message Block) naar een domeincontroller met Windows 2000 of Windows Server 2003 een vertraging van 200 milliseconden optreedt tussen elke bestandskopie.

Als u een trace van het probleem bekijkt, ziet u dat de vertraging optreedt nadat de client de server een SMB Notify Change-opdracht heeft gestuurd met de FID-vermelding die overeenkomt met de FID-vermelding in de doelmap. Windows Verkenner verzendt een Notify Change-verzoek naar de netwerkshare, waarin wordt verzocht een waarschuwing te verzenden wanneer er iets verandert in de map die wordt weergegeven in het rechterdeelvenster van Windows Verkenner. Als een domeincontroller het Notify Change-verzoek ontvangt, reageert de domeincontroller daar niet direct op, maar worden er pas pakketten verzonden na 200 milliseconden. Op dat moment wordt een eenvoudig TCP ACK-pakket (Transmission Control Protocol Acknowledgement-pakket) verzonden en wordt de bestandsverwerking hervat.

Dit probleem is het resultaat van de interactie tussen twee belangrijke netwerkonderdelen van Windows 2000, TCP ACK-vertraging en threadprioriteit op domeincontrollers. Door threadprioriteit kan een domeincontroller op de juiste wijze prioriteit verlenen aan directory-services en accountbeheerbewerkingen vóór bepaalde SMB-bewerkingen, zoals het reageren op Notify Change-verzoeken.

Oplossing

Waarschuwing Er kunnen zich ernstige problemen voordoen als u het register met de Register-editor of met een andere methode foutief wijzigt. Wellicht moet u door deze problemen het besturingssysteem opnieuw installeren. Microsoft kan niet garanderen dat deze problemen opgelost kunnen worden. Het wijzigen van het register is dan ook voor uw eigen risico.
Dit probleem treedt slechts op in zeer specifieke omstandigheden: alleen als een client Windows Verkenner gebruikt om een groot aantal bestanden naar een Windows 2000-domeincontroller te kopiëren. Als u de waarde voor de ACK-timervertraging wijzigt, kunt u enkele symptomen bestrijden, maar houd er rekening mee dat er andere problemen kunnen ontstaan wanneer u een belangrijke TCP/IP-waarde wijzigt. Het is derhalve raadzaam eerst naar andere oplossingen te zoeken voordat u de timer wijzigt. U kunt bijvoorbeeld de bestandsshares naar een lidserver verplaatsen of een ander programma gebruiken (zoals Xcopy of Robocopy, die deel uitmaken van de Windows 2000 Resource Kit) om grote aantallen bestanden naar een domeincontroller te kopiëren.

Op de domeincontroller kunt u de registerwaarde TcpDelAckTicks bewerken om de TDP ACK-timervertraging aan te passen. Als u de TCP ACK-timervertraging instelt op een lagere waarde, verzendt de server meer ACK-pakketten met kortere intervallen.

In een netwerk met lange wachttijden (zeer verzadigd segment) neemt door dit gedrag het aantal ACK-pakketten van de domeincontroller toe en wordt het netwerk extra belast. Test de waarde uitgebreid om te voorkomen dat de gewijzigde TCP ACK-timervertraging extra vertragingen op het netwerk veroorzaakt.

Als het netwerk de extra ACK-pakketten aankan, pas dan de volgende pre-Service Pack 3 (SP3) hotfix toe op Windows 2000 Service Pack 2 (SP2), zodat u de waarde van de ACK-timervertraging kunt wijzigen:

311833 De registerwaarde TcpDelAckTicks heeft geen invloed op time-outs van Ack's
Nadat u deze hotfix hebt toegepast, voert u de volgende procedure uit om de volgende registerwaarde toe te voegen, waarmee de aangepaste parameter voor de ACK-timervertraging wordt opgegeven:
  1. Start de Register-editor (Regedt32.exe).
  2. Klik op de volgende sleutel in het register, waarbij Adapter GUID de GUID (Globally Unique Identifier) is voor de netwerkadapter die verbinding maakt met de clients:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\Adapter GUID
  3. Klik op Waarde toevoegen in het menu Bewerken en voeg de volgende registerwaarde toe:
    Naam: TcpDelAckTicks
    Type: REG_DWORD
    Gegevens: U kunt deze waarde instellen op een bereik van 0 tot 6. De standaardinstelling is 2 (200 milliseconden).
  4. Sluit de Register-editor af.
  5. Start Windows opnieuw om de wijziging te activeren.
Met deze registerwaarde geeft u het aantal intervallen van 100 milliseconden op voor de ACK-timervertraging in de verschillende interfaces. Standaard is de waarde voor de ACK-timervertraging 200 milliseconden. Als u de waarde TcpDelAckTicks instelt op 0, schakelt u de ACK-vertraging uit. De computer verzendt dan onmiddellijk een ACK-pakket zodra een pakket wordt ontvangen.

Opmerking Specifieke adapterwaarden worden weergegeven onder de subsleutels van de adapters. Voeg de waarde TcpDelAckTicks toe aan de volgende registersleutel:
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\Adapter GUID
Voeg deze waarde niet toe aan de volgende registersleutel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

Status

Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Meer informatie

In netwerk-traces kunt u zien dat vanaf de client het volgende wordt verzonden: 'SMB: C NT transact - Notify Change'-pakket. De Windows 2000-domeincontroller stuurt 200 milliseconden later een ACK-pakket terug naar de client. Nadat de client het ACK-pakket heeft ontvangen, start de client de volgende SMB-bewerking en wordt het volgende bestand gekopieerd.

Opmerking Als u met Netwerkcontrole werkt, kunt u de vertragingen beter zien als u het volgende filter gebruikt:
SMB:Command == 0xA0 ( NT transact )
Gebruik dit filter in combinatie met de volgende weergave-opties:
Tijd: (x) seconden vanaf vorig frame
U kunt de overeenkomstige verzoeken en antwoorden identificeren door het volgende SMB-framekenmerk te bekijken:
SMB: Multiplex ID (MID)
De functie voor ACK-vertraging is gebaseerd op RFC (Request for Comments) 1122. TCP gebruikt ACK-vertraging om het aantal pakketten te beperken dat over het netwerk wordt verzonden. De Microsoft TCP/IP-stack volgt een algemene benadering voor de implementatie van ACK-vertraging. Wanneer de gegevens door TCP via een verbinding worden ontvangen, retourneert de stack alleen een ACK als aan de volgende voorwaarden wordt voldaan:
  • Voorwaarde 1: Er is geen ACK verzonden voor het vorige ontvangen segment.
  • Voorwaarde 2: Er is een segment ontvangen, maar er komt binnen de standaardwaarde van 200 milliseconden geen nieuw segment binnen via de verbinding.
Standaard wordt een ACK verzonden voor elk tweede TCP-segment dat via een verbinding wordt ontvangen, tenzij de ACK-timervertraging (200 milliseconden) is verlopen. U kunt de ACK-timervertraging aanpassen door de procedure uit te voeren die wordt beschreven in de sectie 'Oplossing' van dit artikel, waarmee de registerwaarde TcpDelAckTicks wordt toegevoegd (deze waarde is nieuw in Windows 2000).

Opmerking Houd er rekening mee dat er onverwachte problemen kunnen optreden wanneer u de registerwaarde TcpDelAckTicks wijzigt. Het is derhalve raadzaam eerst naar andere oplossingen te zoeken voordat u de timer wijzigt.

De vertraging treedt op als het vorige pakket is bevestigd en het antwoord op het Notify Change-verzoek door een domeincontroller in de wachtrij is geplaatst gedurende een periode die langer is dan 200 milliseconden. Omdat de standaard ACK-timer is ingesteld op 200 milliseconden, wordt het TCP ACK-pakket 200 milliseconden na ontvangst van het Notify Change-verzoek verzonden. Omdat de client wacht op een reactie van de server alvorens de volgende SMB-bewerking uit te voeren, treedt de vertraging op omdat de ACK-timervertraging van de server duurt totdat de drempelwaarde wordt bereikt. Als u een netwerk-trace uitvoert, zult u zien dat niet bij elk Notify Change-verzoek van de client een vertraging optreedt.

Het Notify Change-verzoek waarbij geen vertraging optreedt, wordt voorafgegaan door een ander pakket waarvoor geen bevestiging is verzonden. De bevestiging is niet vertraagd in de domeincontroller omdat is voldaan aan de eerste voorwaarde die aan het begin van deze sectie is beschreven. Bij de Notify Change-verzoeken waarbij wel vertraging optreedt, zijn de voorgaande pakketten bevestigd. Daarom reageert de domeincontroller pas nadat de ACK-timervertraging is verlopen (de standaardwaarde is 200 milliseconden) omdat aan de tweede voorwaarde die aan het begin van deze sectie is beschreven is voldaan.

Het is niet mogelijk om de threadprioriteit van een domeincontroller te wijzigen. Daarom moet u een lagere waarde voor de TCP ACK-timervertraging instellen om de symptomen te bestrijden die in de sectie 'Symptomen' van dit artikel worden beschreven. Nadat u de waarde hebt gewijzigd, stuurt de server vaker ACK-waarden, maar met kortere intervallen.

Raadpleeg voor meer informatie over de registerwaarde TcpDelAckTicks het whitepaper op de volgende Microsoft-website:
Microsoft Windows 2000 TCP/IP Implementation Details
Klik voor meer informatie over dit probleem op het volgende artikelnummer in de Microsoft Knowledge Base:
270926 Problemen met het kopiëren van bestanden in een netwerk oplossen in Windows 2000
Clients met Windows XP of Windows Server 2003 bevatten de nieuwe registersleutel TcpAckFrequency, waarmee TCP ACK's worden beheerd voordat de ACK-timervertraging wordt bereikt. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
328890 Nieuwe registervermelding voor het besturen van het gedrag van TCP-bevestigingen (ACK) in Windows XP en Windows Server 2003
Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
321169 Als het SMB-protocol wordt gebruikt, verloopt het kopiëren van bestanden van Windows XP naar een Windows 2000-domeincontroller traag

Eigenschappen

Artikel ID: 321098 - Laatste beoordeling: dinsdag 20 december 2005 - Wijziging: 4.1
De informatie in dit artikel is van toepassing op:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Service Pack 2
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Advanced Server
Trefwoorden: 
kbprb KB321098

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com