Введение
Техника тестирования производительности реальных приложений в виртуальной сети. Эмуляция сети – это техника для оценки производительности реальных приложений при работе через виртуальную сеть. Это отличается от сетевого моделирования, в котором используются виртуальные модели трафика, сетевые модели, каналы и протоколы. Цель состоит в том, чтобы оценить производительность, спрогнозировать влияние изменений или иным образом оптимизировать процесс принятия технологических решений.
Network emulation is a technique for testing the performance of real applications over a virtual network. This is different from network simulation where virtual models of traffic, network models, channels, and protocols are applied. The aim is to assess performance, predict the impact of change, or otherwise optimize technology decision making.
Методы эмуляции
Сетевая эмуляция — это тестирование поведения сети (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. Генератор трафика отправляет тестовые пакеты, часто с уникальным идентификатором, что позволяет отслеживать доставку пакетов в сети с помощью сетевого анализатора.