Slow Link Detection - Erkennung langsamer Verbindungen

10.01.2013 | Autor: Mark Heitbrink

Verhalten ab Windows Vista
Das ist ein Buch mit 7 Siegeln. Die Knowledgebase gibt da nichts technisch interessantes heraus. Man hat die Technik umgestellt und es wird nicht mehr die Antwortszeit eines ICMP Pakets als Messergebnis missbraucht, sondern es wird lapidar mit der Antwort gekontert: Das macht jetzt die Network Location Awareness (NLA) am Ende über LDAP Queries, aber so wie der Artikel KB Artikel geschrieben ist, würde ich behaupten, die "raten". Es geht immer noch um die 500Kbps, aber sie verraten nicht, wie sie sie messen.

Group Policy Slow Link Detection Using Windows Vista and Server 2008

Verhalten bis Windows XP
Der Client PC sendet beim Start ein ICMP Paket (also praktisch einen 'ping')  an den Domänen Controller. Anhand der Antwortzeit werden weitere Schritte eingeleitet, bzw. eben nicht, wenn die Verbindung als "schnell" erkannt wird.

Ist die Antwortzeit größer als 10 Millisekunden unternimmt der Client weitere Schritte, bleibt die Antwort unterhalb dieser Schwelle, dann geht der Client von einer schnellen Verbindung aus. Wurde die Verbindung aufgrund der Antwortzeit als "potentiell" langsam eingestuft, sendet der Client 3 weitere 2KB große ICMP Pakete an den DC mit dem er verbunden ist.

Aus den 3 Antwortzeiten für die Pakete berechnet der Client den Durchschnitt und bestimmt aufgrund dessen die Netzwerkgeschwindigkeit.

Man könnte jetzt lästerhaft sagen, er "schätzt", denn 3x2KB Pakete ergeben sicherlich keinen "Gutachten-sicheren" Messwert für eine Netzwerkperformance Messung, aber wer möchte schon bei der Anmeldung warten bis 100GB in kleinen und großen Dateien übers Netzwerk kopiert wurden um den "richtigen" Wert herauszukriegen?

Wer es genauer nachvollziehen will, hier der genaue Algorithmus: Group Policy Processing

  1. Ping the server with 0 bytes of data and time the number of milliseconds. This value is time#1. If it is less than 10 ms, exit (assume a fast link).
  2. Ping the server with 2 KB of uncompressible data, and time the number of milliseconds. This value is time#2. The algorithm uses a compressed .jpg file for this
  3. DELTA = time#2 - time#1. This removes the overhead of session setup, with the result being equal to the time to move 2 KB of data
  4. Calculate Delta three times, adding to TOTAL each DELTA value.
  5. TOTAL/3 = Average of DELTA, in milliseconds.
  6. 2 * (2 KB) * (1000 millisec/sec) / DELTA Average millisec = X
  7. X = (4000 KB/sec) / DELTA Average
  8. Z Kilobits per second (Kbps) = (4000 KB/sec) / DELTA Average) *(8 bits/byte)
  9. Z Kbps = 32000 kbps/Delta Avg.

Aufgrund dieser Technik ergibt sich, dass man darauf achten sollte ICMP auf dem DC nicht zu blocken (Stichwort Firewall) und dass die Fragmentierung der Pakete über Router hinweg sauber funktioniert. Ansonten geht der Client immer von einer langsamen Verbindung aus, da die Anfrage ins Leere läuft und diverse Funktionen (CSEs) der GPO sind dann per Default abgeschaltet. Einige CSEs können trotz einer langsamen Verbindung aktiviert werden, andere nicht.

Simpler Test, ob SlowLink ein aktuelles Problem der GPO Übernahme darstellt:

 

ping EuerDC -l 4096
  • Sicherheitseinstellungen immer aktiviert, können auch nicht deaktiviert werden
  • Registrierungsrichtlinien immer aktiviert, können auch nicht deaktiviert werden
  • Softwarezuweisung ist deaktiviert
  • Scripte ist deaktiviert
  • Ordnerumleitung ist deaktiviert

Konfiguration der einzelnen CSE´s über:
Computerkonfiguration\Administrative Vorlagen\System\Gruppenrichtlinie
Name der CSE: Verarbeitung über eine langsame Verbindung zulassen