Защита от всплесков при агрегации трафика в пакетных брокерах

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

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

Кейс применения

Работая над одним из проектов, нам попалась (как изначально казалось) тривиальная задача - передать трафик, полученный с четырёх оптических ответвителей (TAP), на один порт системы ИБ. Для её реализации был задействован брокер сетевых пакетов DS Integrity NG с функцией агрегации. Схема подключения была организована следующим образом (рисунок 1): на восемь входных интерфейсов 10G пакетного брокера поступал трафик, агрегировался и передавался на один выходной интерфейс 10G. Загруженность каждого из четырех линков составляла порядка 10%, и весь трафик при агрегации умещался в один выходной интерфейс с запасом.

Рисунок 1
Рисунок 1

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

Для таких случаев в брокере сетевых пакетов DS Integrity NG предусмотрена функция защиты от всплесков. При включении функции защиты от всплесков потери пакетов прекратились. Рассмотрим далее, что такое всплески трафика и как работает функция защиты от них.

Всплески трафика на сети

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

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

На рисунке 2а показан график передачи пакетов сетевой картой. Как мы видим, все пакеты передаются последовательно с одинаковой скоростью. Пробелы в передаче пакетов обусловлены спецификой работы приложений - в определённый момент времени сетевая карта либо загружена, либо пакеты для передачи отсутствуют. Эти же данные можно представить в виде графика пропускной способности линка 2б, к которому все мы привыкли. На нём наблюдаются всплески трафика в тех местах, где последовательно было передано большое количество пакетов, и падение в тот момент, когда сетевая карта не передавала пакеты. Также следует учесть, что данный график является аппроксимацией и поэтому, когда между передачей пакетов образуется пауза, пропускная способность линка не падает до нуля.

Рисунок 2 - Передача пакетов и всплески трафика
Рисунок 2 - Передача пакетов и всплески трафика

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

Функция защиты от всплесков

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

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

Лабораторные испытания

Теперь, когда у Вас есть понимание о всплесках трафика и работе функции защиты от всплесков, мы расскажем, как проводится тестирование данного функционала.

Пакетный брокер конфигурируем следующим образом - на интерфейсы 8x10G поступает трафик, агрегируется и передаётся на выходной интерфейс 1x10G (рисунок 3), при этом функция защиты от всплесков выключена.

Рисунок 3 - Схема стенда
Рисунок 3 - Схема стенда

Имитация всплесков на агрегированных линках пакетного брокера происходит следующим образом: с помощью генератора трафика Spirent подаётся равномерный трафик на 6 интерфейсов с загрузкой каждого интерфейса на 15%, а на 2 других интерфейса кратковременно подаётся трафик с загрузкой на 50% каждого.

Выполнив тест, мы убеждаемся в переполнении полосы выходного порта – буфер переполняется и пакеты отбрасываются. Ниже приведена статистика пакетов на входных (рисунок 4) и выходных портов с таблицей отброшенных пакетов (рисунок 5).

Рисунок 4 - Вкладка входных портов Web-интерфейса брокера сетевых пакетов DS Integrity NG
Рисунок 4 - Вкладка входных портов Web-интерфейса брокера сетевых пакетов DS Integrity NG
Рисунок 5 - Вкладка выходных портов Web-интерфейса брокера сетевых пакетов DS Integrity NG
Рисунок 5 - Вкладка выходных портов Web-интерфейса брокера сетевых пакетов DS Integrity NG

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

Рисунок 6 - Потери пакетов при всплесках трафика
Рисунок 6 - Потери пакетов при всплесках трафика

Для предотвращения потери пакетов включим в брокере сетевых пакетов функцию защиты от всплесков и повторим тест. Для имитации всплесков увеличиваем загрузку двух интерфейсов до 100% и убеждаемся в отсутствии потерь. Ниже приведена статистика пакетов на входных (рисунок 7) и выходных портах с таблицей отброшенных пакетов (рисунок 8).

Рисунок 7 - Вкладка входных портов Web-интерфейса брокера сетевых пакетов DS Integrity NG
Рисунок 7 - Вкладка входных портов Web-интерфейса брокера сетевых пакетов DS Integrity NG
Рисунок 8 - Вкладка выходных портов Web-интерфейса брокера сетевых пакетов DS Integrity NG
Рисунок 8 - Вкладка выходных портов Web-интерфейса брокера сетевых пакетов DS Integrity NG

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

Рисунок 9 - Отсутствие потерь пакетов при всплесках трафика
Рисунок 9 - Отсутствие потерь пакетов при всплесках трафика

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

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


Вместо заключения

Рассмотрев работу функции защиты от всплесков при агрегации линков, можно сделать вывод, что её использование в пакетных брокерах позволит избежать потери пакетов при всплесках трафика. Данная функция позволяет сделать более эффективным функционирование средств, работа которых основана на анализе сетевого трафика. Среди плюсов реализации функции защиты от всплесков DS Integrity NG, по сравнению с зарубежными аналогами, можно выделить больший объем дополнительного буфера, работу со всеми видами интерфейсов, а также наличие расширенной статистики по трафику с возможностью мониторинга по отброшенным пакетам.

Источник: https://habr.com/ru/company/dsol/blog/655251/


Интересные статьи

Интересные статьи

Сегодня углубимся в тему безопасности данных и объясним, как это работает в среде HPE SimpliVity.
Значительная часть жизни уже давно перетекла в гаджеты, онлайн-сервисы, соцсети и мессенджеры, которые ежедневно собирают тонны персональных данных. А ими часто обмениваются компании, например, в сфер...
В данной статье мы представим себя в роли разработчика лицензированного ПО и рассмотрим способы защиты от взлома нашей программы пиратами. Читать далее
В 1С Битрикс есть специальные сущности под названием “Информационные блоки, сокращенно (инфоблоки)“, я думаю каждый с ними знаком, но не каждый понимает, что это такое и для чего они нужны
Автокэширование в 1с-Битрикс — хорошо развитая и довольно сложная система, позволяющая в разы уменьшить число обращений к базе данных и ускорить выполнение страниц.