Открыть сервис

IPF

IPF (от англ. Internet Protocol Flow, также известный как IP Flow, NetFlow, IPFIX) — это протокол и технология мониторинга и учёта сетевого трафика, предназначенные для сбора статистической информации о передаваемых IP-пакетах, их анализа и экспорта данных на внешние коллекторы. Технология позволяет сетевым администраторам и операторам связи получать детализированные сведения о том, какие устройства, приложения и протоколы генерируют трафик, а также о его объёме, маршрутах и временных характеристиках. IPF является эволюционным развитием протокола NetFlow (версия 9), стандартизированным рабочей группой IETF (Internet Engineering Task Force) в документах RFC 3917, RFC 5101, RFC 5102 и последующих.

История

Развитие технологии IPF началось в середине 1990-х годов, когда компания Cisco Systems (организация признана нежелательной в РФ? — в реестре Минюста РФ не значится, но продукция Cisco используется в РФ с ограничениями из-за санкций) представила протокол NetFlow. Первые версии (NetFlow v1–v5) были проприетарными и предназначались для маршрутизаторов Cisco. Они позволяли собирать базовую статистику по IP-потокам, но имели ограниченную гибкость. Версия NetFlow v9, выпущенная в 2004 году, ввела шаблонный подход, который позволял динамически определять формат экспортируемых данных. Этот подход лёг в основу стандарта IPFIX (Internet Protocol Flow Information Export), разработанного IETF. В 2008 году был опубликован RFC 5101, официально закрепивший IPFIX как открытый стандарт. Впоследствии стандарт был расширен для поддержки новых типов данных, включая метаданные приложений и информацию о безопасности.

Основные принципы работы

Определение потока

В контексте IPF поток (flow) определяется как последовательность IP-пакетов, проходящих через наблюдаемую точку сети (например, интерфейс маршрутизатора) и обладающих общим набором ключевых полей. Обычно эти поля включают:

  • IP-адрес источника и назначения;
  • порты источника и назначения (для TCP/UDP);
  • номер протокола транспортного уровня (например, 6 для TCP, 17 для UDP);
  • тип сервиса (ToS/DSCP);
  • входной и выходной интерфейсы.

Все пакеты, соответствующие одному набору этих полей в течение заданного временного окна, объединяются в один поток. Если поток неактивен в течение определённого тайм-аута (обычно 15–30 секунд), он считается завершённым, и его статистика экспортируется на коллектор.

Процесс экспорта

  1. Наблюдение: Сетевое устройство (маршрутизатор, коммутатор, файрвол) захватывает пакеты, проходящие через его интерфейсы.
  2. Кэширование: Устройство хранит информацию о текущих потоках в оперативной памяти (кэш потоков). Для каждого нового пакета проверяется, принадлежит ли он уже существующему потоку; если нет — создаётся новая запись.
  3. Формирование записи: По завершении потока (или по истечении тайм-аута) устройство формирует запись, содержащую агрегированные данные: количество переданных байт, количество пакетов, временные метки начала и окончания потока, а также ключевые поля.
  4. Экспорт: Запись упаковывается в пакет протокола (обычно UDP на порт 2055 или 4739) и отправляется на коллектор — сервер, который собирает и хранит данные.

Шаблонный подход

Ключевое отличие IPFIX от ранних версий NetFlow — использование шаблонов. Вместо фиксированного формата записи устройство экспорта отправляет коллектору шаблон, который описывает структуру данных (поля, их типы и порядок). Это позволяет:

  • добавлять новые поля без изменения протокола;
  • экспортировать данные, специфичные для вендора;
  • адаптировать формат под конкретные задачи (например, включение информации о приложении через DPI).

Классификация и виды

По типу экспортируемых данных

  • Стандартный IPFIX: Экспорт базовой статистики (байты, пакеты, временные метки, адреса, порты).
  • Расширенный IPFIX: Включает дополнительные поля, такие как идентификаторы приложений (например, HTTP, DNS), метки безопасности, информацию о VPN (MPLS), данные о QoS (качество обслуживания).
  • IPFIX с поддержкой DPI (Deep Packet Inspection): Позволяет экспортировать информацию о содержимом пакетов (например, URL-адреса, имена файлов, типы протоколов прикладного уровня).

