Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Мельников Д. А. - Организация и обеспечение безопасности информационно-технологических сетей и систем - 2012

.pdf
Скачиваний:
734
Добавлен:
15.07.2016
Размер:
20.96 Mб
Скачать

302

Глава 18. Система именования сегментов/областей

Содержание записи <гг> может иметь одну из следующих форм:

[< T T L > ]

[<class>]

< typ e>

< R D A T A >

[<class>]

[< T T L > ]

< typ e>

< R D A T A > .

RR-запись начинается с дополнительного поля «TTL» и поля «CLASS», за которыми следует поле «ТУРЕ» и поле «RDATA», кото­ рое соответствует типу и классу записи. Поля «CLASS» и «ТУРЕ» ис­ пользуют стандартную мнемонику, поле «TTL» представляет собой целое десятичное число. Пропущенные значения в полях «CLASS» и «TTL» по умолчанию заполняются последними установленными в явном виде величинами.

18.7. Используемые протоколы транспортного уровня

DNS-система предполагает, что DNS-сообщения будут переда­ ваться в форме дейтаграмм (без установления соединения) или в форме последовательности байтов с использованием виртуального соединения (с установлением соединения). Несмотря на то, что вир­ туальные соединения могут использоваться в интересах любого ас­ пекта функционирования DNS-системы, дейтаграммы являются наиболее предпочтительными при передаче запросов, так как они имеют более короткий заголовок и лучшие функциональные свой­ ства. Внутризональный информационный обмен должен использо­ вать виртуальные соединения, так как они обеспечивают надежную доставку сообщений.

В Internet для DNS-системы стандартом определены два порта:

1)TCP-порт (RFC-793) - 53;

2)UDP-порт (RFC-786) - 53.

Глава 19. Система сетевого времени (синхронизации)

Система сетевого времени (или синхронизации) в Internet-сети определяется протоколом сетевого времени (Network Time Protocol Version 4 - NTPv4, RFC-5905), который широко используется для синхронизации системных часов среди множества распределённых серверов времени и клиентов. Он определяет базовую архитектуру, логическую и процедурную характеристики (протокол, как конеч­ ный автомат), структуры данных и алгоритмы функционирования. NTPv4-npoTomn вводит новые функциональные свойства в третью версию NTP-протокола (RFC-1305) и расширяется сам за счёт по­ глощения функциональных свойств простого протокола сетевого времени (Simple Network Time Protocol, Version 4 - SNTPv4протокол, RFC-4330). Данный стандарт заменяет предшествующие стандарты RFC-1305 и RFC-4330. Для NTP-протокола был утвержден транспортный порт (UDP/TCP) под номером «123». IANА назначи­ ла для NTP-протокола два IP-адреса: «224.0.1.1» для 1Ру4-адресации

и«:101» окончание для 1Ру6-адресации.

19.1.Структурная модель системы сетевого времени

вInternet-сети

Модель NTP-подсети синхронизации представляет собой множе­ ство первичных эталонных источников, синхронизируемых по радио- и проводным каналам от национальных стандартов, например, через магистральные шлюзы, соединено с общедоступными ресурсами и функционирует, как первичные серверы времени (рис. 19.1). Главной целью NTP-протокола является доставка данных для временной син­ хронизации от одних серверов времени к другим серверам времени через Internet-сеть и частные корпоративные сети, а также сверка вре­ мени между серверами. Точно настроенные алгоритмы (процедуры) снижают вероятность ошибок вследствие сбоев программно­ аппаратных комплексов или нештатных ситуаций при передаче про­ токольных данных. Программные модули серверов и клиентов на­ страиваются так, чтобы поток значений параметров был направлен в сторону клиентов от первичных серверов времени, расположенных в корневых узлах подсети, через вторичные серверы времени.

304

Глава 19. Система сетевого времени (синхронизации)

