NetFlow: мониторинг и анализ трафика в распределенных инфраструктурах

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

В настоящем материале рассматриваются некоторые прикладные теоретические и практические аспекты многопараметрического анализа сетевого трафика с помощью технологии NetFlow. Специальное внимание уделено соответствующим возможностям, доступным в программном комплексе мониторинга и управления цифровыми инфраструктурами «Центральный Пульт» (SAYMON) с акцентом на распределенную регистрацию и обработку


Кратко о протоколах и стандартах семейства NetFlow

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

Широко вошедшие в практику методы и инструменты мониторинга и управления сетью и “первичного” анализа трафика базируются на протоколе SNMP. Протокол позволяет в режиме, близком к реальному времени, “обозревать” сеть – контролировать производительность, степень утилизации полосы пропускания, отслеживать работу оборудования, изменять конфигурацию, получать информацию о текущей загрузке сетевых интерфейсов, объемах входящего и исходящего трафика и т.п.

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

Здесь на помощь приходят протоколы семейства NetFlow как одного из высоко востребованных и относительно доступных методов содержательного и многоаспектного анализа, обеспечения глубокой “видимости” сетевого трафика. 

NetFlow – функция, впервые представленная на маршрутизаторах компании Cisco Systems в середине 1990-х годов; был разработан проприетарный открытый протокол исключительно для использования в собственных продуктах. Впоследствии другие крупные производители сетевого оборудования последовали примеру Cisco и разработали в той или иной степени родственные форматы данных о сетевых потоках.

Наиболее востребованными версиями протоколов Cisco Systems являются NetFlow v5, NetFlow v9 и Flexible NetFlow, которые, в целом, близки к оригинальному стандарту. В отношении других вендоров можно указать на разработки компании Juniper Networks – протокол jFlow, Huawei Technologies – NetStream, Alcatel-Lucent – cflowd и т.д.

Протокол IPFIX является производным от NetFlow v9 и нацелен быть универсальным протоколом для экспорта информации о потоках с сетевых устройств в коллектор или в систему управления сетью. IPFIX является более гибким, чем NetFlow, и позволяет обогащать потоковые данные дополнительной информацией о трафике.

Среди прочих протоколов и технологий можно упомянуть NSEL (NetFlow Security Event Logging), sFlow, FlowLogs и Cisco NBAR2 (Network Based Application Recognition).

Методы и инструменты работы с данными NetFlow

NetFlow обеспечивает возможность сбора информации об IP-трафике, обрабатываемом сетевыми устройствами (L3-коммутаторы, маршрутизаторы, сенсоры, получающие данные в результате зеркалирования порта коммутатора). Анализируя данные, можно установить источник и адресат трафика, класс обслуживания, уровень загрузки соединений и другие сведения. Сетевое оборудование (в терминологии конвейера обработки сетевой статистики – сенсоры) могут быть настроены на отправку потоков NetFlow (или родственных) протоколов на серверные узлы сбора и обработки данных (коллекторы) для последующего хранения и анализа.

На сетевом оборудовании необходимо настроить IP-адрес и порт, на которые будет направляться статистика об обработанном трафике в формате NetFlow. Оборудование может позволять указать несколько адресатов данных, выполнять дополнительные настройки, определяющие интерфейсы-источники трафика, версию протокола и другие параметры. Строго говоря, термин NetFlow означает семейство протоколов, позволяющих передавать статистику трафика с разным уровнем детализации. Базовый подход предполагает передачу заголовков обрабатываемых пакетов – адреса источника и получателя пакета (сокеты, IP-адрес и порт), типа трафика (TCP, UDP, ICMP и др.) и размера пакета.

В качестве конкурентных преимуществ решений-коллекторов можно выделить функцию конвейерной передачи данных в режиме реального времени для последующей обработки и поддержку расширений протокола NetFlow. Распространенным механизмом работы коллекторов является запись входящего потока на носители в бинарном формате; используются также подходы, основанные на СУБД и передаче через шины данных. После формирования данных оборудованием и их принятия коллекторами в процесс включаются приложения, нацеленные на обработку и анализ информации.

Алгоритмы использования данных о трафике во многом определяются особенностями задач, решаемых в рамках конкретной реализации. Распространенный сценарий – визуализация нагрузки на сеть, конкретное сетевое устройство, узел или канал связи, в том числе для анализа инцидентов. Анализ, как реактивный способ контроля, применим при условии относительно невысокой конкуренции оказания услуг и стоимости простоя сервисов.

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

Сетевые устройства формируют информацию об обслуженных соединениях в данных NetFlow после их завершения, что обусловливает наличие объективных ограничений в использовании функций управления – анализ может носить рекомендации к действиям и инициировать те или иные из них по факту фиксации аномалий. Здесь уместно упомянуть о функциях DPI (Deep Packet Inspection), доступных в сетевых устройствах или в программной реализации, которые “глубоко” анализируют трафик и способны принимать расширенный набор решений о его пропуске или блокировке.

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

