Все о NetFlow и sFlow от Web Control
Меню сайта


Категории раздела


Партнеры



Вход


Поиск


Приветствую Вас, Гость 10.07.2025, 03:04
Главная » FAQ » Мониторинг и анализ трафика
Разделы базы знаний сформированы по категориям, которые вы видите в левой части страницы сайта. Для просмотра информации, нажмите на наименование нужной вам категории и вы перейдете в соответствующий раздел.
При переходе в раздел прямо под этим текстом появляется список всех статей раздела. Надеемся, что вы найдете нужную вам информацию!

NetFlow может мониторить установки TOS, т.е. как маркируется трафик. И лучше всего использовать мониторинг выходящего (egress) трафика, поскольку, если ваше устройство маркирует трафик, вы не увидите это, использую входящий (ingress) трафик.
Если вам необходима статистика QoS, то вам следует использовать SNMP. Например, вы можете мониторить Cisco через CBQoS MIBS. Вы так сможете получить информацию о использовании полосы пропускания, падениях и т.п., но не о том, какие протоколы были использованы при этом, это - через мониторинг NetFlow.

Экспорт MAC-адресов



Для того, чтобы экспортировать MAC-адреса в NetFlow, добавьте следующее в вашей записи Flexible NetFlow:
  • collect datalink mac source address input
  • collect datalink mac destination address input
Flexible NetFlow - это технология, в которой вы можете сами создавать поля для мониторинга производительности в таких областях, как видео, VoIP, Skype.

Вы рассматриваете конфигурацию экспорта NetFlow с выходящими (egress) потоками? А знаете ли вы, почему вам следует или не следует экспортировать выходные потоки?
Большинство из нас экспортирует NetFlow v5, который поддерживает только входящие потоки. Это означает, что трафик, приходящий на интерфейс, контролируется и экспортируется в датаграммы NetFlow. А что с трафиком, который выходит из интерфейса? А вот он не контролируется с помощью NetFlow v5.
Большинство производителей контролируют входящие потоки на приемном интерфейсе. При этом, используя эту информацию, вы можете определить выходную утилизацию на любом интерфейсе, если (это важно!) вы включили NetFlow на всех интерфейсах коммутатора или маршрутизатора.
Давайте рассмотрим ситуацию, когда NetFlow включен на интерфейсах 1 и 2 из трех интерфейсов маршрутизатора. Трафик, приходящий на интерфейс 3, который является приемником для интерфейсов 1 и 2, будет исчезать, когда анализатор NetFlow будет рассчитывать выходную утилизацию этих интерфейсов. Если коротко, когда вы используете NetFlow v5 или v9 (только входные потоки), при включении NetFlow на всех интерфейсах, выходящая утилизация на любом интерфейсе рассчитывается с помощью входящих потоков на других интерфейсах. Очень многие системы отчетности на базе NetFlow работают таким образом.

Зачем включать Egress NetFlow?
NetFlow v9 поддерживает и входящий (ingress) и выходящий (egress) NetFlow. В большинстве инсталляций входящие потоки, включенные на всех интерфейсах маршрутизатора или коммутатора, предоставляют вам информацию, в которой вы нуждаетесь. Но есть несколько причин использовать выходящие потоки:
  • В среде WAN с сжатием (Cisco WAAS, Riverbed, и др.) нам необходимо видеть трафик после сжатия. Используя входящие потоки вы неправильно определите выходную утилизацию на интерфейсе WAN. А вот выходные потоки будут учитываться уже после сжатия.
  • В среде multicast входные потоки в качестве принимающего интерфейса имеют 0, поскольку роутер не знает, какой интерфейс их будет принимать, пока не будут обработаны датаграммы. Экспортируя выходящие потоки мы знаем приемные интерфейсы и, как результат, множество потоков будет экспортироваться, если потоки будут направлены на множество интерфейсов.
  • Когда NetFlow экспортируется только с одного интерфейса маршрутизатора или коммутатора. Включив оба режима на интерфейсе, вы обеспечиваете возможность экспорта в датаграмму и входных и выходных потоков.
