You are on page 1of 28

LAMPIRAN

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

# channel physical parameters


**.tcpType = "TCP"

# 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

#tcp app host 0


**.host[0].numTcpApps = 1
**.host[0].mobilityType = "StationaryMobility"
**.host[0].tcpApp[*].typename = "TCPSessionApp"
**.host[0].tcpApp[*].sendBytes = 500MiB
**.host[0].tcpApp[*].active = true
**.host[0].tcpApp[*].localAddress = "host[0]"
**.host[0].tcpApp[*].localPort = 1234
**.host[0].tcpApp[*].connectAddress = "host[1]"
**.host[0].tcpApp[*].connectPort = 4567

#tcp app host 1


**.host[1].numTcpApps = 1
**.host[1].mobilityType = "StationaryMobility"
**.host[1].tcpApp[*].typename = "TCPSinkApp"
**.host[1].tcpApp[*].active = true
**.host[1].tcpApp[*].localAddress = "host[1]"

**.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;

module olsrhost extends WirelessHost


{
parameters:
@display("i=device/cellphone");
IPForward = true;
wlan[*].mgmtType = default("Ieee80211MgmtAdhoc");
submodules:
olsr: OLSR {
@display("p=558,307");
}
thruputMeterRcvd: ThruputMeter {
@display("p=465,261");
}

connections:
olsr.to_ip --> networkLayer.transportIn++;
networkLayer.transportOut++ --> thruputMeterRcvd.in;
olsr.from_ip <-- thruputMeterRcvd.out;
}

4. Wirelesshost.ned

package inet.nodes.inet;

module WirelessHost extends StandardHost


{
@display("i=device/wifilaptop");
numRadios = default(1);
}

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;

module StandardHost extends NodeBase


{
parameters:
@display("i=device/pc2");
int numTcpApps = default(0);

// no of TCP apps. Specify

the app types in INI file with tcpApp[0..1].typename="TCPEchoApp"


syntax

int numUdpApps = default(0);

// no of UDP apps. Specify

the app types in INI file with


udpApp[0..1].typename="UDPVideoStreamCli" syntax
int numSctpApps = default(0); // no of SCTP apps. Specify
the app types in INI file with
sctpApp[0..1].typename="SCTPServer" syntax
int numPingApps = default(0);

// no of PING apps.

Specify the app types in INI file with


pingApp[0..1].typename="PingApp" syntax
bool hasTcp = default(numTcpApps>0);
bool hasUdp = default(numUdpApps>0);
bool hasSctp = default(numSctpApps>0);
string tcpType = default(firstAvailable("TCP",
"TCP_lwIP", "TCP_NSC", "TCP_None"));

// tcp implementation (e.g.

~TCP, ~TCP_lwIP, ~TCP_NSC) or ~TCPSpoof


string udpType =
default(firstAvailable("UDP","UDP_None"));
string sctpType =
default(firstAvailable("SCTP","SCTP_None"));
IPForward = default(false);

// 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++;
}
//

tcp.ipOut --> networkLayer.transportIn++ if

//

tcp.ipIn <-- networkLayer.transportOut++ if

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++;
}

udp.ipOut --> networkLayer.transportIn++ if hasUdp;

udp.ipIn <-- networkLayer.transportOut++ if hasUdp;

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;
}
}

B. Rata rata hasil pengujian simulasi.


CWND
Kecepat
Node

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

Rata - rata overhead

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

Rata rata end-to-end


delay
17.318
16.4855
16.886
15.746
16.4565
15.0585

Control messages
No

Kecepa

de

tan

Rata - rata byte


byte control messages

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

C. Data hasil simulasi per skenario.

Skeanrio 1

You might also like