Anda di halaman 1dari 13

1.

Prasyarat Instalasi dan Instalasi NS-3


NS-3 adalah sebuah discrete-event network simulator dari sebuah jaringan, yang
ditujukan untuk penggunaan percobaan, pengembangan, dan keperluan pendidikan. NS-3
berlisensi GNU GPLv2 sehingga software ini opensource dan bebas untuk didistribusikan.
NS-3 ditulis dengan menggunakan bahasa C++ dan python dan souce codenya tersedia
untuk sistem operasi linux, seluruh varian unix, OS X, dan windows dengan cygwin. File
simulasi yang akan dieksekusi ditulis menggunakan bahasa C++.

1.3.1

Persyaratan Instalasi
Untuk dapat menjalankan aplikasi network simulator ns-3, minimal

sistem operasi yang digunakan diantaranya :


1.

Linux x86 gcc 4.2, 4.1, and, 3.4.6.;

2.

Linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6;

3.

MacOS X ppc and x86 (gcc 4.0.x and 4.2.x);

4.

Cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized).
Untuk bisa menjalankan NS-3 dibutuhkan compailer gcc/g++ versi 3.4

atau lebih dan python versi 2.4 atau lebih. Dalam sistem operasi linux
ubuntu/debian, minimal package berikut harus tersedia sebelum proses instalasi
dimulai.
1.

Paket minimal untuk C++:


$sudo apt-get install gcc g++ python

2. Paket minimal untuk python:


$sudo apt-get install gcc g++ python python-dev
Namun untuk bisa menjalankan semua fungsi dari NS-3, paket berikut
juga harus tersedia sebelum proses instalasi dimulai:
1. Diperlukan mercurial untuk dapat bekerja dengan repositori pengembangan
NS-3:
$sudo apt-get install mercurial
2. Diperlukan paket bazzar untuk menjalankan python bindings di NS-3-dev:
$sudo apt-get install bzr
3.

Debugging:
$sudo apt-get install gdb valgrind

4. Dukungan GNU Scientific Library (GSL) untuk keakuratan pada model


kesalahan WiFi:
$sudo apt-get install gsl-bin libgsl0-dev
libgsl0ldbl
5. The Network Simulation Cradle (NSC) membutuhkan penganalisa flex lexical
and bison parser generator:
$sudo apt-get install flex bison
6. Untuk menginstalasi gcc-3.4 untuk beberapa tumpukan (stacks) Network
Simulation Cradle (NSC):
$sudo apt-get install g++-3.4 gcc-3.4
7.

Untuk membaca pcap packet traces:


$sudo apt-get install tcpdump

8.

Dukungan database untuk framework statistik:

$sudo apt-get install sqlite sqlite3 libsqlite3dev


9. Versi XML dari penyimpanan config (membutuhkan libxml2 >= version 2.7):
$sudo apt-get install libxml2 libxml2-dev
10. Konfigurasi sistem berbasis GTK:
$sudo apt-get install libgtk2.0-0 libgtk2.0-dev
11. Untuk bereksperimen dengan mesin virtual dan NS-3:
$sudo apt-get install vtun lxc
12. Dukungan untuk program pemeriksa gaya kode utils/check-style.py:
$sudo apt-get install uncrustify
13. Doxygen dan dokumentasi yang berhubungan:
$sudo

apt-get

install

doxygen

graphviz

imagemagick
$sudo

apt-get

install

texlive-latex-extra

texlive

texlive-pdf

texlive-generic-extra

texlive-generic-recommended
14. Manual NS-3 dan tutorial yang ditulis dalam Texinfo (doc/tutorial atau
doc/manual):
$sudo

apt-get

texlive-pdf

install

texinfo

texlive-latex-extra

dia

texlive

texlive-extra-

utils texlive-generic-recommended texi2html


15. Dukungan untuk visualizer NS-3-pyviz Gustavo Carneiro:
$sudo

apt-get

install

python-pygraphviz

kiwi python-pygoocanvas libgoocanvas-dev

python-

1.3.2

Instalasi
Untuk bisa mendapatkan source code NS-3, pengguna bisa mengunduh