Хороший анализатор NetFlow должен учитывать выходящие потоки при расчете выходной утилизации. Если он обнаруживает включенные выходные потоки на интерфейсе, то должен их использовать. Если же функция выходящих потоков отключена, он должен рассчитывать выходную утилизацию на базе входных потоков с других интерфейсов.

Включение Ingress и Egress
Ниже приведены команды для конфигурировании маршрутизатора Cisco для включения ingress- и egress-потоков:

    Router > enable
    Router#: configure terminal
    ! Посылаем NetFlow на коллектор
    Router(config)# ip flow-export destination 10.1.1.1
    ! Посылаем NetFlow на 2-й коллектор
    Router(config)# ip flow-export destination 10.1.1.2
    ! Вам надо установить параметры Flexible NetFlow для экспорта в более, чем два приемника
    ! Используем NetFlow v9, поскольку NetFlow v5 не поддерживает egress NetFlow
    Router(config)# ip flow-export version 9
    ! Суммируем и экспортируем долгоживущие потоки каждую минуту
    Router(config)# ip flow-cache timeout active 1
    ! Экспортируем потоки, которые бездействуют 15 секунд и более
    Router(config)# ip flow-cache timeout inactive 15
    ! Экспортируем NetFlow с интерфейса, конфигурированного как loopback.
    Router(config)# ip flow-export source loopback 0
    ! Включаем NetFlow на каждом интерфейсе, который нам нужен
    ! Конфигурируем первый интерфейс
    Router(config)# interface Ethernet 0/0
    Router(config-if)# ip flow ingress
    Router(config-if)# ip flow egress
    Router(config-if)# exit
    ! Меняем следующий интерфейс
    Router(config)# interface Ethernet 0/1
    Router(config-if)# ip flow ingress
    Router(config-if)# ip flow egress
    Router(config-if)# exit
    ! Сохраните это в памяти, если вы хотите потом использовать эту конфигурацию

Ingress, Egress или оба
Используя командный интерфейс Cisco вы можете набрать следующие команды, чтобы увидеть включены или не включены igress и engress.

Также и система отчетности на базе NetFlow должна вам сказать, включены на интерфейсе ingress и egress или нет.

Контролируете направление
Вы можете определить направление, поскольку NetFlow v9 экспортирует поле Direction по умолчанию и это говорит нам о том, какой это поток (ingress или egress). В Flexible NetFlow, который базируется на NetFlow v9, поле Direction не экспортируется по умолчание.
Если система анализа NetFlow не умеет толком обращаться с входными и выходными потоками, то можно будет существенно ошибаться в значении выходной утилизации и пропускной способности.

Двунаправленные потоки
Хотя такие пока мы наблюдали только на Cisco ASA, двунаправленные потоки - вещь интересная. В традиционном NetFlow поток из А в Б как правило создаст второй поток из Б в А. С двунаправленным NetFlow, когда при создании потока А->Б начинается обмен, в кэше роутера записывается только один поток. Затем, когда появляется поток Б->А, в поток A->Б добавляются байты, а вторая запись не создается.
Лучшее решение для вас зависит от вашей сети и доступных ресурсов.

SNMP

SNMP (Simple Network Management Protocol) - базовое средство для сбора данных по использованию сети и полосы пропускания. Мониторинг использования полосы пропускания маршрутизаторами и коммутаторами порт за портом - это наиболее обычное использование SNMP, так же как мониторинг различных устройств типа памяти, процессоров и т.п.
    • Рекомендуется для большинства стандартных ситуаций
    • Не поддерживает дифференциацию трафика в зависимости от услуг/протокола
    • Вызывает очень небольшую нагрузку на процессор

Packet Sniffer

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

