MENJALANKAN PROGRAM NS-3 1. Rancangan Simulasi 1.1

advertisement
MENJALANKAN PROGRAM NS-3
1.
Rancangan Simulasi
1.1
Perangkat Keras yang Digunakan
Berikut spesifikasi perangkat keras (laptop) yang digunakan di dalam lingkungan
percobaan:
Manufacturer
: Asus
System Model : G74SX BBK7
BIOS
: Default System BIOS
Processor
: Intel(R) CPU Core(TM) i7-2630QM @ 2.00 GHz (8 CPUs)
Memory
: 8192MB RAM
DirectX
: DirectX 11
Display
: NVIDIA GeForce GTX 560M 2 GB
1.2
Perangkat Lunak yang Digunakan
Perangkat lunak yang digunakan dalam melakukan penelitian antara lain:
1.
Sistem operasi Linux Ubuntu 12.04 (Kernel 2.6.38);
2.
Network Simulator NS-3-Dev (NS-3.11);
3.
Wireshark;
1.3
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 open source 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 compiler 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
1.3.2
Instalasi
python-
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 ke dalam directory “ns-allinone-3.11”. Setelah
memasuki directoy “ns-allinone-3.11”, user akan mengeksekusi file shell
programming bernama “build.py”dengan 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 memasukkan 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
dikompilasi 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.
Gam
bar
L.1
Para
meter 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.
Download