В данном NTP-протоколе вводится определение расширенной NTP-метки времени, что позволяет использовать удвоенные числа с плавающей запятой во всех без исключения прикладных реализа­ циях протокола. А это в свою очередь, повышает точность времени, которая составляет менее одной наносекунды, а точность частоты - менее одной наносекунды за секунду. Новый стандарт имеет не­ сколько дополнительных преимуществ, среди которых новый алго­ ритм обслуживания часов, который более чувствителен флуктуаци­ ям частоты в аппаратных системных часах. Типовые первичные сер­ веры времени построены на современных вычислительных средст­ вах, обеспечивающих точность в пределах нескольких десятков микросекунд. Типовые вторичные серверы времени и клиенты в со­ ставе высокоскоростных ЛВС обеспечивают точность в пределах не­ скольких сотен микросекунд при интервалах опроса до 1024 секунд (это была максимальная точность для ЫТРуЗ-протокола). А при ин­ тервалах опроса до 36 часов NTPv4-cepBepbi и клиенты обеспечива­ ют точность в пределах нескольких десятков миллисекунд.

Рис. 19.1. Иерархия, структура и топология системы сетевого времени на основе NTP-протокола

раздел И.

305

19.2. Режимы функционирования

Реализационный программный NTP-модуль функционирует как первичный сервер, вторичный сервер или клиентский модуль. Первичный сервер синхронизируется от эталонных часов, которые напрямую синхронизируются от глобальных UTC-систем времени (например, GPS, Galileo и др.). Клиентский NTP-модуль синхрони­ зируется от одного или более вышележащих серверов, но не син­ хронизируется от зависимых клиентов. Вторичные серверы связаны с одним или несколькими вышележащими серверами и одним или несколькими нижележащими серверами или клиентами. С целью поддержания стабильности в больших NTP-подсетях синхрониза­ ции, целесообразно, чтобы вторичные серверы полностью соответ­ ствовали данному ЫТРу4-протоколу. Допускается использование альтернативных алгоритмов, однако, их выходные параметры должны быть идентичны тем, которые имеют алгоритмы, представ­ ленные в данном стандарте.

19.3. Разновидности функционирования протокола

Существует три разновидности функционирования NTPv4-npo- токола (рис. 19.2):

1)симметричное функционирование. В этом варианте удалён­ ный сервер времени функционирует одновременно, и собст­ венно как сервер, и как клиент, используя для этого, либо симметричное активное виртуальное соединение, либо сим­ метричное пассивное виртуальное соединение. При постоян­ ном симметричном активном соединении (режим 1) переда­ ются соответствующие NTP-сообщения на удалённый сервер, также функционирующий в режиме постоянного симметрич­ ного соединения. Как альтернатива, после получения NTPсообщения от сервера, функционирующего в режиме посто­ янного симметричного соединения, по другому не согласо­ ванному виртуальному соединению может быть сформирова­ но временное пассивное виртуальное соединение. По такому соединению передаются соответствующие NTP-сообщения (режим 2), а само виртуальное соединение поддерживается до окончания тайм-аута или возникновения ошибки или сбоя. Удалённые серверы времени как бы «принуждают» друг друга к обоюдной синхронизации;

2)функционирование в режимах «клиент/сервер». В данном ре­ жиме постоянный клиент передает пользовательские NTP-co-

306

Глава 19. Система сетевого времени (синхронизации)

общения (режим 3) на сервер времени, который отвечает на них путём передачи своих NTP-сообщений (режим 4). Серверы времени синхронизируют одного или нескольких клиентов, но сами от них не синхронизируются. Сервер может быть также «ретранслятором» эталонного времени, если он получает сиг­ налы времени непосредственно от источника эталонного вре­ мени/ частоты;

