Протокол времени
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
Протокол времени — это сетевой протокол в наборе интернет-протоколов, определенный в 1983 году в RFC 868 Джона Постела и К. Харренстейна. Его цель — предоставить независимую от сайта машиночитаемую дату и время.
Протокол времени может быть реализован поверх протокола управления передачей (TCP) или протокола пользовательских дейтаграмм (UDP). Хост подключается к серверу, поддерживающему протокол времени, через порт 37. Затем сервер отправляет время как 32-битное целое число без знака в двоичном формате и в сетевом порядке байтов , представляющее количество секунд с 00:00 (полночи) 1. Январь 19:00 по Гринвичу, и соединение закрывается. Работа через UDP требует отправки любой датаграммы на порт сервера, поскольку для UDP не требуется настройка соединения.
Фиксированный 32-битный формат данных означает, что временная метка меняется примерно каждые 136 лет, причем первый такой случай произошел 7 февраля 2036 года. Программы, использующие протокол времени, должны быть тщательно разработаны, чтобы использовать контекстно-зависимую информацию, чтобы отличать эти даты от других. в 1900 году.
Многие Unix-подобные операционные системы использовали протокол времени для мониторинга или синхронизации своих часов с помощью утилиты rdate , но эта функция была заменена протоколом сетевого времени (NTP) и соответствующей утилитой ntpdate . NTP более сложен во многих отношениях, в том числе то, что его разрешение составляет менее одной секунды.
реализация Inetd
[ редактировать ]В большинстве UNIX-подобных операционных систем сервер протокола времени встроен в inetd (или xinetd ) демон . Обычно эта служба не включена по умолчанию. Его можно включить, добавив в файл следующие строки /etc/inetd.conf и перезагрузите конфигурацию.
time stream tcp nowait root internal time dgram udp wait root internal
См. также
[ редактировать ]- Эхо-протокол
- Отменить протокол
- Дневной протокол
- Протокол генератора символов
- rdate , инструмент для запроса текущего времени с сетевого сервера.