analisis perbandingan unjuk kerja … jaringan 28 a) faktor-faktor simulasi 29 b) network simulator...
Post on 29-May-2018
222 Views
Preview:
TRANSCRIPT
1
ANALISIS PERBANDINGAN UNJUK KERJA PROTOKOL
AODV DAN DSDV PADA NETWORK SIMULATOR 3 (NS-3)
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Disusun oleh:
COSMAS DIPTA PANDHEGAYUSA
095314014
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERFORMANCE COMPARISON ANALYSIS OF AODV AND
DSDV ON NETWORK SIMULATOR 3 (NS-3)
A THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain The Sarjana Komputer Degree
In Informatics Engineering Study Program
Created by:
COSMAS DIPTA PANDHEGAYUSA
095314014
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
HALAMAN MOTTO
“Jika kamu tak bisa menyampaikan dengan sederhana, berarti kamu tak cukup
paham.” --Albert Einstein
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PERNYATAAN KEASLIAN KARYA
Dengan ini, saya menyatakan bahwa skripsi ini tidak memuat karya milik orang
lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana
layaknya karya ilmiah.
Yogyakarta, Agustus 2015
Penulis,
Cosmas Dipta Pandhegayusa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
ABSTRAK
Jaringan ad-hoc adalah salah satu konsep komunikasi komputer, yang berarti
bahwa pengguna (user) ingin berkomunikasi dengan bentuk jaringan temporer
yang lain, tanpa suatu bentuk administrasi yang terpusat. Masing-masing node
berpartisipasi sebagai host dan router dan oleh karena itu bersedia meneruskan
paket ke node yang lain. Untuk tujuan ini, protokol routing dibutuhkan.
Protokol AODV merupakan salah satu protokol ad-hoc yang bersifat reaktif,
yaitu proses pencarian rute hanya akan dilakukan ketika dibutuhkan komunikasi
antara node sumber dan node tujuan. Sedangkan protokol DSDV merupakan
protokol ad-hoc bersifat proaktif, dimana node akan memperbarui tabel routing
yang dimilikinya secara periodik.
Parameter unjuk kerja yang diukur antara lain, throughput, delay, dan routing
overhead. Skenario simulasi dilakukan dengan pergerakan node minimal,
penambahan jumlah node, dan komunikasi yang terjadi hanya satu arah, yaitu
banyak node sumber menuju ke satu node tujuan (sink).
Kata kunci: AODV, DSDV, throughput, delay, routing overhead, NS-3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
ABSTRACT
Ad-hoc networking is a concept in computer communications, which means that
users want to communicate with each other form a temporary network, without
any form of centralized administration. Each node participating in the network
acts both as host and a router and must therefore be willing to forward packets to
other nodes. For this purpose, a routing protocol is needed.
AODV is an ad-hoc protocol tends to reactive, searching path only when it is
required to communicate between source node and destination node. While
DSDV is a proactive ad-hoc protocol, node will update its routing table
periodically.
Quality of service parameters that are measured, are throughput, delay, and
routing overhead. Simulation scenarios have minimal movement, increment node
amount, and one-way communication, from source nodes to a destination node
(sink).
Keywords: AODV, DSDV, throughput, delay, routing overhead, NS-3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS
Yang bertandatangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Cosmas Dipta Pandhegayusa
NIM : 095314014
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul:
“ANALISIS PERBANDINGAN UNJUK KERJA PROTOKOL AODV DAN
DSDV PADA NETWORK SIMULATOR 3 (NS-3)”
bersama perangkat yang diperlukan (bila ada). Dengan demikian saya
memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk
menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk
pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di
internet atau media lain untuk kepentingan akademis tanpa perlu memberikan
royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 9 September 2015
Penulis,
Cosmas Dipta Pandhegayusa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
KATA PENGANTAR
Setelah penantian dan penundaan yang hampir tak berujung. Akhirnya
penulis dapat menyelesaikan skripsi yang pasti tak tepat waktu ini. Penulis
menghaturkan syukur tak terhingga kepada Tuhan Sang Penguasa Semesta atas
segalanya hingga skripsi ini dapat selesai. Tentu saja penulis menghaturkan
terima kasih kepada:
1. kedua orang tua tercinta atas dukungan materi dan moral serta doa yang
tak henti mengalir;
2. kakak tersayang dan suami atas perhatian dan semangat;
3. keluarga besar eyang Projosuyitno dan simbah Suyud atas perhatian dan
dukungan;
4. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku dekan;
5. Bapak Iwan Binanto, M.Cs. atas pendampingan dan bimbingan serta
selaku dosen pembimbing skripsi dan pembimbing akademik;
6. Bapak H. Agung Hernawan, S.T., M.Kom selaku ketua penguji;
7. Bapak Puspaningtyas Sanjoyo Adi, S.T, M.T. selaku sekretaris penguji;
8. keluarga besar Lens Club Sanata Dharma atas dukungan kegembiraan;
9. teman-teman “Pencokan Sorwaru” atas dukungan, kelucuan dan
pingpong-nya;
10. teman-teman grup “Ndlogok” atas kegilaan bersama;
11. teman-teman kos Bapak Winarno atas waktu bersama;
12. teman-teman kos Manis Manja atas waktu bersama,
13. teman-teman angkatan 2009 Teknik Informatika Sanata Dharma;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
14. teman-teman Lir Space atas pengalaman,
15. Bapak Pinto N.H dan Bapak Layung Buworo atas motivasi dan
petuahnya,
16. Christina Wienda atas dukungan, kebersamaan, serta cinta yang telah
diberikan;
17. Serta pihak-pihak yang tidak bisa penulis sebutkan karena
keterbatasannya.
Akhir kata semoga skripsi ini dapat bermanfaat bagi kemajuan ilmu pengetahuan
nusa dan bangsa.
Yogyakarta, Agustus 2015
Penulis,
Cosmas Dipta Pandhegayusa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
DAFTAR ISI
HALAMAN MOTTO iii
PERNYATAAN KEASLIAN KARYA iv
ABSTRAK v
ABSTRACT vi
KATA PENGANTAR viii
DAFTAR ISI x
DAFTAR TABEL xiii
DAFTAR GAMBAR xiv
BAB I 1
PENDAHULUAN 1
1.1. Latar Belakang 1
1.2. Rumusan Masalah 3
1.3. Tujuan 3
1.4. Batasan Masalah 3
1.5. Metodologi Penelitian 4
1.6. Sistematika Penulisan 4
BAB II 6
LANDASAN TEORI 6
2.1. Routing 6
a) Link State 6
b) Distance Vector 7
c) Source Routing 8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
2.2. User Datagram Protocol (UDP) 8
2.3. Mobile Ad-hoc Network (MANET) 10
a) Ciri Utama 13
b) Kelebihan dan Kekurangan 14
c) Aplikasi 17
2.4. Protokol Routing Mobile Adhoc Network 19
2.5. AODV (Adhoc On-Demand Distance Vector) 20
a) Cara Kerja AODV 21
b) Manajemen Tabel Rute 23
c) Konsep Menarik AODV 23
d) Keterbatasan/keuntungan AODV 25
2.6. DSDV (Destination Sequenced Distance Vector) 26
a) Cara kerja DSDV 26
b) Keuntungan DSDV 26
c) Keterbatasan DSDV 27
2.7. Unjuk Kerja Jaringan 27
a) Throughput 27
b) Delay 27
c) Routing Overhead 28
2.8. Simulasi Jaringan 28
a) Faktor-faktor Simulasi 29
b) Network Simulator - 3 (NS-3) 31
2.9. AWK 34
BAB III 36
PERANCANGAN SIMULASI JARINGAN 36
3.1. Analisis Masalah 36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
3.2. Analisa Kebutuhan Perangkat Keras dan Lunak 36
3.3. Skenario Simulasi 37
3.4. Parameter Unjuk Kerja 39
3.5. Topologi Jaringan 41
3.6. Trace Output 46
a. Output Trace File .txt 46
b. Output Trace File .tr 47
BAB IV 50
ANALISA DATA DAN PEMBAHASAN 50
4.1. Implementasi Simulasi 50
4.2. Throughput 50
4.3. Delay 52
4.4. Routing Overhead 53
BAB V 57
SIMPULAN DAN SARAN 57
5.1. Simpulan 57
5.2. Saran 57
DAFTAR PUSTAKA 58
LAMPIRAN 61
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
DAFTAR TABEL
Tabel 2.1 : Aplikasi MANET………………………………………………….. 17
Tabel 3.1 : Tingkat Kepadatan………………………………………………... 37
Tabel 3.2 : Parameter Simulasi…...……………………………………………..38
Tabel 3.3 : Parameter dan Hasil Simulasi.…………………….…….…………. 46
Tabel 3.4 : Potongan Trafik yang Terjadi………..………….…………………. 47
Tabel 3.5 : Contoh Isi File Output .tr dari AODV…………...…………………48
Tabel 3.6 : Klasifikasi Trace Output……………………………………………48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR
2.1 : Format header UDP………………………………………………………..9
2.2 : Perangkat MANET………………………………………………………...11
2.3 : Klasifikasi protokol routing MANET……………………………………..20
3.1 : Potongan penghitungan routing overhead…………………………………41
3.2 : Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m…………42
3.3 : Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m…………42
3.4 : Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m…………43
3.5 : Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m…………43
3.6 : Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m…………44
3.7 : Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m…………44
3.8 : Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m…………45
3.9 : Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m…………45
3.10 : Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m………..46
4.1 : Grafik throughput AODV dan DSDV……………………………………..52
4.2 : Grafik rata-rata delay AODV dan DSDV………………………………….53
4.3 : Grafik routing overhead AODV dan DSDV……………………………….54
4.4 : Grafik routing overhead AODV…………………………………………...55
4.5 : Grafik routing overhead DSDV……………………………………………56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
MANET (Mobile Adhoc Network) adalah jaringan wireless yang
tidak mempunyai infrastruktur yang tetap atau administrasi yang terpusat.
Node pada jaringan ini bergerak secara acak dan berubah-ubah sehingga
topologi jaringan ini dapat berubah dengan cepat dan tidak dapat
diperkirakan. (Basagni et al. 2004). Saat terjadi bencana atau di tempat
yang terpencil, serta untuk kepentingan militer yaitu saat perang, teknologi
ini sangat membantu.
Pada implementasi MANET, diperlukan adanya aturan atau protokol
untuk mengatur rute yang akan digunakan. Hingga saat ini belum ada
standar yang mengatur tentang protokol routing pada jaringan adhoc.
Protokol routing yang ada sangat banyak dan setiap protokol memiliki
kelebihan dan kekurangannya masing-masing.
AODV (Adhoc on Demand Distance Vector) yang bersifat reaktif
mengambil sebagian besar fungsi menguntungkan dari algoritma DSR dan
DSDV. Pencarian rute on demand dan pemeliharaan rute dari DSR dan
routing hop-by-hop, penggunaan urutan angka node dari DSDV membuat
protokol ini menguasai topologi dan informasi routing. Pemberlakuan rute
on-demand secara murni membuat AODV sangat berguna dan dibutuhkan
untuk MANET. Jika melihat fungsi yang diambil oleh AODV, seharusnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
kemampuan unjuk kerjanya lebih baik daripada DSDV tetapi, tetap akan
dibuktikan secara ilmiah melalui tugas akhir ini mana yang mempunyai
kemampuan lebih baik
DSDV (Destination Sequenced Distance Vector) adalah protokol
MANET yang menggunakan algoritma distance vector dalam menentukan
rute yang akan dilewati. DSDV adalah protokol routing yang bersifat
proaktif dan merupakan pengembangan dari algoritma routing
konvensional Bellman-Ford. DSDV masuk kategori protokol table-driven
karena sifat proaktifnya.
Kedua protokol di atas menggunakan protokol dasar distance vector
tetapi menggunakan algoritma yang berbeda, dimana DSDV merupakan
protokol proaktif sedangkan AODV adalah reaktif (on-demand). Distance
vector lebih efisien komputasi, lebih mudah diimplementasikan, dan
membutuhkan ruang penyimpanan lebih sedikit yang sesuai dengan
karakteristik MANET.
Pengukuran unjuk kerja dilakukan dengan beberapa parameter
pengukuran. Penghitungan rerata throughput, rerata delay, dan routing
overhead jaringan menjadi pilihan parameter untuk membandingkan unjuk
kerja kedua protokol tersebut.
Penulis telah mencoba mobile ad-hoc network secara nyata selama 6
bulan lebih. Tetapi banyak hambatan dan kesulitan terutama dalam hal
teknis perangkat keras dan lunak. Karena keterbatasan waktu dan biaya,
penulis memutuskan untuk mengubah teknis implementasi dari nyata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
menjadi simulasi. Perangkat simulator yang digunakan yaitu Network
Simulator 3.
1.2. Rumusan Masalah
Berdasarkan latar belakang di atas, rumusan masalah yang ingin
diteliti yaitu membandingkan unjuk kerja protokol MANET; AODV dan
DSDV, dilihat dari parameter nilai ukur unjuk kerja, yaitu throughput,
delay, dan routing overhead menggunakan perangkat lunak Network
Simulator 3 (NS-3).
1.3. Tujuan
Tujuan dari penulisan tugas akhir ini yaitu mengukur kinerja dari
masing-masing protokol menggunakan parameter nilai ukur unjuk kerja,
yaitu throughput, delay, dan routing overhead.
1.4. Batasan Masalah
Batasan masalah yang ditentukan agar tugas akhir ini lingkupnya tidak
terlalu luas antara lain:
1. Protokol routing MANET yang digunakan yaitu AODV dan DSDV.
2. Jumlah node yang digunakan merupakan kelipatan 50 antara lain 50,
100, 150, 200, 250, 300, 350, 400, dan 450 buah.
3. Ukuran paket yaitu 1024 Kilobit (Kb).
4. Rate 802.11 b DSSS 11 Mbps.
5. Penempatan dan pergerakan tiap node direncanakan acak.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
6. Parameter unjuk kerja yang dihitung adalah throughput, delay, dan
routing overhead.
7. Tools yang digunakan dalam implementasi jaringan yaitu Network
Simulator – 3 (NS-3) versi 3.20 dan script AWK untuk menghitung
routing overhead masing-masing protokol MANET.
1.5. Metodologi Penelitian
Metodologi penelitian yang dilakukan dalam penyusunan tugas akhir ini
meliputi,
1. Studi literatur mengenai jaringan wireless, mobile adhoc network,
AODV, DSDV, nilai ukur unjuk kerja jaringan, dan simulasi jaringan
serta NS-3.
2. Merancang skenario MANET yang akan diimplementasikan dengan
NS-3.
3. Implementasi skenario yang sudah dirancang.
4. Melakukan peerbandingan unjuk kerja dari skenario yang
diimplementasikan.
5. Analisa dan menarik kesimpulan dari simulasi MANET menggunakan
NS-3.
1.6. Sistematika Penulisan
BAB I : PENDAHULUAN
Bab ini berisi latar belakang penulisan tugas akhir, rumusan masalah,
batasan masalah dan sistematika penulisan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II : LANDASAN TEORI
Bagian ini menjelaskan mengenai teori yang berkaitan dengan
judul/masalah di tugas akhir. Dimulai dengan teori dasar routing, MANET,
protokol routing MANET, AODV, DSDV, unjuk kerja jaringan, simulasi
jaringan dan NS-3, serta AWK scripts.
BAB III : ANALISIS PERANCANGAN
Bab yang berisi analisis masalah, skenario simulasi, parameter kinerja,
topologi jaringan, dan pengambilan data unjuk kerja (trace output)..
BAB IV : PENGUJIAN DAN ANALISIS HASIL PENGUJIAN
Bab ini berisi hasil analisis data pengujian jaringan. Dimulai dari
implementasi simulasi, hasil throughput, hasil delay, dan hasil routing
overhead.
BAB V : SIMPULAN DAN SARAN
Bab ini berisi beberapa kesimpulan yang didapat dan saran-saran
berdasarkan hasil analisis data pengujian jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
LANDASAN TEORI
Bab ini berisi tentang teori-teori yang akan digunakan sebagai acuan
dalam penulisan tugas akhir. Sebagian besar teori yang dipakai berasal dari buku,
jurnal ilmiah, dan internet.
Teori yang dipakai dibagi menjadi dua, yaitu teori umum dan teori
khusus. Didalam teori umum akan dijelaskan mengenai teori dasar yang
berhubungan dengan jaringan wireless. Pada teori khusus akan dijabarkan
mengenai hal yang lebih spesifik tentang tugas akhir ini. Teori yang secara
langsung dipakai untuk menjawab permasalahan yang dihadapi. Mulai dari
penjabaran MANET (Mobile Ad-hoc Network), protokol routing, protokol
routing MANET secara umum dan protokol AODV serta DSDV secara khusus,
dan parameter pengukuran kinerja jaringan yaitu throughput, delay, dan routing
overhead.
2.1. Routing
Dikarenakan banyak protokol routing ad-hoc yang diusulkan memiliki
algoritma tradisional yang mendasar, penting untuk dipahami operasi dasar
pada protokol konvensional seperti distance vector, link state, dan source
routing.
a) Link State
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Menurut Tony Larsson dan Nicklas Hedman (1998), tiap node
mengurus gambaran topologi lengkap dengan bobot untuk setiap link.
Untuk menjaga bobot link tersebut konsisten, setiap node secara periodik
melakukan broadcast bobot link ke semua link diluar menggunakan
flooding. Setelah tiap node menerima informasi, node melakukan update
gambaran jaringan dan menerapkan algoritma rute terpendek untuk
memilih hop selanjutnya untuk setiap tujuan. Beberapa bobot link pada
gambaran node dapat keliru karena panjang jeda propagasi, jaringan
yang terbagi, dan sebagainya. Gambaran topologi jaringan yang tidak
konsisten dapat membentuk routing-loops. Loops ini bagaimanapun
berumur pendek, karena loops tersebut menghilang saat membawa pesan
melintasi diameter jaringan.
b) Distance Vector
Tiap node tidak hanya memonitor bobot link yang keluar, tapi juga
melakukan broadcast informasi ini ke semua node, secara periodik
melakukan broadcast ke setiap tetangganya untuk perkiraan jarak
terpendek ke setiap node lain didalam jaringan. Node penerima
kemudian menggunakan informasi ini untuk kalkulasi ulang tabel
routing, dengan menggunakan algoritma jarak terpendek.
Algoritma distance vector berbasiskan pada algoritma Bellman-
Ford. Algoritma Bellman-Ford adalah algoritma yang menghitung jarak
terpendek dari puncak/ujung sumber tunggal ke simpul yang lain pada
digraph berbobot. Algoritma ini lebih lambat daripada algoritma
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Dijkstra untuk masalah yang sama, tapi lebih serba guna, karena mampu
menangani graf dimana beberapa dari bobot tepi bernilai negatif.
Dibandingkan dengan link-state, distance vector lebih efeisien
komputasi, lebih mudah diimplementasikan dan membutuhkan ruang
penyimpanan lebih sedikit. Bagaimanapun, hal tersebut diketahui bahwa
distance vector dapat membentuk keduanya, routing loops berumur
pendek dan berumur panjang. Penyebab utama hal ini bahwa node
memilih sendiri hop selanjutnya dalam sikap yang terdistribusi sesuai
informasi yang dapat menjadi basi.
c) Source Routing
Source routing berarti bahwa masing-masing paket harus
membawa lintasan yang lengkap yang harus dilewati paket didalam
jaringan. Pemilihan routing dibuat di sumber. Keuntungan pendekatan
ini bahwa sangat mudah untuk menghindari routing loops. Kerugiannya
adalah masing-masing paket membutuhkan overhead kecil.
2.2. User Datagram Protocol (UDP)
UDP disebut protokol transport yang connectionless, tidak bisa
diandalkan (unreliable). Protokol ini tidak menambah apapun ke layanan IP
kecuali untuk menyediakan komunikasi process-to-process daripada
komunikasi host-to-host. UDP menawarkan hanya layanan transport
minimal-pengiriman datagram tak bergaransi—dan memberi aplikasi akses
langsung ke layanan datagram dari IP layer. UDP digunakan oleh aplikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
yang tidak membutuhkan layanan tingkat TCP atau yang ingin menggunakan
layanan komunikasi (seperti, pengiriman multicast atau broadcast) tidak
tersedia dari TCP. UDP adalah protokol hampir null/batal; layanan yang
hanya disediakannya melalui IP adalah checksumming data dan multiplexing
oleh nomer port. Oleh karena itu, program application yang berjalan melalui
UDP harus berhubungan langsung dengan masalah komunikasi end-to-end
yang protokolnya connection-oriented dapat ditangani—seperti, transmisi
ulang pengiriman yang handal, paketisasi dan pengumpulan-ulang, flow
control, pencegahan kesesakan, dsb, dimana hal tersebut yang dibutuhkan.
Penggabungan kompleks yang wajar antara IP dan TCP akan dicerminkan
pada penggabungan antara UDP dan banyak apliasi yang menggunakan
UDP.
Karakter UDP connectionless berarti pesan UDP akan dikirimkan tanpa
proses negosiasi antara dua host yang hendak bertukar informasi. Unreliable
maksudnya bahwa pesan UDP akan dikirimkan sebagai datagram tanpa
adanya nomor urut.
Gambar 2.1 Format Header UDP
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Penjelasan mengenai gambar format header di atas:
a) Source port
Digunakan untuk mengidentifikasi sumber protokol lapisan aplikasi
yang mengirim pesan UDP yang bersangkutan.
i. Destination port
Mengidentifikasi tujuan protokol lapisan aplikasi yang menjadi
tujuan UDP yang bersangkutan.
ii. Length
Mengindikasi panjang pesan UDP (pesan UDP ditambah header
UDP) dalam satu byte.
iii. Checksum
Berisi informasi pengecekan integritas dari pesan UDP yang
dikirimkan (header dan pesan UDP)
2.3. Mobile Ad-hoc Network (MANET)
Mobile Ad-hoc Network (MANET) merupakan sebuah jaringan yang
terdiri dari gabungan perangkat-perangkat bergerak (mobile) tanpa
infrastruktur, sehingga membentuk jaringan yang bersifat sementara. Tiap
perangkat memiliki antarmuka nirkabel dan saling berkomunikasi melalui
gelombang radio, kemudian tiap perangkat tersebut dinamakan node.
Beberapa contoh ad-hoc node yaitu laptop dan personal digital assistant
(PDA) yang saling berkomunikasi secara langsung satu sama lain. (Larsson
dan Hedman, 2009). Karena peralatan ad-hoc bisa bermacam-macam, maka
seperti Gambar 2.9 diperlihatkan kemungkinan topologi pada jaringan ad-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
hoc, yaitu terdiri dari perangkat yang berbeda-beda (heterogen) atau sejenis
(homogen).
Gambar 2.2 Perangkat MANET
MANET memiliki karakteristik antara lain:
i. Tidak memerlukan infrastruktur (infrastructure-less);
ii. Dukungan infrastruktur yang minim atau bahkan tidak ada sehingga
node harus dapat mengelola dan memelihara sendiri (self-organizing
dan self-managing);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
iii. Setiap node yang mempunyai sifat mobility dapat memiliki beberapa
interface yang terhubung ke beberapa node lainnya (multiple
wireless link);
iv. Sering terjadi hilang konektivitas karena topologi jaringan yang
berubah-ubah, node yang terus bergerak.
v. Node bersifat mobile oleh karena itu pasti nirkabel.
vi. Semua node bisa berupa host atau router, disaat sebuah node ingin
menghubungi node lain yang melebihi single hop-nya maka
diperlukan node lain yang berfungsi sebagai router.
vii. Multi-hop diperlukan karena cakupan area single-hop dalam
jaringan ad-hoc tidak cukup luas. Hal ini membatasi komunikasi
antar node.
viii. Limited resources, jaringan ad-hoc dibatasi oleh masalah daya
(power) dan kapasitas memori. Disaat node berpindah, node tidak
mendapatkan konsumsi daya listrik sehingga menggunakan baterai
yang memiliki keterbatasan.
Dalam MANET, node juga berfungsi sebagai router yang
meneruskan paket ke node lainnya. Node dapat bergerak bebas, tidak
tergantung satu sama lain. Topologi pada jaringan ini terus berganti
secara dinamis yang membuat routing semakin susah. Oleh karena itu,
routing merupakan salah satu hal yang paling diperhatikan dalam
jaringan ini. Protokol routing normal yang bekerja dengan baik pada
jaringan tetap tidak memperlihatkan performa yang sama pada MANET.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Pada jaringan ini protokol routing harus selalu dinamis sehingga dapat
menanggapi pergantian topologi.
a) Ciri Utama
MANET terdiri dari kelompok mobile host membentuk
jaringan sementara pada wireless link tanpa bantuan administrasi
terpusat atau dukungan layanan standar secara teratur yang tersedia
pada jaringan area luas dimana host biasanya tersambung. RFC
2501 oleh kelompok kerja MANET pada IETF menunjukkan yang
berikut sebagai beberapa ciri MANET yang cocok:
1. Topologi dinamis: node dapat bergerak bebas dan dengan
kecepatan berubah-ubah. Oleh karena itu, jaringan harus
beradaptasi sendiri untuk perubahan tak terduga pada
topologinya yang biasanya multihop.
2. Kendala bandwidth: pembatasan yang diberlakukan oleh kanal
wireless, seperti beberapa akses, beberapa gangguan, noise,
fading dan ketersediaan spektrum terbatas, bersama dengan
masalah yang melekat pada protokol MAC harus berurusan
dengannya, membuat throughput untuk masing-masing node
jauh lebih sedikit dari tingkat transmisi data radio maksimum.
3. Kendala operasi energi: perangkat yang membentuk bagian
dari MANET mungkin daya terbatas karena keadaan fungsinya
(seperti dalam jaringan sensor, sebagai contoh, dimana
memaksimalkan kehidupan jaringan rata-rata adalah syarat
desain), karenanya, algoritma routing harus mengelola isu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
dengan tepat, yang dapat menjadi rumit jika dozing mode
diterima untuk terminal.
4. Keamanan fisik terbatas: jaringan mobile nirkabel rentan
mendapat kurangnya keamanan dan dapat diserang cukup
mudah. Teknik keamann yang ada diterapkan pada lapisan link
untuk mengurangi resiko, tapi beberapa mekanisme dapat juga
diperkenalkan pada lapisan jaringan. Di sisi lain, kenyataan
menjadi jaringan desentralisasi menyediakan tambahan
kekuatan melawan kegagalan titik tunggal.
b) Kelebihan dan Kekurangan
Beberapa kelebihan MANET antara lain,
● Instalasi cepat: tingkat keluwesan untuk pengaturan MANET
tinggi, sejak tidak membutuhkan instalasi sebelumnya atau
infrastruktur dan, demikian dapat dibawa dan diruntuhkan dalam
waktu singkat.
● Topologi dinamis: node dapat bebas bergerak di sekitar jaringan
dan dapat menghilang dari MANET, supaya grafik topologi
jaringan dapat berubah terus-menerus pada kecepatan yang
belum ditentukan.
● Toleransi kesalahan: karena keterbatasan antarmuka radio dan
topologi dinamis, MANET mendukung kegagalan koneksi,
karena routing dan protokol kontrol transmisi didesain untuk
mengelola keadaan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
● Konektivitas: penggunaan titik terpusat atau gerbang tidak
diperlukan untuk komunikasi didalam MANET. Karena
kolaborasi antar node dalam tugas pengiriman paket.
● Mobilitas: wireless mobile nodes dapat bergerak bersamaan pada
arah berbeda. Meskipun algoritma routing menangani masalah
ini, simulasi kinerja menunjukkan bahwa ada tingkat ambang
dari mobilitas node seperti operasi protokol mulai untuk gagal.
● Biaya: MANET dapat lebih ekonomis pada beberapa kasus
karena menghilangkan biaya infrastruktur tetap dan mengurangi
konsumsi daya pada node bergerak.
● Kemungkinan penggunaan spektrum kembali: karena
komunikasi link pendek (node ke node daripada node ke pusat
base station), tingkat emisi radio dapat dijaga pada tingkat
randah. Hal itu meningkatkan kemungkinan penggunaan
kembali spektrum atau kemungkinan penggunaan band tanpa
izin.
Beberapa kekurangan MANET yaitu;
● Keterbatasan bandwidth: seperti pernyataan di atas, kapasitas
wireless link selalu lebih rendah daripada dengan kabel (wired).
● Kemampuan pemrosesan: sebagian besar node merupakan
perangkat tanpa CPU yang kuat.
● Keterbatasan energi: daya baterai terbatas pada semua
perangkat, yang tidak memperbolehkan waktu operasi tak
terbatas untuk node.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
● Latency tinggi: ketika desain konservasi energi telah
diterapkan, itu berarti bahwa node diam (tidur) ketika tidak
harus mengirim data apapun. Saat pertukaran data antara dua
node melewati node yang diam (tidur), delay mungkin lebih
tinggi jika algoritma routing memutuskan bahwa node tersebut
harus bangun.
● Kesalahan transmisi: atenuasi dan gangguan adalah akibat lain
dari wireless link yang menambah tingkat kesalahan/error.
● Keamanan: beberapa kerentanan dan serangan MANET dapat
dibagi menjadi dua, aktif dan pasif. Aktif yang terjadi ketika
penyerang menyuntik paket yang berubah-ubah ke dalam
jaringan dengan beberapa cadangan seperti menonaktifkan
jaringan. Pasif ketika penyerang hanya mencoba untuk
menemukan informasi berharga dengan mendengarkan lalu
lintas routing.
● Lokasi: pengalamatan adalah masalah lain di lapisan jaringan
pada MANET, sejak informasi mengenai lokasi pengalamatan
IP digunakan pada jaringan tetap menyediakan beberapa
fasilitas untuk routing yang tidak bisa diterapkan pada
MANET.
● Roaming: perubahan terus-menerus pada grafik konektivitas
jaringan ikut serta bahwa algoritma routing jaringan tetap tidak
bisa diterapkan pada MANET, karena hal itu berdasar pada
keberadaan jaminan jalan ke beberapa tujuan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
● Ketidaktersediaan secara komersil: MANET jauh dari
penggunaan pada komersil skala besar.
c) Aplikasi
Aplikasi MANET beranekaragam, dari kecil, jaringan statis
yang dibatasi sumber daya, skala besar, mobile, dan jaringan
berdinamis tinggi. Aplikasi yang khas adalah jaringan yang secara
efisien bertahan dan komunikasi yang dinamis harus mapan. Tabel
di bawah ini merupakan gambaran aplikasi MANET sekarang dan di
masa depan.
Aplikasi Layanan yang mungkin
Jaringan
taktis
Operasi dan komunikasi militer
Medan perang otomatis
Layanan
darurat
Operasi SAR
Penanggulangan bencana
Penggantian infrastruktur tetap pada kasus bencana
alam
Pemadaman kebakaran
Mendukung kerja dokter dan perawat di rumah sakit
Komersil
dan
lingkungan
sipil
E-commerce: pembayaran elektronik kapan pun dan
di mana pun
Bisnis: akses dinamis basis data, kantor bergerak
Layanan berkendara: jalan atau panduan kecelakaan,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
transmisi jalan dan kondisi cuaca, jaringan taksi,
jaringan antar-kendaraan
Stadion olahraga, bursa dagang, mall
Jaringan pengunjung di bandar udara
Jaringan
rumah dan
perusahaan
Jaringan nirkabel rumah/kantor
Konferensi, ruang rapat
Wilayah jaringan pribadi (Personal Area Network),
jaringan pribadi
Jaringan pada situs pembangunan
Penddikan Universitas dan kampus
Kelas virtual
Komunikasi adhoc selama rapat atau kuliah
Hiburan Permainan multi pengguna
Jaringan nirkabel P2P
Akses internet luar ruangan
Peliharaan robot
Taman
Jairngan
sensor
Sensor pintar aplikasi rumah dan embedded
Elektronik konsumen
Jaringan wilayah badan (BAN)
Pelacakan data dari kondisi lingkungan, pergerakan
binatang, deteksi biologi/kimia
Layanan Layanan diikuti: penerusan panggilan, ruang kerja
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
sadar
konteks
mobile
Layanan informasi: layanan lokasi spesifik, layanan
tergantung waktu
Infotainment: informasi turis.
Perluasan
cakupan
Memperluas akses jaringan selular
Menghubungkan dengna internet, intranet, dsb.
Tabel 2.1 Aplikasi MANET
2.4. Protokol Routing Mobile Adhoc Network
Pada umumnya protokol untuk jaringan ad-hoc terbagi dua tipe,
yaitu proaktif dan reaktif. Protokol routing reaktif bersifat on-demand,
artinya membentuk sebuah rute dari satu node sumber ke node tujuan
hanya berdasarkan pada permintaan node sumber tersebut. Kedua, protokol
routing proaktif bersifat table driven, dimana setiap node menyimpan tabel
yang berisi informasi rute ke setiap node yang diketahuinya. Informasi rute
diperbaharui secara berkala jika terjadi perubahan link. Penggunaan protokol
routing proaktif secara mendasar memberikan solusi terpendek end-to-end
delay, karena informasi routing selalu tersedia dan diperbaharui secara
berkala dibandingkan protokol routing reaktif.
Algoritma protokol routing yang digunakan termasuk dalam
klasifikasi protokol proaktif (table driven) dan reaktif (source-initiated on
demand).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Gambar 2.3 Klasifikasi Protokol Routing MANET
Protokol proaktif berusaha secara berkelanjutan mengevaluasi rute
didalam jaringan, jadi ketika paket butuh diteruskan, rute sudah diketahui
dan dapat digunakan dengan segera. Keluarga protokol distance-vector
adalah contoh dari skema proaktif.
Protokol reaktif, dilain pihak, memanggil penentuan prosedur rute
hanya sesuai permintaan. Jadi, ketika rute dibutuhkan, urutan prosedur
pencarian global dipergunakan. Keluarga algoritma flooding klasik termasuk
dalam kelompok reaktif. Skema proaktif mempunyai keuntungan ketika rute
dibutuhkan, jeda sebelum paket yang sebenarnya dapat dikirim sangat kecil.
Selain itu skema proaktif membutuhkan waktu untuk konvergen menuju
status tetap. Hal ini dapat menyebabkan masalah jika topologi berubah
berkali-kali.
2.5. AODV (Adhoc On-Demand Distance Vector)
AODV adalah protokol routing ad-hoc yang sangat sederhana,
efisien, efektif, dan tidak memiliki topologi tetap. Algoritma ini didukung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
dengan bandwidth terbatas yang tersedia pada media yang digunakan untuk
komunikasi nirkabel. AODV meminjam sebagian besar konsep
menguntungkan dari algoritma DSR dan DSDV. Pencarian rute on-demand
dan pemeliharaan rute dari DSR dan hop-by-hop routing, penggunaan
angka sekuen node dari DSDV membuat algoritma ini mengatasi topologi
dan informasi routing. Mendapatkan rute murni on-demand membuat
algoritma AODV sangat berguna dan diinginkan untuk MANET.
a) Cara Kerja AODV
Masing-masing node didalam jaringan memelihara tabel routing
dengan isi informasi routing ke node tetangganya, dan dua satuan
hitungan terpisah; nomor sekuen node dan broadcast-id. Ketika node
sumber (S) harus berkomunikasi dengan node tujuan (D), node tersebut
menambah broadcast-id miliknya dan inisiasi pencarian rute dengan
melakukan broadcast paket permintaan rute RREQ (Route Request) ke
tetangganya. Isi paket RREQ antara lain:
source-addr
source-sequence# - untuk memelihara kesegaran informasi tentang
rute sumber (source).
dest-addr
dest-sequence# - menetapkan seberapa segar sebuah rute ke tujuan
harus sebelum diterima sumber
hop-cnt
Pasangan ini (source-addr, broadcast-id) digunakan untuk
mengidentifikasi RREQ secara unik. Kemudian pembuatan catatan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
tabel rute dinamis mulai pada semua node pada jaringan yang berada
pada jalur dari S ke D.
RREQ berpindah dari node ke node, secara otomatis membuat
jalur balik dari semua node kembali ke sumbernya. Masing-masing
node yang menerima paket ini merekam alamat node yang diterimanya.
Ini disebut pengaturan jalur balik (Reverse Path Setup). Node
memelihara informasi ini sampai cukup waktu untuk RREQ melewati
jaringan dan menghasilkan balasan ke pengirim dan waktu tergantung
pada ukuran jaringan.
Sekali RREP (Route Reply) dihasilkan, RREP berjalan kembali
ke sumber, sesuai dengan jalur balik yang sudah diatur sampai
melewati node ini. Saat RREP kembali ke sumber, masing-masing
node sekitar jalur ini mengatur penunjuk penerus ke node dimana itu
menerima RREP dan rekaman nomor sekuen tujuan terbaru ke tujuan
yang diminta. Ini disebut Forwad Path Setup.
Jika sebuah node lanjutan menerima RREP yang lain setelah
propagasi, RREP pertama terhadap sumber mengecek nomor sekuen
tujuan dari RREP yang baru. Node lanjutan melakukan update
informasi routing dan propagasi RREP baru hanya.
Jika nomor sekuen tujuan lebih besar, atau
Jika nomor sekuen yang baru adalah sama dan nilai hop count
kecil, atau
Sebaliknya, itu hanya melewatkan RREP baru. Ini menjamin algoritma
loop-free dan hanya rute yang paling efektif yang digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
b) Manajemen Tabel Rute
Masing-masing node bergerak didalam jaringan memelihara
catatan tabel rute untuk masing-masing tujuan demi kepentingan tabel
rutenya. Masing-masing catatan berisi informasi berikut;
- Tujuan
- Next hop
- Nomor sekuen tujuan
- Tetangga yang aktif pada rute ini
- Waktu kadaluarsa untuk catatan tabel rute
Informasi penting yang lain terdapat didalam catatan sepanjang
nomor sekuen sumber dan tujuan disebut informasi soft-state yang
berasosiasi dengan catatan rute. Informasi tetangga yang aktif untuk
rute ini dipelihara sehingga semua node sumber yang aktif dapat diberi
tahu ketika link sepanjang jalur ke tujuan putus. Dan tujuan dari
permintaan waktu kadaluarsa adalah untuk membersihkan catatan
routing jalur balik dari seluruh node yang tidak terbentang pada rute
aktif.
c) Konsep Menarik AODV
Konsep AODV yang membuatnya dibutuhkan untuk MANET dengan
bandwidth terbatas antara lain;
Kompleksitas ruang minimal; algoritma memastikan bahwa node
yang tidak berada pada jalur aktif informasinya tidak dipelihara.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Pemanfaatan bandwidth maksimal; hal ini dapat dipertimbangkan
sebagai pencapaian utama dari algoritma.
Sederhana; hal ini sederhana dengan masing-masing node
bertindak sebagai sebuah router, memelihara tabel routing
sederhana, dan node sumber menginisiasi permintaan pencarian
jalur, membuat jaringan memulai sendiri.
Informasi routing paling efektif; setelah propagasi RREP, jika
node menemukan RREP dengan hop-count lebih kecil, melakukan
update routing informasinya dengan jalur yang lebih baik dan
mempropagasikannya.
Informasi routing paling baru; informasi routing diperoleh sesuai
permintaan.
Rute loop-free; algoritma memelihara rute loop-free dengan
menggunakan logika node sederhana membuang paket yang tidak
lebih baik untuk broadcast-id yang sama.
Sangat bisa diperluas; algoritma ini sangat bisa diperluas karena
ruang kompleksitas yang minimum dan broadcast terelakkan
ketika dibandingkan dengan DSDV.
Coping up dengan topologi dinamis dan link rusak; ketika node
didalam jaringan bergerak dari tempatnya dan topologi berubah
atau link didalam jalur aktif rusak, node lanjutan yang mencari
kerusakan link ini melakukan propagasi paket RERR (Route
Error).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
d) Keterbatasan/keuntungan AODV
- Kebutuhan akan media broadcast: Algoritma mengharapkan
bahwa node pada media broadcast dapat mendeteksi masing-
masing broadcast yang lain.
- Overhead pada bandwidth: Overhead pada bandwidth akan terjadi
dibanding DSR, ketika RREQ berjalan dari node ke node didalam
proses penemuan informasi rute sesuai permintaan, lalu membuat
rute kembali dengan alamat semua node yang dilalui dan
membawa semua informasi tersebut.
- Tidak ada penggunaan kembali informasi routing: AODV
kekurangan teknik pemeliharaan rute yang efisien. Informasi
routing selalu didapat sesuai permintaan, termasuk untuk kasus
trafik biasa.
- Rentan penyalahgunaan: Pesan dapat disalahgunaan untuk
serangan dari dalam termasuk gangguan rute, serangan rute,
isolasi node, dan konsumsi sumber daya.
- AODV kekurangan dukungan untuk metrik routing throughput
yang tinggi: AODV didesain untuk mendukung metrik hop count
paling pendek. Metrik ini menyukai panjang, link bandwidth
rendah lebih pendek, bandwidth link tinggi.
- Penemuan rute latency tinggi: AODV adalah protokol routing
reaktif. Ini berarti bahwa AODV tidak menemukan rute sampai
alur diinisiasi. Latency rute penemuan ini tinggi pada jaringan
mesh skala besar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
2.6. DSDV (Destination Sequenced Distance Vector)
Protokol routing DSDV merupakan protokol routing proaktif yang
dimodifikasi dari algoritma routing konvensional Bellman-Ford. Protokol ini
menambah atribut baru, nomor sekuen ke masing-masing catatan tabel rute
untuk masing-masing node. Tabel routing dipelihara pada masing-masing
node dan dengan tabel ini, node mengirim paket ke node lain pada jaringan.
a) Cara kerja DSDV
DSDV merupakan versi lebih baik dari algortima Bellman-Ford
dimana setiap node menjaga sebuah tabel yang berisi jarak terpendek
dan node pertama pada jarak terpendek dari setiap node lainnya yang
berada didalam jaringan. DSDV menyatukan update dari tabel dengan
meningkatnya urutan nomor untuk mencegah looping, untuk melawan
masalah menghitung yang tak terbatas, dan untuk mempercepat
pertemuan pada satu titik.
b) Keuntungan DSDV
Protokol routing DSDV mempunyai keuntungan antara lain,
Merupakan protokol yang efisien untuk pencarian rute. Ketika
sebuah rute ke suatu tujuan diperlukan, rute tersebut sudah ada pada
source.
Latency dalam penemuan rute sangat rendah.
Menjamin jalur bebas loop.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
c) Keterbatasan DSDV
DSDV juga memiliki keterbatasan antara lain,
DSDV perlu mengirim banyak pesan kontrol. Pesan ini penting
untuk menjaga topologi jaringan pada setiap node.
Akibat dari pengiriman pesan kontrol ini terlalu sering,
menghasilkan volume lalu lintas yang tinggi pada jaringan yang
padat dan mobile.
Diperlukan perhatian khusus untuk mengurangi jumlah pesan
kontrol.
2.7. Unjuk Kerja Jaringan
a) Throughput
Merupakan tingkat rerata keberhasilan pengiriman pesan melalui
kanal komunikasi. Data tersebut disampaikan melalui physical atau
logical link, atau melalui jaringan node tertentu. Throughput biasanya
diukur berdasarkan bits tiap waktu (bits/s atau bps). Untuk mengukur
nilai throughput sendiri dibutuhkan perhitungan sebagai berikut:
b) Delay
Merupakan selang waktu mulai dari paket dikirimkan oleh node
sumber sampai paket data tersebut berhasil diterima oleh node tujuan.
Waktu yang dihitung merupakan hasil rata-rata seluruh aliran paket data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
yang terjadi selama proses simulasi. Biasanya diukur dalam satuan detik
(s) atau milidetik (ms), khusus pada tugas akhir ini menggunakan satuan
detik (s).
c) Routing Overhead
Jumlah seluruh paket kontrol atau routing yang dihasilkan oleh
protokol routing selama simulasi. Seluruh paket yang dikirim maupun
diteruskan (forward) pada lapisan jaringan dipertimbangkan sebagai
routing overhead. Semakin rendah jumlah paket routing yang
dikirim/diteruskan maka semakin baik unjuk kerja routing overhead
protokol tersebut.
2.8. Simulasi Jaringan
Sebuah simulasi dapat dianggap sebagai suatu proses aliran entitas
jaringan, contoh: node dan paket. Ketika entitas tersebut bergerak melalui
sistem, mereka berinteraksi dengan entitas lain, bergabung dalam kegiatan
tertentu, memicu peristiwa, menyebabkan beberapa perubahan keadaan pada
sistem, dan meninggalkan proses. Sebuah urutan eksekusi memainkan peran
penting dalam mengawasi simulasi dan kadang-kadang digunakan untuk
mencirikan jenis simulasi.
Simulasi jaringan pada komunikasi dan penilitian jaringan komputer
adalah sebuah teknik dimana sebuah program memperagakan perilaku
jaringan baik dengan menghitung interaksi antara entitas jaringan yang
berbeda (host/router, link data, paket, dll) dengan menggunakan rumus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
matematika, atau sebenarnya menangkap dan memutar kembali pengamatan
dari produksi jaringan.
Keuntungan utama dari simulasi jaringan adalah simulasi yang
dilakukan tidak menyebabkan permasalahan atau bahkan membahayakan
jaringan yang sesungguhnya atau setidaknya membutuhkan inisialisasi baru
pada model elemen dan traffic. Oleh karena itu perilaku jraingan dan
berbagai aplikasi dan layanan yang mendukung dapat diamati secara leluasa
di laboratorium penguji; berbagai atribut lingkungan juga dapat dimodifikasi
dengan cara yang terkontrol untuk menilai bagaimana jaringan akan
berperilaku dibawah kondisi yang berbeda. (Braun and Staub, 2008, p.186)
a) Faktor-faktor Simulasi
Komponen struktural simulasi menurut Teerawat dan Hossain
(2009, p.7) terdiri dari:
i. Entities/Entitas
Entitas adalah obyek yang berinteraksi satu sama lain dalam
sebuah program simulasi untuk membuat beberapa perubahan pada
keadaan dari sistem. Entitas disini termasuk node komputer, paket,
aliran paket, atau obyek non-fisik seperti jam simulasi. Untuk
membedakan entitas yang berbeda, atribut yang unik ditugaskan untuk
masing-masing entitas.
ii. Resources
Sumber daya merupakan bagian dari sistem yang kompleks.
Secara umum, persediaan sumber daya yang terbatas harus dibagi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
diantara kumpulan entitas tertentu. Hal ini biasanya terjadi untuk
jaringan komputer, dimana bandwidth, air time, jumlah server,
misalnya, mewakili sumber daya jaringan yang harus dibagi diantara
entitas jaringan.
iii. Activities and Events
Dari waktu ke waktu, entitas terlibat dalam beberapa aktivitas
yang menciptakan peristiwa dan memicu perubahan dalam keadaan
sistem. Contoh aktivitas meliputi delay dan queueing. Ketika komputer
butuh untuk mengirimkan paket tetapi menemukan medium sedang
sibuk, maka harus menunggu sampai medium bebas. Dalam hal ini,
paket yang akan dikirim melalui udara tapi medium sibuk, paket
dikatakan terlibat dalam aktivitas menunggu.
iv. Scheduler
Scheduler memelihara daftar kejadian dan waktu eksekusinya.
Selama simulasi, scheduler menjalankan waktu simulasi menciptakan
peristiwa, dan mengeksekusinya.
v. Global Varieties
Dalam simulasi, variabel global dapat diakses oleh fungsi atau
entitas apa saja dalam sistem, dan pada dasarnya melacak beberapa
nilai umum simulasi tersebut. Variabel tersebut mungkin mewakili,
misalnya, panjang dari antrian paket dalam jaringan server tunggal,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
total air time sibuk dari jaringan nirkabel, atau jumlah paket yang
ditransmisikan.
vi. Random Number Generator (RNG)
Sebuah RNG diperlukan untuk memperkenalkan keacakan dalam
model simulasi. Nomor acak dihasilkan oleh pengambil nomor secara
berurutan dari urutan deterministik nomor pseudo-random, namun
nomor diambil dari urutan ini secara acak. Dalam pelaksanaannya,
RNG diinisialisasi dengan seed. Seed mengidentifikasi lokasi awal
dalam urutan pseudo-random, dimana sebuah RNG mulai memilih
angka. Simulasi berbeda diinisialisasi dengan seed yang berbeda
ehingga menghasilkan hasil yang berbeda (tapi secara statistik identik).
Dalam simulasi jaringan komputer, misalnya, proses kedatangan paket,
proses menunggu, dan proses layanan biasanya dimodelkan sebagai
proses acak. Sebuah proses acak dinyatakan oleh urutan variabel acak.
Proses acak ini biasanya dilaksanakan dengan bantuan dari suatu RNG.
vii. Statistic Gatherer
Tanggung jawab utama dari seorang pengumpul statistik adalah
untuk mengumpulkan data yang dihasilkan oleh simulasi sehingga
kesimpulan yang berarti dapat ditarik dari data tersebut.
b) Network Simulator - 3 (NS-3)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
NS-3 adalah sebuah network simulator peristiwa yang memiliki ciri
tersendiri yang ditargetkan secara utama untuk tujuan riset dan
pendidikan. Proyek NS-3, dimulai pada tahun 2006, adalah sebuah proyek
open source yang diatur oleh komunitas peneliti dan pengembang. Pada
MANET, NS-3 mempunyai beberapa fitur yang dapat dimanfaatkan
untuk memodelkan dan menguji MANET.
Dengan NS-3, MANET disimulasikan dengan membuat salah satu
skenario. Pembuatan topologi, node dan protokol yang digunakan untuk
MANET sudah didukung oleh NS-3. Dengan NS-3 kita dapat
menambahkan fungsi-fungsi baru didalam core NS-3 karena NS-3
bersifat open source. NS-3 dikembangkan menggunakan bahasa C++ di
lapisan inti dan script python. Fitur-fitur NS-3 diantaranya adalah sistem
atribut NS-3 terdokumentasi dengan baik. Setiap obyek NS-3 memiliki
seperangkat atribut (name, type, initial value) dan NS-3 selaras dengan
sistem nyata. Model node yang lebih seperti komputer nyata, dukungan
utama antarmuka seperti soket API dan IP atau perangkat driver
antarmuka (di sistem operasi Linux) serta NS-3 juga telah meng-update
model-model (memuat campuran model baru dan ported model). NS-3
juga terintegrasi dengan software/tools lain seperti Wireshark untuk
melihat trace output. Representasi hasil data simulasi pada NS-3 dapat
ditampilkan dalam bentuk grafik, sehingga memudahkan untuk
menganalisa dan mengevaluasi hasil terhadap suatu model jaringan
MANET.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Sebagai tools simulasi jaringan, NS-3 mempunyai model-model
untuk semua elemen jaringan yang terdapat pada jaringan real.
Elemen-elemen jaringan tersebut adalah:
1. Node. Dalam jargon internet, perangkat komputer yang terhubung ke
jaringan disebut host atau terkadang end-system. Dalam NS-3
abstraksi perangkat komputasi dasar atau komputer disebut node.
Abstraksi ini diwakili dalam C++ oleh kelas node. Kelas node
menyediakan metode untuk mengelola representasi perangkat
komputasi disimulasi. Kelas node menyediakan metode untuk
mengelola representasi perangkat komputasi disimulasi.
2. Aplikasi. Dalam NS-3 abstraksi dasar untuk program pengguna yang
menghasilkan beberapa kegiatan yang akan disimulasikan adalah
aplikasi. Abstraksi ini diwakili dalam C++ kelas Application. Kelas
Application menyediakan metode untuk mengelola representasi versi
NS-3 pada aplikasi-aplikasi level user dalam simulasi. Pengembang
diharapkan untuk mengkhususkan kelas Application dalam pengertian
pemrograman berorientasi obyek untuk membuat aplikasi baru.
3. Channel. Media dimana aliran data pada jaringan mengalir disebut
channel. Dalam dunia simulasi NS-3, seseorang menghubungkan
sebuah node ke obyek yang mewakili sebuah saluran komunikasi.
4. Net Device. Untuk terhubung dengan jaringan, komputer harus
memiliki perangkat keras yang disebut dengan peripheral card atau
Network Interface Cards (NICs).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
5. Topology Helpers. Dalam sebuah jaringan simulasi besar akan
diperlukan banyak koneksi untuk mengatur antar node, NetDevice
serta channel. NS-3 menyediakan apa yang disebut obyek Topology
Helpers untuk mengatur simulasi–simulasi jaringan semudah
mungkin.
2.9. AWK
AWK scripts merupakan Unix tool yang sangat bermanfaat untuk
melakukan proses parsing yang bentuknya menyerupai keluaran file keluaran
.tr yang bisa diartikan sebagai tabel. Proses parsing merupakan salah satu
teknik yang dipakai untuk mengambil data yang disediakan oleh trace-file.
Tiap tabel berisi beberapa record. Masing-masing baris pada file di atas
dianggap sebagai record. Kemudian tiap record terdiri atas beberapa field
yang dipisahkan dengan tanda spasi.
Ada beberapa cara untuk menggunakan AWK, tapi penulis hanya
menggunakan dua cara, yaitu:
1. Mengeksekusi perintah AWK sebagai command line.
awk [-F field-separator] ‘commands’ input-file(s)
Pada perintah di atas ‘commands’ adalah instruksi-instruksi AWK yang
ingin dijalankan. Penggunaan –F field separator sifatnya optional,
karena AWK menggunakan spasi sebagai default field separator.
2. Seluruh instruksi AWK kita tuliskan dalam sebuah file berekstensi .awk.
Kemudian pemanggilan perintah awk dilakukan dengan
awk –f awk-script-file input-file(s)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Opsi –f menyatakan bahwa instruksi AWK yang akan dijalankan berada
didalam awk-script-file. Sedangkan input-file(s) adalah file yang akan di-
scan oleh AWK.
Struktur AWK script pada dasarnya terdiri atas 3 bagian utama;
- Bagian awal ditandai dengan keyword BEGIN, adalah bagian yang
akan dieksekusi sekali sebelum proses scanning file.
- Bagian akhir ditandai dengan keyword END, adalah bagian yang
akan dieksekusi sekali setelah proses scanning file
- Bagian inti (tidak ditandai dengan keyword apapun) adalah bagian
yang akan dieksekusi pada saat proses scanning file
BEGIN { print "START" }
{ print }
END { print "STOP" }
Proses scanning file yang dilakukan oleh AWK biasanya
dilakukan secara baris per baris. Artinya, setiap baris dianggap sebagai
record, dan bagian inti dari AWK scripts akan dijalankan pada setiap
pembacaan baris. Dengan demikian, setiap baris akan dibaca dan pada
saat setiap pembacaan baris itulah bagian inti selalu diproses.
BEGIN { print "File\tOwner"}
{ print $8, "\t", $3}
END { print " - DONE -" }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
BAB III
PERANCANGAN SIMULASI JARINGAN
3.1. Analisis Masalah
Mobile Ad hoc Network (MANET) berbasis wireless mempunyai
infrastruktur tidak tetap dan tidak terpusat yang menyebabkan topologi
jaringan menjadi tidak tetap pula. Protokol AODV dan DSDV menggunakan
metode pencarian rute yang sama, yaitu distance vector, tetapi mempunyai
tipe protokol yang berbeda, proaktif (table-driven) dan reaktif (on-demand).
Penulis ingin mengetahui protokol mana yang lebih baik kinerjanya dilihat
dari parameter unjuk kerja; throughput, delay, dan routing overhead dengan
peningkatan kepadatan node dengan pergerakan minimal..
3.2. Analisa Kebutuhan Perangkat Keras dan Lunak
Pada pengujian skenario yang akan dirancang, penulis menggunakan
perangkat keras dan lunak yang dapat mengakomodasi kebutuhan skenario
tersebut. Perangkat lunak yang digunakan adalah sistem operasi linux
Ubuntu 12.04 tipe 64 bit yang bertujuan untuk pemrosesan trace file output
dengan ukuran hingga lebih dari 4 gigabita.
Guna mendukung pemrosesan sistem operasi Ubuntu 64 bit,
dibutuhkan pula perangkat keras yang sanggup menjalankan komputasi 64
bit. Berikut ini spesifikasi perangkat keras komputer yang digunakan pada
pengujian;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Prosesor Intel Pentium CPU G630 @ 2.7 GHz
Memori (RAM) 4 GB
Hardisk 80 GB
3.3. Skenario Simulasi
Simulasi adhoc pada tugas akhir ini menggunakan simulator NS-3.
Meski demikian, penulis tetap berkeinginan mewujudkan skenario dengan
parameter simulasi berdasarkan dunia nyata. Pengandaian node sebagai
individu manusia sehingga teori tingkat kepadatan penduduk berlaku, serta
kecepatan pergerakan node disesuaikan dengan rerata kecepatan berjalan
manusia.
Menurut lampiran Peraturan Pemerintah Pengganti UU No. 56 Tahun
1960 pasal 1 ayat 3 mengenai penetapan luas tanah, kepadatan penduduk
dibagi menjadi empat:
Kepadatan Penduduk Tiap
Kilometer Persegi
Golongan Daerah
a. sampai 50
b. 51 sampai 250
c. 251 sampai 400
d. 401 keatas
tidak padat
kurang padat
cukup padat
sangat padat
Tabel 3.1 Tingkat kepadatan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Pembagian kepadatan penduduk menurut tabel di atas merupakan
acuan jumlah node dalam perancangan skenario simulasi. Penulis merancang
skenario simulasi menjadi 9 menurut jumlah node, yaitu 50, 100, 150, 200,
250, 300, 350, 400, dan 450 nodes dengan luas area yang sama, 1 km2
(1000m x 1000m) dengan inisialisasi penempatan node acak..
Secara umum skenario simulasi yang dirancang merupakan
pemanfaatan fungsi jaringan adhoc yang tidak membutuhkan instalasi
infrastruktur yang tetap sehingga skenario saat terjadi bencana alam bisa
diterapkan. Pada skenario ini komunikasi berjalan satu arah, yaitu dari
banyak node (source) ke satu node (sink) dengan pergerakan yang minimal
yaitu 2 m/s. Inisialisasi node (source dan sink) dilakukan secara acak.
Parameter secara lengkap yang dipakai dalam merancang skenario
antara lain:
Parameter
Protokol MANET
AODV DSDV
Simulator NS-3 versi 3.20 NS-3 versi 3.20
Tipe MAC IEEE 802.11 IEEE 802.11
Data rate 802.11 b (11 Mbps) 802.11 b (11 Mbps)
Protokol Transport UDP UDP
Jumlah Nodes 50/100/150/200/250
/300/350/400/450
50/100/150/200/250
/300/350/400/450
Luas Area Simulasi 1000m x 1000m 1000m x 1000m
Waktu Simulasi 30 detik 30 detik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Kecepatan konstan 2 m/s 2 m/s
Inisialisasi Posisi
Node
Random Rectangle
Position Allocator
Random Rectangle
Position Allocator
Mobility Model Random Waypoint
Mobility
Random Waypoint
Mobility
Interval Update - 5 detik
Tabel 3.2 Parameter simulasi.
3.4. Parameter Unjuk Kerja
Pada AODV, protokol tidak melakukan pembaruan tabel routing
secara berkala tetapi melakukannya ketika terjadi perubahan (reaktif) pada
tabel. Protokol DSDV bersifat proaktif, yaitu melakukan pembaruan tabel
routing setiap waktu tertentu (interval update) baik saat terjadi perubahan
atau tidak.
Selain adanya kesamaan serta perbedaan di atas, penulis juga ingin
mengetahui bagaimana perbedaan ujuk kerja bila diukur dengan beberapa
parameter; throughput, delay, packet loss, dan routing overhead.
1) Throughput
Tingkat rerata keberhasilan mengirim pesan melalui kanal komunikasi.
Pesan dikirim melalui physical atau logical link. Biasanya dihitung
berdasarkan bits tiap satuan waktu (bits/s atau bps, menjadi Kbps karena
rentang nilai yang tinggi). Penghitungan throughput pada baris kode
skenario NS-3 bisa dilihat pada potongan kode berikut,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Throughput:"<<double((received_packets*packetSize)/30)*8/1024<<" Kbps.
2) Delay
Rerata selisih waktu yang dibutuhkan mulai dari paket dikirim oleh node
sumber sampai paket berhasil diterima node tujuan. Penghitungan rerata
delay pada baris kode skenario NS-3 bisa dilihat pada potongan kode
berikut,
delay.RecordRx(packet);
total_delay += delay.GetLastDelay().GetSeconds();
Rerata Delay: " << total_delay/received_packets << " detik
3) Routing Overhead
Jumlah paket kontrol atau paket routing yang dihasilkan oleh protokol
routing selama simulasi. Seluruh paket routing yang dikirim (atau
diteruskan, karena pada tracefile NS-3 status event hanya transfer (t) dan
receive (r)) pada layer network diperhitungkan sebagai routing
overhead. Unjuk kerja lebih baik ketika nilai routing overhead lebih
rendah. Penghitungan routing overhead menggunakan AWK script
untuk memproses keluaran file trace .tr dari protokol AODV dan DSDV.
Berikut adalah potongan penggunaan AWK script untuk menghitung
routing overhead pada AODV.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 3.1 Potongan penghitungan routing overhead.
3.5. Topologi Jaringan
MANET memiliki karakteristik jaringan yang tidak tetap dan
mobile. Skenario dengan topologi dan pergerakan node random mengacu
pada karakter tersebut. Jumlah node merupakan pembeda antar skenario.
Gambar 3.2 Topologi jaringan MANET 50 nodes, luas area 1000m x 1000m
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Gambar 3.3 Topologi jaringan MANET 100 nodes, luas area 1000m x 1000m
Gambar 3.4 Topologi jaringan MANET 150 nodes, luas area 1000m x 1000m
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Gambar 3.5 Topologi jaringan MANET 200 nodes luas area 1000m x 1000m
Gambar 3.6 Topologi jaringan MANET 250 nodes luas area 1000m x 1000m
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 3.7 Topologi jaringan MANET 300 nodes luas area 1000m x 1000m
Gambar 3.8 Topologi jaringan MANET 350 nodes, luas area 1000m x 1000m.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Gambar 3.9 Topologi jaringan MANET 400 nodes, luas area 1000m x 1000m
Gambar 3.10 Topologi jaringan MANET 450 nodes, luas area 1000m x 1000m
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
3.6. Trace Output
a. Output Trace File .txt
File teks yang menjadi output ada dua, yaitu berisi parameter dan
hasil simulasi seperti pada tabel 3.1, serta berisi teks yang muncul pada
jendela terminal selama proses pengujian dijalankan juga disimpan,
seperti pada tabel 3.3.
----Parameter simulasi----
Protokol Routing : DSDV
Jumlah Node: 50
Kecepatan: 2 m/s
Jumlah paket yang dikirim dari tiap node: 100
Data rate: 8 Mbps
----Hasil Simulasi----
Jumlah paket dikirim: 4900
Jumlah paket diterima: 1249
Rerata Delay: 0.0392461 detik.
Rerata Throughput: 333.062 Kbps.
Akhir simulasi
Tabel 3.3 Parameter dan hasil simulasi
Parameter simulasi
Protokol Routing: AODV
Jumlah Node: 50
Kecepatan: 2 m/s
Jumlah paket yang dikirimkan tiap node: 100
Data rate: 8 Mbps
Satu paket diterima! Socket: 10.1.0.50 port: 49154
pada waktu = 0.00109567
Satu paket diterima! Socket: 10.1.0.50 port: 49154
pada waktu = 0.041093
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Satu paket diterima! Socket: 10.1.0.50 port: 49154
pada waktu = 0.0634882
Satu paket diterima! Socket: 10.1.0.50 port: 49154
pada waktu = 0.0710198
………
Tabel 3.4 Potongan trafik yang terjadi
b. Output Trace File .tr
Output dari skenario yang disusun yaitu file dengan ekstensi *.tr.
File *.tr berisi informasi alur lalu lintas paket selama proses simulasi
dijalankan. Informasi tabel routing didapat dari file *.routes. Mekanisme
output *.routes menampilkan satuan informasi mengenai aktivitas
selama simulasi berlangsung. Secara lebih detil isi file *.tr sebagai
berikut.
r 0.00114417 /NodeList/14/DeviceList/0/$ns3::WifiNetDevice/Phy/State/RxOk
ns3::WifiMacHeader (DATA ToDS=0, FromDS=0, MoreFrag=0, Retry=0,
MoreData=0 Duration/ID=0usDA=ff:ff:ff:ff:ff:ff, SA=00:00:00:00:00:01,
BSSID=00:00:00:00:00:01, FragNumber=0, SeqNumber=0) ns3::LlcSnapHeader
(type 0x800) ns3::Ipv4Header (tos 0x0 DSCP Default ECN Not-ECT ttl 1 id 1
protocol 17 offset (bytes) 0 flags [none] length: 52 10.1.1.1 > 10.1.1.255)
ns3::UdpHeader (length: 32 654 > 654) ns3::aodv::TypeHeader (RREQ)
ns3::aodv::RreqHeader (RREQ ID 1 destination: ipv4 10.1.1.50 sequence
number 0 source: ipv4 10.1.1.1 sequence number 1 flags: Gratuitous RREP 1
Destination only 0 Unknown sequence number 1) ns3::WifiMacTrailer ()
Tabel 3.5 Contoh isi file output .tr dari AODV
Penjelasan:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
1. Event r
2. Waktu 0.00114417
3. Node /NodeList/14/DeviceList/0/$ns3::WifiNetDevice/Phy/State/Rx
Ok
4. Wifi MAC
header
ns3::WifiMacHeader (DATA ToDS=0, FromDS=0, MoreFrag=0,
Retry=0, MoreData=0 Duration/ID=0usDA=ff:ff:ff:ff:ff:ff,
SA=00:00:00:00:00:01, BSSID=00:00:00:00:00:01,
FragNumber=0, SeqNumber=0)
5. Enkapsulasi
LLC/Snap
ns3::LlcSnapHeader (type 0x800)
6. Header IPv4 ns3::Ipv4Header (tos 0x0 DSCP Default ECN Not-ECT ttl 1 id 1
protocol 17 offset (bytes) 0 flags [none] length: 52 10.1.1.1 >
10.1.1.255)
7. Header UDP ns3::UdpHeader (length: 32 654 > 654)
8. Tipe paket
AODV
ns3::aodv::TypeHeader (RREQ)
9. Format paket
header
AODV
ns3::aodv::RreqHeader (RREQ ID 1 destination: ipv4 10.1.1.50
sequence number 0 source: ipv4 10.1.1.1 sequence number 1
flags: Gratuitous RREP 1 Destination only 0 Unknown sequence
number 1)
10. Implementasi
IEEE 802.11
ns3::WifiMacTrailer ()
Tabel 3.6 Klasifikasi trace output AODV
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Output dari trace file digunakan sebagai data untuk menghitung
parameter unjuk kerja. Parameter unjuk kerja routing overhead dihitung
menggunakan program AWK. Parameter unjuk kerja yang lain,
throughput dan delay didapat menggunakan rumus didalam baris kode
masing-masing program.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
BAB IV
ANALISA DATA DAN PEMBAHASAN
4.1. Implementasi Simulasi
Berdasarkan skenario simulasi pada bab sebelumnya, implementasi
skenario disusun mulai dari barisan kode program pada NS-3 menggunakan
program penyunting teks, seperti program Text Editor atau Gedit pada
Ubuntu dan disimpan dengan ekstensi .cc. File tersebut disimpan ke dalam
direktori /scratch yang berada di dalam direktori /ns-3.20. Untuk memastikan
bahwa program dapat berjalan bisa dengan mengetik perintah ./waf. Apabila
tidak terjadi kesalahan/error bisa dilanjutkan dengan menjalankan program
tersebut dengan perintah;
# ./waf --run nama-file (tanpa ekstensi .cc)
Setelah proses pengujian selesai, muncul keluaran berupa dua buah file
teks dan satu file berekstensi .tr. Satu file teks berisi nilai throughput dan
delay serta file teks yang lain berisi kejadian selama simulasi berjalan. File
keluaran yang berekstensi .tr diproses dengan bantuan file AWK script.
# awk –f nama-file.awk nama-file.tr
4.2. Throughput
Pengertian throughput adalah rata-rata keberhasilan pesan yang
terkirim melalui kanal komunikasi. Throughput merupakan faktor penting
yang memengaruhi unjuk kerja komunikasi dan jaringan. Semakin tinggi
nilai throughput, maka semakin baik jaringan tersebut. Throughput dihitung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
dengan cara ukuran paket yang diterima tujuan dalam kilo bit dibagi waktu
simulasi, sehingga satuan throughput adalah Kilo bit per detik (Kbps).
Semakin banyak jumlah node seharusnya nilai throughput yang dihasilkan
akan semakin meningkat pula.
Pada skenario percobaan throughput muncul pada file output .txt. Hasil
throughput dari semua skenario akan ditampilkan pada grafik di bawah ini.
Gambar 4.1 Grafik throughput AODV dan DSDV.
Protokol AODV cukup stabil nilai throughput-nya yaitu di antara 200-
350 Kbps, walaupun dengan tingkat kepadatan node yang sama. Titik paling
tinggi berada pada jumlah node 300 yaitu 352.266 Kbps dan titik terendah
pada jumlah node 350 yaitu 208 Kbps.
Kbps
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Hasil dari grafik throughput di atas menunjukkan bahwa throughput
protokol DSDV sangat fluktuatif. Throughput DSDV mengalami titik
optimal pada jumlah node 150 yaitu 985.328 Kbps. Jumlah node lebih dari
150, maka throughput akan mengalami penurunan karena kesesakan (node
congestion), banyak paket yang gagal diterima node tujuan. Titik
terendahnya berada di nilai 28 Kbps pada jumlah node terpadat yaitu 450.
Apabila hasil throughput dipisahkan berdasarkan acuan
pengelompokan tingkat kepadatan node, maka pada kepadatan node tingkat
tidak padat (kurang dari 50), protokol DSDV memberikan hasil lebih tinggi.
Demikian juga pada kepadatan node tingkat kurang padat (51-250), DSDV
masih lebih baik. Hasil berbeda mulai tampak pada kepadatan node tingkat
cukup padat (251-400). Hasilnya berimbang antara AODV dan DSDV. Pada
kepadatan node tingkat sangat padat (lebih dari 401), AODV menghasilkan
nilai throughput yang lebih baik. Hal ini terjadi disebabkan kesesakan
jaringan (congestion network) karena tingkat lalu lintas paket yang sangat
padat.
4.3. Delay
Delay merupakan waktu yang dibutuhkan sebuah paket untuk
menempuh perjalanan dari node sumber sampai pada node tujuan. Grafik di
bawah ini merupakan hasil pengujian skenario AODV dan DSDV dengan
kenaikan jumlah node.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Gambar 4.3 Grafik rata-rata delay
Pada AODV terjadi lonjakan paling signifikan pada jumlah node 50
menuju 100, dari 0.273892 detik menjadi 5.8985 detik. Delay tertinggi
terjadi pada jumlah node 350, yaitu 7.72749 detik, dan terendah pada jumlah
node 50, yaitu 0.273892 detik.
Delay DSDV terlihat peningkatan labih stabil jika dibandingkan AODV.
Dimulai pada jumlah node 50 dengan nilai delay terendah, yaitu 0.0392461
detik, dan tertinggi pada jumlah node 450, yaitu 4.54818 detik. Jelas terlihat
secara keseluruhan delay DSDV lebih rendah daripada AODV.
4.4. Routing Overhead
Jumlah seluruh paket kontrol atau routing yang dihasilkan oleh protokol
routing selama simulasi. Seluruh paket yang dikirim maupun diteruskan
(forward) pada lapisan jaringan dipertimbangkan sebagai routing overhead.
detik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Gambar 4.3 Grafik routing overhead AODV dan DSDV
Hasil routing overhead protokol AODV dan DSDV yang berbeda jauh
sudah terlihat mulai dari node 50 dimana pada AODV yaitu 1508 paket dan
DSDV 15248 paket. Dikarenakan hasil routing overhead pada masing-
masing protokol terlalu jauh, maka grafik masing-masing protokol dipisah
menjadi dua grafik agar perilakunya dapat terlihat lebih jelas.
Buah paket
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Gambar 4.5 Grafik routing overhead AODV
Routing overhead pada AODV, seiring bertambahnya node, bertambah
pula jumlah paket routing overhead hingga puncaknya pada jumlah node
350, yaitu 19654 paket, kemudian jumlahnya turun sampai pada jumlah node
450, yaitu 14463 paket.
Jumlah node
Buah paket
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4.5 Grafik routing overhead DSDV
Pada DSDV, grafik terlihat hanya kenaikan nilai routing overhead.
Mulai dari jumlah node 50 dengan 15248 paket hingga jumlah node 450
sebanyak 769711 buah paket.
Jumlah node
Buah paket
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
BAB V
SIMPULAN DAN SARAN
5.1. Simpulan
Berdasarkan pengujian dan analisa yang telah dilakukan, simpulan
yang didapat yaitu, rata-rata keseluruhan parameter unjuk kerja protokol
MANET DSDV lebih baik dibanding protokol AODV dengan mobilitas
pergerakan node kecil.
5.2. Saran
Beberapa hal yang bisa dijadikan saran demi pengembangan
penelitian MANET lebih lanjut, khususnya protokol AODV dan DSDV
adalah,
1) Menambah jumlah sink.
2) Menggunakan protokol transport TCP.
3) Menambah kecepatan gerak pada node secara signifikan
disesuaikan dengan waktu simulasi.
4) Menguji unjuk kerja protokol MANET yang lain, misal protokol
tipe hibrida (hybrid).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
DAFTAR PUSTAKA
Aji, Yohanes Christian. 2013. Analisis Perbandingan Kinerja Protokol
Destination Sequence DIstance Vector (DSDV) dengan Ad Hoc on
Demand Distance Vector (AODV) pada Mobile Ad Hoc Network, Tugas
Akhir. Yogyakarta: Fakultas Sains dan Teknologi Universitas Sanata
Dharma.
Awerbuch, Baruch & Mishra, Amitabh. Ad hoc On Demand Distance Vector
(AODV) Routing Protocol. Department of Computer Science Johns
Hopkins
Basagni, S., Conti, M., Giordano, S. and Stojmenovic, I. (2004) Mobile Ad Hoc
Networking, Ieee Press.
Chrysoula, Samara. 2012. Performance Comparison of Manet Routing Protocols
based on real-life scenarios. Thessaloniki: Master in Information System
University of Macedonia.
Forouzan, Behrouz A. 2007. Data Communication and Networking 4th Edition.
Mc Graw Hill: New York.
IEEE 802.11. https://en.wikipedia.org/wiki/IEEE_802.11#802.11b
Khristian, Edward. 2013. Perbandingan Performansi Protokol DSDV dan OLSR
pada Mobile Ad Hoc Network dengan Simulator NS2. Tugas Akhir.
Yogyakarta: Fakultas Sains dan Teknologi Universitas Sanata Dharma.
Larsson, Tony & Hedman, Niklas. 1998. Routing Protocols in Wireless Ad-hoc
Networks - A Simulation Study. Stockholm. Master's thesis in Computer
Science and Engineering of Lulea Teknika Universitet.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Lu, Yi & Wang, Weichao & Bhargava, Bharat. 2003. Study of Distance Vector
Routing Protocols for Mobile Ad Hoc Networks. CERIAS and Department
of Computer Sciences Purdue University.
Maqbool, Bilal & Peer, M.A & Quadri, S.M.K. 2011. Towards the Benchmarking
of Routing Protocols for Adhoc Wireless Networks. Srinagar, India:
University of Kashmir.
Mike, Voisin Rily & Abdi, Muchlis & Ramadhan, Yudho. 2011. Analisa
Performa Routing Protocol AODV, OLSR, dan DSDV menggunakan NS-3
pada Mobile Ad-hoc Network. Undergraduate thesis, BINUS.
NS-3. http://www.nsnam.org/
Pujianto, Laurentius. 2014. Analisis Convergence Time Protokol Routing DSDV
menggunakan Simulator NS 3. Tugas Akhir. Yogyakarta: Fakultas Sains
dan Teknologi Universitas Sanata Dharma.
Rohal, Pankaj & Dahiya, Ruchika & Dahiya, Prashant. 2013. Study and Analysis
of Throughput, Delay and Packet Delivery Ratio in MANET for
Topology Based Routing Protocols (AODV, DSR and DSDV). India:
International Journal for Advance Research in Engineering and
Technology.
Sugianto, Dionisius Reinard. 2013. Perbandingan Kecepatan Konvergensi Tabel
Routing Protokol DYMO dan AODV Pada Mobile Ad Hoc Network
Dengan Simulator NS2. Tugas Akhir. Yogyakarta: Fakultas Sains dan
Teknologi Universitas Sanata Dharma.
Syarif, Kamal & Affandi, Achmad & Suprajitno, Djoko. 2011. Analisa Kinerja
Ad-Hoc On Demand Distance Vector (AODV) Pada Komunikasi VMeS.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Surabaya. Bidang Studi Telekomunikasi Multimedia Jurusan Teknik
Elektro-Institut Teknologi Sepuluh Nopember.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
LAMPIRAN
1. Throughput (Kbps)
Jumlah node AODV DSDV
50 315.461 336.062
100 289.062 664.266
150 328.797 985.328
200 314.93 968.531
250 307.461 747.461
300 352.266 476.797
350 208 108.797
400 242.133 29.3281
450 233.328 28
2. Delay (s)
Jumlah node AODV DSDV
50 0.273892 0.0392461
100 5.8985 0.122115
150 5.62212 0.396161
200 5.86683 0.565885
250 6.01269 0.66567
300 5.42562 1.51752
350 7.72749 2.38738
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
400 7.3011 4.43387
450 7.6432 4.54818
3. Routing Overhead (buah paket)
Jumlah node AODV DSDV
50 1508 15248
100 3458 60555
150 5610 135979
200 6413 241393
250 8848 374628
300 9294 541604
350 19654 676849
400 17470 725297
450 14463 769711
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
4. Listing Program aodv.cc
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/mobility-module.h"
#include "ns3/config-store-module.h"
#include "ns3/wifi-module.h"
#include "ns3/internet-module.h"
#include "ns3/aodv-helper.h"
#include "ns3/aodv-routing-protocol.h"
#include "ns3/delay-jitter-estimation.h"
#include "ns3/v4ping-helper.h"
#include <iostream>
#include <fstream>
NS_LOG_COMPONENT_DEFINE ("AODV");
using namespace ns3;
using namespace std;
uint32_t received_packets = 0;
long double total_delay = 0;
void ReceivePacket (Ptr<Socket> socket)
{
ofstream outfile;
outfile.open("aodv400n_Simulation_general.txt", ios::app);
Ptr<Packet> packet;
Address from;
while (packet = socket->RecvFrom (from))
{
if (packet->GetSize () > 10)
{
received_packets++;
DelayJitterEstimation delay;
delay.RecordRx(packet);
total_delay += delay.GetLastDelay().GetSeconds();
InetSocketAddress iaddr = InetSocketAddress::ConvertFrom (from);
NS_LOG_UNCOND ("--\nSatu paket diterima! Jumlah paket sampai
sekarang: " << received_packets << " dari: " << iaddr.GetIpv4() << " Delay: " <<
delay.GetLastDelay().GetSeconds() << " Ukuran paket "<< packet -> GetSize()
<< " port: " << iaddr.GetPort () << " pada waktu = " << Simulator::Now
().GetSeconds () << "\n--");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
outfile << "Satu paket diterima! Socket: "<< iaddr.GetIpv4 ()<< " port: "
<< iaddr.GetPort () << " pada waktu = " << Simulator::Now ().GetSeconds () <<
"\n";
(void) iaddr;
}
}
outfile.close();
}
static void GenerateTraffic (Ptr<Socket> socket, uint32_t pktSize, Ptr<Node> n,
uint32_t pktCount, Time pktInterval)
{
Ptr<Packet> p = Create<Packet> (pktSize);
DelayJitterEstimation delay;
delay.PrepareTx(p);
if (pktCount > 0)
{
socket->Send (p);
Simulator::Schedule (pktInterval, &GenerateTraffic, socket, pktSize, n,
pktCount - 1, pktInterval);
}
else
{
socket->Close ();
}
}
int main (int argc, char *argv[])
{
bool verbose = false;
double startTime = 0.0;
uint32_t numPackets = 100; // jumlah paket yang dikirimkan
std::string phyMode ("DsssRate11Mbps");
uint32_t packetSize = 1024;
long double interval = 1;
uint32_t numNodes = 400; //jumlah node; 50, 100, 150, 200, 250, 300, 350, 400,
450
uint32_t speed = 2; //kecepatan gerak node
ofstream outfile;
ofstream outfile2;
outfile.open("aodv400n_Simulation_general.txt", ios::app);
outfile << "Simulation Parameters" << endl
<< "Protokol Routing: AODV" << endl
<< "Jumlah Node: " << numNodes << endl
<< "Kecepatan: " << speed << " m/s" << endl
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
<< "Jumlah paket yang dikirimkan tiap node: " << numPackets << endl
<< "Data rate: " << ((packetSize/interval)*8)/1024 << " Mbps" << endl;
outfile2.open("aodv400n_Simulation_results.txt", ios::app);
outfile2 << "----Simulation Parameters----" << endl
<< "Protokol Routing: AODV" << endl
<< "Jumlah Node: " << numNodes << endl
<< "Kecepatan: " << speed << " m/s" << endl
<< "Jumlah paket yang dikirimkan tiap node: " << numPackets <<endl
<< "Data rate: " << ((packetSize/interval)*8)/1024 << " Mbps" << endl;
CommandLine cmd;
cmd.AddValue ("phyMode", "Wifi Phy mode", phyMode);
cmd.AddValue ("PacketSize", "Ukuran paket aplikasi dikirim", packetSize);
cmd.AddValue ("numPackets", "Jumlah total paket yang dikirim", numPackets);
cmd.AddValue ("startTime", "Waktu mulai simulasi", startTime);
cmd.AddValue ("verbose", "Turn on all device log components", verbose);
cmd.Parse (argc, argv);
Time interPacketInterval = Seconds (interval);
Config::SetDefault
("ns3::WifiRemoteStationManager::FragmentationThreshold", StringValue
("2200"));
Config::SetDefault ("ns3::WifiRemoteStationManager::RtsCtsThreshold",
StringValue ("2200"));
Config::SetDefault ("ns3::WifiRemoteStationManager::NonUnicastMode",
StringValue (phyMode));
NodeContainer networkNodes;
networkNodes.Create (numNodes);
WifiHelper wifi;
if (verbose)
{
wifi.EnableLogComponents ();
}
wifi.SetStandard (WIFI_PHY_STANDARD_80211b);
/** Wifi PHY **/
/*****************************************************************
*********/
YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();
wifiPhy.Set ("RxGain", DoubleValue (5));
wifiPhy.Set ("TxGain", DoubleValue (5));
wifiPhy.Set ("CcaMode1Threshold", DoubleValue (0.0));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
/*****************************************************************
*********/
/** wifi channel **/
YansWifiChannelHelper wifiChannel;
wifiChannel.SetPropagationDelay
("ns3::ConstantSpeedPropagationDelayModel");
wifiChannel.AddPropagationLoss ("ns3::FriisPropagationLossModel");
Ptr<YansWifiChannel> wifiChannelPtr = wifiChannel.Create ();
wifiPhy.SetChannel (wifiChannelPtr);
/** MAC layer **/
NqosWifiMacHelper wifiMac = NqosWifiMacHelper::Default ();
wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager",
"DataMode", StringValue (phyMode),
"ControlMode", StringValue (phyMode));
wifiMac.SetType ("ns3::AdhocWifiMac");
NetDeviceContainer devices = wifi.Install (wifiPhy, wifiMac, networkNodes);
MobilityHelper mobility;
ObjectFactory pos;
pos.SetTypeId ("ns3::RandomRectanglePositionAllocator");
pos.Set ("X", StringValue
("ns3::UniformRandomVariable[Min=0.0|Max=1000.0]"));
pos.Set ("Y", StringValue
("ns3::UniformRandomVariable[Min=0.0|Max=1000.0]"));
std::ostringstream speedConstantRandomVariableStream;
speedConstantRandomVariableStream <<
"ns3::ConstantRandomVariable[Constant="
<< speed
<< "]";
Ptr <PositionAllocator> taPositionAlloc = pos.Create ()->GetObject
<PositionAllocator> ();
mobility.SetMobilityModel ("ns3::RandomWaypointMobilityModel", "Speed",
StringValue (speedConstantRandomVariableStream.str ()),
"Pause", StringValue
("ns3::ConstantRandomVariable[Constant=2.0]"), "PositionAllocator",
PointerValue (taPositionAlloc));
mobility.SetPositionAllocator (taPositionAlloc);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
mobility.Install (networkNodes);
AodvHelper aodv;
InternetStackHelper internet;
internet.SetRoutingHelper(aodv);
internet.Install (networkNodes);
Ipv4AddressHelper ipv4;
NS_LOG_INFO ("Assign IP Addresses.");
ipv4.SetBase ("10.1.0.0", "255.255.0.0");
Ipv4InterfaceContainer i = ipv4.Assign (devices);
TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory");
Ptr<Socket> recvSink;
recvSink = Socket::CreateSocket (networkNodes.Get (0), tid);
InetSocketAddress local = InetSocketAddress (Ipv4Address::GetAny (), 80);
recvSink->Bind (local);
recvSink->SetRecvCallback (MakeCallback (&ReceivePacket));
Ptr<Socket> source;
for(uint32_t count1 = 1; count1 < numNodes; count1++)
{
source = Socket::CreateSocket (networkNodes.Get (count1), tid);
InetSocketAddress remote = InetSocketAddress (Ipv4Address::GetBroadcast (),
80);
source->SetAllowBroadcast (true);
source->Connect (remote);
}
for(uint32_t count2 = 1; count2 < numNodes; count2++)
{
Simulator::Schedule (Seconds(startTime), &GenerateTraffic, source,
packetSize, networkNodes.Get(count2), numPackets, interPacketInterval);
}
Simulator::Stop (Seconds (30.0));
AsciiTraceHelper ascii;
wifiPhy.EnableAsciiAll (ascii.CreateFileStream ("aodv400n.tr"));
Simulator::Run ();
Simulator::Destroy();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
NS_LOG_UNCOND ("Jumlah paket dikirim: " << numPackets*(numNodes - 1)
<< " paket. \nJumlah paket diterima: " << received_packets << " paket. \nPaket
diterima: " << double(received_packets*100)/(numPackets*(numNodes - 1)) <<
"%. \nRerata Delay: " << total_delay/received_packets << " detik. \nThroughput:
" << double ((received_packets*packetSize)/30)*8/1024 << " Kbps.\nAkhir
simulasi");
outfile2 << "----Hasil Simulasi----" << endl <<
"Jumlah paket dikirim: " << numPackets*(numNodes - 1) << endl
<< "Jumlah paket diterima: " << received_packets << " paket. " << endl <<
"Paket diterima: " << double(received_packets*100)/(numPackets*(numNodes -
1)) << "%." << endl << "Rerata Delay: " << total_delay/received_packets << "
detik." << endl << "Throughput: " <<
double((received_packets*packetSize)/30)*8/1024 << " Kbps." << endl;
outfile << "Akhir simulasi" << endl << endl;
outfile2 << "Akhir simulasi" << endl << endl <<
"---------------------------------------------------------" << endl << endl;
outfile.close();
outfile2.close();
received_packets = 0;
total_delay = 0;
return 0;
}
5. Listing Program dsdv.cc
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/mobility-module.h"
#include "ns3/config-store-module.h"
#include "ns3/wifi-module.h"
#include "ns3/internet-module.h"
#include "ns3/dsdv-helper.h"
#include "ns3/dsdv-routing-protocol.h"
#include "ns3/delay-jitter-estimation.h"
#include "ns3/v4ping-helper.h"
#include <iostream>
#include <fstream>
NS_LOG_COMPONENT_DEFINE ("DSDV");
using namespace ns3;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
using namespace std;
uint32_t received_packets = 0;
long double total_delay = 0;
void ReceivePacket (Ptr<Socket> socket)
{
ofstream outfile;
outfile.open("dsdv300n_Simulation_general.txt", ios::app);
Ptr<Packet> packet;
Address from;
while (packet = socket->RecvFrom (from))
{
if (packet->GetSize () > 0)
{
received_packets++;
DelayJitterEstimation delay;
delay.RecordRx(packet);
total_delay += delay.GetLastDelay().GetSeconds();
InetSocketAddress iaddr = InetSocketAddress::ConvertFrom (from);
NS_LOG_UNCOND ("--\nMenerima 1 paket, jumlah paket sampai saat
ini: " << received_packets << " dari: " << iaddr.GetIpv4() << " Delay: " <<
delay.GetLastDelay().GetSeconds() << " Ukuran paket "<< packet -> GetSize()
<< " port: " << iaddr.GetPort () << " pada detik ke = " << Simulator::Now
().GetSeconds () << "\n--");
outfile << "Menerima 1 paket, socket: "<< iaddr.GetIpv4 ()<< " port: " <<
iaddr.GetPort () << " pada detik ke = " << Simulator::Now ().GetSeconds () <<
"\n";
(void) iaddr;
}
}
outfile.close();
}
static void GenerateTraffic (Ptr<Socket> socket, uint32_t pktSize, Ptr<Node> n,
uint32_t pktCount, Time pktInterval)
{
Ptr<Packet> p = Create<Packet> (pktSize);
DelayJitterEstimation delay;
delay.PrepareTx(p);
if (pktCount > 0)
{
socket->Send (p);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Simulator::Schedule (pktInterval, &GenerateTraffic, socket, pktSize, n,
pktCount - 1, pktInterval);
}
else
{
socket->Close ();
}
}
int main (int argc, char *argv[])
{
bool verbose = false;
double startTime = 0.0;
uint32_t numPackets = 100; // jumlah paket yang dikirim
std::string phyMode ("DsssRate11Mbps");
uint32_t packetSize = 1024;
uint32_t periodicUpdateInterval = 15;
long double interval = 1;
uint32_t numNodes = 300;
uint32_t speed = 2;
ofstream outfile;
ofstream outfile2;
outfile.open("dsdv300n_Simulation_general.txt", ios::app);
outfile << "Parameter simulasi" << endl
<< "Protokol Routing : DSDV" << endl
<< "Jumlah Node: " << numNodes << endl
<< "Kecepatan: " << speed << " m/s" << endl
<< "Jumlah paket yang dikirim dari tiap node : " << numPackets << endl
<< "Data rate: " << ((packetSize/interval)*8)/1024 << " Mbps" << endl;
outfile2.open("dsdv300n_Simulation_results.txt", ios::app);
outfile2 << "----Parameter simulasi----" << endl
<< "Protokol Routing : DSDV" << endl
<< "Jumlah Node: " << numNodes << endl
<< "Kecepatan: " << speed << " m/s" << endl
<< "Jumlah paket yang dikirim dari tiap node: " << numPackets <<endl
<< "Data rate: " << ((packetSize/interval)*8)/1024 << " Mbps" << endl;
CommandLine cmd;
cmd.AddValue ("phyMode", "Wifi Phy mode", phyMode);
cmd.AddValue ("packetSize", "ukuran paket aplikasi yang dikirim", packetSize);
cmd.AddValue ("numPackets", "Jumlah total paket yang dikirim", numPackets);
cmd.AddValue ("periodicUpdateInterval", "Waktu pembaruan/update periodik",
periodicUpdateInterval);
cmd.AddValue ("startTime", "Waktu mulai simulasi", startTime);
cmd.AddValue ("verbose", "Menyalakan semua komponen log alat", verbose);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
cmd.Parse (argc, argv);
Time interPacketInterval = Seconds (interval);
Config::SetDefault
("ns3::WifiRemoteStationManager::FragmentationThreshold", StringValue
("2200"));
Config::SetDefault ("ns3::WifiRemoteStationManager::RtsCtsThreshold",
StringValue ("2200"));
Config::SetDefault ("ns3::WifiRemoteStationManager::NonUnicastMode",
StringValue (phyMode));
NodeContainer networkNodes;
networkNodes.Create (numNodes);
WifiHelper wifi;
if (verbose)
{
wifi.EnableLogComponents ();
}
wifi.SetStandard (WIFI_PHY_STANDARD_80211b);
/** Wifi PHY **/
/*****************************************************************
*********/
YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();
wifiPhy.Set ("RxGain", DoubleValue (5));
wifiPhy.Set ("TxGain", DoubleValue (5));
wifiPhy.Set ("CcaMode1Threshold", DoubleValue (0.0));
/*****************************************************************
*********/
/** wifi channel **/
YansWifiChannelHelper wifiChannel;
wifiChannel.SetPropagationDelay
("ns3::ConstantSpeedPropagationDelayModel");
wifiChannel.AddPropagationLoss ("ns3::FriisPropagationLossModel");
Ptr<YansWifiChannel> wifiChannelPtr = wifiChannel.Create ();
wifiPhy.SetChannel (wifiChannelPtr);
/** MAC layer **/
NqosWifiMacHelper wifiMac = NqosWifiMacHelper::Default ();
wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager",
"DataMode", StringValue (phyMode),
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
"ControlMode", StringValue (phyMode));
wifiMac.SetType ("ns3::AdhocWifiMac");
NetDeviceContainer devices = wifi.Install (wifiPhy, wifiMac, networkNodes);
MobilityHelper mobility;
ObjectFactory pos;
pos.SetTypeId ("ns3::RandomRectanglePositionAllocator");
pos.Set ("X", StringValue
("ns3::UniformRandomVariable[Min=0.0|Max=1000.0]"));
pos.Set ("Y", StringValue
("ns3::UniformRandomVariable[Min=0.0|Max=1000.0]"));
std::ostringstream speedConstantRandomVariableStream;
speedConstantRandomVariableStream <<
"ns3::ConstantRandomVariable[Constant="
<< speed
<< "]";
Ptr <PositionAllocator> taPositionAlloc = pos.Create ()->GetObject
<PositionAllocator> ();
mobility.SetMobilityModel ("ns3::RandomWaypointMobilityModel", "Speed",
StringValue (speedConstantRandomVariableStream.str ()),
"Pause", StringValue
("ns3::ConstantRandomVariable[Constant=2.0]"), "PositionAllocator",
PointerValue (taPositionAlloc));
mobility.SetPositionAllocator (taPositionAlloc);
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
mobility.Install (networkNodes);
//** Routing Protocol (DSDV) **/
DsdvHelper dsdv;
dsdv.Set ("PeriodicUpdateInterval", TimeValue (Seconds
(periodicUpdateInterval)));
/** Internet stack **/
InternetStackHelper internet;
internet.SetRoutingHelper(dsdv);
internet.Install (networkNodes);
/** Network Adresses **/
Ipv4AddressHelper ipv4;
NS_LOG_INFO ("Assign IP Addresses.");
ipv4.SetBase ("10.1.0.0", "255.255.0.0");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Ipv4InterfaceContainer i = ipv4.Assign (devices);
TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory");
Ptr<Socket> recvSink;
recvSink = Socket::CreateSocket (networkNodes.Get (0), tid);
InetSocketAddress local = InetSocketAddress (Ipv4Address::GetAny (), 80);
recvSink->Bind (local);
recvSink->SetRecvCallback (MakeCallback (&ReceivePacket));
Ptr<Socket> source;
for(uint32_t count1 = 1; count1 < numNodes; count1++)
{
source = Socket::CreateSocket (networkNodes.Get (count1), tid);
InetSocketAddress remote = InetSocketAddress (Ipv4Address::GetBroadcast (),
80);
source->SetAllowBroadcast (true);
source->Connect (remote);
}
for(uint32_t count2 = 1; count2 < numNodes; count2++)
{
Simulator::Schedule (Seconds(startTime), &GenerateTraffic, source,
packetSize, networkNodes.Get(count2), numPackets, interPacketInterval);
}
Simulator::Stop (Seconds (30.0));
AsciiTraceHelper ascii;
wifiPhy.EnableAsciiAll (ascii.CreateFileStream ("dsdv300n.tr"));
Simulator::Run ();
Simulator::Destroy();
NS_LOG_UNCOND ("Jumlah paket dikirim: " << numPackets*(numNodes - 1)
<< " paket. \nJumlah paket diterima: " << received_packets << " paket. \nPaket
diterima: " << double(received_packets*100)/(numPackets*(numNodes - 1)) <<
"%. \nRerata Delay: " << total_delay/received_packets << " detik. \nThroughput:
" << double ((received_packets*packetSize)/30)*8/1024 << " Kbps.\nAkhir
simulasi");
outfile2 << "----Hasil Simulasi----" << endl <<
"Jumlah paket dikirim: " << numPackets*(numNodes - 1) << endl
<< "Jumlah paket diterima: " << received_packets << " paket. " << endl <<
"Paket diterima: " << double(received_packets*100)/(numPackets*(numNodes -
1)) << "%." << endl << "Rerata Delay: " << total_delay/received_packets << "
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
seconds." << endl << "Throughput: " <<
double((received_packets*packetSize)/30)*8/1024 << " Kbps." << endl;
outfile << "Akhir simulasi" << endl << endl;
outfile2 << "Akhir simulasi" << endl << endl <<
"---------------------------------------------------------" << endl << endl;
outfile.close();
outfile2.close();
received_packets = 0;
total_delay = 0;
return 0;
}
6. Listing Program qos-aodv.awk
BEGIN {
sends1=0
recvs1=0
RREPr=0
RREQr=0
RREPt=0
RREQt=0
}
{
action=$1
time=$2
idipv4=$29
aodvPacket=$49
#menghitung jumlah paket routing yang dikirim
if ( action == "t" && ( aodvPacket == "(RREP)" || aodvPacket == "(RREQ)" ))
{sends1++;}
#menghitung jumlah paket RREQ yang dikirim
if ( action=="t" && aodvPacket=="(RREQ)" )
{RREQt++;}
#menghitung jumlah paket RREP yang dikirim
if ( action=="t" && aodvPacket=="(RREP)" )
{RREPt++;}
#menghitung paket AODV yang diterima
if (action=="r" && (aodvPacket=="(RREP)"||aodvPacket=="(RREQ)")) {
recvs1++;}
#menghitung paket RREQ yang diterima
if (action=="r" && aodvPacket=="(RREQ)"){
RREQr++;}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
#menghitung paket RREP yang diterima
if (action=="r" && aodvPacket=="(RREP)"){
RREPr++;}
}
END {
printf("Routing overhead AODV = %.0f\n", sends1);
}
7. Listing Program qos-dsdv.awk
BEGIN {
sends1=0
recvs1=0
}
{
action=$1
time=$2
idipv4=$29
dsdvPacket=$48
#menghitung jumlah paket routing yang dikirim/di-forward
if ( action == "t" && ( dsdvPacket == "ns3::dsdv::DsdvHeader"))
{sends1++;}
#menghitung jumlah paket routing yang diterima
if ( action == "r" && ( dsdvPacket == "ns3::dsdv::DsdvHeader"))
{recvs1++;}
}
END {
printf("Routing overhead DSDV = %.0f\n", sends1);
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
top related