37
EM M12IT11 PRACTICAL : 1 1: Step For Install ONE simulator on Windows. Step 1: Install JAVA on Windows7 Step 2: Set PATH = “C:\Program Files\Java\ jdk1.6.0_18\bin” in Environment Variables in System Properties Step 3: Set JAVA_HOME = “C:\Program Files (x86)\ Java\jdk1.6.0_10” in Environment Variables PATEL RUCHIN. Page 1

RUCHIN PRACTICAL 1,2,3.docx

Embed Size (px)

Citation preview

Page 1: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

PRACTICAL : 1

1: Step For Install ONE simulator on Windows.

Step 1: Install JAVA on Windows7

Step 2: Set PATH = “C:\Program Files\Java\jdk1.6.0_18\bin” in

Environment Variables in System Properties

Step 3: Set JAVA_HOME = “C:\Program Files (x86)\Java\jdk1.6.0_10” in

Environment Variables

PATEL RUCHIN. Page 1

Page 2: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Step 4: Take ONE_1.4.1 In Local disk c

Step 5: Execute compile.bat

Step 6: Execute one.bat

PATEL RUCHIN. Page 2

Page 3: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

2: Explain all folder organization in one_1.4.1

Name of Package

Detail of package

Application Application package contain PingApplication class. The application can be configured to send pings with a fixed interval or to only answer to pings it receives. When the application to delivere ives a ping it sends a pong message in response. The corresponding PingAppReporter class can be used to record information about the application behaviour.

Core Core package contains java class and interface(For ex- DTNsim.java,settings.java,debug.java,DTNHost.java,NetworkInterface.java). First DTNsim class is called when run any application.

Gui Contains the classes of Graphical User Interface

Movement Movement package contain movement model class. The movement of node is based on this class. There are different movement are available(For ex-RandomWalk,RandomWayPoint etc.).we want to use any movement it is describe like this (Group.movementModel = RandomWalk).

Report Report package contains all the report classes. Report class used for the different report like (MessageDeliveryReport, contactTimeReport, ContactPerHourReport, TotalContactReport).

Routing Routing package contains all the router classes. Router class handel the message.router class decide how to message deliver to destination node.There are different routing class(Ex-MessageRouter,DirectDeliveryRouter,ActiveRouter etc.)

PATEL RUCHIN. Page 3

Page 4: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Explain MessageStatsReoprts

CODE:/* * Copyright 2010 Aalto University, ComNet * Released under GPLv3. See LICENSE.txt for details. */package report;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;

import core.DTNHost;import core.Message;import core.MessageListener;

