Как работает синхронизация времени через Интернет?
Синхронизация времени производится посредством специального протокола передачи данных – NTP (Network Time Protocol). Этот протокол включает в себя набор сложных алгоритмов, которые позволяют с большой точностью синхронизировать время (до тысячных миллисекунд расхождения).
Есть более упрощенная версия этого протокола – SNTP (Simple Network Time Protocol), который используется в сетях, где не требуется высокая точность синхронизации (до 1 сек. расхождения).
Вся модель синхронизации времени NTP выглядит в виде дерева. В «кроне» этого дерева находятся «первичные сервера». Таких серверов во всем мире несколько штук. На них чаще всего установлены атомные часы и другие дорогостоящие хронометры. Синхронизировать время с «первичными» серверами у Вас не получится либо из-за их большой загруженности, либо из-за ограничения самими серверами.

«Вторичные» сервера синхронизируются с серверами первого уровня посредством протокола NTP. Расхождение по времени между ними достигает порядка 20 миллисекунд. Таких серверов значительно больше и поэтому целесообразней настраивать синхронизацию именно с ними.
После этого могут идти сервера третьего, четвертого уровня и т. д., к которым чаще всего относятся сервера синхронизации времени различных провайдеров и других IT-компаний.
Настройка синхронизации времени в Linux Ubuntu
По-умолчанию в операционной системе Ubuntu, начиная с версии 9.10, время синхронизируется автоматически при каждом запуске ОС. Но не лишнем будет это проверить и убедится в правильности работы синхронизации.
Чтобы синхронизировать время в Ubuntu нам нужно:
- Установить пакет синхронизации времени ntp:
sudo apt-get install ntp - Добавить NTP-сервера, с которыми будем синхронизировать время. Для этого требуется открыть конфигурационный файл /etc/ntp.conf для редактирования:
sudo gedit /etc/ntp.conf
и в конце добавить все NTP-сервера из списка (полный перечень общедоступных NTP-серверов можно найти здесь):
- ntp1.imvp.ru
- ntp.psn.ru
- time.nist.gov
- pool.ntp.org
- ru.pool.ntp.org
Должно получится так:
- If you want to listen to time broadcasts on your local subnet, de-comment the
- next lines. Please do this only if you trust everybody on the network!
#disable auth
#broadcastclient
server ru.pool.ntp.org
server pool.ntp.org
server time.nist.gov
server ntp.psn.ru
server ntp1.imvp.ru
- Настраиваем автоматическую синхронизацию при каждой загрузке ОС. Для этого открываем конфигурационный файл /etc/rc.conf:
sudo gedit /etc/rc.conf
в котором редактируем параметр ntpd_enable. Должно получиться так:
ntpd_enable=»YES»
Обратите внимание на кавычки. Такое написание правильное.
После каждого включения компьютера ваше время будет синхронизировано через Интернет и всегда будет актуальным. Если есть необходимость синхронизировать время вручную, то делается это командой:
В качестве сервера можно указать любой другой NTP-сервер или через пробел указать несколько серверов.
Комментарии (10)