Современный подход к подключению средств мониторинга и информационной безопасности к сетевой инфраструктуре предполагает использование ответвителей трафика и брокеров сетевых пакетов. Для обеспечения полной видимости трафика в сети (главное условие корректной работы систем мониторинга и адекватных результатов анализа) крайне важно не только ответвить трафик с нужных точек на пакетный брокер, но и передать его без потерь после предобработки на эти системы. Сегодня мы поговорим про функцию агрегации в пакетном брокере - одной из самых востребованных в данном классе оборудования. С помощью этой функции осуществляется сбор трафика с низконагруженных сетевых интерфейсов (согласно предварительно настроенному разделению входных портов по независимым группам агрегации с индивидуальными правилами распределения трафика в них) и дальнейшая передача в один или несколько выходных портов.
Агрегация каналов достаточно чувствительна к всплескам трафика, в результате чего могут происходить потери пакетов. В этой статье мы расскажем, как столкнулись с данной проблемой в одном из проектов, что такое всплески трафика, и как функция защиты от всплесков помогает решить проблему потери пакетов.
Кейс применения
Работая над одним из проектов, нам попалась (как изначально казалось) тривиальная задача - передать трафик, полученный с четырёх оптических ответвителей (TAP), на один порт системы ИБ. Для её реализации был задействован брокер сетевых пакетов DS Integrity NG с функцией агрегации. Схема подключения была организована следующим образом (рисунок 1): на восемь входных интерфейсов 10G пакетного брокера поступал трафик, агрегировался и передавался на один выходной интерфейс 10G. Загруженность каждого из четырех линков составляла порядка 10%, и весь трафик при агрегации умещался в один выходной интерфейс с запасом.
После монтажа указанной схемы было проведено тестирование её работы, в результате которого с помощью встроенного в Web-интерфейс пакетного брокера счетчика отброшенных пакетов мы заметили потерю пакетов. Причина потери пакетов заключалась в переполнении внутреннего буфера коммутационной матрицы из-за всплесков трафика.
Для таких случаев в брокере сетевых пакетов DS Integrity NG предусмотрена функция защиты от всплесков. При включении функции защиты от всплесков потери пакетов прекратились. Рассмотрим далее, что такое всплески трафика и как работает функция защиты от них.
Всплески трафика на сети
Для начала давайте разберемся, как осуществляется передача пакетов в сети. Все данные от различных приложений, которые работают на конечных хостах (пользовательское оборудование, серверы), перед отправкой в сеть поступают из центрального процессора на сетевую карту. Следует учесть, что интерфейс между процессором и сетевой картой более скоростной, чем между сетевой картой и сетью. Поэтому данные, поступающие от процессора, невозможно сразу обработать и отправить, следовательно, они будут ожидать обработки в буфере сетевой карты. Сама же сетевая карта берет данные из своего буфера, упаковывает их в пакеты, а затем каждый пакет последовательно и с постоянной скоростью отправляет в сеть.
Процесс передачи пакетов (рисунок 2) останавливается только тогда, когда заканчиваются данные в буфере. Из-за чего это происходит? Всё дело в специфике работы приложений. Приложения, а, следовательно, и сетевая карта будет передавать пакеты, пока не будет обработан свой или чужой запрос. Следует учесть, что на одном хосте располагаются до сотни различных приложений, и все они могут одновременно принимать либо отправлять запросы.
На рисунке 2а показан график передачи пакетов сетевой картой. Как мы видим, все пакеты передаются последовательно с одинаковой скоростью. Пробелы в передаче пакетов обусловлены спецификой работы приложений - в определённый момент времени сетевая карта либо загружена, либо пакеты для передачи отсутствуют. Эти же данные можно представить в виде графика пропускной способности линка 2б, к которому все мы привыкли. На нём наблюдаются всплески трафика в тех местах, где последовательно было передано большое количество пакетов, и падение в тот момент, когда сетевая карта не передавала пакеты. Также следует учесть, что данный график является аппроксимацией и поэтому, когда между передачей пакетов образуется пауза, пропускная способность линка не падает до нуля.
Исходя из всего описанного, можно сказать, что всплеском трафика является кратковременная загрузка полосы пропускания линка вследствие одновременной работы нескольких десятков, а то и сотен приложений.
Функция защиты от всплесков
Функция защиты от всплесков трафика основывается на использовании дополнительного буфера. При всплесках трафика на нескольких агрегируемых линках происходит заполнение основного буфера, как следствие пакетам некуда сохраняться, они отбрасываются. При использовании функции защиты от всплесков пакеты не отбрасываются, а сохраняются в дополнительный буфер и ожидают своей очереди на передачу. Размер дополнительного буфера составляет 8 Гбайт.
Решение задачи по защите от всплесков трафика на агрегируемых линках является довольно важной для брокеров сетевых пакетов. Стоит отметить, что не у всех производителей пакетных брокеров имеется данный функционал.
Лабораторные испытания
Теперь, когда у Вас есть понимание о всплесках трафика и работе функции защиты от всплесков, мы расскажем, как проводится тестирование данного функционала.
Пакетный брокер конфигурируем следующим образом - на интерфейсы 8x10G поступает трафик, агрегируется и передаётся на выходной интерфейс 1x10G (рисунок 3), при этом функция защиты от всплесков выключена.
Имитация всплесков на агрегированных линках пакетного брокера происходит следующим образом: с помощью генератора и анализатора трафика подаётся равномерный трафик на 6 интерфейсов с загрузкой каждого интерфейса на 15%, а на 2 других интерфейса кратковременно подаётся трафик с загрузкой на 50% каждого.
Выполнив тест, мы убеждаемся в переполнении полосы выходного порта – буфер переполняется и пакеты отбрасываются. Ниже приведена статистика пакетов на входных (рисунок 4) и выходных портов с таблицей отброшенных пакетов (рисунок 5).
На рисунке 6 представлен график данного теста. При загрузке линка и имитации кратковременных всплесков мы видим потери пакетов. Когда кратковременный всплеск заканчивается, график приходит к исходному состоянию – буфер принимает все поступающие пакеты, и соответственно, потери прекращаются.
Для предотвращения потери пакетов включим в брокере сетевых пакетов функцию защиты от всплесков и повторим тест. Для имитации всплесков увеличиваем загрузку двух интерфейсов до 100% и убеждаемся в отсутствии потерь. Ниже приведена статистика пакетов на входных (рисунок 7) и выходных портах с таблицей отброшенных пакетов (рисунок 8).
Переполнение полосы выходного порта во время всплесков нивелируется большей полосой дополнительного буфера, таким образом удается избежать потери пакетов. На рисунке 9 представлен график передачи трафика при включенной функции защиты от всплесков. В данном случае пакеты аккумулируются в дополнительном буфере и, когда кратковременный всплеск заканчивается, постепенно поступают на выходной порт из дополнительного буфера.
Наличие функции защиты от всплесков позволяет хранить пакеты в дополнительном буфере до тех пор, пока не освободится место в очереди, только после этого пакет будет отправлен.
Использование функции защиты от всплесков наглядно показывает, что при всплесках агрегированного трафика пакеты все равно будут равномерно поступать через брокер сетевых пакетов на устройства мониторинга и информационной безопасности или любые другие подключенные к нему системы.
Вместо заключения
Рассмотрев работу функции защиты от всплесков при агрегации линков, можно сделать вывод, что её использование в пакетных брокерах позволит избежать потери пакетов при всплесках трафика. Данная функция позволяет сделать более эффективным функционирование средств, работа которых основана на анализе сетевого трафика. Среди плюсов реализации функции защиты от всплесков DS Integrity NG, по сравнению с зарубежными аналогами, можно выделить больший объем дополнительного буфера, работу со всеми видами интерфейсов, а также наличие расширенной статистики по трафику с возможностью мониторинга по отброшенным пакетам.
slinkinone
При загрузке входных интерфейсов на 50% каждый, как долго DS Integrity NG будет работать без дропов? Допустим всплеск идет 2 часа.
На сколько я понимаю, DS Integrity NG содержит 8 входных интерфейсов, каждый имеет свой буфер. Какой обычно размер этого буфера?
DSol Автор
Всплеск продолжается десятки-сотни миллисекунд, и потери без защиты от всплесков происходят именно из-за них. "Всплеск на 2 часа" - это уже максимальная нагрузка, на которую необходимо рассчитывать производительность средств мониторинга и соответствующее количество выходных портов.
Средняя входная скорость, отображаемая в статистике, должна находиться в пределах возможностей пропускной полосы используемых выходных портов. Защита от всплесков помогает нивелировать колебания мгновенной скорости вокруг средней. При этом допустимая длительность всплеска рассчитывается легко: размер буфера необходимо разделить на превышение полосы пропускания. Например, для двукратного превышения полосы порта 10 Гбит/с с буфером 8 Гбайт получается примерно 6,4 секунды.
Брокер сетевых пакетов DS Integrity NG в зависимости от конфигурации может содержать до 64 интерфейсов 10G, до 32 интерфейсов 25G/1G, до 8 интерфейсов 40G или до 4 интерфейсов 100G. Стоит отметить, что данные интерфейсы работают одновременно как входные и выходные. При включении функции защиты от всплесков для выходных интерфейсов становится доступным буфер 8 Гб, он будет для них общим.