BAB 2 LANDASAN TEORI Pada bagian ini akan dijelaskan berbagai teori mengenai jaringan komputer, khususnya Mobile Ad Hoc Network beserta dengan NS-3 sebagai perangkat network simulator yang digunakan pada penelitian ini. Pembahasan pada landasan teori ini akan dimulai dari tinjauan singkat mengenai bagian-bagian penting dari sistem jaringan komputer yang merupakan dasar dari teknologi Mobile Ad Hoc Network. Pustaka yang dipilih disesuaikan berdasarkan keterkaitan isi dari pustaka tersebut dengan ruang lingkup topik yang dibahas secara lengkap dan menyeluruh, sehingga dapat mendukung pemecahan masalah yang diteliti dalam penelitian ini. 2.1 Protokol Jaringan Sebuah protokol menjelaskan format dan urutan dari pertukaran pesan-pesan antara dua atau lebih entitas komunikasi dan juga perlakuan apa yang harus diambil pada saat transmisi dan atau saat penerimaan pesan (James F. Kurose, 2000). Protokol jaringan terbagi atas 3, yaitu model OSI (Open Systems Interconnection), model TCP/IP, dan model ATM (Asynchronous Transfer Mode) (C. Siva Ram, 2004). 2.1.1 OSI Model Model ini pertama kali dikemukakan oleh badan standarisasi dunia (International Organization for Standarization) atau biasa disebut dengan ISO, dan telah menjadi protokol standar yang digunakan pada berbagai lapisan jaringan. Model ini bernama Open Systems Interconnection (OSI) dan sesuai dengan namanya, protokol ini bertujuan untuk mengatur mekanisme komunikasi antara sistem (mesin) dalam jaringan komunikasi yang terbuka untuk berkomunikasi dengan sistem lainnya. OSI terbagi atas 7 layer/lapisan, diantaranya: Gambar 2.1 Seven Layer OSI 1. Physical Layer 2. Data Link Layer 3. Network Layer 4. Transport Layer 5. Session Layer 6. Presentation Layer 7. Application Layer Setiap lapisan tersebut saling berhubungan dan memiliki tugas serta fungsi masingmasing. Berikut adalah penjelasan singkat mengenai ketujuh layer tersebut. 1. Physical Layer Lapisan ini bertanggung jawab dalam proses transmisi setiap bit melalui perantara fisikal. Lapisan ini berhubungan dengan mechanical dan electrical specifications dari perangkat keras jaringan yang dipakai dengan media physical transmission yang digunakan untuk transmisinya. Mechanical specifications biasanya berhubungan dengan kabel, connectors, dan segala macam yang berkaitan dengan hubungan antar jaringan. Sedangkan untuk electrical specifications, berhubungan dengan tingkat tegangan yang biasa digunakan untuk merepresentasikan informasi digital (binary 1 dan 0) dan durasi dari setiap bit. 2. Data Link Layer Lapisan ini berfungsi untuk memastikan transmisi data yang dilakukan bebas dari kesalahan. Selain itu, lapisan ini juga bertugas untuk menerima data dari lapisan diatasnya, membagi datanya menjadi beberapa paket / frame, yang kemudian paket-paket / frame-frame tersebut ditransmisikan. Pada lapisan ini juga terdapat mekanisme pendeteksian dan mentransmisi ulang paket yang rusak atau hilang. 3. Network Layer Layer ini bertanggung jawab dalam routing paket data dari node sumber ke node tujuan. Selain itu, network layer juga bertanggung jawab dalam pengalamatan node. Congestion control juga menjadi tanggung jawab network layer. 4. Transport Layer Transport Layer memiliki beberapa fungsi penting seperti, segmentasi dan penyusunan kembali pesan, perbaikan kesalahan yang terjadi, pemantauan Quality of Service (QoS), dan end to end flow control. 5. Session Layer Sebuah session bisa didefinisikan sebagai koneksi antar 2 presentation layer (yang akan dijelaskan setelah Session Layer). Tugas dari Session Layer adalah pembangunan dan pelepasan dari sebuah sesi dalam suatu koneksi, interaction manager (yang menentukan apakah sesi tersebut two-way simultaneous, two-way alternate, atau one-way interaction) dan sinkronisasi antar sesi. 6. Presentation Layer Lapisan ini berhubungan dengan sintaks dan semantik dari pertukaran informasi antar dua sistem. Presentation layer memastikan pertukaran pesan antar dua proses yang ada pada komputer yang berbeda dimana representasi data yang digunakan berbeda, memiliki arti secara umum yang sama. 7. Application Layer Application Layer berperan sebagai interface kepada proses suatu aplikasi yang membutuhkan bantuan komunikasi. Lapisan ini mengacu pada pelayanan komunikasi pada suatu aplikasi. 2.1.2 TCP / IP (Transmission Control Protocol – Internet Protocol) Model Model ini yang biasa digunakan pada internet sekarang ini. Model ini awalnya dirancang oleh ARPANET sebelum menjadi model standar yang digunakan secara luas. TCP/IP hanya memiliki 4 layer yang diantaranya adalah host-to-network layer, internet/network layer, transport layer dan application layer dan berikut adalah penejelasan singkatnya. Host-to-network Layer Lapisan ini bersifat mirip seperti physical layer pada OSI. Host harus terhubung pada jaringan menggunakan beberapa protokol yang bertujuan untuk mentransmit paket yang dikirim. Internet Layer Fungsi utama dari lapisan ini adalah routing dan congestion control. Internet layer mendefinisikan sebuah protocol yang biasa disebut IP atau Internet Protocol. Paket yang dikirim oleh Internet Layer kepada lapisan dibawahnya harus mengikuti format IP ini. Transport Layer Transport layer pada TCP/IP juga memiliki cara kerja yang mirip dengan Transport Layer pada model OSI. Namun, faktanya adalah desain dari model transport layer OSI dipengaruhi oleh operasi dan performa dari TCP. Pada layer ini juga, protokol komunikasi Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) ditetapkan. TCP bersifat connection oriented. Pada TCP, dibutuhkan pembangunan koneksi untuk pertama kalinya sebelum transfer data yang sebenarnya dapat dilakukan. Setelah koneksi terjalin, barulah kemudian pengiriman paket dapat dilakukan melalui jalur yang sudah ditentukan. Paket yang dipecah pada saat sebelum proses pengiriman akan dikirimkan secara terurut dan akan disatukan kembali sesuai dengan urutan diterimanya paket tersebut. Pada TCP juga terdapat flow control yang dapat mengatur arus transmisi data, sehingga resiko kehilangan data dan jaringan overloaded lebih kecil. UDP merupakan protokol transport layer yang sederhana dan tidak menjamin keandalan dalam pengiriman paket. Protokol ini mendukung multicast dan broadcast. UDP mengutamakan waktu pengiriman data daripada keutuhan data. Protokol UDP bersifat connectionless. Komunikasi dicapai dengan mengirimkan informasi satu arah, dari sumber ke tujuan tanpa memeriksa terlebih dahulu keberadaan tujuan dan kesiapan koneksi dalam menerima data. UDP menggunakan metode Cyclic Redundancy Check (CRC) untuk memeriksa integritas paket. Saat error pada paket terdeteksi, paket dinyatakan hilang dan dibuang. Protokol ini didefiniskan untuk komunikasi packet-switched pada jaringan komputer yang saling terhubung (RFC 768). UDP tidak menyediakan mekanisme congestion control untuk mengatasi jaringan yang padat. UDP cocok digunakan untuk aplikasi seperti Voice Over-IP, online games, internet radio dimana keutuhan paket tidak menjadi prioritas utama. Gambar 2.1 Profil UDP Source port address mengindikasikan port yang mengirim proses pengiriman datagram. Destination port adress mengindikasikan port yang menerima datagram. Length berisi ukuran datagram dalam bytes yang juga termasuk header di dalamnya. Checksum merupakan bagian optional 16-bit 1's komplemen dari jumlah header pseudo-IP, header UDP, data UDP dimana header pseudo-IP berisi alamat IP sumber dan alamat IP tujuan, protokol dan ukuran UDP. Application Layer Bersifat sama seperti Application Layer pada model OSI. Pada Layer ini berisi level protocol yang lebih tinggi seperti File Transfer Protocol (FTP) yang digunakan untuk pengiriman file antar komputer, Virtual Terminal (TELNET) yang dapat menyediakan fasilitas remote login, Simple Mail Transfer Protocol (SMTP) yang biasa digunakan untuk pengiriman e-mail dan HyperText Transfer Protocol (HTTP) untuk mentransfer halaman web melalui internet. 2.1.3 ATM Model Asynchronous Transfer Mode (ATM) model pertama kali dikembangkan oleh Broadband-Integrated Service Digital Network (B-ISDN). Model ATM ini cukup berbeda dengan model OSI ataupun TCP/IP. Pada model ini, semua informasi ditransmisikan kedalam bentuk paket – paket kecil berukuran tetap yang disebut dengan cells. Ukuran dari cells tersebut adalah 53 byte, dimana 5 byte sebagai header diikuti oleh 48 byte yang dapat diisi. ATM menggunakan teknologi yang disebut cell switching. Cell switching mirip dengan packet switching, yang dimana membagi data kedalam beberapa cell yang berukuran sama, lalu ditransmisikan melalui channel tertentu yang biasa disebut sebagai virtual channel dan saling berbagi dengan node – node lainnya. Perbedaan antara packet switching dengan cell switching adalah ukuran cell pada cell switching sifatnya tetap, pada packet switching tidak. ATM juga dapat berjalan pada physical layer apapun dan biasanya ATM berjalan pada fiber optic menggunakan standar SONET pada kecepatan 155,52 Mbps, 622 Mbps dan lebih tinggi lagi (James F. Kurose et al., 2000). 2.2 Wireless Network Wireless Network atau Jaringan Nirkabel adalah jaringan komputer yang menggunakan frekuensi radio sebagai perantara komunikasinya. Sistem komunikasi radio nirkabel pertama kali ditemukan oleh Guglielmo Marconi pada tahun 1897. Pada tahun 1901, beliau sukses mendemonstrasikan sistem telegraph nirkabelnya dengan mentransmisikan sinyal radio menyeberangi Samudra Atlantik dari Inggris ke Amerika, menjangkau lebih dari 1.700 mil (C. Siva Ram, 2004). Mobile Wireless Network terbagi menjadi dua tipe jaringan yang dibedakan berdasarkan infrastruktur yang menunjang terbentuknya jaringan tersebut. Jaringan mobile yang memiliki infrastruktur lengkap, misalnya memiliki access point, gateway dan routing support disebut sebagai Mobile IP dan jaringan mobile yang tidak memiliki infrastruktur dinamakan Ad Hoc Network (A. Ali, 2004). 2.3 Mobile Ad Hoc Network Mobile Ad Hoc Network (MANET) adalah jaringan wireless yang tidak mempunyai sebuah infrastruktur yang tetap atau administrasi yang terpusat. Node-node pada jaringan ini bergerak secara acak dan berubah – ubah sehingga topologi jaringan ini dapat berubah dengan cepat dan tidak dapat diperkirakan (Basagni, 2004). Secara umum, rute diantara node di dalam jaringan ad hoc termasuk jaringan wireless multi hop. Gambar dibawah ini menunjukkan sebuah contoh jaringan mobile ad hoc. Seperti yang ditunjukkan pada gambar, sebuah jaringan mobile ad hoc terdiri dari beberapa peralatan home-computing, seperti notebook dan yang lainnya. Setiap node mampu berkomunikasi secara langsung dengan node yang lainnya yang terletak pada jarak transmisi. Untuk berkomunikasi dengan node yang berada di luar jarak tersebut, node membutuhkan node perantara untuk menyampaikan message dari hop ke hop. Gambar 2.2 Mobile Ad-Hoc Network (Basagni) Karakteristik yang spesifik pada jaringan mobile ad hoc wireless network (Basagni, 2004:13) : Wireless / Nirkabel. Node-node berkomunikasi secara wireless dan dapat berbagi pada media yang sama (radio, infrared, dll.). Ad-hoc-based. Mobile ad hoc network adalah jaringan sementara yang dibangun secara dinamis dengan cara yang berubah-ubah oleh sekumpulan node. Mandiri dan tanpa infrastruktur. MANET tidak bergantung pada infrastruktur yang tetap atau administrasi yang terpusat. Setiap node berjalan dengan cara peer-to-peer terdistribusi, bertindak sebagai router, dan menghasilkan data sendiri Multihop routing. Setiap node bertindak sebagai router dan menyampaikan paket yang lainnya sehingga memungkinkan penyebaran informasi diantara mobile host. Mobility / Pergerakan. Setiap node bebas untuk bergerak dalam berkomunikasi dengan node yang lain. Topology dari ad-hoc network bersifat dinamis karena pergerakan nodenya yang tergantung oleh situasi tertentu sehingga hubungan antar nodenya terus berubah secara berkala 2.3.1 Protokol Routing Routing adalah sebuah aksi memindahkan informasi dari node sumber ke node tujuan melalui sebuah jaringan. Selama proses ini, minimal harus ada sebuah node penengah antara node sumber dan node tujuan. Konsep routing pada dasarnya melibatkan 2 aktifitas: Pertama, menentukan jalur routing yang paling optimal dan yang kedua, pengiriman sekumpulan informasi (biasa disebut paket) melalui suatu jaringan. Menurut C. Siva Ram (2004), tanggung jawab sebuah routing protocol adalah melakukan pertukaran informasi rute; menemukan jalur yang mungkin untuk sampai ke node tujuan dengan memperhatikan panjang lompatan, energi yang dibutuhkan seminimal mungkin, dan lama jangka hidup dari hubungan nirkabel tersebut; mengumpulkan informasi tentang jalur yang putus; memperbaiki jalur yang rusak; dan memanfaatkan bandwidth yang minimum. Adapun masalah-masalah yang dihadapi protokol routing yaitu: Pergerakan Salah satu faktor penting dari ad hoc wireless network adalah pergerakan atau mobilitas node – nodenya. Mobilitas node – node tersebut juga yang menyebabkan terjadinya jalur yang putus, paket data yang bertabrakan, terlewatinya sebuah node, routing information yang sudah tidak cocok, dan kesulitan dalam penggunan sumber daya. Batasan bandwidth Oleh karena channel yang digunakan terbagi ke semua node yang masih dalam daya jangkau, bandwidth untuk setiap wireless linknya tergantung dari jumlah node dan traffic yang ditangani. Potensi Error dan channel yang terbagi Bit Error Rate (BER) pada wireless channel sangatlah tinggi jika dibandingankan dengan jaringan yang menggunakan kabel. Pertimbangan akan keadaan dari wireless link, rasio signal-to-noise, dan jalur yang berpotensi hilang pada ad hoc wireless network dapat meningkatkan efisiensi dari sebuah routing protocol. Ketergantungan terhadap lokasi Sebuah lokasi menentukan kebutuhan sebuah channel dalam menggunakan sumber daya yang ada. Perebutan penggunaan sumber daya yang tinggi pada suatu channel dapat menghasilkan tingkat tabrakan paket yang tinggi dan pembuangan bandwidth secara sia-sia. Sebuah routing protocol yang bagus diharapkan didalamnya dapat memiliki mekanisme untuk mendistribusikan isi dari channel tersebut secara merata, sehingga perebutan sumber daya tersebut dapat dihindari. Batasan dari sumber lain Ada juga batasan – batasan dari sumber lain seperti computing power, kekuatan batere, dan kapasitas buffer yang juga membatasi kemampuan sebuah routing protocol. Gambar 2.3 Hirarki Protokol Routing Ad-Hoc Dalam ad hoc routing protocols, ada 3 bagian utama bedasarkan topologinya yaitu: 1. Flat Routing Protokol yang tergolong dalam kategori flat routing menggunakan skema pengalamatan yang sama dengan yang digunakan oleh IEEE 802.3 LAN. Semua node yang terhubung memiliki alamat yang berbeda antara satu dengan yang lainnya (C. Siva Ram, 2004). Namun, protokol routing yang tergolong dalam kategori ini memiliki kekurangan dari segi daya cakup jumlah node-nya yang rendah dibandingkan dengan hierarchical ataupun position-based routing, karena setiap node harus memelihara setiap routing table dari node lainnya (Basagni, 2004). Dalam flat routing pun terbagi kembali atas 3 bagian, berdasarkan cara pembaharuan informasinya, yaitu Proactive, Reactive, dan Hybrid. Proactive Protokol routing ini disebut juga “table-driven routing protocol”. Pada protokol ini, node secara terus menerus melakukan pembaharuan rute untuk node-node sekitarnya yang bisa dicapai dan berusaha untuk tetap melakukan pembaharuan secara konsisten. Pada routing protokol yang tergolong proactive ini, setiap node-nya memiliki informasi yang konsisten terhadap topologi jaringan yang sedang berjalan saat itu. Nodenode yang ada pada jaringan tersebut terus membaharui informasi rute yang mungkin tanpa memperhatikan ada tidaknya data traffic saat itu. Oleh karena proses pembaharuan ini dilakukan tanpa henti selama jaringan tersebut masih ada, overhead yang terjadi di dalam jaringan tersebut tergolong tinggi (Subir Kumar, 2008). Berikut adalah contohcontoh protokol routing yang tergolong proactive: DSDV (Destination-sequenced Distance Vector) Destination-sequenced Distance Vector (DSDV) merupakan protokol routing yang menggunakan algoritma Distance-Vector dan algoritma shortest path Bellman-Ford. Mekanisme DSDV dalam menemukan rute di dalam mobile ad hoc network (MANET) berbeda. Routing table yang digunakan protokol ini menyimpan hop (loncatan) selanjutnya dari node awal, cost dari node awal ke node tujuan, serta destination sequence number yang berasal dari node tujuan. (Subir Kumar Sarkar, 2008) Pada dasarnya algoritma Distance-Vector tidak bebas pengulangan (loop free), oleh karena itu destination sequence number digunakan supaya tidak terjadi looping dalam proses routing. Destination sequence number juga berguna untuk menjaga informasi routing table supaya menjadi informasi yang memperbaharui rute lama menjadi rute yang baru. terbaru dengan Gambar 2.4 Node B melakukan broadcast Setiap node mencatat destination (tujuan) yang mungkin tercapai, next node yang mengarah ke destination, cost (metric), dan sequence number. Setiap node saling bertukar informasi secara rutin dengan melakukan broadcast ke node tetangga (neighbor node). Pembaruan routing table juga bisa terjadi apabila ada event tertentu, seperti rute putus atau pergerakkan node yang menyebabkan perubahan topologi jaringan dan perubahan informasi pada tabel. Node B melakukan increment terhadap sequence number menjadi 102 dan melakukan broadcast informasi routing table baru ke node-node tetangganya (A dan B). Broadcast ini akan terus dilakukan selama masih ada node pada jaringan yang terhubung sehingga routing table senantiasa baru. Gambar 2.5 Node D mengirim paket ke node A melalui 2 jalur dengan hop berbeda Node D merupakan source node, sedangkan node A merupakan destination node. Karena adanya routing table, maka D dapat dengan mudah mengidentifikasi rute dengan cost atau hops (loncatan) terpendek yaitu melalui Q. Node D melakukan broadcast dengan sequence number D-102 melalui P dan Q. Informasi sampai ke P dan Q dengan sequence number 102 dengan jumlah hop 14 di Q dan 15 di P. Routing table yang dipilih adalah routing table dengan sequence number terbesar dan jumlah hop terkecil. Oleh karena sequence number di P dan Q sama-sama 102, maka informasi yang akan diteruskan ke node A adalah informasi routing table dari node Q dengan jumlah hop 14. Pembaharuan rute pada protokol routing DSDV bersifat timedriven (periodik) ataupun event-driven (digerakkan oleh fenomena tertentu). Setiap node bertukar informasi dengan node-node tetangganya secara periodik untuk memperoleh informasi routing table yang terbaru. Saat terjadi perubahan signifikan tertentu dari update terakhir, suatu node dapat mengirim informasi dari routing table yang telah berubah dengan digerakkan oleh trigger / event tertentu. DSDV memiliki dua cara saat memperbaharui routing table. Pertama adalah full-dump yang memperbarui seluruh isi routing table. Incremental update, merupakan cara lain yang hanya memuat informasi yang berubah sejak pembaharuan terakhir (Sushil Kumar, 2011). Incremental update dapat dikirim dengan satu NDPU (Network Data Packet Unit) sedangkan full-dump dikirim dengan menggunakan beberapa NDPU. DSDV merupakan protokol routing yang efisien. Dengan adanya sequence number, DSDV bebas dari pengulangan (loop free). Delay (keterlambatan) untuk penemuan rute baru juga relatif rendah karena saat dibutuhkan destination yang baru, source node telah menyimpan rute dari source ke destination di dalam routing table yang diperbarui secara rutin. Sebagai protokol proaktif, DSDV perlu memperbaharui routing table-nya secara rutin sehingga mengkonsumsi banyak energi baterai dan bandwith meskipun jaringan tersebut sedang dalam kondisi idle. Akibatnya protokol ini kurang cocok untuk jaringan dengan jumlah node yang sangat besar. Saat topologi jaringan berubah, sequence number baru dibutuhkan. DSDV tidak stabil hingga perubahan routing table tersebar di seluruh node pada jaringan. Karena alasan ini DSDV tidak tepat digunakan pada jaringan dengan mobilitas tinggi (Marc Esquius Morote, 2010). DSDV efektif untuk jaringan ad-hoc dengan populasi rendah karena perubahan topologi juga relatif rendah. Jaringan dengan populasi tinggi namun frekuensi perubahan topologi yang rendah juga baik untuk protokol DSDV. Hal ini disebabkan karena tidak dibutuhkan pencarian rute baru pada saat pengiriman data akan dilakukan sehingga delay menjadi rendah. OLSR (Optimized Link State Routing Protocol) OLSR merupakan protokol routing proaktif, yang dapat dengan segera menyediakan routing ke semua network tujuan yang ada. Protokol ini merupakan pengembangan dari algoritma link-state klasik untuk memenuhi persyaratan dari jaringan nirkabel dinamis seperti MANET (Clausen & jacquet, 2003). OLSR merupakan protokol routing yang menggunakan algoritma link-state klasik dan algoritma djikstra untuk mencari shortest path. Optimalisasi ini berdasarkan pada konsep multipoint relays (MPR). Setiap node menyeleksi node-node tetangganya sebagai multipoint relay (MPR). Pada OLSR, hanya node yang berperan sebagai MPR yang bertanggung jawab untuk melanjutkan control traffic (paket kontrol), yang dimaksud untuk penyebaran ke seluruh jaringan. Multipoint relays (MPRs) menyediakan mekanisme untuk mem-flood control traffic dengan mengurangi jumlah transmisi yang dibutuhkan (Kirti Annirudha Adoni & Radhika D. Joshi, 2012). Pertama dengan menggunakan multipoint relay dapat mengurangi ukuran dari control message. Daripada menyatakan semua link, node menyatakan hanya sekumpulan links dengan node tetangganya sebagai “multipoint relay”. Penggunaan MPR juga meminimalisasi flooding dari control traffic. Teknik ini secara signifikan mengurangi jumlah retransmisi dari broadcast control message. Sistem link state mempunyai cara yang lebih efisien dibanding dengan system distance vector. Router dengan tipe ini akan mengirimkan routing table melalui multicast (tidak melalui paket broadcast) setiap lima menit. Jika ada proses pembaharuan, maka hanya pembaharuan itu yang akan dikirimkan. Koleksi jalur terbaik kemudian akan membentuk tabel routing node. OLSR menyediakan dua fungsi utama yaitu neighbor discovery dan topology dissemination. Neighbor discovery adalah proses penambahan node baru dialam suatu jaringan sedangkan topology dissemination adalah proses penyebaran informasi routing table yang berasal dari perubahan topologi. Gambar 2.6 Proses packet flooding pada OLSR Sebuah node OLSR yang sedang beroperasi akan secara periodik menyebarkan paket “hello” sehingga tetangga dapat mendeteksi keberadaan node tersebut. Setiap node menghitung berapa jumlah paket “hello” yang hilang atau diterima dari tetangga sehingga mendapatkan informasi tentang topologi dan kualitas sambungan node lingkungan. Informasi topologi yang diterima di broadcast sebagai pesan topology control (TC) dan diteruskan oleh tetangga yang dipilih sebagai multipoint-relay (MPR) (Flickenger,2007). Pada gambar 1 melalui MPR, hanya node yang dipilih saja yang bertugas untuk membanjiri jaringan dengan mengirimkan broadcast-messages ke seluruh jaringan. OLSR tepat digunakan untuk jaringan yang besar dan padat karena penggunaan MPRs. Semakin besar dan padat suatu jaringan, maka optimasi akan semakin berpengaruh dibanding dengan protokol link-state klasik. OLSR menggunakan proses pencarian rute hop-by-hop dimana setiap node menggunakan informasi routing table lokalnya untuk mengirim paket. OLSR lebih efisien apabila bekerja dalam jaringan padat dengan traffic yang rendah. OLSR membutuhkan bandwith yang konstan untuk memperoleh topology update message (Aleksandr Huhtonen, 2004). WRP (Wireless Routing Protocol) WRP merupakan unicast routing protocol yang bersifat proaktif. WRP menggunakan pengembangan algoritma routing Bellman-Ford Distance-Vector (Subir Kumar Sarkar et al, 2008). Untuk mengatasi masalah count-to-infinite dan mempercepat proses konvergensi, WRP menggunakan sebuah metode unik yaitu dengan menjaga informasi mengenai shortest distance ke semua node tujuan yang ada pada jaringan dan satu node setelahnya yang mengarah ke node tujuan (predecessor node). WRP menjaga rute supaya senantiasa baru, setiap node telah memiliki informasi di dalam routing table mengenai rute ke tiap tujuan. Perbedaannya dengan DSDV adalah DSDV hanya menggunakan satu topology table, sedangkan WRP menggunakan satu set tabel agar informasi menjadi lebih akurat. Tabel yang ada pada tiap node adalah distance table (DT), routing table (RT), link cost table (LCT), dan message retransmission list (MRL). DT adalah sebuah matriks dimana setiap node menyimpan data mengenai jarak ke tujuan dan informasi mengenai predecessor node pada setiap rute yang ada untuk setiap destination. RT berisi tentang sekumpulan informasi terbaru mengenai sekumpulan tujuan node yang bisa dicapai oleh suatu source node, jarak terpendek yang bisa dicapai dari source node ke destination node, predecessor node dan successor node (satu node sebelum destination node), dan sebuah pointer atau flag yang mengindikasikan status dari rute (bisa berupa loop atau correct). LCT berisi cost atau hop (jumlah loncatan dari source node ke destination node). Cost untuk rute yang terputus adalah infinite (∞). LCT juga berisi number of update periods (interval dari 2 periodic update yang berhasil) dimana interval yang sangat tinggi atau ∞ mengindikasikan rute yang terputus. MRL berisi entri dari setiap update message yang akan dikirim ulang dan menjaga counter dari setiap entri. Counter ini di-decrement setelah setiap update message dikirim ulang (retransmitted). Sebuah node juga menandai setiap node dalam routing table yang harus menerima acknowledgement dari update message yang dikirim oleh node penanda tersebut. Setelah counter mencapai nol, entri pada update message yang tidak menerima ack harus dikirim ulang dan update message dihapus. Dengan demikian, node mendeteksi adanya jalur yang putus dengan menetahui update period yang hilang sejak transmisi sukses terakhir. Setelah memperoleh update message, sebuah node tidak hanya mengupdate jarak dari tetangga yang baru saja ditransmit tetapi juga memeriksa jarak dari tetangga yang lain, maka dari itu konvergensi WRP menjadi lebih cepat dari DSDV. WRP memiliki keunggulan yang sama dengan DSDV tetapi WRP memiliki konvergensi yang lebih cepat dan memerlukan table update yang lebih sedikit. Tetapi kompleksitas maintenance dari beberapa tabel membutuhkan memory dan energi pemrosesan yang lebih besar. Dalam keadaan mobilitas yang tinggi, control overhead yang menyangkut pembaruan table entries hampir sama dengan DSDV dan menyebabkan WRP tidak tepat untuk jaringan yang sangat dinamis dan populasi yang besar. (Shiva Ram, 2004) STAR (Source-tree adaptive routing protocol) Source-tree adaptive routing protocol (STAR) diciptakan oleh Garcia-Luna-Aceves dan Spohn. Protokol ini merupakan variasi dari table-driven routing protocol dengan metode least overhead routing approach (LORA) sebagai kunci dari konsep, berbeda dengan optimum routing approach (ORA) yang digunakan untuk table-driven routing protocol terdahulu. Protokol ORA mencoba untuk memperbarui informasi routing yang cepat untuk memperoleh jalur yang optimum, dalam hal ini adalah jalur dengan loncatan terkecil. LORA mencoba untuk menyediakan jalur yang memungkinkan namun tidak selalu optimal sehingga menciptakan control overhead yang lebih kecil. Pada protokol STAR, setiap mem-broadcast informasi source tree-nya. Source tree mengandung wireless link yang digunakan oleh node tersebut untuk mencapai node tujuan. Setiap node menggunakan jalur terdekatnya dan source tree broadcast dari node tetangganya untuk membangun sebuah partial graph dari topologi jaringan tersebut. Saat inisialisasi, sebuah node mengirim sebuah pesan pembaharuan ke node tetangganya. Setiap node juga harus mengembalikan pesan pembaharuan tentang tujuan yang baru, kemungkinan perulangan dalam routing, dan cost dari jalur yang melebihi batas tertentu. Dengan demikian, setiap node dapat memiliki jalur ke setiap node tujuan. Dalam banyak hal jalur tersebut bersifat suboptimal. Karena mekanisme link layer broadcast-nya yang kurang dapat diandalkan, STAR menggunakan pendekatan khusus dalam teknik path finding-nya. Saat node S ingin mengirim paket data ke node tujuan D, dengan tidak ada jalur yang tersedia dalam source-tree, node S mengembalikan pesan pembaharuan ke seluruh neighbor node yang menyatakan bahwa node S tidak memiliki rute ke node D. Update message tersebut kemudian menggerakkan pesan pembaharuan lain dari neighbor node S yang memiliki rute ke node D. Node S mentransmisikan pesan pembaharuan selama node S tidak memiliki rute ke D dengan meningkatkan interval berdasarkan pengiriman ulang (retransmissions) yang sukses. Setelah node S memperoleh source-tree update dari node tetangganya, node S memperbaharui source-treenya dan dengan menggunakan source-tree barunya, node S menemukan jalur ke seluruh node dalam jaringan. Paket data yang berisi informasi mengenai jalur tersebut akan disebar dengan tujuan mencegah kemungkinan pembentukan perulangan routing. STAR menggunakan perbaikan rute yang implisit. Jalur dengan pesan pembaharuan tentang ketidaktersediaan sebuah next-hop node akan menggerakkan pesan pembaharuan dari neighbor node yang memiliki source tree alternatif dan next-hop node alternatif ke tujuan. Intermediate node juga bertanggung jawab untuk mengatasi routing loops dalam hal rute yang terputus. Saat intermediate node K menerima paket data ke destination D, dan apabila terdapat sebuah node yang ada pada jalur lewat paket antara node K dan node D, maka node tersebut membuang paket tersebut dan sebuah Route Repair update message dikirim ke node kepala (head node) yang berada di awal jalur route repair. Jalur route repair berhubungan dengan jalur K ke X, dimana X adalah router terakhir yang ada pada jalur lewat paket yang ditemukan diantara jalur node K ke D, milik node sumber K. Paket Route Repair berisi source tree lengkap dari node K dan jalur lewat paket. Saat sebuah node menerima Route Repair update message, node tersebut memindahkan dirinya dari jalur route repair dan secara handal mengirim Route Repair update message tersebut ke head node dari jalur route repair. STAR memiliki overhead komunikasi yang kecil. Penggunaan metode LORA pada table-driven routing protocol mengurangi control overhead dibanding protokol routing lain. Protokol ini cocok untuk jaringan berskala besar namun membutuhkan memori dan tenaga pemrosesan yang besar untuk memelihara tree yang besar (S.Sujatha & P.Soundeswari, 2012). Reactive Protokol yang tergolong dalam kategori ini tidak memelihara topologi jaringannya. Pada saat suatu node ingin melakukan transaksi dengan node lain, biasa disebut dengan destination node atau node tujuan, proses pembuatan koneksi dan penentuan rute menuju node tujuan dari node sumber baru akan dilakukan. Protokol ini tidak melakukan pergantian informasi tentang informasi routing-nya secara berkala, karena hanya akan menentukan rute dari node sumber ke node tujuan pada saat dibutuhkan saja atau biasa diistilahkan “on-demand” (C. Siva Ram et al., 2004). Menurut Subir Kumar (2008), jika dibandingkan dengan proactive routing, reactive routing memiliki control overhead yang lebih rendah oleh karena tidak adanya proses pembaharuan routing table secara terus menerus. Selain itu, reactive routing protocol lebih unggul disisi skalabilitas atau daya cakup jumlah node. Namun, node sumber pada protokol jenis ini akan mengalami delay yang cukup besar oleh karena proses pembuatan koneksi dan penentuan rute tersebut. Berikut adalah contoh – contoh protokol routing yang tergolong reactive: AODV ( Ad-hoc On-demand Distance-Vector) Menurut C. Siva Ram (2004:320), routing protocol AODV menggunakan pendekatan on-demand dalam menentukan rutenya, yang mana rute akan dibangun hanya bila dibutuhkan saja oleh node sumber dalam mentransmisikan sebuah paket. Node sumber dan node pertengahan menyimpan informasi tentang ada tidaknya next-hop atau node selanjutnya yang berguna sebagai penentu jalur transmisi paket. Pada setiap routing protocol yang bersifat on-demand, node sumber selalu mengirimkan paket RouteRequest ke seluruh node dalam jaringan tersebut pada saat rute tersebut mencari rute menuju node yang dituju. Hal ini memungkinkan juga adanya lebih dari satu rute yang dapat menuju node tujuan dari sebuah RouteRequest. Perbedaan yang paling mencolok dari AODV dengan algoritma routing yang bersifat on-demand lainnya adalah AODV menggunakan destination sequence number (DestSeqNum) untuk menentukan ada tidaknya jalur baru yang dapat menuju node tujuan. Ada atau tidaknya node baru dapat diketahui apabila DestSeqNum dari paket yang saat ini diterima lebih besar daripada DestSeqNum terakhir yang disimpan pada node. Sebuah RouteRequest membawa source identifier (SrcID), destination identifier (DestID), source sequence number (SrcSeqNum), destination sequence number (DestSeqNum), broadcast identifier (BcastID), dan time to live (TTL). DestSeqNum mengindikasikan baru tidaknya sebuah rute yang dapat diterima oleh node sumber. Pada saat node yang ada di pertengahan menerima sebuah RouteRequest, node tersebut dapat meneruskannya atau menyiapkan sebuah Route Reply apabila ada rute baru yang valid yang dapat menuju ke node tujuan. Validitas sebuah rute pada node pertengahan ditentukan dengan membandingkan nomer urutan atau sequence number pada node pertengahan tersebut dengan destination sequence number yang terdapat didalam paket RouteRequest. Apabila sebuah RouteRequest diterima beberapa kali, yang dimana dapat diindikasikan dari BcastID-SrcIDnya, salinan lainnya akan dibuang. Semua node pertengahan dan node sumber, dapat mengirimkan paket Route Reply kepada node sumber. Setiap node yang berada ditengah, sembari meneruskan sebuah Route Request, memasukan alamat node sebelumnya dan Bcast ID-nya ke dalam paket. Dalam hal ini, sebuah timer digunakan untuk menentukan apa sebuah Route Reply dapat dihapus atau tidak. Apabila Route Reply tersebut tidak diterima oleh node sumber, maka dalam waktu tertentu yang sudah ditentukan oleh timer, Route Reply tersebut dapat dihapus. Pada saat sebuah node menerima sebuah paket Route Reply, informasi mengenai node sebelumnya dari mana paket tersebut diterima akan disimpan didalam node tersebut dan paket data tersebut diteruskan menuju ke node berikutnya sampai menemukan node tujuan yang diinginkan. Gambar 2.7 Proses pengiriman RREQ sampai RREP pada saat node tujuan sudah ditemukan dan pengiriman paket RERR (RouteError) apabila jaringan menuju node tujuan (node D) terputus (Basagni et al., 2004) AODV tidak memperbaiki sebuah jalur yang rusak secara lokal. Pada saat sebuah hubungan terputus, yang mana ditentukan dengan melihat dari periodical beacons-nya atau melalui penelusuran setiap nodenya, akan disebarkan sebuah notifikasi. Saat node sumber telah mengetahui dimana jalur node yang terputus, pembangunan jalur akan dilakukan kembali apa bila node tujuan masih memerlukan hubungan dari node sumber. Secara umum, tujuan dari algoritma AODV ini adalah (Subir Kumar et al. ,2008): 1. Menyebarkan paket pencarian rute apabila diperlukan. 2. Dapat membedakan pengaturan pendeteksian antar node dalam konektifitas lokal dan pemeliharaan umum pada topologi jaringan. 3. Dapat menyebarkan informasi mengenai adanya perubahan posisi dan atau jumlah node dalam jaringan tersebut pada saat dibutuhkan. AODV memiliki beberapa kelebihan dan kekurangan. Kelebihannya adalah rute akan dibangun sesuai dengan permintaan. Setelah rute optimal ditemukan, maka node sumber tidak perlu mencari kembali rute alternatif dan mengirimkan RouteRequest secara terus menerus, sehingga delay pengiriman paket tergolong kecil setelah rute tersebut terbangun. Kelemahan dari routing protocol ini adalah node – node yang berada diantara node sumber dan node tujuan dapat menimbulkan rute yang tidak konsisten oleh karena node sumber tidak secara terus menerus membaharui rute menuju tujuan. Selain itu, beberapa paket RouteReply yang ditujukan untuk merespon sebuah paket RouteRequest dapat menimbulkan control overhead yang berlebihan dan dimana akan memakan bandwidth yang cukup besar dan penyimpanan informasi rute yang disimpan pada intermediate node atau node yang menjadi perantara antara node sumber dengan node tujuan. Kelemahan yang lain adalah sistem periodic beaconing pada AODV juga cukup memakan bandwidth. DSR ( Dynamic Source Routing) Subir Kumar (2008) menyatakan bahwa Dynamic Source Routing atau yang biasa disingkat DSR, adalah routing protocol yang tergolong bersifat on-demand dan dirancang khusus MANET yang bersifat multihop. Dalam protokol routing DSR, tiap node yang ada dapat menemukan beberapa rute menuju node tujuan secara dinamis. Setiap paket data yang dikirim dari node sumber, terdapat informasi lengkap tentang urutan node yang harus dilalui pada header paket, dengan tujuan menghindari kemungkinan terjadinya looping rute pengiriman paket. Protokol DSR terdiri atas 2 mekanisme yang dapat bekerja secara bersamaan yaitu route discovery dan route maintenance. Route discovery adalah mekanisme yang mana node sumber ingin mengirim paket kepada node tujuan, tanpa mengetahui rute sebelumnya. Route discovery hanya dilakukan apabila diperlukan saja. Kemudian, route maintenance adalah mekanisme yang dijalankan pada saat node sumber sudah mengetahui rute menuju node tujuan dan menentukan apakah rute yang sedang dipakai saat ini masih berlaku atau tidaknya, karena apabila terjadi perubahan topologi yang mempengaruhi rute menuju node tujuan, maka rute tersebut tidak bisa dipakai kembali. Pada saat route maintenance mengindikasikan adanya rute yang rusak, maka node sumber dapat mencoba untuk menggunakan rute lain yang sudah diketahui oleh node sumber sebelumnya atau dapat melakukan route discovery kembali dari node sumber menuju node tujuan. Route maintenance dijalankan hanya pada saat node sumber mengirimkan paket ke node tujuan. Baik route maintenance maupun route discovery, keduanya dijalankan secara ondemand. DSR tidak melakukan pencarian rute secara berkala, status hubungan antar node, atau pendeteksian node tetangga melalui paket yang dikirim secara berkala. Oleh karena perilaku yang secara keseluruhan bersifat on-demand dan kurangnya aktifitas pengiriman paket yang dilakukan secara berkala, menjadikan jumlah dari paket yang overhead bisa diminimalisir hingga tidak ada sama sekali, hanya saja apabila semua node sudah stabil dan semua rute yang dibutuhkan untuk komunikasi yang sedang berlangsung sudah ditemukan. Pada saat proses route discovery berlangsung, setiap node dapat menyimpan dan mengingat rute-rute alternatif menuju ke node manapun. Hal tersebut memungkinkan perubahan rute yang cepat apabila rute yang saat itu digunakan mengalami gangguan atau kerusakan dan juga dapat menghindari routing overhead apabila dilakukan kembali route discovery yang baru setiap adanya rute yang rusak. Cara kerja dari algoritma routing ini pada awalnya node sumber akan melakukan proses route discovery dengan mengirimkan paket RouteRequest (RREQ) ke node – node tetangganya. Saat node – node tetangga itu mendapat paket RREQ tersebut, node – node tersebut meneruskan paket tersebut kepada node tetangganya yang belum menerima paket RREQ tersebut. Apabila ada satu node yang menerima 2 paket RREQ, maka salah satu paket RREQ tersebut akan dibuang. Paket RREQ tersebut akan terus diteruskan melalui node – node perantara sampai menemukan node yang dituju. Pada saat paket RREQ tersebut sampai pada node yang dituju, maka node tujuan akan mengirimkan kembali paket RouteReply (RREP) melalui rute yang memungkinkan pada saat proses route discovery sebelumnya. Gambar 2.8 RREQ dan RREP pada routing DSR (Basagni et al., 2004) Dalam proses pengiriman RREP tersebut, node sumber akan menerima beberapa paket RREP bedasarkan rute yang mungkin menuju node tujuan, maka akan dipilih bedasarkan yang paling optimal, sedangkan rute lainnya akan disimpan pada route cache yang apabila terjadi kerusakan atau hubungan yang terputus pada rute yang sedang digunakan, maka node yang mengalami masalah dalam pengiriman paket tersebut akan mengirimkan paket Route Error yang kemudian akan diterima oleh node sumber. Pada saat node sumber menerima paket Route Error tersebut maka rute akan dialihkan ke rute yang sebelumnya telah ditemukan yang kemudian digunakan untuk pengiriman paket menuju node yang dituju (C. Siva Ram et al., 2004:318). Kelebihan dari protokol routing ini adalah tidak adanya pengiriman paket secara berkala seperti “hello” message yang bertujuan untuk memeriksa apakah ada hubungan antar node yang rusak di dalam jaringan, yang mana dapat meminimalisir routing overhead dan penghematan energi tiap node. Selain itu, rute dibangun bedasarkan ondemand atau saat diperlukan saja, sehingga energi yang terpakai dan routing overhead-nya lebih kecil. Node – node yang ada dalam jaringan pun memiliki route cache yang akan sangat berguna apabila terjadi kerusakan atau hubungan yang terputus menuju node tujuan, karena setelah node sumber menerima paket RouteError, node sumber dapat menentukan rute alternatif menuju node tujuan. Sedangkan, kelemahan dari protokol routing ini, salah satunya, adalah mekanisme pemeliharaan rute tidak memperbaiki hubungan yang rusak, melainkan hanya mengalihkan rute yang sebelum ke rute yang lain. Persiapan pembangunan koneksi lebih besar jika dibandingkan dengan protokol routing yang bersifat table-driven. Walaupun DSR bekerja cukup baik pada lingkungan jaringan yang bersifat statis atau mobilitasnya rendah, performa DSR akan terus menurun seiring dengan pergerakan node yang semakin besar. Hybrid Katergori hybrid adalah protokol routing yang menggabungkan keunggulan dari kedua jenis protokol routing sebelumnya yaitu proactive dan reactive. Penggunaan keunggulan dari proactive dan reactive tergantung oleh posisi geografis atau jarak dari node sumber yang menjadi acuan. Oleh karena proactive lebih unggul dalam jarak dan daya cakup node yang kecil, maka untuk node yang lebih dekat dengan node sumber akan dilakukan pendekatan secara “table-driven” seperti yang diterapkan pada protokol proactive. Selanjutnya, apabila jarak node sumber melebihi kapasitas jarak dari jangkauan protokol proactive, maka pendekatan “on-demand” yang akan digunakan (C. Siva Ram et al., 2004). 2. Hierarchical Routing Oleh karena kekurangan yang terdapat pada flat routing adalah daya cakup node-nya yang rendah, maka hierarchical routing dapat menjadi solusinya. Hierarchical routing menerapkan sistem teknik clustering, membagi lalu mengelompokan node yang biasanya berdasarkan posisinya atau fungsinya (Basagni et al., 2004). Berbeda dengan flat routing, teknik pengalamatan yang digunakan pada hierarchical routing bersifat assosiatif (C. Siva Ram et al., 2004). Berikut adalah contoh – contoh dari hierarchical routing: HSR (Hierarchical State Routing) Menurut Mehran Abolhasan (2003), Hierarchical State Routing adalah sebuah protokol routing yang didasari oleh algoritma Link State yang merupakan sebuah algoritma tradisional. C. Siva Ram (2004) dalam bukunya mendeskripsikan HSR sebagai sebuah hierarchical routing protocol yang terdistribusi secara multi-level Dalam HSR peta topologi dan pengalamatan (addressing) dikelola secara hirarkis. HSR mengelompokkan node – node yang jaraknya berdekatan kedalam suatu cluster secara multi-level. Sistem clustering yang digunakan dalam HSR dapat membuat pengaturan alokasi sumber daya menjadi lebih optimal. Setiap cluster yang terbentuk mempunyai 3 tipe node yang memiliki fungsi berbeda yaitu : • Cluster Head Node / Cluster Leader Node ini berperan sebagai koordinator untuk setiap node yang terdapat dalam cluster tersebut. Node ini bertanggung jawab atas alokasi frekuensi, pertukaran informasi routing, penjadwalan pengiriman paket, call admission control,dan mengatasi apabila terjadi route breaks. • Gateway Nodes Node – node yang terletak di antara dua atau lebih cluster yang berbeda. • Internal Nodes / Normal Member Nodes Node – node lainnya yang ada di dalam setiap cluster yang terbentuk. Gambar 2.9 Penggambaran routing HSR Level pertama dari physical clustering terbentuk dari node – node yang dapat dijangkau dalam sebuah single wireless hop. Level berikutnya dari physical clustering terdiri dari node – node yang terpilih sebagai leader (Cluster Head Node) pada setiap cluster yang terbentuk di level sebelumnya. Berikut ini adalah contoh dari HSR multi-level clustering yang lebih kompleks Gambar 2.10 Penggambaran multi-level clustering pada HSR Pada gambar di atas terdapat 6 cluster leader pada level 0 (L = 0) yaitu node 1, 2, 3, 4, 5, dan 6. L0-1 menunjukkan level clustering yaitu (L = 0). Node-node yang berada dibawah pimpinan node 6 pada level 0, yaitu node 9, 10, 11, 12, dan 17 merupakan gateway nodes karena terletak pada lebih dari satu cluster secara bersamaan. Setiap node mengelola informasi mengenai semua node tetangga yang ada dan status hubungan dengan setiap node yang bertetangga dengannya tersebut. Informasi itu disebarkan di dalam cluster setiap rentang waktu yang telah ditentukan. Cluster leader dengan cluster leader lainnya bertukar informasi mengenai topologi dan route. Pertukaran informasi ini dilakukan melalui multiple hops yang terdiri dari cluster head dan gateway nodes. Setelah mendapatkan informasi tersebut, cluster head mengalirkan informasi tersebut ke level dibawahnya, sehingga setiap node mendapatkan informasi topologi hirarkis. Setiap node mempunyai ID unik yang berfungsi sebagai MAC address bagi tiap node tersebut. Selain itu setiap node juga mempunyai hierarchical ID (HID), HID merupakan sebuah rangkaian MAC address dari hirarki teratas ke source node. HID dapat digunakan untuk mengirim paket dari node manapun ke node manapun juga. Misalnya ketika node 11 akan mengirimkan paket ke node 4, paket tersebut akan diteruskan ke node tertinggi dalam hirarki yaitu node 6, lalu kemudian node 6 akan mengirimkan paket tersebut ke node 4. CGSR (Cluster-Head Gateway Switch Routing Protocol) CGSR adalah sebuah routing protokol hirarkis yang mengkelompokkan node-node-nya kedalam cluster (Mehran Abolhasan, 2003). Setiap cluster yang terbentuk dikoordinir oleh sebuah node yang dinamakan cluster head. Cluster head ini dipilih secara dinamis dengan menggunakan algoritma least cluster head (LCC). Dalam algoritma LCC, sebuah cluster head node hanya akan berhenti menjadi sebuah cluster head ketika node tersebut berada dalam jangkauan cluster head node lainnya, dimana pertalian dilepaskan berdasarkan ID terendah atau konektivitas tertinggi (C. Siva Ram, 2004). Cluster head mengatur medium transmisi dan semua komunikasi di dalam sebuah cluster berlangsung melalui cluster head. Gambar 2.11 Contoh penggambaran routing CGSR Kelebihan dari protokol ini adalah bahwa node-node yang ada hanya memelihara rute ke cluster head-nya saja, hal ini dapat menekan routing overhead menjadi lebih rendah dibandingkan dengan cara membanjiri (flooding) routing information ke semua bagian jaringan. Akan tetapi masih dapat terjadi overheads yang cukup signifikan dalam proses pemeliharaan cluster-cluster yang ada. Hal demikian dapat terjadi karena setiap node harus menyiarkan tabel anggota cluster-nya dan memperbaharui tabel tersebut secara berkala. Komunikasi diantara dua buah cluster berlangsung melalui node biasa (bukan cluster head) yang posisinya terletak diantara dua cluster tersebut dan menjadi anggota dari kedua cluster tersebut. Node-node yang merupakan anggota dari dua atau lebih cluster yang berbeda disebut sebagai gateway nodes. Sebuah gateway yang baik harus dapat mendengar (listen) terhadap beberapa code yang tersebar yang sedang beroperasi dalam cluster tempat dimana gateway node tersebut berada. Gateway conflict bisa terjadi ketika sebuah cluster head mengeluarkan token ke sebuah gateway disaat gateway tersebut sedang mendengarkan code yang lain. Gateway conflict dapat dihindari dengan cara menggunakan gateway yang dapat berkomunikasi dengan dua atau lebih interface secara simultan. MMWN (Multi-media Support in Mobile Wireless Networks) Gambar 2.12 Contoh penggambaran routing MMWN MMWN routing protocol mengelola jaringan ad hoc dengan sistem clustering secara hirarkis (Mehran Abolhasan, 2003). Node-node yang terdapat dalam setiap cluster dibedakan menjadi dua jenis yaitu switches dan endpoints. Setiap cluster di-manage oleh location manager (LM) dan semua informasi dalam MMWN disimpan pada database yang terdistribusi secara dinamis. Pencarian dan update lokasi hanya dilakukan oleh LM, hal ini menjadikan routing overhead pada MMWN menjadi jauh lebih kecil dibandingkan dengan algoritma tradisional lainnya seperti pada protokol routing DSDV dan WRP. Akan tetapi MMWN memiliki kekurangan dalam hal pencarian dan pembaruan informasi lokasi node-node. Hal ini dikarenakan dalam proses pencarian dan pembaruan informasi lokasi dari sebuah node, messages atau pesan harus berjalan melalui hierarchical tree dari LM sehingga proses tersebut menjadi sangat kompleks. 3. Geographic Position Assisted Routing Georgraphic Position Assisted Routing atau yang biasa disebut Position-Based Routing ini menggunakan informasi geografis sebagai acuan optimisasi performa routing-nya. Menurut Basagni (2004), informasi geografis yang dipakai pada position-based routing ini didapat dari GPS (Global Positioning System) yang dapat menampilkan koordinat geografis dari wilayah tertentu, khususnya wilayah dimana jaringan ad hoc tersebut ada. Penggunaan informasi geografis ini adalah untuk membatasi area pencarian untuk menuju ke node tujuan dan juga dapat menentukan rute yang biasa dilalui atau yang paling optimal bedasarkan letak geografisnya. Kekurangan dari kategori ini adalah setiap node yang ada dalam jaringan harus terus memperbaharui posisi geografisnya agar protokol routing yang diterapkan dapat berjalan dengan baik. 2.3.2 Faktor Performa Routing Berikut adalah beberapa faktor – faktor yang mempengaruhi performa sebuah routing : Throughput Throughput adalah rata-rata data yang dikirim dalam suatu jaringan, biasa diekspresikan dalam satuan bits per second (bps), bytes per second (Bps) atau packet per second (pps). Throughput merujuk pada besar data yang di bawa oleh semua trafik jaringan, tetapi dapat juga digunakan untuk keperluan yang lebih spesifik, misalnya hanya mengukur transaksi Web, VoIP (Voice over IP), atau trafik jaringan yang menuju alamat jaringan tertentu, dll. Throughput diukur dengan cara menghitung bytes yang dikirimkan selama rentang waktu tertentu. Besarnya selang waktu pengukuran dapat mempengaruhi hasil gambaran perilaku jaringan. Selang waktu pengukuran yang terlalu besar dapat berakibat menghilangkan gambaran perilaku burstiness yang terjadi, sedangkan selang waktu pengukuran yang terlalu kecil memberikan koleksi kelajuan data yang lebih banyak dan dapat mengubah gambaran perilaku burstiness yang sebenarnya (Brownlee & Loosley 2001). Packet Loss Ratio Packet loss ratio didefinisikan sebagai suatu paket data yang hilang dari keseluruhan paket data yang dikirim selama proses pengiriman dari client menju ke server dan kembali lagi ke client selama rentang waktu tersebut (Brownlee & Loosley 2001). Delay Delay merupakan waktu yang dibutuhkan data untuk menempuh jarak dari asal ke tujuan. Untuk streaming, delay tidak boleh lebih dari 4 atau 5 detik (Szigeti & Hattingh 2004). Packet Delivery Ratio Total paket yang diterima berbanding total paket yang dikirim. Rasio dari angka paket data yang berhasil terkirim ke tujuan yang di-generate oleh sumber CBR (Constant Bit Rate). Rasio paket yang dikirim menjelaskan tingkat kehilangan (loss rate). Itu menunjukkan kelengkapan dan akurasi dari protokol routing. (Sachan P. & Khilar, P. M., 2011) Normalized Control Packet Overhead Jumlah dari paket routing yang ditransmisikan per data paket yang terkirim ke tujuan. Setiap pengiriman melalui 1 hop oleh protokol routing dihitung sebagai 1 paket routing. Overhead meningkat seiring dengan meningkatnya pergerakan semenjak kecepatan node bertambah menyebabkan lebih banyak kegagalan link yang berakibat pada lebih banyak penemuan rute sehingga meningkatkan overhead paket routing. (Sachan P. & Khilar, P. M., 2011) 2.4 Network Simulator Simulator jaringan adalah sebuah program yang meniru kinerja jaringan komputer pada keadaan yang sebenarnya. Dalam simulator, jaringan komputer biasanya dimodelkan dengan perangkat, traffic dll dan kinerjanya akan dianalisa. Simulator biasanya datang dengan dukungan protokol paling populer yang digunakan saat ini, seperti WLAN, Wi-Max, UDP, dan TCP. 2.4.1 Network Simulator-3 (NS-3) Simulator NS-3 adalah sebuah network simulator peristiwa yang memiliki ciri tersendiri yang ditargetkan secara utama untuk tujuan riset dan pendidikan. Proyek NS3, dimulai pada tahun 2006, adalah sebuah proyek open source yang diatur oleh komunitas peneliti dan pengembang. NS-3 hanya dapat digunakan bagi pengguna sistem operasi Linux dan MacOS. Pada MANET, NS-3 mempunyai beberapa fitur yang dapat dimanfaatkan untuk memodelkan dan menguji MANET. Dengan NS-3, MANET disimulasikan dengan membuat salah satu skenario. Pembuatan topologi, node dan protokol yang digunakan untuk MANET sudah didukung oleh NS-3. Dengan NS-3 kita dapat menambahkan fungsi-fungsi baru di dalam core NS3 karena NS-3 bersifat open source. NS-3 dikembangkan menggunakan bahasa C++ di lapisan inti dan script python. Fitur-fitur NS-3 di antaranya adalah sistem atribut NS-3 terdokumentasi dengan baik. Setiap objek NS-3 memiliki seperangkat atribut (name, type, initial value) dan NS-3 selaras dengan sistem nyata. Model node yang lebih seperti komputer nyata, dukungan utama antarmuka seperti soket API dan IP atau perangkat driver antarmuka (di Linux) serta NS-3 juga telah meng-update model-model (memuat campuran model baru dan ported model). NS- 3 juga terintegrasi dengan software/tools lain seperti wireshark untuk melihat trace output. Representasi hasil data simulasi pada NS-3 dapat ditampilkan dalam bentuk grafik, sehingga memudahkan untuk menganalisa dan mengevaluasi hasil terhadap suatu model jaringan MANET. 2.5 Nilai Ukur Pengujian Parameter yang akan dievaluasi pada penelitian ini adalah sebagai berikut : 1. Packet Delivery Ratio (PDR) PDR adalah ukuran untuk menentukan perbandingan antara data yang dikirim oleh node sumber dengan data yang diterima oleh node penerima. PDR dapat diukur dengan menggunakan rumus berikut. Gambar 2.13 Rumus PDR 2. Throughput Throughput merupakan ukuran untuk menentukan tingkat rata-rata keberhasilan pengiriman pesan yang dikirim melalui chanel komunikasi. Data tersebut disampaikan melalui physical atau logical link. Selain itu data tersebut juga dapat disampaikan melalui jaringan node tertentu. Throughput dapat diukur berdasarkan bits per detik (bit/s atau bps). Gambar 2.14 Rumus Throughput 3. End to End Delay End to End Delay adalah selisih waktu antara waktu ketika paket UDP mulai dikirimkan oleh node sumber dengan waktu ketika paket tersebut diterima oleh node tujuan. End to End Delay dapat dihitung dengan rumus sebagai berikut. Gambar 2.15 Rumus Delay 2.6 Review Pustaka (Siddhu Warrier, 2007) Dilakukan analisa kemungkinan penggunaan MANET pada Wireless Sensor Network (WSN). Protokol yang digunakan adalah DSDV dan ZRP. Aplikasi VTS diimplementasikan dengan prototype Specks yang disebut ProSpeckz. VTS merupakan suatu sistem pencarian pengunjung (visitor) di dalam suatu bangunan yang memberi informasi kepada pengunjung apabila user mendekati suatu area yang dibatasi. Sistem ini memperkirakan lokasi dari node bergerak dan menyediakan informasi dari lokasi dan arah dari setiap node ke satu central node dengan manggunakan bantuan sensor node. Namun, karema gelombang radio yang bersifat omni-directional dan perambatan yang bersifat multi-path membuat perkiraan lokasi yang akurat menjadi suatu masalah yang rumit. Maka dari itu, digunakan suatu aplikasi yang dapat menentukan lokasi suatu node dengan kekuatan sinyal dari sinyal radio yang diterima. Algoritma routing DSDV digunakan untuk menyampaikan informasi berupa paket dari sensor node ke sink node. Dilakukan performance test untuk mengurukur kesesuaian algoritma dengan berbagai eksperimen. Dari hasil eksperimen diperoleh bahwa algoritma seperti DSDV merupakan kandidat untuk digunakan pada aplikasi WSN (dalam hal ini adalah VTS). Juga dapat diperoleh bahwa DSDV lebih responsif daripada ZRP di dalam jaringan dengan skala kecil. Coarse-gained tracking (Zhao, et al, 2003) merupakan suatu metode pencarian (tracking) yang menggunakan dua sensor node atau lebih sepanjang jalur pergerakan target node. Koordinat dari target node ditentukan dengan merata-rata koordinat lokasi dari sensor node yang dapat me-detect target node, secara logis sensor node tersebut adalah beberapa node terdekat dengan target. Dengan pendekatan ini, ketepatan dari perkiraan lokasi target dipengaruhi oleh tingkat kepadatan sensor node pada area tersebut. Pada fine-grained tracking (Smith, et al, 2004), tiga atau lebih sensor node bertugas untuk melacak target pada suatu area. Deteksi target dilakukan dengan menghitung jarak antara dua entitas yang disebut ranging. Menggunakan penghitungan yang disebut ranging tersebut, koordinat lokasi dari target dapat ditemukan dengan menggunakan teknik yang disebut angulation atau lateration (Hightower, et al, 2001). Dengan metode ini, kepadatan sensor node tidak terlalu mempengaruhi ketepatan dari perkiraan lokasi target. Ketepatan perkiraan koordinat lokasi target lebih dipengaruhi oleh ketepatan penghitungan ranging. Gambar 2.16 Klasifikasi Location Tracking Aspek posisi Dari aspek posisi, ada 3 teknik perkiraan lokasi yang dapat digunakan untuk menentukan koordinat lokasi. Metode tersebut antara lain proximity, angulation dan lateration. (Hightower, et al., 2001). Estimasi metode proximity (pendekatan) adalah berbasis range-free (He, et al., 2005) atau detection (Nakajuma, 2007) serta tidak mengitung koordinat lokasi setepat mungkin. Teknik penentuan lokasi ini disebut metode coarse-grained. Teknik estimasi angulation dan lateration merupakan teknik yang dapat menghitung secara tepat koordinat lokasi target yang diinginkan dari sensor data yang telah diukur. Teknik seperti ini disebut metode fine-grained. Perbedaan antara kedua metode tersebut adalah angulation (Kamath, et al., 2007) menghitung koordinat lokasi dari sudut antara lokasi target dan lokasi reference, sedangkan lateration (Rice, et al., 2005) menghitung koordinat lokasi dari jarak antara lokasi target dan lokasi reference. Aspek variabel Dari gambar 1 diatas, ditunjukkan bahwa ada 3 jenis teknik pencarian lokasi dari aspek variabel. Variabel tersebut dapat dihitung secara fisikal dengan menggunakan received angle, propagation time, dan signal strength. Received angle antara target dan lokasi reference adalah variabel utama yang diukur untuk estimasi angulation. Propagation time merupakan durasi waktu yang dibutuhkan oleh sinyal untuk berpindah dari transmitter ke receiver. Karena propagation speed yang terjadi pada suatu medium adalah konstan, jarak antara transmitter dan receiver dapat ditemukan. Signal Strength dapat diukur pada saat receiver menerima sinyal dari transmitter. Jika jarak semakin besar, maka signal strength akan semakin besar (semakin lemah) akibat atenuasi yang terjadi apda jalur. Jarak dapat diketahui dengan mengevaluasi total atenuasi. Propagation time dan signal strength dapat digunakan untuk menghitung jarak antara transmitter dan receiver, dimana digunakan di dalam estimasi lateration. Aspek Ranging Aspek ranging dari sistem location tracking pada gambar 1 diatas dikategorikan berdasarkan angle of arrival (AOA), time of arrival (TOA), time difference of arrival (TDOA), dan received signal strength (RSS). AOA merupakan metode untuk mengukur sudut kedatangan dari sinyal yang diperoleh (Tian, et al., 2007). Dengan membandingkan arah dari kedatangan sinyal dengan orientasi reference (object locator) tertentu, sudut datang sinyal atau disebut received angle dapat dihitung. TOA digunakan saat komunikasi terpusat dapat dilakukan (Mak, et al., 2006). Metode ranging ini menghitung waktu kedatangan sinyal dari trasmitter ke receiver. Dua pendekatan dapat dilakukan untuk mengimplementasikan metode ranging ini. Pendekatan pertama menggunakan transmitter untuk metransmit sinyal ke berbagai receiver. Receivers kemudian meforward waktu kedatangan sinyal mereka ke suatu node / sistem secara terpusat untuk perbandingan. Pendekatan kedua menggunakan beberapa transmitter untuk mengirim sinyal ke receiver. Receiver menghitung waktu kedatangan dari beberapa sinyal dan membuat perbandingan. Pendekatan kedua ini dapat menyebabkan masalah yang bersifat teknis karena semua transmitter harus mengirim sinyal secara bersamaan pada suatu waktu (synchronized) sehingga pengiriman dapat dilakukan diatara time segment tertentu.. Beberapa sinyal yang dikirim sekaligus tersebut dapat hilang akibat banyaknya sinyal yang diterima pada waktu yang sama apabila propagation time sinyal sama dengan durasi dari time segment. TDOA merupakan pengembangan dari TOA untuk mengatasi kesulitan sinkronisasi dan masalah paket yang hilang (Najar, et al., 2001). Untuk mengimplementasi TDOA, sebuah transmitter dibutuhkan untuk mengirim dua sinyal dengan propagation speed yang berbeda. Saat dua sinyal diterima oleh receiver, perbedaan dari waktu datang antar kedua sinyal dapat dihitung. Menggunakan perbedaan waktu datang, time of flight (TOF) dari sinyal dapat ditemukan sama halnya seperti propagation time. RSS merupakan metode untuk menemukan jarak dari atenuasi dari propagation path (Cong, et al., 2008). Saat transmission power diketahui, total atenuasi sinyal yang merambat sepanjang jalan dapat dihitung dengan mengurangi received power dengan transmitted power. Aspek Device Aspek device pada sistem location tracking memilik 3 tipe pengukur jarak, yaitu antenna array, RF transceiver, ultrasonic transducer. Antenna array digunakan untuk menghitung sudut dari kedatangan sinyal (Abdalla, et al., 2003) dengan membandingkan perbedaan fase sinyal dari antena yang berbeda. Penghitungan dapat dilakukan dengan menggunakan AOA ranging. RF transceiver digunakan untuk menghitung power yang diterima (receiver power) dan RSS untuk digunakan ke dalam metode ranging. Dari kebanyakan RF transceiver, sebuah dedicated register digunakan untuk menyimpan received signal strength indicator (RSSI). Krena itu cara tersebut merupakan salah satu cara untuk mengukur jarak yang mudah dan rendah biaya. Penggunaan RF transceiver ataupun ultrasonic transducer hanya mengukur waktu kedatangan sinyal yang dapat digunakan di dalam metode ranging TOA. Apabila RF transceiver dan ultrasonic transducer digunakan, maka dia sinyal yang berbeda (sinyal RF dan sinyal ultrasound) akan merambat sepanjang jalur dengan kecepatan yang berbeda (Smith, et al., 2004). Di dalam aplikasi jarak pendek, propagation time RF dapat diabaikan dan dianggap nol detik sedangkan ultrasound membutuhkan waktu yang lebih panjang. Karena itu, perbedaan waktu dari kedua sinyal dapat dihitung dengan mengaktifkan timer pada saat kedatangan sinyal RF dan menghentukan timer pada saan kedatangan sinyal ultrasonic.