Я прочитал несколько раз (хотя я могу'т найти его сейчас), что центры обработки данных принимать большие усилия, чтобы убедиться, что все сервера имеют одно и то же время. В том числе, но не ограничиваясь беспокоясь о високосных секунд.
Почему это так важно, что сервера имеют одинаковое время? И каковы реальные допуски?
Безопасности #
В общем, временные метки используются в различных протоколах проверки подлинности, чтобы помочь предотвратить replay attacks, где злоумышленник может использовать маркер проверки подлинности, он смог украсть (например, путем перехвата трафика в сети).
Проверка подлинности Kerberos делает именно это, например. В версии Kerberos, которая используется в Windows, допуск по умолчанию 5 минут.
Это также используется различная одноразовая протоколы пароль, используемый для двухфакторной аутентификации, такие как аутентификация Google и RSA SecurID, то и т. д. В этих случаях допуск обычно составляет 30-60 секунд.
Без времени нахождения в синхронизации между клиентом и сервером, невозможно выполнить проверку подлинности. (Это ограничение снимается в новейших версиях МИТ протокола Kerberos, при наличии запроса и KDC определить смещение между их часов во время проверки подлинности, но эти изменения произошли после того, как сервер Windows 2012 R2 и это будет некоторое время прежде чем вы увидите его в версии Windows. Но в некоторых реализациях от 2FA, вероятно, всегда нужно синхронизированных часов.)
Администрация #
Наличие часов в синхронизации облегчает работу с различными системами. Например, сопоставление записей в журнале с нескольких серверов гораздо проще, если все системы имеют то же время. В этих случаях вы обычно можете работать с допуском в 1 секунду, что НТП даст, но в идеале вы хотите, чтобы раз, чтобы быть жестко синхронизирована, как вы можете себе позволить. ПТП, что обеспечивает гораздо более жесткие допуски, может быть гораздо дороже в реализации.
В основном, это's так, что вы можете соотнести случаи из оцилиндрованного бревна на разных устройствах. Предположим, у вас есть безопасность инцидент, когда кто-то обращается к вашей базе данных через веб-сервер-вы хотите, чтобы метки на брандмауэре, балансировки нагрузки, веб-сервера и сервера баз данных на весь матч так, что вы сможете найти журналы на все устройства, которые относятся к инциденту. В идеале, вы'd, как все было в течение нескольких миллисекунд. И он должен быть в синхронизации с фактическим внешнее время, так что вы также можете сопоставить ваши журналы со сторонними бревна, Если это должно стать необходимым.
Это не только важно с точки зрения администрирования, но имеющий часы в синхронизации моего важными из уровня применение корреляции тоже. Это зависит от того, как решение разработано, как запущенные приложения, получают свои метки для любых операций они могут работать. Я видел проверку транзакций не из-за приложения, запущенного на сервере, со слишком большим смещением (около 20 секунд) по сравнению с другими было взаимодействовать.
Также если виртуализация на например, VMware ESXi с сервера, и время ВМ не находится в синхронизации с тем, что гипервизор, то действия такие, как технологии Vmotion может повторно синхронизировать ВМ часы с гипервизорами, а это в свою очередь может привести к непредсказуемым результатам, если разница во времени является достаточно большим.
Я не знаю, что какие-либо фактические допуски, потому что я думаю, что это зависит от того, что тип систем имеются, но я думаю, что в целом это достижимо, чтобы держать серверы в центре обработки данных, имеющих менее одной секунды смещением между собой.
Поскольку вы упомянули високосных секунд следует отметить, что они требуют особо сложной обработки.
Они'вновь, как правило, добавляется путем введения второй, как 23:59:60, это проблематично, если вы'вновь проверяя метки, как 0-59 Для минут и секунд поля. Альтернатива повторять 23:59:59 до 2 секунд, это'т гораздо лучше, так что будем возиться с чем-нибудь, что это время чувствительность к на втором уровне.
Google на самом деле придумал хорошее решение, что, похоже, не был широко принят. Их решением было применять прыжок и"мазать" и разделить меняться с течением времени, весь процесс управляется сервером NTP. Они опубликовано в блог об этом еще в 2011 году, делает для интересного чтения и, кажется, относится к этому вопросу.
Когда речь идет о метки времени, де-синхронизации устройств может создавать логические несоответствия, как: A отправляет запрос к Б, а ответ B поставляется с отметкой о времени раньше этого запроса, возможно, вызывая в игнор его.
Я согласен со всем выше точки. Я хочу, чтобы бросить больше мыслей<БР /> Некоторые базы данных, такие как Cassendra полагаться на штамп времени. Так это дело с параллелизмом.
Разные метки будут полностью испортить базу данных.