🌎 Синхронизация времени по NTP
NTP (Network Time Protocol) — протокол для синхронизации времени между компьютерами в сети.
Позволяет устанавливать точное время на устройствах, синхронизируя их часы с часами специальных серверов времени (NTP-серверами)
Как работает по шагам
1⃣Запрос времени: клиент отправляет запрос на сервер NTP с собственной меткой времени
отправления (T1)
2⃣ Ответ от сервера: сервер NTP записывает время получения запроса (T2), отправляет ответ с
временем отправления (T3) и временем получения (T2)
3⃣ Получение ответа: клиент сохраняет время получения ответа (T4) и рассчитывает сетевую
задержку и смещение во времени своих часов для их корректировки.
Для чего нужен
Согласованность временных меток
➡ обеспечивает, чтобы все устройства в распределённых системах и сетях имели одинаковое время. Это позволяет точно фиксировать время событий и транзакций.
* Распределённая система —группа независимых компьютеров, которые работают вместе и обмениваются данными по сети для выполнения общих задач.
Обеспечение безопасности
➡ для своевременного мониторинга и реагирования, для проверки подлинности транзакций или предотвращения повторных атак
Координация действий между системами
➡помогает координировать действия между серверами и другими устройствами.
Работа распределённых БД
➡для правильного применения изменений и согласования данных между различными узлами.
Для правильного воспроизведения мультимедиа
➡ поток контента идёт пакетами данных, сбой времени в одном пакете приведет к изменению его места в потоке, и последовательность видео нарушится
За счет чего достигается высокая точность
😀 Высокоточные источники времени: использует атомные часы и GPS-синхронизированные серверы времени UTC.
UTC (всемирное координированное время) обеспечивает единый стандарт времени для всего мира.
Время с атомных часов и серверов UTC распространяется через сеть
😀 Алгоритмы коррекции задержек: используются ы для оценки и коррекции задержек в сети между клиентами и серверами времени. Это позволяет компенсировать задержки и улучшать точность синхронизации
Где применяется
😀Сетевые инфраструктуры: для согласования времени на маршрутизаторах и серверах
😀Финансовые системы: для точной фиксации времени транзакций
😀Системы безопасности: для точного ведения логов событий
😀Облачные сервисы и дата-центры: для координации операций между серверами
Кейсы использования
У пользователя украли данные карты и хотят снять деньги
💠Пользователь в ту же секунду блокирует карту
💠Банковская система отсортирует по времени входящие сообщения о снятии денег и о блокировке карты
💠Если часы пользователя, отстают, мошеннику удастся снять деньги
✅ Если обмен сообщениями проходит с использованием NTP, клиент успеет спасти деньги
Компилятор при пересборке проверяет время изменения файла
🟡Если исходный файл имеет большее время, чем его объектный файл, значит, исходный файл был изменен, и его нужно перекомпилировать
🟡При отставании часов распределённой системы даже на миллисекунду результат компиляции будет состоять из старых и новых файлов. Это делает отладку невозможной
✅ Если исходные файлы из разных частей системы передаются через NTP, то с отладкой кода проблем нет
Классы точности NTP-серверов
Цифра - уровень по отношению к UTC
🟡 Stratum 0 — референсные часы (атомные, GPS), обеспечивают наиболее точное время.
Это устройства не подключены напрямую к сети, служат основным источником
времени для серверов Stratum 1
🟡 Stratum 1 — серверы, напрямую подключенны к Stratum 0.
Самые точные серверы, могут учитывать время с точностью в одну триллионную долю секунды.
Они используют сложное и дорогое оборудование и обычно
не отвечают на запросы конечных пользователей, обслуживают только серверы более
низкого уровня.
🟡 Stratum 2 и выше — получают данные от Stratum 1 и работают с погрешностью примерно 0,001 секунды.
🟡Stratum 3 — получают данные от stratum 2, с точностью до 0,05 секунды. Дальше идут уровни 4, 5 и т.д.
#инфраструктура
Post #443
12.3K
- 👍 30
- 🔥 9
- ❤ 4