{"id":35,"date":"2013-10-03T18:15:12","date_gmt":"2013-10-03T16:15:12","guid":{"rendered":"http:\/\/wache.name\/blog\/?p=35"},"modified":"2021-03-06T18:09:01","modified_gmt":"2021-03-06T16:09:01","slug":"ntp-w32tm-debug","status":"publish","type":"post","link":"http:\/\/www.windows-infrastructure.de\/ntp-w32tm-debug\/","title":{"rendered":"NTP w32tm Debug"},"content":{"rendered":"
Die Hauptaufgabe des TimeService ist Kerberos sicherzustellen, wobei eine Genauigkeit von 5 Minuten ausreicht. Der Windows TimeService ist nicht f\u00fcr high accuracy environments geeignet. Braucht man eine garantiert genauere Zeit, kommt man um den Einsatz von 3rd Party Zeitgebern nicht herum<\/p>\n
<\/span><\/strong><\/p>\n‚MaxAllowedPhaseOffset’=0x0000012C<\/strong><\/address>\n entspricht\u00a0300 Sekunden \u00a0(default f\u00fcr Domain Clients, 1 f\u00fcr non Domain Clients). Sollte diese Abweichung erreicht und erkannt werden, erfolgt ein sofortiger hard reset, ohne eine stufenweise Ann\u00e4herung.<\/p>\n http:\/\/blogs.technet.com\/askds\/archive\/2007\/10\/23\/high-accuracy-w32time-requirements.aspx<\/a><\/p>\n<\/span>\n jetzt werden 3 Registry Eintr\u00e4ge unter\u00a0HKLM\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\Config<\/strong> erstellt<\/p>\n Das File wird erzeugt, bleibt aber leer bis der Service (Windows Time) restartet wird. ‚FrequencyCorrectRate’=0x00000004<\/em> zu sehen ist der Offset via w32tm \/stripchart<\/em><\/strong>. Der erste Wert -57,50 steigt noch auf -57,52, dann erfolgt die Korrektur.<\/p>\n <\/p>\n CurrentTimeOffset \/ (PhaseCorrectRate * UpdateInterval) < SystemClockRate \/2 Diese Formel ermittelt ob die Zeit graduell (PhaseCorrectRate), oder dies nicht mehr aussreichend ist, und schneller (FrequencyCorrectRate) angepasst werden muss.\u00a0 Solange also die aktuell abweichende Zeit geteilt durch 30.000 (UpdateIntervall) mal 1 (PhaseCorrectRate ) kleiner ist als die halbe SystemClockRate (156000 clock ticks \/ 2) und die 5 Minuten nicht \u00fcberschritten werden (MaxAllowedPhaseOffset) wird graduell angepasst.<\/p>\n Rechnung ist Wahr, von dem her wird die Uhr schrittweise langsam zur\u00fcckgesetzt Zu bedenken ist auch, das Funktionen die SystemClockRate anpassen k\u00f6nnen (timeBeginPeriod). Es kann daher durchaus geschehen das eine Anpassung einer Abweichung von +\/- 10 Sekunden schneller geschieht, als bei evtl. 60 Sekunden eines anderen Systems.<\/p>\n MinPollInterval’=0x0000000A<\/strong> Diese Werte sind in bin\u00e4r hoch hex Sekunden. Minimum ist also 1024 Sekunden (17 Minuten). Maximum ist 32768 Sekunden (9 Stunden).\u00a0 Das sind Standardwerte f\u00fcr Domain und non- Domain Clients, Domain Controller setzen ein Min\/Max von 6 und 10. Diese Werte sind fix und nur \u00fcber die Registry editierbar.<\/p>\n Parameter werden meist in Sekunden oder Clock Ticks angegeben<\/p>\n 3 minuten sind 3*60*1000*10000 = 1800000000 Clock Ticks<\/p>\n mit der ClockDispln wird gegen das Auswandern der Zeit gegengehalten. Erfolgt ein erneutes Polling wird erneut berechnet ob via FrequencyCorrectRate oder PhaseCorrectRate gearbeitet wird, oder evtl. ein hard reset zu erfolgen hat.<\/p>\n","protected":false},"excerpt":{"rendered":" Die Hauptaufgabe des TimeService ist Kerberos sicherzustellen, wobei eine Genauigkeit von 5 Minuten ausreicht. Der Windows TimeService ist nicht f\u00fcr high accuracy environments geeignet. Braucht man eine garantiert genauere Zeit, kommt man um den Einsatz von 3rd Party Zeitgebern nicht… Weiterlesen Das Einschalten des w32tm debuggings<\/h3>\nw32tm \/debug \/enable \/file:c:\\w32debug\\w32time.log \/size:10000000 \/entries:0-116<\/strong><\/address>\n
\n
\n
\n
\n
\nDie Zeit innerhalb des Logs bezieht sich immer auf UTC, spirch Deutsche Sommerzeit -2h, Winterzeit -1h<\/p>\n<\/span>\nein Beispiel aus dem Log:<\/h3>\n<\/span>\n
\n‚PhaseCorrectRate’=0x00000001<\/em>
\n‚UpdateInterval’=0x00007530<\/em><\/p>\n\u00a0<\/address>\n07:51:51 d:+00.0000000s o:-57.5052739s\u00a0 [@\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n07:52:21 d:+00.0000000s o:-57.5262019s\u00a0 [@\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n07:52:47 d:+00.0000000s o:-54.1665774s\u00a0 [@\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n07:53:14 d:+00.0000000s o:-50.5059054s\u00a0 [@\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n07:53:40 d:+00.0000000s o:-46.8452334s\u00a0 [@\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n07:54:06 d:+00.0000000s o:-43.1845614s\u00a0 [@\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]<\/pre>\n
\n<\/strong>575200000 \/ 30000 < 78000
\n<\/strong>19173 < 78000<\/strong><\/address>\n\u00a0<\/address>\n
\nMaxPollInterval’=0x0000000F<\/strong><\/p>\nClock Ticks<\/h3>\n
\n
ClockDispln<\/h3>\n