3) широковещательное функционирование. В данном режи широковещательный сервер времени, используя постоянное виртуальное соединение периодически передает свои широко­ вещательные NTP-сообщения (режим 5), которые могут прини­ мать несколько клиентов. После приёма широковещательного NTP-сообщения сервера времени по несогласованному вирту­ альному соединению клиент формируется временное широко­ вещательное виртуальное соединение (режим 6), которое функционирует до окончания тайм-аута или возникновения ошибки или сбоя. Такой режим необходим для начального «импульса», когда клиент, функционирующий в режиме «кли­ ент», обменивается несколькими NTP-сообщениями с сервером времени для того, чтобы точно измерить задержку распростра­ нения сигнала, или чтобы активизировать протокол безопасно­ сти «Autokey»1, после выполнения которого клиент возвращает­ ся в широковещательный режим клиента. Широковещательный сервер синхронизирует клиентов и другие серверы времени. Необходимо отметить, что постоянные виртуальные соедине­

ния после их установления в дальнейшем никогда не прерываются. Временные виртуальные соединения формируются после получе­ ния NTP-сообщения и в последующем прерываются, либо по исте­ чении тайм-аута, либо при возникновении ошибки или сбоя.

Режимы ф ункционирования

Кодирование

Режим обработки

режима

пакетов

 

Симметричный активный

1

1 или 2

Симметричный пассивный

2

1

Режим клиента

3

4

Режим сервера

4

3

Широковещательный режим сервера

5

5

Широковещательный режим клиента

6

-

Рис. 19.2. Р е ж и м ы ф у н к ц и о н и р о в а н и я N T P v4 -n p o T O K o n a

1 Mills, D.L., «The Autokey security architecture, protocol and algorithms. Electrical

and Computer Engineering Technical Report 06-1-1», NDSS, January 2006.

раздел II.

307

В телефонной индустрии точность каждого сервера определя­ ется номером «слоя» (числом), при этом самый верхний уровень (первичные серверы) обозначается единицей, а каждый последую­ щий (вниз) уровень (вторичные серверы) в иерархии обозначается числом, которое на единицу больше, по сравнению с предшест­ вующим уровнем. Так как номер «слоя» увеличивается, начиная с единицы, достигнутая при однократном запросе точность времени будет ухудшаться в зависимости от соответствующего маршрута обмена данными и стабильности системных часов. Усреднённые ошибки измерений, вызванные различными расстояниями синхро­ низации, возрастают пропорционально номеру «слоя» и измерен­ ной задержке петлевого маршрута (roundtrip delay).

На практике, топология подсети синхронизации должна быть такой, чтобы исключить петлевые маршруты и минимизировать рас­ стояния синхронизации. Используемый в NTP-протоколе алгоритм селекции основан одном из вариантов алгоритма распределенной маршрутизации Беллмана-Форда (Bellman-Ford), предназначенного для расчета связывающих деревьев с минимальными весовыми ко­ эффициентами, которые своими «корнями» замыкаются на первич­ ные серверы. Результатом такого подхода будет то, что подсеть пере­ настраивается автоматически в иерархическую структуру (с ведущи­ ми и ведомыми серверами) в целях обеспечения максимально воз­ можных значений точности и надежности времени, даже когда один или несколько первичных или вторичных серверов или сетевых маршрутов между ними не функционируют по причине сбоя.

Существуют два специальных типа виртуальных соединений: многоадресное (manycast) клиента и многоадресное сервера, - кото­ рые реализуют процедуру поиска функционирующего сервера. Также существуют два типа многоадресных виртуальных соедине­ ния клиента: постоянное и временное. Постоянное многоадресное соединение клиента предназначено для передачи клиентских NTPсообщений (режим 3) по специальному широковещательному или групповому 1Ру4/у6-адресу. Специализированные многоадресные серверы в пределах временного интервала, указанного в поле «time- to-live» (TTL) заголовка IP-пакета, контролируют трафик на предмет обнаружения IP-пакетов с определенным широковещательным или групповым IP-адресом. Если сервер приемлем для синхронизации, то тогда он передаёт своё ответное NTP-сообщение (режим 4), ис­ пользуя для этого IP-пакет, в котором указывает уникальный адрес клиента. После получения этого NTP-сообщения клиент формирует временное виртуальное соединение (режим 3). Временное вирту­ альное соединение клиента поддерживается до окончания тайм­ аута или возникновения ошибки или сбоя.

