Що таке сервер точного часу?
Сервер NTP - це найважливіший компонент, який робить ефективним налаштування часу між мережевими комп'ютерами. За допомогою такого сервера інформація розповсюджується між різними пристроями в мережі, що гарантує відображення однакового часу. Цей момент важливий для безперебійного функціонування програм, де важлива точність обліку. Для корпоративних мереж застосовуються 1С сервери, що забезпечують точну синхронізацію на кожному пристрої. При цьому можливе ручне налаштування або автоматизоване (застосовуються спеціальні інструменти).
Що таке NTP-сервер
Точний час – це компонент, за допомогою якого забезпечується мережева синхронізація кожного учасника у мережі та гарантія ідеальної відповідності параметрів. NTP (Network Time Protocol) використовується в різних сферах:
Він використовується їзді, де навіть через мінімальну розбіжність у часі можуть виникнути серйозні проблеми. Вони бувають первинними та вторинними. Вивчивши особливості роботи устаткування, забезпечується коректне використання пристроїв, які можуть вирішувати ті чи інші завдання.
Число фінансових транзакцій в Інтернеті, що росте, є основною причиною, через яку використання NTP-сервера так важливо. Правильно синхронізований годинник в ІТ-системі полегшує аналіз та управління цими даними. Однак це ще не все, тому що практично кожна компанія може отримати з цього зиск. Правильно налаштоване обладнання відкриває такі переваги:
- Найменший ризик помилок при автоматичному резервному копіюванні в ІТ-системі.
- Більше легке відстеження помилок у мережі, т.к. системні журнали містять точний годинник їх виникнення (це також впливає на ефективність аналізу можливих вторгнень до системи).
- Більш надійна робота мережних прискорювачів, що прискорюють завантаження даних за допомогою кеш-пам'яті (неправильна синхронізація часу може призвести, наприклад, до завантаження застарілої інформації).
точного часу кластер серверів
Під кластером прийнято розуміти pool.ntp.org, де зібрані сервери, розподілені в різних країнах світу. Кластер надає простий, а також надійний NTP-сервіс, яким користуються мільйони систем у всьому світі. також у різному мережевому обладнанні.
Розробник проекту – Аск Бьорн Хансен та добровольці, які розвивають та підтримують кластер. При цьому вихідний код проекту є повністю відкритим.
Навіщо потрібен сервер точного часу?
Обладнання виконує багато різних функцій. Вони коректно формують хронологію подій у різних системах управління, за рахунок чого забезпечуються можливості для ведення різних журналів, логів. забезпечується прив'язка записаних відео записів до астрономічного часу. зіставлення інформації від різних систем за умов роботи для підприємства.
Це різні системи, які забезпечують безпеку та відеоспостереження на об'єкті:
Окремі протоколи, які беруть участь в обміні інформацією, використовують тимчасові позначки безпосередньо (у складі пакета, в якому передаються інформаційні дані).Серед таких протоколів зазначимо МЕК-101/104, що використовуються у складі сучасних телемеханічних систем. Важлива вимога, яка висувається в окремих промислових додатках – якість інформаційної безпеки. При цьому програма має запобігати можливості виходу в мережу для функції тимчасової синхронізації. Зважаючи на просту структуру та певні історичні моменти, завдання тимчасової синхронізації сьогодні вирішує NTP-протокол. NTP-клієнтами виступають сервери, архівно-операторські станції систем управління, а також HMI-панелі та контролери, комутатори та інше обладнання систем зв'язку, що працює в мережі.
Як відбувається синхронізація годинника?
NTP-клієнт проводить регулярні опитування серверів. У тому числі завдання пов'язане з обчисленням зсуву часу, а також кругової затримки. Під зміщенням часу θ, прийнято розуміти різницю між серверним і клієнтським годинником в абсолютному часі. Для обчислення цього показника використовують таку формулу:
Для визначення кругової затримки враховується час передачі сигналу по лініях зв'язку від сервера до клієнта, а також у зворотному напрямку. Так, під круговою затримкою прийнято розуміти час, який було витрачено на відправку сигналу, а також час, необхідний для підтвердження отримання сигналу:
У формулі під "t0" позначається клієнтська тимчасова мітка для передачі пакета запиту, під "t1" -серверна мітка часу для прийому пакета запиту, під "t2" - серверна мітка часу для передачі пакета у відповідь, під "t3" - клієнтська тимчасова мітка для прийому пакету у відповідь.
При обчисленні цих двох значень вони проходять через фільтри, а також аналізуються статичним методом, відбувається відкидання викидів із загальної вибірки. Зміщення часу оцінюється з урахуванням значень, що залишилися після відкидання викидів. Після отримання шуканих величин клієнт може підлаштувати свій час таким чином, щоб отримати θ дорівнює нулю.
Отримання точної синхронізації можливе за умови симетричності маршрутів (вхідних та вихідних) між клієнтським та серверним обладнанням, за умови однакової затримки між ними.
Як синхронізувати час із NTP-сервером
Розглянемо роботу тимчасової синхронізації у загальному вигляді:
- Надсилання запиту на синхронізаційний сервер, який запам'ятовує час відправлення запиту.
- Отримання запиту на сервер. Якщо ніяких збоїв немає, він записує час отримання запиту, далі дані відправляються з точним часом на сервері.
- Отримання відповіді від сервера пристроєм, запис часу отримання відповіді.
- Інформація про час відправлення та отримання запиту, а також точний серверний час використовується для розрахунку глобального часу (з певною точністю в показниках). Процеси повторюються з певним інтервалом (один раз на годину або один раз на день).
Налаштування обладнання – важливий процес, який забезпечує точний облік мережного часу. Якщо синхронізація відсутня або вона неякісна, клієнт має проблеми з пошкодженням даних, загрозами безпеці. Важливо вивчити вимоги до апаратного забезпечення NTP-сервера. Незважаючи на той факт, що як апаратне забезпечення може використовуватися звичайний ПК, або сервер, бажано, щоб для таких цілей застосовувалося спеціальне обладнання.Важливим є вибір програмного продукту сервера NTP для встановлення на конкретному пристрої.
Види серверів синхронізації
Ми визначили, що сервер часу – це важливий компонент у налаштуванні часу між мережею та ПК. нього слід цифра, що вказує на рівень обладнання з урахуванням найточнішого часу.
До категорії найбільш точних пристроїв відноситься Stratum 1. Вони враховують час до однієї трильйонної частки секунди. . Зважаючи на це, у світі мало серверів першого рівня і переважно вони обслуговують виключно сервери на рівнях нижче. користувач надіслати запит на такий сервер вийде навряд.
Сервери 2 рівня називають Stratum 2, третього – Stratum 3. Дані на сервери рівня 2 надходять від Stratum 1, при цьому в їх роботі є похибка приблизно в 0,001 сек. Однак вони відповідають на запити користувачів і застосовуються для обслуговування менших серверів.
Як настроїти NTP-сервер часу
Синхронізація часу має вирішальне значення в сучасних комп'ютерних мережах, тому що такі важливі завдання, як управління, забезпечення безпеки, планування та налагодження мережі, потребують точного часу.Підтримка точного часу — це складне завдання, оскільки годинник комп'ютера зміщується на кілька хвилин або секунд щодня. Вирішити проблему синхронізації часом на пристроях допомагає протокол мережного часу (NTP — Network Time Protocol). У статті розповідаємо, що таке протокол NTP, навіщо потрібне налаштування NTP-сервера, як увімкнути NTP і як змінити час на сервері.
Що таке NTP
Протокол мережного часу (NTP) — це протокол, який допомагає синхронізувати час пристроїв (комп'ютерів, серверів, комутаторів, маршрутизаторів) у мережі.
Зовнішнє джерело точного часу, до якого робиться запит, є NTP-сервер синхронізації часу. У той же час сам NTP-сервер отримує точний всесвітній координований час (UTC - Coordinated Universal Time) від авторитетного джерела часу, такого як атомний годинник або GPS.
Для позначення того, хто запитує час, використовується термін NTP-клієнт. А джерелом інформації про час є NTP-сервер.
Кінцевою метою NTP є синхронізація годинників усіх пристроїв з високою точністю щодо UTC.
Чому протокол NTP важливий і як він використовується
Якщо у вас є лише один комп'ютер, то встановити точний час нескладно. А якщо ви адмініструєте велику кількість комп'ютерів, серверів та інших пристроїв, які повинні працювати з однаковим часом, варто використовувати NTP.
Ось кілька прикладів використання NTP:
- Розподілені процедури залежать від скоординованого часу, щоб забезпечити правильну послідовність.
- Механізми безпеки залежать від послідовного хронометражу у мережі.
- Оновлення файлової системи на декількох комп'ютерах залежать від синхронізованого часу.
- Система управління мережею покладається на точність часу для вимірювання продуктивності та усунення несправностей.
Як влаштовано протокол NTP
Як ми вже говорили вище, для позначення зв'язку між учасниками синхронізації часу використовують терміни NTP-сервер і клієнт. Де клієнт - це система, що прагне синхронізувати свій годинник із сервером, а сервер - джерело інформації про час. Щоб зрозуміти, як влаштований протокол мережного часу, звернемося до його структури.
Протокол NTP використовує ієрархічну структуру джерел часу. Кожен рівень цієї ієрархії називається шаром (від англ. Stratum).
Перший шар утворюють первинні сервери (головні сервери), які синхронізуються безпосередньо з авторитетними і найточнішими джерелами часу - атомним годинником або GPS.
Повторні сервери вже отримують час від первинних серверів, а також можуть синхронізуватися між собою. А сервери третього рівня синхронізуються із вторинними серверами тощо. Усього може бути 15 шарів. Найменше значення вказує на більш високу точність. Але все одно різниця буде незначною і становитиме мікросік ісунди.
Часто компанії настроюють свій NTP-сервер у локальній мережі та вказують його для інших пристроїв. Тобто цей NTP-сервер впізнаватиме час у публічних серверів в інтернеті і потім передаватиме його вашим пристроям, підключеним до локального сервера. Це забезпечить однаковий час для всіх пристроїв у локальній мережі.
Як синхронізувати час із NTP-сервером
Забезпечити безперебійну роботу програмного забезпечення NTP можна у режимі системної служби. В операційній системі Windows це служба W32Time, для Linux демон Ntpd.
Далі розповімо, як встановити сервер часу на кожній із цих систем.
Встановлення сервера часу NTP у Windows
Служба часу W32Time в операційній системі Windows синхронізує час у домені Active Directory Для початку потрібно відкрити 123 udp порт для контролера домену.
- Запустіть cmd від імені адміністратора.
- Зупиніть службу W32Time.
w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org"
- Налаштуйте відповідь контролера клієнтам на запити щодо синхронізації часу.
w32tm /config /reliable:yes
w32tm /query /configuration
Готово! Синхронізація часу в домені Windows налаштована.
NetTime: як синхронізувати час із сервером за допомогою програми
За допомогою утиліти NetTime можна швидко налаштувати синхронізацію часу з серверами NTP.
Так виглядають налаштування програми:
У програмі можна легко налаштувати список NTP-серверів, з яких ви хочете отримувати точний час, настроїти інтервал синхронізації тощо.
Налаштування часу на сервері для Linux
Ntpd (Network Time Protocol daemon) – це демон операційної системи Linux, який встановлює та підтримує системний час синхронно із серверами точного часу в інтернеті.
По кроках розповідаємо, як встановити та налаштувати ntpd у Linux.
Для встановлення використовується менеджер пакетів sudo apt-get install ntp
Крок 2. Редагування файлу конфігурації.
Відкрийте файл /etc/ntp.conf.
sudo nano /etc/ntp.conf
Крок 3. Введення серверів часу.
Вкажіть кілька NTP-серверів.
sudo service ntp restart
Крок 5. Перевірка результату.
Перевірте, чи запущено ntpd.
Висновок
Протокол NTP потрібний для синхронізації часу комп'ютерів та інших пристроїв у мережі.У свою чергу NTP-сервер працює з точним атомним годинником і GPS і синхронізують час між клієнтами (пристроями, які запитують час), використовуючи цей точний годинник як еталонний час.
У протоколі NTP є ієрархічна структура. На першому рівні ієрархії знаходяться сервери, які синхронізуються з еталонним годинником. Повторні сервери запитують час у серверів першого рівня. Сервери, що знаходяться на третьому рівні, синхронізуються із серверами другого рівня тощо. У цьому кожен рівень показує точний час, а різниця становить мікросекунди.
Також у статті розповіли, як поставити час на сервері в операційних системах Windows і Linux. У Windows це можна зробити за допомогою служби часу W32Time. В якості альтернативи можна встановити утиліту NetTime та синхронізувати час. Для налаштування часу в операційній системі Linux використовується демон ntpd.