/** * Report for generating different kind of total statistics about message * relaying performance. Messages that were created during the warm up period * are ignored. * <P><strong>Note:</strong> if some statistics could not be created (e.g. * overhead ratio if no messages were delivered) "NaN" is reported for * double values and zero for integer median(s). */public class MessageStatsReport extends Report implements MessageListener {

private Map<String, Double> creationTimes;private List<Double> latencies;private List<Integer> hopCounts;private List<Double> msgBufferTime;private List<Double> rtt; // round trip times

private int nrofDropped;private int nrofRemoved;private int nrofStarted;private int nrofAborted;private int nrofRelayed;private int nrofCreated;

PATEL RUCHIN. Page 4

Page 5: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

private int nrofResponseReqCreated;private int nrofResponseDelivered;private int nrofDelivered;

/** * Constructor. */public MessageStatsReport() {

init();}/* INITIALIZE FOLLOW NODES value*/@Overrideprotected void init(){

super.init();this.creationTimes = new HashMap<String, Double>();this.latencies = new ArrayList<Double>();this.msgBufferTime = new ArrayList<Double>();this.hopCounts = new ArrayList<Integer>();this.rtt = new ArrayList<Double>();

this.nrofDropped = 0;this.nrofRemoved = 0;this.nrofStarted = 0;this.nrofAborted = 0;this.nrofRelayed = 0;this.nrofCreated = 0;this.nrofResponseReqCreated = 0;this.nrofResponseDelivered = 0;this.nrofDelivered = 0;

}

/* DELETE OR DROP MESSAGE*/public void messageDeleted(Message m, DTNHost where, boolean

dropped) {if (isWarmupID(m.getId())) {

return;}

if (dropped) {this.nrofDropped++;

PATEL RUCHIN. Page 5

Page 6: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

}else {

this.nrofRemoved++;}

this.msgBufferTime.add(getSimTime() - m.getReceiveTime());}

/* TRANSFERABORT with some delay OF THE MESSAGE */public void messageTransferAborted(Message m, DTNHost from,

DTNHost to) {if (isWarmupID(m.getId())) {

return;}

this.nrofAborted++;}

/*TRANSFER MESSAGE direct*/public void messageTransferred(Message m, DTNHost from,

DTNHost to,boolean finalTarget) {

if (isWarmupID(m.getId())) {return;

}

this.nrofRelayed++;if (finalTarget) {

this.latencies.add(getSimTime() - this.creationTimes.get(m.getId()) );

this.nrofDelivered++;this.hopCounts.add(m.getHops().size() - 1);

if (m.isResponse()) {this.rtt.add(getSimTime() -

m.getRequest().getCreationTime());this.nrofResponseDelivered++;

}}

}

PATEL RUCHIN. Page 6

Page 7: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

/* CREATE NEW MESSAGE */public void newMessage(Message m) {

if (isWarmup()) {addWarmupID(m.getId());return;

}

this.creationTimes.put(m.getId(), getSimTime());this.nrofCreated++;if (m.getResponseSize() > 0) {

this.nrofResponseReqCreated++;}

}

/* START TRANSFERING MESSAGE */public void messageTransferStarted(Message m, DTNHost from,

DTNHost to) {if (isWarmupID(m.getId())) {

return;}

this.nrofStarted++;}

/* this thing we see in reports */@Overridepublic void done() {

write("Message stats for scenario " + getScenarioName() + "\nsim_time: " + format(getSimTime()));

double deliveryProb = 0; // delivery probabilitydouble responseProb = 0; // request-response success

probabilitydouble overHead = Double.NaN; // overhead ratio

if (this.nrofCreated > 0) {deliveryProb = (1.0 * this.nrofDelivered) /

this.nrofCreated;}if (this.nrofDelivered > 0) {

PATEL RUCHIN. Page 7

Page 8: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

overHead = (1.0 * (this.nrofRelayed - this.nrofDelivered)) /

this.nrofDelivered;}if (this.nrofResponseReqCreated > 0) {

responseProb = (1.0* this.nrofResponseDelivered) / this.nrofResponseReqCreated;

}/* this thing we see in reports*/String statsText = "created: " + this.nrofCreated +

"\nstarted: " + this.nrofStarted + "\nrelayed: " + this.nrofRelayed +"\naborted: " + this.nrofAborted +"\ndropped: " + this.nrofDropped +"\nremoved: " + this.nrofRemoved +"\ndelivered: " + this.nrofDelivered +"\ndelivery_prob: " + format(deliveryProb) +"\nresponse_prob: " + format(responseProb) + "\noverhead_ratio: " + format(overHead) + "\nlatency_avg: " + getAverage(this.latencies) +"\nlatency_med: " + getMedian(this.latencies) + "\nhopcount_avg: " + getIntAverage(this.hopCounts) +"\nhopcount_med: " + getIntMedian(this.hopCounts) + "\nbuffertime_avg: " + getAverage(this.msgBufferTime)

+"\nbuffertime_med: " + getMedian(this.msgBufferTime)

+"\nrtt_avg: " + getAverage(this.rtt) +"\nrtt_med: " + getMedian(this.rtt);

write(statsText);super.done();

}

}

PATEL RUCHIN. Page 8

Page 9: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Explain default_settings.txt

## Default settings for the simulation#

## Scenario settingsScenario.name = default_scenario #HERE WE CHANGE THE NAME......Scenario.simulateConnections = trueScenario.updateInterval = 0.1# 43200s == 12hScenario.endTime = 43200 #TIME IN sec MAX TIME.....

## Interface-specific settings:# type : which interface class the interface belongs to# For different types, the sub-parameters are interface-specific# For SimpleBroadcastInterface, the parameters are:# transmitSpeed : transmit speed of the interface (bytes per second) # transmitRange : range of the interface (meters)

