Понимание временных меток компьютера с помощью NTP
Размещенно от Ричард Уильямс N on Сентябрь 8th, 2008
То, как компьютер имеет дело со временем, полностью отличается от того, как люди его воспринимают. Мы организуем время в секундах, минутах, часах, днях, неделях, месяцах и годах, в то время как компьютеры, с другой стороны, организуют время как единое число, представляющее секунды, прошедшие с одного момента времени, называемого простой эпохой.
Большинство компьютеров используют NTP (Network Time Protocol) для работы со временем и в сетях многие синхронизируются с использованием выделенного сервера времени NTP. NTP ничего не знает о днях, годах или веках, только секунды от эпохи прайм. Эта основная эпоха установлена (для большинства систем) в полночь на рубеже веков двадцатого века, что для человека будет записано как что-то вроде: 00: 00 - 01,01,1900.
Однако компьютеры подсчитывают время как количество секунд после этой точки. Если в 1900 в 1 был установлен временной отметчик 0, то 1972 будет 2,272,060,800, тогда как в 1900 в тот же день отметка времени будет XNUMX, которая представляет количество секунд с XNUMX.
Временные метки перезапускают каждые 136 лет с последующим обтеканием в 2036, что вызвало беспокойство среди тех, кто боится сценария типа «Тысячелетний тип», хотя большинство сомнений в таких событиях произойдет, однако, когда обтекание временной метки происходит, (+ 1), чтобы позволить компьютерам обрабатывать промежутки времени, которые охватывают несколько оберток. Если компьютерам и NTP приходится иметь дело со временем, которое охватывает до первичной эпохи, используется отрицательное целое (за год 1500 -3 будет использоваться для представления трех циклов 136 лет).
Временные метки используются практически во всех транзакциях, которым требуются современные компьютеры, такие как отправка писем, отладка и программирование. Поскольку время является линейным, компьютер знает, что каждая временная метка всегда больше, чем предыдущая, поэтому компьютеры и NTP затрудняются своевременно справляться с неточностями, особенно когда время внезапно появляется назад.
Это может произойти, если компьютеры не синхронизированы в одно и то же время. Если электронное письмо отправляется на устройство с более медленными часами, оно появляется на компьютере, который был получен до его отправки. Отсутствие синхронизации может привести к серьезным проблемам и может даже оставить систему уязвимой для вредоносных атак и даже мошенничества.
Из-за этого большинство компьютерных сетей синхронизируются с UTC (Coordinated Universal Time). UTC - это глобальная шкала времени и то же самое для всех во всем мире, она основана на времени, рассказанном атомными часами, которые очень точны, и не набирают и не теряют секунду за миллионы лет.
В большинстве компьютерных сетей используется NTP-сервер времени для получения времени UTC для синхронизации их компьютеров. UTC доступен через Интернет (хотя и не обеспечен), через сеть GPS (Глобальная система определения местоположения) или путем приема национальных передач времени и частоты через длинную волну.
NTP синхронизирует компьютер, проверяя полученное время UTC и добавляя или удерживая метку времени компьютера, пока она не полностью совпадает с UTC. Используя выделенный сервер времени NTP, UTC можно поддерживать в сети до нескольких миллисекунд времени UTC.