Обзор методов анализа и мониторинга сетевого трафика
Рекомендации: представленный перевод не является профессиональным. Возможны отступления от текста, неправильная трактовка тех или иных терминов и понятий, субъективное мнение переводчика. Все иллюстрации внесены в перевод без изменения.
Алиша Сессил
Обзор методов анализа и мониторинга сетевого трафика
Так как продолжают расти частные внутренние сети компаний, чрезвычайно важно, чтобы сетевые администраторы знали и умели управлять вручную различными типами трафика, который путешествует по их сети. Мониторинг и анализ трафика необходимы для того, чтобы более эффективно диагностировать и решать проблемы, когда они происходят, таким образом не доводя сетевые сервисы до простоя в течении длительного времени. Доступно много различных инструментов, которые позволяют помочь администраторам с мониторингом и анализом сетевого трафика. Данная статья обсуждает методы мониторинга ориентированные на маршрутизаторы и методы мониторинга не ориентированные на маршрутизаторы (активные и пассивные методы). Статья даёт обзор трёх доступных и наиболее широко используемых методов мониторинга сети, встроенных в маршрутизаторы (SNMP, RMON и Cisco Netflow) и предоставляет информацию о двух новых методах мониторинга, которые используют сочетание пассивного и активного методов мониторинга (WREN и SCNM).
1. Важность мониторинга и анализа сети
Сетевой мониторинг (мониторинг сети) — это сложная задача, требующая больших затрат сил, которая является жизненно важной частью работы сетевых администраторов. Администраторы постоянно стремятся поддержать бесперебойную работу своей сети. Если сеть «упадёт» хотя бы на небольшой период времени, производительность в компании сократится и (в случае организаций предоставляющих государственные услуги) сама возможность предоставления основных услуг будет поставлена под угрозу. В связи с этим администраторам необходимо следить за движением сетевого трафика и производительностью на всей сети и проверять, появились ли в ней бреши в безопасности.
2. Способы мониторинга и анализа
«Анализ сети — это процесс захвата сетевого трафика и его быстрого просмотра для определения того, что произошло с сетью» - Анжелла Оребаух. В следующих разделах обсуждаются два способа мониторинга сети: первый — маршрутизаторо-ориентированный, второй — не ориентированный на маршрутизаторы. Функциональность мониторинга, который встроен в сами маршрутизаторы и не требует дополнительной установки программного или аппаратного обеспечения, называют методами, основанными на маршрутизаторе. Не основанные на маршрутизаторах методы требуют установки аппаратного и программного обеспечения и предоставляют большую гибкость. Обе техники обсуждаются ниже в соответствующих разделах.
2.1. Методы мониторинга основанные на маршрутизаторе
Методы мониторинга основанные на маршрутизаторе — жёстко заданы (вшиты) в маршрутизаторах и, следовательно, имеют низкую гибкость. Краткое описание наиболее часто используемых методов такого мониторинга приведены ниже. Каждый метод развивался много лет прежде чем стать стандартизованным способом мониторинга.
2.1.1. Протокол простого сетевого мониторинга (SNMP), RFC 1157
SNMP — протокол прикладного уровня, который является частью протокола TCP/IP. Он позволяет администраторам руководить производительностью сети, находить и устранять сетевые проблемы, планировать рост сети. Он собирает статистику по трафику до конечного хоста через пассивные датчики, которые реализуются вместе с маршрутизатором. В то время, как существуют две версии (SNMPv1 и SNMPv2), данный раздел описывает только SNMPv1. SNMPv2 построен на SNMPv1 и предлагает ряд усовершенствований, таких как добавление операций с протоколами. Стандартизируется ещё один вариант версии SNMP. Версия 3 (SNMPv3) находится на стадии рассмотрения.
Для протокола SNMP присущи три ключевых компонента: управляемые устройства ( Managed Devices ), агенты ( Agents ) и системы управления сетью ( Network Management Systems - NMSs). Они показаны на рис. 1.
Рис. 1. Компоненты SNMP
Управляемые устройства включают в себя SNMP-агента и могут состоять из маршрутизаторов, переключателей, коммутаторов, концентраторов, персональных компьютеров, принтеров и других элементов, подобных этим. Они несут ответственность за сбор информации и делают её доступной для системы управления сетью (NMS).
Агенты включают в себя программное обеспечение, которое владеет информацией по управлению, и переводят эту информацию в форму, совместимую с SNMP. Они закрыты для устройства управления.
Системы управления сетью (NMS) выполняют приложения, которые занимаются мониторингом и контролем устройств управления. Ресурсы процессора и памяти, которые необходимы для управления сетью, предоставляются NMS. Для любой управляемой сети должна быть создана хотя бы одна система управления. SNMP может действовать исключительно как NMS, или агент, или может исполнять свои обязанности или др.
Существует 4 основных команды, использующиеся SNMP NMS для мониторинга и контроля управляемых устройств: чтение, запись, прерывание и операции пересечения. Операция чтения рассматривает переменные, которые хранятся управляемыми устройствами. Команда записи меняет значения переменных, которые хранятся управляемыми устройствами. Операции пересечения владеют информацией о том, какие переменные управляемых устройств поддерживают, и собирают информацию из поддерживаемых таблиц переменных. Операция прерывания используется управляемыми устройствами для того, чтобы сообщить NMS о наступлении определённых событий.
SNMP использует 4 протокольные операции в порядке действия: Get, GetNext, Set и Trap. Команда Get используется, когда NMS выдаёт запрос на информацию для управляемых устройств. SNMPv1-запрос состоит из заголовка сообщения и единицы данных протокола (PDU). PDU-сообщения содержит информацию, которая необходима для удачного выполнения запроса, который будет либо получать информацию от агента, либо задавать значение в агенте. Управляемое устройство использует SNMP агентов, расположенных в нём, для получения необходимой информации и затем посылает сообщение NMS'у, с ответом на запрос. Если агент не владеет какой либо информацией по отношению к запросу, он ничего не возвращает. Команда GetNext будет получать значение следующего экземпляра объекта. Для NMS также возможно посылать запрос (операция Set), когда устанавливается значение элементов без агентов. Когда агент должен сообщить NMS-события, он будет использовать операцию Trap.
Как говорилось ранее, SNMP - протокол уровня приложений, который использует пассивные сенсоры, чтобы помочь администратору проследить за сетевым трафиком и производительностью сети. Хотя, SNMP может быть полезным инструментом для сетевого администратора, он создаёт возможность для угрозы безопасности, потому что он лишён возможности аутентификации. Он отличается от удалённого мониторинга (RMON), который обсуждается в следующем разделе, тем, что RMON работает на сетевом уровне и ниже, а не на прикладном.
2.1.2. Удалённый мониторинг (RMON), RFS 1757
RMON включает в себя различные сетевые мониторы и консольные системы для изменения данных, полученных в ходе мониторинга сети. Это расширение для SNMP информационной базы данных по управлению (MIB). В отличии от SNMP , который должен посылать запросы о предоставлении информации, RMON может настраивать сигналы, которые будут «мониторить» сеть, основанную на определённом критерии. RMON предоставляет администраторам возможности управлять локальными сетями также хорошо, как удалёнными от одной определённой локации/точки. Его мониторы для сетевого уровня приведены ниже. RMON имеет две версии RMON и RMON2. Однако в данной статье говорится только о RMON. RMON2 позволяет проводить мониторинг на всех сетевых уровнях. Он фокусируется на IP-трафике и трафике прикладного уровня.
Хотя существует 3 ключевых компонента мониторинговой среды RMON, здесь приводятся только два из них. Они показаны на рис. 2 ниже.
Рис. 2. Компоненты RMON
Два компонента RMON это датчик, также известный как агент или монитор, и клиент, также известный как управляющая станция (станция управления). В отличии от SNMP датчик или агент RMON собирает и хранит сетевую информацию. Датчик — это встроенное в сетевое устройство (например маршрутизатор или переключатель) программное обеспечение. Датчик может запускаться также и на персональном компьютере. Датчик должен помещаться для каждого различного сегмента локальной или глобальной сети, так как они способны видеть трафик, который проходит только через их каналы, но они не знают о трафике за их приделами. Клиент — это обычно управляющая станция, которая связана с датчиком, использующим SNMP для получения и коррекции RMON-данных.
RMON использует 9 различных групп мониторинга для получения информации о сети.
- Statistics — статистика измеренная датчиком для каждого интерфейса мониторинга для данного устройства.
- History — учёт периодических статистических выборок из сети и хранение их для поиска.
- Alarm — периодически берёт статистические образцы и сравнивает их с набором пороговых значений для генерации события.
- Host — содержит статистические данные, связанные с каждым хостом, обнаруженным в сети.
- HostTopN — готовит таблицы, которые описывают вершину хостов (главный хост).
- Filters — включает фильтрацию пакетов, основываясь на фильтровом уравнении для захвата событий.
- Packet capture — захват пакетов после их прохождения через канал.
- Events — контроль генерации и регистрация событий от устройства.
- Token ring — поддержка кольцевых лексем.
Как установлено выше, RMON, строится на протоколе SNMP. Хотя мониторинг трафика может быть выполнен при помощи этого метода, аналитические данные об информации, полученные SNMP и RMON имеют низкую производительность. Утилита Netflow, которая обсуждается в следующем разделе, работает успешно со многими пакетами аналитического программного обеспечения, чтобы сделать работу администратора намного проще.
2.1.3. Netflow, RFS 3954
Netflow — это расширение, которое было представлено в маршрутизаторах Cisco, которые предоставляют возможность собирать IP сетевой трафик, если это задано в интерфейсе. Анализируя данные, которые предоставляются Netflow, сетевой администратор может определить такие вещи как: источник и приёмник трафика, класс сервиса, причины переполненности. Netflow включает в себя 3 компонента: FlowCaching (кеширующий поток), FlowCollector (собиратель информации о потоках) и Data Analyzer (анализатор данных). Рис. 3 показывает инфраструктуру Netflow. Каждый компонент, показанный на рисунке, объясняется ниже.
Рис. 3. Инфраструктура NetFlow
FlowCaching анализирует и собирает данные о IP потоках, которые входят в интерфейс, и преобразует данные для экспорта.
Из Netflow-пакетов может быть получена следующая информация:
- Адрес источника и получателя.
- Номер входящего и выходящего устройства.
- Номер порта источника и приёмника.
- Протокол 4 уровня.
- Количество пакетов в потоке.
- Количество байтов в потоке.
- Временной штамп в потоке.
- Номер автономной системы (AS) источника и приёмника.
- Тип сервиса (ToS) и флаг TCP.
Первый пакет потока, проходящий через стандартный путь переключения, обрабатывается для создания кэша. Пакеты с подобными характеристиками потока используются для создания записи о потоке, которая помещается в кэш для всех активных потоков. Эта запись отмечает количество пакетов и количество байт в каждом потоке. Кэшируемая информация затем периодически экспортируется в Flow Collector (сборщик потоков).
Flow Collector - ответственен за сбор, фильтрование и хранение данных. Он включает в себя историю об информации о потоках, которые были подключены при помощи интерфейса. Снижение объёма данных также происходит при помощи Flow Collector'а при помощи выбранных фильтров и агрегации.
Data Analyzer (анализатор данных) необходим, когда нужно представить данные. Как показано на рисунке, собранные данные могут использоваться для различных целей, даже отличных от мониторинга сети, таких как планирование, учёт и построение сети.
Преимущество Netflow над остальными способами мониторинга, такими как SNMP и RMON, в том, что в ней существует программные пакеты, предназначенные для различного анализа трафика, которые существуют для получения данных от Netflow-пакетов и представления их в более дружелюбном для пользователя виде.
При использовании инструментов, таких как Netflow Analyzer (это только один инструмент, который доступен для анализирования Netflow-пакетов), информация, приведённая выше, может быть получена от Netflow-пакетов для создания диаграмм и обычных графиков, которые администратор может изучить для большего понимания о его сети. Наибольшее преимущество использования Netflow в отличии от доступных аналитических пакетов в том, что в данном случае могут быть построены многочисленные графики, описывающие активность сети в любой момент времени.
2.2. Технологии не основанные на маршрутизаторах
Хотя технологии, не встроенные в маршрутизатор всё же ограничены в своих возможностях, они предлагают большую гибкость, чем технологии встроенные в маршрутизаторы. Эти методы классифицируются как активные и пассивные.
2.2.1. Активный мониторинг
Активный мониторинг сообщает проблемы в сети, собирая измерения между двумя конечными точками. Система активного измерения имеет дело с такими метриками, как: полезность, маршрутизаторы/маршруты, задержка пакетов, повтор пакетов, потери пакетов, неустойчивая синхронизация между прибытием, измерение пропускной способности.
Главным образом использование инструментов, такие как команда ping, которая измеряет задержку и потери пакетов, и traceroute, которая помогает определить топологию сети, является примером основных активных инструментов измерения. Оба эти инструмента посылают пробные ICMP-пакеты до точки назначения и ждут, когда эта точка ответит отправителю. Рис. 4 — пример команды ping, которая использует активный способ измерения, посылая Echo-запрос от источника через сеть в установленную точку. Затем получатель посылает Echo-запрос обратно источнику от которого пришёл запрос.
Рис. 4. Команда ping (Акстивное измерение)
Данный метод может не только собирать единичные метрики об активном измерении, но и может определять топологию сети. Ещё один важный пример активного измерения — утилита iperf. Iperf — это утилита, которая измеряет качество пропускной способности TCP и UDP протоколов. Она сообщает пропускную способность канала, существующую задержку и потери пакетов.
Проблема, которая существует с активным мониторингом, - это то, что представленные пробы в сети могут вмешиваться в нормальный трафик. Часто время активных проб обрабатывается иначе, чем нормальный трафик, что ставит под вопрос значимость предоставленной информации от этих проб.
Согласно общей информации, описанной выше, активный мониторинг — это чрезвычайно редкий метод мониторинга, взятый в отдельности. Пассивный мониторинг напротив не требует больших сетевых расходов.
2.2.2. Пассивный мониторинг
Пассивный мониторинг в отличии от активного не добавляет трафик в сеть и не изменяет трафик, который уже существует в сети. Также в отличии от активного мониторинга, пассивный собирает информацию только об одной точке в сети. Измерения происходят гораздо лучше, чем между двумя точками, при активном мониторинге. Рис. 5 показывает установку системы пассивного мониторинга, где монитор размещён на единичном канале между двумя конечными точками и наблюдает трафик когда тот проходит по каналу.
Рис. 5. Установка пассивного мониторинга
Пассивные измерения имеют дело с такой информацией, как: трафик и смесь протоколов, количество битов (битрейт), синхронизация пакетов и время между прибытием. Пассивный мониторинг может быть осуществлён, при помощи любой программы, вытягивающей пакеты.
Хотя пассивный мониторинг не имеет затрат, которые имеет активный мониторинг, он имеет свои недостатки. С пассивным мониторингом, измерения могут быть проанализированы только оф-лайн и они не представляют коллекцию. Это создаёт проблему, связанную с обработкой больших наборов данных, которые собраны во время измерения.
Пассивный мониторинг может быть лучше активного в том, что данные служебных сигналов не добавляются в сеть, но пост-обработка может вызвать большое количество временных затрат. Вот почему существует комбинация этих двух методов мониторинга.
2.2.3. Комбинированный мониторинг
После прочтения разделов выше, можно благополучно переходить к заключению о том, что комбинирование активного и пассивного мониторинга — лучший способ, чем использование первого или второго по отдельности. Комбинированные технологии используют лучшие стороны и пассивного, и активного мониторинга сред. Две новые технологии, представляющие комбинированные технологии мониторинга, описываются ниже. Это «Просмотр ресурсов на концах сети» (WREN) и «Монитор сети с собственной конфигурацией» (SCNM).
2.2.3.1. Просмотр ресурсов на концах сети (WREN)
WREN использует комбинацию техник активного и пассивного мониторинга, активно обрабатывая данные, когда трафик мал, и пассивно обрабатывая данные на протяжении времени большого трафика. Он смотрит трафик и от источника, и от получателя, что делает возможным более аккуратные измерения. WREN использует трассировку пакетов от созданного приложением трафика для измерения полезной пропускной способности. WREN разбит на два уровня: основной уровень быстрой обработки пакетов и анализатор трассировок пользовательского уровня.
Основной уровень быстрой обработки пакетов отвечает за получение информации, связанной с входящими и исходящими пакетами. Рис. 6 показывает список информации, которая собирается для каждого пакета. К Web100 добавляется буфер для сбора этих характеристик. Доступ к буферу осуществляется при помощи двух системных вызовов. Один вызов начинает трассировку и предоставляет необходимую информацию для её сбора, пока второй вызов возвращает трассировку из ядра.
Рис. 6. Информация, собранная на главном уровне трассировок пакетов
Объект трассировки пакетов - способен координировать вычисления между различными машинами. Одна машина будет активировать работу другой машины, задавая флаг в заголовке уходящего пакета для начала обработки некоторого диапазона пакетов, которые она трассирует. Другая машина будет в свою очередь трассировать все пакеты, для которых она видит, что в заголовке установлен похожий флаг. Такая координация обеспечивает то, что информация об похожих пакетах хранится в каждой конечной точке независимо от связи и того, что происходит между ними.
Анализатор трассировок пользовательского уровня — другой уровень в среде WREN. Это компонент, который начинает трассировку любого пакета, собирает и обрабатывает возвращённые данные на уровне ядра оператора. Согласно проектированию, компоненты пользовательского уровня не нуждаются в чтении информации от объекта трассировки пакетов всё время. Они могут быть проанализированы незамедлительно после того, как трассировка будет завершена, чтобы сделать заключение в реальном времени, или данные могут быть сохранены для дальнейшего анализа.
Когда трафик мал, WREN будет активно вводить трафик в сеть сохраняя порядок следования потоков измерения. После многочисленных исследований, найдено, что WREN представляет похожие измерения в перенасыщенных и в не-перенасыщенных средах.
В текущей реализации WREN, пользователи не принуждаются только к захвату трассировок, которые были инициированы ими. Хотя любой пользователь может следить за трафиком приложений других пользователей, они ограничены в информации, которая может быть получена от трассировок других пользователей. Они могут только получить последовательность и подтверждение чисел, но не могут получить актуальные сегменты данных из пакетов.
В общем, WREN - это очень полезная установка, которая использует преимущества и активного, и пассивного мониторинга. Хотя эта технология находится на раннем этапе развития, WREN может предоставить администраторам полезные ресурсы в мониторинге и анализе их сетей. Монитор Собственного конфигурирования сети (SCNM) - другой инструментарий, который использует технологии и активного, и пассивного мониторинга.
2.2.3.2. Сетевой монитор с собственной конфигурацией (SCNM)
SCNM - это инструмент мониторинга, который использует связь пассивных и активных измерений для сбора информации на 3 уровне проникновения, выходящих маршрутизаторов, и других важных точек мониторинга сети. Среда SCNM включает и аппаратный, и программный компонент.
Аппаратное средство устанавливается в критических точках сети. Оно отвечает за пассивный сбор заголовков пакетов. Программное обеспечение запускается на конечной точке сети. Рис. 7, приведённый ниже, показывает программный компонент SCNM среды.
Рис. 7. Программный компонент SCNM
Программное обеспечение отвечает за создание и посылку активированных пакетов, которые используются для старта мониторинга сети. Пользователи будут посылать в сеть пакеты активации, содержащие детали о пакетах, которые они хотят получить для мониторинга и сбора. Пользователи не нуждаются в знании местоположения SCNM-хоста, принимая за истину то, что все хосты открыты для «прослушки» пакетов. На основе информации, которая существует в рамках активационного пакета, фильтр помещается в поток сбора данных, который также работает в конечной точке . Собираются заголовки пакетов сетевого и транспортного уровня, которые соответствуют фильтру. Фильтр будет автоматически введён в тайм аут, после точно заданного времени, если он получает другие пакеты приложения. Служба выборки пакетов, которая запускается на SCNM-хосте, использует команду tcpdump (подобно программе выборки пакетов) в порядке полученных запросов и записи трафика, который соответствует запросу.
Когда инструментами пассивного мониторинга определяется проблема, трафик может быть сгенерирование при помощи инструментов активного мониторинга, позволяя собирать добавляемые данные для более детального изучения проблемы. При развёртывании этого монитора в сети на каждом маршрутизаторе на протяжении пути, мы может изучать только секции сети, которые имеют проблемы.
SCNM предназначен для установки и использования, главным образом, администраторами. Тем не менее обычные пользователи могут использовать некоторую часть этой функциональности. Хотя обычные пользователи способны использовать части среды SCNM мониторинга, им позволено смотреть только свои собственные данные.
В заключение скажем, что SCNM — это ещё один способ комбинированного мониторинга, который использует и активный, и пассивный методы, чтобы помочь администраторам мониторить и анализировать их сети.
3. Заключение
Подбирая частные инструменты для использования их в мониторинге сети, администратор должен сначала решить, хочет ли он использовать хорошо зарекомендовавшие себя системы, которые уже использовались много лет, или новые. Если существующие системы более подходящее решение, тогда NetFlow - наиболее полезный инструмент для использования, так как в связки с этой утилитой могут использоваться анализирующиеся пакеты данных для представления данных в более дружелюбном пользователю виде. Тем не менее, если администратор готов попробовать новую систему, решения комбинированного мониторинга, такие как WREN или SCNM, - лучшее направление для дальнейшей работы.
Слежение и анализ сети — жизненно необходимы в работе системного администратора. Администраторы должны стараться содержать свою сеть в порядке, как для не разрозненной производительности внутри компании, так и для связи с любыми существующими публичными сервисами. Согласно вышеописанной информации, некоторое число маршрутизаторо-ориентированных технологий и не основанные на маршрутизаторах, пригодны для помощи сетевым администраторам в ежедневном мониторинге и анализе их сетей. Здесь коротко описываются SNMP, RMON, и Cisco's NetFlow - пример нескольких технологий, основанных на маршрутизаторах. Примеры не основанных на маршрутизаторах технологий, которые обсуждались в статье, - это активный, пассивный мониторинг и их сочетание.