# "Bluetooth" interface for all nodesbtInterface.type = SimpleBroadcastInterface #TYPE OF INTERFACE# Transmit speed of 2 Mbps = 250kBpsbtInterface.transmitSpeed = 250k # SPEED OF TRANSMISSIONbtInterface.transmitRange = 10 # AREA COVER FOR TRANSMISSION

# High speed, long range, interface for group 4#IF WE WANT TO SPECIFY CHANGE IN SPEED,RANGE ETC......highspeedInterface.type = SimpleBroadcastInterfacehighspeedInterface.transmitSpeed = 10MhighspeedInterface.transmitRange = 1000

# Define 6 different node groups#DEFINE HOW MANY GROUP ARE THERE IN SENARIO........Scenario.nrofHostGroups = 6

## Group-specific settings:# groupID : Group's identifier. Used as the prefix of host names# nrofHosts: number of hosts in the group

PATEL RUCHIN. Page 9

Page 10: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

# movementModel: movement model of the hosts (valid class name from movement package)# waitTime: minimum and maximum wait times (seconds) after reaching destination# speed: minimum and maximum speeds (m/s) when moving on a path# bufferSize: size of the message buffer (bytes)# router: router used to route messages (valid class name from routing package)# activeTimes: Time intervals when the nodes in the group are active (start1, end1, start2, end2, ...)# msgTtl : TTL (minutes) of the messages created by this host group, default=infinite

## Group and movement model specific settings# pois: Points Of Interest indexes and probabilities (poiIndex1, poiProb1, poiIndex2, poiProb2, ... )# for ShortestPathMapBasedMovement# okMaps : which map nodes are OK for the group (map file indexes), default=all # for all MapBasedMovent models# routeFile: route's file path - for MapRouteMovement# routeType: route's type - for MapRouteMovement

# Common settings for all groups# HERE IN MOVMENT MODEL WE CHANGE BY WHICH WE SEE IN MOVEMENT FOLADER.# ACCORDING TO NEED WE REPLACE.........Group.movementModel = ShortestPathMapBasedMovement#HERE WE REPLACE ROUTER BY CHANGE ROUTERS SITUATED IN ROUTING FOLDER..# ACCORDING TO NEED WE REPLACE.........Group.router = EpidemicRouter# HERE WE SET BUFFER SIZE OF THE NODE..Group.bufferSize = 5M#Group.waitTime = 0, 120# All nodes have the bluetooth interfaceGroup.nrofInterfaces = 1Group.interface1 = btInterface# Walking speeds#SET WALKING SPEED OF GROUP AS WELL AS NODE...

PATEL RUCHIN. Page 10

Page 11: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Group.speed = 0.5, 1.5# Message TTL of 300 minutes (5 hours)#HERE WE SET TIME TO LEAVE OF MSG............Group.msgTtl = 300#HOW MANY HOST IN GROUP..Group.nrofHosts = 40

#HERE WE SET ALL GROUP DIFF DIFF NAME, OR SOME SETTING ACCORDING TO#NEED OR REQUIREMENT

# SETTING FOR 1ST GROUP..# group1 (pedestrians) specific settingsGroup1.groupID = p

# SETTING FOR 2NDGROUP..# group2 specific settingsGroup2.groupID = c# cars can drive only on roadsGroup2.okMaps = 1# 10-50 km/hGroup2.speed = 2.7, 13.9# SETTING FOR 3RDGROUP..# another group of pedestriansGroup3.groupID = w# SETTING FOR 4THGROUP.# The Tram groupsGroup4.groupID = tGroup4.bufferSize = 50MGroup4.movementModel = MapRouteMovementGroup4.routeFile = data/tram3.wktGroup4.routeType = 1Group4.waitTime = 10, 30Group4.speed = 7, 10Group4.nrofHosts = 2Group4.nrofInterfaces = 2Group4.interface1 = btInterfaceGroup4.interface2 = highspeedInterface# SETTING FOR 5THGROUP.Group5.groupID = t

PATEL RUCHIN. Page 11

