В исследовании компьютерных сетей сетевое моделирование — это метод, при котором программа воспроизводит поведение реальной сети. Это достигается путем расчета взаимодействий между различными сетевыми сущностями, такими как маршрутизаторы, коммутаторы, узлы, точки доступа, ссылки и т. д. [1] Большинство симуляторов используют дискретно-событийное моделирование, в котором моделирование систем, в которых переменные состояния изменяются в дискретные моменты времени. Поведение сети и различных приложений и служб, которые она поддерживает, затем можно наблюдать в тестовой лаборатории; различные атрибуты среды также можно изменять контролируемым образом, чтобы оценить, как сеть/протоколы будут вести себя в различных условиях.
Симулятор сети — это программное обеспечение, которое может прогнозировать производительность компьютерной сети или беспроводной сети связи. Поскольку сети связи стали слишком сложными для традиционных аналитических методов, чтобы обеспечить точное понимание поведения системы, используются сетевые симуляторы. В симуляторах компьютерная сеть моделируется с помощью устройств, ссылок, приложений и т. д., а производительность сети сообщается. Симуляторы поддерживают самые популярные технологии и сети, используемые сегодня, такие как 5G , Интернет вещей (IoT), беспроводные локальные сети , мобильные сети ad hoc , беспроводные сенсорные сети , автомобильные сети ad hoc , когнитивные радиосети , LTE
Большинство коммерческих симуляторов управляются через GUI , в то время как некоторые сетевые симуляторы управляются через CLI . Сетевая модель/конфигурация описывает сеть (узлы, маршрутизаторы, коммутаторы, каналы) и события (передача данных, ошибка пакета и т. д.). Выходные результаты будут включать метрики на уровне сети, метрики канала, метрики устройства и т. д. Кроме того, детализация с точки зрения файлов трассировки моделирования также будет доступна. Файлы трассировки регистрируют каждый пакет, каждое событие, которое произошло в моделировании, и используются для анализа. Большинство сетевых симуляторов используют дискретное событийное моделирование , в котором хранится список ожидающих «событий», и эти события обрабатываются по порядку, при этом некоторые события вызывают будущие события, например, событие прибытия пакета на один узел запускает событие прибытия этого пакета на нижестоящий узел.
Эмуляция сети позволяет пользователям вводить реальные устройства и приложения в тестовую сеть (симулированную), которая изменяет поток пакетов таким образом, чтобы имитировать поведение реальной сети. Реальный трафик может проходить через симулятор и подвергаться влиянию объектов внутри симуляции.
Типичная методология заключается в том, что реальные пакеты из реального приложения отправляются на сервер эмуляции (где имитируется виртуальная сеть). Реальный пакет «модулируется» в пакет имитации. Пакет имитации демодулируется в реальный пакет после того, как испытывает эффекты потерь, ошибок, задержки, джиттера и т. д., тем самым перенося эти сетевые эффекты в реальный пакет. Таким образом, это как если бы реальный пакет проходил через реальную сеть, но на самом деле он проходил через имитированную сеть.
Эмуляция широко используется на этапе проектирования для проверки сетей связи перед их развертыванием.
Существуют как бесплатные/с открытым исходным кодом, так и фирменные сетевые симуляторы. Примеры известных сетевых симуляторов/эмуляторов с открытым исходным кодом включают:
Также есть несколько известных коммерческих сетевых симуляторов. К ним относятся:
Сетевые симуляторы обеспечивают экономически эффективный метод
Существует широкий спектр сетевых симуляторов, от самых простых до самых сложных. Как минимум сетевой симулятор должен позволять пользователю