analisis perbandingan waktu konvergensi ...repository.usd.ac.id/31582/2/125314040_full.pdfcara kerja...
Post on 05-Feb-2021
6 Views
Preview:
TRANSCRIPT
-
i
ANALISIS PERBANDINGAN WAKTU KONVERGENSI ROUTING
PROTOKOL PROAKTIF DSDV TERHADAP ROUTING PROTOKOL
PROAKTIF OLSR DI JARINGAN BERGERAK AD HOC
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana
Komputer Program Studi Teknik Informatika
DISUSUN OLEH :
Rudiwan Sepriwono
125314040
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
ii
PERFORMANCE COMPARISON CONVERGENCE TIME OF A
PROACTIVE ROUTING PROTOCOL DSDV AND A PROACTIVE
PROTOCOL OLSR IN MOBILE AD HOC NETWORK
A THESIS
Presented as Partial Fulfillment of Requirements to Obtain Sarjana Komputer
Degree in Informatics Engineering Department
By:
Rudiwan Sepriwono
125314040
INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
iv
HALAMAN PENGESAHAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
v
MOTTO
” Miserando atque eligendo ”
” Yang rendah Yang dipilih ”
~ Paus Fransiskus ~
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
viii
ANALISIS PERBANDINGAN WAKTU KONVERGENSI ROUTING
PROTOKOL PROAKTIF DSDV TERHADAP ROUTING PROTOKOL
PROAKTIF OLSR DIJARINGAN BERGERAK AD HOC
ABSTRAK
Jaringan Ad hoc (MANET) merupakan jaringan yang dinamis dan
mengkonfigurasikan dirinya sendiri (self-configuration) yang dapat terbentuk tanpa
adanya infrastruktur. Pada jaringan MANET setiap Node selalu mancari informasi
terbaru dari topologi jaringan, hal ini disebabkan pada jaringan MANET memiliki
sifat yang dinamis serta melakukan komunikasi secara peer to peer dengan routing
menggunakan multihop.
Dalam tugas akhir ini akan diuji perbandingan antara routing protokol proaktif
DSDV terhadap routing protokol proaktif OLSR menggunakan simulator NS-3.
Dalam pengujian ini penulis menguji cepat atau lambat waktu konvergensi kedua
routing tersebut.
Dari pengujian ini, kedua protokol mengalami kenaikan atau waktu yang
dibutuhkan semakain lama, akan tetapi dari simulasi ini routing protokol DSDV lebih
baik dibandingkan routing protokol OLSR. Hal ini dikarenakan cara kerja DSDV
distance vektor merupakan routing protokol proaktif yang bekerja menggunakan
algortima distance vektor. Dengan cara broadcast kesegala arah tanpa adanya
pemilihan node yang digunakan sebagai relay atau penerus pesan. Sementara OLSR
menggunakan algoritma Link – State, dimana sebelum melakukan broadcast pesan
kepada node lainnya harus melalukan pemilihan MPR terlebih dulu, sehingga proses
pengiriman pesan kesetiap node menjadi lebih lama. Hal ini membuat waktu untuk
setiap node menerima setiap informasi routing dan kembali terkoneksi kejaringan
menjadi lebih lama. Oleh karena itulah waktu yang dibutuhkan DSDV lebih baik atau
cepat dibandingkan OLSR untuk melakukan konvergensi.
Kata kunci : Waktu Konvergenci, OLSR, DSDV, Manet.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
ix
PERFORMANCE COMPARISON CONVERGENCE TIME OF A
PROACTIVE ROUTING PROTOCOL DSDV AND A PROACTIVE
PROTOCOL OLSR IN MOBILE AD HOC NETWORK
ABSTRACT
Ad hoc networks (MANET) are dynamic and self-configuration networks
that can be formed without infrastructure. On the MANET network each node always
searches for the latest information from the network topology, this is because the
MANET network has a dynamic nature and communicates peer to peer with routing
using multihop.
In this final project, a comparison between the proactive DSDV routing
protocol and the proactive OLSR routing protocol will be tested. testing using the
NS-3 simulator. In this test the author tested the fast or slow convergence time of the
two routing.
From this test, both protocols have increased or the time needed is longer,
but from this simulation DSDV protocol routing is better than OLSR routing
protocol. It is due to how the distance DSDV vector is a proactive routing protocol
that works using distance vector algorithms. By broadcasting all directions without
the selection of nodes used as relays or message successors. While OLSR algorithm
using Link - State, where prior to broadcast a message to the other node must pass the
Assembly elections in advance, so that the process of sending a message kesetiap
node becomes longer. This makes the time for each node receive every routing
information and re-connects to the network for longer. Therefore, the time needed for
DSDV is better or faster than OLSR to convergence.
Keywords: Convergence Time, OLSR, DSDV, Manet.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
x
KATA PENGANTAR
Dalam nama Tuhan Yesus Kristus, puji dan syukur penulis panjatkan kepada
Tuhan Yang Maha Esa. Oleh karena bimbingan-Nya penulis dapat melalui segala
kesusahan selama menyelesaikan tugas akhir ini, baik itu melalui teman-teman dan
dosen pembimbing yang Tuhan berikan melalui mereka segala rahmat dan karunia-
Nya.
Pada kesempatan ini penulis juga ingin menyampaikan rasa terima kasih yang
sedalam-dalamnya kepada semua pihak yang telah membantu dan memberikan
dukungaan baik secara moril maupun moral. Adapun pihak-pihak tersebut adalah
sebagai berikut :
1. Tuhan Yang Maha Esa, yang telah memberikan pertolongan dan kekuatan
dalam proses pembuatan tugas akhir.
2. Kedua orang tua beserta adik – adik yang selama ini tanpa lelah memberikan
dukungan moral maupun moril sehigga selama kuliah sampai tugas akhir ini
diselesaikan mereka selalu senantiasa menemani dalam doa maupun langsung.
3. Bambang Soelistijanto, S.T., M.Sc., Ph.D., selaku Dosen Pembimbing tugas
akhir, atas bimbingan, waktu dan saran yang telah diberikan kepada penulis.
4. Iwan Binanto M.Cs., selaku Dosen Pembimbing Akademik, atas bimbingan
kritik dan saran yang telah diberikan kepada penulis.
5. Dr. Anastasia Rita Widiarti, M.Kom., selaku Ketua Program Studi Teknik
Informatika, atas bimbingan, kritik dan saran yang telah diberikan kepada
penulis.
6. Sudi Mungkasi, S,Si., M.Math.Sc., Ph.D., selaku Dekan Fakultas Sains dan
Teknologi, atas bimbingan, kritik dan saran yang telah diberikan kepada
penulis.
7. Seluruh dosen Teknik Informatika atas ilmu yang telah diberikan semasa
kuliah dan sangat membantu penulis dalam mengerjakan tugas akhir.
8. Teman-teman Teknik Informatika 2012 yang selama ini mau berbagi ilmu dan
menerima meskipun penulis berasal dari lingkungan yang berbeda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xi
9. Teman-teman Jarkom Teknik Informatika 2012 sebagai teman satu lab selama
menyeleaikan Tugas akhir ini yang mau berbagi pula kegembiraan dan
kerbersamaan.
10. Teman-teman Forum Mapawi Yogyakarta yang selama disini telah menjadi
keluarga kedua penulis selama di Yogyakarta tentunya untuk menempuh
study.
Penulis menyadari tidak bisa menyebutkan satu per satu dalam
penulisan ini, dan penulis juga menyadari masih banyak kekurangan dalam
penulisan tugas akhir ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xii
DAFTAR ISI
SKRIPSI ......................................................................................................................... i
A THESIS ..................................................................................................................... ii
HALAMAN PERSETUJUAN ..................................................................................... iii
HALAMAN PENGESAHAN ...................................................................................... iv
MOTTO......................................................................................................................... v
PERNYATAAN KEASLIAN KARYA ...................................................................... vi
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS .................................................................................. vii
ABSTRAK ................................................................................................................. viii
ABSTRACT ................................................................................................................. ix
KATA PENGANTAR .................................................................................................. x
DAFTAR ISI ............................................................................................................... xii
DAFTAR TABEL ...................................................................................................... xiv
DAFTAR GAMBAR .................................................................................................. xv
BAB I PENDAHULUAN ............................................................................................. 1
1.1 Latar Belakang ............................................................................................. 1
1.2 Rumusan Masalah ........................................................................................ 2
1.3 Tujuan Penelitian ......................................................................................... 2
1.4 Batasan Masalah ........................................................................................... 2
1.5 Metodologi Penelitian ................................................................................... 3
1.6 Sistematika Penulisan .................................................................................. 4
BAB II LANDASAN TEORI ...................................................................................... 5
2.1 Jaringan MANETs (Mobile Ad Hoc Networks) ........................................ 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiii
2.2 Routing Protokol .......................................................................................... 7
2.3 DSDV (Destination Sequenced Distance Vector)..................................... 10
2.4 Optimized Link State Routing .................................................................. 14
2.5 Simulator NS-3............................................................................................ 22
BAB III RANCANGAN SIMULASI JARINGAN .................................................... 23
3.1 Parameter Simulasi .................................................................................... 23
3.2 Skenario Simulasi ....................................................................................... 24
3.3 Random Waypoint ....................................................................................... 25
3.4 Parameter Kinerja...................................................................................... 26
3.5 AWK ............................................................................................................ 27
3.6 Topologi Jaringan ....................................................................................... 31
BAB IV PENGUJIAN DAN ANALISIS ................................................................... 32
4.1 Penambahan Kecapatan dan density meningkat .................................... 32
4.1.1 Penambahan Keceptan ....................................................................... 32
4.1.2 Penambahan Jumlah Node (density meningkat) ............................. 36
BAB V KESIMPULAN DAN SARAN ...................................................................... 39
5.1 Kesimpulan ................................................................................................. 39
5.2 Saran ............................................................................................................ 39
LAMPIRAN…………………………………………………………………………40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiv
DAFTAR TABEL
Table 2.1 Routing Table MH4 sebelum MH1 bergerak ............................................. 12
Table 2.2 Forwarding Table MH4 Sebelum MH1 Bergerak ...................................... 12
Table 2.3 Routing Table MH4 Setelah MH1 Bergerak .............................................. 13
Table 2.4 Forwading Tabel MH4 Setelah MH1 Bergerak .......................................... 13
Table 3.1 Parameter Utama Ns-3 ................................................................................ 23
Table 3.2 Skenario Penambahan Kecepatan ............................................................... 24
Table 3.3 Skenario Penambahan jumlah node (density) ............................................. 24
Table 4.1 Hasil Pengujian Penambahan Kecepatan Pada 30 Node ............................ 32
Table 4.2 Hasil Pengujian Penambahan Kecepatan Pada 60 Node ............................ 33
Table 4.3 Hasil Pengujian Penambahan Kecepatan Pada 90 Node ............................ 34
Table 4.4 Hasil Penambahan Jumlah Node Kecepatan 2m/s ...................................... 36
Table 4.5 Hasil Penambahan Jumlah Node Kecepatan 5m/s ...................................... 37
Table 4.6 Hasil Penambahan Jumlah Node Kecepatan 10m/s .................................... 38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xv
DAFTAR GAMBAR
Gambar 2.1 Topologi Jaringan MANET ...................................................................... 6
Gambar 2.2 Topologi MANET Routing Protokol DSDV .......................................... 11
Gambar 2.3 Pemilihan MPR ....................................................................................... 15
Gambar 3.1 Pergerakan Random Waypoint................................................................ 25
Gambar 4.1 Grafik Jumlah 30 Node ........................................................................... 32
Gambar 4.2 Grafik Jumlah 60 Node ........................................................................... 33
Gambar 4.3 Grafik Jumlah 90 Node ........................................................................... 34
Gambar 4.4 Grafik Kecepatan 2 m/s ........................................................................... 36
Gambar 4.5 Grafik Kecepatan 5 m/s ........................................................................... 37
Gambar 4.6 Grafik Keccepatan 10 m/s ....................................................................... 38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Saat ini perkembangan teknologi semakin canggih. Hal ini diikuti pula
dengan perkembangan pada jaringan dan internet. Awal mulanya kita mengenal
jaringan pada kabel, kemudian kita mengenal jaringan wireless, dan sekarang
kita mengenal yang namanya jaringan MANETs atau yang sering kita kenal
Mobile Ad Hoc Networks, dan mungkin kedepannya lagi akan banyak lagi
muncul jaringan-jaringan baru. Dari berbagai jaringan diatas cara kerjanya juga
berbeda-beda dan karakterisitiknya juga berbeda. Kali ini yang akan penulis
bahas adalah jaringan MANETs, yaitu Mobile Ad Hoc Networks. Mobile Ad
Hoc Network (MANET) merupakan jaringan sederhana yang dapat dibangun
tanpa memiliki ketergantungan pada infrastruktur jaringan yang sudah ada[1].
Karena bersifat mobile maka node yang ada dalam jaringan ini sangat mungkin
untuk berpindah-pindah tempat setiap waktunya, pergerakan ini tidak hanya
memungkinkan node masih berada dalam lingkup area jaringan, tetapi juga
memungkinkan node keluar dari area jaringan. Hal ini akan sangat berpengaruh
pada topologi jaringan karena dengan perubahan posisi perangkat saja dapat
mengubah topologi. Dengan perubahan topologi maka pencarian jalur routing
untuk setiap node akan selalu dilakukan secara berkala dengan interval waktu
yang singkat.
Jika kita berbicara mengenai jenis jaringan seperti diatas, maka kita juga
harus membicarakan routing protokol yang bekerja pada setiap jenis jaringan
diatas. Salah satunya adalah jaringan MANETs. Pada jaringan MANETs ada
berbagai macam protokol yang bekerja dan saling memiliki kelebihan dan
kekurangan. Contoh routing yang bekerja pada jaringan MANETs adalah
sebagai berikut yang dibagi menjadi tiga kategori, yang pertama adalah routing
protokol reaktif, yaitu routing protokol yang tidak setiap saat melakukan
broadcast kesetiap node, contoh nya DSR, AODV, TORA, ABR, dan SSR.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
2
Sedangkan pada kategori proaktif adalah DSDV, OLSR, CSGR, dan WRP.
Yang terakhir adalah gabungan keduanya yaitu hybrid, contohnya ZRP,
HWMP, HRPLS. Yang akan penulis bahas adalah routing protokol proaktif ,
yaitu DSDV dan OLSR. Seperti yang kita ketahui kedua protokol ini memiliki
cara kerja yang berbeda DSDV menggunakan Distance Vektor sementara
OLSR menggunakan Linkstate, hal ini membuat keduanya memiliki
kekurangan dan kelebihan dalam membangun table routing, contohnya
Overhead Ratio, Delay, dan waktu konvergensi. Dalam hal ini penulis akan
membandingkan waktu konvergensi yang diperlukan oleh kedua protokol ini
dalam membangun tabel routing. Waktu konvergensi adalah waktu yang
dibtuhkan oleh setiap node untuk mendapatkan informasi tentang topologi
jaringan.
1.2 Rumusan Masalah
Dari latar belakang yang telah dideskripsikan, rumusan masalah yang
dapat kita buat adalah Analisis Perbandingan Waktu Konvergensi Routing
Protokol Proaktif DSDV Terhadap Routing Protokol Proaktif OLSR di Jaringan
Bergerak Ad Hoc.
1.3 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mengetahui perbandingan waktu
konvergensi yang dibutuhkan oleh routing protokol proaktif DSDV terhadap
routing protokol OLSR.
1.4 Batasan Masalah
Dalam penelitian ini batasan masalah adalah sebagai berikut :
1. Protokol yang digunakan adalah protokol proaktif DSDV dan OLSR.
2. Pengujian menggunakan simulator NS-3.
3. Parameter yang diukur adalah waktu konvergensi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
3
1.5 Metodologi Penelitian
Adapaun metodologi dan langkah–langkah yang digunakan dalam pelaksanaan
tugas akhir ini adalah sebagai berikut :
1. Studi Literatur
Mencari dan mengumpulkan referensi serta mempelajari teori yang
mendukung tugas akhir ini, seperti:
a. Teori jaringan MANET
b. Teori protokol DSDV dan OLSR
c. Teori waktu konvergen
d. Teori simulator NS-3
e. Tahap-tahap dalam membangun simulasi dan pengambilan data
2. Perancangan
Dalam tahap ini penulis merancang skenario sebagai berikut:
a. Penambahan jumlah node (density)
b. Penambahan kecepatan pergerakan node
c. Pergerakan node Random Way point
3. Pembangunan Simulasi dan Pengumpulan Data
Pada penelitian ini pembangunan simulasi dan pengumpulan data
menggunakan simulator NS-3.
4. Analisis Data Simulasi
Dalam tahap ini penulis menganalisa hasil pengukuran yang diperoleh
pada proses simulasi. Analisa dihasilkan dengan melakukan pengamatan
dari beberapa kali pengukuran yang menggunakan parameter simulasi yang
berbeda.
5. Penarikan Kesimpulan
Penarikan kesimpulan didasarkan pada beberapa parameter unjuk kerja yang
diperoleh pada proses analisis data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
4
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini dibagi menjadi beberapa bab dengan
susunan sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi latar belakang penulisan tugas akhir, rumusan masalah, batasan
masalah, metodologi penilitian, dan sistematika penulisan.
BAB II LANDASAN TEORI
Bagian ini menjelaskan mengenai teori yang berkaitan dengan judul/masalah di
tugas akhir.
BAB III RANCANGAN SIMULASI JARINGAN
Bab ini berisi rancangan simulasi jaringan.
BAB IV PENGUJIAN DAN ANALISIS
Bab ini berisi pelaksanaan simulasi dan hasil analisis data simulasi jaringan.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi beberapa kesimpulan yang didapat serta saran-saran berdasarkan
hasil analisis data simulasi jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
5
BAB II
LANDASAN TEORI
2.1 Jaringan MANETs (Mobile Ad Hoc Networks)
Jaringan Ad hoc (MANET) merupakan jaringan yang dinamis dan
mengkonfigurasikan dirinya sendiri (self-configuration) yang dapat terbentuk
tanpa adanya infrastruktur[1]. MANET Dijaringan MANETs komunikasi
terjadi antara dua node atau lebih apabila node tersebut masih dalam
jangkauan. Dengan memanfaatkan node tersebutlah node yang lain dapat
terhubung tanpa harus adanya infrastruktur. Pada jaringan MANET setiap
Node selalu mancari informasi terbaru dari topologi jaringan, hal ini
disebabkan pada jaringan MANET memiliki sifat yang dinamis serta
melakukan komunikasi secara peer to peer dengan routing menggunakan
multihop.
Karakteristik jaringan Manet
a. Scalability
Sclability artinya jaringan MANET memiliki Node yang tidak tetap pada
masing-masing daerah,serta memiliki tingkat kemanan fisik yang terbatas
jika dibandingkan dengan jaringan kabel.
b. Topologi yang dinamis
Topologi yang dinamis artinya setiap Node dapat bergerak dengan bebas
dan tidak dapat diprediksi.
c. Otonomi dan tanpa infrastruktur
Jaringan Manet bersifat otonomi dan tanpa infrastruktur yang berarti
jaringan manet tidak memerlukan infrastruktur dan tidak terpusat pada satu
model jaringan, setiap node melakukan komunikasi secara peer-to-peer.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
6
d. Sumber daya yang terbatas
Sumber daya yang terbatas membatasi layanan dan aplikasi yang didukung
setiap node, hal ini dikerenakan baterai yang dibawa setiap node sangat
terbatas.
.
Aplikasi jaringan Manet
Aplikasi jaringan manet dapat diaplikasikan diberbagai tempat, hal
ini disebabkan jaringan manet memiliki karakteristik yang dinamis. Selain
itu jaringan ini dapat terbentuk ataupun dibentuk dalam kondisi apapun,
sebab jaringan manet tidak memerlukan adanya infrastruktur. Contoh
penerapan jaringan manet dalam kehidupan sehari-hari adalah dibidang
militer, komersil, dan personal area.
Pada militer jaringan ini digunakan dalam operasi militer, yaitu
digunakan untuk mempermudah komunikasi antar personil militer itu
sendiri.
Gambar 2.1 Topologi Jaringan MANET
Pada jaringan MANET setiap node dapat berfungsi sebagai router yang
berfungsi untuk mencari dan membuat jalur atau rute pada jaringan. Hal inilah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
7
yang membuat jaringan MANET dapat mengorganisir dirinya sendiri dan dapat
beradaptasi dengan sekitarnya, yang artinya jaringan MANET dapat terbentuk
tanpa adanya administrasi (self-configured). Oleh karena itu perangkat pada
jaringan ini harus mampu mendeteksi dan menyambungkan dirinya pada
perangkat lain untuk melakukan komunikasi.
2.2 Routing Protokol
Protokol merupakan seperangkat aturan yang mengatur setiap
komputer untuk saling bertukar informasi melalui media jaringan, sedangkan
routing adalah proses memindahkan informasi dari pengirim ke penerima
melalui sebuah jaringan. Protokol routing adalah standarisasi yang melakukan
kontrol bagaimana sebuah node dapat meneruskan paket diantara perangkat
dalam jaringan mobile ad hoc network (MANET). Pada jaringan ad hoc setiap
node akan memiliki kemampuan layaknya router yang meneruskan pesan
antar node disekitarnya, sehingga dibutuhkan protokol routing untuk membantu
tiap- tiap node untuk meneruskan pesan antar node.
Menurut Internet Engineering Task Force (IETF) ada dua jenis
protokol routing pada jaringan ad hoc, yaitu protokol routing yang bersifat
reaktif dan proaktif. Protokol reaktif terdiri dari protokol routing seperti
Dynamic Source Routing(DSR), Ad hoc On-Demand Distance
Vector(AODV), Temporally Ordered Routing Algorithm(TORA), Associativy
Based Routing(ABR), Signal Stability Routing(SSR). Protokol proaktif terdiri
dari protokol Destination Squenced Distance Vector(DSDV), Cluster Switch
Gateway Routing(CSGR), Wireless Routing Protocol(WRP), Optimized
Linkstate, Geographic Routing Protocol(GRP). Protokol Routing proaktif adalah
protocol routing yang bekerja dengan cara membentuk table routing dan
melakukan update routing setiap saat dalam periode tertentu. Algoritma dari
Golongan protokol ini akan mengelola daftar tujuan dan rute terbaru masing-
masing serta bersifat broadcast sehingga sistem pendistribusian tabel routingnya
selalu diupdate secara periodik, Maka dari itu perlu penggambaran keseluruhan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
8
node jaringan serta setiap node akan merespon perubahan dalam mengupdate
agar terjadi konsistensi routing tabel.
Hal ini akan memperlambat aliran data apabila terjadi restrukturisasi
routing.Beberapa contoh algoritma proactive routing yaitu Intrazone Routing
Protocol(IARP), Linked Cluster Architecture (LCA), Witness Aided
Routing(WAR) , Optimized Link State Routing Protocol(OLSR) , Better
Approach to Mobile Ad hoc Network(BATMAN) , Highly Dynamic Destination
Sequenced Distance Vector routing protocol(DSDV), Fisheye state routing
(FSR), sedangkan Protokol routing reactive Routing reaktif merupakan
mekanisme routing yang bekerja dengan cara membentuk table routing jika ada
permintaan pengiriman data atau terjadinya perubahan link dalam jaringan. Tipe
Algoritma protokol Reactive Routing bersifat on demand, pada intinya node
sumber yang akan menentukan node tujuan sesuai prosedur yang diinginkannya.
Jadi routing tabel yang ada pada node hanyalah informasi route ke tujuan saja.
Beberapa contoh algoritma reactiverouting adalah Associativity Based Routing
(ABR), Ad Hoc On Demand Distance Vector (AODV),Ad Hoc On Demand
Multipath Distance Vector,Backup Source Routing (BSR),Dynamic Source
Routing (DSR),Ant Routing algorithm for mobile ad hoc networks (ARAMA).
Protokol routing digunakan memudahkan komunikasi dalam jaringan,
yaitu dengan menentukan jalur antar node untuk saling berkomunikasi.
Sementara itu tujuan utama protokol routing pada jaringan manet adalah untuk
menentukan jalur yang cepat dan efisien. Pada jaringan manet, node tidak
mempunyai pengetehuan tentang topologi jaringan disekitar mereka.
Hal-hal yang harus diperhatikan dalam algoritma routing protokol:
1. Menjaga jumlah control paket yang sangat minimal
2. Dapat menentukan jalur terpendek untuk setiap tujuan, yaitu harus cepat,
handal, delay rendah, dan efisien.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
9
3. Menjaga tabel routing agar selalu update dan up-to-date ketika topologi
jaringan berubah.
4. Waktu konvergen yang cepat.
Protokol routing pada jaringan manet harus memiliki kemampuan yang
bsifat dasar yaitu harus mampu beradaptasi secara dinamis terhadap perubahan
topologi jaringan yang ada. Hal tersebut dapat diimplementasikan dengan teknik
perencanaan untuk menelusuri perubahan topologi jaringan dan menemukan rute
yang baru ketika rute yang lama telah expired atau berubah.
Berdasarkan hal tersebut dan konsep routing yang ada, maka protokol
routing dibagi menjadi tiga kategori, yaitu
1. Table Driven Routing Protocol ( Protokol Routing Proaktif)
2. On Demand Routing Protocol ( Protokol Routing Reaktif)
3. Hybrid Routing Protocol
Protokol Routing Proaktif
Protokol routing proaktif merupakan protokol routing yang dimana setiap
node memiliki table routing yang lengkap, yang berarti semua node memiliki
atau mengetahui semua rute dalam jaringan teresebut. Setiap node akan
melakukan broadcast table routingnya secara periodik atau berkala, sehingga
setiap kali ada perubahan node akan dengan cepat diketahui dalam interval waktu
tertentu. Node terus mencari rute sehingga pada routing proaktif jika dibutuhkan
rute terbaru maka akan tersedia dengan cepat.
Protokol routing proaktif setiap node harus mampu menjaga table routing
yang dimilikinya, sehingga hal ini dapat menyebabkan terjadinya overhead
dalam jaringan dan akan terbuang percuma. Adapun jenis protokol yang terdapat
dalam kategori ini adalah Intrazone Routing Protocol(IARP), Linked Cluster
Architecture (LCA), Witness Aided Routing(WAR) , Optimized Link State
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
10
Routing Protocol(OLSR) , Better Approach to Mobile Ad hoc
Network(BATMAN) , Highly Dynamic Destination Sequenced Distance Vector
routing protocol(DSDV), Fisheye state routing (FSR).
Protokol Routing Reaktif ( Reaktif Routing Potocol)
Pada routing reaktif proses pencarian jalur atau rute hanya akan dilakukan
jika dibutuhkan komunikasi, artinya proses pencarian hanya akan dilakukan
ketika dibutuhkan jalur terbaru untuk mengirim paket. Jadi table routing hanya
berisi informasi rute ke node tujuan saja. Pada protokol routing reaktif hanya
memanfaatkan metode broadcast untuk route discovery.
Dalam metode berbasis broadcast, ketika sebuah node ingin mengirim
paket ke node tujuan dan tidak memiliki rute maka node tersebut akan
mengirimkan route request ke tetangganya, kemudian akan diteruskan ke
tetangga yang lain sampai menemukan node tujuan. Setiap node menerima
broadcast paket route request hanya sekali saja dan membuang route request
yang sama untuk mengurangi atau meminimalkan routing overhead. Hal ini akan
membuat flooding atau membanjiri jaringan.
2.3 DSDV (Destination Sequenced Distance Vector)
DSDV merupakan routing protokol proaktif yang bekerja berdasarkan
algoritma Bellman-Ford[2]. Routing protokol Destination Sequenced Distance
Vector (DSDV) adalah salah satu protokol awal yang diusulkan pada jaringan
mobile ad hoc network. Destination Sequenced Distance Vector ini termasuk
dalam kategori Proactive Routing Protocol. Prinsip kerja protokol routing ini
mengacu kepada algoritma penentuan rute Bellman-Ford berdasarkan nilai
pembobotan setiap link. Algoritma Bellman-Ford digunakan untuk menghitung
jarak terpendek pada sebuah graf berbobot. Maksudnya dari satu sumber ialah
bahwa ia menghitung semua jarak terpendek yang berawal dari satu titik node.
Algoritma Bellman-Ford hanya digunakan jika ada sisi berbobot negative.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
11
Muncul nya. Algoritma ini cukup membantu jika bobot dari suatu graf bernilai
negatif.
Dibawah ini merupakan cara keja DSDV[4]
Gambar 2.2 Topologi MANET Routing Protokol DSDV
Mengacu pada gambar diatas yang memiliki 8 node dalam jaringan, kita dapat
melihat perubahan routing table pada MH4 dengan mengacu pada pergerakan
MH1. semula, semua node memberikan informasi ke semua node dalam jaringan
dan routing table MH4 awalnya adalah seperti pada tabel berikut ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
12
Table 2.1 Routing Table MH4 sebelum MH1 bergerak
Dan forwarding table MH4 akan terlihat seperti tabel berikut ini[4]
Table 2.2 Forwarding Table MH4 Sebelum MH1 Bergerak
Tetapi ketika MH1 bergerak ketempat lainnya seperti terlihat pada tabel gambar 2.3
maka MH1 menjadi lebih dekat dengan MH7 dan MH8, kemudian link antara MH2
dan MH1 akan dilaporkan rusak sehingga penugasan infinity metric pada MH2 untuk
MH1 dan sequence number akan berubah menjadi ganjil pada routing table MH2.
MH2 akan memperbaharui informasi ini dan memberitahukan ke node tetangganya.
Karena ada tetangga baru untuk MH7 dan MH8, keduanya juga akan memperbaharui
informasi tentang dirinya dan mem-broadcast informasi perubahan tersebut.
Sekarang MH4 akan menerima paket informasi yang diperbaharui dari MH6 dimana
MH6 akan memerima dua paket informasi dari dua tetangga yang berbeda untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
13
mencapai MH1 dengan sequence number yang sama tetapi berbeda metric.
Pemilihan route akan dilakukan tanpa hop count ketika sequence number sama.
Sekarang routing table MH4 akan terlihat seperti table berikut ini.
Table 2.3 Routing Table MH4 Setelah MH1 Bergerak
Dan forwarding table MH4 akan terlihat seperti tabel berikut ini[4].
Table 2.4 Forwading Tabel MH4 Setelah MH1 Bergerak
Dalam routing DSDV setiap node mempelajari jalur-jalur dari sudut pandang
router tetangganya dan kemudian memahami jalur-jalur tersebut dari sudut
pandangnya sendiri, karena setiap router sangat tergantung pada informasi
tetangganya. Dengan menggunakan metode distance vector memungkinkan setiap
node dalam jaringan untuk dapat bertukar informasi dengan tentangganya. DSDV
menggunakan sequence number dalam mengirimkan pesan untuk mencegah
terjadinya looping pada jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
14
Dalam protokol routing DSDV, sequence number akan dihasilkan oleh setiap
node dalam jaringan tersebut. Sequence number akan dihasilkan setiap kali akan
mengirim pesan, dengan demikian sequence number akan dihasilkan saat ada
perubahan dalam topologi jaringan, hal ini terjadi karena sifat tabel routing pada
jaringan yang menggunakan proactive routing protocol. Jika kondisi sequence
number sama, maka akan dilihat dari nilai matric-nya, nilai matric yang terkecil yang
akan dipilih dalam penentuan jalur atau rute terbaru.
Dengan metode routing DSDV, setiap node memelihara sebuah tabel
forwarding dan menyebarkan tabel routing pada node tetangganya. Tabel routing
tersebut memiliki informasi sebagai berikut
• Alamat tujuan node (berupa MAC Address)
• Jumlah hop yang diperlukan untuk mencapai tujuan.
• Sequenced number dari informasi yang diterima yang berasal dari node tujuan.
• Installtime.
2.4 Optimized Link State Routing
Optimzed Link State Routing merupakan routing protokol proaktif yang
berjalan menggunakan algoritma Link State, dan bekerja pada jaringan
MANET. Konsep utama dari routing OLSR adalah penggunaan MPR[3].
Routing OLSR ini dibuat untuk mengurangi flooding paket, yaitu dimana
kondisi setiap node dibanjiri dengan broadcast dari semua node. Oleh karena itu
dibuatlah MPR seleksi. MPR adalah Multi Point Relay. MPR dipilih oleh setiap
Node tujuan untuk menjadi perantara atau sebagai node pusat untuk mem-
broadcast update Topologi Control (TC). MPR dipilih berdasarkan tentangga
satu hop atau dua hop. Sebagai contoh kita lihat gambar dibawah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
15
Gambar 2.3 Pemilihan MPR
Syarat dan proses pemilihan MPR adalah sebagai berikut:
• MPR = Menge-Set node tetangga yang diseleksi
• Meminimalkan flooding paket yang dibroadcast
• Setiap node memilih MPR (Multipoint Relay) di antara hop tetangga,
termasuk menge-set semua node yang meliputi jarak dua hop.
• Informasi yang diperlukan untuk menghitung multipoint relay:
Menge-set satu-hop tetangga dan dua-hop tetangga.
• Set MPRS dapat mengirimkan ke semua dua-hop tetangga
• Hubungan antara node dan MPR adalah dua arah.
• Untuk mendapatkan informasi tentang tetangga satu-hop:
Menggunakan pesan HELLO (diterima oleh semua tetangga satu-hop).
• Untuk mendapatkan informasi tentang tetangga dua-hop: Setiap node
menempel/mencatat daftar tetangga sendiri.
• Setelah node memiliki satu dan dua-hop tetangga: Dapat memilih
MPR yang mencakup semua tetangga dua-hop.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
16
Hello paket, disini hello paket berisi hal seperti berikut : Link sensing
• Mengizinkan setiap node untuk mempelajari pengetahuan tetangganya
hingga dua-hop (deteksi tetangga).
• Atas dasar informasi ini, setiap node melakukan pemilihan multipoint
relay.
• Menunjukkan multipoint relay yang dipilih.
Dari isi diatas kita tahu bahwa hello paket juga berfungsi untuk
membantu memilih MPR.
Tahapan kerja OLSR adalah sebagai berikut :
1. Link Sensing (Pendeteksian hubungan).
Link Sensing dilakukan dengan mengirimkan pesan HELLO secara
periodik dan berkesinambungan. Hasil dari link sensing adalah local link
set yang menyimpan informasi hubungan antara interface yang ada pada
node tersebut dengan node-node tetangga.
Setiap node pada jaringan dengan protokol OLSR harus mengetahui
jenis hubungan yang dimiliki dengan node-node tetangganya. Jenis-jenis
hubungan inilah yang kemudian digunakan untuk menentukan kedudukan
node-node tetangga terhadap node tersebut. Proses pendeteksian
hubungan dengan node-node tetangga tersebut dinamakan Link Sensing
[3].
Link sensing dikerjakan dengan pengiriman pesan HELLO secara
periodik melalui wireless interface yang digunakan dalam node tersebut.
Bila node tersebut menggunakan lebih dari satu interface, maka setiap
interface akan mengirimkan HELLO message yang berbeda-beda.
Hasil pemrosesan data yang didapat dari HELLO message yang
diterima oleh setiap node akan menghasilkan “local link set” yang berisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
17
informasi tentang hubungan antara local interface (interface pada node
tersebut) dengan remote interface (interface pada node tetangga).
Informasi yang terdapat pada link set tersebut antara lain adalah :
- L_local_iface_addr,
- L_neighbor_iface,
- L_SYM_time,
- L_ASYM_time,
- L_time.
L_local_iface_addr merupakan alamat interface pada node
tersebut, L_neighbor_iface adalah alamat interface pada node tetangga,
L_SYM_time adalah waktu yang dibutuhkan hingga sebuah hubungan
dianggap simetris, L_ASYM_time merupakan waktu yang dibutuhkan
hingga interface tetangga dianggap terdeteksi, dan L_time merupakan
waktu yang dibutuhkan hingga informasi ini dianggap kadaluarsa.
L_SYM_time digunakan untuk menentukan Link Type yang merupakan
status hubungan dengan node-node tetangga. Jika L_SYM_time tidak
kadaluarsa, maka hubungan akan bersifat simetris. Sedangkan bila
L_SYM_time telah kadaluarsa maka hubungan dengan node tetangga
akan bersifat asimetris. Dan apabila L_SYM_time dan L_ASYM_time
keduanya telah kadaluarsa maka hubungan dengan tetangga dinyatakan
hilang [3].
2. Neighbour detection (pendeteksian node tetangga).
Node pengirim pesan HELLO akan menerima informasi alamat-alamat
dari node-node tetangganya beserta link status-nya.
Setiap node pada jaringan juga harus mendeteksi node-node tetangga
yang ada pada daerah jangkauannya. Untuk melakukan hal tersebut,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
18
setiap node akan mengirimkan paket pesan HELLO secara broadcast
dalam periode waktu tertentu. Paket HELLO berisi informasi tentang
node-node tetangga serta link status.
Dalam setiap node akan menyimpan informasi tentang node-node
tetangga tersebut dalam“neighbor set” . Neighbor set tersebut berisi
informasi sebagai berikut :
- N_neighbor_main_addr,
- N_status,
- N_willingness.
N_neighbor_main_addr merupakan alamat dari node tetangga,
N_status adalah informasi yang menunjukkan apakah hubungan dengan
node tetangga tersebut bersifat SYM atau NOT_SYM. N_willingness
merupakan tingkat kesediaan node tersebut untuk meneruskan paket untuk
kepentingan node lain yang ditunjukkan dalam bentuk integer 0-7. Selain
neighbor set yang digunakan untuk menyimpan informasi tentang tetangga
1-hop, setiap node juga akan menyimpan informasi node-node tetangga 2-
hop nya. Informasi tersebut disimpan dalam 2-hop neighbor set yang
berisi informasi antara lain :
- N_neighbor_main_addr,
- N_2hop_addr,
- N_time.
N_neighbor_main_addr merupakan informasi alamat dari node
tetangga 1-hop, N_2hop_addr merupakan alamat dari node tetangga 2-hop
yang bersifat simetris dengan tetangga 1-hop nya. N_time menunjukkan
waktu yang dibutuhkan hingga informasi yang ada pada set tersebut akan
kadaluarsa dan harus dihilangkan [3].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
19
3. MPR selection (pemilihan MPR).
Melalui pesan HELLO node utama akan menentukan sejumlah node
tetangga untuk dipilih sebagai multipoint relay (MPR) yang bertugas
meneruskan paket-paket kontrol ke dalam jaringan.
Tujuan dari penggunaan Multipoint Relay (MPR) adalah
meminimalisir penggunaan overhead yang pesan broadcast pada jaringan
dengan cara mengurangi retransmisi (pentransmisian ulang) pada daerah
yang sama [3]. Setiap node pada jaringan akan memilih sejumlah node
tetangga 1-hop nya yang bersifat simetris yang akan melakukan transmisi
ulang pesan-pesannya. Sejumlah node tetangga tersebutlah yang disebut
dengan MPR. Setiap node tetangga yang tidak terpilih menjadi MPR tetap
akan menerima dan memproses pesan broadcast namun tidak akan
meneruskan atau mengirimkan kembali pesan-pesan tersebut. Pemilihan
node-node untuk dijadikan MPR selain harus bersifat simetris juga harus
sedemikian rupa dapat menjangkau sejumlah node tetangga 2-hop. Makin
sedikit jumlah MPR maka makin sedikit penggunaan control traffic
overhead yang digunakan dalam routing protocol.
Setiap node akan menyimpan informasi tentang node-node tetangga
yang telah dipilihnya sebagi MPR dalam sebuah “MPR set” yang berisi
alamat-alamat node MPR tersebut. Selain itu setiap node juga akan
menyimpan informasi tentang siapa-siapa saja yang telah memilihnya
sebagai MPR. Informasi tersebut disimpan dalam “MPR Selector Set”
yang berisi informasi antara lain :
- MS_main_addr,
- MS_time.
Ms_main_addr merupakan alamat-alamat node tetangga yang telah
memilihnya sebagai MPR. MS_time berisi informasi waktu yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
20
dibutuhkan hingga informasi tersebut kadaluarsa dan harus dihilangkan
[3].
4. Pengiriman TC (Topology Control) Messages.
TC Messages dikirimkan untuk memberikan informasi routing kepada
setiap node yang ada pada jaringan yang akan digunakan untuk penentuan
jalur.
Setiap node yang telah terpilih sebagai MPR dalam jaringan
mengirimkan TC Messages (pesan TC) untuk mendeklrasikan sebuah
set/kumpulan jalur-jalur yang disebut advertised link set yang harus
disertai minimal jalur ke seluruh node dari MPR selector set-nya atau
node-node tetangga yang telah memilih node tersebut sebagai MPR-nya.
5. Route calculation (penghitungan jalur).
Berdasarkan informasi rute yang didapat dari paket-paket kontrol
seperti HELLO dan TC maka setiap node akan memiliki routing table
yang berisi informasi rute yang dapat dilalui untuk dipakai mengirimkan
data ke node node lainnya yang ada pada jaringan.
Dengan menggunakan informasi link state yang didapatkan
dari pertukaran pesan secara periodik dan juga disertai dengan
konfigurasi interface dari setiap node maka routing table dari setiap
node dapat dikalkulasi. Setiap node memiliki routing table yang dapat
dipakai untuk jalur data menuju node-node lain dalam jaringan.
Routing tersebut dibuat berdasarkan informasi dalam local link
information base (local link set, neighbour set, 2-hop neighbour set,
MPR set), serta informasi pada topology set. Oleh karena itu, apabila
terjadi perubahan pada set-set tersebut maka routing table akan
dikalkulasi ulang untuk meng-update informasi tentang setiap tujuan
dalam jaringan. Adapun informasi yang disimpan dalam suatu routing
table adalah :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
21
- R_dest_addr
- R_dist
- R_next_addr
- R_iface_addr
R_dest_addr menunjukkan alamat node yang dapat dituju
sedangkan R_dist merupakan jarak atau jumlah hop yang harus dilalui
untuk mencapai node tujuan tersebut. R_next_addr merupakan alamat
node dari hop berikutnya yang dari rute untuk menuju alamat tujuan.
R_iface_addr merupakan alamat interface pada node sumber yang
dapat dipakai untuk menghubungi node pada R_next_addr. Setiap
entries yang disimpan dalam routing table untuk setiap node tujuan
yang ada pada jaringan dimana telah terdapat rute untuk menuju node
tersebut. Setiap tujuan yang rutenya putus atau tidak memiliki
informasi yang lengkap tidak akan dimasukkan dalam routing table.
6. Hello Message
Setiap node pada harus mendeteksi node-node tetangga yang ada pada
daerah jangkauannya. Untuk melakukan hal tersebut, setiap node akan
mengirimkan paket HELLO message secara broadcast dalam periode
waktu
tertentu. Paket HELLO berisi informasi tentang node-node tetangga serta
link status.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
22
2.5 Simulator NS-3
NS-3 atau network simulator merupakan simulator yang digunakan dalam
penelitian pada bidang jaringan komputer. NS-3 juga merupakan free simulator
atau simulator yang digunakan secara gratis. Network simulator ini
menggunakan bahasa C++ sebagai default.
Network Simulator-3 (NS-3) adalah sebuah discrete-event network
simulator, ditargetkan terutama untuk keperluan penelitian dan edukasi. NS-3
adalah perangkat lunak gratis, dilisensikan di bawah lisensi GNU GPLv2, dan
tersedia secara publik untuk penelitian, pengembangan, dan penggunaan.
Tujuan pembuatan NS-3 adalah untuk menyediakan network simulator yang
sesuai dengan kebutuhan penelitian modern dan terkini serta dikembangkan
dalam komunitas open source. Simulasi dari wired maupun wireless network
(routing algorithms, TCP, UDP, dll) dapat dilakukan dengan menggunakan
NS3. Ada beberapa kelebihan yang dimiliki NS3, yaitu sebagai berikut :
1. Sebagai perangkat lunak simulasi pembantu analisis dalam riset atau
penelitian.
2. Memiliki tool validasi yang berfungsi untuk menguji validitas pemodelan
yang ada pada NS-3.
3. Pembuatan simulasi lebih mudah dibandingkan dengan software developer
yang lain.
4. Bersifat open source
5. Pada NS-3 user tinggal membuat topologi dan skenario simulasi yang sesuai
dengan kebutuhan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
23
BAB III
RANCANGAN SIMULASI JARINGAN
3.1 Parameter Simulasi
Pada penelitian ini sudah ditentukan parameter-parameter jaringan.
Parameter-parameter bersifat konstan dan akan dipakai terus pada setiap
pengujian yang dilakukan. Untuk skenario pergerakan node, digunakan sebuah
mobility model yaitu random waypoint mobility.
Table 3.1 Parameter Utama Ns-3
Parameter Simulasi
Parameter Value
Waktu simulasi 1000 s
Jumlah Node 30/60/90
Kecepatan Node 2m/s , 5m/s , 10m/s
Luas area 1000m x 1000m
Mobility Model Random WayPoint Mobility Model
Protokol routing Destination Sequence Distance Vector
(DSDV) dan Optimise Link State Routing
(OLSR)
Tipe Kanal Wirelles Channel
Tipe Network Interface WirellesPhy
Tipe Mac IEEE 802.11
Transmission range 250m
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
24
3.2 Skenario Simulasi
Simulasi terdiri dari beberapa skenario pengambilan data padan runningan,
sebagai berikut :
Skenario 1: Kecepatan Pergerakan (mobility)
Pada Skenario ini penulis akan melihat simulasi dengan menambah
kecepatan pada setiap jumlah node, pada luas area yang sama, node yang
sama, akan tetapi kecepatan pergerakan node yang akan ditambah. Hal ini
akan dilakukan pada kedua protokol.
Table 3.2 Skenario Penambahan Kecepatan
Skenario 2: Penambahan Node (Density)
Pada skenario ini penulis menambah jumlah node pada luas area yang
sama dan kemudian akan melihat pula pada penambahan kecepatan.
Table 3.3 Skenario Penambahan jumlah node (density)
DSDV OLSR
2m/s 2m/s
5m/s 5m/s
10m/s 10m/s
DSDV OLSR
30 node 30 node
60 node 60 node
90 node 90 node
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
25
3.3 Random Waypoint
Dalam teori pergerakan mobile node, model pergerakan random waypoint
adalah sebuah gerakan pada node bergerak dimana kecepatan, akselerasi dan
arah gerak berubah seiring dengan berjalannya waktu. Pergerakan random
waypoint banyak digunakan untuk mensimulasikan pergerakan mobile node
pada Mobile Ad-hoc Networks (MANET).
Gambar 3.1 Pergerakan Random Waypoint
Dalam simulasi yang berbasis pergerakan random, setiap node bergerak
tanpa batasan. Lebih jelasnya, tujuan, dan arah semuanya ditentukan secara
random tanpa pengaruh dari node lainnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
26
3.4 Parameter Kinerja
Parameter kinerja yang penulis ukur adalah waktu konvergen pada
routing protokol.
Konvergensi merupakan kondisi dimana semua node mendapatkan kembali
semua informasi tabel routing setelah terjadi perubahan topologi. Waktu
konvergensi merupakan rata-rata waktu yang dibutuhkan secara keseluruhan
setiap node mendapatkan broadcast dari node yang menyebarkan informasi
tabel routing.
Pada dasarnya cara perhitungan waktu konvergensi pada DSDV dan OLSR
adalah sama. Akan tetapi yang membuat berbeda adalah cara atau proses kedua
protokol ini melakukan broadcast yang membuat perbedaan dari segi cepat atau
lambatnya waktu konvergensi pada setiap node yang dimilikinya.
𝐶𝑜𝑛𝑣𝑒𝑟𝑔𝑒𝑛𝑐𝑒 =𝑇𝑐1̅̅ ̅̅ ̅ + 𝑇𝑐2 + ⋯ 𝑇𝑐𝑛̅̅ ̅̅ ̅
∑𝑛
𝑇𝑐 = ∑(𝑡1 − 𝑡0)
𝑛
𝑛
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
27
3.5 AWK
Fungsi dasar dari awk adalah untuk mencari data pada baris-baris file
atau teks yang mengandung pola-pola tertentu. Ketika baris data cocok dengan
salah satu pola, awk akan melakukan aksi pada baris tersebut. Awk akan terus
melakukan proses pencarian pada setiap baris dari file input dan terus
melakukannya hingga mencapai akhir dari baris pada file input [5].
Bahasa program awk berbeda dengan kebanyakan bahasa program
lainnya, karena awk merupakan program data driven, yaitu mendeskripsikan
data yang ingin kita kerjakan kemudian melakukan apa yang harus dilakukan
untuk menemukannya. Kebanyakan dari bahasa program lain adalah
procedural, perlu penjelasan secara detail pada setiap langkah dalam program
untuk dapat mengambil data. Ketika bekerja dengan bahasa program yang
procedural biasanya jaul lebih sulit untuk mendeskripsikan secara jelas data
yang akan diproses oleh program yang kita buat. Untuk alasan ini, bahasa
program awk menjadi lebih memudahkan untuk membaca dan menulis. Ketika
menjalankan awk, kita menentukan secara spesifik pada program awk apa yang
harus dilakukan. Program ini terdiri dari serangkaian aturan dan setiap aturan
menentukan satu pola untuk mencari dan satu tindakan untuk melakukan aksi
setelah pola ditemukan. Sintaks pada bahasa program awk merupakan
serangkaian aturan yang terdiri dari pola dan kemudian diikuti dengan tindakan.
Tindakan tertutup dalam kurung kurawal untuk memisahkan dari pola dan baris
merupakan pemisah untu setiap aturan, seperti pola sintaks berikut ini.
Awk diciptakan di Bell Labs pada tahun 1970 dan berasal dari
keluarga penulisnya – Alfred Aho, Peter Weinberger, dan Brian Kerningham.
Awk biasanya dipakai untuk analisis log yang panjang atau grab text lalu
dimodifikasi. Awk adalah bahasa pemrogrman yang ditafsirkan biasanya
digunakan sebagai ekstraksi data dan alat pelaporan [5]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
28
Script AWK
BEGIN {
runningTime = 1000
interval = 10
i = 1
j = 1
totalData = 0
totalKonvergen = 0
rerataKonvergen = 0
min = 0
max = interval
tmpmax = 0
invalid = 1
}
{
action = $1
time = $2
header = $49
check = $50
if((action == "t" || action == "r") && time >= min && time < max && header
== "ns3::TC::MessageHeader" && check != "()" ){
arrWaktu[i][j++] = time
totalData++
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
29
if(time >= max) {
i++
j = 1
min = max
tmpmax = interval + min
if(tmpmax < runningTime) {
max = interval + min
} else if(tmpmax >= runningTime) {
max = runningTime
}
if((action == "t" || action == "r") && time >= min && time < max &&
header == "ns3::TC::MessageHeader" && check != "()") {
arrWaktu[i][j++] = time
totalData++
}
}
}
END {
for(x = 1; x
-
30
}
for(y = 2; y
-
31
3.6 Topologi Jaringan
Bentuk topologi jaringan ad hoc tidak dapat diprediksi karena
pergerakan node yang random. Pergerkan yang random inilah yang membuat
topologi jaringan pada Ad Hoc tidak dapat diprediksi. Hal ini disebabkan setiap
node pada jaringan Ad Hoc bersifat dinamis dan self-configuration yang artinya
setiap node pada jaringan Ad Hoc dapat bergerak keluar masuk dalam jaringan
yang menyebabkan topologi jaringan selalu berubah-ubah. Oleh sebab itulah
topologi jaringan pada jaringan Ad Hoc tidak dapat diprediksi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
32
BAB IV
PENGUJIAN DAN ANALISIS
Untuk mengetahui unjuk kerja protokol proaktif DSDV terhadap Routing
Protokol Proaktif OLSR, maka akan dilakukan seperti pada tahap skenario rancangan
simulasi jaringan pada Bab.3.
4.1 Penambahan Kecapatan dan density meningkat
4.1.1 Penambahan Keceptan
Table 4.1 Hasil Pengujian Penambahan Kecepatan Pada 30 Node
Gambar 4.1 Grafik Jumlah Node 30
0
1
2
3
4
5
2 mps 5 mps 10 mps
wak
tu k
onver
gen
(se
c)
Penambahan Kecepatan (m/s)
30 node DSDVOLSR
Kecepatan Mobility DSDV OLSR
2 mps 0.16869 3.92319
5 mps 0.482931 4.34557
10 mps 0.854318 4.932276
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
33
Table 4.2 Hasil Pengujian Penambahan Kecepatan Pada 60 Node
Gambar 4.2 Grafik Jumlah 60 Node
0
1
2
3
4
5
2 mps 5 mps 10 mps
wak
tu k
onver
gen
(se
c)
Penambahan Kecepatan (m/s)
60 nodeDSDV
OLSR
Kecepatan Mobility DSDV OLSR
2 mps 0.284399 3.51782
5 mps 0.653549 4.02603
10 mps 1.163024 4.52945
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
34
Table 4.3 Hasil Pengujian Penambahan Kecepatan Pada 90 Node
Gambar 4.3 Grafik Jumlah Node 90
Pada skenario penambahan kecepatan yang ditunjukan pada gambar 4.1,
gambar 4.3, dan gambar 4.5 kedua protokol menunjukan waktu konvergen
mengalami kenaikan. Terlihat pada setiap jumlah node baik itu 30 node, 60 node, dan
90 node ketika kecepatan ditambah dari 2m/s, 5m/s, dan 10m/s pada luas area yang
sama mengalami kenaikan dibandingkan OLSR. Namun keduanya pada penambahan
kecepatan menunjukan kenaikan. Akan tetapi pada DSDV lebih cepat konvergen
dibandingkan OLSR. Hal ini disebabkan pada DSDV pengiriman atau update table
routing di lakukan oleh setiap node, dan sehingga kemungkinan setiap node
menerima informasi routing yang terkirim lebih cepat. Pada OLSR pengiriman pesan
TC atau topologi control lebih lama dikirim dan lebih lama sampai ke node lainya,
sebab pengiriman pesan TC hanya boleh di lakukan oleh MPR atau Multy Point
0
1
2
3
4
5
2 mps 5 mps 10 mps
wak
tu k
onver
gen
(se
c)
penambahan kecepatan (m/s)
90 nodeDSDV
OLSR
Kecepatan Mobility DSDV OLSR
2 mps 0.392267 3.01256
5 mps 0.799245 3.56541
10 mps 1.551394 4.05795
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
35
Relay, jadi sebelum MPR terpilih semuanya pesan TC tidak akan dikirm ke node
lainya. Akan tetapi kedua protokol ini di skenario penambahan kecepatan mengalami
kenaikan dikarenakan semakin cepat pergerkan node maka semakin cepat pula
perubahan topologi jaringan yang ada, jadi hal ini membuat semakin lama waktu
yang dibutuhkan untuk kembali terhubung ke jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
36
4.1.2 Penambahan Jumlah Node (density meningkat)
Table 4.4 Hasil Penambahan Jumlah Node Kecepatan 2m/s
Jumlah Node DSDV OLSR
30 Node 0.16869 3.92319
60 Node 0.284399 3.51782
90 Node 0.392267 3.01256
Gambar 4.4 Grafik Kecepatan 2 m/s
0
1
2
3
4
5
30 node 60 node 90 node
Wak
tu K
onver
gen
(se
c)
Kenaikan jumlah node
Kecepatan 2 m/sDSDVOLSR
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
37
Table 4.5 Hasil Penambahan Jumlah Node Kecepatan 5m/s
Jumlah Node DSDV OLSR
30 Node 0.482931 4.34557
60 Node 0.653549 4.02603
90 Node 0.799245 3.56541
Gambar 4.5 Grafik Kecepatan 5 m/s
0
1
2
3
4
5
30 node 60 node 90 node
Wak
tu K
onver
gen
(se
c)
Kenaikan jumlah node
Kecepatan 5 m/sDSDV
OLSR
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
38
Table 4.6 Hasil Penambahan Jumlah Node Kecepatan 10m/s
Jumlah Node DSDV OLSR
30 Node 0.854318 4.932276
60 Node 1.163024 4.52945
90 Node 1.551394 3.95795
Gambar 4.6 Grafik Keccepatan 10 m/s
Pada skenario penambahan jumlah node yang ditunjukan pada gambar 4.7,
gambar 4.9, dan gambar 4.11 DSDV masih lebih baik dibandingkan OLSR. Akan
tetapi yang berbeda adalah OLSR cenderung menurun, sedangkan DSDV naik. Hal
ini disebabkan semakin padat jaringan membuat DSDV semakin berat dijaringan
kemungkinan update table routing semkain lama, namun pada OLSR pada
penambahan jumlah node ini menurun karena jarak antar node semakin dekat
sehingga proses pengiriman pesan TC semakin cepat. Namun disni DSDV tetap lebih
cepat dibandingkan OLSR.
00.5
11.5
22.5
33.5
44.5
5
30 node 60 node 90 node
Wak
tu K
onver
gen
(se
c)
Kenaikan jumlah node
Kecepatan 10 m/sDSDV
OLSR
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
39
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari penelitian yang telah dilakukan maka dapat disimpulkan beberapa hal
sebagai beriktu:
1. Waktu konvergen routing DSDV lebih cepat dibandingkan OLSR pada
skenario penambahan kecepatan mobility dan density meningkat.
2. Waktu konvergen routing DSDV semakin naik pada penambahan
kecepatan dan density meningkat.
3. Waktu konvergen routing OLSR lebih lama dibandingkan routing DSDV
pada skenario penambahan kecepatan mobility dan density meningkat.
4. Waktu konvergen OLSR cenderung mengalami penurunan pada skenario
density meningkat.
5.2 Saran
Penelitian selanjutnya diperlukan untuk melihat perbedaan antara protokol
routing lainya. Untuk melihat seberapa besar perbedaan dari sisi konvergensi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
40
DAFTAR PUSTAKA
1. Valentina Timcenko, Mirjana Stojanovic, Slavica Bostjancic Rakas.
2015. MANET Routing Protocols vs. Mobility Models: Performance
Analysis and Comparison. Serbia : Institute Mihailo Pupin.
2. C. E. Perkins and P. Bhagwat, “Highly Dynamic Destination
Sequenced Distance-Vector Routing (DSDV) for Mobile Computers”,
SIGCOMM 94, London, England, UK, Pages 234-244, August 1994.
3. T. Clausen, P. Jacquet, “RFC3626: Optimized Link State Routing
Protocol (OLSR)”, Experimental, http://www.ietf.org/rfc/rfc3626.txt .
4. Gorantala, Khrisna. 2006. Routing Protocols in Mobile Ad Hoc
Networks. Sweden: Department of Computing Science Umea
University.
5. Arnold D. Robins. 2014. GAWK : Effective AWK Programing. Free
Software Foundations, Boston.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
http://www.ietf.org/rfc/rfc3626.txt
-
41
LAMPIRAN
1. Source code DSDV
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/applications-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
#include
using namespace ns3;
uint16_t port=9;
NS_LOG_COMPONENT_DEFINE("Dsdv");
class Dsdv
{
public:
Dsdv();
void CaseRun(uint32_t nWifis, uint32_t nSinks, double totalTime,
std::string rate, std::string phyMode, uint32_t nodeSpeed, uint32_t
periodicUpdateInterval, uint32_t settlingTime, double dataStart, bool
printRoutes, std::string CSVfileName);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
42
private:
uint32_t m_nWifis;
uint32_t m_nSinks;
double m_totalTime;
std::string m_rate;
std::string m_phyMode;
uint32_t m_nodeSpeed;
uint32_t m_periodicUpdateInterval;
uint32_t m_settlingTime;
double m_dataStart;
uint32_t bytesTotal;
uint32_t packetsReceived;
bool m_printRoutes;
std::string m_CSVfileName;
NodeContainer nodes;
NetDeviceContainer devices;
Ipv4InterfaceContainer interfaces;
private:
void CreateNodes();
void CreateDevices(std::string tr_name);
void InstallInternetStack (std::string tr_name);
void InstallAplications();
void SetupMobility();
void ReceivePacket(Ptr);
PtrSetupPacketReceive(Ipv4Address, Ptr);
void CheckThroughput();
};
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
43
int main(int argc, char**argv)
{
Dsdv test;
uint32_t nWifis=120;
uint32_t nSinks=119;
double totalTime=1000.0;
std::string rate("1 mbps");
std::string phyMode("DsssRate11Mbps");
uint32_t nodeSpeed=2;
std:: string appl="all";
uint32_t periodicUpdateInterval=10;
uint32_t settlingTime=6;
double dataStart=50.0;
bool printRoutingTable=1;
std::string CSVfileName="Dsdv.csv";
CommandLine cmd;
cmd.AddValue("nWifis","Number of wifi nodes[Default:30]",nWifis);
cmd.AddValue("nSinks","Number of wifi sink
nodes[Default:10]",nSinks);
cmd.AddValue("totalTime","Total Simulation
time[Default:100]",totalTime);
cmd.AddValue("phyMode","Wifi phy
mode[Default:DsssRate11Mbps]",phyMode);
cmd.AddValue("rate","CBR traffic rate[Default:8kbps]",rate);
cmd.AddValue("nodeSpeed","Node speed in
RandomWayPointModel[Default:10]",nodeSpeed);
cmd.AddValue("periodicUpdateInterval","periodic Interval
Time[Default=15]",periodicUpdateInterval);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
44
cmd.AddValue("settlingTime","settling TIme before sending out an
update for changed metric[Default=6]",settlingTime);
cmd.AddValue("dataStart","Time at which nodes start to transmit
data[Default=50.0]",dataStart);
cmd.AddValue("printRoutingTable","print routing table for
nodes[Default:1]",printRoutingTable);
cmd.AddValue("CSVfileName","The name of the CSV output file
name[Default:Dsdv.csv]", CSVfileName);
cmd.Parse(argc,argv);
std::ofstream out(CSVfileName.c_str());
out
-
45
return 0;
}
Dsdv::Dsdv() :bytesTotal(0), packetsReceived(0)
{
}
void Dsdv::ReceivePacket(Ptrsocket)
{
NS_LOG_UNCOND(Simulator::Now().GetSeconds()Recv()))
{
bytesTotal+=packet->GetSize();
packetsReceived+=1;
}
}
void Dsdv::CheckThroughput()
{
double kbs=(bytesTotal*8.0)/1000;
bytesTotal=0;
std::ofstream out(m_CSVfileName.c_str(), std::ios::app);
out
-
46
}
Ptr Dsdv::SetupPacketReceive(Ipv4Address addr, Ptr
node)
{
TypeId tid=TypeId::LookupByName("ns3::UdpSocketFactory");
Ptr sink=Socket::CreateSocket(node, tid);
InetSocketAddress local=InetSocketAddress(addr, port);
sink->Bind (local);
sink->SetRecvCallback(MakeCallback(&Dsdv::ReceivePacket, this));
return sink;
}
void Dsdv::CaseRun(uint32_t nWifis, uint32_t nSinks, double
totalTime, std::string rate, std::string phyMode, uint32_t nodeSpeed,
uint32_t periodicUpdateInterval, uint32_t settlingTime, double
dataStart, bool printRoutes, std::string CSVfileName)
{
m_nWifis = nWifis;
m_nSinks = nSinks;
m_totalTime = totalTime;
m_rate = rate;
m_phyMode = phyMode;
m_nodeSpeed = nodeSpeed;
m_periodicUpdateInterval = periodicUpdateInterval;
m_settlingTime = settlingTime;
m_dataStart = dataStart;
m_printRoutes = printRoutes;
m_CSVfileName = CSVfileName;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
47
std::stringstream ss;
ss
-
48
}
void Dsdv::SetupMobility()
{
MobilityHelper mobility;
ObjectFactory pos;
pos.SetTypeId("ns3::RandomRectanglePositionAllocator");
pos.Set("X",
StringValue("ns3::UniformRandomVariable[Min=0.0|Max=750.0]"));
pos.Set("Y",
StringValue("ns3::UniformRandomVariable[Min=0.0|Max=750.0]"));
std::stringstream speedConstantRandomVariableStream;
speedConstantRandomVariableStream
-
49
wifiMac.SetType("ns3::AdhocWifiMac");
YansWifiPhyHelper wifiPhy=YansWifiPhyHelper::Default();
YansWifiChannelHelper wifiChannel;
wifiChannel.SetPropagationDelay("ns3::ConstantSpeedPropagationDe
layModel");
wifiChannel.AddPropagationLoss("ns3::FriisPropagationLossModel")
;
wifiPhy.SetChannel(wifiChannel.Create());
WifiHelper wifi;
wifi.SetStandard(WIFI_PHY_STANDARD_80211b);
wifi.SetRemoteStationManager("ns3::ConstantRateWifiManager",
"DataMode", StringValue(m_phyMode),"ControlMode",
StringValue(m_phyMode));
devices=wifi.Install(wifiPhy, wifiMac, nodes);
AsciiTraceHelper ascii;
wifiPhy.EnableAsciiAll(ascii.CreateFileStream(tr_name+".tr"));
wifiPhy.EnablePcapAll(tr_name);
}
void Dsdv::InstallInternetStack(std::string tr_name)
{
DsdvHelper dsdv;
dsdv.Set("PeriodicUpdateInterval",
TimeValue(Seconds(m_periodicUpdateInterval)));
dsdv.Set("SettlingTime", TimeValue(Seconds(m_settlingTime)));
InternetStackHelper stack;
stack.SetRoutingHelper(dsdv);
stack.Install(nodes);
Ipv4AddressHelper address;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
50
address.SetBase("10.1.1.0","255.255.255.0");
interfaces=address.Assign(devices);
if(m_printRoutes)
{
PtrrouitngStream=Create((tr_name+".routes"), std::ios::out);
dsdv.PrintRoutingTableAllAt(Seconds(m_periodicUpdateInterval),rou
itngStream);
}
}
void Dsdv::InstallAplications()
{
for(uint32_t i=0; iGetObject()-
>GetAddress(1,0).GetLocal();
Ptrsink=SetupPacketReceive(nodeAddress, node);
}
for(uint32_t clientNode=0; clientNode
-
51
onoff1.SetAttribute("OnTime",
StringValue("ns3::ConstantRandomVariable[Constant=1.0]"));
onoff1.SetAttribute("OffTime",
StringValue("ns3::ConstantRandomVariable[Constant=0.0]"));
if(j!=clientNode)
{
ApplicationContainer
apps1=onoff1.Install(nodes.Get(clientNode));
Ptrvar=CreateObject();
apps1.Start(Seconds(var-
>GetValue(m_dataStart, m_dataStart+1)));
apps1.Stop(Seconds(m_totalTime));
}
}
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
52
2. Source code OLSR
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/applications-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/olsr-helper.h"
#include "ns3/olsr-header.h"
#include "ns3/olsr-routing-protocol.h"
#include "ns3/object.h"
#include "ns3/uinteger.h"
#include "ns3/traced-value.h"
#include "ns3/trace-source-accessor.h"
#include
#include
#include "ns3/nstime.h"
#include
#include
#include
#define OLSR_MAXJITTER (m_HelloInterval.GetSeconds ()/4)
#define OLSR_MAX_SEQ_NUM 65535
#define JITTER (Seconds (m_uniformRandomVariable->GetValue(0,
OLSR_MAXJITTER)))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
53
#define OLSR_NEIGHB_HOLD_TIME
Time(3*OLSR_REFRESH_INTERVAL)
#define OLSR_TOP_HOLD_TIME Time(3*m_tcInterval)
#define OLSR_DUP_HOLD_TIME Seconds(30)
#define OLSR_MID_HOLD_TIME Time(3*m_midInterval)
#define OLSR_HNA_HOLD_TIME Time(3*m_hnaInterval)
using namespace ns3;
uint16_t port=9;
NS_LOG_COMPONENT_DEFINE("Olsr");
class Olsr
{
public:
Olsr();
void CaseRun(uint32_t nWifis,uint32_t nSinks,double
totalTime,std::string rate,std::string phyMode,uint32_t
nodeSpeed,uint32_t tcInterval,uint32_t HelloInterval,double
dataStart,bool printRoutes,std::string CSVfileName);
private:
uint32_t m_nWifis;
uint32_t m_nSinks;
double m_totalTime;
std::string m_rate;
std::string m_phyMode;
uint32_t packetSize;
uint32_t numPackets;
uint32_t m_nodeSpeed;
uint32_t m_tcInterval;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
54
uint32_t m_HelloInterval;
double m_dataStart;
uint32_t bytesTotal;
uint32_t packetsReceived;
bool m_printRoutes;
uint16_t m_packetLength;
uint16_t m_packetSequenceNumber;
std::string m_CSVfileName;
NodeContainer nodes;
NetDeviceContainer devices;
Ipv4InterfaceContainer interfaces;
private:
void CreateNodes();
void CreateDevices(std::string tr_name);
void InstallInternetStack(std::string tr_name);
void InstallApplications();
void SetupMobility();
void ReceivePacket(Ptr);
PtrSetupPacketReceive(Ipv4Address, Ptr);
void CheckThroughput();
};
int main(int argc, char**argv)
{
Olsr test;
uint32_t nWifis=120;
uint32_t nSinks=119;
double totalTime=1000.0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
55
std::string rate("1 Mbps");
std::string phyMode("DsssRate11Mbps");
uint32_t nodeSpeed=2;
std::string appl="all";
uint32_t tcInterval=10;
uint32_t HelloInterval=2;
double dataStart=0.0;
bool printRoutingTable=1;
uint32_t packetSize =0;
uint32_t numPackets =0;
std::string CSVfileName="Olsr.csv";
CommandLine cmd;
cmd.AddValue("nWifis","Number of wifi nodes[Default:30]",nWifis);
cmd.AddValue("nSinks","Number of wifi sink
nodes[Default:10]",nSinks);
cmd.AddValue("totalTime","Total Simulation
time[Default:100]",totalTime);
cmd.AddValue("phyMode","Wifi
phyMode[Default:DsssRate11Mbps",phyMode);
cmd.AddValue("rate","CBR traffic rate[Default:8kbps]",rate);
cmd.AddValue("nodeSpeed","Node speed in RandomWayPoint
model[Default:10]",nodeSpeed);
cmd.AddValue("tcInterval","TC Time before sending out an update
for changed metric[Default=15", tcInterval);
cmd.AddValue("HelloInterval","Hello Interval
Time[Default=10]",HelloInterval);
cmd.AddValue("dataStart","Time at which nodes start to transmit
data[Default=50.0]",dataStart);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
56
cmd.AddValue("printRoutingTable","print routing table for
nodes[Default:1]",printRoutingTable);
cmd.AddValue("CSVfileName","The name of the CSV output file
name[Default:Olsr",CSVfileName);
cmd.AddValue("packetSize", "size of application packet sent",
packetSize);
cmd.AddValue("numPackets", "number of packets generated",
numPackets);
cmd.Parse (argc,argv);
std::ofstream out(CSVfileName.c_str());
out
-
57
Olsr::Olsr():bytesTotal(64), packetsReceived(1)
{
}
void Olsr::ReceivePacket(Ptrsocket)
{
NS_LOG_UNCOND(Simulator::Now().GetSeconds()Recv()))
{
bytesTotal+=packet->GetSize();
packetsReceived+=1;
}
}
void Olsr::CheckThroughput()
{
double kbs=(bytesTotal*8.0)/1000;
bytesTotal=64;
std::ofstream out(m_CSVfileName.c_str(),std::ios::app);
out
-
58
Ptr Olsr::SetupPacketReceive(Ipv4Address addr,
Ptrnode)
{
TypeId tid=TypeId::LookupByName("ns3::UdpSocketFactory");
Ptrsink=Socket::CreateSocket(node, tid);
InetSocketAddress local=InetSocketAddress(addr, port);
sink->Bind (local);
sink->SetRecvCallback(MakeCallback(&Olsr::ReceivePacket,this));
return sink;
}
void Olsr::CaseRun(uint32_t nWifis, uint32_t nSinks, double
totalTime, std::string rate, std::string phyMode, uint32_t nodeSpeed,
uint32_t tcInterval, uint32_t HelloInterval, double dataStart, bool
printRoutes, std::string CSVfileName)
{
m_nWifis=nWifis;
m_nSinks=nSinks;
m_totalTime=totalTime;
m_rate=rate;
m_phyMode=phyMode;
m_nodeSpeed=nodeSpeed;
m_tcInterval=tcInterval;
m_HelloInterval=HelloInterval;
m_dataStart=dataStart;
m_printRoutes=printRoutes;
m_CSVfileName=CSVfileName;
std::stringstream ss;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
59
ss
-
60
}
void Olsr::CreateNodes()
{
std::cout
-
61
"Pause",
StringValue("ns3::ConstantRandomVariable[Constant=0.0]"),
"PositionAllocator", PointerValue(taPositionAlloc));
mobility.SetPositionAllocator(taPositionAlloc);
mobility.Install(nodes);
Simulator::Schedule(Seconds(1.0),&Olsr::SetupMobility, this);
}
void Olsr::CreateDevices(std::string tr_name)
{
NqosWifiMacHelper wifiMac=NqosWifiMacHelper::Default();
wifiMac.SetType("ns3::AdhocWifiMac");
YansWifiPhyHelper wifiPhy=YansWifiPhyHelper::Default();
YansWifiChannelHelper wifiChannel;
wifiChannel.SetPropagationDelay("ns3::ConstantSpeedPropagationDe
layModel");
wifiChannel.AddPropagationLoss("ns3::FriisPropagationLossModel")
;
wifiPhy.SetChannel(wifiChannel.Create());
WifiHelper wifi;
wifi.SetStandard(WIFI_PHY_STANDARD_80211b);
wifiPhy.Set("TxPowerStart", DoubleValue(33));
wifiPhy.Set("TxPowerEnd", DoubleValue(33));
wifiPhy.Set("TxPowerLevels", UintegerValue(1));
wifiPhy.Set("TxGain", DoubleValue(0));
wifiPhy.Set("RxGain", DoubleValue(0));
wifiPhy.Set("EnergyDetectionThreshold", DoubleValue(-61.8));
wifiPhy.Set("CcaMode1Threshold", DoubleValue(-64.8));
wifi.SetRemoteStationManager("ns3::ConstantRateWifiManager","Da
taMode", StringValue(m_phyMode),"ControlMode",
StringValue(m_phyMode));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
62
devices=wifi.Install(wifiPhy,wifiMac,nodes);
AsciiTraceHelper ascii;
wifiPhy.EnableAsciiAll(ascii.CreateFileStream(tr_name+".tr"));
wifiPhy.EnablePcapAll(tr_name);
}
void Olsr::InstallInternetStack(std::string tr_name)
{
OlsrHelper olsr;
olsr.Set("TcInterval", TimeValue(Seconds(m_tcInterval)));
olsr.Set("HelloInterval", TimeValue(Seconds(m_HelloInterval)));
InternetStackHelper stack;
stack.SetRoutingHelper(olsr);
stack.Install(nodes);
Ipv4AddressHelper address;
address.SetBase("10.1.1.0","255.255.255.0");
interfaces=address.Assign(devices);
if(m_printRoutes)
{
PtrroutingStream=Create((tr_name+".routes"), std::ios::out);
olsr.PrintRoutingTableAllAt(Seconds(m_tcInterval),
routingStream);
}
}
void Olsr::InstallApplications()
{
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
63
for(uint32_t i=0; iGetObject()-
>GetAddress(1,0).GetLocal();
Ptrsink=SetupPacketReceive(nodeAddress, node);
}
for(uint32_t clientNode=0; clientNode
top related