NTPの時刻表現が上限に達する「2036年問題」
Network Time Protocol (NTP)で用いられる64ビットタイムスタンプの上位32ビットがオーバーフローし、時刻が1900年にリセットされる可能性がある問題。
この日を迎えました
以下のコードを外部サイトに貼り付けると、カウントダウンを埋め込めます。
投稿者
閲覧数
Network Time Protocol (NTP)で用いられる64ビットタイムスタンプの上位32ビットがオーバーフローし、時刻が1900年にリセットされる可能性がある問題。
この日を迎えました
以下のコードを外部サイトに貼り付けると、カウントダウンを埋め込めます。
投稿者
閲覧数
1985/9/1
デビッド・L・ミルズによって最初のNTP仕様がRFC 958として公開され、インターネットにおける時刻同期の基礎が築かれた。
進行予定
2036年問題とは、世界中のコンピュータやネットワーク機器で時刻同期のために広く利用されているプロトコル「Network Time Protocol (NTP)」において、時刻を表現する64ビットタイムスタンプが上限に達することによって引き起こされる潜在的な問題です。具体的には、2036年2月6日 6時28分15秒 (UTC) を過ぎると、時刻情報が1900年1月1日にリセットされ、システムに重大な誤作動を引き起こす可能性があります。
NTPバージョン3以前では、時刻を「1900年1月1日0時0分0秒からの経過秒数」を符号なし32ビット整数で表現しています。この32ビットのカウンターは、最大で (約42.9億)秒までしか表現できません。この上限が2036年2月6日に訪れ、カウンターがオーバーフローしてゼロに戻ってしまうのです。
2036年問題は、しばしば「2000年問題(Y2K)」と比較されます。しかし、影響範囲はより限定的であると考えられています。多くの現代的なシステムは、64ビット整数で2036年以降も問題なく扱えるNTPバージョン4に移行しているためです。ただし、更新されずに稼働を続けている古い組み込み機器や産業用システムなどでは、依然としてリスクが残ります。
最も基本的な対策は、NTPのバージョンを、2036年問題を解決したバージョン4以降にアップデートすることです。NTPv4では、タイムスタンプが64ビットに拡張されており、次のロールオーバーは約2億8600万年後となるため、事実上問題は解決されています。各システム管理者は、使用している機器のNTPバージョンを確認し、必要に応じてアップデートやリプレースを計画する必要があります。