Using the INET Framework¶
Installation¶
There are several ways to install the INET Framework:
Allow the OMNeT++ IDE download and install it for you. This is the easiest way. Just accept the offer to install INET in the dialog that comes up when the IDE is started for the first time. Alternatively, it can be installed by choosing at any later time.
The latest stable version of the INET Framework compatible with your version of OMNeT++ can be installed from the INET Framework website at http://inet.omnetpp.org. If a different version is required, it can also be downloaded from the website. Installation instructions are provided on the website.
The INET Framework can be cloned from the GitHub repository. If you are familiar with git, clone the INET Framework project repository (
inet-framework/inet) and check out the chosen revision. Then follow theINSTALLfile in the project root.
Installing INET Extensions¶
If INET extensions (e.g. Veins or SimuLTE) are planned to be used, the installation instructions provided with them should be followed.
Usually, the following procedure works if no specific instructions are available:
First, it should be checked if the project root contains a file named
.project.If the file exists, the project can be imported into the IDE by using Make sure that the project is recognized as an OMNeT++ project the Project Properties dialog contains a page titled OMNeT++), and it lists the INET project as a dependency (check the Project References page in the Project Properties dialog).
If there is no
.projectfile, create an empty OMNeT++ project using the New OMNeT++ Project wizard in . Then add the INET project as a dependency using the Project References page in the Project Properties dialog, and copy the source files into the project.
Getting Familiar with INET¶
The INET Framework is based on OMNeT++ and follows the same concept of modules communicating through message passing. OMNeT++ compound modules are used to represent hosts, routers, switches, and other network devices. These compound modules are made up of simple modules that represent protocols, applications, and other functional units. A network consists of an OMNeT++ compound module that contains host, router, and other modules.
Modules are organized into a directory structure that aligns with the OSI layers:
src/inet/applications/– traffic generators and application modelssrc/inet/transportlayer/– transport layer protocolssrc/inet/networklayer/– network layer protocols and accessoriessrc/inet/linklayer/– link layer protocols and accessoriessrc/inet/physicallayer/– physical layer modelssrc/inet/routing/– routing protocols (internet and ad hoc)src/inet/mobility/– mobility modelssrc/inet/power/– energy consumption modelingsrc/inet/environment/– model of the physical environmentsrc/inet/node/– preassembled network node modelssrc/inet/visualizer/– visualization components (2D and 3D)src/inet/common/– miscellaneous utility components
The hierarchical package names in the OMNeT++ NED language correspond
to packages in directories under src/. For example, the
src/inet/transportlayer/tcp directory corresponds to the
inet.transportlayer.tcp NED package.
For modularity, the INET Framework has about 80 project features, which are parts of the codebase that can be disabled as a unit. After installation, not all project features are enabled in the default setup. The list of available project features can be reviewed in the dialog in the IDE. To learn more about project features, refer to the OMNeT++ User Guide.