Снабжение пакетов данных точными временными метками в системах сетевого мониторинга
Непрерывно растет число устройств, подключаемых к различным источникам информации. Поскольку пользователи крайне заинтересованы в постоянной доступности сетевых приложений и их высокой производительности,
Существует немало критически важных сервисов и приложений, которые, работая в режиме реального времени, нуждаются в своевременной доставке пакетов данных по сети. К ним относятся:
- интерактивные коммуникационные сервисы, включая сервисы Voice over IP (VoIP), Voice over LTE (VoLTE), видеоконференцсвязи, видеочата и виртуальных совещаний;
- сетевые финансовые сервисы (для предоставления брокерских и банковских услуг);
- сервисы на базе технологии Audio/Video Bridging (AVB);
- системы промышленной автоматизации и Smart Grid;
- сервисы синхронизации на базе протокола Precision Time Protocol (PTP).
В ответ на потребности в контроле функционирования сервисов и приложений, чувствительных к временным задержкам, инновационные компании выпускают специализированные средства для мониторинга трафика этих сервисов и приложений. Многие из такого рода средств могут быть задействованы в системе сетевого мониторинга, но успешность их работы зависит от точности временных меток, добавляемых к контролируемым пакетам данных. В эффективных инфраструктурах мониторинга могут использоваться различные устройства доступа к контролируемому трафику, включая физические и виртуальные ответвители, агрегаторы трафика и брокеры сетевых пакетов (Network Packet Brokers, NPB), направляющие подлежащие контролю данные на средства мониторинга. В такого рода распределенных инфраструктурах мониторинга для обеспечения эффективного использования средств анализа временных параметров важно, чтобы агрегирующие устройства и NPB снабжали пакеты точными временными метками.
Передача информации о времени по пакетной сети
Перед анализом средств и методов мониторинга сетевых ресурсов, чувствительных к временным задержкам, важно рассмотреть основные положения и концепции, относящиеся к передаче информации о времени по пакетной сети.
Общее правило таково: любому анализу временных соотношений на уровне пакетов должно предшествовать добавление к ним временных меток. Существует множество методов генерации этих меток. Также временные метки могут пересылаться в различных форматах.
Временные метки PCAP
Временные метки могут добавляться при инкапсуляции пакета, как это предусмотрено в распространенном формате PCAP, который используется для захвата сетевого трафика. В этом случае временная метка является частью внешнего заголовка, инкапсулирующего пакет, и показывает момент времени, в который пакет поступил в инкапсулирующий интерфейс. Обычно этот тип меток имеет формат времени эры Unix, который представляет собой число секунд, прошедших с момента начала эры Unix, — с 1 января 1970 года.
Временные метки протоколов
Временные метки могут вставляться в неизменную структуру пакета, например в зарезервированные для них поля пакетов таких протоколов, как Precision Time Protocol (PTP) и Network Time Protocol (NTP). В этом случае метка обычно показывает время, в которое пакет был отправлен.
Структура пакета NTP
Данные временные метки обычно содержат поля секунд и долей секунд, подсчитанных, как и в предыдущем случае, от начала эры Unix.
Фирменные временные метки
Существуют и другие методы добавления и генерации временных меток, выполняемые различными типами оборудования, включая коммутаторы и NPB. Реализации меток могут быть разными и, учитывая, что они фирменные, важно понимать суть используемого метода добавления меток и возможные побочные эффекты его применения.
Ключевой кадр и счетчик
Существует ряд фирменных временных меток, которых присоединяют к концу пакета, образуя его трейлер (концевик). Эти метки содержат численные значения не синхронизированного счетчика. Тактовая частота счетчика зависит от его реализации и может составлять, например, 200 МГц, что соответствует 5 нс на каждый отсчет. Периодически счетчик переполняется, и тогда генерируется ключевой кадр, содержащий временную метку реального времени, которая может использоваться совместно со значением счетчика в концевике каждого очередного пакета для определения его реального времени.
При таком методе генерации и добавления временных меток, как правило, временная метка присоединяется к пакету в момент его выхода из коммутатора или NPB, а не в момент его входа в это устройство. По этой причине данная временная метка не может обозначать точное время поступления пакета в ответвитель, используемый для доступа к контролируемому сетевому трафику. Для определения этого времени должна быть сделана определенная поправка на задержку прохождения пакета через коммутатор. В некоторых случаях могут использоваться коммутаторы без буферизации пакетов (
Достоинство метода, предусматривающего использование ключевого кадра, заключается в том, что размер временной метки (концевика) может быть очень маленьким, поскольку эта метка представляет собой результат отсчета времени от момента создания последнего ключевого кадра. При использовании упомянутого выше
Концевик в виде полной временной метки
В некоторых методах к концу каждого пакета присоединяется временная метка, показывающая реальное время данного пакета по отношению к некоторому фиксированному моменту времени, каковым может быть начало эры Unix (1 января 1970 года). В этих концевиках обычно содержится информация о числе секунд и долей секунды, например наносекунд. Для числа секунд и числа наносекунд требуются два поля данных длинной 32 бита каждое. Большим преимуществом данного подхода является то, что каждый пакет имеет собственную уникальную полную временную метку, что существенно упрощает использование временных меток.
Структура пакета с временной меткой в концевике
Поскольку (по сравнению с методом, в котором используются ключевые кадры) для каждого пакета нужно подсчитывать значительно большие числа, для обеспечения каждого пакета меткой в формате времени эры Uniх на полной линейной скорости может потребоваться более мощный центральный процессор и в целом более высокопроизводительный NPB.
В отдельных методах, предусматривающих использование концевиков в виде полной временной метки, обеспечивается высочайшая точность этих меток путем их генерации при поступлении пакетов в NPB. В этом случае любая временная задержка, связанная с обработкой пакета и его пересылкой между сетевым портом NPB и портом средства мониторинга не внесет ошибку во временную метку. Это самый точный вариант добавления временных меток, реализуемый в высокопроизводительных NPB.
Терминология
Некоторые термины, используемые для передачи информации о времени по пакетным сетям, имеют специфические значения, которые могут сильно отличаться от общеупотребительных значений данных слов. Это может создавать путаницу при обсуждении технологий и устройств, создающих временные метки.
В обычных разговорах термины accuracy (точность), precision (разброс) и resolution (разрешение) могут использоваться один вместо другого (как синонимы), но в области передачи информации о времени по сети они имеют разные значения. Крайне важно прояснить значения этих терминов, поскольку они напрямую влияют на возможности применения любых решений, осуществляющих контроль временных параметров передачи пакетов.
Понятия точности и разброса временных меток
Точность
Под точностью временных меток, генерируемых NPB, понимается максимальное расхождение между любой временной меткой и неким стандартным временем, например всемирным координированным временем (Universal Time Coordinated, UTC). Измерять точность временных меток, генерируемых NPB, может быть очень непросто, поскольку для этого нужно знать время передачи пакетов, точность меток которых измеряется, по шкале времени UTC. Не существует практичных способов оценки точности временных меток в развернутой инфраструктуре мониторинга, поэтому приходится доверять точностным параметрам, указанным в спецификациях на средства контроля трафика.
Разброс
Под разбросом временных меток, генерируемых NPB, понимается максимальное различие в их точности. Например, если ни одна временная метка, генерируемая NPB, не отличается от времени UTC более чем на 1 мкс, то их точность составляет 1 мкс. Но если точности всех временных меток находятся в пределах 200 нс одна от другой, то их разброс составляет 200 нс. Для измерения разброса меток, генерируемых NPB, нужны такие же сложные тестовые процедуры и специализированные устройства, какие используются для измерения точности.
Разрешение
Разрешение — это минимальный временной интервал между пакетами, который NPB может измерить. Обычно в NPB для снабжения пакетов временными метками используется
Возможное несовпадение реального и измеренного времени
Понимание заявлений
В рекламных и маркетинговых материалах производителей NPB функционал, связанный с генерацией и использованием временных меток, обычно описывается слишком упрощенно. В результате читатель может неверно интерпретировать содержащиеся в этих материалах заявления. Учитывая сложность проверки их истинности, это может привести к ложным выводам о возможности (или невозможности) применения описываемого оборудования.
Рассмотрим два примера:
- 1 nanosecond precision. Это может быть интерпретировано так, что разброс временных меток находится в пределах 1 нс. Но на самом деле это обычно означает, что сама метка может изменяться с шагом в 1 нс. То есть речь идет о временной метке, имеющей 9 разрядов после десятичной запятой.
- 100 nanosecond accuracy. Это может быть интерпретировано так, что любая сгенерированная временная метка отклоняется от
UTC-времени приема снабжаемого этой меткой пакета не более, чем на 100 нс. Однако производители нередко используют термин accuracy (точность) в смысле resolution (разрешение), а иногда — даже в смысле precision (разброс). Часто указанная в маркетинговых материалах точностная характеристика является показателем потенциальной точности системного источника времени, напримерGPS-приемника , или возможной математической точностью средства формирования временных меток, например10-МГц счетчика.
Источники времени
Чтобы генерировать временные метки, NPB должен быть снабжен
Источник времени, используемый для снабжения пакетов временными метками в NPB, определяет максимально возможный уровень точности временных меток, но достижение этого уровня зависит от других системных компонентов. Реальные показатели функционирования могут варьироваться в широких пределах. Разброс меток всегда определяется конструкцией NPB и не зависит от параметров источника времени.
Под синхронизацией времени в сетевом оборудовании подразумевается привязка внутренней шкалы времени устройства к стандартной шкале, например к UTC. Такого рода синхронизация обеспечивается протоколами NTP и PTP, а система GPS представляет собой глобальный источник синхросигналов. Существует и такое понятие, как синтонизация (частотная синхронизация), обозначающее процесс точной подстройки частоты одного генератора к частоте другого (например, опорного) генератора. Синтонизация необходима для сравнения временных меток, полученных из разных источников, или при измерении относительного времени, например времени задержки передачи пакетов. Чтобы гарантировать высокую точность и малый разброс временных меток, нужно обеспечивать как временную синхронизацию, так и синтонизацию.
Существует множество источников времени, которые могут быть подключены к NPB для генерации временных меток.
Локальные часы реального времени и генератор
В большинстве современных сетевых устройств имеются аппаратные часы реального времени, устанавливаемые либо на заводе, либо пользователем вручную, после чего отсчет времени осуществляется с помощью локального генератора. Качество временной синхронизации зависит от используемого метода установки локальных часов, а точность синтонизации — от типа и качества локального генератора.
Например, некое устройство может быть оснащено часами реального времени, которые установлены на заводе с использованием протокола NTP с точностью до 10 мс относительно UTC, и генератором Stratum 3 с точностью 4,6 ppm, что означает добавление ошибки в 4,6 мкс на каждой секунде. Временные метки, генерируемые с использованием такого оборудования, будут иметь малый разброс, но нестабильную точность, которая будет ухудшаться примерно на 3 с в неделю.
Один импульс в секунду (1PPS)
Одним из методов синхронизации времени в сетевом оборудовании является использование опорного сигнала 1PPS, представляющего собой последовательность импульсов, передаваемых с периодом 1 с и привязанных к шкале времени UTC. Если часы реального времени установить с точностью ±0,5 с относительно UTC, а затем синхронизировать их с помощью сигнала 1PPS, может быть достигнута очень хорошая временная синхронизация, нужная для обеспечения высокой точности временных меток. В периоды между импульсами 1PPS субсекундные значения времени будут отсчитываться с помощью высокочастотного генератора, определяющего разброс временных меток. Таким образом, сигнал 1PPS следует использовать совместно с высокостабильным генератором.
Глобальная навигационная спутниковая система GPS
Будучи оснащенными атомными часами, спутники системы GPS передают очень точное время. Сигналы этих спутников могут приниматься
Протокол Precision Time Protocol (PTP)
Протокол PTP, также называемый протоколом IEEE1588 (или просто 1588), специально разработан для синхронизации сетевых устройств по пакетной сети. Этот протокол все шире применяется в центрах обработки данных, поскольку, по сравнению с протоколом NTP, обеспечивает более высокую точность временной синхронизации. К тому же, для использования PTP не требуются никакие антенны или специальные кабели, нужные для синхронизации от приемника GPS или сигнала 1PPS. Протокол PTP может работать по обычной сетевой инфраструктуре. Достижимая точность временной синхронизации по протоколу PTP почти полностью зависит от архитектуры сети, по которой работает этот протокол, и интенсивности сетевого трафика. При определенных условиях PTP может обеспечить точность синхронизации ±1 мкс относительно UTC (примерно в 10 раз хуже, чем при синхронизации от приемника GPS). Однако точность, обеспечиваемая протоколом PTP, изменяется в зависимости от нагрузки на сеть.
Протокол Network Time Protocol (NTP)
Использование протокола NTP — классический способ синхронизации времени на сетевых компьютерных устройствах. Он широко применяется во всем Интернете. Протокол NTP обеспечивает точность временной синхронизации порядка десятков миллисекунд, чего может вполне хватить, например, для регистрации системных событий. Но обычно такой точности не достаточно для мониторинга чувствительных к временным задержкам сетевых сервисов и приложений.
Что контролировать
Средства, осуществляющие мониторинг чувствительных к временным задержкам приложений и сервисов на сетях, могут использовать временные метки для расчета различных рабочих характеристик или ключевых показателей функционирования (KPI) этих приложений и сервисов.
Временная задержка
Это классический показатель работы сети, для определения которого (по базовой методике) используют две временные метки, присоединенные к одному и тому же переданному пакету в двух разных точках сети. Сопоставляя эти метки, можно контролировать временную задержку на маршруте следования пакета.
Для нормальной работы многих сетевых сервисов и приложений нужна низкая временная задержка передачи их трафика. Мониторинг временной задержки передачи трафика этих сервисов и приложений имеет большое значение для обеспечения требуемых уровней QoE и выполнения SLA, а также для выявления тенденций, который могут привести к ухудшению работы сети или выходу ее из строя.
Пример контролируемой сетевой инфраструктуры
Поскольку для измерения временной задержки нужно контролировать минимум две точки сети, следует использовать более одного NPB для генерации временных меток в каждой из контролируемых точек. Чтобы выполнять эти измерения, нужно обеспечить временную синхронизацию. Также большое значение имеет высокая точность временных меток относительно UTC. Для мониторинга временной задержки наиболее предпочтительным методом снабжения пакетов временными метками является присоединение полной временной метки к концу каждого пакета. То есть временная метка в каждом пакете должна содержать всю информацию, необходимую для определения временной задержки, чтобы не нужно было использовать ключевой кадр.
Точность и разброс временных меток, нужные для мониторинга временной задержки в сети, зависят от требований приложений и средств мониторинга.
- VoIP и VoLTE. Для обеспечения качественной двусторонней голосовой связи, голосовые приложения нуждаются в небольшой временной задержке передачи их трафика. Например, в рекомендации
МСЭ-Т G.114 говорится, что приемлемой (для голосовой связи) является временная задержка не более 150 мс в каждом направлении. Возможно, потребуется проводить мониторинг различных сетевых сегментов с целью определения вклада каждого из них в общую временную задержку. Дело в том, что указанное выше предельное значение временной задержки относится ко всему маршруту передачи голосового трафика, куда могут входить каналы Интернета и мобильной сети. - видео-конференц-связь, видеочат и виртуальные совещания. Поскольку государственные организации и частные компании продолжают развивать взаимодействие между своими территориально распределенными подразделениями, а индивидуальные пользователи все шире применяют сервисы видеоконференцсвязи и видеочата для личного общения, объемы сетевого трафика, для передачи которого требуется небольшая временная задержка, будут расти. Для поддержки высокой эффективности этих сервисов, нужно контролировать сквозную задержку передачи их трафика, которая не должна превышать 300 мс. Мониторинг сетевых сегментов с целью контроля вносимой ими задержки передачи видеотрафика позволит выявлять первые признаки возможных сетевых проблем.
- Передача рыночных данных в режиме реального времени. Многие автоматизированные банковские и финансовые системы нуждаются в своевременной доставке рыночных данных и другой информации, способной повлиять на ситуацию на рынке. В работе такого рода систем важна каждая микросекунда. Существуют специальные средства для контроля всех аспектов влияния временных задержек на работу сетевых трейдинговых систем. Для максимальной эффективности этих средств крайне важно передавать им пакеты данных, снабженные временными метками с точностью до долей микросекунды.
- Высокочастотная торговля. За последние несколько лет высокочастотная торговля стала одной из самых горячих тем в области чувствительных к временной задержке приложений. Для систем высокочастотной торговли время задержки и обеспечение временной синхронизации имеют одинаково большое значение. Поэтому для постоянного контроля задержки передачи трейдинговых данных и временной синхронизации необходимы NPB, обеспечивающие субмикросекундную точность временных меток.
Пакеты, кадры, битовая скорость
Для нормальной работы определенных приложений нужно постоянство битовой скорости или скорости передачи пакетов. Поставщики сетевых услуг и
Временная синхронизация
Временная синхронизация крайне важна для нормальной работы определенных сетей и приложений. Для мониторинга временной синхронизации нужно, чтобы NPB добавляли к контролируемым данным высокоточные временные метки.
- Сети мобильной связи нуждаются во временной синхронизации (это особенно верно в отношении
TDM-сетей и решений VoLTE) для выполнения операций хэндовера, обеспечения эффективного использования спектра и повышения пропускной способности. Все это способствует удержанию пользователей и предоставлению качественных услуг. Для обеспечения должного уровня качества услуг мобильной связи большое значение имеет контроль временных меток (в трафике), сгенерированных с наносекундной точностью. - Системы промышленной автоматизации также нуждаются во временной синхронизации, которая обычно обеспечивается с помощью технологий GPS, PTP и
IRIG-B . Мониторинг временной синхронизации на микросекундном уровне необходим для обеспечения надежной работы синхронизированныхEthernet-сетей автоматизации. - Технологии Smart Grid и Power Delivery являются решениями следующего поколения по управлению сетями электроснабжения и электроэнергетическими системами. Операторы энергосистем используют устройства GPS и PTP для точной синхронизации средств производства электроэнергии и пользовательских нагрузок с целью эффективного применения имеющихся энергоресурсов там, где они нужны больше всего. Для мониторинга синхронизации сетей электроснабжения контролируемые пакеты должны быть снабжены субмикросекундными временными метками.
- В решениях на базе технологии AVB для синхронизации аудио- и видеоустройств по сети используется протокол PTP. Чтобы контролировать эффективность синхронизации устройств AVB, брокеры сетевых пакетов должны снабжать их субмикросекундными метками.
- Концепция Интернета вещей предполагает сетевое подключение разнообразных устройств, многим из которых нужна синхронизация в реальном масштабе времени. В растущем мире подключенных устройств контроль временной синхронизации в рамках Интернета вещей станет важной составляющей сетевого мониторинга. Для реализации такого контроля потребуются субмикросекундные временные метки, генерируемые NPB.
Пропускная способность
Многие современные системы сетевого мониторинга предоставляют статистические данные по пропускной способности сети, но без временной синхронизации и снабжения пакетов точными временными метками при расчетах пропускной способности может накапливаться погрешность. При необходимости точного выделения пропускной способности, что характерно для сетей мобильной связи и программно определяемых сетей (SDN), эта вычислительная погрешность может снизить эффективность распределения сетевых ресурсов. Субмикросекундные временные метки, генерируемые NPB, обеспечат необходимую точность расчетов потребления пропускной способности сети.
События
Значимость многих происходящих в сети событий зависит от времени, поэтому мониторинговое оборудование должно иметь возможность точно информировать о времени событий. Эта возможность позволяет установить корреляцию между подлежащими контролю захваченными пакетами и накопленными в syslog сообщениями о событиях. Как правило, мониторинг событий осуществляется с миллисекундным разрешением в реальном масштабе времени, для синхронизации c UTC используется протокол NTP. Поэтому временные метки, которые NPB добавляет к пакетам, относящимся к интересующим событиям, должны иметь миллисекундную точность при субмиллисекундном разбросе.
Порядок следования пакетов и всплески трафика
Некоторым приложениям необходимо, чтобы пакеты принимались в правильном порядке. Поэтому рекомендуется проводить мониторинг или захват сетевого трафика для анализа порядка следования пакетов.
В системах мониторинга, где имеет место переподписка портов средств мониторинга, или происходит агрегация потоков трафика по схеме N:M, могут быть всплески трафика (bursts), не идентифицируемые средствами мониторинга
Заключение. Эффективные инструменты
Компания Treatface поставляет широкий ассортимент мониторинговых устройств и систем, снабжающих сетевые пакеты точными временными метками. Среди них — брокеры сетевых пакетов (NPB) семейства Net Tool Optimizer (NTO) компании Ixia,
Характерная для высокопроизводительных моделей NPB возможность прикрепления к отслеживаемым пакетам точных временных меток нужна для выполнения ряда важных контрольных функций, включая мониторинг задержки передачи трафика, скорости передачи пакетов и временной синхронизации оборудования. В устройствах NTO компании Ixia данную возможность реализуют модули AFM (Advanced Feature Modules). В качестве источников времени брокеры сетевых пакетов NTO, оснащенные модулями AFM, используют локальные часы, приемники GPS и протокол NTP. Для шасси NTO 7300 выпущен
ПАК фирмы Corvil широко применяются для контроля ключевых сервисов, приложений и
В отличие от обычных сетевых адаптеров, платы EndaceDAG захватывают сетевой трафик без потерь пакетов на полной скорости своих интерфейсов. К каждому захваченному пакету плата прикрепляет