langsung dari web NS-3 di www.nsnam.org. Dalam halaman download, akan ada 3
pilihan yang tersedia : unduh versi terbaru yang sudah stable dari NS-3, unduh versi
yang sedang dalam tahap pengembangan dan belum dalam keadaan stable, atau
unduh versi terdahulu. Versi NS-3 yang akan penulis gunakan adalah versi ke NS3-Dev (3.11) karena pada saat memulai penelitian, versi ini adalah versi yang
terbaru. Semua file yang dapat diunduh dibuat dalam format tarball, sehingga nama
file yang akan penulis unduh adalah ns-allinone-3.11.tar.bz2.
Pada bagian berikut akan dijelaskan mengenai langkah-langkah apa saja
yang harus dilakukan dalam meng-instalasi network simulator NS-3.11 ke dalam
sistem ubuntu setelah file berhasil diunduh. Setelah user mengunduh file source
code yang dibutuhkan, selanjutnya user memindahkan file kedalam directory yang
diinginkan. Lalu user masuk ke dalam terminal dan memasukan perintah sebagai
berikut:
$bunzip2 ns-allinone-3.11.tar.bz2
$tar xvf ns-allinone-3.11.tar
$cd ns-allinone-3.11
$./build.py
Pada perintah pertama, user akan meng-extract file yang sebelumnya
telah di compress untuk memperkecil file unduhan. Pada baris berikutnya, user
akan membuka file tar dengan flag xvf yang berarti mengekstrak (x),
menampilkan log selama dilakukan ekstraksi (v), dan melakukan ekstraksi dari

