Нова книга: Міллс, Девід Л. Синхронізація часу компьютерної мережі: мережевий протокол часу на Землі та у космосі, друге видання , 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 тисяча п’ятсот вісімдесят вісім (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 Проектування та налаштування системи
6 Продуктивність NTP в Інтернеті
7 Первинні сервери і еталонні годинник
8 Підтримка хронометражу ядра
9 Криптографічна аутентифікація
10 Схеми ідентифікації
11 Аналіз помилок
12 Моделювання та аналіз комп’ютерних годин
13 Метрологія та хронометрія шкали часу NTP
14 Еталонна реалізація NTP
15 Архітектура точних системних годин
16 Режими з чергуванням NTP
17 Передача часу для каналів просторових даних
18 Перенесення часу для місій в дальній космос
19 Технічна історія NTP
20 Бібліографія по синхронізації часу в комп’ютерних мережах