Can We Implement Software Defined Network SDN Project in NS2

Can We Implement Software Defined Network SDN Project in NS2

We can implement SDN in NS2

Yes we can implement the SDN based network simulation process by using the NS2. The NS2 is one of the network simulation tool, which is one of the open source tool. By use the NS2 we can perform the communication in all networks , like the MANET,VANET ,SDN,Cognitive Radio Networks and WSN and others.

1.We can perform the routing process by using AODV in NS2 simulation, during the simulation we can monitoring the communication by using SDN Controller.

2.In another simulation project , we create SDN based wireless sensor network simulation. In this simulation process we can identify the malicious node behaviors in  the simulation. In this project  the SDN node as a sensor node , which will control other nodes in the simulation.

3.In another simulation project , we create SDN based MANET simulation. In this simulation process we can perform the process of inspecting SDN forwarding in  the simulation.

The sample code for SDN in nS2

The below source code used for get the simulation process in the MANET and SDN NS2 process ,  in this simulation we perform the process scheduling based on the time parameters.

SDNprocess::SDNprocess(nsaddr_t id) : Agent(PT_SDN),btimer(this), htimer(this), ntimer(this), rtimer(this), lrtimer(this), rqueue() {

 index = id;                           //node  index id

 seqno = 2;                          //node  sequence number

 bid = 1;                               //node  broadcast id

 LIST_INIT(&nbhead);

 LIST_INIT(&bihead);

 logtarget = 0;                      //node  target id

 ifqueue = 0;                        //node  queue configuration

 xpos=0.0;                                              //node  position

 ypos=0.0;

 zpos=0.0;

 MobileNode *iNode;          //node  type

}

void

BroadcastTimer::handle(Event*) {

agent->id_purge();

Scheduler::instance().schedule(this, &intr, BCAST_ID_SAVE);

}

void

HelloTimer::handle(Event*) {

 agent->sendHello();

double interval = MinHelloInterval +((MaxHelloInterval – MinHelloInterval) * Random::uniform());

assert(interval >= 0);

Scheduler::instance().schedule(this, &intr, interval);

}

void

NeighborDetectionTimer::handle(Event*) {

agent->nb_purge();

Scheduler::instance().schedule(this, &intr, HELLO_INTERVAL);

}

void

CacheTimer::handle(Event*) {

agent->rt_purge();

Scheduler::instance().schedule(this, &intr, FREQUENCY); }

Live Tasks
Technology Ph.D MS M.Tech
NS2 75 117 95
NS3 98 119 206
OMNET++ 103 95 87
OPNET 36 64 89
QULANET 30 76 60
MININET 71 62 74
MATLAB 96 185 180
LTESIM 38 32 16
COOJA SIMULATOR 35 67 28
CONTIKI OS 42 36 29
GNS3 35 89 14
NETSIM 35 11 21
EVE-NG 4 8 9
TRANS 9 5 4
PEERSIM 8 8 12
GLOMOSIM 6 10 6
RTOOL 13 15 8
KATHARA SHADOW 9 8 9
VNX and VNUML 8 7 8
WISTAR 9 9 8
CNET 6 8 4
ESCAPE 8 7 9
NETMIRAGE 7 11 7
BOSON NETSIM 6 8 9
VIRL 9 9 8
CISCO PACKET TRACER 7 7 10
SWAN 9 19 5
JAVASIM 40 68 69
SSFNET 7 9 8
TOSSIM 5 7 4
PSIM 7 8 6
PETRI NET 4 6 4
ONESIM 5 10 5
OPTISYSTEM 32 64 24
DIVERT 4 9 8
TINY OS 19 27 17
TRANS 7 8 6
OPENPANA 8 9 9
SECURE CRT 7 8 7
EXTENDSIM 6 7 5
CONSELF 7 19 6
ARENA 5 12 9
VENSIM 8 10 7
MARIONNET 5 7 9
NETKIT 6 8 7
GEOIP 9 17 8
REAL 7 5 5
NEST 5 10 9
PTOLEMY 7 8 4

Workflow

YouTube Channel

Unlimited Network Simulation Results available here.