Сетевое моделирование
Сетевое моделирование — это технология, при которой программное обеспечение имитирует поведение реальной сети. Такой подход реализуется путём вычислительного моделирования взаимодействий между различными сетевыми объектами, такими как маршрутизаторы, коммутаторы, узлы, точки доступа, соединения и прочее[1]. Большинство симуляторов используют моделирование дискретных событий, где изменения состояния системы происходят в определённые моменты времени. Поведение сети, а также поддерживаемых приложений и сервисов можно наблюдать в лабораторных условиях, при этом свойства среды можно контролируемо изменять для оценки реакции сети или протоколов в различных ситуациях.
Сетевой симулятор
Сетевой симулятор — это программный комплекс, предназначенный для анализа производительности компьютерных или беспроводных сетей. Современные коммуникационные сети настолько сложны, что традиционные аналитические методы не позволяют адекватно понять поведение системы, поэтому используются сетевые симуляторы. Внутри симуляторов сети моделируются с помощью устройств, каналов передачи данных, приложений и других сущностей; в итоге пользователю предоставляются отчёты о характеристиках сети. Симуляторы поддерживают такие популярные технологии, как 5G, Интернет вещей (Internet of Things, IoT), Wi-Fi, мобильные ad hoc-сети, беспроводные сенсорные сети, VANET, когнитивные радиосети, LTE и другие современные стандарты.
Моделирование
Большинство коммерческих симуляторов имеют GUI, некоторые сетевые симуляторы ориентированы на CLI. Модель сети/конфигурация определяет компоненты сети (узлы, маршрутизаторы, коммутаторы, соединения) и события (передача данных, ошибка пакета и прочее). Результаты моделирования включают сетевые метрики, метрики соединений, параметры отдельных устройств и т. п. Кроме этого, симуляции могут генерировать логи наблюдений (trace-файлы), которые фиксируют каждый пакет и каждое событие и используются для последующего анализа. В подавляющем большинстве симуляторов применяется принцип моделирования дискретных событий, при котором поддерживается список ожидающих событий — они обрабатываются последовательно, некоторые из них могут инициировать новые события в будущем; например, событие поступления пакета на узел может вызвать событие поступления этого же пакета на следующий (downstream) узел.
Сетевая эмуляция
Сетевая эмуляция позволяет использовать реальные устройства и приложения в тестовой среде, где трафик проходит через моделируемую сеть с имитацией поведения реального канала передачи данных. Живой трафик транслируется через симулятор и может быть изменён внутренними объектами моделируемой среды.
Типичный подход заключается в том, что реальные пакеты от живого приложения направляются на сервер эмуляции (где действует виртуальная сеть). Эти реальные пакеты преобразуются (модулируются) в симулируемые, которые затем проходят через моделируемую сеть с возможным наложением потерь, ошибок, задержек, джиттера и т. п., а затем снова преобразуются в реальные пакеты — так эффекты сети накладываются на реальный трафик. Таким образом, реальный пакет как бы проходит через настоящую сеть, хотя на деле маршрутирован через смоделированную топологию.
Эмуляция используется на этапе проектирования для проверки корректности работы коммуникационной инфраструктуры до её реального развертывания.
Список сетевых симуляторов
Области применения сетевых симуляторов
Сетевые симуляторы обеспечивают экономичный способ решения таких задач, как:
- анализ ёмкости, пропускной способности и задержек в сетях 5G-NR
- НИОКР в сетевых технологиях (более 70% научных публикаций в области сетей ссылаются на применение сетевого симулятора)
- применение в оборонной сфере: анализ HF/UHF/VHF-радиосетей, MANET, тактические каналы и т. д.
- моделирование IoT, VANET
- моделирование сетевого взаимодействия беспилотных летательных аппаратов (БПЛА), коллективов дронов
- Машинное обучение: апробация алгоритмов машинного обучения для оптимизации сетевых параметров, генерация синтетических данных для обучения
- образовательные задачи: онлайн-курсы, лабораторные эксперименты, НИОКР (большинство вузов используют симуляторы для обучения и исследований, поскольку покупка сетевого оборудования обходится слишком дорого)
Сетевые симуляторы различаются по степени сложности — от очень простых до сложнейших профессиональных решений. Минимально необходимый набор возможностей симулятора включает:
- моделирование топологии сети путём указания узлов и связей между ними
- моделирование трафика (потоков данных) между узлами
- выдачу метрик производительности сети
- визуализацию прохождения пакетов
- оценку технологий, протоколов и проектирование устройств
- регистрацию пакетов и событий для углублённого анализа и отладки