Page 12: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Group5.bufferSize = 50MGroup5.movementModel = MapRouteMovementGroup5.routeFile = data/tram4.wktGroup5.routeType = 2Group5.waitTime = 10, 30Group5.speed = 7, 10Group5.nrofHosts = 2# SETTIGN FOR 6THGROUP.Group6.groupID = tGroup6.bufferSize = 50MGroup6.movementModel = MapRouteMovementGroup6.routeFile = data/tram10.wktGroup6.routeType = 2Group6.waitTime = 10, 30Group6.speed = 7, 10Group6.nrofHosts = 2

#CREAT MESSAGE......## Message creation parameters # How many event generators#HERE WE DECLARE HOW MANY EVENTS IN THE SINARIO...Events.nrof = 1# Class of the first event generatorEvents1.class = MessageEventGenerator# (following settings are specific for the MessageEventGenerator class)# Creation interval in seconds (one new message every 25 to 35seconds)Events1.interval = 25,35# Message sizes (500kB - 1MB)Events1.size = 500k,1M# range of message source/destination addressesEvents1.hosts = 0,125# Message ID prefixEvents1.prefix = M

## Movement model settings# seed for movement models' pseudo random number generator (default = 0)MovementModel.rngSeed = 1# World's size for Movement Models without implicit size (width, height; meters)#SIZE WHERE ALL NODES MOVES..

PATEL RUCHIN. Page 12

Page 13: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

MovementModel.worldSize = 4500, 3400

## How long time to move hosts in the world before real simulationMovementModel.warmup = 1000

## Map based movement -movement model specific settingsMapBasedMovement.nrofMapFiles = 4

MapBasedMovement.mapFile1 = data/roads.wktMapBasedMovement.mapFile2 = data/main_roads.wktMapBasedMovement.mapFile3 = data/pedestrian_paths.wktMapBasedMovement.mapFile4 = data/shops.wkt

## Reports - all report names have to be valid report classes

# how many reports to loadReport.nrofReports = 1# IF WANT TO ADD REPORTS THEN CHANGE NO..# length of the warm up period (simulated seconds)Report.warmup = 0# default directory of reports (can be overridden per Report with output setting)Report.reportDir = reports/# Report classes to loadReport.report1 = MessageStatsReport# HERE ALL OTHER REPORTS IF NEED THEN...

## Default settings for some routers settingsProphetRouter.secondsInTimeUnit = 30SprayAndWaitRouter.nrofCopies = 6SprayAndWaitRouter.binaryMode = true

## Optimization settings -- these affect the speed of the simulation## see World class for details.Optimization.cellSizeMult = 5Optimization.randomizeUpdateOrder = true

## GUI settings

# GUI underlay image settings

PATEL RUCHIN. Page 13

Page 14: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

GUI.UnderlayImage.fileName = data/helsinki_underlay.png# Image offset in pixels (x, y)GUI.UnderlayImage.offset = 64, 20# Scaling factor for the imageGUI.UnderlayImage.scale = 4.75# Image rotation (radians)GUI.UnderlayImage.rotate = -0.015

# how many events to show in the log panel (default = 30)GUI.EventLogPanel.nrofEvents = 100# Regular Expression log filter (see Pattern-class from the Java API for RE-matching details)#GUI.EventLogPanel.REfilter = .*p[1-9]<->p[1-9]$

PING APPLICATION:

Ping_app_settings.txt File:

- This configuration file adds Ping application for all the nodes and

- a report module that counts the number of pings & pongs sent & received

# Here I Fix Scenario EndTime

Scenario.endTime = 2500

# Define new application

pingApp.type = PingApplication

pingApp.interval = 500

pingApp.destinationRange = 0,125

pingApp.pingSize = 5

pingApp.pongSize = 5

pingApp.passive = false

PATEL RUCHIN. Page 14

Page 15: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

# Set Ping app for all nodes

Group.nrofApplications = 1

Group.application1 = pingApp

# Add report for Ping app

Report.nrofReports = 2

Report.report2 = PingAppReporter

Run Ping Application:

- If we run the ping application file with different ping.App.interval time.

- Here assume that I take all reading for Scenario.endTime = 2000.

- We get following different scenario:

Scenario 1

Scenario 2

Scenario 3

Scenario 4

Scenario 5

