К вопросу мониторинга сетевого трафика

Бесплатный доступ

В статье рассматриваются технологические средства для мониторинга сетевого трафика. Проанализированы технологии NetFlow и sFlow для учета сетевого трафика и анализа потока пакетов, проходящих через устройства компьютерной сети.

Компьютерные сети, сетевой трафик, сетевой протокол

Короткий адрес: https://sciup.org/140129993

IDR: 140129993

Текст научной статьи К вопросу мониторинга сетевого трафика

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

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

Сетевой протокол NetFlow был разработан компанией Cisco Systems для технологии коммутации пакетов в

Рисунок 1. Пример сети с NetFlow

устройствах этой корпорации, но сегодня используется, в основном, для учета трафика. Архитектура NetFlow крайне проста и состоит из двух компонентов: сетевого устройства, отправляющего информацию о проходящем через него трафике, и коллектора NetFlow. Последний собирает и анализирует информацию, передаваемую по протоколу NetFlow. Пример сети с NetFlow представлен на рисунке 1.

Принцип работы протокола NetFlow может быть описан следующим образом. В каждом IP-пакете, проходящем через маршрутизатор или коммутатор, исследуется набор его атрибутов, с помощью которых определяется, уникален он или подобен другим пакетам, т. е. является или нет элементом IP-потока. В типичном случае IP-поток базируется на пяти или семи атрибутах пакета. NetFlow использует IP-адреса источника и получателя, порты источника и получателя, тип протокола уровня 3 (сетевого), класс обслуживания (CoS) и входной интерфейс маршрутизатора или коммутатора. Все пакеты с одинаковыми атрибутами группируются в поток. Затем подсчитывается количество пакетов и байтов потока. Эта информация накапливается в базе данных, называемой NetFlowCache.

Собранные данные оказываются полезными для понимания поведения сети. Так, адрес источника позволяет узнать, кто генерирует трафик, а адрес получателя – кому он предназначен. Порт характеризует приложение, утилизирующее трафик. Класс обслуживания указывает приоритет трафика. Интерфейс показывает, как используется трафик сетевым устройством, а количество пакетов и байтов определяет его объем.

Для доступа к этим данным существует два основных метода: интерфейс командной строки (CLI) и применение инструментов отчетности. При необходимости немедленно определить, что произошло в сети, можно воспользоваться CLI. Второй выбор предусматривает экспорт базы данных в сервер отчетов, который называется NetFlowCollector. Он собирает и анализирует экспортированные потоки и предоставляет отчеты, применяемые для анализа трафика и безопасности. В отличие от опроса, который выполняется протоколом SNMP, экспорт в коллектор производится периодически. В типичном случае NetFlowCache постоянно заполняется информацией о потоках. Программное обеспечение коммутаторов или маршрутизаторов просматривает кэш и ищет потоки, передача которых завершилась или истекло время их жизни, и данные о таких потоках экспортируются в коллектор.

Рассмотрим, как сетевое устройство определяет, какой поток экспортировать в коллектор NetFlow. Поток готов для экспорта, когда он неактивен некоторое время (другими словами, в него не поступают новые пакеты), или если поток долгоживущий (например, загрузка файлов по FTP), но его продолжительность больше, чем предполагает обслуживание. Поток также экспортируется, если флаг TCP указывает, что он закончился (флаги FIN, RST). Период неактивности и обслуживания устанавливается с помощью соответствующих таймеров. В типичном случае нагрузка сети для экспорта содержимого NetFlowCache составляет 1–5% коммутируемого трафика.

Альтернативным NetFlow межплатформенным вариантом является протокол sFlow. Технология sFlow ис- пользует выборки для получения масштабируемости. Архитектура системы sFlow состоит из множества устройств, обеспечивающих два типа выборок: случайные выборки пакетов и операций на уровне приложений и выборка с определенным интервалом времени по счетчику. Выбранные данные о пакетах/операциях и счетчике отсылаются как дейтаграммы sFlow в центральный сервер с приложением, которое анализирует трафик и создает соответствующие отчеты – коллектор sFlow. Множество выборок sFlow могут отсылаться одной дейтаграммой.

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

