Udostępnij przez


Precyzyjny czas dla Windows Server 2016

Usługa Synchronizacji Czasu Windows jest składnikiem, który używa modelu wtyczkowego do synchronizacji czasu przez dostawców po stronie klienta i serwera. Istnieją dwa wbudowane dostawcy usług klienckich w systemie Windows i dostępne są wtyczki innych firm. Jeden dostawca używa NTP (RFC 1305) lub MS-NTP do synchronizacji czasu systemu lokalnego z NTP i/lub MS-NTP zgodnego serwera odniesienia. Drugi dostawca jest przeznaczony dla Hyper-V i synchronizuje maszyny wirtualne z hostem Hyper-V. Jeśli istnieje wielu dostawców, system Windows wybierze najlepszego dostawcę, korzystając najpierw z poziomu stratum, potem opóźnienia głównego, rozproszenia głównego, a na końcu przesunięcia czasu.

Note

Aby zapoznać się z szybkim przeglądem usługi Czas systemu Windows, obejrzyj ten film prezentujący ogólne zagadnienia.

W tym temacie omówiono ... te tematy związane z włączaniem dokładnego czasu:

  • Improvements
  • Measurements
  • Najlepsze praktyki

Important

Dodatek, do którego odwołuje się artykuł o Dokładnym czasie systemu Windows 2016, można pobrać tutaj. Ten dokument zawiera więcej szczegółowych informacji na temat naszych metodologii testowania i pomiaru.

Note

Model wtyczki dostawcy czasu systemu Windows jest udokumentowany w witrynie TechNet.

Hierarchia domeny

Konfiguracje domeny i konfiguracje autonomiczne działają inaczej.

  • Członkowie domeny używają bezpiecznego protokołu NTP, który używa uwierzytelniania, aby zapewnić bezpieczeństwo i autentyczność odwołania do czasu. Członkowie domeny synchronizują się z zegarem głównym określonym przez hierarchię domeny i system oceniania. W domenie istnieje hierarchiczna warstwa warstwy czasu, w której każdy kontroler domeny wskazuje nadrzędny kontroler domeny z dokładniejszą warstwą czasu. Hierarchia rozwiązuje się na główny kontroler domeny (PDC) lub kontroler domeny w głównym korzeniu lasu, lub kontroler domeny z flagą domeny GTIMESERV, która określa dobrze skonfigurowany serwer czasu dla domeny. Zobacz sekcję [Określ lokalną niezawodną usługę czasową za pomocą GTIMESERV] poniżej.

  • Maszyny autonomiczne są domyślnie skonfigurowane do używania time.windows.com. Ta nazwa jest rozpoznawana przez serwer DNS, który powinien wskazywać zasób należący do firmy Microsoft. Podobnie jak wszystkie zdalne odniesienia czasowe, awarie sieci mogą uniemożliwić synchronizację. Obciążenia ruchu sieciowego i asymetryczne ścieżki sieciowe mogą zmniejszyć dokładność synchronizacji czasu. W przypadku dokładności 1 ms nie można zależeć od zdalnych źródeł czasu.

Ponieważ goście Hyper-V będą mieli do wyboru co najmniej dwóch dostawców czasu systemu Windows, czas hosta i NTP, mogą występować różne zachowania w konfiguracji Domena lub Samodzielny podczas działania jako goście.

Note

Aby uzyskać więcej informacji na temat hierarchii domeny i systemu oceniania, zobacz "Co to jest usługa Czas systemu Windows?" wpis na blogu.

Note

Stratum jest koncepcją używaną zarówno w protokołach NTP, jak i Hyper-V, a jej wartość wskazuje lokalizację zegarów w hierarchii. Warstwa 1 jest zarezerwowana dla zegara najwyższego poziomu, a warstwa 0 jest zarezerwowana dla sprzętu zakłada się, że jest dokładny i ma niewielkie lub nie opóźnienie związane z nim. Warstwa 2 komunikuje się z serwerami warstwy 1, warstwa 3 z warstwą 2 i tak dalej. Podczas gdy niższa warstwa często wskazuje dokładniejszy zegar, istnieje możliwość znalezienia rozbieżności. Ponadto W32time akceptuje tylko czas z warstwy 15 lub niższej. Aby wyświetlić warstwę klienta, użyj polecenia w32tm /query /status.

Czynniki krytyczne dla dokładnego czasu

