Table Of Contents
Table Of Contents

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 Help ‣ Install Simulation Models 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 the INSTALL file 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 File ‣ Import ‣ General ‣ Existing Project 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 .project file, create an empty OMNeT++ project using the New OMNeT++ Project wizard in File ‣ New. 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 models

  • src/inet/transportlayer/ – transport layer protocols

  • src/inet/networklayer/ – network layer protocols and accessories

  • src/inet/linklayer/ – link layer protocols and accessories

  • src/inet/physicallayer/ – physical layer models

  • src/inet/routing/ – routing protocols (internet and ad hoc)

  • src/inet/mobility/ – mobility models

  • src/inet/power/ – energy consumption modeling

  • src/inet/environment/ – model of the physical environment

  • src/inet/node/ – preassembled network node models

  • src/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 Project ‣ Project Features… dialog in the IDE. To learn more about project features, refer to the OMNeT++ User Guide.