PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN MOTTO
“Jika kamu tak bisa menyampaikan dengan sederhana, berarti kamu tak cukup paham.” --Albert Einstein
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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;
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.2.
User Datagram Protocol (UDP)
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
DSDV (Destination Sequenced Distance Vector)
26
a)
Cara kerja DSDV
26
b)
Keuntungan DSDV
26
c)
Keterbatasan DSDV
27
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
AWK
34
2.6.
2.7.
2.9.
8
BAB III
36
PERANCANGAN SIMULASI JARINGAN
36
3.1.
Analisis Masalah
36
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 BellmanFord. 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
7
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
9
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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-
10
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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);
11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
12
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
13
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
● 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.
15
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
● 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.
16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
● 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
Operasi dan komunikasi militer
taktis
Medan perang otomatis
Layanan
Operasi SAR
darurat
Penanggulangan bencana
Penggantian infrastruktur tetap pada kasus bencana alam
Komersil dan
Pemadaman kebakaran
Mendukung kerja dokter dan perawat di rumah sakit
E-commerce: pembayaran elektronik kapan pun dan di mana pun
lingkungan
Bisnis: akses dinamis basis data, kantor bergerak
sipil
Layanan berkendara: jalan atau panduan kecelakaan,
17
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
transmisi jalan dan kondisi cuaca, jaringan taksi, jaringan antar-kendaraan Stadion olahraga, bursa dagang, mall Jaringan pengunjung di bandar udara Jaringan
Jaringan nirkabel rumah/kantor
rumah dan
Konferensi, ruang rapat
perusahaan
Wilayah jaringan pribadi (Personal Area Network), jaringan pribadi Jaringan pada situs pembangunan
Penddikan
Universitas dan kampus Kelas virtual Komunikasi adhoc selama rapat atau kuliah
Permainan multi pengguna
Jaringan nirkabel P2P
Akses internet luar ruangan
Peliharaan robot
Taman
Jairngan
Sensor pintar aplikasi rumah dan embedded
sensor
Elektronik konsumen
Jaringan wilayah badan (BAN)
Pelacakan data dari kondisi lingkungan, pergerakan
Hiburan
binatang, deteksi biologi/kimia Layanan
Layanan diikuti: penerusan panggilan, ruang kerja
18
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
sadar konteks
mobile
Layanan informasi: layanan lokasi spesifik, layanan tergantung waktu
Infotainment: informasi turis.
Perluasan
Memperluas akses jaringan selular
cakupan
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).
19
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
20
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
21
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
22
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
23
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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).
24
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
d) Keterbatasan/keuntungan AODV -
Kebutuhan akan media broadcast: Algoritma mengharapkan bahwa node pada media broadcast dapat mendeteksi masingmasing 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.
25
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
26
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
27
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
28
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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,
30
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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)
31
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
menambahkan
didukung fungsi-fungsi
oleh
NS-3.
Dengan NS-3 kita
dapat
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.
32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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).
33
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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)
34
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Opsi –f menyatakan bahwa instruksi AWK yang akan dijalankan berada didalam awk-script-file. Sedangkan input-file(s) adalah file yang akan discan 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 -" }
35
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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;
36
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
Golongan Daerah
Kilometer Persegi a. sampai 50
tidak padat
b. 51 sampai 250
kurang padat
c. 251 sampai 400
cukup padat
d. 401 keatas
sangat padat Tabel 3.1 Tingkat kepadatan
37
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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:
Protokol MANET Parameter 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
50/100/150/200/250
/300/350/400/450
/300/350/400/450
Luas Area Simulasi
1000m x 1000m
1000m x 1000m
Waktu Simulasi
30 detik
30 detik
38
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Kecepatan konstan
2 m/s
2 m/s
Inisialisasi Posisi
Random Rectangle
Random Rectangle
Node
Position Allocator
Position Allocator
Mobility Model
Random Waypoint
Random Waypoint
Mobility
Mobility
-
5 detik
Interval Update
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,
39
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
40
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
41
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
42
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
43
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
44
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
45
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
46
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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:
47
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1.
Event
r
2.
Waktu
0.00114417
3.
Node
/NodeList/14/DeviceList/0/$ns3::WifiNetDevice/Phy/State/Rx Ok
4.
Wifi MAC
ns3::WifiMacHeader (DATA ToDS=0, FromDS=0, MoreFrag=0,
header
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
ns3::LlcSnapHeader (type 0x800)
LLC/Snap 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
ns3::aodv::TypeHeader (RREQ)
AODV 9.
Format paket
ns3::aodv::RreqHeader (RREQ ID 1 destination: ipv4 10.1.1.50
header
sequence number 0 source: ipv4 10.1.1.1 sequence number 1
AODV
flags: Gratuitous RREP 1 Destination only 0 Unknown sequence number 1)
10. Implementasi ns3::WifiMacTrailer () IEEE 802.11 Tabel 3.6 Klasifikasi trace output AODV
48
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
49
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
50
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
Kbps
Gambar 4.1 Grafik throughput AODV dan DSDV.
Protokol AODV cukup stabil nilai throughput-nya yaitu di antara 200350 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.
51
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
52
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
detik
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.
53
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Buah paket
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 masingmasing protokol terlalu jauh, maka grafik masing-masing protokol dipisah menjadi dua grafik agar perilakunya dapat terlihat lebih jelas.
54
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Buah paket
Jumlah node
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.
55
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Buah paket
Jumlah node
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.
56
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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).
57
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
58
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
59
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Surabaya. Bidang Studi Telekomunikasi Multimedia Jurusan Teknik Elektro-Institut Teknologi Sepuluh Nopember.
60
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 50
AODV
DSDV
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
61
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
62
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
#include 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--");
63
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 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
64
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
<< "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));
65
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
/***************************************************************** *********/ /** wifi channel **/ YansWifiChannelHelper wifiChannel; wifiChannel.SetPropagationDelay ("ns3::ConstantSpeedPropagationDelayModel"); wifiChannel.AddPropagationLoss ("ns3::FriisPropagationLossModel"); Ptr 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 taPositionAlloc = pos.Create ()->GetObject (); mobility.SetMobilityModel ("ns3::RandomWaypointMobilityModel", "Speed", StringValue (speedConstantRandomVariableStream.str ()), "Pause", StringValue ("ns3::ConstantRandomVariable[Constant=2.0]"), "PositionAllocator", PointerValue (taPositionAlloc)); mobility.SetPositionAllocator (taPositionAlloc);
66
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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();
67
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 #include NS_LOG_COMPONENT_DEFINE ("DSDV"); using namespace ns3;
68
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 n, uint32_t pktCount, Time pktInterval) { Ptr<Packet> p = Create<Packet> (pktSize); DelayJitterEstimation delay; delay.PrepareTx(p); if (pktCount > 0) { socket->Send (p);
69
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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);
70
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 wifiChannelPtr = wifiChannel.Create (); wifiPhy.SetChannel (wifiChannelPtr); /** MAC layer **/ NqosWifiMacHelper wifiMac = NqosWifiMacHelper::Default (); wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager", "DataMode", StringValue (phyMode),
71
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
"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 taPositionAlloc = pos.Create ()->GetObject (); 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");
72
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 << "
73
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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++;}
74
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
#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); }
75