Когда следует использовать программное обеспечение для моделирования сети, такое как OMNeT++ или NS3?

У меня есть опыт работы с ИИ и многоагентными системами. Я новичок в сетевых симуляциях и сетях в целом, но я хотел бы запустить симуляции специальной воздушной сети, обеспечивающей коммуникационную магистраль для клиентов на земле (как описано в этой статье), чтобы проверить эффект изменения поведения летающих агентов на качество обслуживания сети. Таким образом, мне нужно смоделировать беспроводную ячеистую сеть с несколькими переходами, обменивающуюся информацией между узлами.

Существует несколько программ для моделирования сетей, в том числе OMNeT++ , NS3 и OPNET. Мой вопрос: что я упускаю, не используя их? Есть ли в этих симуляторах большое количество физики, работающей в фоновом режиме, чтобы сделать сигналы более реалистичными? Я видел, что вы можете указать скорость передачи данных и уровень сигнала в качестве параметров в этих симуляторах, но это кажется очень простым для написания кода для себя. Акцент на "кажется" - может, тут есть какая-то скрытая сложность?

Как создать страницу входа в систему с помощью HTML с использованием CSS
Как создать страницу входа в систему с помощью HTML с использованием CSS
Создание страницы входа в систему является важной частью создания веб-сайта или приложения, требующего аутентификации пользователя. Простую страницу...
0
0
111
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сначала разоблачение: я являюсь основным разработчиком OMNeT++.

Нужно ли вам специальное программное обеспечение для моделирования или нет, зависит от уровня абстракции, необходимого для имитации реальной связи. Пакет сетевого симулятора может помочь:

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

  • Мобильность: эти пакеты обеспечивают управление мобильностью. то есть они предоставляют методы для управления/перемещения ваших узлов в пространстве с течением времени.

  • Моделирование коммуникаций на физическом уровне: опять же, это зависит от требуемого уровня абстракции. Если вам нужно смоделировать что-то в свободном пространстве, с высоким SNR, с относительно низкой пропускной способностью по сравнению с пропускной способностью канала, вы можете написать свою собственную реализацию. С другой стороны, проблема быстро усложняется, если сигналы могут мешать окружающей среде, если есть шум, здания, сетевой трафик достаточно высок, чтобы иметь конфликты сигналов, протокол имеет коррекцию ошибок и т. д.

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

Создание хорошей симуляции — это искусство. У вас должно быть хорошее представление о том, какие эффекты должны быть смоделированы, и соответственно установить уровень абстракции. Если вы создадите слишком подробную симуляцию, ваша модель будет медленной и сложной для написания. Если вы создадите абстрактный, результаты моделирования не будут соответствовать поведению в реальном мире. Как вы поняли, эти вещи «кажутся» простыми в реализации, если ваш уровень абстракции высок, но быстро становятся чрезвычайно сложными, когда вы хотите немного более точного измерения, и плохо то, что в самом начале вы не сможете правильно оценить уровень абстракции.

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

У меня есть глубокие познания только в OMNeT++/INET (поэтому взгляните и на другие пакеты), но в INET у вас другой уровень абстракции для коммуникации. Вы можете настроить симуляцию на использование только очень простых (и быстрых) методов передачи (как вы сказали, только ошибка и скорость передачи), но если возникнет необходимость, вы можете поменять ее на очень подробную, которая имитирует электромагнитный спектр на уровень символа. Я чувствую, что вы будете в порядке с моделью высокой абстракции, но вы никогда не знаете. Вы можете иметь модель, отлично работающую на ровной местности, а затем получить вопрос: а как она работает в городских каньонах? Упссс...

Короче говоря, если вы делаете что-то беспроводное, я бы определенно выбрал специальный симулятор, чтобы быть в безопасности.

Другие вопросы по теме