Ns3 Projects for B.E/B.Tech M.E/M.Tech PhD Scholars.  Phone-Number:9790238391   E-mail: ns3simulation@gmail.com

List of Network Simulators

List of Network Simulators provides an integrated, versatile, easy-to-use GUI-based network designer tool to design and also simulate a network with SNMP, TL1, TFTP, FTP, Telnet and also Cisco IOS device.

List of Network Simulators:

There are different network simulators which also offers different features. we also have listed different network simulators and sample program code

Estonian players seeking diverse online gaming experiences often explore foreign online casinos that cater to their preferences. The allure of international platforms https://valismaa-kasiino.com lies in the extensive variety of games, innovative features, and enticing promotions they offer. Navigating these virtual casinos not only provides entertainment but also presents an opportunity for players to engage with cutting-edge technology. For those pursuing certification practice or research in the realm of network simulations, the parallel world of online casinos offers a unique analogy. Just as players explore the virtual landscapes of foreign casinos, networking professionals delve into simulated environments using tools like Cisco Packet Tracer or GNS3. Both realms share a common thread of leveraging technology to create immersive experiences, be it in the pursuit of entertainment or the mastery of networking skills.
  • Ns2 (Network Simulator 2).
  • Ns3 (Network Simulator 3).
  • OPNET.
  • OMNeT++.
  • NetSim.
  • REAL.
  • QualNet.
  • J-Sim.

NS2 (Network Simulator 2):

  • It is also a discrete event simulator that provides substantial support for simulation of TCP, routing, and also multicast protocols over wired and wireless networks.
  • Also It use C++ and also OTcl languages.
  • Sample ns2 code. In which there are also four different nodes are available and two different routers.
set node(s1) [$ns node]
set node(s2) [$ns node]
set node(r1) [$ns node]
set node(r2) [$ns node]
set node(s3) [$ns node]
set node(s4) [$ns node]
$ns duplex-link $node(s1) $node(r1) 15Mb 2.5ms DropTail
$ns duplex-link $node(s2) $node(r1) 15Mb 3.2ms DropTail
$ns duplex-link $node(r1) $node(r2) 2.5Mb 22ms RED
$ns queue-limit $node(r1) $node(r2) 28
$ns queue-limit $node(r2) $node(r1) 28
$ns duplex-link $node(s3) $node(r2) 15Mb 4.2ms DropTail
$ns duplex-link $node(s4) $node(r2) 15Mb 5ms DropTail
$ns duplex-link-op $node(s1) $node(r1) orient right-down
$ns duplex-link-op $node(s2) $node(r1) orient right-up
$ns duplex-link-op $node(r1) $node(r2) orient right
$ns duplex-link-op $node(r1) $node(r2) queuePos 0
$ns duplex-link-op $node(r2) $node(r1) queuePos 0
$ns duplex-link-op $node(s3) $node(r2) orient left-down
$ns duplex-link-op $node(s4) $node(r2) orient left-up
set tcp1 [$ns create-connection TCP/Reno $node(s1) TCPSink
$node(s3) 0]
$tcp1 set window_ 15
set tcp2 [$ns create-connection TCP/Reno $node(s2) TCPSink
$node(s3) 1]
$tcp2 set window_ 15
set ftp1 [$tcp1 attach-source FTP]
set ftp2 [$tcp2 attach-source FTP]
$ns at 0.0 "$ftp1 start"
$ns at 3.0 "$ftp2 start"
$ns at 15 "finish"
$ns run

NS3 (Network Simulator 3):

  • Ns3 uses C++ and also Python languages for simulating the script.
  • C++ used for implementation of simulation and also core model. Ns-3 is built as a library which may be statically or dynamically linked to a C++ main program.
  • Python: C++ wrapped by Python. Python programs also to import an “ns3” module
  • Sample code for ns3.

int main (int argc, char *argv[])
LogComponentEnable ("UdpEchoClientApplication",
LogComponentEnable ("UdpEchoServerApplication",
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
NodeContainer nodes; nodes.Create (2);
PointToPointHelper pointToPoint;
pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));
NetDeviceContainer devices;
devices = pointToPoint.Install (nodes);
InternetStackHelper stack; stack.Install (nodes);
Ipv4AddressHelper address;
address.SetBase ("", "");
Ipv4InterfaceContainer interfaces = address.Assign (devices);
UdpEchoServerHelper echoServer (9);
ApplicationContainer serverApps = echoServer.Install (nodes.Get(1));
serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (10.0));
UdpEchoClientHelper echoClient (interfaces.GetAddress (1), 9);
echoClient.SetAttribute ("MaxPackets", UintegerValue (1));
echoClient.SetAttribute ("Interval", TimeValue (Seconds (1.)));
echoClient.SetAttribute ("PacketSize", UintegerValue (1024));
ApplicationContainer clientApps = echoClient.Install (nodes.Get(0));
clientApps.Start (Seconds (2.0)); clientApps.Stop (Seconds (10.0));
Simulator::Run (); Simulator::Destroy (); return 0;}


  • It is a component-based, modular and also open architecture discrete event simulator framework.
  • The most common use of OMNeT++ is also for simulation of computer networks, but it is also used for queuing network simulations and other areas as well.
  • C++ is a class library, eclipse based simulation IDE is also used for designing, running and evaluating simulations.
  • Sample code for OMNeT++