pingApp.interval 500

1000

1500

2000

2500

pings sent 882 378 252 126 119

pings received 413 176 102 52 126

pongs sent 413 176 102 52 52

pongs received 69 16 13 3 52

ping delivery prob 0.4683 0.4656 0.4048 0.4127 3

PATEL RUCHIN. Page 15

Page 16: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

pong delivery prob 0.1671

0.0909 0.1275 0.0577

0.4127

ping/pong success prob

0.0782

0.0423 0.0516 0.0238

0.0577

Graph of Ping Application:

500 1000 1500 2000 25000

100200300400500600700800900

1000

ping sentping received

500 1000 1500 2000 25000

50100150200250300350400450

pong sentpong received

PATEL RUCHIN. Page 16

Page 17: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

PRACTICAL : 2-A

r.txt : CODE FLOW:

Scenario.name = shScenario.endTime = 43200Scenario.nrofHostGroups = 6#Group.movementModel = RandomWalkGroup.router = DirectDeliveryRouter#change this 10,20,30,40,50,60Group.nrofHosts = 10Events1.hosts = 0,9

Readings:10Message stats for scenario shsim_time: 43200.1000created: 1457started: 54relayed: 48aborted: 6dropped: 1400removed: 0delivered: 48delivery_prob: 0.0329response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 713.5167latency_med: 658.3000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 1637.6079buffertime_med: 1558.0000rtt_avg: NaNrtt_med: NaN

20Message stats for scenario shsim_time: 43200.1000created: 1464started: 117relayed: 113aborted: 4dropped: 1352removed: 0delivered: 113delivery_prob: 0.0772response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 1758.5664latency_med: 1628.9000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 3411.1830buffertime_med: 3199.0000rtt_avg: NaNrtt_med: NaN

30Message stats for scenario shsim_time: 43200.1000created: 1462started: 144relayed: 141aborted: 3dropped: 1284removed: 0delivered: 141delivery_prob: 0.0964

40Message stats for scenario shsim_time: 43200.1000created: 1464started: 219relayed: 218aborted: 1dropped: 1232removed: 0delivered: 218delivery_prob: 0.1489

PATEL RUCHIN. Page 17

ActiveRouter

DirectDeliveryRouter

update() replicate()

MessageRouter

Page 18: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 2701.5447latency_med: 2441.1000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 5093.0886buffertime_med: 4762.0000rtt_avg: NaNrtt_med: NaN

response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 3347.0284latency_med: 2848.9000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 6707.2407buffertime_med: 6386.7000rtt_avg: NaNrtt_med: NaN

50Message stats for scenario shsim_time: 43200.1000created: 1460started: 256relayed: 254aborted: 2dropped: 1162removed: 0delivered: 254delivery_prob: 0.1740response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 4496.9591latency_med: 3738.2000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 8449.9910buffertime_med: 7972.0000rtt_avg: NaNrtt_med: NaN

60Message stats for scenario shsim_time: 43200.1000created: 1465started: 333relayed: 331aborted: 2dropped: 1123removed: 0delivered: 331delivery_prob: 0.2259response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 4954.7021latency_med: 4175.0000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 9891.3043buffertime_med: 9507.0000rtt_avg: NaNrtt_med: NaN

NOTE : Delivery ratio = delivery_prob *100

Node Delivery ratio

Overhead

Msg_drop

10 20 30 40 50 600

200

400

600

800

1000

1200

1400

1600

Delivery ratio Overhead Msg_drop

10 3.29 0 1400

20 7.72 0 1352

30 9.64 0 1284

40 14.89 0 1232

50 17.40 0 1162

60 22.59 0 1123

PATEL RUCHIN. Page 18

Page 19: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

PRACTICAL : 2-B

Prerequisites:

1. Install Netbeans IDE 7.0.1.

2. source code of one simulator(one_1.4.1 or above)

Configuration steps :

Step 1: Install Netbeans IDE 7.0.1.

Step 2: Create Netbeans Project and Select Java Application from Java.

PATEL RUCHIN. Page 19

Page 20: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Step 3: Specify name of Project and unmark main class and click on finish button

.

Step 4: Copy all directories of one_1.4.1 original source into netbeans project Location

