Оригинальная статья

 

Новая книга: Миллс, Дэвид Л. Синхронизация времени компьютерной сети: сетевой протокол времени на Земле и в космосе, второе издание , CRC Press 2011, 466 стр. ISBN 978-1-4398-1463-5

Пожалуйста, внесите свой вклад на страницу исправлений .

 

Автор

Дэвид Л. Миллс, доктор философии,
факультет электротехники и вычислительной техники и факультет компьютерных и информационных систем
Делавэрского университета, Ньюарк, Делавэр, 19716
[email protected]     www.eecis.udel.edu/~mills

Д-р Дэвид Л. Миллс – заслуженный профессор электротехники и вычислительной техники, а также компьютерных и информационных наук Университета штата Делавэр. На протяжении многих лет он активно участвовал в разработке Интернет-технологий и, в частности, синхронизации времени в компьютерных сетях. Он является первоначальным разработчиком протокола сетевого времени и является автором более 30 статей и технических отчетов по этой теме, включая текущие документы действующих стандартов. Его докторская степень в области компьютерных наук была присуждена Мичиганским университетом в 1971 году. Он является членом Национальной инженерной академии и членом Ассоциации вычислительной техники и Института электротехники и электронной техники.

Эта работа частично финансировалась Лабораторией реактивного движения Калифорнийского технологического института по контракту с Национальным управлением по аэронавтике и исследованию космического пространства.

Предисловие

Mumpsimus (п): Средний английское существительное , обозначающее неисправимый догматический старый кулон –  шуточно называемый foolosopher с 1550г. – выросшем до включения любого неверного мнения, которое упорно цеплялось.
Джеффри Кейджерк, Забытый английский , 1997

Эта книга – о том, как заставить стадо сетевых компьютеров отображать правильное время. Это может показаться действительно узким делом, но проблемы выходят далеко за рамки завода часов на панели задач дисплея. Тщательно скоординированное, надежное и точное время жизненно важно для управления движением в воздухе и на земле, покупки и продажи вещей и программирования телевизионных сетей. Хуже того, неправильно полученное время может привести к истечению срока действия кешей DNS и разрушению всего Интернета на корневых серверах, что считалось серьезной угрозой накануне тысячелетия в 1999 году. Срок действия важных файлов данных может истечь до того, как они будут созданы, и электронное сообщение может прийти до того, как оно будет отправлено. Надежное и точное компьютерное время необходимо для любого распределенного компьютерного приложения в реальном времени, которым стала большая часть нашей общедоступной инфраструктуры.

В этой книге говорится о технологической инфраструктуре распространения, распределения и синхронизации времени, в частности об архитектуре, протоколах и алгоритмах сетевого протокола времени (NTP). NTP был активен в той или иной форме уже более трех десятилетий в общедоступном Интернете и многочисленных частных сетях за пределами межсетевых экранов. Почти все, что сегодня может быть подключено к сети, имеет поддержку NTP – серверы печати, точки доступа Wi-Fi, маршрутизаторы и принтеры всех типов и даже системы резервного питания от батарей. Подсети NTP находятся в космосе, на морском дне, на борту военных кораблей и на всех континентах, включая Антарктиду. NTP входит в состав большинства разновидностей Windows, а также всех разновидностей Unix. Только в NIST на серверах времени NTP взрывается около 25 миллионов клиентов.

Эта книга предназначена в первую очередь как справочник, но подходит для специализированного университетского курса для старших и выпускников факультетов компьютерной инженерии и компьютерных наук. Некоторые главы могут быть проще для инженера-электрика, особенно те, которые имеют дело с математическими понятиями; другие проще для компьютерных ученых, особенно те, кто занимается теорией вычислений, но каждый будет учиться у другого. Есть вещи для математиков, криптографов и космических путешественников, даже что-то для историков.

