Cisco NetFlow
NetFlow - сетевой протокол, разработанный компанией Cisco, работающий на базе Cisco IOS, и предназначенный для сбора информации о трафике внутри сети. NetFlow является проприетарным, но поддерживается платформами, отличными от Cisco IOS, например роутерами Juniper или OpenBSD/FreeBSD.
Маршрутизаторы Cisco с включённым NetFlow, генерируют netflow records. Эти пакеты экспортируются роутером по UDP (User Datagram Protocol) или протоколу передачи с управлением потоком SCTP (Stream Control Transmission Protocol), и хранятся, используя netflow collector. Другие поставщики имеют подобные функции в своих маршрутизаторах, но с различными именами:
- Jflow или cflowd для Juniper Networks
- NetStream для Huawei Technology
- Cflowd для Alcatel-Lucent
Хотя первоначально протокол реализован Cisco Systems, NetFlow был опубликован в виде стандарта IETF: Internet Protocol Flow Information eXport (IPFIX). IPFIX основан на реализации Netflow v9 (RFC 3954). Многие поставщики сетевого оборудования уже добавляют поддержку IPFIX в свои устройства.
Представленная с запуском оборудования Cisco ASA 5580, Регистрация События Безопасности NetFlow использует шаблоны и поля Netflow v9, для эффективной поставки телеметрии безопасности в высокоэффективных средах. Масштабы NetFlow Security Event Logging значительно выше, чем syslogd, предлагая тот же уровень и степень детализации для зарегистрированных событиях.
Сетевой поток (network flow) определялся различными способами. Традиционное определение Cisco должно использовать 7-кортежный ключ, где поток - однонаправленная последовательность пакетов с использованием всех 7 значений:
- IP-адрес источника
- IP-адрес получателя
- Порт источника для UDP или TCP, 0 для остальных протоколов.
- Порт получателя для TCP или UDP, тип и код для ICMP, или 0 для других протоколов
- Протокол IP
- Входной интерфейс
- Тип сервиса IP
Гибкий Netflow (FNF, Flexible Netflow) и IPFIX поддерживают определяемые пользователем ключи потока.
Когда роутер определит, что поток завершен, он выводит записи потока. Когда роутер видит новый трафик для существующего потока, он сбрасывает счётчик. Кроме того, завершение сеанса TCP в TCP потоке заставляет маршрутизатор закончить поток. Маршрутизаторы также могут быть сконфигурированы для вывода записей потока в фиксированном интервале, даже если этот всё еще продолжается. В Гибком NetFlow (FNF) администратор может определить свойства потока netflow на другом роутере.
RFC 3954 — Протокол экспорта Netflow версии 9