Table Of Contents
Table Of Contents

Step 1. Static routing


Our goal in this step is to familiarize ourselves with the experimental network topology. We will not use RIP first, but will get the Ipv4NetworkConfigurator module’s help to calculate the routes and fill in the routing tables accordingly at the start of the simulation. The routing tables will not change during the simulation. Ipv4NetworkConfigurator has another task as well: It assigns IP and MAC addresses to the network interfaces, which can be a very tedious process if we do it manually.

The model

Our network consists of three switched LANs. We use routers to connect these LANs to form an internetwork as shown in the figure below:


The RipNetworkA.ned file defines this topology (see link at bottom).


We test the routing tables by sending ping packets from host0 to host6. The experiment is set up in the omnetpp.ini file, in the Step1 section:

[Config Step1]
description = "Static routing"
network = RipNetworkA

# do not add direct routes
*.configurator.addDirectRoutes = false

# Application parameters
*.host0.numApps = 1
*[0].typename = "PingApp"
*[0].destAddr = "host6"

*.*.ipv4.arp.typename = "GlobalArp"

# Visualizer settings
*.visualizer.interfaceTableVisualizer[0].displayInterfaceTables = true

At the start of the simulation, the configurator module does the hard work, assigns addresses to the network interfaces, and by using its built-in magic, fills in routing tables with the right entries. As the simulation progresses, we see that the ping packets generated by host0 find their way to host6 through the LAN switches and routers through the shortest paths as set. The following video demonstrates this.

In the video, routes towards host0 are displayed as red arrows and routes towards host6 as blue arrows, as can be seen in the next screenshot:


Next, we will use our network to start experimenting with the RIP implementation.

Sources: omnetpp.ini, RipNetworkA.ned