Documents >NetbeansProjects > ONE >src folder

Step: 5 Click on project name and select project properties

PATEL RUCHIN. Page 20

Page 21: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Step 6: Select Libraries and click on Add JAR Folder.

Step 7: Select DTNConsoleConnection.jar and ECLA.jar

PATEL RUCHIN. Page 21

Page 22: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Step 8: Select Run from categories manu.and Set Main class value from Browse.

Step 9: Set working directories by selecting created netbeans project path.

Step 10: Set Arguments value is “path of default_settings.txt”

Arguments = C:\Users\abhi\Documents\NetBeansProjects\ONE\src\default_settings.txt

For Batch Mode you can also set arguments like

Arguments = -b 1 C:\Users\abhi\Documents\NetBeansProjects\ONE\src\default_settings.txt

PATEL RUCHIN. Page 22

Page 23: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Step11:RunProject.

PATEL RUCHIN. Page 23

Page 24: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

PRACTICAL : 2-C

HelloRouter.java

HelloRouter.java

First we want to make Router so we have to make our own class file in Routing Package.

“hellorouter.java” file is As below

package routing;

import core.Settings;

public class HelloRouter extends ActiveRouter

{

public HelloRouter(Settings s)

{

super(s);

}

protected HelloRouter(HelloRouter r)

{

super(r);

}

@Override

public void update()

{

super.update();

PATEL RUCHIN. Page 24

Page 25: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

if (isTransferring() || !canStartTransfer())

{

return; // can't start a new transfer

}

// Try only the messages that can be delivered to final recipient

if (exchangeDeliverableMessages() != null)

{

return; // started a transfer

}

System.out.println("HelloRouter");

}

@Override

public HelloRouter replicate()

{

return new HelloRouter(this);

}

}

PATEL RUCHIN. Page 25

Page 26: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

Now compile this hellorouter.java which generate hellorouter.class file.

Now edit default_settings.txt file write Group.router = hellorouter

Now run Simulator in batch mode

C:\one_1.4.1\-b 1 One.bat default_settings.txt

Or We use NetBeans to make and run hellorouter

Output:-

- compile.bat

- one.bat –b 1 default_settings.txt

PATEL RUCHIN. Page 26

Page 27: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

PRACTICAL : 3-A

Explain EPIDEMIC ROUTER :

Epidemic routingis flooding-based in nature, as nodes continuously replicate and transmit messages to newly discovered contacts that do not already possess a copy of the message. In the simplest case, epidemic routing is flooding; however, more sophisticated techniques can be used to limit the number of message transfers. Epidemic routing has its roots in ensuring distributed databases remain synchronized, and many of these techniques, such as rumor mongering, can be directly applied to routing.

CODE FLOW

sh.txt

Scenario.name = shp3Scenario.endTime = 43000Scenario.nrofHostGroups = 1#Group.movementModel = RandomWalk

#Group.router = EpidemicRouter #BOTH ALLTERNET CHANGEGroup.router = DirectDeliveryRouter

Group.nrofHosts = 50Events1.hosts = 0,49

PATEL RUCHIN. Page 27

MessageRouter

ActiveRouter

EpidemicRouter

update() replicate()

Page 28: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

READINGS

NODE

DELIVERY RATIOEPIDEMIC ROUTER DIRECTDELIVERY ROUTER

10 Message stats for scenario shp3sim_time: 43000.1000created: 1450started: 200relayed: 165aborted: 35dropped: 1504removed: 0delivered: 52delivery_prob: 0.0359 =3.59response_prob: 0.0000overhead_ratio: 2.1731latency_avg: 1291.6750latency_med: 866.6000hopcount_avg: 1.1538hopcount_med: 1buffertime_avg: 1617.8812buffertime_med: 1472.0000rtt_avg: NaNrtt_med: NaN

Message stats for scenario shp3sim_time: 43000.1000created: 1450started: 47relayed: 47aborted: 0dropped: 1394removed: 0delivered: 47delivery_prob: 0.0324 =3.24response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 829.4574latency_med: 704.1000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 1635.1438buffertime_med: 1553.0000rtt_avg: NaNrtt_med: NaN

