НТП Y2038 и Y2036

В настоящее время я изучаю последствия ошибок переноса 2036 и 2038 годов для конкретного проекта. Программное обеспечение, реализованное в рамках этого проекта, должно работать после этих двух сроков.

Мои первоначальные исследования показывают, что обновление метки времени NTP в 2036 году на самом деле не является проблемой, поскольку протокол работает.

Моя текущая проблема связана с условием переноса 2038, если клиент NTP, работающий в 64-разрядной ОС, синхронизируется с сервером NTP, работающим в 32-разрядной ОС. Кто-нибудь знает, будет ли при этом неправильно синхронизироваться 64-битная система? Имея в виду, что протокол NTP использует арифметику по модулю и относительные метки времени NTP для расчета смещений синхронизации.


person Michael    schedule 01.10.2009    source источник


Ответы (1)


Во-первых, маловероятно, что какие-либо 32-разрядные машины будут продаваться за пределами встроенного пространства даже в следующем году, а это означает, что в то время таким машинам будет более четверти века (маловероятно, но не неслыханно).

Во-вторых, лучшие 32-разрядные ОС уже частично или полностью перешли на 64-разрядную версию для учета времени или даже просто добавили дополнительное поле флага для обработки эпох. Таким образом, работающая ОС будет такой же старой, что маловероятно.

В-третьих, вполне вероятно, что NTP-сервер (помните, что временные метки NTP — это не просто временные метки ОС) на такой сломанной машине справится с этим.

В-четвертых, если бы это было не так, вы, вероятно, не смогли бы синхронизироваться с ним, а если бы и сделали, то и не захотели бы.

person LapTop006    schedule 22.12.2009