OLSR & MANET routing Vortrag Aaron Kaplan, Funkfeuer 11/2006.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk filei ANALISIS WAKTU KONVERGENSI PROTOKOL...
Transcript of PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk filei ANALISIS WAKTU KONVERGENSI PROTOKOL...
i
ANALISIS WAKTU KONVERGENSI PROTOKOL ROUTING OLSR
PADA JARINGAN MANET DENGAN NS-3
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh:
Mikael Yudhi Priamuda
085314022
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
CONVERGENCE TIME ANALYSIS OF OLSR ROUTING PROTOCOL
ON MANET WITH NS-3
A THESIS
Presented as Partial Fulfillment of The Requirements
To Obtain Sarjana Komputer Degree
In Informatics Engineering Study Program
Created by:
Mikael Yudhi Priamuda
085314022
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN MOTTO
Bukan PINTAR atau BODOH
Bukan BISA atau TIDAK BISA
Tapi
MAU atau TIDAK MAU
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
ABSTRAK
MANET adalah jaringan ad-hoc yang setiap node nya dapat bergerak
dengan bebas. Jenis jaringan ini tidak tergantung pada infrastruktur jaringan yang
ada. Hal ini disebabkan karena MANET memiliki sifat yang dinamis dan spontan.
Masing-masing node dalam jaringan ini dapat meneruskan aliran paket data atau
dapat bertindak sebagai router.
OLSR merupakan salah satu protokol routing yang digunakan pada
jaringan ad-hoc. Protokol ini tergolong dalam proactive routing protocol, dimana
setiap node nya akan mengirimkan informasi routing setiap satuan waktu dengan
metode broadcast. Informasi routing pada OLSR terdapat pada pesan TC (
Topology Control ).
Waktu konvergensi adalah waktu dimana semua node atau router
menerima informasi routing. Pada OLSR, waktu konvergensi terjadi ketika semua
node menerima pesan TC yang sama dalam satu jaringan. Hasil dari penelitian ini
adalah cepat atau lambatnya waktu konvergensi protokol OLSR bergantung pada
kepadatan jaringan dan beban aliran data yang digunakan.
Kata kunci: OLSR, MANET, Waktu Konvergensi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRACT
MANET is aN ad-hoc network which has free node. MANET is not
depend on the existing network infrastructure. It is because MANET has
dynamic and spontaneous character. Each node on this network can forward the
data stream or can act as a router.
OLSR is one of routing protocol that used by the ad-hoc network. This
protocol include in proactive routing protocol, that every node of it will send
routing information in every single time with the broadcast methods. Every
routing information of OLSR is inside TC (Topology Control) messages.
Convergence time is the time where every nodes or routers received
routing information. On OLSR, convergence time happen when all nodes receive
same TC message in a network. Results of this thesis is about the speed of the
OLSR protocol convergence time depends on the network density and data
stream load which used.
Keywords: OLSR, MANET, Convergence Time
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Syukur dan terimakasih penulis ucapkan kepada Tuhan, karena atas
penyertaannya penulis dapat menyelesaikan tugas akhir yang berjudul “Analisis
Waktu Konvergensi Protokol Routing OLSR Pada Jaringan MANET
Dengan NS-3”. Tugas akhir ini ditulis sebagai salah satu syarat memperoleh
gelar Sarjana Komputer program studi Teknik Informatika Fakultas Sains Dan
Teknologi Universitas Sanata Dharma.
Penulis juga mengucapkan terimakasih kepada semua pihak yang telah
membantu dalam menyelesaikan tugas akhir ini, yaitu:
1. Tuhan.
2. Bapak Paulus Sukardi, Ibu Anastsya Supriyati, Bernadeta Yogi
Adiwijayanti dan Maria Kurnia.
3. Bapak Bambang Soelistijanto, Ph.D.
4. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc.
5. Ibu Ridowati Gunawan, S.Kom., M.T.
6. Bapak Henricus Agung Hernawan, S.T., M.Kom. dan Bapak
Puspaningtyas S. Adi., S.T., M.T.
7. Seluruh dosen program studi Teknik Informatika.
8. Staff sekretariat dan laboratorium komputer.
9. Teman-teman angkatan 2008 dan 2009.
10. Antonius Purwanto dan Rektifaya Swesti Putri.
11. Sahabat-sahabat berbagi cerita.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
Akhir kata, semoga tugas akhir ini dapat memberi manfaat bagi semua
pihak dan perkembangan ilmu pengetahuan.
Yogyakarta, Juni 2015
Penulis,
Mikael Yudhi Priamuda
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
Halaman
Halaman Judul ............................................................................................... i
Halaman Judul (Inggris) ................................................................................ ii
Halaman Persetujuan ..................................................................................... iii
Halaman Pengesahan ..................................................................................... iv
Halaman Motto .............................................................................................. v
Pernyataan Keaslian Karya ............................................................................ vi
Abstrak .......................................................................................................... vii
Abstract .......................................................................................................... viii
Persetujuan Publikasi Karya Ilmiah .............................................................. ix
Kata Pengantar ............................................................................................... x
Daftar Isi ........................................................................................................ xii
Daftar Gambar ............................................................................................... xiv
Daftar Tabel ................................................................................................... xv
BAB I. Pendahuluan
1.1. Latar Belakang ................................................................................. 1
1.2. Rumusan Masalah ........................................................................... 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
1.3. Tujuan Penelitian ............................................................................. 2
1.4. Luaran Yang Diharapkan .................................................................. 3
1.5. Batasan Masalah ................................................................................ 3
1.6. Metodologi Penelitian ....................................................................... 3
1.7. Sistematika Penulisan ...................................................................... 4
BAB II. Landasan Teori
2.1 Mobile Ad-hoc Network (MANET) .................................................... 5
2.2 Optimized Link State Routing (OLSR) ............................................... 9
2.2.1 HELLO Messages ................................................................... 13
2.2.2 TC (Topology Control) Messages ........................................... 15
2.2.3 Cara Kerja OLSR ..................................................................... 16
2.3 Konvergensi Routing (Routing Convergence) .................................. 22
2.3.1 Konvergensi OLSR .................................................................. 23
2.4 NETWORK SIMULATOR 3 (NS3) ................................................... 23
BAB III. Perencanaan Simulasi Jaringan
3.1. Topologi Jaringan .............................................................................. 27
3.2. Analisis Masalah .............................................................................. 28
3.3. Analisis Kebutuhan .......................................................................... 29
3.4. Parameter Simulasi ........................................................................... 30
3.5. Skenario Simulasi ............................................................................. 31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
3.6. Parameter Unjuk Kerja ..................................................................... 33
3.7. Tabel Analisis ................................................................................... 33
BAB IV. Implementasi dan Analisis
4.1 Implementasi Simulasi ...................................................................... 34
4.2 Pengambilan Data .............................................................................. 35
4.2.1 Network density meningkat ...................................................... 35
4.2.2 Network density tetap ............................................................... 38
4.2.3 Network density meningkat dan ditambah dengan beban ......... 40
4.2.4 Network density tetap dan ditambah dengan beban .................. 43
4.2.5 Grafik Perbandingan ................................................................. 45
4.3 Analisis .............................................................................................. 47
BAB V. Kesimpulan dan Saran
5.1 Kesimpulan ........................................................................................ 49
5.2 Saran .................................................................................................. 49
DAFTAR PUSTAKA ................................................................................... 50
LAMPIRAN .................................................................................................. 51
DAFTAR GAMBAR
Gambar 2.1. Kategori Ad Hoc Routing Protocol ........................................... 7
Gambar 2.2. Format Paket OLSR ................................................................. 10
Gambar 2.3. Format Paket HELLO ................................................................ 13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Gambar 2.4. Format TC Message .................................................................. 15
Gambar 2.5. Flooding MPR .......................................................................... 20
Gambar 3.1. Proses Pengiriman pesan TC .................................................... 28
Gambar 4.1. Grafik rata-rata waktu konvergensi untuk network density
meningkat ................................................................................. 38
Gambar 4.2. Grafik rata-rata waktu konvergensi untuk network density tetap 40
Gambar 4.3. Grafik rata-rata waktu konvergensi untuk network density
meningkat ditambah beban ....................................................... 43
Gambar 4.4. Grafik rata-rata waktu konvergensi untuk network density tetap
ditambah beban ......................................................................... 45
Gambar 4.5. Perbandingan rata-rata waktu konvergensi .............................. 46
DAFTAR TABEL
Tabel 3.1. Parameter Simulasi dengan NS-3 ............................................. 31
Tabel 3.2. Contoh Tabel Analisis .............................................................. 33
Tabel 4.1. Pengujian network density meningkat ...................................... 37
Tabel 4.2. Pengujian network density tetap ............................................... 40
Tabel 4.3. Pengujian network density meningkat ditambah beban ............ 42
Tabel 4.4. Pengujian network density tetap ditambah beban ..................... 44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Tabel 4.5. Data Perbandingan Semua Skenario ........................................ 46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
Pendahuluan
1.1 Latar Belakang
Salah satu faktor yang menjadi perkembangan teknologi Internet
adalah adanya komunikasi perangkat bergerak (Mobile Communication). Saat
ini pengguna Internet menginginkan dapat mengakses data dimanapun dan
kapanpun. Berbagai penelitian dilakukan untuk memenuhi kebutuhan
tersebut. Komunikasi perangkat bergerak saat ini dibagi menjadi dua, yaitu
Infrastructure Based dan Ad-hoc. Contoh dari Infrastructure Based adalah
jaringan seluler. Sedangkan contoh dari Ad-hoc adalah MANET (Mobile Ad-
hoc Network).
Pada MANET, terdapat berbagai protokol routing yang dapat
digunakan. Protokol tersebut dibagi menjadi tiga kategori, yaitu proaktif,
reaktif, dan gabungan antara keduannya yang disebut dengan hybrid. Protokol
routing yang termasuk dalam kategori proaktif adalah Destination Sequenced
Distance Vector (DSDV), Cluster Switch Gateway Routing (CSGR), Wireless
Routing Protocol (WRP), Optimized Link State Routing (OLSR), dan protokol
yang termasuk dalam kategori reaktif adalah Dynamic Source Routing (DSR),
Ad hoc On-demand Distance Vector (AODV), Temporally Ordered Routing
Algorithm (TORA), Associativy Based Routing (ABR), Signal Stability
Routing (SSR). Sedangkan protokol yang termasuk hybrid adalah Zone
Routing Protocol (ZRP), Hybrid Wireless Mesh Protocol (HWMP), dan
Hybrid Routing Protocol for Large Scale MANET (HRPLS).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Masing-masing dari protokol tersebut memiliki kelebihan dan
kekurangan dari segi unjuk kerja pengiriman antara lain delivery ratio,
delivery delay dan convergence time (waktu konvergensi). Pada penelitian ini
akan diuji waktu konvergensi pada protokol Optimized Link State Routing
(OLSR). Waktu konvergensi adalah keadaan dimana semua node di jaringan
mendapatkan informasi tentang topologi jaringan.
1.2 Rumusan Masalah
Dari latar belakang masalah yang telah dijelaskan, rumusan masalah
untuk tugas akhir ini adalah:
1. Seberapa cepat routing konvergensi dapat dicapai pada protokol
Optimized Link State Routing (OLSR).
1.3 Tujuan Penelitian
Penelitian ini dilakukan dengan tujuan untuk mengetahui kinerja
protokol routing Optimized Link State Routing (OLSR), khususnya untuk
mengetahui waktu konvergensi.
1.4 Luaran Yang diharapkan
Pada penelitian ini, keluaran yang diharapkan adalah:
1. Dapat mengetahui kualitas protokol Optimized Link State
Routing (OLSR) untuk diterapkan pada Ad-hoc.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
2. Dapat mengetahui waktu konvergensi pada protokol Optimized
Link State Routing (OLSR).
1.5 Batasan Masalah
Batasan masalah yang dihadapi pada penilitian ini adalah:
1. Penelitian hanya dilakukan pada protokol Optimized Link State
Routing (OLSR).
2. Penelitian dilakukan diranah simulasi menggunakan Network
Simulator 3 (NS3).
3. Parameter yang di uji adalah waktu konvergensi.
4. Jumlah node dan area simulasi dibatasi.
1.6 Metodologi Penelitian
Metodologi yang digunakan dalam penelitian ini adalah:
1. Studi literature mengenai protokol Optimized Link State Routing
(OLSR).
2. Studi literature mengenai NS3 dan bahasa pemrogramannya.
3. Perancangan topologi jaringan di dalam simulasi.
4. Perancangan protokol pada topologi jaringan yang akan
digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
5. Pengukuran data rekayasa simulasi.
6. Analisis data hasil rekayasa simulasi.
1.7 Sistematika Penulisan
Sistematika penulisan penelitiian ini adalah:
BAB I : Pendahuluan
BAB II : Landasan Teori
BAB III : Perancangan Simulasi Jaringan
BAB IV : Implementasi dan Analisis
BAB V : Kesimpulan dan Saran
DAFTAR PUSTAKA
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
Landasan Teori
2.1 Mobile Ad-hoc Network (MANET)
MANET adalah sebuah jaringan wireless yang memiliki sifat dinamis
dan juga spontan. Setiap mobile host dalam MANET bebas untuk bergerak ke
segala arah. Di dalam jaringan MANET terdapat dua node (mobile host) atau
lebih yang dapat berkomunikasi dengan node lainnya namun masih berada
dalam jangkauan node tersebut. Selain itu, node juga dapat berfungsi sebagai
penghubung antara node yang satu dengan node yang lainnya. [1]
Jaringan MANET melakukan komunikasi secara peer to peer
menggunakan routing dengan cara multihop. Informasi yang akan dikirimkan
disimpan terlebih dahulu dan diteruskan ke node tujuan melalui perantara. 2
karakteristik dari jaringan ini adalah:
1. Topologi yang dinamis
Artinya setiap node dapat bergerak bebas dan tidak dapat
diprediksi,
2. Scalability
MANET bersifat tidak tetap atau jumlah node berbeda di tiap
daerah dan juga memiliki tingkat keamanan fisik yang terbatas
jika dibandingkan dengan jaringan kabel.
Jaringan Mobile ad hoc adalah kumpulan dua atau lebih perangkat
yang didalamnya terdapat kemampuan untuk berkomunikasi secara wireless
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
dan juga dapat mengakses jaringan. Perangkat tersebut dapat berkomunikasi
dengan node yang lain selama masih berada dalam jangkauan perangkat
tersebut. Node yang bersifat sebagai penghubung (relay node) digunakan
untuk meneruskan paket dari sumber ke tujuan.
Sebuah jaringan MANET akan mengorganisir dirinya sendiri dan
beradaptasi dengan sekitarnya. Ini berarti jaringan tersebut dapat terbentuk
tanpa sistem administrasi (self-configured). Perangkat pada jaringan ini harus
mampu mendeteksi keberadaan perangkat lain untuk melakukan komunikasi
dan berbagi informasi.
Protokol Routing pada jaringan ad hoc setidaknya harus memiliki
kemampuan yang sifatnya dasar pada jaringan tersebut yaitu protokol tersebut
harus mampu beradaptasi secara dinamis terhadap perubahan topologi
jaringan. Hal ini diimplementasikan dengan teknik perencanaan untuk
menelusuri perubahan topologi jaringan dan menemukan rute yang baru
ketika rute yang lama telah expired atau hilang.
Berdasarkan konsep routing dan beberapa pertimbangan untuk kondisi
jaringan ad hoc maka protokol routing pada jaringan ad hoc dibagi menjadi
tiga kategori yaitu :[3]
1. Table Driven Routing Protocol (Proactive Routing Protocol)
2. On Demand Routing Protocol (Reactive Routing Protocol)
3. Hybrid Routing Protocol
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Gambar 2.1 Kategori Ad Hoc Routing Protocol
Pada table driven routing protocol (proactive Routing protocol),
masing-masing node akan memiliki routing table yang lengkap dalam artian
sebuah node akan mengetahui semua rute ke node lain yang berada dalam
jaringan tersebut. Setiap node akan meng-update routing table yang
dimilikinya secara periodik sehingga perubahan topologi jaringan dapat
diketahui setiap interval waktu tersebut.
Pada on demand routing protocol (reactive routing protocol), proses
pencarian rute hanya akan dilakukan ketika dibutuhkan komunikasi antara
node sumber dengan node tujuan. Jadi Routing table yang dimiliki oleh
sebuah node berisi informasi rute ke node tujuan saja.
Dalam proactive routing protocol, node terus menerus mencari
informasi routing dalam jaringan, sehingga ketika dibutuhkan route tersebut
sudah tersedia. Sementara di reactive routing protocol jalur routing di cari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
ketika dibutuhkan. Dalam proactive routing protocol diperlukan setiap mobile
node untuk mempertahankan route untuk setiap target yang mungkin dalam
MANET, yang kemungkinan besar melampaui kebutuhan setiap node dan
dengan demikian routing overhead yang digunakan untuk membentuk
jaringan seperti unrequired route akan terbuang percuma. Karena bandwidth
adalah sumber daya yang langka dalam MANET, maka keterbatasan yang
disebabkan oleh proactive routing protocol ini menyebabkan protokol
kategori ini kurang menarik jika dibandingkan dengan reactive routing
protocol jika melihat keterbatasan bandwidth di lingkungan MANET.[4]
Pada on demand routing protocol seperti DSR, AODV, TORA, ABR,
dll, pada dasarnya protokol tersebut memanfaatkan metode broadcast untuk
route discovery. Protokol tersebut berbeda dalam format paket routing,
struktur data yang dipelihara oleh setiap node, berbagai optimasi yang
diterapkan dalam route discovery dan juga pendekatan dalam maintaining
route.
Dalam metode berbasis broadcast, ketika sebuah node pengirim ingin
mengirim paket data ke node tujuan, dan tidak memiliki route yang valid ke
node tujuan maka node tersebut akan melakukan broadcast paket route
request ke tetangganya. Kemudian akan diteruskan ke tetangga yang lain
sampai menemukan node tujuan. Setiap node menerima broadcast paket
route request hanya sekali dan membuang route request yang sama untuk
meminimalkan routing overhead. Metode ini akan membanjiri route
discovery di dalam jaringan dengan paket route request yang biasa disebut
Flooding Method.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
2.2 Optimized Link State Routing (OLSR)
OLSR (Opmitized Link State Routing) merupakan proactive routing
dalam MANET. Protokol ini memiliki stabilitas dan algoritma Link State dan
memiliki keuntungan dengan rute yang tersedia dengan cepat ketika
diperlukan. OLSR merupakan optimasi dari protocol link state klasik yang
dikhususkan bagi pengguna wireless network. Setiap node memilih satu set
node tetangga yang akan dijadikan sebagai multipoint Relay (MPR). Pada
optimized Link State Routing Protocol (OLSR) hanya node yang dipilih
sebagai Multipoint Relay (MPR) saja yang bertanggungjawab untuk
mengontrol lalu lintas ketika harus meneruskan aliran paket ke seluruh
jaringan [5].
Node yang terpilih sebagai Multipoint Relay (MPR) juga memiliki
tanggungjawab khusus ketika harus menyampaikan informasi link state dalam
jaringan. Optimized Link State Routing (OLSR) memang harus menyediakan
jalur terpendek ke setiap tujuan dalam jaringan dan node yang terpilih sebagai
Multipoint Relay (MPR) mengumumkan informasi link state kepada
Multipoint Relay (MPR) lainnya. Tambahan informasi link state yang ada
juga dapat dimanfaatkan misalnya untuk redudansi.
Node yang terpilih sebagai Multipoint Relay (MPR) oleh node
tetangga mengumumkan informasi ini secara berkala dalam pesan kontrol.
Dengan demikian node mengumumkan ke jaringan bahwa ia memiliki
informasi baru ke node lain yang telah dipilih sebagai Multipoin Relay
(MPR). Dalam perhitungan rute, Multipoint Relay (MPR) digunakan untuk
membentuk rute dari node yang diberikan ke semua tujuan dalam jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Selain itu, protokol OLSR menggunakan Multipoint Relay (MPR) untuk
memfasilitasi flooding of control message secara efisien.
Format paket OLSR dapat dilihat seperti gambar berikut ini.
Gambar 2.2 Format Paket OLSR
Format paket OLSR terbagi dalam dua bagian besar yaitu packet
header dan message header.
1. Packet header
a. Packet length : panjangnya paket (dalam satuan bytes).
b. Packet sequenced number : nomor urut paket harus bertambah
satu setiap kali paket OLSR baru ditransmisikan. Sejumlah
paket yang terpisah akan dikelola untuk setiap antarmuka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
sehingga paket ditransmisikan melalui sebuah antarmuka
secara berurutan.
Alamat ip dari interface dimana paket yang ditansmisikan
dapat di peroleh dari header IP dari paket. Jika paket tidak
mengandung pesan (yaitu panjang paket kurang dari atau sama
dengan ukuran header paket), paket harus dibuang. Untuk
alamat IPv4, ini berarti bahwa paket-paket yang panjang
paketnya kurang dari 16 maka paket tersebut harus dibuang.
2. Message header
a. Message type : field ini menunjukkan jenis pesan dapat
ditemukan di bagian “MESSAGE”. Jenis pesan dalam kisaran
0-127 dicadangkan untuk pesan dalam dokumen ini dan
memungkinkan untuk perpanjangan.
b. Vtime :field ini menunjukkan berapa lama waktu setelah
penerimaan node harus mempertimbangkan informasi yang
terkandung dalam pesan yang benar, kecuali update yang lebih
baru untuk informasi yang diterima. Waktu validitas diwakili
oleh mantissa nya (empat bit tertinggi field Vtime) dan oleh
eksponen (empat bit terendah field Vtime), dengan kata lain :
Waktu validitas = C * (1 + a / 6) * 2b (dalam detik)
Dimana a adalah bilangan bulat yang diwakili oleh empat bit
tertinggi dari field Vtime dan b adalah bilangan bulat yang
diwakili oleh empat bit terendah dari field Vtime.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
c. Message size : memberikan ukuran untuk pesan, dihitung
dalam bytes dan diukur dari awal kolom field “message type”
sampai awal field “message type” yang selanjutnya (atau jika
tidak ada pesan berikutnya maka dihitung sampai akhir paket).
d. Originator address : field ini berisi alamat utama dari node,
yang pertama kali dihasilkan pesan. Field ini tidak boleh
tertukar dengan alamat sumber dari header IP, yang berubah
setiap waktu ke alamat dari antarmuka perantara yang
melakukan transmisi ulang terhadap pesan ini. Originator
address harus tidak pernah dirubah saat transmisi ulang.
e. Time to live : field ini berisi jumlah maksimum hop pesan yang
akan di tansmisikan. Sebelum pesan di transmisikan, time to
live harus dikurangi oleh 1. Ketika sebuah node menerima
pesan dengan time to live sama dengan 0 atau 1 maka pesan
tidak harus di tansmisikan ulang dalam keadaan apapun.
Biasanya, sebuah node tidak akan menerima pesan dengan
time to live 0. Dengan demikian, originator dari sebuah pesan
dapat membatasi flooding radius.
f. Hop count : field ini berisi jumlah hop sebuah pesan yang telah
dicapai. Sebelum pesan di transmisikan, hop count harus
ditambahkan dengan 1. Awalnya dideklarasikan dengan 0 oleh
originator sebuah pesan.
g. Message sequence number : selama menghasilkan pesan,
originator node akan menetapkan nomor identifikasi untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
setiap pesan. Nomor ini dimasukkan ke dalam field sequence
number dari pesan tersebut. Nomor urut akan bertambah 1
untuk setiap pesan yang berasal dari node. Message sequence
number digunakan untuk memastikan bahwa pesan yang
diberikan tidak ditransmisikan kembali lebih dari sekali oleh
setiap node.
2.2.1 HELLO Messages
Paket HELLO berfungsi untuk melakukan Link Sensing,
Neightborhood Detection, pemilihan MPR dan juga mengakomodasi
perubahan yang akan terjadi [7]. Untuk mendukung tujuan tersebut,
format paket HELLO dapat digambarkan seperti berikut:
Gambar 2.3 Format Paket HELLO
Keterangan field – field pada format paket HELLO di atas
dapat dijelaskan sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
1. Reserved
Field ini harus berisi “0000000000000” agar dapat
bekerja pada spesifikasi format paket ini.
2. Htime
Field ini bersisi informasi tentang interval waktu yang
digunakan antara pengiriman paket HELLO satu
dengan paket HELLO yang lain.
3. Willingness
Field ini berisi tentang kesedian suatu node untuk
meneruskan paket yang diterimanya atau tidak.
4. Linkcode
Field ini menyatakan informasi tentang link antara
interface dari node pengirim dengan interface node -
node tetangganya serta berisi pula informasi tentang
status dari node tetangga tersebut.
5. Link Message Size
Field ini menyatakan ukuran dari pesan HELLO (
dalam byte ) yang diukur dari awal Field Link Code
hingga bertemu dengan awal Field Link Code pada
pesan berikutnya.
6. Neighbor Interface Address
Field ini berisi tentang informasi alamat interdace dari
node – node tetangga.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
2.2.2 TC (Topology Control) Messages
Node yang terpilih sebagai MPR akan mengirimkan pesan TC
yang berisi informasi tentang node – node tetangga yang memilih
node tersebut sebagai MPR.
Format dari paket pesan TC adalah sebagai berikut:
Gambar 2.4 Format TC Message
Keterangan:
1. Advertised Neighbour Sequence Number (ANSN)
Field ini berisi nomor urut yang berhubungan dengan
Advertised Neighbour set. Ketika sebuah node
mendeteksi adanya perubahan pada advertised
neightbour set-nya, maka node tersebut akan
meningkatkan nomor urut ini. Nomor urut ini berfungsi
untuk menginformasikan baru atau tidaknya sebuah
pesan TC.
2. Advertised Neightbour Main Address
Field ini berisi alamat utama dari node tetangga.
Semua alamat dari tetangga node utama akan
dimasukkan ke dalam TC message.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
3. Reserved
Field ini harus berisi “0000000000000” agar dapat
bekerja pada spesifikasi format paket ini.
2. 2.3 Cara Kerja OLSR
Secara umum cara kerja OLSR dapat diurutkan sebagai
berikut:
a. Link Sensing
Link Sensing merupakan proses pengumpulan
status suatu node dengan node-node tetangganya. Link
sensing dikerjakan dengan pengiriman pesan HELLO
secara periodic.
Hasil pemrosesan data yang didapat dari HELLO
message yang diterima oleh setiap node akan
menghasilkan “local link set” yang berisi 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
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.
b. Neighbour Detection
Setiap node pada jaringan juga harus mendeteksi
node-node tetangga yang ada pada daerah jangkauannya.
Untuk melakukan hal tersebut, setiap node akan
mengirimkan paket pesan HELLO secara broadcast dalam
periode waktu tertentu. Paket HELLO berisi informasi
tentang node-node tetangga serta link status.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
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.
c. MPR Selection
Tujuan dari penggunaan Multipoint Relay (MPR)
adalah meminimalisir penggunaan overhead pesan
broadcast pada jaringan dengan cara mengurangi
retransmisi (pentransmisian ulang) pada daerah yang sama.
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.
Kinerja pengiriman paket untuk OLSR digambarkan pada
Gambar 2.5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Gambar 2.5 Flooding MPR
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 dibutuhkan hingga informasi
tersebut kadaluarsa dan harus dihilangkan.
d. Pengiriman TC
Pendeteksian hubungan serta pendeteksian node-
node tetangga dari protokol OLSR pada dasarnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
menyediakan informasi daftar tetangga yang dapat
berkomunikasi secara langsung, dan dikombinasikan
dengan mekanisme broadcast dengan menggunakan MPR
informasi topologi dapat dikirimkan ke seluruh jaringan.
Rute dibentuk dari advertised link dan hubungan
dengan node-node tetangga. Setiap node setidaknya harus
mempunyai informasi tentang hubungan antara dirinya
sendiri dengan node-node yang ada pada MPR-selector set
nya dalam rangka mendapatkan mendapatkan informasi
routing yang baik.
Pesan TC dikirimkan untuk menyediakan informasi
link-state bagi setiap node pada jaringan yang dapat
digunakan untuk penentuan jalur yang dapat digunakan.
Setiap node akan menyimpan informasi yang didapat dari
pesan TC ini dalam “Topology Set” yang berisi informasi
antara lain:
- T_dest_addr,
- T_last_addr,
- T_seq,
- T_time.
T_dest_addr merupakan alamat dari sebuah node
yang dapat dicapai dalam 1 hop dari node dengan alamat
yang pada T_last_addr. Sehingga T_last_addr merupakan
MPR dari node yang ada pada T_dest_addr. T_seq adalah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
nomor urut dan T_time menunjukkan batas waktu
kadaluarsa dari informasi tersebut.
e. Route Calculation
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.
2.3 Konvergensi Routing (Routing Convergence)
Konvergensi adalah proses router – router menyetujui rute yang
paling optimal untuk meneruskan paket dan untuk melengkapi table routing
dari masing – masing router tersebut [6].
Konvergensi terjadi sebagai hasil dari perubahan topologi jaringan.
Ketika konvergensi terjadi, masing – msing router menjalankan algoritma
routing untuk menghitung ulang metric dan membangun tabel routing yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
baru berdasarkan informasi tersebut. Konvergensi selesai ketika semua router
mendapatkan tabel routing yang baru. Sedangkan waktu konvergensi
merupakan waktu yang dibutuhkan sebelum semua router mencapai
kesepakatan mengenai informasi topologi yang baru.
2.3.1 Konvergensi OLSR
Pada OLSR, informasi routing disebarkan melalui
pesan Topology Control (TC) setiap periode tertentu. Sehingga
waktu konvergensi pada OLSR adalah ketika pesan TC
diterima disemua node dalam satu jaringan. Waktu
konvergensi OLSR dapat dihitung sebagai berikut:
, untuk dan
adalah waktu TC diterima oleh node j – waktu TC dikirim
oleh node i. Sedangkan n adalah jumlah node yang menerima
pesan TC.
2.4 NETWORK SIMULATOR 3 (NS3)
NS3 adalah simulator jaringan yang ditargetkan untuk penelitian dan
keperluan evaluasi. NS3 merupakan perangkat lunak bebas dibawah lisensi
GNU GPLv2 dan tersedia untuk umum yang dapat digunakan untuk
penelitian, pengembangan dan penggunaan [7].
NS3 bukan extension dari NS2, melainkan sebuah simulator baru.
Kedua simulator dibangun menggunakan bahasa pemrograman C++, tetapi
NS-3 tidak menyokong API milik ns-2. NS-3 menyediakan model tentang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
bagaimana kinerja sebuah jaringan dan menyediakan mesin simulasi bagi
pengguna untuk melakukan eksperimen simulasi. Beberapa alasan
penggunaan NS-3 sebagai tool untuk melakukan penelitian diantaranya:
1. Untuk melakukan penelitian yang lebih sulit dan tidak mungkin
melakukannya dengan menggunakan sistem nyata.
2. Untuk mempelajari perilaku sistem dengan tingkat kontrol yang
tinggi dan juga mempelajari bagaimana kinerja dari sebuah
jaringan.
Ada beberapa istilah yang sering digunakan dalam ilmu jaringan
namun memiliki pengertian yang lebih khusus pada NS-3 seperti dibawah ini:
1. Node
Pada jargon internet , perangkat komputasi yang terhubung
ke dalam suatu jaringan disebut node atau terkadang juga disebut
end system. Dalam NS-3 perangkat komputasi abstraksi dasar
disebut node. Abstraksi ini diwakili dalam bahasa C++ oleh kelas
Node. Kelas Node menyediakan metode untuk mengelola
representasi perangkat komputasi dalam simulasi.
2. Application
Dalam NS-3 abstraksi dasar untuk program pengguna yang
menghasilkan beberapa aktivitas yang akan disimulasikan adalah
aplikasi. Abstraksi ini diwakili dalam bahasa C++ oleh kelas
Application. Kelas Application menyediakan metode untuk
mengelola representasi versi NS-3 pada aplikasi-aplikasi level user
dalam simulasi. Pengembang diharapkan untuk mengkhususkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
kelas Application dalam pengertian pemrograman berorientasi
objek untuk membuat aplikasi baru.
3. Channel
Dalam simulasi NS-3, node yang terhubung ke suatu objek
telah mewakili saluran komunikasi. Abstraksi komunikasi
subnetwork disebut saluran dan direpresentasikan dalam bahasa
C++ oleh kelas Channel. Kelas Channel memiliki versi khusus
seperti CsmaChannel, pointToPointChannel, dan WifiChannel.
4. Net Device
Network Interface Card (NIC) tidak akan bekerja tanpa
driver untuk mengontrol perangkat keras. Dalam NS-3 abstraksi
net device mencakup driver dan juga hardware yang
disimulasikan. Sebuah net device diinstal pada sebuah node
sehingga dapat berkomunikasi dengan node lainnya pada simulasi
melalui Channel. Seperti pada komputer yang sesungguhnya
sebuah node dapat ke lebih dari satu Channel melalui beberapa
Net Device. Abstraksi net device direpresentasikan dalam bahasa
C++ oleh kelas NetDevice. Kelas NetDevice menyediakan
metode-metode untuk mengatur koneksi ke objek Node dan
Channel.
5. Topology Helpers
Pada jaringan komputer yang sesungguhnya kita akan
menemukan host yang telah ditambahkan Network Interface
Controller (NIC). Jika kita masuk ke ranah NS-3 maka kita akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
mengatakan bahwa kita akan menemukan sebuah node yang telah
terpasang NetDevice. Dalam simulasi jaringan yang besar kita
perlu mengatur banyaknya koneksi antar Node, NetDevice, dan
Channel. NS-3 menyediakan apa yang disebut topology helpers
untuk memudahkan pengaturan koneksi dalam simulasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
BAB III
Perencanaan Simulasi Jaringan
3.1 Topologi Jaringan
Topologi jaringan yang digunakan pada tugas akhir ini adalah jaringan
ad-hoc bergerak (Mobile Ad-hoc Network). Jaringan ad-hoc bergerak adalah
jaringan yang memiliki sifat masing-masing node dapat bergerak dengan
bebas atau random. Sehingga bentuk topologi jaringan untuk simulasi ini
akan selalu berubah dan tidak dapat diprediksi. Pergerakan node yang tidak
dapat ditentukan dapat merubah bentuk topologi jaringan sewaktu-waktu.
Protokol yang akan diterapkan pada jaringan ad-hoc dalam tugas akhir
ini adalah protokol proaktif OLSR. Sifat dari protokol OLSR adalah mem-
broadcast paket-paketnya setiap satuan waktu. Ada dua jenis paket yang
disebarkan oleh OLSR, yaitu pesan HELLO dan TC. Pesan HELLO
disebarkan untuk melakukan Link Sensing, Neighbour Sensing dan pemilihan
MPR. Sedangkan pesan TC digunakan untuk melakukan routing calculation.
Interval waktu yang digunakan pada pesan HELLO dan pesan TC sangatlah
penting untuk perhitungan waktu konvergensi. Namun pada simulasi ini,
interval waktu untuk masing-masing paket yang akan digunakan adalah 2
detik untuk pesan HELLO dan 5 detik untuk pesan TC. Interval waktu
tersebut sesuai dengan waktu default dari NS-3. Pada simulasi ini akan dibagi
menjadi dua skenario, yaitu skenario tanpa traffic data dan dengan traffic
data. Untuk skenario dengan traffic data, digunakan traffic yang dibangkitkan
dari UDP-application.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
3.2 Analisis Masalah
Fokus dari tugas akhir ini adalah untuk menghitung waktu
konvergensi dari protokol OLSR di dalam jaringan MANET. Waktu
konvergensi adalah waktu dimana semua router atau node menerima update
informasi routing dari suatu node [6]. Pada protokol OLSR, waktu
konvergensi terjadi ketika semua node dalam satu jaringan menerima pesan
TC yang sama [9].
Proses pengiriman pesan TC dapat digambarkan sebagai berikut:
Gambar 3.1 Proses Pengiriman pesan TC
Penjelasan dari Gambar 3.1 adalah sebagai berikut:
Gambar 1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 1 ini menunjukkan letak node-node dari jaringan ad-
hoc bergerak (MANET).
Gambar 2.
Pada gambar ini dapat dilihat bahwa node 3 mengirimkan
pesan dalam waktu . Pesan ini kemudian diterima oleh
node 2, node 4 dan node 5 yang berada dalam jarak jangkauan dari
node 3.
Gambar 3.
Node 4 yang menerima pesan dari node 3, akan
meneruskan pesan TC tersebut dengan waktu dengan . Pesan
ini akan diterima oleh node 1, node 3 dan node 6 yang berada dalam
jarak jangkauan dari node 4. Node 3 yang sudah memiliki pesan
akan membuang pesan yang diperoleh dari node 4.
Gambar 4.
Gambar ini menjelaskan bahwa node 6 akan melakukan hal
yang sama seperti node 4, yaitu meneruskan pesan yang diperoleh
dari node 4 dengan waktu . Kemudian node 4, node 5 dan node 7
akan menerima pesan yang diperoleh dari node 6. Node 4 yang
sebelumnya sudah memiliki pesan dan menyebarkannya, akan
membuang pesan yang dikirim dari node 6. Demikian proses
terjadinya satu kali konvergensi pada protokol OLSR.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
3.3 Analisis Kebutuhan
Untuk melakukan tugas akhir ini, dibutuhkan tools pendukung yaitu:
1. Ubuntu 10.04 sebagai Sistem Operasi
2. NS-3
3. Program AWK
3.4 Parameter Simulasi
Pada tugas akhir ini metode yang digunakan adalah simulasi.
Simulator yang digunakan adalah NS-3. Protokol OLSR yang akan digunakan
sudah tersedia di dalam NS-3. Adapun parameter yang akan digunakan adalah
sebagai berikut:
Parameter Value
Tipe Kanal Wireless Channel
Tipe Network Interface WirelessPhy
Tipe Mac IEEE 802.11
Protokol Routing OLSR
Jumlah Node 5/10/20/40
Area Simulasi 6000 m x 6000 m (Maksimum)
Waktu Simulasi 2000 detik
Radio Range Node 250 m
Kecepatan Node 2 m/s
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Mobility Model Random WayPoint Mobility Model
Tabel 3.1 Parameter Simulasi dengan NS-3
3.5 Skenario Simulasi
Pada tugas akhir ini, simulasi akan dibagi menjadi 4 skenario.
Skenario tersebut adalah :
1. Network density meningkat
Pada skenario ini, area yang digunakan adalah 1000 m x
1000 m. Jumlah node yang digunakan adalah 5 node, 10 node, 20
node dan 40 node yang bertambah setiap simulasi berikutnya.
Penambahan jumlah node merupakan dua kali lipat dari node pada
simulasi sebelumnya.
2. Network density tetap
Pada skenario ini jumlah node dan luas area simulasi
bertambah untuk simulasi berikutnya. Hal ini diperlukan agar
network density dianggap tetap. Jumlah node yang akan digunakan
pada skenario ini adalah 5 node dengan luas area 750 m x 750 m,
10 node dengan luas area 1500 m x 1500 m, 20 node dengan luas
area 3000 m x 3000 m dan 40 node dengan luas area 6000 m x
6000 m. Penambahan node tersebut merupakan dua kali lipat dari
node sebelumnya. Penambahan panjang dan lebar area adalah dua
kali lipat dari panjang dan lebar area sebelumnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
3. Network density meningkat dan ditambah dengan beban
Skenario yang ketiga ini hampir sama dengan skenario
pertama. Area yang digunakan adalah 1000 m x 1000 m. Jumlah
node yang digunakan adalah 5 node, 10 node, 20 node dan 40
node yang bertambah setiap simulasi berikutnya. Namun untuk
skenario ini akan ditambahakan aplikasi yang akan membebani
satu jaringan. Aplikasi yang digunakan adalah aplikasi UDP .
4. Network density tetap dan ditambah dengan beban
Untuk skenario yang terakhir, jumlah node dan luas area
yang akan digunakan adalah 5 node dengan luas area 750 m x 750
m, 10 node dengan luas area 1500 m x 1500 m, 20 node dengan
luas area 3000 m x 3000 m dan 40 node dengan luas area 6000 m
x 6000 m. Panjang dan lebar area juga akan ditambahkan dua kali
lipat dari panjang dan lebar area sebelumnya. Pada skenario ini
juga akan ditambahkan aplikasi UDP yang akan membanjiri
seluruh jaringan.
3.6 Parameter Unjuk Kerja
Parameter unjuk kerja pada tugas akhir ini adalah:
1. Waktu Konvergensi
Waktu konvergensi protokol OLSR pada jaringan MANET
dihitung setiap kali pesan TC dikirimkan dalam satu simulasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
3.7 Tabel Analisis
Keluaran yang ditampilkan adalah rata-rata waktu konvergensi OLSR
pada satu simulasi. Berdasarkan skenario simulasi, maka format tabel yang
akan digunakan adalah sebagai berikut:
No. Jumlah Node Area Waktu Konvergensi
Tabel 3.2 Contoh Tabel Analisis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
BAB IV
Implementasi dan Analisis
4.1 Implementasi Simulasi
Untuk mendapatkan waktu konvergensi pada protokol OLSR, akan
dilakukan seperti pada tahap skenario perencanaan simulasi jaringan dengan
parameter yang telah ditetapkan. Protokol OLSR sudah tersedia di dalam
program simulator NS-3. Protokol OLSR tersebut kemudian diterapkan pada
model jaringan MANET dengan tidak merubah nilai attribute- attribute yang
ada. Berikut ini adalah perintah yang harus dituliskan pada terminal Ubuntu
untuk menjalankan program simulasi yang telah dibuat.
#./waf --run nama_file (tanpa mencantumkan tipe file)
Ketika simulasi dijalankan akan menghasilkan file-file output dengan
ekstensi seperti .tr, .pcap dan .csv. Selain output tersebut yang dihasilkan,
simulasi juga akan menampilkan aliran data yang berjalan. Namun untuk
kepentingan tugas akhir ini yaitu untuk menghitung waktu konvergensi
protokol OLSR, maka aliran data yang akan ditampilkan adalah aliran data
pesan TC. Agar dapat digunakan untuk menghitung waktu konvergensi, maka
aliran data tersebut harus dikonversikan ke dalam file dengan ekstensi .csv.
Perintah untuk mengkonversikan aliran data ke dalam ekstensi .csv adalah
sebagai berikut.
#./waf --run nama_file > nama_file_konversi.csv 2>&1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Untuk menghitung waktu konvergensi akan dilakukan dengan
menggunakan program awk yang mengacu pada file konversi aliran data
pesan TC dari simulasi. Program ini akan mencari waktu pengiriman TC dan
waktu penerimaan TC berdasarkan nomor ANSN yang sama dari pesan TC
tersebut. Selanjutnya program awk akan menghitung waktu penerimaan
dikurangi dengan waktu pengiriman pesan TC dan dibagi dengan jumlah node
yang menerima pesan TC. Hasil yang ditampilkan adalah rata-rata dari semua
proses kalkulasi yang terjadi dalam satu simulasi. Berikut ini adalah perintah
yang dituliskan di terminal Ubuntu untuk menjalankan program awk.
#awk –f nama_file_awk.awk nama_file_konversi.csv
4.2 Pengambilan Data
Pada tugas akhir ini, perhitungan waktu konvergensi akan dilakukan
sesuai dengan skenario perencanaan simulasi yang sudah ditentukan. Berikut
ini adalah proses pengambilan data yang berupa perintah dari terminal
Ubuntu, tabel dan grafik rata-rata waktu konvergensi.
4.2.1 Network density meningkat
a. 5 node
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > output5n0sink1000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output5n0sink1000m2000s.csv
Hasil yang didapat adalah:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
#Rata-rata konvergensi = 0.47991221 s
b. 10 node
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu10n0sink1000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output10n0sink1000m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi = 0.07071108 s
c. 20 node
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu20n0sink1000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output20n0sink1000m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi =0.02079619 s
d. 40 node
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu40n0sink1000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output40n0sink1000m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi =0.00455731 s
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
e. Tabel
Hasil dari simulasi yang dimasukkan ke dalam tabel adalah
sebagai berikut:
No.
Jumlah
Node Area
Waktu
Konvergensi
1. 5 1000m x 1000m 0.47991221
2. 10 1000m x 1000m 0.07071108
3. 20 1000m x 1000m 0.02079619
4. 40 1000m x 1000m 0.00455731
Tabel 4.1 Pengujian network density meningkat
f. Grafik
0.47991221
0.07071108
0.02079619 0.00455731 0
0.1
0.2
0.3
0.4
0.5
0.6
5 node (1000mx1000m)
10 node (1000mx1000m)
20 node (1000mx1000m)
40 node (1000mx1000m)
wak
tu k
on
verg
en
si (seconds)
jumlah node
Network Density Meningkat
rata-rata konvergensi
HELLO Interval = 2s TC Interval = 5s
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 4.1 Grafik rata-rata waktu konvergensi untuk network density
meningkat
4.2.2 Network density tetap
a. 5 node (750m x 750m)
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu5n0sink750m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output5n0sink750m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi =0.12398535 s
b. 10 node (1500m 1500m)
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu10n0sink1500m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output10n0sink1500m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi =0.19420832 s
c. 20 node (3000m x 3000m)
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu20n0sink3000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output20n0sink3000m2000s.csv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Hasil yang didapat adalah:
#Rata-rata konvergensi =0.39746003 s
d. 40 node (6000m x 6000m)
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu40n0sink6000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output40n0sink6000m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi =0.69166582 s
e. Tabel
Hasil dari simulasi yang dimasukkan ke dalam tabel adalah
sebagai berikut:
No.
Jumlah
Node Area
Waktu
Konvergensi
1. 5 750m x 750m 0.12398535
2. 10 1500m x 1500m 0.19420832
3. 20 3000m x 3000m 0.39746003
4. 40 6000m x 6000m 0.69166582
Tabel 4.2 Pengujian network density tetap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
f. Grafik
Gambar 4.2 Grafik rata-rata waktu konvergensi untuk network density tetap
4.2.3 Network density meningkat dan ditambah dengan beban
a. 5 node
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu5n4sink1000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output5n4sink1000m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi =5.83319920 s
0.12398535
0.19420832
0.39746003
0.69166582
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
5 node (750mx750m)
10 node (1500mx1500m)
20 node (3000mx3000m)
40 node (6000mx6000m)
wak
tu k
on
verg
en
si (seconds)
jumlah node
Network Density Tetap
rata-rata konvergensi
HELLO Interval = 2s TC Interval = 5s
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
b. 10 node
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu10n9sink1000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output10n9sink1000m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi = 1.58517543 s
c. 20 node
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu20n19sink1000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output20n19sink1000m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi =0.32982276 s
d. 40 node
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu40n39sink1000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output40n39sink1000m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi = 0.11460368 s
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
e. Tabel
Hasil dari simulasi yang dimasukkan ke dalam tabel adalah
sebagai berikut:
Tabel 4.3 Pengujian network density meningkat ditambah beban
f. Grafik
5.8331992
1.58517543
0.32982276 0.11460368
0
1
2
3
4
5
6
7
5 node (1000mx1000m)
10 node (1000mx1000m)
20 node (1000mx1000m)
40 node (1000mx1000m)
wak
tu k
on
verg
en
si (seconds)
jumlah node
Network Density Meningkat + UDP
rata-rata konvergensi
HELLO Interval = 2s TC Interval = 5s
No.
Jumlah
Node Area
Waktu
Konvergensi
1. 5 1000m x 1000m 5.83319920
2. 10 1000m x 1000m 1.58517543
3. 20 1000m x 1000m 0.32982276
4. 40 1000m x 1000m 0.11460368
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Gambar 4.3 Grafik rata-rata waktu konvergensi untuk network density
meningkat ditambah beban
4.2.4 Network density tetap dan ditambah dengan beban
a. 5 node (750m x 750m)
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu5n4sink750m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output5n4sink750m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi = 1.91536689 s
b. 10 node (1500m x 1500m)
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu10n9sink1500m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output10n9sink1500m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi = 2.19009899 s
c. 20 node (3000m x 3000m)
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu20n19sink3000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output20n19sink3000m2000s.csv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Hasil yang didapat adalah:
#Rata-rata konvergensi = 4.80889332 s
d. 40 node (6000m x 6000m)
Perintah untuk menjalankan simulasi pada terminal Ubuntu
adalah:
#./waf --run scratch/olsr-exam > outpu40n39sink6000m2000s.csv 2>&1
Perintah untuk menghitung rata-rata waktu konvergensi adalah:
#awk -f waktukonvergesi.awk output40n39sink6000m2000s.csv
Hasil yang didapat adalah:
#Rata-rata konvergensi = 11.80480425 s
e. Tabel
Hasil dari simulasi yang dimasukkan ke dalam tabel adalah
sebagai berikut:
No.
Jumlah
Node Area
Waktu
Konvergensi
1. 5 750m x 750m 1.91536689
2. 10 1500m x 1500m 2.19009899
3. 20 3000m x 3000m 4.80889332
4. 40 6000m x 6000m 11.80480425
Tabel 4.4 Pengujian network density tetap ditambah beban
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
f. Grafik
Gambar 4.4 Grafik rata-rata waktu konvergensi untuk network density
tetap ditambah beban
4.2.5 Grafik Dan Tabel Perbandingan
Berikut ini adalah grafik perbandingan rata-rata waktu
konvergensi dari semua skenario:
1.91536689 2.19009899
4.80889332
11.80480425
0
2
4
6
8
10
12
14
5 node (750mx750m)
10 node (1500mx1500m)
20 node (3000mx3000m)
40 node (6000mx6000m)
wak
tu k
on
verg
en
si (seconds)
jumlah node
Network Density Tetap + UDP
rata-rata konvergensi
HELLO Interval = 2s TC Interval = 5s
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 4.5 Perbandingan rata-rata waktu konvergensi
Data tabel dari grafik di atas adalah sebagai berikut:
Skenario 5 node 10 node 20 node 40 node
Density Meningkat 0.47991221
0.07071108
0.02079619
0.00455731
Density Tetap 0.12398535
0.19420832
0.39746003
0.69166582
Density Meningkat
+ UDP
5.8331992
1.58517543
0.32982276
0.11460368
Density Tetap +
UDP
1.91536689
2.19009899
4.80889332
11.80480425
Tabel 4.5 Data Perbandingan Semua Skenario
0
2
4
6
8
10
12
14
5 node 10 node 20 node 40 node
kon
verg
en
si (seconds)
jumlah node
Perbandingan Konvergensi
Density Meningkat Density Tetap
Density Meningkat + UDP Density Tetap + UDP
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
4.3 Analisis
Pada Gambar 4.1 dari skenario pertama, dapat kita lihat bahwa
penambahan node pada area yang sama mempercepat waktu konvergensi
yang terjadi. Hal ini dikarenakan network density ( kepadatan jaringan) yang
semakin tinggi. Jaringan yang semakin padat akan memperpendek jarak antar
node. Sehingga dapat mempercepat proses pengiriman pesan TC ke semua
node.
Pada Gambar 4.2 dari skenario kedua dapat dilihat bahwa ketika node
dan luas area ditambah, maka waktu konvergensi semakin lambat. Kepadatan
jaringan yang renggang akan membuat jarak antar node semakin jauh.
Pengiriman pesan TC pun akan melewati lebih banyak hop dibanding
skenario yang pertama. Hal ini mengakibatkan proses pengiriman pesan TC
ke semua node semakin lama.
Pada skenario ketiga yang terlihat dari Gambar 4.3, waktu
konvergensi yang terjadi jauh lebih lama dibanding skenario pertama. Hal ini
disebabkan karena sifat dari wireless link yang memiliki bandwidth terbatas.
Sehingga dengan penambahan traffic data, akan mempengaruhi kecepatan
penyebaran pesan TC. Namun rata-rata waktu konvergensi untuk skenario ini
tetap semakin cepat ketika jumlah node ditambahkan yang mengakibatkan
jaringan semakin padat. Penambahan alur data pada skenario ini memang
mempengaruhi rata-rata waktu konvergensi pada OLSR. Namun jika jumlah
node semakin banyak, maka rata-rata waktu konvergensi akan semakin cepat.
Dari Gambar 4.4 pada skenario keempat, dapat dilihat bahwa rata-rata
waktu konvergensi semakin lambat seiring bertambahnya jumlah node dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
luas area yang digunakan. Hasil rata-rata waktu konvergensi yang terjadi
berbeda jauh dari skenario kedua. Hal ini disebabkan oleh aliran data UDP
yang padat sehingga memperlambat proses penyebaran pesan TC. Bandwidth
dari wireless link yang terbatas menyebabkan proses penyebaran pesan TC
terhambat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
BAB V
Kesimpulan dan Saran
5.1 Kesimpulan
Dari hasil simulasi dan pengujian yang dilakukan, kesimpulan
yang didapatkan adalah sebagai berikut:
1. Waktu konvergensi pada protokol OLSR akan semakin cepat
jika jumlah node bertambah pada luas area yang sama
(network density tinggi).
2. Waktu konvergensi pada protokol OLSR akan semakin lambat
jika luas area yang digunakan lebih luas.
3. Waktu konvergensi pada protokol OLSR akan semakin lambat
jika dalam jaringan dipenuhi oleh aliran data.
5.2 Saran
Untuk pengembangan lebih lanjut, beberapa hal yang dapat
digunakan sebagai bahan penelitian adalah:
1. Membandingkan waktu konvergensi protokol OLSR dengan
waktu konvergensi protokol MANET yang lain.
2. Melakukan pengujian dengan parameter kebutuhan yang lain
seperti bandwith, delay dan routing overhead.
3. Melakukan pengujian terhadap attribute-attribute yang ada di
dalam protokol OLSR ( HELLO Interval dan TC Interval )
yang dapat mempengaruhi parameter kebutuhan unjuk kerja
pengiriman.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Daftar Pustaka
[1]. Aprillando, A. 2007. Cara Kerja dan Kinerja Protokol Optimized Link State
Routing (OLSR) pada Mobile Ad hoc network (MANET), Tugas Akhir.
Jakarta: Fakultas Teknik Unika AtmaJaya.
[2]. Rendy. 2007. Cara Kerja dan Kinerja Protokol TORA (Temporally-Orderd
Routing Algorithm) pada MANET (Mobile Ad-Hoc Network), Tugas Akhir.
Jakarta: Fakultas Teknik Unika AtmaJaya.
[3]. C. K. Toh. 2001. Ad hoc Mobile Wireless Networks Protocol and Systems.
Prentice Hall.
[4]. Mukhija, Arun. 2001. Reactive Routing Protocol for Mobile Ad-Hoc
Networks. Delhi : Department of Mathematics Indian Institute of Technology.
[5]. Prasetya, Arif Bagus. 2012. Analisis Ad-hoc Network Dengan Menggunakan
OLSR Dalam Implementasi Jaringan Di Desa Babakan Majalengka,
Bandung : Universitas Komputer Indonesia.
[6]. Convergence of Routing Tables
http://www.linfo.org/convergence.html ( 13 Mei 2015)
[7]. T.Clausan, Ed. 2003. Optimized Link State Routing Protocol (OLSR). Project
Hypercom. INRIA (RFC3626).
[8]. Multipoint Relaying
http://www.olsr.org/docs/report_html/node28.html (10 November 2014)
[9]. Harri, Jerome . Bonnet, Christian . Filali, Fethi . OLSR and MPR: Mutual
Dependences and Performances. Research Report. Perancis. Institut
Eur´ecom Department of Mobile Communications.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
LAMPIRAN
1. Listing program olsr-exam.cc
#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 <iostream>
#include <cmath>
#include <vector>
#include <string>
/// Maximum allowed jitter.
#define OLSR_MAXJITTER (m_helloInterval.GetSeconds () / 4)
/// Maximum allowed sequence number.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
#define OLSR_MAX_SEQ_NUM 65535
/// Random number between [0-OLSR_MAXJITTER] used to jitter OLSR
packet transmission.
#define JITTER (Seconds (m_uniformRandomVariable->GetValue (0,
OLSR_MAXJITTER)))
/********** Holding times **********/
/// Neighbor holding time.
#define OLSR_NEIGHB_HOLD_TIME Time (3 *
OLSR_REFRESH_INTERVAL)
/// Top holding time.
#define OLSR_TOP_HOLD_TIME Time (3 * m_tcInterval)
/// Dup holding time.
#define OLSR_DUP_HOLD_TIME Seconds (30)
/// MID holding time.
#define OLSR_MID_HOLD_TIME Time (3 * m_midInterval)
/// HNA holding time.
#define OLSR_HNA_HOLD_TIME Time (3 * m_hnaInterval)
using namespace ns3;
uint16_t port = 9;
NS_LOG_COMPONENT_DEFINE ("OlsrManetExample");
class OlsrManetExample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
{
public:
OlsrManetExample ();
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 m_nodeSpeed;
uint32_t m_tcInterval;
uint32_t m_helloInterval;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
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 InstallApplications ();
void SetupMobility ();
void ReceivePacket (Ptr <Socket> );
Ptr <Socket> SetupPacketReceive (Ipv4Address, Ptr <Node> );
void CheckThroughput ();
};
int main (int argc, char **argv)
{
OlsrManetExample test;
uint32_t nWifis = 5;
uint32_t nSinks = 39;
double totalTime = 2000.0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
std::string rate ("1Mbps");
std::string phyMode ("DsssRate1Mbps");
uint32_t nodeSpeed = 2; // in m/s
std::string appl = "all";
uint32_t tcInterval = 5;
uint32_t helloInterval = 2;
double dataStart = 1;
bool printRoutingTable = true;
std::string CSVfileName = "OlsrManetExample.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 RandomWayPoint
model[Default:10]", nodeSpeed);
cmd.AddValue ("tcInterval", "TC Time before sending out an update for
changed metric[Default=15]", tcInterval);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
cmd.AddValue ("HelloInterval", "Hello Interval Time[Default=10]",
helloInterval);
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:OlsrManetExample.csv]", CSVfileName);
cmd.Parse (argc, argv);
std::ofstream out (CSVfileName.c_str ());
out << "SimulationSecond," <<
"ReceiveRate," <<
"PacketsReceived," <<
"NumberOfSinks," <<
std::endl;
out.close ();
SeedManager::SetSeed (12345);
Config::SetDefault ("ns3::OnOffApplication::PacketSize", StringValue
("1000"));
Config::SetDefault ("ns3::OnOffApplication::DataRate", StringValue
(rate));
Config::SetDefault
("ns3::WifiRemoteStationManager::NonUnicastMode", StringValue
(phyMode));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Config::SetDefault
("ns3::WifiRemoteStationManager::RtsCtsThreshold", StringValue
("2000"));
test = OlsrManetExample ();
test.CaseRun (nWifis,
nSinks,
totalTime, rate, phyMode, nodeSpeed, tcInterval,
helloInterval,
dataStart, printRoutingTable, CSVfileName);
return 0;
}
OlsrManetExample::OlsrManetExample ()
: bytesTotal (0),
packetsReceived (0)
{
}
void
OlsrManetExample::ReceivePacket (Ptr <Socket> socket)
{
//NS_LOG_UNCOND (Simulator::Now ().GetSeconds () << " Received
one packet!");
Ptr <Packet> packet;
while ((packet = socket->Recv ()))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
{
bytesTotal += packet->GetSize ();
packetsReceived += 1;
}
}
void
OlsrManetExample::CheckThroughput ()
{
double kbs = (bytesTotal * 8.0) / 1000;
bytesTotal = 0;
std::ofstream out (m_CSVfileName.c_str (), std::ios::app);
out << (Simulator::Now ()).GetSeconds () << "," << kbs << "," <<
packetsReceived << "," <<
m_nSinks <<
std::endl;
out.close ();
packetsReceived = 0;
Simulator::Schedule (Seconds (1.0),
&OlsrManetExample::CheckThroughput, this);
}
Ptr <Socket>
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
OlsrManetExample::SetupPacketReceive (Ipv4Address addr, Ptr <Node>
node)
{
TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory");
Ptr <Socket> sink = Socket::CreateSocket (node, tid);
InetSocketAddress local = InetSocketAddress (addr, port);
sink->Bind (local);
sink->SetRecvCallback (MakeCallback (
&OlsrManetExample::ReceivePacket, this));
return sink;
}
void
OlsrManetExample::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;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
m_phyMode = phyMode;
m_nodeSpeed = nodeSpeed;
m_tcInterval = tcInterval;
m_helloInterval = helloInterval;
m_dataStart = dataStart;
m_printRoutes = printRoutes;
m_CSVfileName = CSVfileName;
std::stringstream ss;
ss << m_nWifis;
std::string t_nodes = ss.str ();
std::stringstream ss3;
ss3 << m_totalTime;
std::string sTotalTime = ss3.str ();
//convert node speed
std::stringstream nspeed;
nspeed << nodeSpeed;
std::string sSpeed = nspeed.str ();
//convert hello to string
std::stringstream ssH;
ssH << m_helloInterval;
std::string hellotime = ssH.str ();
std::stringstream ssTC;
ssTC << m_tcInterval;
std::string tctime = ssTC.str ();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
std::string tr_name = "Olsr_Manet_" + t_nodes + "Nodes_" + sSpeed +
"Speed_" + sTotalTime + "SimTime";
std::cout << "Trace file generated is " << tr_name << ".tr\n";
CreateNodes ();
CreateDevices (tr_name);
SetupMobility ();
InstallInternetStack (tr_name);
InstallApplications ();
CheckThroughput ();
Simulator::Stop (Seconds (m_totalTime));
Simulator::Run ();
Simulator::Destroy ();
}
void
OlsrManetExample::CreateNodes ()
{
std::cout << "Creating " << (unsigned) m_nWifis << " nodes.\n";
nodes.Create (m_nWifis);
NS_ASSERT_MSG (m_nWifis > m_nSinks, "Sinks must be less or
equal to the number of nodes in network");
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
void OlsrManetExample::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 <<
"ns3::ConstantRandomVariable[Constant="
<< m_nodeSpeed
<< "]";
Ptr <PositionAllocator> taPositionAlloc = pos.Create ()->GetObject
<PositionAllocator> ();
mobility.SetMobilityModel ("ns3::RandomWaypointMobilityModel",
"Speed", StringValue
(speedConstantRandomVariableStream.str ()),
"Pause", StringValue
("ns3::ConstantRandomVariable[Constant=5.0]"),
"PositionAllocator", PointerValue
(taPositionAlloc));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
mobility.SetPositionAllocator (taPositionAlloc);
mobility.Install (nodes);
//Simulator::Schedule (Seconds (1.0),
&OlsrManetExample::SetupMobility, this);
}
void
OlsrManetExample::CreateDevices (std::string tr_name)
{
NqosWifiMacHelper wifiMac = NqosWifiMacHelper::Default ();
wifiMac.SetType ("ns3::AdhocWifiMac");
YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();
YansWifiChannelHelper wifiChannel;
wifiChannel.SetPropagationDelay
("ns3::ConstantSpeedPropagationDelayModel");
wifiChannel.AddPropagationLoss ("ns3::FriisPropagationLossModel");
wifiPhy.SetChannel (wifiChannel.Create ());
WifiHelper wifi;
wifi.SetStandard (WIFI_PHY_STANDARD_80211b);
// // area 250
wifiPhy.Set ("TxPowerStart", DoubleValue(33));
wifiPhy.Set ("TxPowerEnd", DoubleValue(33));
wifiPhy.Set ("TxPowerLevels", UintegerValue(1));
wifiPhy.Set ("TxGain", DoubleValue(0));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
wifiPhy.Set ("RxGain", DoubleValue(0));
wifiPhy.Set ("EnergyDetectionThreshold", DoubleValue(-61.8));
wifiPhy.Set ("CcaMode1Threshold", DoubleValue(-64.8));
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
OlsrManetExample::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); // has effect on the next Install ()
stack.Install (nodes);
Ipv4AddressHelper address;
address.SetBase ("10.1.1.0", "255.255.255.0");
interfaces = address.Assign (devices);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
if (m_printRoutes)
{
Ptr<OutputStreamWrapper> routingStream =
Create<OutputStreamWrapper> ((tr_name + ".routes"), std::ios::out);
olsr.PrintRoutingTableAllAt (Seconds (m_tcInterval), routingStream);
}
}
void
OlsrManetExample::InstallApplications ()
{
for (uint32_t i = 0; i <= m_nSinks - 1; i++ )
{
Ptr<Node> node = NodeList::GetNode (i);
Ipv4Address nodeAddress = node->GetObject<Ipv4> ()->GetAddress
(1, 0).GetLocal ();
Ptr<Socket> sink = SetupPacketReceive (nodeAddress, node);
}
for (uint32_t clientNode = 0; clientNode <= m_nWifis - 1; clientNode++
)
{
for (uint32_t j = 0; j <= m_nSinks - 1; j++ )
{
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
OnOffHelper onoff1 ("ns3::UdpSocketFactory", Address
(InetSocketAddress (interfaces.GetAddress (j), port)));
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));
Ptr<UniformRandomVariable> var =
CreateObject<UniformRandomVariable> ();
apps1.Start (Seconds (var->GetValue (m_dataStart, m_dataStart
+ 1)));
apps1.Stop (Seconds (m_totalTime));
}
}
}
}
//get ANSN
void
RoutingProtocol::ProcessTc(const olsr::MessageHeader &msg,const
Ipv4Address &senderIface)
{
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
const olsr::MessageHeader::Tc &tc = msg.GetTc ();
Time now = Simulator::Now ();
Address sourceAddress;
MessageHeader msgHeader;
std::cout << "r\t" << Simulator::Now ().GetSeconds () << "\t" <<
senderIface << "\tsend ansn\t" << tc.ansn << "\tto\t" << m_mainAddress
<< "\n";
}
void
RoutingProtocol::SendTc ()
{
NS_LOG_FUNCTION (this);
olsr::MessageHeader msg;
msg.SetOriginatorAddress (m_mainAddress);
msg.SetTimeToLive (255);
msg.SetHopCount (0);
olsr::MessageHeader::Tc &tc = msg.GetTc ();
QueueMessage (msg, JITTER);
std::cout << "t\t" << Simulator::Now ().GetSeconds () << "\t" <<
m_mainAddress << "\tSEND ANSN\t" << tc.ansn <<"\n";
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
2. Listing program waktukonvergensi.awk
BEGIN {
highest_packet_id = 0;
total_duration = 0;
num_received = 0;
num = 0;
konvergensi = 0;
}
{
action = $1;
time = $2;
ipsource = $3;
ansn = $6;
noansn[i++]==ansn;
if ( noansn[i-1]==noansn[i-2]){
highest_packet_id = ansn;
if ( action == "t"){
start_time[ansn] = time;
}
if ( action == "r") {
num = num + 1;
end_time[ansn] = time;
} else {
end_time[ansn] = -1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
}
}
}END {
for ( ansn = 0; ansn <= highest_packet_id; ansn++ ) {
#num = num + 1;
if ( start_time[ansn] < end_time[ansn]) {
packet_duration = (end_time[ansn] -
start_time[ansn]);
total_duration = total_duration + packet_duration;
num_received = num_received + 1;
}
konvergensi = konvergensi+ (total_duration/num);
}
printf("Rata-rata Konvergensi = %.8f s \n",
konvergensi/num_received);
}
3. Screen capture pengambilan data
1. Network density meningkat
a. 5 node
b. 10 node
c. 20 node
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
d. 40 node
2. Network density tetap
a. 5 node
b. 10 node
c. 20 node
d. 40 node
3. Network density meningkat dan ditambah dengan beban
a. 5 node
b. 10 node
c. 20 node
d. 40 node
4. Network density tetap dan ditambah dengan beban
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
a. 5 node
b. 10 node
c. 20 node
d. 40 node
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI