NTP Y2038 и Y2036 - PullRequest
       30

NTP Y2038 и Y2036

1 голос
/ 01 октября 2009

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

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

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

1 Ответ

2 голосов
/ 22 декабря 2009

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

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

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

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

...