NetFlow

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

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

2. Анализ безопасности: Протокол NetFlow позволяет анализировать сетевой трафик для обнаружения необычной или вредоносной активности. Это может включать обнаружение вторжений, анализ сетевой аномалии или выявление активности нежелательных программ.

3. Планирование производительности сети: Зная, какие приложения и сервисы используют больше пропускной способности сети, администраторы могут планировать и оптимизировать производительность сети, предоставляя достаточные ресурсы тем приложениям или службам, которые их требуют больше всего.

4. Биллинг и фактическое использование ресурсов: NetFlow может быть использован провайдерами интернет-услуг для определения трафика клиентов и выставления счетов на основе фактического использования.

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

NetFlow является на сегодняшний день фактическим промышленным стандартом и поддерживается не только оборудованием Cisco, но и многими другими устройствами (в частности, производства Juniper, ZTE и Enterasys). Также существуют свободные реализации для UNIX-подобных систем.

Существует несколько версий протокола, наиболее распространёнными из которых на 2011 год являются версии 5 и 9. На основе версии 9 также был разработан открытый стандарт под названием IPFIX (Internet Protocol Flow Information eXport, экспорт информации о потоках IP).

Для сбора информации о трафике по протоколу NetFlow требуются следующие компоненты:

  • Сенсор. Собирает статистику по проходящему через него трафику. Обычно это L3-коммутатор или маршрутизатор, хотя можно использовать и отдельно стоящие сенсоры, получающие данные путём зеркалирования порта коммутатора.
  • Коллектор. Собирает получаемые от сенсора данные и помещает их в хранилище.
  • Анализатор. Анализирует собранные коллектором данные и формирует пригодные для чтения человеком отчёты (часто в виде графиков).

NetFlow использует UDP или SCTP для передачи данных о трафике коллектору. Как правило, коллектор слушает порт 2055, 9555 или 9995.

 

Сенсор выделяет из проходящего трафика потоки, характеризуемые следующими параметрами:

  • Адрес источника;
  • Адрес назначения;
  • Порт источника для UDP и TCP;
  • Порт назначения для UDP и TCP;
  • Тип и код сообщениядля ICMP;
  • Номер протокола IP;
  • Сетевой интерфейс (параметр ifindex SNMP);
  • IP Type of Service.

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

 

Собранная информация отправляется в виде записей, содержащих следующие параметры (для версии 5):

 

  • Номер версии протокола;
  • Номер записи;
  • Входящий и исходящий сетевой интерфейс;
  • Время начала и конца потока;
  • Количество байт и пакетов в потоке;
  • Адрес источника и назначения;
  • Порт источника и назначения;
  • Номер протокола IP;
  • Значение Type of Service;
  • Для TCP-соединений — все наблюдаемые в течение соединения флаги;
  • Адрес шлюза;
  • Маски подсети источника и назначения.

Версия 9 также поддерживает дополнительные поля, такие как заголовки IPv6, метки потоков MPLS и адрес шлюза BGP. Некоторые сенсоры могут также поддерживать номер автономной системы.

Если используется UDP, то потерянная из-за проблем с сетью запись не будет получена коллектором. Коллектор может определить потери пакетов по значениям номера записи, которые по стандарту должны быть возрастающими.

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

Для экономии ресурсов процессора также применяется «sampled NetFlow». В этом случае сенсор анализирует не все, а каждый n-ый пакет, где n может быть заданным административно или выбираемым случайным образом. При использовании sampled NetFlow получаемые значения являются не точными, а оценочными.

Обсуждение закрыто.