Чому скасовують високосну секунду і як вона впливала на інтернет
15 жовтня 2026 року у Версалі Генеральна конференція з мір і ваг ухвалила рішення, яке змінить відлік світового часу. З 20 травня 2027 року до всесвітнього координованого часу UTC більше не додаватимуть високосні секунди для узгодження з обертанням Землі.
Для більшості людей така секунда минала непомітно. Проте в комп’ютерних системах її поява могла спричинити збої, через які переставали відкриватися сайти.
Чому настільки мала зміна створювала проблеми? У цій статті команда телеком-провайдера GigaTrans пояснить, звідки пристрої дізнаються точний час, навіщо він потрібен інтернету та чому від додаткової секунди вирішили відмовитися.
Навіщо пристроям домовлятися про час
Коли ви оплачуєте покупку в інтернеті, у виконанні запиту можуть брати участь кілька серверів. Один перевіряє ваш обліковий запис, інший обробляє замовлення, ще один зберігає зміни в базі даних. Кожна із цих дій залишає запис із часовою міткою — позначкою про те, коли саме вона відбулася.
За такими записами можна простежити, як проходило замовлення. Наприклад, якщо гроші списалися, а підтвердження покупки не надійшло, інженерам потрібно з’ясувати, на якому етапі виникла проблема. Для цього вони зіставляють події на різних серверах.
Спільною основою для відліку є всесвітній координований час UTC. Від нього відраховують час у різних часових поясах. Тому сервери в Києві й Лондоні можуть записувати події за UTC, незалежно від місцевого часу.
Проте спільної шкали недостатньо — потрібно, щоб годинники пристроїв показували однаковий час. Якщо один сервер поспішає, а інший відстає, у записах відповідь може з’явитися раніше за запит, на який її надіслали. Відновити справжню послідовність подій стає складніше.
Власні годинники пристроїв поступово розходяться, тому їх потрібно регулярно звіряти з точним джерелом часу.
Звідки комп’ютер знає, котра година
Комп’ютери й мережеві пристрої мають власні засоби відліку часу, робота яких зазвичай спирається на кварцові генератори. Проте їхня частота трохи відрізняється й залежить від умов роботи. Без зовнішнього коригування годинники поступово починають показувати різний час.
Тому пристрої регулярно звіряються із серверами точного часу. Найпоширеніший спосіб такої синхронізації — протокол NTP (Network Time Protocol).
Час передається через кілька рівнів. Сервери першого рівня отримують його безпосередньо від еталонного джерела, наприклад, атомного годинника чи супутникового приймача. Інші сервери звіряються з ними й далі передають час комп’ютерам, роутерам та іншому обладнанню.
NTP враховує чотири моменти:
- коли клієнт відправив запит;
- коли сервер його отримав;
- коли надіслав відповідь;
- коли вона повернулася до клієнта.
Підписуйтеся на наші соцмережі
За цими мітками пристрій оцінює мережеву затримку та розходження свого годинника із серверним. Після цього коригує власний час.
Точність залежить від якості з’єднання, навантаження й затримок у мережі. Для звичайних комп’ютерів і багатьох серверних завдань можливостей NTP достатньо. Проте спочатку подивімося, що відбувається, коли синхронізація порушується.
Чому неправильна дата заважає відкрити сайт
Під час підключення до захищеного сайту браузер перевіряє його цифровий сертифікат. Він допомагає підтвердити, що з’єднання встановлюється з потрібним сайтом, і має визначений строк дії.
Якщо на комп’ютері збилася дата, чинний сертифікат може здаватися протермінованим або таким, що ще не почав діяти. Браузер покаже попередження про небезпечне з’єднання, хоча причина може бути саме в неправильному часі на пристрої.
Схожий механізм працює і в корпоративних мережах. Протокол Kerberos, який використовують для перевірки користувачів у середовищі Microsoft Active Directory, спирається на часові мітки. Вони допомагають захиститися від повторного використання перехоплених запитів автентифікації.
За замовчуванням допустима різниця між годинником комп’ютера та сервера перевірки становить п’ять хвилин. Якщо вона більша, автентифікація через Kerberos може завершитися помилкою. Для працівника це виглядатиме як проблема з доступом до корпоративного ресурсу, хоча логін і пароль правильні.
Як розбіжність годинників плутає дані
Великі інтернет-сервіси зберігають копії даних на кількох серверах. Це допомагає обслуговувати користувачів і продовжувати роботу, якщо частина обладнання недоступна. Проте виникає інше завдання — визначити, яку версію даних вважати актуальною.
Деякі розподілені бази вирішують це за часовими мітками, і коректною вважається зміна, позначена пізнішим часом. Так працює, наприклад, система Apache Cassandra.
Уявімо, що старе значення записали на сервері, годинник якого поспішав. Нове значення з’явилося пізніше, але на іншому сервері з правильним часом. За мітками може здатися, що саме старий запис новіший. У результаті система збереже застарілі дані.
Спільний час потрібен і для пошуку причин збоїв. Сервери, роутери та системи захисту ведуть журнали подій, в яких фіксують підключення, помилки, зміни налаштувань. Під час розслідування інциденту інженери зіставляють ці записи.
Якщо годинники розходяться, послідовність стає нечіткою, і важко зрозуміти, яка подія була причиною, а яка — наслідком.
Як точний час впливає на мобільний інтернет
Коли ви дивитеся відео зі смартфона через мобільну мережу, телефон обмінюється даними з базовою станцією. Поруч працюють інші станції, які обслуговують своїх користувачів. Щоб їхні радіосигнали не заважали один одному, обладнання має діяти узгоджено.
У частині мереж 4G і 5G для цього використовують спільний розклад. В одні проміжки часу базові станції передають дані телефонам, в інші — приймають від них. Сусідні станції мають перемикатися між цими режимами практично одночасно.
Якщо їхні годинники розходяться, одна станція може почати передавання, поки сусідня ще приймає дані від телефона. Потужний сигнал станції заважає розпізнати слабший сигнал смартфона.
Частину даних доводиться передавати повторно, через що швидкість мобільного інтернету може знижуватися, а затримка — зростати. Для користувача це може проявлятися зависанням відеодзвінка або повільнішим завантаженням файлів.
Тому в таких мережах час узгоджують із точністю до мільйонних часток секунди. Це дозволяє сусіднім станціям дотримуватися спільного розкладу й обслуговувати користувачів без зайвих взаємних завад.
Як одна додаткова секунда спричиняла збої
Тепер повернімося до високосної секунди. Її запровадили через різницю між двома способами відліку часу.
Існують атомні годинники, які відраховують секунди надзвичайно рівномірно. Також існує астрономічний час UT1, який визначають за обертанням Землі. Воно менш стабільне, тому тривалість доби трохи коливається. У довгостроковій перспективі Земля сповільнюється, хоча іноді може й прискорюватися.
Саме через збільшення часу обертання із 1972 року до UTC почали додавати секунди, щоб розбіжність з UT1 не перевищувала 0,9 секунди. Так з’явилася незвична позначка часу: після 23:59:59 могло настати 23:59:60, і лише потім — початок нової доби.
Проте поширений у комп’ютерах спосіб зберігання часу передбачає рівно 86 400 секунд у кожній добі. Для додаткової секунди в ньому немає окремого значення, тому системи обробляли її по-різному.
Одні повторювали частину відліку, інші поступово змінювали швидкість годинника, розподіляючи поправку на кілька годин. Наприклад, Google додаткову секунду розтягував протягом доби. Годинник рухався без різкого стрибка, але протягом цього періоду трохи відрізнявся від UTC.
Таким чином, коли різні системи застосовували різні підходи, їхні покази тимчасово розходилися.
Показовий збій стався в Cloudflare 1 січня 2017 року. Її програма вимірювала час відповіді внутрішніх DNS-серверів. DNS — це система, яка допомагає знаходити IP-адреси серверів за назвами сайтів.
Програма віднімала час початку запиту від часу завершення. Коли системний годинник стрибнув назад, тривалість виявилася від’ємною. Код не був готовий до такого значення, і частина DNS-запитів завершувалася помилками. У піковий момент проблема зачепила приблизно 0,2% DNS-запитів до Cloudflare.
Щоб уникнути таких інцидентів, для вимірювання тривалості існує окремий інструмент — монотонний годинник. Він працює як секундомір і не переводиться разом із календарною датою.
Його використання допомагає уникати помилок, але старе програмне забезпечення й рідкісні сценарії обробки часу залишалися джерелом ризику.
Що зміниться після скасування високосної секунди
Додатковим аргументом для реформи стало прискорення обертання Землі в останні роки. Через нього могла вперше знадобитися від’ємна високосна секунда — одну секунду довелося б пропустити.
Такої операції раніше не проводили. У резолюції конференції наведено оцінку, що до 2035 року існувала ймовірність близько 30% появи такої секунди. Для інфраструктури, яка залежить від узгодженого часу, це створило б додатковий ризик.
З 20 травня 2027 року різницю між UTC й астрономічним часом збільшать до однієї години. Переводити годинники через це не доведеться. Розходження накопичуватиметься поступово, а нової межі вистачить на кілька століть без додавання чи вилучення секунд.
Для інтернет-сервісів це означає, що більше не потрібно буде пристосовуватися до таких коригувань. Різні способи обробки високосної секунди створювали розбіжності між системами й могли спричиняти помилки. Безперервний відлік UTC прибере це джерело збоїв.
Водночас власні годинники серверів і мережевого обладнання й далі поступово розходитимуться, тому їх потрібно буде регулярно синхронізувати.
Саме узгоджений час дозволяє системам правильно перевіряти доступ, зіставляти записи й передавати дані за спільним розкладом. Скасування високосної секунди спростить підтримку цієї узгодженості.