Abstract-The present essay is a tutorial on the OMNeT++ simulation environment, through the analysis of the known ALOHA protocol. The model implements the ALOHA random access protocol on the Link layer, and simulates a host to server instant broadcast. ALOHA is rather simple yet convenient to demonstrate the potential of OMNeT++ in simulating wireless protocols. The final part evaluates the pure and the slotted ALOHA variations, in regard to the theoretical models.
Introduction
OMNeT++ is a discrete event simulation (DES) environment, developed by Andras Varga as public source, and is accompanied by Academic Public License, which means that it is free for nonprofit academic use. The intention behind OMNeT++ was the development of an open source generic simulation environment, not exclusively dedicated to network simulations as the more known ns-2, or the commercial Opnet. The environment offers instead, a generic and flexible platform to develop simulation frameworks dedicated to complex IT systems, as wireless and sensor networks, the classic IP and IPv6 stacks, queuing networks, optical networks and various hardware architectures.
Typical example of a framework that provides simulation components for IP, TCP, UDP, Ethernet and MPLS, is the INET Framework and the MiXiM, which is an aggregation of several frameworks for mobile and wireless simulations. The OMNeT++ ver. 4.0 is built on the known Eclipse CDT ver. 5.0, and uses most of its resources. It is offered for Windows and Linux operating systems. The core of the models is coded in C++, in Linux uses the gcc compiler and in Windows uses the MinGW port for the gcc suite. There is a commercial version called OMNEST, with no significant accessories than the open version, except the optional use of the native Visual C++ compiler for the Windows platform.
The ALOHA protocol was one of the oldest random access protocols, invented by Norm Abramson in 1969. The first wireless network, implementing packet switching over radio, used the pure ALOHA variation, have initially established in Hawaii. Later Abramson interfaced the ALOHAnet with the ARPAnet, the primitive form of internet. The ALOHA have inspired the creation of CSMA/CD and the birth of Ethernet. Finally, the random access protocol has evolved to contemporary CSMA/CA, the MAC layer of Wi-Fi. The slotted ALOHA and the later pure ALOHA have simple implementations, appropriate for simulation. It uses only the host to server broadcast instant, but is adequate to calculate the maximum channel capacity and demonstrate some other interesting attributes, as well.
OMNeT++ DESCRIPTION
Aloha Simulation
Conclusion
OMNeT++ is a very powerful tool, with a large number of useful features. It is based on NED, a graphical programming language, to develop the simulation network, although the user can choose between the graphical or the equivalent textual form. The true power of OMNeT's lies on the use of C++, because the behavior of simple and compound modules is coded in C++. This induces an increased difficulty level, considering that OMNeT does not offer an extensive protocol library as the known commercial counterparts. There are independent attempts to develop integrated frameworks, oriented to specific simulation categories, as the MiXiM for wireless and sensor networks, although the user would not avoid writing advanced complementary code.
Commercial simulation applications, like Opnet or QualNet are offering the same features, and provide a complete graphical programming environment to develop simulations easily. They offer a large number of protocol libraries, which covers a broad range of needs. This reduces considerably the development time, although the purchase cost is almost prohibitive for a single engineer, without the financial support of a university, a company or a research facility. The alternative open-source solution ns-2 is equally powerful, has a large user database, but it is considered more difficult, as it lacks the integrated graphical programming editor, and its programming language OTcL is C++ based, as well.