Введение

Сетевой пакетный стандарт sFlow, сокращенно "sampled flow", является отраслевым стандартом для экспорта пакетов на 2-м уровне модели OSI. sFlow был первоначально разработан компанией InMon Corp. Он предоставляет возможность экспорта усеченных пакетов вместе со счетчиками интерфейсов для целей мониторинга сети. Поддержка протокола осуществляется консорциумом sFlow.org – авторитетным источником спецификаций протокола sFlow. Текущая версия sFlow – v5.

Операция

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

Образцы потоков

На основе заданной частоты дискретизации случайным образом отбирается в среднем 1 из n пакетов/операций. Этот тип дискретизации не обеспечивает 100% точного результата, но позволяет получить результат с определяемой точностью.

Противоуказы

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

sFlow-датаграммы

Образцованные данные отправляются в виде UDP-пакета на указанный хост и порт. Официальный номер порта для sFlow — порт 6343. Отсутствие надежности транспортного механизма UDP не оказывает существенного влияния на точность измерений, полученных от агента sFlow. Если пакеты с данными счетчиков теряются, новые значения будут отправлены при следующем интервале опроса. Потеря пакетов с данными о потоках приводит к незначительному снижению эффективной скорости выборки. Полезная нагрузка UDP содержит sFlow-датаграмму. Каждая датаграмма содержит информацию о версии sFlow, IP-адресе устройства-источника, порядковом номере, количестве содержащихся в ней образцов, а также один или несколько образцов потоков и/или счетчиков.

Версии sFlow

ВерсияCommentv1Первая версияv2(Неизвестно)v3Добавляет поддержку расширенной информации об URL. v4Добавляет поддержку BGP-сообществ. Это текущая версия, поддерживаемая глобально.

Связанные технологии

Известной альтернативой является NetFlow (см. ниже). Более того, в зависимости от доступных ИТ-ресурсов, может быть осуществлен полный захват пакетов с использованием выделенных сетевых TAP-адаптеров (которые впоследствии анализируются).

NetFlow, IPFIX

NetFlow и IPFIX — это протоколы экспорта потоков, предназначенные для агрегирования пакетов в потоки. Затем записи потоков отправляются в пункт сбора для хранения и анализа, а также фрагменты данных пакетов. В то время как экспорт потоков может выполняться с выборкой 1:1 (то есть с учетом каждого пакета), это обычно невозможно с sFlow, поскольку он не был разработан для такой работы. Выборка является неотъемлемой частью sFlow и направлена на обеспечение масштабируемости при мониторинге всей сети.