Wikipedia describes network simulation as “a technique where a program models the behavior of a network by calculating the interaction between the different network entities (hosts/routers, data links, packets, etc.) using mathematical formulas.”
But beyond the basic description, how can you use network simulation to predict and check your network systems?
Network simulation is designed for characterizing, creating and validating the communication solutions, computer networks and distributed or parallel systems. It enables predicting network behavior and network performance. One can create, run and analyze any desired communication scenario.
Generally, a simulation is the only method that allows continuous testing and debugging of network comprised of hundreds and thousands of communication elements (devices, hosts, routers, switches, servers, so on), since a standard lab won’t do, and field tests are expensive, difficult to operate and non-deterministic.
There is a variety of simulation platforms available, some of them open source and some of them commercial: OPNET, QualNet, OMNET++, NS-3 …
Common characteristics of all simulation platforms are:
- Determinism – the simulation of the same scenario will give exactly the same results after each run (same sequence of events, same phenomena and same bugs)
- Discrete event simulation (DES) – the running scenario is represented by the ordered sequence of well-defined events. Each event is composed of two components: the scheduled time and the trigger of the event’s handling mechanism.
For implementation of a DES mechanism, a simulation platform manages its own timeline that has nothing in common with actual time, i.e. the half an hour scenario of complex system composed of dozens of devices, events, packets and so on may take hours and even days to execute.
- All simulation platforms are PC GUI applications (Windows or/and Linux)
- Model Library – implemented and ready for use standard models: CISCO routers and switches, Check Point firewalls, hosts, servers, application traffic models (HTTP, FTP, email, …), physical links (cables, optics, wireless – even based on real terrain), protocols (routing – OSPF, BGP, …, data link and MAC (Ethernet, Wi-Fi, LTE, …), transport and application layer protocols)
- Integrated Development Environment (IDE) – comprehensive ability to implement your own model of any component in simulation. IDE supplies the ability to create a finite-state machine and describe each state’s behaviour using C/C++
Additional characteristics that could be present in a simulation platform:
- Analyzer Tool – statistics of network behaviour and performance: bandwidth, failures, packet loss, delays, bottlenecks … Network behaviour visualization and performance charts
- System-in-the-Loop (SITL) – interface that connects operational communication systems and applications (Real World) with simulation of communication systems and applications (Simulated World)
- Parallel Simulation – capability that allows running the simulation scenario in distributed manner in order to decrease the time the scenario is running – multi-core and/or multi-processor, distributed (multi-computer) simulation
OPNET Modeler, currently known as Riverbed Modeler, is a commercial simulation platform provided by Riverbed Technology.
It has very rich library of standard models, mostly supplied by the vendors themselves. This library allows the composition of almost any existing network on top of simulation, analysis of networks to compare the impact of different scenarios and technologies on end-to-end behavior.
OPNET Modeler also has a very friendly IDE for development of your own devices, protocols, network mechanisms and algorithms across the communication stack.
OPNET Modeler as a simulation platform can be used for different purposes or for any composition of them:
- Network Planning: planning, inspection, predictive “what if” analysis, and optimization for communication networks; interaction with Network Management for improving real existing networks
- Development of new components: development of protocols, algorithms and applications based on simulation
Important: It is possible to implement a cross-platform framework that allows development and running of real operation source code on top of OPNET simulation. That means that exactly the same implementation is running in real equipment and in simulation, so called “One truth” principle – operational source code in simulation.
- Communication Test Bed and Laboratory Extension – System-in-the-Loop interface allows extending communication test bed with simulated equipment. The real hardware, software application and users can interact with numerous virtual devices within the simulation model, potentially avoiding the need for an expensive test lab.
OPNET Modeler Basics
OPNET Modeler is a PC GUI application that allows graphical construction of communication network in three-tiered hierarchy:
- Network Model: composed of nodes, links and subnets
- Node Model: composed of node building blocks – processors, queues, transceivers and interfaces between them
- Process Model: composed of a finite-state machine diagram, blocks of C/C++ code, OPNET kernel procedures
To be continued … watch for follow-on blog