BAB 3 ANALISIS DAN PERANCANGAN - Analisis Perbandingan Protokol Better Approach To Mobile Ad Hoc Network (BATMAN) Dengan Protokol Babel Untuk Layanan Voice Over Internet Protocol (VOIP) Pada Mobile Ad Hoc Network (MANET)
BAB 3 ANALISIS DAN PERANCANGAN Pada bab ini penulis memaparkan analisis permasalahan yang diangkat yang disajikan
dengan diagram dan flowchart serta dipaparkan juga perancangan sistem yang akan dibangun, baik yang berupa perangkat keras ataupun perangkat lunak, lokasi pengujian, cara melakukan pengujian dan bentuk topologi.
3.1. Analisis
Pada penelitian ini akan dibangun sebuah jaringan komputer dengan model MANET. MANET akan dibangun dengan dua buah protokol routing secara bergantian, yaitu B.A.T.M.A.N-adv dan Babel. Dua algoritma tersebut dibandingkan dan dianalisa kinerjanya dengan lima buah parameter sehingga dapat diketahui protokol routing mana yang paling baik.
3.1.1. Analisis Masalah
Pada kondisi-kondisi tertenu jaringan dengan model MANET sangat dibutuhkan sebagai cara untuk bisa melakukan komunikasi antara satu lokasi dengan lokasi lainnya. Sebagai contoh, pada lokasi bencana alam, misalnya gempa bumi yang menyebabkan infrasturktur komunikasi pada lokasi tersebut mati total, sementara diperlukan sebuah sarana komunikasi suara yang bisa menghubungkan satu posko pengungsian dengan posko lainnya. Jaringan model MANET, dengan node-node yang bersifat mobile dengan baterai sebagai pemberi daya, bisa memenuhi kebutuhkan tersebut.
Saat ini sudah sangat banyak protokol MANET yang dapat digunakan sehingga membuat administrator menjadi sedikit bingung memilih protokol routing mana yang paling baik dan tepat untuk digunakan dengan layanan komunikasi suara (VoIP) yang akan diimplementasikan pada MANET.
Masalah yang sudah dijelaskan di atas dapat digambarkan dengan menggunakan diagram Ishikawa (fishbone diagram) seperti pada gambar 3.1 berikut ini:
Gambar 3.1 Diagram Ishikawa Analisis Masalah3.1.2. Analisis Kebutuhan
Analisis kebutuhan sistem meliputi analisis kebutuhan fungsional dan analisis kebutuhan non-fungsional.
3.1.2.1. Kebutuhan Fungsional
Kebutuhan fungsional yang harus ada dalam menentukan protokol routing terbaik pada MANET untuk layanan VoIP adalah sebagai berikut:
1. MANET dengan protokol routing BATMAN-adv atau Babel dapat mencari jalur terbaik untuk mengirimkan paket tanpa terjadi routing loop.
2. MANET dengan protokol routing B.A.T.M.A.N-adv atau Babel menggunakan yang terkecil, nilai delay, jitter, packet loss yang juga terkecil dan
bandwidth nilai MOS yang terbesar.
3. MANET dapat di-monitoring atau divisualisasikan untuk melihat topologi yang sedang terjadi.
4. Suara yang dihasilkan bisa didengar, baik di pemanggil dan di penerima.
3.1.2.2. Kebutuhan Non-Fungsional Sistem
Untuk mendukung kinerja MANET, sebaiknya dapat melakukan hal-hal berikut: 1.
Setiap node pada MANET dapat diaktifkan dengan mudah baik bagi
administrator maupun end-user sehingga mempercepat pembangunan MANET.
2. Bisa digunakan pada semua notebook yang memiliki wireless interface.
3. Suara yang dihasilkan jernih dan berkualitas baik di pemanggil maupun di penerima.
3.1.3. Pemodelan
Pada penelitian ini digunakan Use Case Diagram dan flowchart sebagai cara untuk melakukan pemodelan dalam merancang pengujian protokol terbaik pada MANET untuk layanan VoIP. Dalam pengujian ini, terdapat 2 jeni pengguna, yaitu end-user dan administrator, dimana masing-masing memiliki fungsi yang berbeda.
End-user melakukan kegiatan komunikasi ke node lain dengan menggunakan
layanan VoIP yang telah disediakan, baik bertindak sebagai pemanggil atau yang dipanggil, sedangkan administrator adalah yang bertindak sebagai yang melakukan analisa terhadap parameter yang sudah ditentukan di node server.
3.1.3.1. Use Case Diagram
Use case diagram akan menjelaskan apa saja yang akan dikerjakan di dalam node-
nodedalam MANET. Use case diagram akan merepresentasikan bagaimana interaksi antara pengguna dengan node. Untuk mengidentifikasikan apa saja aktor dan use case yang terlibat pada MANET ini, perlu dijawab beberapa pertanyaan berikut ini: 1.
Siapa yang menggunakan MANET? Jawaban: End user dan administrator 2. Siapa yang diperlukan untuk melaksanakan pengujian pada MANET?
Jawaban: End user dan administrator 3. Apa saja yang dapat dilakukan end-user pada MANET? Jawaban: Melakukan komunikasi dengan node lain.
4. Apa saja yang dapat dilakukan administrator pada MANET?
Jawaban: Melakukan pemantauan kualitas VoIP dan melihat topologi yang terajadi.
Pada gambar 3.2 dan 3.3 diperlihatkan diagram use case dari masing-masing pengguna yaitu end user dan administrator terhadap pengujian kualitas VoIP pada MANET.
Gambar 3.2 Use Case End User Pengujian Kualitas VoIP Protokol B.A.T.M.A.N- adv dan BabelGambar 3.3 Use Case Administrator Pengujian Kualitas VoIP Protokol B.A.T.M.A.N-adv dan Babel3.1.3.2. Flowchart Pengujian
Gambar 3.4 berikut adalah flowchart yang akan menjelaskan proses pengujian kualitasVoIP pada MANET dengan menggunakan protokol routing B.A.T.M.A.N-adv dan Babel.
Gambar 3.4 Flowchart Pengujian Kualitas VoIP Pada MANET3.2. Perangkat Keras yang Digunakan
Seperti yang sudah disebutkan sebelumnya pada subbab 1.3 bahwa penelitian ini akan menggunakan 10 buah notebook yang akan dijadikan sebagai node pada MANET yang akan dibangun. 10 buah notebook yang digunakan memiliki spesifikasi yang heterogen atau berbeda-beda satu sama lain dan semua notebook yang digunakan sudah memiliki interface wireless yang nantinya akan digunakan sebagai transreceiver .
10 node yang akan digunakan memiliki spesifikasi yang terbilang bagus pada saat skripsi ini ditulis, yaitu rata-rata memiliki processor Intel Core i3 dan Core i5, RAM rata-rata 4GB dan harddisk rata-rata diatas atau sama dengan 500GB sehingga sudah sangat layak untuk digunakan dalam pengujian ini.
3.3. Perangkat Lunak yang Digunakan
Ada beberapa macam perangkat lunak yang digunakan termasuk diantaranya adalah sistem operasi, protokol routing, tools pendukung yang akan digunakan untuk melakukan kontrol terhadap protokol routing dan untuk mem-visualisasikan topologi, VoIP server, VoIP klien (softphone) dan VoIP monitoring. Berikut ini adalah detil dari setiap pengkat lunak yang digunakan pada penelitian ini.
3.3.1. Sistem Operasi
Sistem operasi yang digunakan adalah Ubuntu. Ubuntu sendiri adalah sebuah distribusi Linux yang berbasiskan Debian dan didistribusikan sebagai perangkat lunak bebas baik secara penggunaan maupun source code-nya. Saat ini Ubuntu telah menjadi salah satu sitem operasi yang sangat populer dan banyak digunakan, baik untuk keperluan desktop maupun server. Saat penelitian ini ditulis, versi Ubuntu yang terbaru adalah 13.10 yang diberi istilah Saucy Salamander.
Pada penelitian ini, setiap node klien akan menggunakan sistem operasi Ubuntu Dekstop versi 12.04 LTS (Long Term Support) dengan versi kernel 3.5.0-23-
generic . Sedangkan pada node yang dijadikan server VoIP akan dipasangkan sistem
operasi Ubuntu Server versi 12.04 LTS dengan kernel yang sama dengan node klien.Penulis memilih versi LTS karena masa support-nya yang paling panjang dibanding versi yang bukan LTS, yaitu sampai 5 tahun sejak versi tersebut dirilis.
3.3.2. Protokol Routing
Sesuai dengan permasalahan yang diangkat pada penelitian ini, protokol routing yang akan digunakan pada masing-masing node ada dua, yaitu B.A.T.M.A.N dan Babel. Untuk protokol routing B.A.T.M.A.N akan digunakan B.A.T.M.A.N-adv versi 2013.4.0. Karena paket protokol routing B.A.T.M.A.N belum tersedia pada repository Ubuntu, maka harus diunduh secara manual langsung pada situs resminya http://www.open-mesh.org/projects/open-mesh/wiki/Download. Skrip kode sumber protokol B.A.T.M.A.N tidak serta merta bisa langsung digunakan, namun harus melakukan proses kompilasi dan menggunakan beberapa dependency yang dibutuhkan.
Sedangkan untuk protokol Babel akan digunakan Babel daemon (babeld) versi 1.1.1-1. Tidak Sama seperti B.A.T.M.A.N-adv, protokol routing Babel sudah tersedia di repository Ubuntu dan bisa langsung digunakan dengan beberapa baris skrip untuk mengaktifkannya.
3.3.3. Tools Pendukung
Untuk melakukan kontrol terhadap protokol yang akan digunakan dibutuhkan perangkat lunak terpisah dari protokol itu sendiri. Kontrol yang dimaksud disini adalah melakukan ping, tracerout, mengetahui node tetangga, dan lain sebagainya termasuk yang memvisualisasikan topologi yang sedang terjadi untuk mempermudah melakukan konfirmasi apakah topologi sudah sesuai dengan yang diharapkan, hal ini terkait dengan dua skenario yang telah dibahas sebelumnya.
3.3.3.1. Batctl Masing-masing tool pendukung berbeda antara protokol B.A.T.M.A.N dan Babel.
Pada B.A.T.M.A.N, tool pendukung yang akan digunakan adalah batctl dengan versi debian-2011.4.0-2. Tool ini sudah tersedia pada repository Ubuntu, dimana fungsi yang bisa diberikan oleh tool ini adalah melakukan beberapa perintah yang berjalan pada layer 2 (Physical), seperti melakukan ping, traceroute dan tcpdump. Fungsi lain dari tool ini adalah untuk melihat semua node yang sedang aktif pada MANET yang menggunakan protokol B.A.T.M.A.N-adv. Kemudian, tool batctl ini juga bisa digunakan untuk melakukan generate topologi yang sedang berjalan atau aktif saat sekarang yang diekspor dalam format Portable Network Graphics (PNG). Gambar 3.5 memperlihatkan sebuah contoh topologi yang dihasilkan batctl.
Gambar 3.5 Contoh Hasil Visualisasi Topologi MANET Dengan Batctl3.3.3.2. Babelweb
Untuk tool pendukung protokol routing Babel, penulis menggunakan tool bernama babelweb versi 0.3.0. Berbeda dari tool batctl, tool ini tidak ada di repository Ubuntu, untuk mendapatkannya penulis harus mengunduh kode sumbernya langsung dari
http://gabriel.kerneis.info/software/files/babelweb-0.3.0.tar.gz . Tool ini berfungsi
untuk melakukan mapping topologi yang sedang terjadi saat sekarang secara realtime.Jika tool batctl melakukan ekspor ke format PNG untuk melihat topologi yang sedang terjadi dan mengharuskan pengguna mengetikkan sebuah command untuk mendapatkan sebuah file PNG, lain halnya dengan babelweb. Pada babelweb pengguna akan disuguhkan sebuah interface berbasis web yang memperlihatkan semua node yang menggunakan protokol Babel pada MANET beserta hubungannya dengan node lain. Semua node tersebut akan berubah setiap 4 detik jika terjadi perubahan kualitas link pada node. Gambar 3.6 memperlihatkan contoh topologi yang dihasilkan babelweb.
Gambar 3.6 Contoh Hasil Visualisasi Topologi MANET Dengan Babelweb3.3.4. Perangkat Lunak VoIP
Jika ditinjau dari perangkat lunak, untuk membangun sebuah layanan VoIP, ada 2 jenis perangkat lunak yang dibutuhkan. Pertama perangkat lunak yang akan berfungsi sebagai pemanggil dan penerima panggilan dan yang kedua akan bertindak sebagai penghubung antara satu node dengan node lainnya. Dengan kata lain, ada perangkat lunak untuk klien dan perangkat lunak untuk server.
3.3.4.1. VoIP Klien (Softphone)
VoIP klien (dalam hal ini software/softphone) adalah sebuah software yang dipasangkan pada node klien yang digunakan untuk dapat memanggil dan menerima panggilan, baik berupa sambungan komputer ke komputer, komputer ke IP Phone, komputer ke smartphone atau lainnya. Softphone ini berupa komponen yang melakukan dial nomor telepon VoIP atau untuk menerima telepon. Softphone akan berhubungan langsung dengan user. Sudah banyak jenis softphone gratis yang bisa langsung diunduh pada situs resminya. Jenis softphone yang dapat digunakan adalah berikut: a.
Jenis softphone SIP, misalnya Linphone, SJPhone, X-Lite dan Ekiga.
b.
Jenis softphone IAX, misalnya Idefisk dan laxLite.
c.
Jenis softphone H.323, misalnya Netmeeting dan Ekiga.
Pada penelitian ini, penulis akan menggunakan softphone Linphone dengan versi 3.5.2. Alasan penulis memilih Linphone sebagai softphone karena dari beberapa
softphone yang bisa dipasang ke mesin dengan sistem operasi Ubuntu, Linphone
adalah softphone yang penggunaannya sangat mudah, tampilannya sederhana, ukuran yang kecil dan bersifat open source.
3.3.4.2. VoIP Server (Softswitch)
VoIP Server (Softswitch) berfungsi sebagai penghubung antar softphone. Softswitch akan mendaftarkan klien serta mengatur pola penomoran dan call routing
(mengarahkan tujuan data suara). Ada dua pilihan VoIP server yang bisa digunakan, yaitu open source dan non-open source. VoIP server open source dapat diperoleh dengan mengunduh langsung pada situs resminya. Beberapa contoh VoIP server yang bersifat antara lain Asterisk (http://www.asterisk.org),
open source
OpenSER (http://www.openser.org), SER (http://www.iptel.org/ser/) atau Yate (http://yate.null.ro). Sedangkan VoIP server yang non-open source dapat diperoleh di situs Axon (http://http://www.nch.com.au/pbx) atau OnDo SIP Server (http://www.brekeke.com) dengan membayar sesuai dengan harga yang ditawarkan.
Pada penelitian, ini penulis menggunakan VoIP server Asterisk dengan versi
1.8.10.1. Alasan penulis memilih Asterisk sebagai VoIP server adalah bahwa Asterisk yang sudah banyak dibuktikan handal dan stabil dalam melakukan tugasnya. Konfigurasi yang sederhana dan sifatnya yang open source juga menjadi pilihan utama penulis.
3.3.5. Perangkat Lunak Monitoring
Untuk mengetahui kualitas VoIP yang diukur berdasarkan dari 4 parameter perbandingan yang bersifat objektif (1 bersifat subjektif) yang sudah disebutkan pada subbab 1.3, dibutuhkan perangkat lunak bantuan yang khusus difungsikan untuk melakukan hal tersebut.
Untuk melakukan monitoring delay, jitter, dan packet loss digunakan sebuah perangkat lunak berbasis web, yaitu VoIP Monitor dengan versi 6.11.2013. Perangkat lunak ini bersifat open source yang bisa langsung diunduh dari situs resminya di www.voipmonitor.org. Alasan penulis menggunakan perangkat lunak ini adalah karena setelah penulis mencari informasi beberapa perangkat lunak yang bisa digunakan untuk monitoring VoIP, VoIP Monitoring adalah yang paling mendukung dengan sistem operasi Linux khususnya Ubuntu, meskipun membutuhkan beberapa
dependency , memiliki ukuran yang tidak terlalu besar, mudah digunakan, tampilan
yang sudah berbasis Web Graphical User Inteface (GUI), report yang cukup lengkap yang bahkan memiliki fasilitas perekam percakapan, dan bersifat gratis.
Sedangkan untuk analisa penggunaan bandwidth, penulis menggunakan perangkat lunak BitMeterOS dengan versi 0.7.5. Perangkat lunak ini bersifat gratis yang tersedia untuk sistem operasi Windows, Linux dan Mac OS yang bisa langsung diunduh dari situs resminya http://codebox.org.uk/pages/bitmeteros/downloads. Alasan penulis memilih perangkat lunak ini adalah karena dengan tampilan GUI-nya yang berbasis web, perangkat lunak ini memberikan laporan penggunaan bandwidth yang tergolong lengkap dan bisa langsung di ekspor dalam format CSV.
3.4. Lokasi Pengujian
Lokasi pengujian adalah tempat dimana pengujian sistem akan dilakukan. Lokasi pengujian akan sangat mempengaruhi kinerja dari media wireless, karena media
wireless yang digunakan pada penelitian ini merupakan media yang sangat mudah
dipengaruhi oleh situasi atau keadaan sekitar. Sinyal dari sebuah wireless interface bisa terganggu oleh beberapa hal seperti dinding, air, manusia, tumbuhan, dan lain sebagainya.
Lokasi pengujian yang penulis pilih adalah di gedung perkuliahan S1 Ilmu Komputer Universitas Sumatera Utara (USU), dimana pada gedung ini terdapat 3 lantai. Penulis memilih lokasi pengujian di gedung tersebut karena beberapa hal, yaitu penulis yang merupakan mahasiswa S1 Ilmu Komputer USU, terdiri dari banyak ruangan kelas yang akan membuat jarak jangkauan node satu dengan node lainnya bisa semakin jauh, serta banyaknya penghalang yang berupa sekat-sekat berupa dinding dan kaca yang bisa melemahkan gelombang elektromagnetik yang dihasilkan
interface wireless dari notebook, sehingga pengujian dengan menggunakan 10
notebook akan semakin mendekati seperti penggunaan di kondisi riil yang akan
membuat angka hasil pengujian akan semakin realistis dan ketersediaan sumber daya listrk untuk notebook yang memiliki ketahanan baterai lemah.
Dari 3 lantai yang tersedia, penulis memilih lantai 1 dikarenakan keterbatasan akses penulis untuk seluruh lantai gedung. Gambar 3.7 berikut ini yang merupakan lokasi pengujian dan sekaligus digambarkan peletakan seluruh notebook yang akan dijadikan sebagai node pada penelitian ini.
Gambar 3.7 Lokasi Pengujian Lantai 1 Gedung S1 Ilmu Komputer USUDari gambar 3.7 terlihat bahwa node sudah diposisikan di titik-titik yang satu sama lainnya tidak terlalu jauh dan juga tidak terlalu dekat sehingga wireless interface masing-masing notebook masih bisa terhubung ke notebook terdekat. Penulis memberikan penanda untuk setiap notebook, yaitu berupa nomor mulai dari 1 sampai dengan 10, dimana nomor 1 adalah node yang digunakan sebagai server VoIP.
Posisi-posisi notebook yang diletakkan berlainan tempat tersebut bertujuan untuk melakukan pengujian MANET dengan model partial connected. Sedangkan untuk melakukan pengujian full connected, seluruh notebook akan diletakkan pada satu ruangan yang sama, sehingga seluruh notebook bisa terhubung satu sama lain sesuai dengan sifat MANET full connected. Ruangan yang penulis pilih untuk melakukan pengujian full connected adalah ruangan Kelas Basic gedung S1 Ilmu Komputer USU yang memang cukup luas. Pengaturan tata letak node dapat dilihat pada gambar 3.8 di bawah ini.
Gambar 3.8 Tata Letak Node Pada Ruang Kelas Basic3.5. Parameter Kualitas VoIP
Untuk menentukan kualitas atau Quality of Servise (QoS) dari VoIP, digunakan 5 hal yang akan dijadikan parameter perbandingan. 5 parameter tersebut adalah sebagai berikut: a.
Penggunaan bandwidth Penggunaan bandwidth adalah banyaknya bandwidth yang digunakan untuk beberapa saat yang ditentukan dan diukur dalam kecepatan (rate) dalam satuan
bit per second (bps) atau kilobyte per second (KBps). Parameter ini adalah
salah satu yang paling penting mengingat jaringan MANET adalah jaringan yang menggunakan media nirkabel yang tidak terlalu kaya throughput.
b.
Delay Delay adalah waktu yang dibutuhkan data untuk menempuh jarak dari asal ke
tujuan. Delay dapat dipengaruhi oleh jarak, jenis media, atau waktu proses.
c.
Jitter Jitter atau variasi kedatangan paket, adalah hal yang diakibatkan oleh variasi-
variasi dalam panjang antrian, dalam waktu pengolahan data, dan juga dalam waktu penghimpunan ulang paket-paket di akhir perjalanan paket. Jitter lazimnya disebut variasi delay. Delay antrian pada router dan switch dapat menyebabkan jitter.
d.
Packet loss Packet Loss merupakan suatu parameter yang menggambarkan suatu kondisi
yang menunjukkan jumlah total paket yang hilang, dapat terjadi karena
collision dan congestion pada jaringan. Hal ini akan berpengaruh pada semua
aplikasi karena retransmisi akan mengurangi efisiensi jaringan secara keseluruhan meskipun jumlah bandwidth cukup tersedia untuk aplikasi tersebut. e.
Mean Opinion Score (MOS) Metode ini merupakan metode yang digunakan untk menentukan kualitas suara dalam jaringan
IP yang berdasarkan standar International (ITU) yaitu ITU-T P.800. MOS merupakan opini
Telecommunication Union
dari pengguna yang bersifat subjektif, karena standar kualitas suara bagi setiap orang berbeda-beda. Nilai yang diberikan mulai dari 1 sampai 5. Nilai MOS dihasilkan dengan cara merata-ratakan hasil penilaian sejumlah pengguna terhadap kualitas VoIP yang dihasilkan. Setiap pengguna diminta untuk menilai kualitas suara menggunakan skema rating sebagai berikut: 1 = Sangat Buruk, 2 = Buruk, 3 = Cukup Baik, 4 = Baik, 5 = Sangat Baik.
3.6. Mekanisme dan Skenario Pengujian Setelah sistem dipersiapkan, proses selanjutnya adalah melakukan pengujian.
Sebelumnya sudah disebutkan bahwa pengujian akan dilakukan dengan 2 skenario umum yang berbeda, yaitu pada saat MANET mengalami kondisi full connected dan kondisi partial connected.
Pengujian yang akan penulis lakukan adalah berdasarkan parameter yang telah disebutkan sebelumnya, yaitu penggunaan bandwidth, delay, jitter, packet loss dan MOS. Namun, sebelum melakukan pengujian 5 parameter tersebut, penulis juga akan melakukan pengujian verifikasi protokol.
3.6.1. Verifikasi Topologi
Pada pengujian ini masing-masing protokol routing yaitu B.A.T.M.A.N-adv dan Babel akan diuji apakah sudah terkonfigurasi dengan baik termasuk melakukan verifikasi apakah model konektifitas yang diinginkan yaitu full connected atau partial
connected sudah terimplementasi dengan baik.
3.6.2. Pengujian Penggunaan Bandwidth, Delay, Jitter dan Packet Loss
Baik pada MANET full connected maupun partial connected penulis akan melakukan prosedur yang sama:
3.6.2.1. Pengujian Penggunaan Bandwidth
Untuk pengujian penggunaan bandwidth akan dilakukan sebanyak 3 sesi. Pada setiap sesi akan diberikan beban yang berbeda-beda, dimana beban yang dimaksud adalah berupa panggilan dari satu node ke node lainnya. Lama pengamatan dari setiap sesi adalah 60 detik. Setiap detik bandwidth yang digunakan akan dicatat, dan kemudian akan dirata-ratakan. Pengujian ini dilakukan bergantian mulai dari B.A.T.M.A.N-adv dengan full connected, Babel full connected, B.A.T.M.A.N-adv partial connected, dan Babel partial connected. Berikut ini adalah tabel 3.1 yang menunjukkan metode pengujian penggunaan bandwidth.
Tabel 3.1 Metode Pengujian Penggunaan BandwidthNode Pemberi Beban Nama Model Sesi Durasi Protokol Topologi Caller Called
(Detik)
- 60 -
1
3
9
60 BATMAN- Full /
3
9 adv / Babel Partial 2 & &
60
5
10
3.6.2.2. Pengujian Delay, Jitter, dan Packet Loss
Untuk pengujian delay, jitter, dan packet loss akan dilakukan dengan banyak sesi yang sama dengan pengujian penggunaan bandwidth, perbedaannya adalah masing-masing sesi akan dilakukan pengujian sebanyak 5 kali yang masing-masing berdurasi 30 detik.
Pengujian 1 Sesi Node 3 dan 9 adalah node yang menjadi objek penilaian. Node 3 akan
menghubungi node 9 selama 30 detik. Nilai dari delay, jitter, dan packet loss akan muncul pada perangkat lunak VoIP Monitor setelah komunikasi diputus. Nilai yang muncul kemudian dicatat oleh administrator. Hal yang sama dilakukan sebanyak 5 kali.
Pengujian 2 Sesi
Hal yang sama pada 1 sesi akan dilakukan pada 2 sesi, namun perbedaannya adalah adanya penambahan beban oleh node 5 yang berkomunikasi dengan node 10. Selama pengujian 2 sesi ini, komunikasi node 5 dan 10 tidak akan pernah diputuskan sampai pengujian ke 5 dari 2 sesi selesai.
Pengujian 3 Sesi
Pada pengujian 3 sesi, tetap dilakukan 5 kali percobaan, namun beban yang diberikan di 2 sesi akan ditambah dengan komunikasi yang terjadi dari node 2 ke node 7, sehingga pada pengujian sesi ini terjadi 3 komunikasi sekaligus.
Metode pengujian delay, jitter, dan packet loss dapat dijelaskan dalam tabel 3.2 berikut ini.
- adv / Babel
2
30
5
30
3
1
5 &
2
10 &
7
30
30
30
3
30
4
30
5
30
Untuk pengujian parameter Mean Opinion Score (MOS) penulis akan meminta pendapat kepada 10 user untuk menggunakan layanan VoIP yang telah penulis bangun. Penulis akan mengambil nilai rata-rata dari nilai yang diberikan oleh user untuk mendapatkan nilai akhir untuk parameter MOS ini.
Dalam pengujian MOS ini, penulis akan menggunakan skenario partial
connected . Alasan penulis melakukan pengujian MOS ini dengan skenario partial
connected agar pengujian menyerupai kondisi rill, dimana antar pengguna yang
berada di ruangan atau tempat yang berbedalah yang biasanya akan menggunakan media komunikasi untuk berinteraksi.
Pengujian MOS ini akan dilakukan hanya pada 1 sesi komunikasi, dimana pengujian akan dilakukan berurutan untuk 2 orang. Pengguna pertama akan berada pada node 3 dan pengguna kedua akan berada pada node 9, kemudian kedua pengguna
4
3
Tabel 3.2 Metode Pengujian Delay, Jitter, dan Packet Loss Nama30
Protokol Model Topologi Sesi Peng- ujian ke Node Objek Node
Pemberi Beban Durasi (Detik) Caller Called Caller Called
BATMAN
Full / Partial
1
1
3
9
30
2
3
30
30
4
30
5
30
2
1
5
10
30
2
3.6.3. Pengujian Mean Opinion Score (MOS)
akan melakukan komunikasi selama 60 detik dan kemudian memberikan nilai terhadap kualitas VoIP yang mereka rasakan.
Pengujian MOS ini akan dilakukan bergantian antara protokol B.A.T.M.A.N- adv dan Babel. Pertama, akan dilakukan pengujian protokol B.A.T.M.A.N-adv dan setelah semua pengguna memberikan nilai, dilanjutkan dengan pengujian protokol Babel, dimana hal yang dilakukan pada pengujian protokol B.A.T.M.A.N-adv juga dilakukan pada pengujian protokol Babel.
Universitas Sumatera Utara
BAB 4
IMPLEMENTASI DAN PENGUJIAN Pada bab 4 ini penulis memaparkan bagaimana implementasi dari sistem dan juganilai-nilai dari setiap parameter hasil pengujian kualitas VoIP yang dilakukan pada MANET yang sudah dibangun menggunakan protokol B.A.T.M.A.N-adv dan Babel dalam 2 skenario, yaitu full connected dan partial connected.
4.1. Implementasi Sistem
Pada implementasi sistem, penulis akan melakukan instalasi seluruh perangkat lunak yang dibutuhkan pada setiap node. Untuk mendapatkan paket-paket yang dibutuhkan oleh sistem operasi Ubuntu baik perangkat lunak utama maupun dependencies-nya, penulis mengambil dari repository lokal yang telah penulis siapkan pada media
harddisk eksternal sehingga proses pengambilan paket. Berikut ini adalah hal-hal yang
penulis lakukan: a.
Melakukan instalasi Ubuntu Desktop 12.04 LTS pada 9 notebook.
b.
Melakukan instalasi Ubuntu Server 12.04 LTS pada 1 buah notebook.
c.
Melakukan instalasi protokol B.A.T.M.A.N-adv dan Babel, dependencies dan
tools untuk kebutuhan protokol routing yang sudah disebutkan sebelumnya pada seluruh node termasuk node yang akan bertindak sebagai server.
d.
Melakukan instalasi dan konfigurasi Asterisk, VoIP monitoring dan bandwidth beserta dependencies-nya pada node server.
monitoring e.
Melakukan instalasi Linphone pada semua node klien.
f.
Melakukan konfigurasi protokol B.A.T.M.A.N-adv dan Babel pada seluruh
node termasuk server sehingga masing-masing protokol bisa aktif dan berjalan dengan baik.
4.1.1. Pengalamatan
Protokol B.A.T.M.A.N-adv dan Babel memiliki perbedaan dalam pengalamatan, dimana pada protokol routing Babel pengalamatan logika, baik IPv4 atau IPv6 mutlak dibutuhkan, sedangkan pada protokol B.A.T.M.A.N-adv, walaupun tidak perlu dilakukan pengalamatan logika, protokol routing tetap bisa berjalan. Hal ini dikarenakan setiap node dapat saling terhubung dengan menggunakan MAC Address sebagai karakteristik protokol routing BATMAN-adv yang bekerja di layer 2. Namun karena layanan VoIP membutuhkan IP Address, maka setiap node akan diberikan pengalamatan logika yaitu IPv4.
Pengalamatan logika pada setiap node akan diberikan secara manual yang digabungkan dengan skrip aktifasi protokol routing. IP Address yang diberikan memiliki rentang dari 10.10.1.1/24 sampai 10.10.1.10/24, dimana oktet terakhir dari
IP Address disamakan dengan penomoran pada setiap node yang sudah dibuat sebelumnya. Jadi, untuk node server penulis memberikan IP Address 10.10.1.1/24. Penulis tidak menggunakan pengalamatan otomatis menggunakan Dynamic Host
Configuration Protocol (DHCP) agar lebih mudah dalam melakukan kontrol dari
setiap node, dimana salah satunya adalah jika ada node yang bermasalah, misalnya belum terkoneksi akan mudah untuk melakukan troubleshoot.
4.1.2. Instalasi Protokol
Penulis sudah membuat sebuah skrip bash untuk melakukan instalasi protokol B.A.T.M.A.N-adv dan Babel beserta semua dengan dependencies-nya, termasuk melakukan kompilasi awal dari skrip B.A.T.M.A.N-adv. Tujuan dibuatnya skrip ini adalah untuk memudakan penulis melakukan hal yang sama di 10 node lainnya, sehingga akan sangat menghemat waktu instalasi. Skrip bash tersebut penulis letakkan pada direktori /usr/local/sbin, sehingga dapat dipanggil dari direktori manapun. Berikut ini adalah isi skrip bash yang penulis buat:
#!/bin/bash clear echo "Membuat folder penampung" sleep 2 mkdir /adam clear echo "Mengcopy sources.list ke apt" sleep 2 cp /media/ADAM-KURNIAWAN/SUMBER/sources.list /etc/apt clear echo "Mengcopy kode sumber B.A.T.M.A.N" sleep 2 cp /media/ADAM-KURNIAWAN/SUMBER/batman-adv-2013.4.0.tar.gz /adam clear echo "Mencopy file BitMeterOS" sleep 2 cp /media/ADAM-KURNIAWAN/SUMBER/bitmeteros_0.7.5-i386.deb /adam clear echo "Mencopy file bash konfigurasi protokol" sleep 2 cp /media/ADAM-KURNIAWAN/SUMBER/file-konfigurasi/*-manet.sh /usr/local/sbin chmod 755 /usr/local/sbin/*-manet.sh clear echo "Mencopy file bash topology mapper B.A.T.M.A.N" sleep 2 cp /media/ADAM-KURNIAWAN/SUMBER/top-bat.sh /usr/local/sbin chmod 755 /usr/local/sbin/top-bat.sh clear echo "Mengupdate paket" sleep 2 apt-get update clear echo "Menginstal BATCTL" sleep 2 apt-get install batctl -y clear echo "Menginstal build-essential" sleep 2 apt-get install build-essential -y clear echo "Menginstal qt4-dev-tools" sleep 2 apt-get install qt4-dev-tools -y clear echo "Menginstall libncourses5-dev" sleep 2 apt-get install libncurses5-dev -y clear echo "Mengekstrak kode sumber B.A.T.M.A.N" sleep 2 cd /adam tar xzvf batman-adv-2013.4.0.tar.gz clear echo "Kompilasi kode sumber B.A.T.M.A.N" sleep 2 cd /adam/batman-adv-2013.4.0 make clear echo "Berpindah ke direktori Linux Header" sleep 2 cd /usr/src/linux-headers-3.5.0-23-generic/ clear echo "Kompilasi xconfig" sleep 2 make xconcifg clear echo "Kompilasi menuconfig" sleep 2 make menuconfig clear echo "Kompilasi oldconfig" sleep 2 make oldconfig clear echo "Memuat B.A.T.M.A.N ke kernel" sleep 2 cd /adam/batman-adv-2013.4.0 modprobe batman-adv clear echo "Instalasi Protokol Babel" apt-get install babeld -y clear echo "Install Graphviz" apt-get install graphviz -y clear echo "Instalasi Ekiga" apt-get install linphone -y clear echo "Instalasi BitMeter OS" cd /adam dpkg -i bitmeteros_0.7.5-i386.deb clear echo "Selesai" exit
4.1.3. Pendaftaran Akun VoIP
Context adalah penanda atau pendefenisian sebuah user yang akan dimasukkan pada file dialplan extension.conf.
8 friend manet 1009 adam dynamic
9
9 friend manet 1010 adam dynamic
10 Penjelasan: a.
Type adalah grup dari user.
b.
c.
7 friend manet 1008 adam dynamic
Username adalah nomor yang akan dipanggil untuk memulai komunikasi.
d.
Secret adalah password kata kunci yang digunakan saat memasukkan akun ke perangkat lunak Linphone.
e.
Host adalah alamat mesin pengguna, apabila ditentukan biasanya akan berupa
IP Address, digunakan dynamic karena setiap user bisa menggunakan IP Address secara dinamis.
8
Untuk bisa memanfaatkan layanan VoIP yang diberikan oleh server, masing-masing pengguna harus didaftarkan pada server VoIP. Pada Asterisk pendaftaran akun dilakukan pada file sip.conf yang berada di direktori /etc/asterisk dan masing-masing pengguna yang sudah didaftarkan harus diberikan ekstensi yang digunakan untuk penanganan panggilan masuk atau keluar. Pemberian ekstensi ini berada di file
extensions.conf yang juga berada di direktori /etc/asterisk. Berikut ini adalah 9 akun
3 friend manet 1004 adam dynamic
yang akan didaftarkan pada Asterisk untuk penelitian ini:
Tabel 4.1 Daftar Akun Pengguna Layanan VoIP No type context username secret host Node1 friend manet 1002 adam dynamic
2
2 friend manet 1003 adam dynamic
3
4
6 friend manet 1007 adam dynamic
4 friend
manet 1005 adam
dynamic
5
5 friend manet 1006 adam dynamic
6
7 f.
Node adalah notebook yang akan menggunakan akun dan field ini tidak ada di file konfigurasi.
4.1.4. Aktifasi Protokol
Untuk mengaktifkan protokol B.A.T.M.A.N-adv dan Babel pada setiap node, ada beberapa perintah yang harus ketikkan di mode terminal. Beberapa perintah tersebut penulis buat dalam sebuah skrip bash dengan tujuan untuk memudahkan pengguna, baik end-user maupun administrator untuk melakukan aktifasi protokol routing B.A.T.M.A.N-adv dan Babel. Skrip bash tersebut penulis letakkan pada direktori
/usr/local/sbin/ agar bisa diakses dari manapun dengan status root. Berikut ini adalah
isi skrip bash tersebut.#!/bin/bash clear #Nama interface Wi-Fi
IFACE=[interface nirkabel node, mis: wlan0] #Nama essid harus sama pada semua node ESSID=adammanet #Channel yang digunakan CHANNEL=1 #MAC Address salah satu node dan harus sama pada semua node CELLID=aa:bb:cc:dd:ee:ff #IP Address dan netmask tidak boleh sama pada tiap node
IPADD=[IP Address node, mis: 10.10.1.1] NETMASK=255.255.255.0 NETWORKMANAGER="service network-manager" if [ "$1" = "batman" ]; then echo "Mengaktifkan B.A.T.M.A.N" echo "Menonaktifkan network manager" $NETWORKMANAGER stop sleep 5 echo "Menonaktifkan sementara wireless interface" ifconfig $IFACE down echo "Set maksimal transfer unit dari nilai standar 1500 ke 1528" ifconfig $IFACE mtu 1528 echo "Menonaktifkan enkripsi wireless interface" iwconfig $IFACE enc off echo "Mengaktifkan mode jaringan ad-hoc"
iwconfig $IFACE mode ad-hoc essid $ESSID ap $CELLID channel $CHANNEL
echo "Memuat modul B.A.T.M.A.N kedalam kernel" modprobe batman-adv echo "Menambahkan interface virtual" batctl if add $IFACE echo "Mengaktifkan kembali wireless interface" ifconfig $IFACE up echo "Mengaktifkan interface virutal bat0" echo "Konfigurasi intercae virtual dengan IP Adress=$IPADD dan netmask=$NETMASK" ifconfig bat0 $IPADD netmask $NETMASK up echo "Set originator interval ke 1000 ms" batctl it 1000 echo "ESSID $ESSID pada inteface $IFACE selesai" echo "B.A.T.M.A.N siap digunakan!" fi if [ "$1" = "babel" ]; then echo "Mengaktifkan Babel" echo "Menonaktifkan network manager" $NETWORKMANAGER stop sleep 5 echo "Menonaktifkan sementara wireless interface" ifconfig $IFACE down echo "Set mode jaringan ad-hoc"iwconfig $IFACE mode ad-hoc essid $ESSID ap $CELLID channel $CHANNEL
echo "Mengaktifkan kembali wireless interface" ifconfig $IFACE up $IPADD netmask $NETMASK sleep 5 echo "Menjalankan Babel" babeld -d1 -w $IFACE fi if [ "$1" = "stop" ]; then echo "Menonaktifkan MANET" echo "Mengaktifkan network-manager" $NETWORKMANAGER restart echo "Menghapus interface virtual" batctl if del $IFACE sleep 5 echo "Menghapus proses babel" rm /var/run/babeld.pid echo "Menghapus IP Address" ip addr del $IPADD/24 dev $IFACE echo "Stop MANET selesai" fi4.2. Analisis Data
Berikut ini adalah data yang berhasil didapatkan dari beberapa skenario dan model yang sudah penulis lakukan.
4.2.1. Verifikasi Topologi
Setelah dilakukan implementasi dari protokol routing B.A.T.M.A.N-adv dan Babel, didapatkan visualisasi topologi yang berhasil di-generate oleh tools pendukungn masing-masing protokol routing. Berikut ini adalah gambar 4.1 dan 4.2 yang merupakan hasil visualisasi protokol routing B.A.T.M.A.N-adv yang dihasilkan pada penelitian ini.
Gambar 4.1 Visualisasi Topologi Full Connected B.A.T.M.A.N-advPada gambar 4.1 diatas diperlihatkan bahwa node dengan MAC Address 00:21:5d:f3:36:40 adalah node yang bertindak sebagai server VoIP sedangkan node-
node lainnya adalah node yang bertindak sebagai klien. Untuk MAC Address yang
ada di belakang setiap node adalah interface virtual yang dihasilkan oleh batctl.Contohnya interface virtual dari node server adalah 5e:6f:f6:78:2e:cb.
Gambar 4.2 Visualisasi Topologi Partial Connected B.A.T.M.A.N-advPada gambar 4.2 diperlihatkan perbedaan yang terjadi pada MAC Address
interface virtual yang dihasilkan oleh batctl pada setiap node untuk setiap aktifasi.
Contohnya untuk node server yang memiliki MAC Address interface fisik yaitu 00:21:5d:f3:36:40. Pada skenario full connected, MAC Address interface virtual yang dihasilkan adalah 5e:6f:f6:78:2e:cb, sedangkan pada aktifasi berikutnya yang terjadi pada partial connected MAC Address interface virtual yang dihasilkan adalah 6a:9f:55:40:6b:ba, begitu juga untuk node klien lainnya.Sedangkan hasil visualisasi protokol routing Babel yang dihasilkan pada penelitian ini dapat dilihat pada gambar 4.3 dan 4.4 berikut ini.
Gambar 4.3 Visualisasi Topologi Full Connected BabelGambar 4.4 Visualisasi Topologi Partial Connected BabelHasil visualisasi pada gambar 4.3 dan 4.4 untuk routing protocol Babel di atas diambil pada node server. Jadi, untuk node yang berwarna merah muda dengan legend
Me adalah node server, sedangkan node dengan legend Neighbours adalah node-node
klien yang terhubung langsung dengan node server, dan node dengan legend Others adalah node klien yang tidak terhubung langsung dengan node server.
Dari gambar 4.1, 4.2, 4.3, dan 4.4 memperlihatkan bahwa semuda node yang terpasang protokol routing B.A.T.M.A.N-adv dan Babel sudah bisa berkomunikasi dengan node lainnya dengan skenario yang diinginkan. Pada gambar 4.1 terlihat bahwa skenario full connected sudah terjadi menggunakan protokol routing B.A.T.M.A.N-adv, dimana satu node sudah terhubung ke semua node lainnya secara langsung, begitu juga dengan gambar 4.3 yang menggunakan protokol routing Babel.
Sedangkan pada gambar 4.2 diperlihatkan bahwa skenario partial connected juga sudah terjadi yang dihasilkan oleh protokol routing B.A.T.M.A.N-adv, dimana tidak semua node terhubung secara langsung ke semua node lainnya, namun harus melalui node tertentu yang dianggap sebagai tetangga dengan kualitas link terbaik. Hal yang sama juga terjadi pada skenario partial connected yang menggunakan protokol routing Babel yang diperlihatkan pada gambar 4.4.
Waktu yang dibutuhkan oleh masing-masing protokol routing untuk mencapai status konvergen tidak sama, dimana Babel memakan waktu yang lebih lama dari B.A.T.M.A.N-adv. Hal ini penulis amati dari masing-masing skenario yang penulis lakukan. B.A.T.M.A.N-adv dapat mencapai status konvergensi kurang dari 1 menit untuk 10 node, sedangkan Babel lebih dari 1 menit.
Untuk protokol routing Babel dengan skenario full connected, jika sudah mencapai status konvergen, maka hasil visualisasi topologi tidak akan lagi terlihat garis putus-putus. Hal ini menandakan bahwa rute terbaik menuju sebuah node sudah ditetapkan. Visualisasi topologi untuk skenario full connected yang sudah mencapai status konvergen bisa dilihat pada gambar 4.5 berikut ini.