xFlow (NetFlow/sFlow)

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

Поддержка NetFlow на этом устройстве отличается от того, как это сделано на других системах Cisco. Эта технология называется "NetFlow Security Event Logging" (NSEL) и первоначально была внедрена на Cisco ASA 5580. После выхода новой версии операционной системы (ASA 8.2.x или более поздняя), она поддерживается на всех моделях Cisco ASA.
В действительности ASA NetFlow первоначально не предполагалось использовать для анализа трафика в реальном времени (она создавалась для мониторинга событий безопасности). Но, тем не менее, эта технология годится и для этих целей. Если сравнивать с "нормальным" NetFlow, есть несколько ограничений:
  • Вы не сможете видеть данные в реальном времени. NSEL отсылает пакет данных NetFlow только после того, как соединение будет закрыто. Если соединение активно в течение минут или часов, то ASA отправит только один пакет за все это время. Это вызовет появление пиков в графических отчетах анализатора, поскольку будет видна разница между соседними событиями.
  • Потоки в ASA двунаправленные (все счетчики потоков будут считать потоки как туда, так и обратно).
  • Мониторинг NetFlow v9 на ASA вызывает загрузку процессора.
Ниже вы можете видеть сравнение результатов мониторинга полосы  пропускания для трех разных методов. Здесь показан трафик, проходящий через ASA, измеряемый с помощью SNMP (трафик на порту WAN), NetFlow v9 (анализируя пакеты NetFlow на следующем роутере Cisco) и NetFlow v9 (собственный NetFlow v9 на Cisco ASA).

Пример настройки NetFlow на Cisco ASA можно найти здесь.

Использованы материалы компании Paessler

  1. Выполните команду:
    show ip interface brief | exclude unassigned
    для получение перечня всех L3-интерфейсов, которые имеют присвоенные IP-адреса.
  2. Проверьте, если вы включили ip route-cache cef или ip route-cache flow на всех L3-интерфейсах.
Ваше оборудование не поддерживает NetFlow? Это не проблема, используйте генераторы NetFlow
Хотя сегодня практически все производители сетевого оборудования включают поддержку NetFlow в функциональность своей продукции, все еще существуют сети, в которых используется техника, не применяющая NetFlow. Это может быть оборудование, не поддерживающее NetFlow, или техника, в которой вы не хотите использовать эту функциональность, опасаясь влияния NetFlow на загрузку процессора или памяти. В любом случае альтернатива существует. Это генераторы NetFlow.
Генератор NetFlow - это сетевое устройство или программный "демон", который пассивно захватывает сетевые пакеты и переводит их в записи NetFlow. В сети это выглядит следующим образом:


Генераторы NetFlow подключаются точно так же, как и традиционные пассивные IDS или пакетные снифферы. Они используют "порт захвата", который подключается к сетевому SPAN-порту или TAP. Большинство генераторов NetFlow работают на базе Linux и используют стандартное оборудование. Опыт показывает, что программные генераторы, как правило, имеют более продвинутый функционал и легче расширяются в будущем. Если вам не требуются исключительная скорость типа 10Gbps+, то программные генераторы NetFlow вас вполне устроят.
Более подробно можно прочитать здесь.


Ответ - ни то, ни другое. Если обратиться к сайту IETF, то можно найти RFC 3176, где обсуждается протокол sFlow, и RFC 3954, где речь идет о NetFlow v9. Эти технологии не являются стандартом. RFC означает "запрос на комментарии" (Request For Comment ), т.е. это не стандарт. IPFIX, который определяется в RFC 5101 - это предлагаемый стандарт. Не надо обращать внимание на документы, подобные выпущенному компанией Brocade, где говорится: "IPFIX страдает плохим принятием основных производителей и все еще имеет большинство недостатков NetFlow". Это просто неправда. Сейчас большинство вендоров уже внедрило или собирается внедрить поддержку IPFIX.