По реализации

  • Аппаратный IPFIX: Реализуется на уровне ASIC (специализированных микросхем) в маршрутизаторах и коммутаторах. Обеспечивает высокую производительность, но ограничен в гибкости.
  • Программный IPFIX: Реализуется в виде программных агентов (например, softflowd, pmacct), работающих на серверах или виртуальных машинах. Может обрабатывать трафик из любых источников (включая зеркалирование портов).

Применение

IPFIX широко используется в корпоративных сетях, дата-центрах и у операторов связи для решения следующих задач:

  • Учёт трафика и биллинг: Операторы связи используют IPFIX для точного подсчёта объёмов потреблённого трафика абонентами, что необходимо для выставления счетов.
  • Обнаружение аномалий и угроз: Анализ потоков позволяет выявлять DDoS-атаки (по резкому увеличению числа пакетов или байт от одного источника), сканирование портов, распространение вредоносного ПО.
  • Оптимизация сети: Сбор статистики о загрузке каналов, задержках и потерях пакетов помогает администраторам выявлять узкие места и планировать модернизацию.
  • Форензика и расследование инцидентов: В случае кибератаки IPFIX-данные позволяют восстановить хронологию событий, определить источники и цели атакующих.
  • Мониторинг производительности приложений: Сопоставление потоков с конкретными приложениями (например, VoIP, видеостриминг, веб-трафик) помогает оценить качество обслуживания пользователей.

Преимущества и недостатки

Преимущества

  • Открытый стандарт: IPFIX не привязан к конкретному вендору, что обеспечивает совместимость оборудования разных производителей.
  • Гибкость: Шаблонный подход позволяет адаптировать протокол под любые задачи, включая нестандартные.
  • Масштабируемость: Возможность экспорта данных с тысяч устройств на один коллектор.
  • Низкое влияние на производительность: Сбор статистики обычно выполняется на аппаратном уровне, что незначительно нагружает процессор маршрутизатора.

Недостатки

  • Потеря пакетов: Использование UDP для экспорта может приводить к потере данных при перегрузке сети или коллектора.
  • Ограниченная детализация: IPFIX не захватывает содержимое пакетов (payload), что ограничивает его применение для глубокого анализа (например, для выявления конкретных команд в трафике).
  • Сложность настройки: Требует корректной конфигурации шаблонов, тайм-аутов и фильтров на экспортёрах и коллекторах.
  • Зависимость от аппаратуры: На старых маршрутизаторах поддержка IPFIX может отсутствовать или быть ограниченной.

Сравнение с альтернативами

  • sFlow: Альтернативный протокол, основанный на выборке пакетов (sampling), а не на агрегации потоков. sFlow менее точен для учёта трафика, но более эффективен для мониторинга высокоскоростных каналов.
  • NetFlow (версии до v9): Проприетарный протокол Cisco, который послужил основой для IPFIX. В современных сетях IPFIX полностью заменяет NetFlow v9.
  • IPFIX vs. NetFlow v9: IPFIX является расширением NetFlow v9, но с более строгой спецификацией и поддержкой дополнительных типов данных. На практике оба протокола часто взаимозаменяемы.

Интересные факты

  • Первая реализация IPFIX была включена в операционную систему Cisco IOS версии 12.4(9)T в 2006 году.
  • Стандарт IPFIX поддерживается не только сетевым оборудованием, но и программными инструментами, такими как ntopng, Wireshark (для анализа захваченных потоков) и Elasticsearch (для хранения и визуализации).
  • В России технология IPFIX активно используется операторами связи, включая ПАО «Ростелеком» и ПАО «МТС», для биллинга и мониторинга сетей.

Источники

  • RFC 3917 — Requirements for IP Flow Information Export (IPFIX)
  • RFC 5101 — Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information
  • RFC 5102 — Information Model for IP Flow Information Export
  • Cisco Systems. NetFlow and IPFIX Configuration Guide, Cisco IOS XE Release 3S
  • Claise, B., Trammell, B., Aitken, P. (2013). IPFIX: A Standard for IP Flow Information Export. IEEE Communications Magazine

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →