All Projects → wkoszek → Kmnsim

wkoszek / Kmnsim

Licence: other
Koszek-Matyja Network Simulator. Specify network architecture in a simple configuration file and run network simulations.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Kmnsim

Nbody
N body gravity attraction problem solver
Stars: ✭ 40 (-32.2%)
Mutual labels:  simulation
T Flows
Program for Simulation of Turbulent Flows
Stars: ✭ 47 (-20.34%)
Mutual labels:  simulation
Cloudsimsdn
CloudSimSDN is an SDN extension of CloudSim project to simulate SDN and SFC features in the context of a cloud data center.
Stars: ✭ 51 (-13.56%)
Mutual labels:  simulation
Synthea
Synthetic Patient Population Simulator
Stars: ✭ 1,006 (+1605.08%)
Mutual labels:  simulation
Qtorch
qTorch (Quantum Tensor Contraction Handler) https://arxiv.org/abs/1709.03636 -> for quantum simulation using tensor networks
Stars: ✭ 43 (-27.12%)
Mutual labels:  simulation
Positionbaseddynamics
PositionBasedDynamics is a library for the physically-based simulation of rigid bodies, deformable solids and fluids.
Stars: ✭ 1,041 (+1664.41%)
Mutual labels:  simulation
Sumo
Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
Stars: ✭ 992 (+1581.36%)
Mutual labels:  simulation
Mrsl quadrotor
Stars: ✭ 56 (-5.08%)
Mutual labels:  simulation
Lammps
Public development project of the LAMMPS MD software package
Stars: ✭ 1,019 (+1627.12%)
Mutual labels:  simulation
Ros ship packages
USV simulator for ROS
Stars: ✭ 51 (-13.56%)
Mutual labels:  simulation
Fairroot
C++ simulation, reconstruction and analysis framework for particle physics experiments
Stars: ✭ 41 (-30.51%)
Mutual labels:  simulation
Bullet3
Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
Stars: ✭ 8,714 (+14669.49%)
Mutual labels:  simulation
Sdformat
Simulation Description Format (SDFormat) parser and description files.
Stars: ✭ 51 (-13.56%)
Mutual labels:  simulation
Game Dogfight
Air to air combat game, created in Python 3 using HARFANG 3D.
Stars: ✭ 41 (-30.51%)
Mutual labels:  simulation
Pcraster
Environmental modeling software
Stars: ✭ 52 (-11.86%)
Mutual labels:  simulation
Plant
Trait-Driven Models of Ecology and Evolution 🌲
Stars: ✭ 39 (-33.9%)
Mutual labels:  simulation
Evolve
Artificial Life Simulator Originally Authored by Ken Stauffer
Stars: ✭ 47 (-20.34%)
Mutual labels:  simulation
Ascent
A fast and flexible C++ simulation engine and differential equation solver.
Stars: ✭ 56 (-5.08%)
Mutual labels:  simulation
Gap
Gazebo plugins for applying domain randomization
Stars: ✭ 54 (-8.47%)
Mutual labels:  simulation
Plankton
Open source simulator for maritime robotics researchers
Stars: ✭ 51 (-13.56%)
Mutual labels:  simulation

Koszek-Matyja Network Simulator

Build Status

It's a simple simulator of the Ethernet network architecture.

You specify network topology in a text file, and run the simulator. Simulator interprets the text file, and creates virtual hosts, its interfaces, switches/hubs and their interfaces too. It then creates connections between those.

Based on what has been requested in the configuration file, you can then ping the a host from another one and observe the network activity stage by stage.

Flow of data is documented in the "report file". Except from report file, one can also visualize the topology of the network in Graphviz, through the The DOT language.

Usage

Usage of kmnsim looks like this:

Usage: kmnsim [-a] [-d] [-D <file] [-h] [-S <file>] [-T <file>] [-v]
spec_file
-a		direct summary (.out), .dot and .txt files to spec_file.EXT;
-d		turn on debug mode;
-D <file>	put Graphviz file to <file>
-h		print this help
-S <file>	put summary file to <file>
-T <file>	put text (debug) file to <file>
-v		turn verbose mode

If you want to get all output files to the same prefix path, use option -a. For a debugging, you may want to turn a debugging mode with -d, which will cause more debugging warnings to be printed out. If you want to just get a .dot file (for graphing with Graphviz), use -D flag. -h will print help. Both -S and -T are used for tracking how the flow of packets happened in the network. The -v turns the verbose mode. One can specify -v multiple tiles (e.g.: -vv) to get more verbose output.

Examples

To generate a summary file, use:

./kmnsim -d -v -S spec.4.i out4

Assuming you want to plot a configuration file from spec.5.i file.

For getting a .dot file, you:

./kmnsim -d -v -D spec.4.u out4.dot

(later just use dot -Tjpg -o out4.dot out4.jpg to get an JPG file). Example JPG file (which came from an input file spec.11.i in conf/ directory) may look like this:

spec.11.i file plotted

Configuration file syntax

Example configuration file looks like this (see spec/spec.4.i file):

     1	host h1 create
     2	host h2 create
     3
     4	iface h1 0 ip 192.168.1.1
     5	iface h1 0 netmask 255.255.255.0
     6	iface h1 0 mac a2:b1:c1:1:2:3
     7
     8	iface h2 0 ip 192.168.1.2
     9	iface h2 0 netmask 255.255.255.0
    10	iface h2 0 mac a3:c3:d3:a2:10:20
    11
    12	hub buh1 create
    13
    14	connect buh1 0 h1 0
    15	connect buh1 1 h2 0

Following are the descriptions of individual lines:

a. Lines (1) and (2) create hosts h1 and h2 respectively b. Lines (4--6) configure the interface 0 of host h1 with IP address, the netmask and the physical MAC address c. Lines (8--10) are like (b), but for host h2 d. Line (12) creates hub called buh1 e. Line (14) uses connect directive to connect hub's buh1 interface 0 with host's h1 interface 0. f. Line (15) is like line (14), but for host h2

Author

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].