NTP lub SNTP To jest pytanie?
Wysłane przez Stuart on Grudzień 23rd, 2009
Chociaż dostępnych jest kilka protokołów do synchronizacji czasu, większość czasu sieciowego jest synchronizowana za pomocą jednego z nich NTP lub SNTP.
Protokół NTP (Network Time Protocol) i protokół SNTP (Simple Network Time Protocol) istnieją od początku istnienia Internetu (w przypadku NTP, kilka lat wcześniej) i są zdecydowanie najbardziej popularnymi i szeroko rozpowszechnionymi protokołami synchronizacji czasu.
Jednak różnica między nimi jest niewielka i decyduje, który protokół jest najlepszy dla a serwer czasu NTP lub konkretna aplikacja do synchronizacji czasu może być kłopotliwa.
Jak sama nazwa wskazuje, SNTP to uproszczona wersja Network Time Protocol, ale często pojawia się pytanie: "czym dokładnie jest różnica?"
Główna różnica między dwiema wersjami protokołu polega na zastosowaniu algorytmu. Algorytm NTP może wykonywać kwerendy dla wielu zegarów referencyjnych i obliczyć, który jest najbardziej dokładny.
Wykorzystanie SNTP dla urządzeń o niskim przetwarzaniu - jest przystosowane do mniej wydajnych maszyn, nie wymaga wysokiej dokładności NTP. NTP może również monitorować wszelkie przesunięcia i fluktuacje (niewielkie zmiany kształtu fali wynikające z wahań napięcia zasilania, wibracji mechanicznych lub innych źródeł), podczas gdy SNTP tego nie robi.
Inną istotną różnicą jest sposób, w jaki te dwa protokoły dostosowują się do dryfu w urządzeniach sieciowych. NTP przyspieszy lub spowolni zegar systemowy, aby dopasować czas wejścia zegara referencyjnego do Serwer NTP (przesuwanie), podczas gdy SNTP będzie po prostu przesuwać do przodu lub do tyłu zegar systemowy.
To stopniowe wydłużanie czasu systemu może powodować potencjalne problemy z aplikacjami wrażliwymi na czas, zwłaszcza że krok jest dość duży.
Protokół NTP jest używany, gdy dokładność jest ważna, a aplikacje o znaczeniu krytycznym są zależne od sieci. Jednak jego złożony algorytm nie jest odpowiedni dla prostych maszyn lub tych z mniej wydajnymi procesorami. Z kolei SNTP najlepiej nadaje się do tych prostszych urządzeń, ponieważ zajmuje mniej zasobów komputerowych, jednak nie jest odpowiedni dla żadnego urządzenia, w którym dokładność jest krytyczna lub gdzie aplikacje o znaczeniu krytycznym są zależne od sieci.