#include <omnetpp.h>
class Sink: public cSimpleModule
{ Module_Class_Members(Sink, cSimpleModule, 8192);
virtual void activity(); };
void Sink::activity()
{ while(1)
{ cMessage *msg = receive(); int pkt_type = msg -> kind();
if (pkt_type ==1) ev << “Received data packet\n”;
else ev << “Received voice packet\n”; delete msg;} }


  • It provides a comprehensive development environment supporting the modeling of communication networks and also distributed systems.
  • Both behavior and performance of modeled systems can also analyzed by performing discrete event simulations.
  • C is a main programming language in OPNET and also use GUI for initial configurations. The simulation scenario requires c or C++
  • Sample code for OPNET

/* Include the database data structures. */
#include "/home/juan/op_models/aplicaciones/oms_data_def_ds_defs.h"
#if defined (__cplusplus)
extern "C" {
/** -------- Data Structures --------- **/
/** ------ External Functions --------- **/
oms_data_def_entry_insert (const char* category_name, const char* entry_name, void* entry_ds_ptr);
oms_data_def_entry_access (const char* category_name, const char* entry_name);
#if defined (__cplusplus)
} /* end of 'extern "C" {' */


  • It is also a commercial network simulator from Scalable Network Technologies.
  • Also It is ultra high-fidelity network simulation software that predicts wireless, wired and mixed-platform network and also networking device performance.
  • A simulator for large, heterogeneous networks and also the distributed applications that execute on such networks
  • It use C++ for implementing new protocols and also follows a procedural paradigm.


  • It’s also a java based simulator tool.
  • Java is easy to learn and easy to use. In case of any problems, source texts provided with J-Sim can be used to generate new code, compiled in the target environment, thus 100-percent compatible with JVM used
  • Use java and Tcl languages
  • Sample code for JSIM.

# echoer.tcl
cd [mkdir -q drcl.comp.Component /test]
puts "create topology..."
set link_
$link_ setPropDelay 0.3; # 300ms
set adjMatrix_
[]} 3 {{1} {0 2} {1}}]
java::call drcl.inet.InetUtil createTopology [! .] $adjMatrix_
puts "create builders..."
set nb [mkdir drcl.inet.NodeBuilder .nodeBuilder]
$nb setBandwidth 1.0e7; puts "build..."
$nb build [! n?]
$nb build [! h?] {
Udp drcl.inet.transport.UDP
echo 101/udp new_echoer }
! h?/udp setTTL 3
! n1 setBandwidth 1 1.0e4;! n1 setBufferSize 1 6000;
puts "setup static routes..."
java::call drcl.inet.InetUtil setupRoutes [! h0] [! h2]
puts "set up simulator..."
set sim [attach_simulator .]
puts "Done!"


  • It has an object-oriented system modeling and simulation (M&S) environment to support simulation and analysis of voice and data communication scenarios for High Frequency Global Communication Systems (HFGCS).
  • NetSim use java as a programming language it creates applet and linked into HTML document for viewable on the java-compatible browser.


  • REAL is a simulator for studying the dynamic behavior of flow and congestion control schemes in packet switch data networks.
  • It provides users with a way of specifying such networks and to observe their behavior.
  • REAL uses C as a programming languge.
  • Sample code for REAL simulator

#include "../kernel/real.h"
ecn_dummy() { PKT_PTR pkt; int node, num_pkts_sent = 0;
ident destn, sender, sink; long key; timev now;
int seq_no = 0; node = get_node_id();
sink = assigned_sink[node];
abs_advance(node_start_time[node]); now = runtime();
if(node is 1) { make_pkt(pkt); pkt->dest = sink;
pkt->data[0] = num_pkts[node]; sendm(sink, 0, pkt);
printf("Node 1 sent request packet\n");}
for (ever) { sender = recvm(&destn, &key, &pkt);
now = runtime(); switch (pkt->type){ case ACK: free(pkt);
case INT: free(pkt); break;
case DATA: pkt->type = ACK;
pkt->dest = pkt->source; pkt->source= node;
sendm(pkt->dest, 0, pkt); break