308

Глава 19. Система сетевого времени (синхронизации)

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

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

Временные виртуальные соединения конкурируют между со­ бой. Как только сформированы новые соединения, клиентский NTP-модуль запускает алгоритмы оптимизации (фильтрации, се­ лекции, кластеризации и суммирования) в целях выбора наилуч­ ших претендентов для синхронизации, а оставшиеся соединения прерываются по окончании тайм-аута. Таким образом, группа сер­ веров времени включает только наилучших кандидатов, которые отправили наиболее приемлемые ответные NTP-сообщения для об­ служивания системного времени.

19.4. Основные термины и определения

Шкала (масштаб) времени (timescale) представляет собой систему отсчёта эталонного источника, в которой время выражается с помо­ щью монотонно возрастающего значения бинарного счётчика с бес­ конечным числом битов. Он считает секунды и доли секунды, когда используется десятичная дробь. Шкала Всеобщего скоординирован­ ного времени (Coordinated Universal Time - UTC) определена Реко­ мендацией Международного союза электросвязи ITU-R TF.4601. Под протекторатом Метрической конвенции 1865 года (Metre Convention of 1865), в 1975 году Международное бюро мер и весов (International

1 International Telecommunications Union, «ITU-R TF.460 Standard-frequence and time-signal emissions», February 2002.

Раздел II.

309

Bureau of Weights and Measures - IBWM1) строго рекомендовало ис­ пользовать UTC-время в качестве основы гражданского времени.

Шкала UTC-времени представляет собой усреднённое значение солнечного времени, распространяемое лабораториями националь­ ных стандартов времени/частоты. Системное время представляет со­ бой показание системных часов, обслуживаемых аппаратнопрограммным комплексом и операционной системой (ОС). Назначе­ ние NTP-алгоритмов состоит в минимизации различий по времени и по частоте между UTC-временем и системным временем. Когда эти различия снижаются до номинальных допустимых значений, то тогда говорят, что системное время синхронно относительно UTC-времени.

Дата события представляет собой значение UTC-времени, ко­ гда это событие имело место. Даты являются кратковременными ве­ личинами, обозначаемыми символом «Т» (в верхнем регистре). Те­ кущее время является иной шкалой времени, которая совпадает с функцией синхронизации программного NTP-модуля.

Метка времени «T(t)» представляет собой, либо UTC-дату, ли­ бо сдвиг текущего времени «Ь> относительно UTC-времени. Сущ­ ность метки времени должна вытекать из содержания NTPсообщения. Пусть « Щ » - сдвиг времени, «R(t)» - сдвиг частоты, «D(t)» - скорость ухода частоты (первая производная «R(t)» относи­ тельно «£»). Тогда, если «T(fo)» - сдвиг UTC-времени, определённый в момент времени «t = to», сдвиг UTC-времени в момент времени «Ь>:

T(t) = T(fo) + R(to)(t - to) + Уг x D(to)(t - to)2 + e ,

где «8» - стохастическая ошибка. Несмотря на то, что параметр «D(t)» очень важен при описании прецизионных генераторов часто­ ты, им, в принципе, можно пренебречь при описании компьютер­ ных генераторов частоты. В данном стандарте все значения времени представляются в секундах, а значения частоты - в секундах за одну секунду (сек/сек). Иногда для описания сдвигов частоты использу­

