Разработанная в 1996 году как часть Cisco IOS, NetFlow первоначально использовалась в качестве селектора пути коммутации пакетов (a packet switching path selector), позволяющего сделать более эффективным и быстрым процесс коммутации в маршрутизаторах. И лишь некоторое время спустя в NetFlow была в полной мере реализована возможность сбора статистики, которая полезна для анализа сетевого трафика и ряд возможностей которой недоступны с помощью иных сетевых технологий, такие как:
Мониторинг сетевых приложений и пользователей сети
Учет и биллинг
Анализ сети и ее планирование
Управление трафиком
Анализ безопасности
Хранение данных NetFlow и их глубинный анализ
«Телеметрия» сетевого трафика
Лучше всего иллюстрирует принцип действия NetFlow аналогия с космической телеметрией. Такая телеметрия - это полностью автоматический коммуникационный процесс, в процессе которого производятся измерения в удаленных либо недоступных точках, а соответствующая информация передается в приемное оборудование для мониторинга и последующей обработки. Космическая телеметрия началась в 1930-х годах, когда радиозонды автоматически измеряли температуру, давление и влажность высоко в атмосфере и передавали данные на землю с помощью радиосигнала. Наземное оборудование затем обрабатывало полученную информацию и в итоге ученые получали данные об окружающих воздушный шар условиях.
Примерно таким же образом коммутаторы и маршрутизаторы, поддерживающие NetFlow, проводят измерения сетевого трафика в определенных точках сети и передают полученные данные в форме дейтаграмм User Datagram Protocol (UDP) или пакетов Stream Control Transmission Protocol (SCTP) в коллектор NetFlow для дальнейшей обработки, анализа и хранения.
Включение NetFlow
Включение NetFlow и передача этих данных в коллектор NetFlow может быть легко осуществимо при помощи следующих команд. Администратор сети должен себе отметить, что поскольку захват и экспорт NetFlow осуществляется независимо на каждом устройстве, не каждый маршрутизатор обязан поддерживать NetFlow.
ip flow ingress
ip route-cache flow
ip flow-export destination <collector ip address> <collector port>
Как осуществляется сбор NetFlow
Маршрутизаторы Cisco с включенной опцией NetFlow генерируют записи NetFlow, экспортируют их в коллектор в момент, когда поток завершается, а затем кэш NetFlow в памяти устройства очищается. Эти записи NetFlow экспортируются в пакетах UDP или SCTP в одном из пяти форматов (NetFlow v1, 5, 7, 8,9). В число маршрутизаторов и коммутаторов, поддерживающих NetFlow, входят Cisco 800, 1700, 2600, 3600, 3700, 4500/4700, AS5300/5800, 7200/7300/7400/7500, 4500, Catalyst 6500/7600, 10000, 12000 и CSR-1.
Влияние NetFlow на производительность маршрутизатора
Утилизация (процент использования) процессора различен для разных платформ. Сравнение всех маршрутизаторов друг с другом по производительности займет слишком много времени и места, чтобы это здесь делать. Например, анализ производительности, проведенный Cisco, показывает, что NetFlow берет на себя примерно 16% утилизации процессора в маршрутизаторе Cisco 2600 при 10 000 - 45 000 потоках, которые сохраняются в кэше. А вот, для сравнения, маршрутизатор серии 7600 утилизирует только 2% мощности процессора при 10 000 потоках и 3% - при 45 000 потоках, сохраняемых в кэше. Что же касается влияния собственно на саму сеть, NetFlow, как правило, занимает менее 1% от полосы пропускания. Более подробную информацию о влиянии NetFlow на работу маршрутизаторов и коммутаторов Cisco можно получить в http://www.cisco.com/en/US/tech/tk812/technologies_ white_paper0900aecd802a0eb9.shtml/.
В очень редких случаях, сохранение информации NetFlow в кэше может превысить емкость маршрутизатора. Для того, чтобы это не допустить, Cisco использует Sampled NetFlow, при котором записи NetFlow содержатся не в каждом пакете, а в каждом N-м пакете. Такой метод позволяет администраторам сети осуществлять тонкую настройку сбора NetFlow, чтобы удовлетворять любым требованиям по скорости сети.
Возможность не обращать внимание на загрузку пакетов значительно уменьшает эксплуатационные расходы и свидетельствует о том, что NetFlow является исключительно удобным инструментом для интенсивной, высокоскоростной сетевой среды. Кроме того, подобные свойства NetFlow являются очень полезными при регистрации угроз класса "zeroday" или "mutantattack" в тех случаях, когда использующие сигнатурные базы системы обнаружения вторжений не работают 1.
Несколько лет назад технологию NetFlowот Ciscoиногда обвиняли в «пожирании» производительности и слишком большой сложности при использовании. К счастью, эти замечания были исследованы и сейчас эта технология должна использоваться в корпоративных сетях практически в обязательном порядке 2.
Дедубликация NetFlow
Одной из основных проблем при использовании NetFlow является дублирование записей потоков из маршрутизаторов во время одного и того же интервала передачи данных. Анализ информационной безопасности на основе NetFlow невозможен, когда коллекторы получают множественные сообщения от одного потока. Поэтому очень важно дедублицировать записи потоков, чтобы получать точную и уникальную информацию о взаимодействии сетевых устройств.
Примеры технологий на базе NetFlow
Существует три типа технологий NetFlow:
Недорогие «классические» решения на базе NetFlow, которые обеспечивают традиционную функциональность анализа сетевого трафика, такие как top talkers, traffic trending, ASN Reporting, interface utilization и QoS reporting.
«Классические» корпоративные решения на базе NetFlow, которые предоставляет весь функционал, указанный выше, а также более продвинутые возможности расширенной отчетности, мониторинга производительности приложений, масштабируемости, а также наличие специфических моделей для различных сетевых устройств для более легкого внедрения и обслуживания.
Корпоративные решения на базе NetFlow класса систем анализа поведения сети (Network Behavior Analysis, NBA), такие как Lancope StealthWatch, которые обеспечивает всю функциональность, указанную выше, и предоставляют очень широкую функциональность в сфере информационной безопасности класса корпораций.
Версии
Версия
Комментарии
v1
Первый вариант
v5
Чаще всего используемая версия
v6
Информация об инкапсуляции
v7
Информация о коммутации
v8
Несколько форм агрегации
v9
Версия на базе шаблонов, разрешающая много комбинаций
IPFIX
Или v10; Стандартизованная IETF версия NetFlow v9 с корпоративными полями и др. дополнительными полями
Дополнительная информация о различиях версий см. здесь.
1 Yiming Gong, "Detecting Worms and Abnormal Activities with NetFlow, Part 1"
2 Michael Patterson, "Networking Becoming an Enterprise Must for the Enterprise", Enterprise Networks and Servers