NTP
Материал из Xgu.ru
- Автор: Рома Слєпчик
Содержание |
[править] Теория
Network Time Protocol (NTP) — сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью.
NTP использует для своей работы протокол UDP 123 порт. Система NTP чрезвычайно устойчива к изменениям латентности среды передачи.
NTP использует алгоритм Марзулло (предложен Кейтом Марзулло (Keith Marzullo) из Университета Калифорнии, Сан-Диего), включая такую особенность, как учёт времени передачи. В версии 4 способен достигать точности 10 мс (1/100 с) при работе через Интернет, и до 0.2 мс (1/5000 с) и лучше внутри локальных сетей.
NTP — один из старейших используемых протоколов. NTP разработан Дэвидом Л. Миллсом (David L. Mills) из университета Дэлавера в 1985 году и в настоящее время продолжает совершенствование. Текущая версия — NTP 4.
NTP использует иерархическую систему «часовых уровней». Уровень 1 синхронизован с высокоточными часами, например, с системой GPS, ГЛОНАСС (Единая Государственная шкала времени РФ) или атомным эталоном времени. Уровень 2 синхронизируется с одной из машин уровня 1, и так далее.
Время представляется в системе NTP 64-битным числом (8 байт), состоящим из 32-битного счётчика секунд и 32-битного счётчика долей секунды, позволяя передавать время в диапазоне 232 секунд, с теоретической точностью 2−32 секунды. Поскольку шкала времени в NTP повторяется каждые 232 секунды (136 лет), получатель должен хотя бы примерно знать текущее время (с точностью 50 лет).
Более простая реализация этого алгоритма известна как SNTP — простой синхронизирующий сетевой протокол. Используется во встраиваемых системах и устройствах, не требующих высокой точности, а также в пользовательских программах точного времени.
[править] Настройка NTP сервера
устанавливаем пакет aptitude install ntp |
[править] Настройка клиентов
Есть несколько способов настройки в linux
- Установка демона ntp и указание локального ntp-cервера как зеркала
- У dhcp есть возможность передавать адрес ntp-cервера, но это работает только с unix клиентами
настройка в windows
- Настройка через групповые политики
- Используя правку реестра
[править] Часы в виртуальной машине
- Автор: Игорь Чубин
[править] Виртуализация
В параметры ядра добавить clock=pmtmr:
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/VolGroup00/LogVol00 clock=pmtmr
в /etc/ntpd.conf для каждого сервера добавляем:
server 0.centos.pool.ntp.org burst iburst
Подробнее: [1] (спасибо Денису Коцебе).