W każdym przypadku dokładnego czasu istnieją trzy kluczowe czynniki:

  1. Solid Source Clock — zegar źródłowy w domenie musi być stabilny i dokładny. Zwykle oznacza to zainstalowanie urządzenia GPS lub wskazanie na źródło Stratum 1, uwzględniając punkt trzeci. Analogia idzie, jeśli masz dwie łodzie na wodzie, a próbujesz zmierzyć wysokość jednego w porównaniu z drugim, dokładność jest najlepsza, jeśli źródłowa łódź jest bardzo stabilna i nie porusza się. To samo dotyczy czasu, a jeśli zegar źródłowy nie jest stabilny, cały łańcuch zsynchronizowanych zegarów jest dotknięty i powiększony na każdym etapie. Musi być również dostępny, ponieważ zakłócenia w połączeniu będą zakłócać synchronizację czasu. I wreszcie, musi być bezpieczny. Jeśli odniesienie do czasu nie jest prawidłowo utrzymywane lub obsługiwane przez potencjalnie złośliwą stronę, możesz narazić swoją domenę na oparte na czasie ataki.
  2. Stabilny zegar klienta - stabilne zegary klienta zapewniają, że naturalny dryf oscylatora jest możliwy do zniesienia. NTP używa wielu próbek z potencjalnie wielu serwerów NTP do synchronizacji i regulacji zegara twoich lokalnych komputerów. Nie zmienia to czasu, ale raczej spowalnia lub przyspiesza zegar lokalny, aby szybko zbliżyć się do dokładnego czasu i zachować dokładność między żądaniami NTP. Jeśli jednak oscylator zegara na komputerze klienckim nie jest stabilny, może wystąpić więcej wahań pomiędzy korektami, a algorytmy, których używa system Windows do dostrajania zegara, nie działają poprawnie. W niektórych przypadkach aktualizacje oprogramowania układowego mogą być potrzebne, aby zapewnić dokładny czas.
  3. Symetryczna komunikacja NTP — ważne jest, aby połączenie komunikacji NTP było symetryczne. NTP używa obliczeń, aby dostosować czas, który zakłada, że ścieżka sieciowa jest symetryczna. Jeśli pakiet NTP na serwer przebywa inną trasę w drodze powrotnej, ma to wpływ na dokładność. Na przykład ścieżka może ulec zmianie z powodu zmian topologii sieci lub pakietów kierowanych przez urządzenia o różnych szybkościach interfejsu.

W przypadku urządzeń zasilanych baterią, zarówno mobilnych, jak i przenośnych, należy wziąć pod uwagę różne strategie. Zgodnie z naszym zaleceniem, utrzymywanie dokładnego czasu wymaga, aby zegar był dyscyplinowany raz na sekundę, co koreluje z częstotliwością aktualizacji zegara. Te ustawienia zużywają więcej mocy baterii niż oczekiwano i mogą zakłócać tryby oszczędzania energii dostępne w systemie Windows dla takich urządzeń. Urządzenia zasilane z baterii mają również pewne tryby zasilania, które uniemożliwiają działanie wszystkich aplikacji, co zakłóca zdolność W32time do dyscyplinowania zegara i utrzymania dokładnego czasu. Ponadto zegary na urządzeniach przenośnych mogą na początku nie być bardzo dokładne. Warunki środowiskowe otoczenia wpływają na dokładność zegara, a urządzenie przenośne może przejść z jednego stanu otoczenia do następnego, co może zakłócać jego zdolność do dokładnego utrzymania czasu. W związku z tym firma Microsoft nie zaleca konfigurowania urządzeń przenośnych zasilanych baterią z ustawieniami wysokiej dokładności.

Dlaczego czas jest ważny?

Istnieje wiele różnych powodów, dla których może być potrzebny dokładny czas. Typowy przypadek systemu Windows to Kerberos, który wymaga 5 minut dokładności między klientem a serwerem. Istnieje jednak wiele innych obszarów, które mogą mieć wpływ na dokładność czasu, w tym:

  • Przepisy rządowe, takie jak:
    • Dokładność 50 ms dla FINRA w USA
    • 1 ms ESMA (MiFID II) w UE.
  • Algorytmy kryptograficzne
  • Systemy rozproszone, takie jak Cluster/SQL/Exchange i Document DBs
  • Struktura łańcucha bloków dla transakcji bitcoin
  • Logi rozproszone i analiza zagrożeń
  • Replikacja usługi AD
  • PCI (Payment Card Industry), obecnie 1 sekunda dokładności

Dodatkowe źródła