Добро пожаловать во второе издание этой книги. Первоначальные 16 глав первого издания остались, но некоторые были переписаны, обновлены и добавлены новые материалы. Добавлены четыре новые главы, две из которых посвящены хронометрированию в космических полетах. Презентация начинается в главе 1 с общего обзора архитектуры, протоколов и алгоритмов для хронометража компьютерной сети. Это включает в себя то, как время течет от национальных стандартов времени через радио, спутниковый и телефонный модем к сотням первичных серверов времени, а затем через подсети NTP к миллионам вторичных серверов и клиентов на возрастающих уровнях страты. Глава 2 описывает основные компоненты клиента NTP и то, как он работает с резервными серверами и различными сетевыми путями. Глава 3 содержит подробное описание критических алгоритмов, столь важных для согласованности,точность и надежность, которые понравятся любому хорошему специалисту по информатике.

Фактический алгоритм, используемый для настройки часов компьютера, настолько особенный, что его описанию и работе полностью посвящена глава 4. Поскольку слово «сеть» занимает видное место в названии этой книги, в главе 5 представлен обзор инженерных принципов, определяющих конфигурацию сети и обнаружение ресурсов.

Примерно сейчас вы должны спросить, насколько хорошо работает это устройство. В главе 6 оценивается производительность типичных подсетей NTP в отношении изменений сетевой задержки и ошибок тактовой частоты. Он показывает результаты опроса серверов и клиентов NTP для определения типичного распределения ошибок по времени и частоте. Затем он анализирует типичные конфигурации NTP, чтобы определить такие вещи, как издержки процессора и сети, а также спроектированные средства защиты от атак флуда.

Подсеть NTP в конечном итоге зависит от национальных и международных средств распространения стандартного времени среди населения в целом, включая компьютеры в Интернете. В главе 7 описывается ряд систем и драйверов для современных средств распространения радио, спутников и телефонных модемов. В главе 8 описывается специализированное программное обеспечение ядра, используемое в некоторых компьютерных системах для повышения точности и точности отсчета времени, в конечном итоге, до порядка наносекунд.

На современном опыте мы узнали, что компьютерная безопасность – это очень серьезный бизнес, и сети хронометража не исключение. Что может отличаться для подсетей NTP, так это то, что по самой своей природе обмениваемые данные являются общедоступными значениями, передаваемыми с общедоступных серверов через общедоступные сети, поэтому серверы и клиенты общедоступных сетей могут рассматриваться как очень привлекательные цели для временных террористов. Кроме того, существуют дьявольски запутанные проблемы, когда датированный материал, такой как криптографические сертификаты, должен проверяться протоколом, который их использует. В главе 9 описывается модель безопасности NTP и протокол аутентификации, которые разделяют заголовки с NTP, а в главе 10 описывается ряд криптографических алгоритмов, разработанных для подтверждения членства в промышленных группах.

Хронометраж компьютерной сети, как и многие другие физические системы, не лишен ошибок, как детерминированных, так и стохастических. Глава 11 содержит сложный анализ ошибок, присущих считыванию системных часов и определению их времени и частоты относительно часов другого компьютера. Глава 12 посвящена моделированию и анализу компьютерных часов, а также математическому описанию их характеристик. Хронометраж в глобальном масштабе – это отдельная дисциплина. В главе 13 описывается, как мы считаем время по звездам и атомам. Он объясняет взаимосвязь между международными шкалами времени TAI, UTC и JDN, дорогими физикам и навигаторам, и шкалой времени NTP. Если мы используем NTP для исторических и будущих датировок, возникают проблемы с пролонгацией и точностью. Даже календарь вступает в действие,как у астрономов – свои, у историков – свои. Поскольку речь идет об истории, в главе 19 раскрываются события, представляющие исторический интерес с тех пор, как компьютерные сети начали вести хронометраж почти три десятилетия назад. Наконец, глава 20 представляет собой библиографию статей, отчетов и других документов, относящихся к хронометражу компьютерных сетей.

Хотя подробное описание эталонной реализации NTP выходит за рамки данной книги, может быть интересно изучить ее общую архитектуру, организацию и работу. Глава 14 включает набор блок-схем, переменных состояния, процессов и подпрограмм текущей реализации общедоступного программного обеспечения, а также объяснение того, как оно работает.