1Международное бюро мер и весов (французское название - Bureau Interna­ tional des Poids et Mesures) - постоянно действующая международная органи­ зация со штаб-квартирой, расположенной в г. Севр (предместье Парижа, Франция). Учреждено в 1875 г., вместе с подписанием Метрической конвен­ ции. Основная задача Бюро заключается в обеспечении существования еди­ ной системы измерений во всех странах-участницах этой конвенции. В МБМВ хранятся международные эталоны основных единиц и выполняются между­ народные метрологические работы, связанные с разработкой и хранением международных эталонов и сличением национальных эталонов с междуна­ родными и между собой. В МБМВ также проводятся исследования в области метрологии, направленные на увеличение точности измерений. Бюро финан­ сируетсястранами-участницами Метрической конвенции.

310 Глава 19. Система сетевого времени (синхронизации)

ются промили - число миллионный долей (parts-per-million - PPM), одна промиля равна 1 0 6сек/ сек.

В прикладных компьютерных системах синхронизации очень важно оценить эффективность функции (процедуры) обеспечения синхронизации. Модель эффективности NTP-протокола включает четыре статистических параметра, которые обновляются при каж­ дом обращении клиента к серверу времени для проведения измери­ тельных процедур. Сдвиг «0« представляет собой максимально правдоподобный сдвиг времени серверных часов относительно сис­ темного времени. Задержка «5« представляет собой задержку по вре­ мени при передаче пакета по замкнутому (петлевому) маршруту между клиентом и сервером времени. Дисперсия «г« представляет собой максимальную естественную ошибку, возникающую при из­ мерениях времени/частоты. Дисперсия увеличивается до значения, которое равно максимальному допустимому отклонению частоты («ср«) корректируемых системных часов, обычно 15 PPM. Джиттер «£« определяется как среднеквадратическое значение сдвига (от­ клонение времени/частоты), и представляет собой номинальную ошибку при оценивании сдвига.

Рис. 19.3. Модель прикладного программного

модуля ]ЧТРу4-протокола

Раздел II.

311

Несмотря на то, что все эти четыре параметра представляют собой раздельно измеренные значения системного времени относи­ тельно каждого сервера времени, NTP-протокол включает ряд про­ цедур для суммирования этих параметров нескольких серверов с целью более точной коррекции и калибровки системного времени. Системный сдвиг «0« представляет собой максимально правдопо­ добную оценку сдвига всей совокупности серверов времени. Сис­ темный джиттер «Е« представляет собой номинальную ошибку при оценивании системного сдвига. Параметры «8« и «с« накапливаются на каждом уровне (номер «слоя»), начиная от эталонных часов, что приводит к образованию корневой задержки «Д« и корневой дисперсии

«Е«, также являющимися статистическими параметрами. Расстояние синхронизации «А« равно: «Е + А /2», - и представляет собой макси­ мальную ошибку, которая является следствием всех возможных причин её возникновения. Эти параметры присущи всем приклад­ ным системам, которые зависят от оценивания эффективности функции (процедуры) обеспечения синхронизации.

19.5. Модель реализации

На рис. 19.3 представлена структура типовой многоканальной модели прикладного программного модуля ЫТРу4-протокола. Эта модель включает два процесса, присущие каждому серверу времени:

опроцесс удалённого сервера времени, обеспечивающий приём NTP-сообщений от другого сервера времени или источника эталонного времени;

процесс опроса удалённых серверов времени, обеспечиваю­ щий передачу NTP-сообщений другому удалённому серверу

времени или источнику эталонного времени.

Эти процессы организуют передачу, приём и обработку NTPсообщений, представляющих собой единую структуру данных, вклю­ чающих статистические параметры и другие переменные и констан­ ты, и для этого формируют виртуальные соединения. Клиентский программный NTP-модуль передаёт NTP-сообщения одному или не­ скольким серверам времени, а затем обрабатывает переданные ими ответные NTP-сообщения. Серверный программный NTP-модуль ме­ няет местами IP-адреса и номера UDP-портов отправителя/получа­ теля, заполняет определённые поля в NTP-сообщении и сразу после этого отправляет его источнику запроса, если используется режим функционирования «кпиент/сервер», в противном случае, если ис­ пользуется симметричный режим функционирования, NTP-сообще­