GloMoSim

GloMoSim (англ. Global Mobile Information System Simulator, симулятор глобальной мобильной информационной системы) — программное обеспечение для симуляции протоколов сети, позволяющее моделировать работу как беспроводных, так и проводных сетевых систем.

Проект симулятора GloMoSim был развернут в лаборатории параллельных вычислений Университета Калифорнии в Лос-Анджелесе (UCLA) и охватывает широкие возможности моделирования как проводных, так и беспроводных сетей связи, мобильных Adhoc-сетей, а также сетей спутниковой связи. GloMoSim реализует параллельную дискретно-событийную симуляцию, предоставляемую специальной средой параллельного моделирования, на основе C-подобного языка симуляций, используемого в актуальных проектах для исследования сложных систем.

Симулятор GloMoSim применим в сценариях, где необходимо моделирование тысяч гетерогенных узлов, связанных между собой для обеспечения многократного вещания, а также для реализации многоузловой (многопереходной) беспроводной связи с использованием протоколов Adhoc и традиционных интернет-протоколов. Программное обеспечение свободно доступно для образовательных и исследовательских целей и широко применяется как популярный инструмент симуляции в академических публикациях.

GloMoSim спроектирован с использованием параллельной дискретно-событийной симуляции, которую обеспечивает параллельный язык программирования Parsec (англ. Parsec). На данный момент GloMoSim полностью поддерживает протоколы для беспроводных сетей.

В 2006 году симулятор GloMoSim был способен моделировать исключительно беспроводные сети. В будущих версиях планировалось расширить функциональность с поддержкой моделирования как проводных, так и гибридных сетей. Большинство сетевых систем в GloMoSim строится на слоистой архитектуре, аналогичной семиуровневой модели OSI.

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

GloMoSim поддерживает симуляцию MANET — мобильных Adhoc-сетей, строящихся из беспроводных мобильных узлов без какой-либо инфраструктуры, а также имеющий поддержку традиционных сетей.

Разработка симулятора была прекращена в начале 2000-х годов (последние известные версии — 2.02 и 2.03)[1]. Коммерческим преемником проекта стал активно развиваемый симулятор QualNet[2].

Архитектура и Parsec

Библиотека GloMoSim реализована в среде PARSEC, которая была создана на основе симулятора Maisie. Программное обеспечение использует подход PARSEC, который основан на пересылке сообщений для дискретно-событийного моделирования. Parsec — это язык симуляций на основе языка C, разработанный Лабораторией параллельных вычислений при Университете Калифорнии (UCLA) для параллельного и последовательного выполнения моделей дискретно-событийных симуляций.

Для поддержки визуального проектирования программ на PARSEC и конфигурирования моделей симуляций с помощью заранее определённых компонентных библиотек для проектов GloMoSim была разработана визуальная среда программирования PAVE. Физические процессы моделируются в виде объектов-энтитетов, события передаются между ними посредством сообщений с временными метками.

PARSEC обеспечивает базовую функциональность для управления событиями, синхронизации времени и параллельного выполнения[3].

В модели Parsec сетевые узлы и слои протоколов представляются как независимые логические процессы (сущности), обменивающиеся сообщениями с временными метками[3].

Для решения проблем масштабируемости и снижения накладных расходов в GloMoSim применяются методы агрегации узлов (node aggregation) и слоев (layer aggregation)[3].

Разработка

Активная разработка симулятора GloMoSim прекратилась в начале 2000-х годов[1]. В 1999 году для коммерциализации технологии была основана компания Scalable Network Technologies (SNT), которая в 2001 году выпустила коммерческий симулятор QualNet[4]. QualNet является преемником GloMoSim[2]: он переписан на языке C++, поддерживает проводные, беспроводные и гибридные сети, а также обладает графическим интерфейсом (GUI)[5].

Поддерживаемые протоколы

Симулятор поддерживает следующие протоколы и модели, сгруппированные по уровням сетевой модели:

  • Физический уровень: Free space, Rayleigh, Ricean, SIRCIM[3].
  • Канальный уровень: CSMA, MACA, MACAW, FAMA, IEEE 802.11, TSMA[3].
  • Сетевой уровень: Flooding, Bellman-Ford, OSPF, DSR, WRP, AODV, Fisheye State Routing, LAR scheme 1[3].
  • Транспортный уровень: TCP, UDP[3].
  • Прикладной уровень: Telnet, FTP, CBR, HTTP[3].
  • Модели мобильности: Random Waypoint, Random Drunken[3].

Примечания

Литература

  • Kriti Jaiswal. Simulation of MANET using GloMoSim Network Simulator : [англ.]. — LAP LAMBERT Academic Publishing, 11 ноября 2014. — ISBN 9783659623387.
  • X. Zeng; R. Bagrodia; M. Gerla (29 мая 1998). “GloMoSim: a library for parallel simulation of large-scale wireless networks”. Proceedings. Twelfth Workshop on Parallel and Distributed Simulation PADS '98 (Cat. No.98TB100233). Банф, Канада: IEEE. DOI:10.1109/PADS.1998.685281.
  • L. Bajaj; M. Takai; R. Ahuja; K. Tang; R. Bagrodia; M. Gerla (2002). “GloMoSim: A Scalable Network Simulation Environment” (PDF) [англ.].

Ссылки