Основные задачи, решаемые агентом sFlow, аналогичны задачам, решаемым агентами Ethernet и NetFlow типов, а именно: регистрация, тарификация и первый уровень агрегирования данных об IP трафике, прошедшем через маршрутизатор или коммутатор.

В отличие от Ethernet агента данный модуль получает статистические данные о прошедшем трафике в виде sFlow потока, аналогично агенту для протокола NetFlow, посылаемого маршрутизатором по протоколу UDP, что предъявляет соответствующие требования к каналу передачи данных между маршрутизатором и сервером, на котором функционирует агент sFlow. В большинстве случаев агент sFlow рекомендуется размещать в той же Ethernet сети, что и маршрутизатор. В зависимости от интенсивности информационного потока, проходящего через маршрутизатор, sFlow поток может также иметь разную интенсивность, однако параметры экспорта потока настраиваются в отличие от NetFlow, что является преимуществом. Дейтаграммы протокола могут отсылаться агенту периодически с задаваемым интервалом вне зависимости от того, имеет место трафик или нет. Также имеется режим отправки дейтаграмм по мере накопления статистических данных устройством.

Помимо функций регистрации данных, агрегирования и тарификации, агент для sFlow протокола может осуществлять контроль доступа абонентов в IP сеть. В частности, возможно прекращение обслуживания абонентов по истечению балансных средств на расчетном счете абонента. Функции включения/отключения доступа реализованы внешними процедурами, управляемыми системой контроля доступа sFlow агента для обеспечения максимальной гибкости при интеграции агента с существующими системами управления доступом.

Агент для протокола sFlow, как и агенты Ethernet и NetFlow, способен работать в режиме SAFE, когда канал между сервером и агентом ненадежен или обладает недостаточной пропускной способностью. В этом случае регистрация и хранение первичных данных осуществляется на локальном сервере, на котором установлен агент. Такой подход минимизирует объем передаваемых данных между сервером и агентом и позволяет осуществить перехват управления доступом абонентов в сеть в случае отсутствия

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

Используя технологию sFlow, можно получить следующую информацию о каждом из пакетов: адрес агента, осуществившего сборку данных; Ip-адрес источника и получателя; тип транспортного протокола (TCP, UDP); порт источника и получателя; размер пакета; дата и время прохождения пакета через устройство; MAC-адрес источника и получателя; тип Ethernet (v4, v6); номера виртуальных локальных сетей; частота выборки; предельный период времени, после которого пакет перестанет существовать; тип обслуживания (Ip TOS, typeofservice) – байт, содержащий набор критериев, определяющих тип обслуживания пакета, позволяет расставлять приоритеты по доставке трафика, на практике практически не используется; прочие tcp флаги.

Мониторинг и анализ трафика жизненно важен для эффективного управления сетью. В настоящее время можно насчитать не один десяток программных продуктов, предназначенных для мониторинга и анализа сетевого трафи- ка. В данной статье были рассмотрены протоколы NetFlow и sFlow. NetFlow является проприетарным протоколом Cisco Systems. Существуют и другие производители сетевых устройств c поддержкой NetFlow, включая 3Com (HP Networking), Enterasys Networks, Extreme Networks, Juniper Networks и некоторые другие. В контексте задачи управления сетью NetFlow является незаменимым инструментом для мониторинга загрузки каналов передачи данных. Однако сбор информации по протоколу NetFlow создает дополнительную нагрузку на сетевое оборудование, поэтому целесообразно не снимать данные посредством NetFlow со всех узлов сетевой инфраструктуры. Протокол sFlow – это аналог NetFlow. Он реализован в современных моделях сетевых устройств многих производителей сетевого оборудования – HP, ZyXEL и других. Протокол sFlow основан на выборке и является широко масштабируемой технологией, применяемой для высокоскоростных сетей, но, с другой стороны, выборка в значительной степени снижает точность. Среди основных преимуществ протокола sFlow можно выделить меньшую по сравнению с NetFlow потребность в процессорных ресурсах аппаратуры и большее количество экспортируемых параметров о трафике.

Список литературы К вопросу мониторинга сетевого трафика

  • Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. -СПб.: Питер, 2016
  • Хилл Б. Полный справочник по Cisco. -М.: Вильямс, 2009
  • Flow -URL: http://www.sflow.org/
Статья научная