20 Message stats for scenario shp3sim_time: 43000.1000created: 1457started: 1054relayed: 867aborted: 187dropped: 2099removed: 0delivered: 107delivery_prob: 0.0734 =7.34response_prob: 0.0000overhead_ratio: 7.1028latency_avg: 2003.6589latency_med: 1526.7000hopcount_avg: 1.5327hopcount_med: 1buffertime_avg: 2318.8259buffertime_med: 2150.0000rtt_avg: NaNrtt_med: NaN

Message stats for scenario shp3sim_time: 43000.1000created: 1457started: 106relayed: 103aborted: 3dropped: 1344removed: 0delivered: 103delivery_prob: 0.0707 =7.07response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 1949.5136latency_med: 1764.3000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 3421.1220buffertime_med: 3213.0000rtt_avg: NaNrtt_med: NaN

30 Message stats for scenario shp3sim_time: 43000.1000created: 1456

Message stats for scenario shp3sim_time: 43000.1000created: 1456

PATEL RUCHIN. Page 28

Page 29: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

started: 1908relayed: 1587aborted: 320dropped: 2732removed: 0delivered: 135delivery_prob: 0.0927 =9.27response_prob: 0.0000overhead_ratio: 10.7556latency_avg: 2675.1207latency_med: 1859.9000hopcount_avg: 1.5630hopcount_med: 1buffertime_avg: 2600.0844buffertime_med: 2337.5000rtt_avg: NaNrtt_med: NaN

started: 151relayed: 150aborted: 1dropped: 1281removed: 0delivered: 150delivery_prob: 0.1030 =10.30response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 2645.7700latency_med: 2240.2000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 5098.0472buffertime_med: 4742.9000rtt_avg: NaNrtt_med: NaN

40 Message stats for scenario shp3sim_time: 43000.1000created: 1457started: 4074relayed: 3365aborted: 709dropped: 4394removed: 0delivered: 201delivery_prob: 0.1380 =13.80response_prob: 0.0000overhead_ratio: 15.7413latency_avg: 3533.7015latency_med: 2888.5000hopcount_avg: 2.6468hopcount_med: 2buffertime_avg: 2127.2816buffertime_med: 1751.9000rtt_avg: NaNrtt_med: NaN

Message stats for scenario shp3sim_time: 43000.1000created: 1457started: 217relayed: 216aborted: 1dropped: 1225removed: 0delivered: 216delivery_prob: 0.1482 =14.82response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 3612.4935latency_med: 3098.8000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 6712.7086buffertime_med: 6392.0000rtt_avg: NaNrtt_med: NaN

50 Message stats for scenario shp3sim_time: 43000.1000created: 1453started: 5428relayed: 4510aborted: 917dropped: 5429removed: 0delivered: 216delivery_prob: 0.1487 =14.87

Message stats for scenario shp3sim_time: 43000.1000created: 1453started: 220relayed: 218aborted: 2dropped: 1151removed: 0delivered: 218delivery_prob: 0.1500 =15.00

PATEL RUCHIN. Page 29

Page 30: RUCHIN PRACTICAL 1,2,3.docx

EM M12IT11

response_prob: 0.0000overhead_ratio: 19.8796latency_avg: 3999.5792latency_med: 3095.3000hopcount_avg: 2.5741hopcount_med: 2buffertime_avg: 2143.4069buffertime_med: 1706.6000rtt_avg: NaNrtt_med: NaN

response_prob: 0.0000overhead_ratio: 0.0000latency_avg: 3963.6271latency_med: 3223.0000hopcount_avg: 1.0000hopcount_med: 1buffertime_avg: 8458.6913buffertime_med: 7970.0000rtt_avg: NaNrtt_med: NaN

Reading AND graph

NODE DELIVERY RATIO

10 20 30 40 500

2

4

6

8

10

12

14

16

DELIVERY RATIO EPIDEMIC ROUTERDELIVERY RATIO DIRECT DELIVERY ROUTER

EPIDEMIC ROUTER

DIRECTDELIVERY ROUTER

10 3.59 3.24

20 7.34 7.07

30 9.27 10.30

40 13.80 14.82

50 14.87 15.00

PATEL RUCHIN. Page 30