В отношении примеров программных решений работы с NetFlow можно заметить, что на коллекторе обычно устанавливается специализированное программное обеспечение (к примеру, nfcapd, nProbe) или компоненты в составе комплексных решений, осуществляющих полный цикл работы с данными – прием от коллекторов, запись в хранилище, обработку и визуальную аналитику. Среди инструментов хранения данных можно указать на InfluxDB, MongoDB, расширения PostgreSQL (с поддержкой распределенной работы и колоночного хранения), ClickHouse, HDFS, Apache Cassandra, HBase, Prometheus и некоторые другие.

В ряду технологий и программных средств аналитики больших объемов данных о сетевых потоках достойны упоминания ELK Stack, Google BigQuery, Grafana, Hortonworks Data Platform (HDP), Apache Hadoop и его компоненты. Отказоустойчивость и балансировка нагрузки обычно достигается использованием стандартных для индустрии решений, таких как Redis, Apache Kafka, Redpanda, RabbitMQ.

Среди комплексных коммерческих решений для работы с NetFlow можно указать на модули в составе конкурирующих систем мониторинга и управления сетями SolarWinds, Manage Engine, Paessler PRTG, CA Network Flow Analysis, Nagios XI, Progress Flowmon и WhatsUp Gold (большинство сегодня не работают и/или не поддерживаются в России). Востребованные и доступные сегодня для использования свободно распространяемые пакеты с ограниченным функционалом – nProbe/ntopng, nfdump/NfSen, vFlow, FlowViewer и др.

Возможности работы с NetFlow в программном комплексе “Центральный Пульт”

Программный комплекс “Центральный Пульт” (SAYMON) – ведущее отечественное решение мониторинга и управления крупными цифровыми инфраструктурами. Функционал комплекса систематически совершенствуется и расширяется, в том числе и в части развития методик и инструментов работы с данными NetFlow актуальных версий и стандартов (подсистема NetFlowMAN Agent, NFMAN).

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

Потоки NetFlow и трафик привязаны в программном комплексе к активам, описанным на основе ресурсно-сервисной модели, что позволяет представить информацию о структуре трафика в различных формах и с варьируемой степенью детализации разным категориям пользователей – сетевым инженерам, оперативным дежурным, аналитикам, менеджерам (адаптивные информационные панели).

Другая полезная функция обеспечивается реализацией инструментов перекрестной корреляции событий мониторинга, поступающих из различных источников с помощью разных технологий (SNMP, SNMP-трапы, ICMP, WMI) и дополненных данными по результатам обработки NetFlow. Функция нацелена на повышение общей эффективности процесса в рамках ресурсно-сервисной модели, сопоставление расширенного набора классифицированных событий и инцидентов с проблемами и поиска корневых причин проблем (RCA), обнаружение скрытых инфраструктурных связей между компонентами, объединение дублирующихся событий.

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

Оригинальная особенность архитектуры подсистемы, востребованная в сетях крупных операторов связи, – распределенная модель регистрации данных о трафике, которая  и предоставляет возможность обрабатывать данные в непосредственной близости к их источнику (элементу инфраструктуры), что значительно снижает объемы служебного трафика за счет передачи по сетям агрегированных данных.

Общая схема распределенного решения сбора и обработки данных NFMAN включает элементы инфраструктуры сети (сенсоры), зонды (агенты), взаимодействующие с модулями автоматического определения узлов и связей сети, автоматического определения структурного состава трафика и приложений, визуального анализа, с компонентами, ответственными за описание структуры сети и трафика, мониторинг изменений и оповещения пользователей.

Пользовательский веб-интерфейс предоставляет возможности отображения графиков и таблиц, расчета статистических показателей по трафику для наблюдаемых узлов и каналов связи, детального анализа трафика для выбранного узла, многопараметрической фильтрации и визуализации трафика, классификации пакетов и потоков, протоколов и приложений, составления динамических рейтинговых списков (“топ-листов”) по объемам данных, числу потоков по автономным системам и IP-адресам источников и получателей, соединениям, протоколам.

Интерфейс анализа оперативной информации позволяет поставить отдельные адреса, порты и приложения на мониторинг – постоянное автоматизированное отслеживание. Ранее поставленные на мониторинг сущности можно анализировать на длительных интервалах времени, по ним доступна установка статических порогов, машинные методы анализа попадания в динамические пороги и прогнозирование, уведомления о выходе значений за пороги и об аномальном поведении (нехарактерный рост или падение показателей).

Планируемые направления развития возможностей работы с NetFlow в “Центральном Пульте” предполагают проработку и реализацию новых стратегий и алгоритмов использования данных о трафике, механизмов визуализации, расширение применения методов машинного обучения для целей предсказательной аналитики, совершенствование распределенной модели регистрации данных.

Оставайтесь на связи, следите за нашими публикациями в блоге, обращайтесь за консультациями по вопросам использования данных телеметрии и высокопроизводительных программных инструментов для мониторинга и анализа трафика сетей передачи данных в распределенных цифровых инфраструктурах!

Откликайтесь на наши вакансии! Пишите!