Следующие четыре главы с 15 по 18 являются новыми в этом издании. Глава 15 включает в себя сложный коктейль из аппаратных и программных алгоритмов для реализации действительно потрясающих и точных системных часов. Он вводит понятия softstamp, drivestamp и hardstamp и включает обзор протокола точного времени IEEE 1588 (PTP) и того, как он может взаимодействовать с NTP. В главе 16 описаны новые для NTP режимы чередования и способы использования этих новых концепций.

Следующие две главы 17 и 18 послужили причиной создания подзаголовка этой книги: «На Земле и в космосе».

Глава 17 объясняет, почему хронометраж так отличается от землян и марсиан, поскольку теперь мы должны рассмотреть световое время и релятивистские эффекты. В этой главе также обсуждаются проблемы космического оборудования и протокол канала передачи данных Proximity-1. это может повысить NTP до орбитального флота Марса. Наконец, в главе 18 обсуждаются вопросы передачи времени для миссий в дальний космос на Марсе и за его пределами.

Книга в целом, безусловно, будет интересна администратору NTP как справочный том. Это было бы полезно в качестве тематического исследования с участием широко развернутого распределенного приложения с технологиями, взятыми из различных междисциплинарных областей. Алгоритмы, описанные в различных главах, могут быть полезны в качестве дополнения к книге по информатике по алгоритмам. В качестве примера использования криптографических методов материал в главах 9 и 10 особенно актуален, поскольку модель безопасности для NTP усложняется необходимостью одновременно аутентифицировать сервер и считать время. Астрономы и физики найдут алгоритм контроля часов, описанный в главе 4, похожим, но отличным от алгоритмов, к которым они привыкли. Инженеры найдут главы 4, 11 и 12 относящимися к курсу по системам обратной связи управления. Ученые-планетологи и космические штурманы могут найти материал в главах 17 и 18 полезным при разработке оборудования и инструментов нового космического корабля.

Разработка, развертывание и поддержка протокола NTP в Интернете были непростой задачей, которую удалось решить более чем четырем дюжинам добровольцев из разных профессий и из нескольких стран. Энтузиасты NTP имеют много общего с радиолюбителями (включая меня, W3HCF), даже если начальник не видит необходимости заводить часы до наносекунды. Нам повезло, что несколько производителей на протяжении многих лет пожертвовали радио- и спутниковые приемники, компьютеры и крутые гаджеты. Особенно ценится взаимная поддержка Джуды Левина из NIST и Ричарда Шмидта из USNO, которые сами по себе являются бесстрашными хронометристами. Большое спасибо интернетерам Дэнни Майеру и Дэйву Харту из Проекта общественных услуг NTP, которые рецензировали всю книгу, а также Саймону Ву и Джону Вегге из Лаборатории реактивного движения НАСА, которые рецензировали новые главы. В заключение,пару слов о разделах «Прощальные кадры» в конце большинства глав. В то время как основной текст исследует временной пейзаж до самого края обрыва, эти участки спускаются через край. Некоторые из них спекулятивны, другие предлагают предложения, а третьи представляют альтернативную точку зрения. В общем, это было очень весело.

Дэвид Л. Миллс,
сентябрь 2009 г.

 

Сокращенное содержание

1 Основные концепции
2 Как работает NTP
3 В чреве зверя
4 Алгоритм дисциплины часов
5 Проектирование и настройка системы
NTP 6 Производительность NTP в Интернете
7 Первичные серверы и эталонные часы
8 Поддержка хронометража ядра
9 Криптографическая аутентификация
10 Схемы идентификации
11 Анализ ошибок
12 Моделирование и анализ компьютерных часов
13 Метрология и хронометрия шкалы времени NTP
14 Эталонная реализация NTP
15 Архитектура точных системных часов
16 Режимы с чередованием NTP
17 Передача времени для каналов пространственных данных
18 Перенос времени для миссий в дальний космос
19 Техническая история NTP
20 Библиография по синхронизации времени в компьютерных сетях