Лабораторная работа №6. Измерение производительности программно- конфигурируемой сети

Теоретические сведения

Задача измерения производительности программно-конфигурируемой сети

Задача измерения задержки обработки пакетов и потерь при отсутствии записи в таблице OpenFlow коммутатора и потерь пакетов при обработке в OpenFlow контроллере NOX представляются наиболее интересными для исследования. Для исследования поведения задержки и потери пакетов необходимо построить экспериментальный сегмент сети в составе:

  • а) коммутатор OpenFlow;
  • б) компьютер с минимум тремя сетевыми картами.

На рисунке 45 представлен пример схемы экспериментального сегмента сети с пропускной способностью 1 Гб/с. На компьютере включены три гигабитных сетевых интерфейса, которые подключены к OpenFlow коммутатору. Контроллер NOX доступен на сетевом интерфейсе ethO, а интерфейсы ethl и eth2 выполняют задачи клиентских машин.

Схема измерительного сегмента

Рисунок 45 - Схема измерительного сегмента

Пакеты программ для измерения параметров OpenFlow

Простейшим способом измерения параметров является готовое ПО Oflops, доступное по адресу: http://archive.openflow.org/wk/index.php/Oflops. Это ПО содержит множество уже готовых алгоритмов для тестирования таких параметров, как задержки обработки коммутатора, производительность протокола OpenFlow в коммутаторе, определение ограничений производительности коммутатора, задержка определенных команд OpenFlow. Для запуска Oflops необходимо создать файл настроек. Параметры, которые необходимо указать в файле показаны в таблице 10.

Таблица 10 - Параметры Oflops

Параметр

Описание

1

2

Control_dev

Интерфейс компьютера для связи с коммутатором

Control_port

TCP порт для эмуляции контроллера

Dev

Интерфейс компьютера для эмуляции клиента. Можно указывать несколько интерфейсов

Port_num

Соответствующий интерфейсу порт коммутатора

Type

Тип перехватчика пакетов, по умолчанию - рсар

T raffic_generator

Указывает тип генератора трафика. 1 - программная генерация, 2 - генератор ядра pktgen, 3 - NETFPGA генератор

Path

Путь до вызываемого модуля с алгоритмом тестирования

Param

Параметры вызова модуля тестирования

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

Измерение времени обработки пакета выполняется модулем openflow_action_delay в два этапа. Сначала генерируются пакеты, для которых создается простое правило перенаправления в требуемый порт коммутатора и измеряются интервалы времени между генерацией пакета и получением того же пакета на другом интерфейсе, при этом таблица потоков коммутатора остается неизменной, и событие «Packetln» генерируется только на первый пакет. Затем в таблицу потоков вносятся изменения, изменяется порт перенаправления пакета и добавляются несколько определенных пользователем действий над пакетом перед действием на перенаправление. Время во втором этапе фиксируется таким же образом, как и на первом этапе измерения. Затем, при сравнении времен вычисляется средняя величина времени на обработку одного действия в таблице OpenFlow. Модуль имеет настраиваемую интенсивность генерации пакетов, настраиваемый список определенных пользователем действий для добавления в таблице на втором этапе измерений. Модуль сразу рассчитывает среднее, дисперсию и коэффициент вариации времени.

Модуль openflow_packet_in используется для оценки производительности коммутатора по сообщениям «Packetln», определяющим формирование новой записи в таблице OpenFlow посредством запроса на контроллер. Для измерений модуль очищает всю таблицу коммутатора и начинает генерацию пакетов с заданной интенсивностью и размером. Одновременно по протоколу SNMP снимаются данные о загрузке процессора, потерях пакетов, по окончании эксперимента автоматически рассчитывается среднее, дисперсия и коэффициент вариации времени реакции и пропускной способности.

Модуль openflow_reactive позволяет оценить производительность связки коммутатор-СОС. Для этого с заданной интенсивностью генерируются пакеты со случайными адресами и заданным размером. Затем фиксируются времена генерации пакета, получения сообщения «Packetln» от коммутатора, отправки записи о потоке контроллером и время получения пакета на другом интерфейсе. На время эксперимента контроллер использует модуль эмуляции концентратора для того, чтобы не генерировать ARP пакеты. Модуль имеет настраиваемый генератор интервалов времени между исходящими пакетами. По окончании рассчитываются среднее, дисперсия и коэффициент вариации каждого интервала времени и пропускной способности.

Модуль openflow_echo_delay позволяет оценить задержку в канале управления коммутатором со стороны контроллера. Для этого по заданной интенсивности генерируется запрос «Echo», на который коммутатор должен ответить таким же пакетом, время отклика фиксируется. По окончании рассчитываются среднее, дисперсия и коэффициент вариации каждого времени отклика.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >