Протокол времени — сетевой протокол в наборе протоколов Интернета . [1] Его цель — предоставить независимую от сайта, машиночитаемую дату и время.
Протокол времени может быть реализован через протокол управления передачей (TCP) или протокол пользовательских датаграмм (UDP). Хост подключается к серверу, который поддерживает протокол времени, через порт 37. Затем сервер отправляет время как 32-битное беззнаковое целое число в двоичном формате и в сетевом порядке байтов , представляющее количество секунд с 00:00 (полночь) 1 января 1900 GMT, и закрывает соединение. Работа через UDP требует отправки любой датаграммы на порт сервера, поскольку для UDP нет настройки соединения.
Фиксированный 32-битный формат данных означает, что временная метка обновляется примерно каждые 136 лет, и первое такое событие произошло 7 февраля 2036 года. Программы, использующие протокол времени, должны быть тщательно разработаны для использования контекстно-зависимой информации, чтобы отличать эти даты от дат 1900 года.
Многие операционные системы типа Unix использовали протокол времени для мониторинга или синхронизации своих часов с помощью утилиты rdate , но эта функция была заменена сетевым протоколом времени (NTP) и соответствующей утилитой ntpdate . NTP более сложен во многих отношениях, среди которых его разрешение составляет менее одной секунды.
В большинстве UNIX-подобных операционных систем сервер протокола времени встроен в демон inetd (или xinetd ) . Обычно эта служба не включена по умолчанию. Ее можно включить, добавив следующие строки в файл /etc/inetd.conf и перезагрузив конфигурацию.
поток времени tcp nowait root внутреннийвремя dgram udp ожидание корень внутренний