TCP Selective ACK (SACK) funktioniert nie und Delayed ACK (DelAck) funktioniert nur gelegentlich für eingehenden Datenverkehr. Das Betriebssystem unterstützt jedoch beides

614
user786008

Leistungsdiagramme aus dem Windows-Systemmonitor zeigen Folgendes:

  • Für alle getesteten Internetverbindungen außer der Geschwindigkeitstestseite meines Internetdienstanbieters ist die Anzahl der gesendeten Segmente (nsend) die Anzahl der empfangenen Segmente (nrecv) für eingehenden Datenverkehr (Downloads). Für die ISP-Geschwindigkeitstestseite nsend ≈ nrecv / 2 für Downloads.

  • Nsend ≈ nrecv / (der Wert von TcpAckFrequency in der Registrierung) für alle getesteten LAN-Verbindungen für Downloads.

Diagramme: ISP-Geschwindigkeitstestseite Internetverkehr 1 Internetverkehr 2 LAN-Verkehr 1 LAN-Verkehr 2

Das bedeutet, dass:

  • SACK wurde noch nie benutzt.

  • Auf meine Präferenz abgestimmte DelAck wird nur im LAN verwendet.

  • Mit Ausnahme dieser ISP-Seite wird jedes Paket für Internet-Downloads ACK angenommen.

Was ich erwarte ist für ALLE Netzwerkverbindungen, unabhängig davon, ob es sich um Internet oder LAN handelt:

  • nsend ≤ nrecv / TcpAckFrequency für Downloads.

  • Idealerweise sollte nur dann eine einzige ACK gesendet werden, wenn eine volle RWIN gefüllt ist, in der der Empfänger dem Absender mitteilt, dass alle Segmente erfolgreich empfangen wurden.

Ich glaube, die Aktivierung von SACK und DelAck reduziert den TCP-Overhead und verbessert somit den Durchsatz, da nur eine kleine Anzahl von ACK-Paketen gesendet werden muss und die Verarbeitungsleistung durch das Parsen all dieser überflüssigen ACKs gespart wird.

Betriebssystemkonfiguration:

  • Win7 64bit PC, Version 6.1.7601

  • Realtek-PCIe-NIC

  • 200 MBit / s FTTH-Abonnement mit periodischen und dramatischen Verbindungsgeschwindigkeiten (512 kbps bis 20 mbps) im internationalen Verkehr

  • HKLM \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ SackOpts = 1

  • HKLM \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Tcp1323Opts = 2

  • HKLM \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Interfaces \ GUID \ TcpAckFrequency = 4 // versuchte es auch mit 2 und 6

  • HKLM \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Interfaces \ GUID \ TcpDelAckTicks = 3 // RTT ist normalerweise 70 bis 150 ms für Internetverkehr. Daher habe ich 100 ms zu OS-Standard hinzugefügt, so dass verzögertes Ack besser funktionieren kann, ohne die anfänglichen RWINs zu sehr zu beeinträchtigen

  • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Tcpip \ Parameters \ Interfaces \ GUID \ TcpNoDelay = 1

  • Die empfangsseitige Skalierung und die automatische RWIN-Anpassung werden auch mit dem NETSH-Dienstprogramm aktiviert.

0
Bekommt derselbe Host, der manchmal im "internationalen Verkehr" nur 512 kbit / s erreicht, die volle Geschwindigkeit zu anderen Zeiten? Was ist das Problem, das Sie mithilfe dieser Einstellungen tatsächlich beheben möchten? Seth vor 6 Jahren 0
@Seth Ja. Der Internetdienstanbieter hat die gesamte Stadt für 2 Jahre "Glasfaser-DSL" "genießen" können, und alle von 8 bis 80 Jahren melden sich an, da der Internetdienstanbieter Ihnen sagt, dass Sie 100 MB / s erhalten. Die Leistung internationaler Verbindungen hat sich durch zu viele Benutzer verschlechtert, die so stark sind, dass ab und zu Paketabbrüche stattfinden. Der ISP scheint die Bandbreitenzuteilung zu verbessern, sodass wir das Gefühl haben, dass die Dinge nicht so schlecht sind, was zu "zufälligen" unregelmäßigen Bandbreiten führt Paket-Drop-Raten. Ich denke, es wäre ratsam, die Anzahl der ACKs zu reduzieren, die gesendet werden müssen, um Paketabfälle zusätzlich zu anderen Optimierungen wie RWIN und RTO zu beseitigen. user786008 vor 6 Jahren 0
Mit dieser Annahme hätten Sie nicht mehr Pakete verloren? Immerhin würden Sie nur gelegentlich ACK. Wenn Ihr Anbieter schlechte Bewertungen hat, können Sie nicht viel tun. Der Overhead für TCP-ACKs ist für die meisten Anwendungen vernachlässigbar. Haben Sie mit Ihrem ISP über das Problem gesprochen? Was tun Sie, um diese Probleme zu bemerken? Seth vor 6 Jahren 0
Ich habe über Ihren Zweifel nachgedacht, aber ich glaube, es ist tatsächlich ein Glücksspiel. (a) Wenn Sie denken, je mehr ACKs gesendet werden, desto wahrscheinlicher ist das Ablegen des ACK-Pakets. Je wahrscheinlicher die erneute Übertragung von bereits ACK-Segmenten und damit mehr unnötiger Störsignale, und (b) Sie denken, je mehr ACKs Sie senden, desto wahrscheinlicher ist das Auf der anderen Seite werden verlorene Pakete rechtzeitig geliefert. Je höher die Geschwindigkeit, desto besser. Da das Standardverhalten in (b) fällt, würde ich versuchen zu sehen, ob (a) besser funktioniert. Der ISP sagte nur, dass sie nur arbeiten, um den "stadtweiten" Durchsatz bei dieser Geschwindigkeit zu halten. Ich habe die Tweak-Ergebnisse überprüft und bin in dieses Thema eingestiegen user786008 vor 6 Jahren 0

0 Antworten auf die Frage