Sam protokół NTP należy odróżniać od konkretnych implementacji – serwerów i klientów, które realizują jego algorytmy. Do szeroko stosowanych implementacji należą klasyczna referencyjna usługa rozwijana w ramach NTP Project, niezależnie napisany oraz utwardzony pod kątem bezpieczeństwa fork ; uproszczonymi klientami SNTP są m.in. usługa Windows Time w systemach Microsoft Windows oraz wbudowany w systemd komponent systemd-timesyncd.
Historia i wersje Prace, z których wywodzi się NTP, rozpoczęły się przed formalną specyfikacją protokołu w badaniach Davida L. Millsa nad synchronizacją zegarów w sieciach pakietowych. Wczesne rozwiązania zostały opisane między innymi w IEN 173 oraz w RFC nr 778 dotyczącym DCNET Internet Clock Service. Pierwsza specyfikacja Network Time Protocol, oznaczana później jako NTPv0, ukazała się w RFC nr 958 w 1985 roku i zawierała format pakietu oraz wzory na opóźnienie i przesunięcie zegarów używane także w późniejszych wersjach.
NTPv1 został opisany w RFC nr 1059 z 1988 roku, NTPv2 w RFC nr 1119 z 1989 roku, a szeroko stosowana wersja NTPv3 w RFC nr 1305 z 1992 roku.