Professional Documents
Culture Documents
A. Listing Program.
1. Omnetpp.ini
[General]
network = olsrnetwork
cmdenv-express-mode = true
record-eventlog = false
sim-time-limit = 1000s
num-rngs = 3
repeat = 30
tkenv-plugin-path = ../../../etc/plugins
**.scalar-recording = true
**.vector-recording = true
# mobility
**.mobility.constraintAreaMinZ = 0m
**.mobility.constraintAreaMaxZ = 0m
**.mobility.constraintAreaMinX = 0m
**.mobility.constraintAreaMinY = 0m
# nic settings
**.wlan[*].typename = "IdealWirelessNic"
**.wlan[*].bitrate = 2Mbps
**.wlan[*].mgmt.frameCapacity = 10
**.wlan[*].mac.address = "auto"
**.wlan[*].mac.maxQueueSize = 14
**.wlan[*].mac.rtsThresholdBytes = 3000B
**.wlan[*].mac.retryLimit = 7
**.wlan[*].mac.cwMinData = 7
**.wlan[*].mac.cwMinMulticast = 31
**.wlan[*].mac.headerLength = 10B
**.wlan[*].radio.transmissionRange = 250m
# lifecycle
**.hasStatus = true
**.hasTcp = true
# ip settings
**.ip.procDelay = 0s
# ARP settings
**.arp.retryTimeout = 1s
**.arp.retryCount = 3
**.arp.cacheTimeout = 100s
# tcp settings
**.tcp.tcpAlgorithmClass = "TCPReno"
TCPReno/TCPTahoe/TCPNewReno/TCPNoCongestionControl/DumbTCP
**.host[*].mobility.initFromDisplayString = false
**.host[1].tcpApp[*].connectAddress = "host[0]"
**.host[1].tcpApp[*].connectPort = 1234
**.host[1].tcpApp[*].localPort = 4567
[Config Density_Node_40_2mps]
*.numHosts = 40
**.host[2..40].mobilityType = "RandomWPMobility"
**.host[2..40].mobility.speed = 2mps
**.host[2..40].mobility.waitTime = 2s
**.mobility.constraintAreaMaxX = 1000m
**.mobility.constraintAreaMaxY = 1000m
**.host[0].mobility.initialX = 125m
**.host[0].mobility.initialY = 500m
**.host[1].mobility.initialX = 875m
**.host[1].mobility.initialY = 500m
[Config Density_Node_40_5mps]
*.numHosts = 40
**.host[2..40].mobilityType = "RandomWPMobility"
**.host[2..40].mobility.speed = 5mps
**.host[2..40].mobility.waitTime = 2s
**.mobility.constraintAreaMaxX = 1000m
**.mobility.constraintAreaMaxY = 1000m
**.host[0].mobility.initialX = 125m
**.host[0].mobility.initialY = 500m
**.host[1].mobility.initialX = 875m
**.host[1].mobility.initialY = 500m
[Config Density_Node_60_2mps]
*.numHosts = 60
**.host[2..60].mobilityType = "RandomWPMobility"
**.host[2..60].mobility.speed = 2mps
**.host[2..60].mobility.waitTime = 2s
**.mobility.constraintAreaMaxX = 1000m
**.mobility.constraintAreaMaxY = 1000m
**.host[0].mobility.initialX = 125m
**.host[0].mobility.initialY = 500m
**.host[1].mobility.initialX = 875m
**.host[1].mobility.initialY = 500m
[Config Density_Node_60_5mps]
*.numHosts = 60
**.host[2..60].mobilityType = "RandomWPMobility"
**.host[2..60].mobility.speed = 5mps
**.host[2..60].mobility.waitTime = 2s
**.mobility.constraintAreaMaxX = 1000m
**.mobility.constraintAreaMaxY = 1000m
**.host[0].mobility.initialX = 125m
**.host[0].mobility.initialY = 500m
**.host[1].mobility.initialX = 875m
**.host[1].mobility.initialY = 500m
[Config Density_Node_80_2mps]
*.numHosts = 80
**.host[2..80].mobilityType = "RandomWPMobility"
**.host[2..80].mobility.speed = 2mps
**.host[2..80].mobility.waitTime = 2s
**.mobility.constraintAreaMaxX = 1000m
**.mobility.constraintAreaMaxY = 1000m
**.host[0].mobility.initialX = 125m
**.host[0].mobility.initialY = 500m
**.host[1].mobility.initialX = 875m
**.host[1].mobility.initialY = 500m
[Config Density_Node_80_5mps]
*.numHosts = 80
**.host[2..80].mobilityType = "RandomWPMobility"
**.host[2..80].mobility.speed = 5mps
**.host[2..80].mobility.waitTime = 2s
**.mobility.constraintAreaMaxX = 1000m
**.mobility.constraintAreaMaxY = 1000m
**.host[0].mobility.initialX = 125m
**.host[0].mobility.initialY = 500m
**.host[1].mobility.initialX = 875m
**.host[1].mobility.initialY = 500m
2. Olsrnetwork.ned
package scenario1.simulations;
import inet.base.LifecycleController;
import
inet.networklayer.autorouting.ipv4.IPv4NetworkConfigurator;
import inet.networklayer.ipv4.RoutingTableRecorder;
import scenario1.olsrhost;
import inet.world.radio.IdealChannelModel;
import inet.world.scenario.ScenarioManager;
network olsrnetwork
{
parameters:
int numHosts;
//
@display("bgb=827,363");
submodules:
channelControl: IdealChannelModel {
parameters:
@display("p=50,50");
}
configurator: IPv4NetworkConfigurator {
parameters:
config = xml("<config><interface hosts='*'
address='145.236.x.x' netmask='255.255.0.0'/></config>");
@display("p=50,100");
}
routingTableRecorder: RoutingTableRecorder {
parameters:
@display("p=50,150");
}
lifecycleController: LifecycleController {
parameters:
@display("p=50,200");
}
scenarioManager: ScenarioManager {
parameters:
script = default(xml("<scenario/>"));
@display("p=50,250");
}
host[numHosts]: olsrhost {
parameters:
@display("i=device/pocketpc_s;r=,,#707070");
}
connections allowunconnected:
}
3. Olsrhost.ned
package scenario1;
import inet.networklayer.manetrouting.OLSR;
import inet.nodes.inet.WirelessHost;
import inet.util.ThruputMeter;
connections:
olsr.to_ip --> networkLayer.transportIn++;
networkLayer.transportOut++ --> thruputMeterRcvd.in;
olsr.from_ip <-- thruputMeterRcvd.out;
}
4. Wirelesshost.ned
package inet.nodes.inet;
5. Standarthost.ned
package inet.nodes.inet;
import inet.applications.IPingApp;
import inet.applications.ISCTPApp;
import inet.applications.ITCPApp;
import inet.applications.IUDPApp;
import inet.transport.ISCTP;
import inet.transport.ITCP;
import inet.transport.IUDP;
import inet.util.ThruputMeter;
// no of PING apps.
// disable routing by
default
networkLayer.proxyARP = default(false);
submodules:
tcpApp[numTcpApps]: <> like ITCPApp {
parameters:
@display("p=147,54,row,60");
}
tcp: <tcpType> like ITCP if hasTcp {
parameters:
@display("p=147,141");
}
udpApp[numUdpApps]: <> like IUDPApp {
parameters:
@display("p=329,54,row,60");
}
udp: <udpType> like IUDP if hasUdp {
parameters:
@display("p=329,141");
}
sctpApp[numSctpApps]: <> like ISCTPApp {
parameters:
@display("p=527,54,row,60");
}
sctp: <sctpType> like ISCTP if hasSctp {
@display("p=527,141");
}
pingApp[numPingApps]: <default("PingApp")> like IPingApp
{
parameters:
@display("p=635,141,row,60");
}
thruputMeter: ThruputMeter {
@display("p=178,226");
}
connections allowunconnected:
for i=0..numTcpApps-1 {
tcpApp[i].tcpOut --> tcp.appIn++;
tcpApp[i].tcpIn <-- tcp.appOut++;
}
//
//
hasTcp;
hasTcp;
tcp.ipOut --> networkLayer.transportIn++ if hasTcp;
thruputMeter.in <-- networkLayer.transportOut++ if
hasTcp;
tcp.ipIn <-- thruputMeter.out if hasTcp;
for i=0..numUdpApps-1 {
udpApp[i].udpOut --> udp.appIn++;
udpApp[i].udpIn <-- udp.appOut++;
}
for i=0..numSctpApps-1 {
sctpApp[i].sctpOut --> sctp.from_appl++;
sctp.to_appl++ --> sctpApp[i].sctpIn;
}
sctp.to_ip --> networkLayer.transportIn++ if hasSctp;
networkLayer.transportOut++ --> sctp.from_ip if hasSctp;
for i=0..numPingApps-1 {
networkLayer.pingOut++ --> pingApp[i].pingIn;
networkLayer.pingIn++ <-- pingApp[i].pingOut;
}
}
Rata - rata
an
46334.51
CWND
46867.37
45088.15
CWND
40 2mps
409
23725.00
242
25554.09
242
26928.44
46096.67964
5mps
616
33346.21
075
34629.01
352
35810.56
25402.51347
60 2mps
672
21900.04
675
18009.38
463
19943.92
34595.26603
5mps
017
31501.35
071
28645.80
338
30726.06
19951.11475
80 2mps
385
15917.76
065
17070.86
609
17791.31
30291.07353
5mps
294
010
527
16926.64610
RTT
Node
Kecepat
RTT
Rata - rata
an
RTT
0.0346
0.0346
0.0346
40 2mps
25
0.0326
05
0.0331
78
0.0330
0.034636
5mps
56
0.0334
68
0.0339
92
0.0339
0.032972
60 2mps
29
0.0317
08
0.0316
79
0.0310
0.033772
5mps
63
0.0328
29
0.0330
85
0.0328
0.031492
80 2mps
30
0.0305
27
0.0296
82
0.0302
0.032913
5mps
23
17
13
0.030118
RTO
Kecepat
Node
an
40 2mps
5mps
60 2mps
5mps
80 2mps
5mps
Rata - rata
66.50
33.00
107.00
97.00
105.50
100.50
NumRTO
NumRTO
66.50
61.50
64.83
101.50
74.00
69.50
94.00
81.00
94.00
81.00
64.00
80.67
85.00 118.00
102.83
60.00 125.50
95.33
Throughput
kecepata
node
Rata - rata
Throughput
throughput
1731938.28
1738376.36
1737086.96
40 2mps
475
1636731.07
652
1639540.29
506
1628501.35
1735800.53878
5mps
412
1725524.95
748
1725331.02
682
1732198.12
1634924.24281
60 2mps
5mps
330
1616710.29
114
1599099.97
487
1566782.74
1727684.69977
1594197.67079
346
1706791.55
364
1701349.54
526
1717192.03
80 2mps
103
1560125.35
509
1530628.63
868
1568905.87
1708444.37827
5mps
490
597
261
1553219.95449
Overhead ratio
Kecepata
Node
n
0.7583637
Overhead ratio
0.5967213
ratio
40 2mps
1
6.5906117
2
1.7420017
0.69124969
0.68211157
5mps
4
2.3270661
1
2.0676334
3.21033182
3.84764842
60 2mps
3
10.013277
7
15.746340
2.29967739
30.0710769
2.23145900
5mps
38
6.5277162
95
8.2324979
18.61023177
80 2mps
3
24.046556
1
52.948098
4.92890779
19.0852450
6.56304064
5mps
36
88
32.02663342
End-to-end delay
Kecepat
Node
an
40 2mps
5mps
60 2mps
5mps
80 2mps
5mps
Rata - rata
RTT
0.034636
0.032972
0.033772
0.031492
0.032913
0.030118
Control messages
No
Kecepa
de
tan
control messages
86140604
77161084
76893924
40 2mps
.00
87549660
.00
87873224
.00
92758416
80065204.00
5mps
.00
24047871
.00
22408512
.00
24059942
89393766.67
60 2mps
6.00
27613146
0.00
27991445
4.00
26319998
235054420.00
5mps
4.00
53178986
2.00
52191277
8.00
53826967
273081968.00
80 2mps
8.00
60767749
2.00
62496589
6.00
66917264
530657438.67
5mps
6.00
6.00
4.00
633938678.67
Skeanrio 1