Временной сервер поддерживается в сети для того, чтобы клиенты могли получать информацию о точном времени. На основании этой информации клиенты могут устанавливать свои системные часы так, чтобы они показывали время, близкое к эталонному (выражение "близкое к эталонному" может означать, что время на системных часах будет отличаться от эталонного всего на несколько миллисекунд). Это позволит избежать проблем, связанных с неодинаковой установкой системного времени. Так, например, если показания системных часов на разных компьютерах различаются, может возникнуть ситуация, при которой клиент запишет файл на сервер, а обратившись к этому же файлу через минуту, обнаружит, что время его создания опережает текущее время на две минуты. Разница во времени может существенно затруднить интерпретацию записей в файлах протоколов. Работа некоторых инструментов, например Kerberos, непосредственно основана на предположении о том, что показания часов клиента и сервера совпадают. Если в сети используются подобные средства, наличие в ней временного сервера обязательно.
Работа программы, реализующей временной сервер, может показаться несколько необычной. Дело в том, что эта программа выполняет функции как сервера, так и клиента. В частности, она не только предоставляет сведения клиентам, но и корректирует показания часов того компьютера, на котором она выполняется. Если в вашей сети есть несколько машин, работающих под управлением UNIX или Linux, вы можете настроить одну из них так, чтобы она получала сведения о точном времени от внешнего сервера, а остальные сконфигурировать для получения данных от первого компьютера. Такая конфигурация снижает нагрузку на внешние серверы. Существуют серверы, специально выделенные для поддержки информации о времени и предоставления ее клиентам. На некоторых из таких серверов для отсчета времени применяются атомные часы, а на других показания часов синхронизируются по радиосигналу, который передает официальная служба времени. Если вы не хотите устанавливать полнофункциональный временной сервер на клиентских компьютерах, можете использовать простую программу, которая выполняет лишь функции клиента. Чтобы показания часов оставались корректными, вам необходимо обеспечить периодический запуск этой программы.
Настройка сервера NTP
Из протоколов, обеспечивающих работу временных серверов, наиболее популярен NTP (Network Time Protocol — сетевой протокол времени), который описан в документе RFC 1305 (http://www.ietf.org/rfc/rfc1305.txt
). Рассмотрению более старых версий этого протокола посвящены документы RFC 958, RFC 1059 и RFC 1119. На момент написания данной книги, т.е. в 2002 году, последней версией NTP была версия 4, но версия 3 продолжала широко использоваться. Основной Web-узел NTP располагается по адресу http://www.eecis.udel.edu/~ntp/
. NTP поддерживает иерархическую структуру временных серверов, в которой сервер, непосредственно получающий данные об эталонном времени, предоставляет их серверам, взаимодействующим с ним; те, в свою очередь, обслуживают другие серверы и т.д. до тех пор, пока информация о времени не доставляется клиентам. Серверы и клиенты NTP разработаны для различных операционных систем, в частности для Linux. Чтобы настроить сервер NTP для работы в системе Linux, необходимо отредактировать лишь один конфигурационный файл. Контроль за действиями сервера осуществляется с помощью специальных инструментов. На компьютерах, находящихся на самом нижнем уровне иерархии NTP, могут быть запущены клиентские программы, которые также просты в использовании.
Существует упрощенный вариант NTP, который называется SNTP (Simple NTP — простой NTP). Клиенты SNTP осуществляют синхронизацию времени, взаимодействуя с серверами NTP.
Функционирование временных серверов
Работа временных серверов начинается с получения сведений о времени от официальных источников. Эти сведения получаются путем считывания показаний атомных часов, приема специальных радиосигналов и т.д. Служба GPS (Global Positioning System — глобальная система позиционирования) принимает временные сигналы со спутников, поэтому может быть использована в качестве официального источника данных о времени. (Информацию об устройствах отсчета времени можно получить, обратившись по адресу http://www.eecis.udel.edu/~ntp/hardware.html
.)