Немного истории
UTC является современной версией WET (Западноевропейское время). UTC введено в 1964 году и относится к земной международной системе координат (ITRS). Для расчета времени в отношении небесных тел используется международная система астрономических координат (ICRS).
В повседневной жизни вполне достаточно GMT, но если необходима более точная координация, то без UTC не обойтись. UTC является связующим звеном между временем на среднем гринвичском меридиане (GMT) и Международным атомным временем (TAI).
После установки первого сервера ARPANET (2 сентября 1969) возникла необходимость описывать и передавать по сети единое время. Для совместимости время описали в рамках стандарта POSIX. Отправной точкой взяли 1 января 1970 года. Таким образом был запущен таймер отсчёта времени в миллисекундах с полуночи 1 января 1970 года. 30 января 1970 года после первой секунды координации возникло секундное отставание POSIX времени от времени UTC. Вплоть до 1981 года отставание корректировали в ручную, пока Дэвид Л. Майлс не изобрёл протокол синхронизации UTC и POSIX времени (NTP).
В последствии NTP начал использоваться не только внутри сети ARPANET, но и таких сетей как NSFNet, CSNET и других. В настоящее время все современные компьютеры умеют работать с NTP.
Международная служба вращения земли
Если раньше все дороги вели в Рим, то теперь Париж можно смело называть центром времени. Именно в Париже в 1987 году сформировалась «Международная служба вращения земли» (hpiers.obspm.fr), которая отвечает за поддержание всемирного времени.
От её работы зависит устойчивая связь и работа не только сети Интернет, но и спутниковых систем.
Что касается спутниковых систем (GLONASS, GPS, DORIS, QZSS, IRNSS, EGNOS,WAAS), то они в основном служат для уточнения астрономических расчетов, а также ретранслируют сигналы точного времени на землю.
Наблюдением за вращением земли в основном осуществляется с помощью радиотелескопов, сейсмических датчиков расположенных в разных частях планеты, а также тахеометров и другой аппаратуры установленной в обсерваториях. С помощью всей этой аппаратуры специалистами международной службы времени отслеживается скорость движения литосферных плит, которая оказывает влияние на значение времени по Гринвичу (GMT).
Современная сеть Интернет базируется на протоколе TCP/IP (RFC739, RFC791), на транспортном уровне которого активно используются точное время. UTC играет ключевую роль, позволяя сети работать в единой системе координат. Источником точного времени для компьютера, подключенного к сети Интернет служат в основном сервера времени (SNTP, NTP), либо аппаратные часы (SMOS), которые могут синхронизироваться с GPS-спутником посредством GPS-устройства для получения точного времени со спутника.
Проблема №1. Синхронизация времени в компьютерных системах
Только за последние 40 лет «Международной службой вращения» земли к UTC было добавлено 24 секунды. Для разработчиков высоконагруженных систем и сетевых администраторов каждое решение принятое Международной службой вращения земли может стать очередной проблемой. Обычно на время добавления секунды координации администраторы проводят плановую перезагрузку серверов, дабы избежать аномальной нагрузки на процессор или после потери связи с сервером.
Проблема №2. Настройка времени в компьютерных системах
Другой проблемой при использовании UTC с которой может столкнуться разработчик многозвенных систем на базе архитектуры Windows состоит в том, что одна и таже программа на компьютерах с одними и теми же характеристиками, но в разной сетевой инфраструктуре может работать с разной производительностью, и источником проблемы может быть вовсе не программа, а настройки TCP/IP. Не оптимально установленные значения параметров TcpDelAskTicks (время задержки подтверждения) или TcpInitialRTT (время ожидания) могут парализовать работу сети, в итоге клиентские приложения просто не получат подтверждения в том, что пакет успешно доставлен на сервер и будут пытаться отправить его снова. Проблема может усугубится после установки на сервере параметра TspMaxDataRetransmissions (максимальное количество повторных передач) на медленном канале до 1 и на быстром в 4294967295. В этом случае параметр TcpDelAskTicks, установленный по умолчанию может сыграть роковую роль. Кажется очевидным, что на быстрых каналах параметр времени ожидания можно уменьшить, также как и параметр времени задержки подтверждения, при этом пропускная способность канала увеличится. На самом деле характеристики канала связи могут меняться в течении суток по различным причинам, в том числе и из-за «секунды координации». Для адаптации значения интервала ожидания используется опция Timestamps (параметр Tcp1323Opts), позволяющая автоматически устанавливать значение для таймера повторной передачи.
Проблема №3. Проблема 2038
Самой известной проблемой, связанной с UTC является «проблема 2038 года», когда значение UTC в компьютерных системах выйдет за рамки 32-бит. Случится это должно будет 19 января 2038 года в 3 часа 14 минут и 8 секунд. В случае использования NTP -сервера можно получать по сети уведомления о наступающей координационной секунде и провести корректировку в реальном режиме времени, а не после. В этом случае можно заранее обнулить в компьютерных системах таймер отсчета времени, и начать считать UTCv2. Компьютерным системам без внешней синхронизации придётся переходить на UTCv2 уже после наступления координационной секунды.
Альтернативное время — BMT
Существует также альтернатива UTC и связанной с ней временной зоне — это Biel Mean Time (далее BMT). BMT предлагается использовать, как универсальную единицу измерения времени в сети интернет. Время BMT официально объявлено 23 октября 1998 года и в основном финансируется швейцарской фирмой Swatch, поэтому в интернете наряду с BMT можно увидеть аббревиатуру SIT, что в переводе означает Swatch Интернет-время. BMT также имеет отношение к GMT, как и WET к UTC, но в отличие от WET точно привязан к зимнему времени, которое соответствует времени UTC+1, поэтому вычисляя время BMT нужно учитывать не только часовые зоны, но и перевод часов на летнее время и обратно.
<html> <body> <script> var sputnikLaunch = new Date(); isSummerTime=60; TimeZone=sputnikLaunch.getTimezoneOffset()/60; Hours = sputnikLaunch.getUTCHours()+3+TimeZone; Min = sputnikLaunch.getUTCMinutes(); Seconds = sputnikLaunch.getUTCSeconds(); SIT=Math.floor(((Hours*3600)+((Min-isSummerTime)*60)+Seconds)*1000/86400); document.write("@"+SIT); </script> </body> </html>
BMT не имеет временных зон за счет введения единой условной единицы для времени — .beats. Условно 1000 .beats равно одним средним солнечным суткам суток. Полночь в пересчете на .beat будет равно 000, а полдень @500 .beats. BMT время всегда трёхзначно и не имеет часовых поясов.
Быть может в будущем UTCv2 будет таким же простым, как BMT и точнее, чем POSIX time.
2.http://ru.wikipedia.org/wiki/%D1%EB%F3%E6%E1%E0_%F2%EE%F7%ED%EE%E3%EE_%E2%F0%E5%EC%E5%ED%E8
3. ru.wikipedia.org/wiki/NTP
4. ru.wikipedia.org/wiki/SNTP
5.http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BA%D1%83%D0%BD%D0%B4%D0%B0_%D0%BA%D0%BE%D0%BE%D1%80%D0%B4%D0%B8%D0%BD%D0%B0%D1%86%D0%B8%D0%B8
6.http://en.wikipedia.org/wiki/Satelite
7.https://support.ntp.org/bin/view/Servers/StratumOneTimeServers
8.https://support.ntp.org/bin/view/Servers/StratumTwoTimeServers
9.http://technet.microsoft.com/en-us/library/cc938206.aspx
10.http://upload.wikimedia.org/wikipedia/commons/e/e9/Year_2038_problem.gif
11. How the Windows Time Service Works.-http://technet.microsoft.com/ru-ru/library/cc773013(WS.10).aspx
12.http://ru.wikipedia.org/wiki/ARPANET
13.http://www.timeanddate.com/time/internettime.html
14.http://www.swatch.com/zz_en/internettime/
15. en.wikipedia.org/wiki/David_L._Mills
16. en.wikipedia.org/wiki/Swatch_Internet_Time
17.http://images.wikia.com/lostpedia/es/images/6/60/Hieroglyphs.JPG
18.itrf.ensg.ign.fr/ITRF_solutions/2008/doc/ITRF2008-Vel.gif
ссылка на оригинал статьи http://habrahabr.ru/post/176427/
Добавить комментарий