suatu file (f). Setelah ekstraksi selesai dilakukan, pada perintah baris ketiga, user
akan pindah directory dan masuk kedalam directory ns-allinone-3.11. Setelah
memasuki directoy ns-allinone-3.11, user akan mengeksekusi file shell
programming bernama build.pydengan perintah pada baris ke empat. Setelahnya
user akan melihat pesan compiler yang sangat banyak hingga proses instalasi
berhenti saat muncul pesan :
$Build finished successfully (00:02:37)
$Leaving directory `./ns-3-allinone'
Jika pesan tersebut sudah muncul, maka selanjutnya adalah user akan
memasuki directory ns-3.11 dengan memasukan perintah:
$cd ns-3.11
Untuk selanjutnya, aplikasi NS-3 harus dijalankan dari directory tersebut.
Selanjutnya, dilakukan proses testing dengan mengeksekusi file shell programming
bernama test.py dengan memasukan perintah:
$./test.py
Sehingga akan menghasilkan output seperti:
PASS: TestSuite histogram
PASS: TestSuite ns3-wifi-interference
PASS: TestSuite ns3-tcp-cwnd
PASS: TestSuite ns3-tcp-interoperability
PASS: TestSuite sample
...
Proses instalasi selesai setelah proses testing berakhir dan aplikasi NS-3
sudah siap untuk digunakan.

Untuk dapat mengeksekusi file simulasi yang sudah user buat atau
mengeksekusi contoh-contoh file yang disediakan oleh NS-3, user harus
memasukan perintah-perintah berikut ke dalam terminal :
$cd ns-allinone-3.11
$cd ns-3.11
$./waf --run hello-simulator
Pada baris perintah pertama dan kedua, user akan memasukin directory
ns-3.10 sebelum dapat mengeksekusi file. Pada baris ketiga, user akan mulai
mengeksekusi file yang ada dalam contoh, eksekusi file menggunakan waf, yang
merupakan file konfigurasi untuk menjalankan program simulasi dan file yang akan
dieksekusi bernama hello-simulator.cc.
Setelah menulis file simulasi dari jaringan, maka file tersebut harus di
kompilasi untuk menjadi program yang dapat dipergunakan. Salah satu tools yang
bisa digunakan untuk melakukan kompilasi antara lain adalah waf. Waf adalah
salah satu kompilator terbaru yang dibangun dengan basis bahasa python. Karena
itu waf menjadi salah satu pilihan terbaik untuk menjalan kan file NS-3 dimana NS3 juga dibangun menggunakan bahasa python. Waf dapat mengkompilasi data
python dari sistem NS-3 tanpa mengharuskan user menguasai bahasa pemrograman
python.

2. Proses Menjalankan Program


Pada bagian ini akan dijelaskan tahap-tahap menjalankan program pada network simulator
NS-3.

1.

Masuk ke dalam directory ns-3-dev.


$cd

2.

ns-3-dev

Eksekusi program dengan menggunakan waf.


$./waf --run final

3.

Jika ingin merubah parameter-parameter dari program pada saat compile-time, eksekusi
program dengan flag --PrintHelp.
$./waf --run final --PrintHelp
Dengan mengeksekusi file dengan flag tersebut, akan muncul parameter-parameter yang
dapat diubah dari program.

Gambar L.1 Parameter Yang Terdapat Dalam Program


Nilai awal dari tiap parameter adalah:
-

jalur = 1;

Untuk menjalankan program dengan parameter yang akan kita ubah.


$./waf --run final --jalur=2
Pada perintah diatas dapat digunakkan untuk compile beberapa jalur yang disediakan.

2.1
1.

Menjalankan Simulasi Untuk PDR


Saat kita ingin melakukan simulasi PDR, maka mulai simulasi dengan mengeksekusi
program dengan perintah pada terminal.
$./waf --run final --jalur=1
$./waf --run final --jalur=2
Eksekusi program diatas dapat diartikan jalankan program untuk menghitung PDR
dengan jalur Tunnel1 dan RedundantTunnel1. simpan hasil output kedalam file
bernama temp.dat. Setelah itu semua hasil output dari terminal akan dipindahkan
kedalam file temp.dat. Jalannya simulasi berlangsung 1.2 , 1.5 , 1.8 , 2.1 , 2.4 , 2.7 ,
3.0 , 3.3 , 3.6 , 3.9 seconds dengan mengubah Simulator::Stop (Seconds (....)). Ulangi
simulasi sampai 3.9 seconds, maka akan didapat :
Jalur=1 [Tunnel1 ke server1 dan server2] :

Jalur=2 [Redundant Tunnel1 ke server1 dan server2]:

Gambar L.2 Output Program Untuk PDR


2.2

Menjalankan Simulasi Untuk Throughput


Pada perhitungan throughput, lakukan sesuai dengan langkah-langkah pada

perhitungan PDR dan eksekusi program dengan mengubah Simulator::Stop (Seconds (....)).
Ulangi simulasi sampai 3.9 seconds, maka akan didapat :
jalur=1[Tunnel1 ke server1 dan server2] :

Jalur=2 [Redundant Tunnel1 ke server1 dan server2] :

Gambar L.3 Output Program Untuk Throughput


2.3

Menjalankan Simulasi Untuk Delay


Pada perhitungan Delay lakukan sesuai dengan langkah-langkah pada perhitungan

PDR dan eksekusi program dengan mengubah Simulator::Stop (Seconds (....)). Ulangi
simulasi sampai 3.9 seconds, maka akan didapat :
jalur=1 [Tunnel1 ke server1 dan server2] :

Jalur=2 [Redundant Tunnel1 ke server1 dan server2] :

Gambar L.4 Output Program Untuk Delay


2.4

Menjalankan Simulasi Untuk Packet Loss Ratio


Pada perhitungan Packet Loss Ratio lakukan sesuai dengan langkah-langkah pada

perhitungan PDR dan eksekusi program dengan mengubah Simulator::Stop (Seconds (....)).
Ulangi simulasi sampai 3.9 seconds, maka akan didapat :
jalur=1[Tunnel1 ke server1 dan server2] :

Jalur=2 [Redundant Tunnel1 ke server1 dan server2] :

Gambar L.5 Output Program Untuk Packet Loss Ratio


Ploting gambar dengan menggunakan program gnuplot seperti pada perintah Menjalankan
Simulasi Untuk PDR pada no.2 dan 3.
2.5

Menjalankan QoE Monitoring

Download dan copy file qoe-monitor-example-1.cc and qoe-monitor-example2.cc dari folder qoe-monitor/example ke dalam folder ns-allinone-3.13/ns3.13/scratch

Lalu building dan compile module qoe-monitor di dalam folder ns-allinone-3.13/ns3.13

dengan command:

export CFLAGS="-Wall -ggdb -g3 -O0 -DSTDC_CONSTANT_MACROS

export CXXFLAGS="-Wall -ggdb -g3 -O0 DSTDC_CONSTANT_MACROS

export LINKFLAGS="-L/usr/local/include/libavcodec L/usr/local/include/libavformat/ L/usr/local/include/libavutil -lavcodec -lavformat lavutil

./waf configure

./waf

Tahap akhir adalah menjalankan example file module QoE Monitor dengan
sample video:
./waf --run scratch/qoe-monitor-example --command-template="gdb -args %s scratch/figure-test.mp4

Setelah dijalankan muncul pesan sebagai berikut:


Waf: Entering directory `/home/putut/tarballs/ns-allinone-3.13/ns-3.13/build'
Waf: Leaving directory `/home/putut/tarballs/ns-allinone-3.13/ns-3.13/build'
'build' finished successfully (0.840s)
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/putut/tarballs/ns-allinone-3.13/ns-3.13/build/scratch/qoemonitor-example-1...done.
(
g
d
b
)

r
u
n

Anda mungkin juga menyukai