To simulate Temporally Ordered Routing Algorithm (TORA) projects using OMNeT++, we will essential to incorporate or implement TORA in the INET framework as it is not delivered by default. Our experts work on INET framework related your projects .phdprime.com will be your ultimate destination to get your work done.
Here’s a step-by-step guide to help you achieve this:
Steps to Simulate Temporary Ordered Routing Projects in OMNeT++
- Install OMNeT++ and INET Framework
- Download and install OMNeT++.
- Download and install the INET framework from INET GitHub repository.
- INET offer a wide range of network protocols and wireless communication modules, via TORA is not encompassed by default.
- Implement TORA in INET
- TORA (Temporally Ordered Routing Algorithm) is a reactive, distributed routing protocol intended for mobile ad-hoc networks (MANETs). It is based on link reversal, generating multiple routes and recovering from link failures.
If no existing TORA implementation is available, we can follow these steps to implement it:
- Expand the RoutingProtocolBase class in INET to execute the logic for TORA.
- The TORA routing logic includes:
- Route Creation: When a source needs a route to a destination, TORA introduces a Directed Acyclic Graph (DAG) rooted at the destination.
- Route Maintenance: If a node identify a route failure (e.g., a broken link), TORA utilizes a link reversal mechanism to re-establish routes.
- Route Erasure: If a route is no longer desirable or usable, TORA erases it from the routing table.
We need to execute the following key functions:
- Route Creation: Broadcasts a QRY (Query) packet to explore the route.
- Route Maintenance: Upon receiving a UPD (Update) packet, nodes complete a link reversal to sustain the DAG.
- Route Erasure: When a route is no longer feasible, send a CLR (Clear) message to eradicate routes.
- Set up the Network Topology (NED File)
- Generate a NED file to define the topology of mobile ad-hoc network (MANET). The network should contain of wireless nodes capable of founding ad-hoc routes.
Example NED file for a MANET:
network ToraNetwork {
submodules:
node[10]: WirelessHost {
@display(“p=” + (i*100) + “,” + (i*100));
}
connections allowunconnected:
// No fixed connections as TORA dynamically forms routes.
}
- The WirelessHost modules signify the mobile nodes in the network.
- Configure the Simulation in omnetpp.ini
- In the omnetpp.ini file, we need to setup simulation parameters like node mobility, the use of TORA as the routing protocol, and traffic generation.
Example configuration for TORA simulation:
network = ToraNetwork
**.node[*].mobilityType = “INET.mobility.single.RandomWaypointMobility”
**.node[*].mobility.speed = uniform(5mps, 15mps)
**.node[*].mobility.constraintAreaMinX = 0m
**.node[*].mobility.constraintAreaMaxX = 1000m
**.node[*].mobility.constraintAreaMinY = 0m
**.node[*].mobility.constraintAreaMaxY = 1000m
# Enable TORA routing for the nodes
**.node[*].routingProtocol = “TORA”
**.node[*].tora.maxHopCount = 10
**.node[*].tora.routeLifetime = 300s
# Application to generate traffic
**.node[*].numApps = 1
**.node[*].app[0].typename = “UdpBasicApp”
**.node[*].app[0].destAddresses = “node[5]” # Node[5] as destination
**.node[*].app[0].sendInterval = 1s
**.node[*].app[0].messageLength = 512B
- This configuration describes node mobility and sets TORA as the routing protocol.
- You also describe traffic generation from node [0] to node [5].
- Implement Mobility Models
- While TORA is intended for dynamic, mobile networks, describe the mobility models that replicate the movement of nodes in the network.
- We can select from numerous models like RandomWaypointMobility, LinearMobility, or GroupMobility to replicate real-world movement.
Example mobility setup in omnetpp.ini:
**.node[*].mobilityType = “INET.mobility.single.RandomWaypointMobility”
**.node[*].mobility.speed = uniform(2mps, 10mps)
This makes nodes move randomly inside the defined area.
- Traffic Generation
- We need to create some network traffic for TORA to route. We utilize UdpBasicApp or another application from the INET framework to create packets.
- In the omnetpp.ini file, describe the source and destination nodes for the traffic, and require the packet size and transmission interval.
- Run the Simulation
- Once TORA routing logic is executed and the network topology is set, process the simulation in OMNeT++.
- Monitor on how TORA introduces routes, maintains them in the presence of link failures, and manage route erasure.
- Analyse Results
- OMNeT++ offer tools to measure outcomes that contain scalar and vector consequences for different parameter. Key metrics to evaluate in TORA simulation include:
- Packet Delivery Ratio (PDR): Percentage of packets successfully delivered.
- End-to-End Delay: The time taken for a packet to reach its destination.
- Route Discovery Latency: Time taken to explore a route.
- Control Overhead: The amount of routing control traffic created by TORA.
- Utilize OMNeT++’s built-in plove tool to envision scalar data or export the outcomes for further evaluation using external tools such as Python or MATLAB.
- Extend the TORA Implementation (Optional)
- If needed, we can expand the TORA protocol by adding additional characteristics like:
- Energy-aware routing.
- Incorporate with other protocols (e.g., AODV or DSR).
- Applying optimizations to minimize control message overhead.
Example Structure for TORA Simulation:
- NED file: Describes network topology and features of the mobile nodes.
- omnetpp.ini: Contains routing protocol configurations, mobility models, and traffic generation environment.
- TORARouting.cc: If we are executing TORA from scratch, this will encompass the routing logic.
We had explicit the information about the simulation process regarding the Temporally Ordered Routing Algorithm projects that was simulated using the tool of OMNeT++. We plan to elaborate on the Temporally Ordered Routing Algorithm projects procedure in other simulation scenarios.