This page is an archived copy on Gagin.ru personal site



5Internet - ежемесячное приложение к сети
АрхивРеклама в журналеКнига отзывов
FAQВыходные данныеОбратная связь



Технология



Часовых дел сервер


или Как сверяют время в Интернете

Максим Тигулев
shelter@dataforce.net

Как узнать, сколько сейчас времени? Посмотреть на часы. А если они идут неверно, то как их проверить? Включить радио или набрать известный телефонный номер. А если радио только музыкальное, а телефон, как у настоящего нетмэна, занят Интернетом?

Тогда можно посмотреть на cолнце (если день) или на звезды (если ночь), как делали наши далекие предки, а можно запустить маленькую программку, которая соединится со специальным сервером и не только получит от него временной штамп, но и подправит встроенные часы вашего компьютера с учетом нужного часового пояса и летнего/зимнего времени.

Для удобства исчисления времени карта земного шара разделена меридианами (проведенными через 15 градусов) на 24 часовых пояса, в каждом из которых минуты и секунды - одинаковы, а количество часов различается на единицу. Пояс, через который проходит Гринвичский меридиан (там, в предместьях Лондона, расположена обсерватория), принят за нулевой, и его время считается мировым (GMT - Greenwich mean time). Таким образом, Москва находится во втором часовом поясе, и московское время должно отличаться от лондонского на два часа. Но мы знаем (или, по крайней мере, догадываемся), что стандартное время у нас отличается от лондонского на три часа. В чем же дело? А дело в том, что согласно постановлению Совета Народных Комиссаров в 1930 году часовая стрелка была переведена на час вперед, как написано в Энциклопедическом словаре 1953 года издания, "для более рационального использования светлой части суток", а время это получило название декретного. Впоследствии оно было отменено и восстановлено лишь в январе 1992 года.

С той же целью - получить в летнее время больше света вечером - был введен ежегодный переход на "летнее" время в конце марта, с последующим возвратом на "зимнее" время в конце сентября. Таким образом, летом московское время отличается от GMT на четыре часа, а зимой - на три.

Кстати, все, кто работает с операционной системой Windows 95, в воскресенье 28 сентября были озабочены вопросом перехода на зимнее время. Пунктуальная система, загрузившись с утра пораньше, бодро доложила о том, что пора переводить часы и что она это уже сделала. Автор, да и многие его знакомые (как показал проведенный позднее опрос), бросились проверять время. В результате оказалось, что переводить рано, надо подождать еще месяц - введен новый порядок перехода на зимнее время и стрелки переводятся на час назад в последнее воскресенье октября, а не сентября, о чем всемогущий Windows не мог знать. Для любителей поэкспериментировать с настройками registry укажу на ключ: HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\TimeZoneInformation. В нем хранится информация о месяце окончания летнего времени, но правильное значение лично мне неизвестно. Откуда сервер знает, который час? Все часовых дел серверы мира подчиняются так называемому главному (master) серверу, который находится в USNO (United States Naval Observatory - Военно-морская обсерватория США. Адрес веб-страницы: tycho.usno.navy.mil). Здесь создана сложная система цезиевых эталонов времени и водородных мазеров (мазер - квантовый генератор, создающий очень стабильные высокочастотные колебания), позволяющая путем снятия и объединения их показаний добиться чрезвычайно высокой надежности работы и минимальной погрешности.

Раньше в качестве эталона секунды использовалась 1/86 400 часть продолжительности средних солнечных суток. Но появлялись новые технические системы, увеличивались требования к точности измерения времени, и от эталона, основанного на вращении Земли, было решено перейти к атомному эталону. В 1963 году Главная палата мер и весов утвердила цезиевый эталон секунды, задаваемый как определенное число электромагнитных колебаний, испускаемых изотопом цезия-133. В настоящее время цезиевые атомные часы имеют точность порядка 2-3 на 10 в 14-й степени, что вызывает уход часов на 2 наносекунды в день или на секунду за 1 400 000 лет. Специалисты USNO утверждают, что это - наивысшая точность, достигнутая человечеством на данный момент, однако разработки новых эталонов и устройств продолжаются. Показания именно этих часов становятся доступными всему миру благодаря Интернету. Для работы с ними создан специальный протокол NTP (Network Time Protocol) и написаны программы для разных операционных систем. С большим списком этих программ можно ознакомиться по адресу: www.eecis.udel.edu/~ntp/software.html.

Давайте рассмотрим пару таких программ. Первая называется AtomicTime и может быть взята по адресу: ftp://lgm.uc.ru/incoming/maks/timesoft/atomtime.zip.

Она чрезвычайно проста, работает в командной строке, не имеет графического интерфейса и бестолковых окошек с кнопочками, что ничуть не уменьшает ее полезные качества. Она требует возможности подключения к Сети, поэтому ее лучше использовать после загрузки компьютера, выполнив из командного файла (при постоянном подключении), либо после установления соединения из программы типа RAS+ 95. В качестве параметров командной строки указываются адрес сервера и временное смещение (в часах) относительно GMT. Если адрес сервера не указан, подразумевается tycho.usno.navy.mil, если не указано время, то считается, что вы находитесь в том же часовом поясе, что и сервер, поэтому будьте внимательны. Адреса серверов можно найти по адресу: www.eecis.udel.edu/~mills/ntp/servers.html.

Насколько точно устанавливаются часы вашего компьютера? Вопрос не праздный, так как пакет данных, прежде чем попасть на вашу машину, проходит некоторый путь, который зависит как от удаленности сервера, так и от (что существеннее) схемы маршрутизации. Короче, ответ от сервера придет с некоторой задержкой, величина которой случайна и не может быть точно учтена при коррекции времени (хотя некоторые программы пытаются это сделать). Реально задержку можно прикинуть путем выполнения команды ping <имя сервера> из командной строки. Эта команда покажет время, требуемое пакетам данных, чтобы дойти до удаленного сервера и вернуться обратно. Соответственно, время задержки ответа от сервера будет равно половине параметра ping. Практика показывает, что время задержки не так велико и составляет в среднем 100 миллисекунд, то есть одну десятую секунды, что вполне приемлемо для домашних нужд.

Другая программа называется TimeRC и находится по адресу: www.geocities.com/SiliconValley/Lakes/7206/TimeRC.zip или: ftp://lgm.uc.ru/incoming/maks/timesoft/TimeRC.zip.

В отличие от предыдущей она сама умеет определять время в соответствии с часовым поясом и установками летнего/зимнего времени (спрашивает об этом у Windows). Имеет симпатичный внешний вид, содержит адреса многих часовых серверов, настраивается в соответствии с нуждами (например, ей можно сказать, чтобы она проверяла время при своем запуске, а потом пряталась на панели задач, никому не мешая) и даже содержит информацию, полезную для юных астрономов: фазы луны и метеоритные потоки.

Следует добавить, что обе программы имеют статус freeware - то есть совершенно бесплатны.




5 АрхивСледующий материалКнига отзывов
К оглавлениюПредыдущий материалОбратная связь

Журнал "Интернет". Регистрационное свидетельство Госкомпечати РФ N. 016370 от 16.07.1997 г. Распространяется через сети розничной торговли, через компьютерные сети, а также путем подписки. Мнение редакции по тем или иным вопросам может не всегда совпадать с мнениями авторов. Редакция не несет ответственности за содержание рекламных материалов. Перепечтка или копирование запрещены, при цитировании ссылка на журнал "Интернет" обязательна.
Copyright © 1998 Журнал "Internet"
Copyright © 1998 Netskate
Netskate E-mail: imag@netskate.ru
Телефон: 245-45-84