В чем разница между netFlow и sFlow?

22

Чем sFlow отличается от netFlow и как каждый из них поддерживается разными поставщиками?

Бенджамин А.
источник

Ответы:

22

NetFlow - это протокол для экспорта суммарных итоговых IP-потоков. Как таковой он хорошо подходит для учета IP-трафика на интернет-маршрутизаторах. С Netflow V9 (AKA IPFIX он также может анализировать трафик уровня 2)

sFlow - это технология системы измерения сетевого трафика общего назначения. sFlow предназначен для встраивания в любое сетевое устройство и обеспечения непрерывной статистики по любому протоколу (L2, L3, L4 и вплоть до L7), так что весь трафик в сети может быть точно охарактеризован и отслежен. Эти статистические данные важны для контроля перегрузки, устранения неполадок, наблюдения за безопасностью, планирования сети и т. Д. Они также могут использоваться для целей учета IP.

Netflow отражает весь трафик и загружает процессор при использовании.

SFlow - это технология выборки пакетов, в которой коммутатор захватывает каждый сотый пакет (настраивается) для каждого интерфейса и отправляет его сборщику . sFlow встроен в ASIC и накладывает минимальную нагрузку на процессор.

Netflow поддерживается Cisco, Juniper, Alcatel Lucent, Huawei, Enterasys, Nortel, VMWare

sFlow поддерживается Alaxala, Alcatel Lucent, Allied Telesis, Arista Networks, Brocade, Cisco, Dell, D-Link, Enterasys, Extreme, Fortinet, Hewlett-Packard, Hitachi, Huawei, IBM, Juniper, LG-Ericsson, Mellanox, MRV, NEC, Netgear, Proxim Wireless, Quanta Computer, Vyatta, ZTE и ZyXEL ( см. Ссылку sFlow )

Еж
источник
1
Концепция выборки применяется к netflow / ipfix так же, как и к sflow
Брэд Хейн,
Не говоря о том, как два пакета из одного и того же трафика будут отличаться в Netflow и sFlow. Может быть, сравнить их с необработанным пакетом от, скажем, tcpdump? Разница все еще не кристально ясна для меня.
Нагев
7

Единственное отличие в том, что «NetFlow является собственностью Cisco, а sFlow - нет», не совсем корректно.

Изначально NetFlow изначально был проприетарным для Cisco, но в некотором роде шел так же, как GRE или EIGRP. Начиная с NetFlow v5, он был реализован и поддерживается на оборудовании других производителей.

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

РЕДАКТИРОВАТЬ: Выше, кажется, больше не правильно (по крайней мере, в соответствии со стандартом IPFIX). Я обнаружил, что следующий пост в блоге (предупреждение: кажется, что это URL, специфичный для «sflow», поэтому, если хотите, принимайте его с крошечным солью), довольно хорошо показывает различия между спецификацией IPFIX и sFlow.

Джон Дженсен
источник
4
NetFlow v9 и v10 (IPFIX) периодически отправляют шаблонное сообщение, в котором рассказывается, как читать образцы, этот шаблон очень гибкий и может быть произвольно расширен. iana.org/assignments/ipfix/ipfix.xml показывает, что стандарт поддерживает сегодня, и ethertype, dmac, smac и т. д. уже есть. sFlow otoh является статическим, если sFlow5 не поддерживает то, что вы хотите сделать, вам нужен совершенно новый протокол sFlow, в то время как в IPFIX вам вообще не нужно менять протокол.
ytti
Очень интересно! Спасибо за ссылку. Показывает, насколько я не отставал от NetFlow. :-) Интересно, что sFlow спускается на щуку? Может показаться, что «поклонники sFlow» просто скажут «что-нибудь через Ethernet» в качестве контраргумента необходимости определять новые поля IPFIX. Есть также многочисленные алгоритмы выборки, которые NetFlow / IPFIX использует против одного sFlow.
Джон Дженсен
1
Как FYI, сетевой поток L2 доступен на ряде платформ Cisco с использованием v9 или, совсем недавно, IPFIX.
rnxrx
Спасибо, но это уже было указано в комментариях выше. :-)
Джон Дженсен
1
Независимый поставщик с глубокими знаниями в этой области говорит следующее: plixer.com/blog/netflow/… . Вам также следует учитывать, работает ли на данной платформе NetFlow / sFlow в аппаратном или программном обеспечении.
generalnetworkerror
2

Устройства Cisco пытаются объединять потоки (вы можете думать о них как о разговорах), а затем экспортировать информацию о них в сборщик. Это требует памяти для кеширования.

sFlow имеет два основных компонента: один, где он будет периодически экспортировать статистику, такую ​​как счетчики интерфейсов и использование ЦП, в сборщик, и один, где он будет случайным образом захватывать 1 в N (настраиваемых, обычно от 512 до 32768) фреймов, которые проходят через маршрутизатор, и экспортировать первые 256 байтов. Затем вы можете выполнить статистический анализ трафика, проходящего через вашу сеть.

Образцы пакетов sFlow дополнены информацией из таблицы маршрутизации, такой как пути AS. Он также не зависит от v4 и v6, в отличие от NetFlow, что приводит к неудобному компромиссу в зависимости от того, какой тип данных вы хотите получить.

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

Нильс
источник
Некоторые вводящие в заблуждение комментарии здесь ... NetFlow использует кэш, и он может быть агрегирован / не агрегирован, выбран или нет - это характеристики данных, которые вы собираете, и вы можете определить их. Данные NetFlow также могут содержать данные, "такие как как пути AS ", и он не является дифференциатором sFlow и никогда не был. NetFlow был создан только в качестве прототипа решения для переключения потоков, он был почти сразу переключен на механизм сбора информации. С точки зрения реальных различий, есть большая разница в выборке: в выборке sFlow есть сделано для пакета, а не для потока, вы сразу теряете точность. Посмотрите в архивах cisco-nsp @.
Лукаш Бромирски
0

Netflow является проприетарным протоколом Cisco и поэтому не поддерживается ничем иным, кроме устройств Cisco.

sFlow - это стандарт IETF, предназначенный для выполнения почти одинаковых действий, но в стандарте, не принадлежащем одному конкретному производителю.

Дэвид Ротера
источник
2
AFAIK sFlow больше не является IETF, а продуктом sFlow consortium. IPFIX - это стандарт IETF netflow v9 (номер версии увеличен до v10 и внесены незначительные изменения). Я предполагаю, что главное отличие состоит в том, что sflow экспортирует один пакет (с четко определенной методологией выборки), и вы будете выполнять экстраполяцию, в то время как IPFIX / netflow может делать много других вещей, включая это, но также может собирать данные для вас. Я бы сказал, что netflow / IPFIX гораздо более гибок, что также означает, что вы можете реализовать netflow / IPFIX в своем оборудовании таким образом, чтобы сделать его бесполезным, в то время как sflow довольно строг в отношении того, как он должен быть реализован.
ytti