analisis perbandingan waktu konvergensi ...repository.usd.ac.id/31582/2/125314040_full.pdfcara kerja...

78
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

Upload: others

Post on 05-Feb-2021

5 views

Category:

Documents


0 download

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