Що станеться з DVB-приймачами, коли 16-бітний лічильник дати переповниться в квітні 2038?
DVB-SI — це шар сервісної інформації, який повідомляє телевізійний приймач про наявні канали та час початку передач. Цього тижня опубліковано нову редакцію основної специфікації, що виправляє лічильник дати, який обнулиться 23 квітня 2038 року.
Лічильник, що вичерпується
Транспортні потоки DVB передають дати у 16-бітному полі. Воно містить молодші біти модифікованою Юліанською датою — кількості днів від 17 листопада 1858 року. Шістнадцять бітів дають 65 536 значень. Діапазон закінчується о півночі UTC 23 квітня 2038 року. Після цього моменту передане значення повертається до нуля.
Пітер Черріман з BBC R&D описав проблему у виданні DVB Scene № 66 минулого вересня. BBC R&D та Nagra виявили її незалежно. Вони тестували репрезентативні транспортні потоки з датами, близькими до переповнення. Кожен перевірений приймач продемонстрував погіршення роботи. Приймачі, ймовірно, продовжать відтворювати відео та аудіо. Субтитри також, ймовірно, працюватимуть. Електронні програми передач (EPG) навряд чи функціонуватимуть коректно. Віксові рейтинги та сигналізація доступності зіткнуться з перебоями. Інтернет-зв'язок зникне, коли зашифрований TLS-трафік перестане працювати, бо приймач використовує мовлену дату для налаштування годинника реального часу. Схеми DRM, що залежать від мовленої дати, також постраждають. Тести охопили невелику кількість британських DVB-T/T2 приймачів. Повний вплив на інші ринки ще невідомий.
Як виправлення повторно використовує ті самі 16 бітів
Вільних бітів для розширення поля немає. Рішення залишає 16-бітне поле, але змінює спосіб його інтерпретації приймачами. Значення від 32 768 до 65 535 продовжують відповідати MJD від 5 серпня 1948 до 22 квітня 2038 року. Значення від 0 до 32 767 тепер відповідають MJD від 23 квітня 2038 до 9 січня 2127 року, розраховані як MJD = значення + 65 536. Цей підхід нагадує обхід Y2K, де двозначні роки 00–49 означали 2000–2049, а 50–99 — 1950–1999. Нове відображення дає принаймні 75 років. Подовження можливе приблизно через 50 років.
Рекомендації тепер входять до EN 300 468 V1.20.0. Специфікація опублікована як DVB BlueBook A038r19. Її можна завантажити з бібліотеки специфікацій DVB або сайту ETSI.
Яке обладнання потребує змін
Головні станції (headend), що формують таблиці DVB-SI, не потребують змін, якщо вони вже виводять молодші 16 бітів MJD коректно. Деяке головне та тестове обладнання не обробляє переповнення правильно. Це означає, що проблема виходить за межі приймачів і торкається багатьох DVB-систем. Усі вони знадобиться виправити до 2038 року. Тестові потоки, використані для експериментів BBC, доступні за адресою dvb.org/date-teststreams для всіх, хто хоче перевірити сумісність пристроїв без машини часу.
Інші годинники, що переповнюються в тому ж році
2038 принесе кілька переповнень. 32-бітова мітка часу Unix та Linux переповниться в січні. GPS переживе свій третій перехід тижневого номера в листопаді. Виправлення DVB-SI стосується лише мовленого поля дати. Воно не вирішує проблему мітки Unix чи лічильника GPS-тижнів. Приймачі, що залежать від цих годинників для внутрішнього відліку часу, знадоблять окремі оновлення. Специфікація не каже, скільки розгорнутих пристроїв вже коректно обробляють будь-яке з цих переповнень.
Джерела, за якими написано статтю
- DVB announcement
https://dvb.org/news/dvb-si-update-solves-the-2038-date-rollover/