Введение

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

Методы эмуляции

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

Эмуляция, моделирование и генерация трафика

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

Программное обеспечение для эмуляции сети

Разработчики программного обеспечения обычно хотят анализировать время отклика и чувствительность к потере пакетов клиент-серверных приложений, а также эмулировать конкретные сетевые эффекты (5G, умные дома, промышленный IoT, военные сети и т. д.) с различными временами кругового обхода, пропускной способностью, битовыми ошибками и потерями пакетов. Два сетевых эмулятора с открытым исходным кодом – Common Open Research Emulator (CORE) и Extendable Mobile Ad hoc Network Emulator (EMANE). Оба поддерживают работу в режиме «черного ящика», то есть внешние машины/устройства могут подключаться к эмулируемой сети, не зная о самой эмуляции. Они также поддерживают эмуляцию как проводных, так и беспроводных сетей с различной степенью детализации. CORE более полезен для быстрой настройки сети (уровня 3 и выше) и эмуляции на одной машине. EMANE лучше подходит для распределенной, высокоточной эмуляции крупномасштабных сетей (уровней 1/2). Наиболее популярные пакеты программного обеспечения для моделирования сетей, OPNET и Tetcos NetSim, также имеют модули эмуляции для подключения устройств в реальном времени. В целом, инструменты моделирования с возможностями эмуляции обеспечивают большую функциональность, чем устройства эмуляции. Устройства эмуляции обеспечивают только эмуляцию физического канала и не учитывают влияние более высоких уровней (MAC, сетевого, транспортного и т. д.). Однако инструменты моделирования, работая в режиме эмуляции, моделируют эффекты различных уровней сетевого стека, позволяя подключать несколько источников/получателей, маршрутизаторы, базовые станции, протоколы MANET и т. д.

Программное обеспечение для генерации трафика

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