Netflow (сетевой поток) vs sFlow: какая между ними разница и какой из них лучше?

BKeaton

Green Team
18.07.2018
204
340
BIT
159
1550646960458.png

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

Сэм открывает панель анализатора и просматривает круговые диаграммы, графики и другие индикаторы, которые суммируют текущий трафик и его историю по всей сети организации. С помощью нескольких кликов Сэм тщательно изучает данные, обнуляя основную причину всплеска трафика. Сэм сможет исправить эту ситуацию до того, как начнут поступать первые жалобы - «Почему сеть такая медленная?». Затем, кофе.

Современные организации зависят от своей сложной высокопроизводительной сети, поэтому мониторинг и анализ трафика стали повседневными задачами. Работа вашей бесперебойной сети может быть нарушена плохо работающими аппаратными средствами, плохо сконфигурированными системами, и низкой пропускной способностью, а также перегрузками из-за социальных сетей и приложений, несвязанных с бизнесом. Потоки трафика также могут указывать на DDos атаки (distributed denial of service attacks), фишинг-кампании, бот-сети (botnet) и на аномальную активность, вызванную продвинутыми постоянными угрозами. Попытки взлома паролей с помощью Brute force, перехват данных и их изменение, а также активность, связанная с проведением атаки «человек по середине» (man in the middle attack) также могут быть идентифицированы с помощью мониторинга трафика.

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

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

Существует два основных подхода к накоплению данных потока трафика, NetFlow и sFlow. Оба подхода - это «хакерские» технологии, которые являются невидимыми непосредственно. Оба NetFlow и sFlow имеют два компонента. Одна часть располагается глубоко внутри различных устройств (например, маршрутизаторов и коммутаторов); другая часть, человеческий фактор, находится в широком спектре различных приложений для мониторинга/анализа, которые обрабатывают данные, экспортированные из первой части.
Оба подхода имеют своих сторонников. Мы посмотрим, каковы они, как они отличаются, и в каких случаях один лучше другого.

Что такое NetFlow?

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

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

Экспортирующее устройство NetFlow собирает данные о IP-трафике, входящем/исходящем из устройства; он проверяет пакеты и группирует их в потоки путем проверки определенных полей: адресов источника и получателя, протоколов, портов и т. д. Данные о наблюдаемых потоках формируются из пакетов и кэшируются локально (в кэше потока), затем они периодически экспортируются в коллектор на основе активных и неактивных тайм-аутов (лимитов времени). Таким образом, NetFlow обрабатывает только IP, фокусируясь на и . Его знание протоколов IP позволяет ему интерпретировать пакеты и работать в условиях потоков.

Что такое sFlow?

В противоположность предыдущему, является протоколом выборочного пакета без учета данных по запросам, который предназначен для мониторинга высокоскоростных сетей. Буква «s» в названии важна, она означает «выборка» (sampling). Однако часть «Потока (Flow)» может вводить в заблуждение: sFlow работает только с пакетами, у этого термина нет понятия агрегирования (группирования) пакетов в «потоки» более высокого уровня.

Стандарт sFlow был создан InMon Corporation и опубликован в 2001 году посредством публикации . InMon передала управление стандартом отраслевому консорциуму под названием sFlow.org в 2003 году. Сегодня многие поставщики поддерживают sFlow на своих устройствах.

sFlow обеспечивает выборку пакетов общего назначения, охватывая слои с 2 по 7, и предназначен для того, чтобы быть встроенным в любое сетевое устройство. Экспортер sFlow просто собирает префиксы подмножества пакетов, проходящих через устройство. Экспортер производит выборку из каждых n пакетов, где «n» - назначенная частота выборки; он также отбирает некоторые случайные пакеты для того, чтобы включить их в свой состав. Он собирает начальные байты всего пакета выборки в датаграммы sFlow вместе со счетчиками устройств и отправляет полученные датаграммы UDP в коллектор. Таким образом, на устройстве нет кэша потока. Ключевой характеристикой sFlow является то, что стратегия выборки является масштабируемой для высокоскоростных сетей; подробнее об этом речь пойдет ниже.

Как NetFlow так и sFlow приобрели расширения с течением времени.

Типы NetFlow и расширения

и предоставляют возможность иметь расширяемые поставщиками шаблоны для настройки набора интересующих пакетов. NetFlow v9 и IPFIX также добавляют возможность . добавляет возможность делать выборку в NetFlow (выборка является обязательной для sFlow).

Типы sFlow и расширения

Для sFlow v5 добавлена возможность экспорта , вместе с префиксами и счетчиками пакетов. Все расширения зависят от наличия оборудования, которое их поддерживает, правильного системного программного обеспечения и консолей анализатора, которые будут работать с ними.

Разница между NetFlow and sFlow

Ави Фридман (Avi Freedman) делает с мониторингом автомобильного трафика: «… в то время как NetFlow можно охарактеризовать как наблюдение за всем трафиком (« Сколько автобусов отправилось отсюда туда? »), с помощью sFlow вы просто делаете снимки любых автомобилей или автобусов, проходящих в этот конкретный момент.
Здесь приведены основные различия между этими двумя технологиями.

Точность и расширяемость

Сторонники NetFlow давно оспаривают тот факт, что NetFlow может быть более точным, чем sFlow. NetFlow группирует локально данные относительно всех пакетов в потоки на устройстве; таким образом, он не может случайно пропустить разговор, не выбрав соответствующие пакеты. Такая гранулярность NetFlow привлекательна для проверки трафика на отдельном хосте. Легко видеть детали для каждого хоста, замечать локализованные аномалии и исследовать определенные потоки. Но так как объем трафика возрастает, остается все меньше и меньше возможности собирать каждый поток. Если вы не делаете выборку, расширяемость становится проблемой.

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

Производительность устройства при больших объемах

Как отмечалось выше, sFlow выполняет минимальную работу на сетевом устройстве по сравнению с NetFlow, который использует центральный процессор и оперативную память устройства для реализации кэша потока. Это может стать проблемой для высокоскоростных устройств, где многие диалоги сосредоточены на ссылке. Дополнительная загрузка CPU помимо «реальной работы», которую выполняет устройство, увеличивается в зависимости от количества потоков в секунду и может потреблять значительную долю CPU на (PDF). В отличие от этого, sFlow обычно выполняет выборку пакетов в ASIC коммутации/маршрутизации, позволяя центральному процессору сетевого устройства сконцентрироваться на своей основной работе.

При объемах в сотни гигабит в секунду, таких как пограничная маршрутизация и большие центры обработки данных, проектирование трафика становится главной задачей; основное внимание уделяется крупномасштабным образцам и резким сдвигам в объеме. Видимость на уровне мелких структурных единиц отдельных хостов становится менее значимой. Теперь выборка становится явным приоритетом. По этой причине NetFlow добавил опцию Sampled NetFlow, которая делает NetFlow расширяемым, но теряет высокую степень детализации традиционного NetFlow.

Протокол покрытия

NetFlow - только IP (с недавно добавленной небольшой поддержкой уровня 2,). Таким образом, устаревшие протоколы (например, Appletalk, IPX) и другие не-Интернет-протоколы не отображаются. В отличие от этого, sFlow может покрывать слои со 2 по 7.

Время ожидания (Латентность)

sFlow может иметь меньшую латентность, чем NetFlow. Устройство, собирающее метрики NetFlow в своем кэше потока, периодически экспортирует их на основе активных и неактивных таймаутов (лимита времени). Таким образом, отчеты о последних и текущих диалогах могут быть отложены в зависимости от времени ожидания. Напротив, sFlow отправляет собранные префиксы пакетов и счетчики в режиме реального времени. Если задержка меньше минуты является проблемой - и ваш инструмент мониторинга/анализа поддерживает это - sFlow будет лучшим выбором для вас.

Примеры NetFlow и sFlow

Чтобы увидеть обе эти системы сообщений на устройстве, вы можете попробовать . Этот инструмент работает бесплатно до 100 датчиков. Таким образом, вы должны установить его только для проверки NetFlow и sFlow. Paessler дает PRTG.

PRTG включает в себя три датчика NetFlow. Они соответствуют NetFlow v5, NetFlow v9 и IPFIX. Вам не нужно настраивать PRTG для работы с любой из этих систем обмена сообщениями на сетевом устройстве, он автоматически установит их.
Другой датчик в PRTG принимает сообщения sFlow v5. Если вы хотите изучить другую альтернативу NetFlow и sFlow, вы также можете изучить датчик jFlow PRTG



- это еще одна система мониторинга, которую вы можете рассмотреть в качестве примера сетевых систем обмена сообщениями. В его надстройке Network Traffic Monitor реализовано несколько версий NetFlow. Он имеет NetFlow, NetFlow Lite и IPFIX. Приложение также распознает системные сообщения от sFlow, jFlow и QUIC.
WhatsUp Gold производится компанией Ipswitch. Компания предлагает 30-дневную инструмента мониторинга и его дополнения Network Traffic Monitor.

Альтернативы NetFlow и sFlow

NetFlow - это патентованный стандарт, а sFlow - многотипная система. Тем не менее, NetFlow также применяется другими поставщиками. Это не единственные системы сетевого обмена сообщениями, которые в настоящее время работают. Вот самые известные:
  • IPFIX - ( ) была разработана и поддерживается специальной для предоставления универсальной версии NetFlow. Дизайн был основан на NetFlow 9, и многие люди называют IPFIX - NetFlow 10.
  • cflow - создан ( ), cflow реализован cflowd, который можно . Система cflow добавляет функции манипулирования данными к сбору сообщений NetFlow.
  • J-Flow - это копия NetFlow, созданная из NetFlow v5 компанией для использования своим оборудованием. Первоначальной версией была v5, и всякий раз, когда Cisco выпускает новую версию NetFlow, Juniper создает копию для J-Flow с тем же номером выпуска.
  • NetStream - следовала тому же курсу, что и сети Juniper, и создала собственную версию NetStream для своего сетевого оборудования. Поддержка Huawei относится к документам определения как NetFlow 9, так и IPFIX при объяснении .
  • NSEL - - это стандарт Cisco, который направляет сообщения от брандмауэров через систему обмена сообщениями NetFlow.
Как видно из этого списка, практически каждая система обмена сообщениями о сетевых потоках, которая претендует на то, чтобы стать альтернативой NetFlow и sFlow, на самом деле является версией NetFlow.

Заключение

При выборе NetFlow или sFlow необходимо учитывать несколько факторов. Ваша установленная аппаратная база может принять решение за вас; что поддерживают ваши устройства? Учитывайте также объем трафика по отношению к потребности в детализированной видимости и диапазон протоколов в сети. К счастью, многие предприятия могут выбрать обе технологии, используя каждую для достижения наилучших результатов, а также используя инструменты анализатора, которые объединяют данные в один детальный обзор.

Перевод: Анна Давыдова
Источник:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!