Traffic Reg Software  
English version    С момента открытия сайта прошло: 22 лет 3 месяца 27 дней  auto
Статьи  Использование Netflow для учета трафика 
 

Автор TMeter

Использование Netflow для учета трафика

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

Первую проблему решить очень просто. Абсолютное большинство более-менее серьезных маршрузаторов поддерживает съем статистики "передано/принято" по протоколу SNMP. Настроив утилиту MRTG для визуализации данных, принимаемых по SNMP, вы с удивлением можете обнаружить что ваш канал 2 мбит/c загружен на 90%. Совершенно ествественно, что вы хотите узнать какой трафик это сдедал. Ответ на второй вопрос можно получить путем анализа заголовков IP-пакетов, пересылаемых через маршрутизатор.

Для пересылки заголовков IP-пакетов, проходящих через маршрутизатор разработано много протоколов, однако стандартом де-факто стал протокол Netflow, разработанный компанией Cisco для своих маршрутизаторов. Суть протокола Netflow в том, что заголовки транзитных IP-пакетов накапливаются в специальном буфере и аггрегируются (т.е. пакеты с одинаковыми характеристиками объединяются в одну запись, что позволяет существенно сэкономить на объеме пересыламых данных по протоколу Netflow).

Например, следующая последовательность пакетов:

Протокол Адрес источника Порт источника Адрес назначения Порт назначения Размер пакета, байт
TCP 192.168.1.2 17643 10.0.0.2 80 40
TCP 10.0.0.2 80 192.168.1.2 17643 40
UDP 192.168.1.3 5672 172.31.19.2 53 78
TCP 192.168.1.2 17643 10.0.0.2 80 40
TCP 192.168.1.2 17643 10.0.0.2 80 640
UDP 172.31.19.2 53 192.168.1.3 5672 345
TCP 10.0.0.2 80 192.168.1.2 17643 1500
TCP 10.0.0.2 80 192.168.1.2 17643 1244
TCP 10.0.0.2 80 192.168.1.2 17643 40

После аггрегации будет преобразована к таким данным:

Протокол Адрес источника Порт источника Адрес назначения Порт назначения Размер пакета, байт
TCP 192.168.1.2 17643 10.0.0.2 80 720
TCP 10.0.0.2 80 192.168.1.2 17643 2824
UDP 192.168.1.3 5672 172.31.19.2 53 78
UDP 172.31.19.2 53 192.168.1.3 5672 345

Архитектура протокола Netflow подразумевает наличие у маршрутизатора некой мощности его аппаратной части, поскольку алгоритм обработки пакетов предусматривает быстрый просмотр и заполнение внутренней памяти маршрутизатора. Поэтому не все аппаратные маршрутизаторы поддерживают Netflow. Если у вас шлюз программный (например, на UNIX-подобной операционной системе типа Linux или FreeBSD), то можно использовать программную реализацию под названием softflowd.

В достоинства протокола Netflow можно отнести простоту его реализации. Недостаток протокола Netflow очевиден - при интенсивном трафике маршрутизатор может не справляться с аггрегированием информации.

Протокол Netflow определяет понятия агента Netflow и коллектора Netflow. Агент - это та часть, которая работает на маршрутизаторе и аггрегирует данные. Коллектор - это некая программа, которая принимает и анализирует данные от агента. В качестве коллектора Netflow может выступать программа TMeter.

На данный момент существует несколько версий протокола Netflow. Наиболее распостраненная версия - v.5