Bab 2 - Widyatama Repository

advertisement
BAB II
LANDASAN TEORI
2.1. Protokol Jaringan
Menurut Mulyanta (2005, p. 5), “Apabila dua buah sistem saling
berkomunikasi, hal yang pertama dibutuhkan adalah kesamaan bahasa yang
digunakan, sehingga dapat memahami alur proses komunikasi”. Untuk itu,
dibutuhkan sebuah mekanisme pengaturan bahasa yang dapat dipahami oleh dua
buah sistem tersebut sehingga pertukaran informasi antarsistem akan terjadi
dengan benar.
Sekumpulan aturan untuk mengatur proses komunikasi ini disebut sebagai
protokol komunikasi data. Protokol ini diimplementasikan dalam bentuk program
komputer (software) yang terdapat pada komputer dan peralatan komunikasi data
lainnya. Untuk itu, badan dunia yang menangani masalah standarisasi IOS
(International Organization for Standarization) membuat aturan baku yang
dikenal dengan nama model referensi OSI (Open System Inerconnection).
2.1.1. OSI Reference Model
Badan dunia yang menangani masalah standarisasi IOS (International
Organization for Standardization) membuat aturan baku yang dikenal dengan
nama model referensi OSI (Open System Interconnection). Model OSI terdiri dari
tujuh layer, yaitu physical layer, data link layer, network layer, transport layer,
session layer, presentation layer, dan application layer. Dalam model OSI,
peranan layering serta proses pertukaran data dalam sistem yang berlainan akan
melalui sebuah hierarki atau tingkat protokol komunikasi.
Ketujuh layer dari model referensi OSI dapat dibagai dua kategori utama,
yaitu layer atas dan layer bawah (Mulyanta, 2005).
Layer atas pada model OSI berkaitan dengan aplikasi dan implementasi secara
umum sebuah software dengan layer tertinggi, yaitu layer application merupakan
layer yang paling dekat dengan pengguna.
Layer di bawahnya berhubungan dengan penanganan transpotasi data.
Physical layer dan data link layer diimplementasikan dalam hardware dan
II-1
II-2
software sedangkan layer yang lain secara umum diimplementasikan hanya dalam
lingkungan software. Layer yang paling dekat dengan media jaringan adalah
physical layer. Pembagian kategori pada model refersi OSI ditunjukkan pada
gambar 2.1.
Application
Application
Presentation
Session
Transport
Transport
Network
Data Link
Physical
Gambar 2.1. Pembagian Kategori OSI Reference Model
Begitu rumitnya pertukaran data antarjaringan, sehingga desain jaringan
komputer harus disederhanakan dalam bentuk bagian-bagian tersendiri dalam
lapisan-lapisan layer yang mempunyai fungsi dan desain yang berbeda-beda.
Setiap layer akan memberikan informasi untuk dapat diterapkan dan dipahami
oleh layer di atasnya.
Pertukaran paket antarsistem jaringan akan diperantarai oleh sebuh bahasa
komunikasi atau disebut protokol. Protokol tersebut berfungsi antara lain untuk,
menentukan jenis konektor, pengalamatan titik-titik komunikasi, identifikasi
interface, aturan-aturannya, pengaturan aliran data, menjaga ketersediaan data,
laporan kesalahan, sinkronisasi, dan lain-lain. Pada praktiknya terdapat beberapa
fungsi yang terangkum dalam kumpulan fungsi prokocol, dimana setiap protokol
menangani satu aspek saja dalam proses komunikasi.
II-3
Gambar 2.2. Diagram Fungsional Protokol
Pada OSI reference model, layer bawah didesain untuk berurusan dengan
ketersediaan
atau
memfasilitasi
komunikasi
dengan
user.
Layer
ini
menyembunyikan detail kerumitan fungsi pertukaran data secara fisik. Layer di
atasnya (middleware) bertanggung jawab terhadap konversi data pada apa yang
disebut program aplikasi atau software. Secara fungsional terdapat layer yang
bertugas mengatur transportasi data. Layer ini bertanggung jawab terhadap
koneksi antar layer di atas (application oriented) dan layer bawah (network
oriented). Diagram fungsional protokol dapat dilihat pada gambar 2.2.
II-4
Berikut penjelasan dari ketujuh layer pada OSI reference model :
Tabel 2.1. OSI Reference Model
Layer
Application
Presentation
Session
Transport
Network
Data Link
Physical
Keterangan
Membuka komunikasi dengan user lain dan memberikan layanan
seperti file transfer ataupun e-mail ke user lain dalam jaringan.
Layer ini berfungsi menentukan format data yang akan
dipindahkan antar aplikasi dan menyediakan layanan berupa
transformasi format data, enkripsi, dan kompresi.
Menentukan format data yang dipindahkan di antara aplikasi dan
mengelola informasi yang disediakan oleh Application layer
supaya informasi yang dikirim dapat dibaca oleh Application
layer pada system lain. Layer ini juga menentukan syntax yang
digunakan antar aplikasi
Lapisan ini bertanggung jawab atas sesi komunikasi antara
berbagai tingkat yang lebih tinggi dalam komunikasi program,
proses, dan user.
Berfungsi sebagai pemecah informasi menjadi paket-paket data
yang akan dikirim dan menyusun kembali paket-paket data
menjadi sebuah informasi yang dapat diterima. Dua protokol
umum pada lapisan ini adalah TCP yang berorientasi koneksi
dan UDP yang tidak berorientasi koneksi.
Layer ini bertanggung jawab dalam routing paket data dari node
sumber ke node tujuan. Selain itu, layer ini juga bertanggung
jawab dalam pengalamatan node, sehingga AODV dan DYMO
berada pada layer ini.
Mengubah paket-paket data dalam bentuk frame, menghasilkan
alamat fisik, pesan-pesan kesalahan, pemesanan pengiriman data.
Layer ini juga mengupayakan agar physical layer dapat bekerja
dengan baik dengan menyediakan layanan untuk mengaktifkan,
mempertahankan, dan menonaktifkan hubungan.
Mentransmisikan data dalam bentuk bit antar devices melalui
jalur komunikasi dengan cara mengatur karakteristik tinggi
tegangan, periode perubahan tegangan, lebar jalur tegangan,
jarak maksimuk komunikasi dan koneksi.
II-5
2.1.2. TCP/IP (Transmission Control Protocol / Internet Protocol)
Menurut Purbo (1999, p. 22), TCP/IP adalah sekumpulan protokol yang
didesain untuk melakukan fungsi-fungsi komunikasi data pada Wide Area
Network (WAN). Pada TCP/IP protokol yang satu tidak perlu mengetahui cara
kerja protokol yang lain, sepanjang ia masih bisa saling mengirim dan menerima
data, sehingga TCP/IP menjadi protokol komunikasi data yang fleksibel.
TCP/IP
Stack
Gambar 2.3. Layer TCP/IP
Pada gambar 2.3. dijelaskan bahwa TCP/IP terdiri dari empat lapisan
kumpulan beritingkat. Keempat lapisan tersebut adalah :
1. Network Interface Layer
2. Internet Layer
3. Transport Layer
4. Application Layer
Pada TCP/IP setiap protokol membutuhkan informasi dari protokol lain. Jika
suatu protokol menerima data dari protokol lain di layer atasnya, ia akan
menambahkan informasi tambahan miliknya ke data tersebut setelah itu data
diteruskan ke layer di bawahnya dan sebaliknya, jika suatu protokol menerima
data dari protokol lain yang di bawahnya, jika dianggap valid protokol tersebut
II-6
akan melepas informasi tambahan tersebut untuk kemudian meneruskan data itu
ke protokol lain yang berada di atasnya (Purbo, 1999).
Gambar 2.4. Pergerakan Data Dalam Layer TCP/IP
Berikut ini tabel penjelasan tentang fungsi dan tugas-tugas keempat layer
protokol pada TCP/IP :
Tabel 2.2. Layer pada TCP/IP
Layer
Application Layer
Keterangan
Layer ini menangani representasi, encoding, serta control
dialog. Pada layer ini terletak semua aplikasi yang
menggunakan protokol TCP/IP.
Transport Layer
Berisi protokol yang bertanggung jawab untuk mengadakan
komunikasi antara dua host/komputer. Kedua protokol
tersebut adalah TCP (Transmission Control Protocol) dan
UDP (User Datagram Protocol).
Internet Protokol
Layer ini bertanggung jawab dalam proses pengiriman paket
ke alamat yang tetap. Pada layer ini terdapat tiga macam
protokol, yaitu IP, ARP, dan ICMP.
Network Interface Bertanggung jawab mengirim dan menerima data ke dan
Layer
dari media fisik berupa kabel, serat optik, atau gelombang
radio, sehingga protokol pada layer ini harus mampu
menerjemahkan sinyal listrik menjadi data digital yang
dimengerti komputer yang berasal dari peralatan lain yang
sejenis.
II-7
2.1.3. Perbadingan Umum Model OSI dengan TCP/IP
Secara umum perbedaan antara model OSI dan model TCP/IP sebagai berikut:
1. Pada model OSI pengimplementasiannya menekankan pada penyediaan
layanan transfer data yang reliable, sementara TCP/IP memperlakukan
reliability sebagai masalah end-to-end.
2. Setiap layer pada model OSI mendeteksi dan menangani kesalahan pada
semua data yang dikirim. Pada model OSI layer transport memeriksa
reliability di source-to-destination.
3. Pada TCP/IP, kontrol reliability dikonsentrasikan pada Layer Transport.
Layer
Transport
menangani
semua
kesalahan
yang terdeteksi
dan
memulihkannya. Layer ini juga menggunakan checksum, acknowledgement,
dan timeout untuk mengontrol transmisi dan menyediakan verifikasi end-toend.
2.2. Ad Hoc Network
Secara umum pengertian dari jaringan ad hoc adalah kumpulan dari beberapa
sistem dimana sistem yang satu dapat berkomunikasi dengan yang lain tanpa
penghubung (wireless). Pada jaringan ini tidak dibutuhkan alat tambahan seperti
router dan access point untuk menghubungkan host dalam jaringan. Host sendiri
bertindak sebagai router, sehingga jaringan ad hoc membutuhkan protokol
routing karena pengiriman paket untuk mencapai tujuan kemungkinan akan
melewati beberapa node.
Pada jaringan ad hoc, routing protocol bekerja di layer network pada model
OSI yang bekerja untuk menginformasikan topologi dan jalur yang akan dilalui.
Pada jaringan ad hoc terdapat tiga jenis routing protocol, yaitu proactive routing
protocol, reactive routing protocol, dan hybrid routing protocol yang merupakan
gabungan dari proacktive dan reactive routing protocol.
Menurut Mohapatra (2005, p. 4), ad hoc networks memiliki delapan karakter,
yaitu :
1. Mobility
Pada jaringan ad hoc, node ataupun user dapat berpindah sewaktu-waktu
selama masih dalam jangkauan area.
II-8
2. Multihopping
Jaringan multihopping adalah jaringan dimana jalur dari node asal ke node
tujuan melewati beberapa node. Jaringan ad hoc sering menunjukkan multihop
untuk negosiasi kendala, penggunaan kembali spektrum, dan konservasi energi.
3. Self-organization
Jaringan ad hoc harus menentukan sendiri konfigurasi parameternya sendiri
yang
terdiri
dari
pengalamatan,
pemilihan
jalur,
pengelompokan,
pengidentifikasian posisi, mengotrol energi, dan lain-lain.
4. Energy conservation
Hampir semua node ad hoc memiliki power supply yang terbatas dan biasanya
node tidak memiliki kemempuan untuk menciptakan energinnya sendiri, sehingga
desain energy efficient protocol adalah masalah penting untuk menjadikan node
dapat bertahan lama.
5. Scalability
Pada beberapa aplikasi jaringan ad hoc dapat berkembang menjadi beribu
node. Untuk jaringan infrastruktur wireless skalabilitas dapat ditangani dengan
konstruksi hierarki. Jaringan infrastruktur mobilitas yang terbatas juga dapat
ditangani dengan mudah dengan menggunakan mobile IP atau dengan teknik
local hadoff. Sebaliknya, karena mobilitas yang luas dan kurangnya referensi
tetap, jaringan murni ad hoc tidak mentolerir IP mobile atau struktur hierarki yang
tetap. Dengan demikian, mobilitas yang berskala besar adalah salah satu masalah
dalam desain jaringan ad hoc.
6. Security
Tantangan dari keamanan wireless adalah kemampuan penyusup untuk
menguping dan melakukan spoof terhadap saluran. Banyak pekerjaan dilakukan
dalam jaringan infrastruktur wireless. Bagaimanapun, jaringan ad hoc relatif
rentan terhadap serangan infrastruktur. Pada jaringan ad hoc terdapat dua jenis
serangan, yaitu serangan aktif dan serangan pasif.
Pada serangan aktif, penyerang cenderung mengganggu operasi seperti
melakukan penyadapan simpul kontrol dan paket data. jenis serangan ini sangat
sulit dideteksi karena kompleksnya infrastruktur jaringan ad hoc. Pada jaringan
pasif, penyerang pasif tidak ditemukan oleh jaringan karena bersifat seperti bug.
II-9
7. Unmanned, autonomous vehicles
Beberapa aplikasi jaringan ad hoc membutuhkan unmanned, sebuah
komponen robotik. Semua node dalam jaringan generik mampu membuat jaringan
sendiri walaupun ketika bergerak.
8. Connection to internet.
Kebanyakan implementasi dari jaringan adhoc dilakukan pada Wireless
Sensor Networks (WSN) yang bekerja sebagai pendeteksi terhadap sebuah
keadaan, seperti suhu, getaran, suara, dan lain-lain. Sistem tersebut bekerja
dengan mengirimkan setiap hasil yang dideteksi oleh sensor kepada sebuah node
yang dijadikan sebagai server yang kemudian dikelola oleh user.
Azwar & Harpawi (2012) melakukan implementasi jaringan adhoc pada WSN
yang bekerja sebagai pendeteksi suhu dengan memanfaatkan router wireless yang
ditanamkan pada sensor tersebut. Kemudian dilakukan konfigurasi routing
protocol
jenis OLSR pada router wireless tersebut sebagai sistem untuk
berkomunikasi dengan sensor yang lain.
2.2.1. Flood
Flooding (network-wide broadcast) adalah cara yang paling mudah untuk
menyampaikan data dari sebuah node ke node yang lain di dalam jaringan. Pada
flooding, node sumber hanya mengirimkan paket data ke node tetangganya
melalui mekanisme broadcast lapisan MAC. Setiap node menerima broadcast dan
kemudian melakukan broadcast kembali hingga setiap node menerima data
broadcast dengan persyaratan setiap node menerima broadcast hanya sekali.
Teknik flooding ini sangat diperlukan pada jaringan ad hoc. Dengan adanya
teknik flooding, informasi tentang topologi tidak diperlukan lagi untuk
dipertahankan karena sifat topologi yang berubah-ubah. Pada skenario jaringan
dimana mobilitas node sangat tinggi diberi unicast routing protocol dapat gagal
untuk bersaing dengan laju perubahan topologi dan flooding adalah satu-satunya
alternatif untuk routing data yang layak.
2.2.2. Proactive Routing Protocol
II-10
Routing protocol jenis ini berkerja dengan mempertahankan rute unicast
diantara sepasang node terlepas dari apakah semua rute digunakan. Oleh karena
itu, ketika sebuah node ingin mengirim paket data ke node lain sumber lalu lintas
sudah menyediakan rute tanpa harus mencari jalur yang akan dilalui terlebih
dahulu.
Pada routing protocol jenis ini setiap node pada jaringan memiliki satu atau
lebih tabel routing yang berisi informasi rute terbaru untuk menuju node lain.
Pada jaringan yang sangat dinamis, proactive routing protocol memerlukan
sumber daya yang besar untuk mendapat informasi terbaru yang dapat diandalkan.
Contoh proactive routing protocol adalah OLSR (Optimized Link State Routing
Protocol) dan DSDV (Destination Sequence Distance Vector).
2.2.3. Reactive Routing Protocol
Berbada dengan proactive routing protocol, reactive routing protocol bekerja
ketika dibutuhkan. Ketika node ingin mengirimkan paket data ke node lain,
reactive routing protocol bekerja mencari dan menetapkan jalur yang tepat
dengan koneksi stabil dengan cara awalnya node asal melakukan broadcast
request sampai request tersebut sampai ke node tujuan, kemudian node tujuan
membalas dengan mengirimkan reply. Dari proses inilah ditentukan mana jalur
yang akan digunakan untuk mengirimkan data.
Keuntungan dari menggunakan routing protocol ini adalah penggunaan
sumber daya yang hemat karena sumber daya tidak dibutuhkan untuk menyimpan
informasi tentang rute ke node yang lain. Disamping memiliki kelebihan, recative
routing protocol juga memiliki kekurangan, yaitu paket data yang akan dikirim
memiliki delay yang cukup lama dalam antrian node asal menunggu protokol
menemukan jalur yang akan dilewati.
Beberapa jenis reactive routing protocol adalah AODV (Ad-Hoc On-Demand
Distance Routing), DSR (Dynamic Source Routing), DYMO (Dynamic Manet
On-demand), dan lain-lain.
2.2.4. Faktor-Faktor yang Mempengaruhi Performa Routing Protocol
Berikut ini beberapa faktor-faktor secar umum yang mempengaruhi performa
routing protocol :
II-11
1. Throughput
Throughput merupakan nilai rata-rata pada pengiriman data yang sukses
melalui sebuah komunikasi antarsistem. Data ini dapat dikirim melalui sebuah
link physical maupun logical, atau melalui sebuah node tertentu. Biasanya
throughput diukur dalam satuan bit/detik (bit/s). semakin tinggi nilai throughput
maka semakin baik performa jaringan tersebut.
2. Packet Loss
Packet loss terjadi ketika satu paket data atau lebih yang melintas pada sebuah
jaringan gagal mencapai tujuan. Menurut Faishal (2013, p. II-9), “packet loss
dibedakan sebagai salah satu dari tiga tipe error yang dihadapi dalam komunikasi
digital, dua yang lain adalah bit error dan paket yang bersifat seperti tiruan oleh
karena noise”.
3. End to end Delay
End to end delay merupakan waktu rata-rata yang ditempuh paket data untuk
mencapai tujuan termasuk didalamnya semua kemungkinan delay yang
dikarenakan buffering selama penemuan rute latency, dan antrian di interface
queue (Rohal, 2013).
2.3. AODV (Ad-hoc On-Demand Distance Vector)
AODV merupakan salah satu jenis reactive routing yang dirancang khusus
untuk jaringan mobile ad hoc. AODV routing protocol menawarkan adaptasi
cepat untuk kondisi dinamyc link, pemrosesan yang rendah dan overhead memori,
pemanfaatan jaringan rendah, dan menentukan unicast rute ke tujuan dalam
jaringan ad hoc (Perkins, Belding-Royer, & Das, 2013).
Selama koneksi rute pengirim ke penerima telah valid, AODV tidak
melakukan pencarian lagi dan akan memelihara rute ini selama mereka
dibutuhkan. Dalam proses penentuan jalur, AODV membutuhkan pesan-pesan
RREQ (Route Request), RREP (Route Reply), dan RERR (Route Error).
2.3.1. Path Discovery
Path discovery adalah proses yang diawali ketika sebuah sumber node perlu
berkomunikasi dengan node yang lain dimana tidak terdapat informasi routing di
dalam tabel. Setiap node menjaga dua counter terpisah yaitu, nomor urut node dan
II-12
broadcast_id. Sumber node mengawali penentuan rute dengan cara melakukan
broadcast request route (RREQ) ke node tetangganya. RREQ berisi informasi
<source_addr, source_sequence_#, broadcast_id, dest_addr, dest_sequence_#,
hop_cnt>
Pasangan <source_addr, broadcast_id> secara khusus mengidentifikasi suatu
RREQ. Broadcast_id ditambahkan ketika sumber mengeluarkan RREQ yang
baru. Setiap tetangga yang mendapat RREQ membalas dengan mengirim RREP
ke node sumber atau melakukan broadcast RREQ kepada tetangganya sendiri
setelah meningkatkan hop_cnt. Jika suatu node sudah menerima suatu RREQ
dengan broadcast_id dan source_addr yang sama, maka RREQ yang berlebihan
akan dibuang dan tidak akan di-broadcast ulang. Jika node tidak dapat membalas
RREQ, node akan menyimpan track informasi untuk mengimplementasikan setup
path yang sebaliknya maupun setup path seterusnya yang akan menemani
transmisi dari RREP akhir, yaitu:
-
IP address tujuan
-
IP address sumber
-
Broadcast_id
-
Waktu berakhirnya entri rute path sebaliknya
-
Nomor urut source node
b
a
Gambar 2.5. (a) Reverse Path Formation dan (b) Forward Path Formation
II-13
2.3.2. Reverse Path Setup
Ada dua jumlah sekuens yang terdapat dalam sebuah RREQ : nomor urut node
sumber dan nomor urut tujuan akhir yang diketahui sumber. Nomor urut sumber
digunakan untuk menjaga kesegaran informasi tentang reverse route ke sumber
dan nomor urut destinasi menspesifikasi seberapa segar seharusnya sebuah rute ke
tujuan sebelum diterima oleh sumber. Karena RREQ berjalan melewati sebuah
sumber ke beberapa tujuan secata otomatis men-setup reverse path dari semua
node kembali ke sumber seperti yang diilustrasikan pada gambar 2.5.(a). Untuk
setup reverse path sebuah node merekam alamat node tetangga yang pertama kali
menerima salinan RREQ. Entri route reverse path ini dijaga selama waktu yang
dibutuhkan oleh RREQ untuk melintasi jaringan dan menghasilkan suatu jawaban
kepada pengirim (Perkins & Royer).
2.3.3. Forward Path Setup
Pada akhirnya sebuah RREQ akan sampai pada sebuah node yang memproses
rute ke tujuan. Node yang diterima pertama kali memeriksa apakah RREQ
diterima melewati sebuah link bi-directional. Jika sebuah node memiliki entri rute
untuk tujuan yang diharapkan, node akan menentukan apakah rute tersebut aktif
dengan membandingkan nomor urut destinasi pada entri rutenya sendiri dengan
nomor urut destinasi pada RREQ. Jika nomor urut RREQ untuk tujuan lebih besar
dari yang direkam oleh intermediate node, maka intermediate node tidak bisa
menggunakan rute yang direkamnya untuk merespon RREQ tetapi intermediate
node mem-broadcast ulang RREQ. Intermediate node dapat membalas hanya
ketika dia memiliki rute dengan nomor urut yang lebih besar dari atau sama
dengan yang terdapat pada RREQ. Jika terdapat rute yang masih aktif ke tujuan
dan jika RREQ belum pernah diproses sebelumnya, node kemudian melakukan
unicast rute RREP kembali kepada tetangga yang menerima RREQ. RREP terdiri
dari informasi berikut :
<source_addr, dest_addr, dest_sequence_#, hop_cnt, lifetime>
Seiring dengan waktu paket broadcast tiba di node yang dapat menyediakan
rute ke tujuan, sebuah reverse path telah ditetapkan pada sumber RREQ. Selama
RREP berjalan ke sumber, setiap node di sepanjang path mengatur pointer
II-14
forward ke node dari tempat RREP datang, memperbaharui informasi timeout
untuk entri rute ke sumber dan tujuan, dan merekam destinasi sequnce number
yang terakhir untuk tujuan yang diminta. Gambar 2.5.(b) menunjukkan setup
forward path dimana RREP berjalan dari destinasi D ke sumber node S. Node
yang tidak berada disepanjang path yang ditentukan oleh RREP akan mengalami
timeout setelah ACTIVE_ROUTE_TIMEOUT (3000ms) dan akan menghapus
reverse pointer.
Sebuah node yang menerima RREP menyebarkan RREP pertama ke sumber
node yang diberikan terhadap sumber tersebut. Jika node menerima RREP yang
lain lagi, node memperbaharui informasi rutenya dan menyebarkan RREP hanya
jika RREP berisi nomor urut destinasi yang lebih besar dari RREP sebelumnya,
atau nomor urut destinasi yang sama dengan hopcount yang lebih kecil. Ini
menekan semua RREP lain yang diterima. Hal ini menurunkan jumlah RREP
yang menyebar ke sumber dan memastikan informasi rute yang paling up to date
dan yang paling cepat. Sumber node dapat memulai transmisi data segera setelah
RREP pertama diterima, dan nantinya dapat memperbaharui informasi routing
jika node mempelajari rute yang lebih baik.
2.3.4. Route Table Management
Selain sequnce number sumber dan tujuan, informasi lain yang berguna juga
disimpan di entri tabel routing dan disebut dengan soft-state yang terkait dengan
antri. Bagian yang terkait dengan entri routing reverse path adalah timer, yang
disebut route request expiration timer. Tujuan dari timer ini adalah untuk
membersihkan entri routing reverse path dari node-node yang tidak terletak pada
jalur dari sumber ke tujuan. Expiration timer bergantung pada ukuran jaringan ad
hoc. Parameter penting lain yang berkaitan dengan entri routing adalah route
caching timeout, atau waktu setelah rute diangga valid.
Di dalam entri tabel routing, alamat node tetangga yang aktif dimana paket
untuk tujuan diterima juga akan dipertahankan. Sebuah node tetangga dianggap
aktif jika node tersebut menyambungkan setidaknya sebuah paket untuk tujuan
dalam periode waktu aktif terbaru. Informasi ini dipertahankan sehingga semua
node sumber dapat diberi tahu ketika link disepanjang jalur ke tujuan mengalami
II-15
break. Sebuah entri rute dianggap aktif jika entri dalam penggunaan node
tetangga. Jalur antara node sumber ke node tujuan yang disertai dengan paket di
sepanjang entri rute yang aktif disebut jalur yang aktif (active path).
Sebuah node mempertahankan entri tabel rute untuk setiap tujuan yang
penting. Setiap entri tebel rute berisi informasi sebagai berikut :
-
Tujuan (destination)
-
Next hop
-
Jumlah hop
-
Nomor urut destinasi
-
Active neighbour untuk rute ini.
-
Batas waktu entri tabel rute
Setiap kali entri rute digunakan untuk mengirimkan data dari sumber menuju
node tujuan, timeout entri diatur ulang menjadi waktu saat proses tersebut
ditambah dengan active_route_timeout.
Jika sebuah rute baru ditawarkan kepada sebuah node, node tersebut akan
membandingkan nomor urut destinasi yang baru dengan yang lama. Rute dengan
nomor urut yang lebih besar akan digunakan. Jika nomor urut bernilai sama, rute
yang baru akan dipilih hanya jika memiliki hop yang lebih sedikit. Berikut ini
algoritma routing protocol AODV.
STRUCT : RREQ (source_add, source_seq, broadcast_id, dest_id, dest_seq,
hop_cnt)
STRUCT : RREP (source_add, dest_add, dest_seq, hop_cnt, lifetime)
STRUCT : RRER (dest_add, dest_seq, hop_cnt)
INT : broadcast_idRecv ← 0
INT : source_add
INT : source_seq ← 0
INT : broadcast_id ← 0
INT : hop_cnt ← 0
INT : node
DOUBLE : lifetime
IF node = sent
source_add ← node
set (dest_add)
broadcast_id ← broadcast_id + 1
forward (RREQ)
END IF
II-16
WHILE broadcast_idRecv ˂ ˃ broadcast_id
IF node ˂ ˃ dest_add
set (source_seq ← source_seq + 1
hop_cnt ← hop_cnt + 1
)
forward (RREQ)
ELSE IF
broadcast_idRecv ← broadcast_id
END WHILE
IF node = dest_add
set (lifetime)
forward (RREP) → source_seq
ENDIF
IF !recv (RREP)
forward (RERR) → source_seq
END IF
2.4. DYMO (Dynamic Manet On-demand)
DYMO (Dynamic Manet On-demand) routing protocol juga merupakan
sebuah routing protocol yang bersifat reactive yang bekerja ketika dibutuhkan.
DYMO dibangun berdasarkan pengalaman dan pendekatan dari reactive routing
protocol sebelumnya, terutama dengan routing protocol AODV. Ini ditujukan
untuk desain yang sederhana, membantu mengurangi kebutuhan sistem untuk
node yang berpartisipasi, dan menyederhanakan implementasi protokol. DYMO
tidak menambahkan fitur tambahan atau memperpanjang protokol AODV,
melainkan menyederhanakannya tetapi tetap mempertahankan mode dasar
operasi.
Seperti hal dengan reactive routing protocol yang lain, DYMO terdiri dari dua
operasi protokol, yaitu penemuan rute dan pemeliharaan rute. Rute ditemukan
ketika sebuah node ingin mengirimkan data ke tujuan yang tidak terdapat pada
tabel routing. Sebuah pesan request akan dibanjiri di dalam jaringan dengan
menggunakan broadcast. Jika paket mencapai tujuan, maka pesan balasan akan
dikirim kembali berisi pesan discovered, dan akumulasi jalur.
Setiap entri tabel rute berisi informasi sebagai berikut :
-
Destination address
II-17
-
Nomor urut
-
Hop count
-
Next hop address
-
Next hop interface
-
Gateway
-
Prefix
-
Valid timeout
-
Delete timeout
2.4.1. Route Discovery
Ketika sebuah node ingin mengirimkan data ke node tujuan, maka node
tersebut akan menginisiasikan sebuah pesan RREQ.
Gambar 2.6. Proses Penemuan Jalur pada Routing DYMO
II-18
Proses penemuan jalur pada DYMO routing protocol diilustrasikan pada
gambar 2.6. pada gambar diinisialisasikan node 2 sebagai pengirim dan node 9
sebagai target tujuan. Hal yang pertama yang dilakukan pengirim adalah
menginisiasikan pesan request (RREQ). Di dalam pesan RREQ node 2 mengikut
sertakan alamat dan nomor urut dirinya sendiri sebelum ditambahkan pesan
request. Jumlah hop juga ditambahkan dengan menginisiasikan hop bernilai 1
kemudian menambahkan informasi tentang node target yaitu node 9.
Hal yang paling penting adalah informasi tentang target. Jika sipengirim
sudah mengetahui nomor urut target dan jumlah hop maka akan ditambahkan ke
dalam pesan. Pesan RREQ kemudian dibanjirkan ke dalam jaringan dengan
menggunakan broadcast. Setiap node yang meneruskan pesan RREQ akan
menambahkan informasi tentang dirinya, baik alamat, nomor urut, prefix, dan
informasi gateway ke dalam pesan RREQ.
Selama terjadi pengiriman pesan RREQ, node sumber menunggu pesan
balasan (RREP). Jika selama dalam waktu RREQ WAIT TIME tidak ada pesan
RREP yang diterima, maka node sumber akan mencoba melakukan broadcast
pesan RREQ lagi. Pada gambar 2.6 node 4 dan 6 menambahkan informasi tentang
diri mereka sendiri ke dalam pesan RREQ sebelum meneruskannya kembali.
Ketika sebuah node menerima pesan RREQ, node tersebut memproses pesan
RREQ kemudian membalas pesan tersebut dengan RREP yang berisi informasi
tentang target tujuan, yang pada gambar 2.6. node 9 adalah target. Informasi
RREP tersebut berisi tentang alamat tujuan, nomor urut, prefix, dan gateway.
Kemudian RREP dikirim kembali melalui jalur sebaliknya dengan menggunakan
unicast. Karena balasan dikrim melalui jalur sebaliknya, DYMO tidak
mendukung link asimetris.
2.4.2. Route Maintenance
Pemeliharaan jalur (route maintenance) adalah proses respon terhadap
perubahan topologi yang terjadi setelah inisialisasi rute telah dibuat. Untuk
menjada jalur, node-node terus-menerus memonitor dan memperbaharui timeout
yang valid pada entri tabel routing ketika menerima dan mengirimkan paket data.
Jika node menerima paket data untuk tujuan, dan node tersebut tidak memilki rute
II-19
untuk tujuan maka node tersebut akan merespon dengan pesan Router Error
(RERR). Ketika membuat pesan RERR, node membuat list yang berisi alamat dan
nomor urut node yang unreachable. Selain itu, node menambahkan semua entri di
tabel routing yang tergantung pada tujuan unreachable sebagai entri hop
berikutnya. Tujuannya adalah untuk memberi tahu tentang tambahan jalur yang
tidak tersedia.
Ketika node menerima pesan RERR, node tersebut membandingkan list node
yang ada dalam pesan RERR untuk menyesuaikan entri dalam tabel routing-nya.
Jika entri tabe rute untuk node dari RERR ada, dikatakan batal jika hop node
berikutnya sama dengan node RERR yang diterima dari dan nomor urut masuk
lebih besar dari atau sama dengan nomor urut yang ditemukan pada pesan RERR.
Jika entri tabel tidak valid, entri yang sesui dalam daftar node unreachable dari
RERR harus dihilangkan. Jika tidak ada entri yang tinggal, node tidak
menyebarkan RERR ini lebih lanjut (Bisoyi & Sahu, 2010). Berikut ini algoritma
routing protocol DYMO
STRUCT : RREQ (source_add, target_node, hop_cnt, forward_src)
STRUCT : RREP (source_add, target_node,
hop_cnt, forward_src,
forward_target)
STRUCT : RRER (forward_src, source_add, hop_cnt)
INT : source_add
INT : forward_src
INT : hop_cnt ← 1
INT : target_node
INT : forward_target
INT : node
DOUBLE : sent_time
DOUBLE : WAIT_TIME ← sent_time + 3
DOUBLE : current_time
IF node = sent
sent_time ← current_time
DO
source_add ← node
set (target_node)
forward (RREQ)
WHILE (WAIT_TIME – current_time) <= 0
END IF
IF receive(RREQ)
IF node ˂ ˃ target_node
II-20
set ( source_add
forward_src ← node
hop_cnt ← hop_cnt + 1
target_node
)
forward (RREQ)
END IF
END IF
IF receive(RREP)
END IF
IF node = target_node
TEMP_src ← source_add
TEMP_forward ← forward_src
source_add ← target_node
forward_src ← source_add
target_node ← TEMP_src
forward_target ← TEMP_forward
hop_cnt ← 1
set RREP (source_add, target_node,hop_cnt, forwad_src)
forward (RREP) → forward_target
ENDIF
IF !recv (RREP)
forward (RERR) → forward_src
END IF
2.5. NS2 (Network Simulator)
Network simulator merupakan alat simulasi jaringan yang bersifat open source
yang banyak digunakan untuk mempelajari struktur dinamik dari jaringan
komunikasi. NS2 pertama kali dibangun sebagai varian dan real network
simulator pada tahun 1989 di University of California Barkeley. Sejak tahun 1995
Defense Advanced Research Project Agency (DARPA) mendukung pembangunan
NS untuk proyek Virtual InterNetwork Testbed (VINT) dan sekarang National
Science Foundation (NSF) bergabung untuk pengembangannya (Issariyakul &
Hossain, 2009, p. 34).
2.5.1. Arsitektur Dasar NS2
NS2 terdiri dari dua bahasa pemrograman, yaitu C++ dan Object-oriented
Tool Command Language (OTcl). Ketika C++ mendefenisikan mekanisme
internal dari objek simulasi, OTcl menyiapkan simulasi dengan merakit dan
II-21
mengkonfigurasi objek serta penjadwalan event. C++ dan OTcl dihubungkan satu
dengan yang lain dengan menggunakan TclTL. Di dalam NS2 C++ menyimpan
semua fungsi untuk pengelolaan sedangkan OTcl bertindak sebagai bagian depan
yang berinteraksi langsung dengan user dan objek OTcl yang lain.
Gambar 2.7. Arsitektur Dasar NS2
Beberapa tool yang mendukung kinerja dari NS2 adalah dilengkapi denga
NAM yang menciptakan animasi dalam simulasi dan Xgraph untuk menampilkan
grafik dari hasil pengolahan data yang dilakukan.
Berikut ini beberapa keuntungan penggunaan NS2 sebagai simulator jaringan:
1. Mudah digunakan
2. Didukung bahasa pemrograman C++ yang mudah untuk dipahami oleh
pengguna
3. Didukung protokol TCP/IP pada lapisan OSI yang berbeda.
4.
Representasi dukungan grafis.
Didukung representasi grafis berupa Nam visual yang menunjukkan desain
topologi jaringan simulasi sebagai output dan juga menampilkan komunikasi
antar node mewakili pertukaran paket antar node dan juga didukung xgraph
yang digunakan untuk menampilkan hasil simulasi dalam bentuk grafik.
NS2 secara luas digunakan untuk penelitian tetapi memiliki beberapa
keterbatasan. Menggunakan jejak dan monitor untuk pengumpulan data.
Memantau hanya memberikan tampilan informasi perilaku antrian di jaringan
II-22
sedangkan Trace memberikan informasi log dari antrian paket, forwarding, dan
lain-lain.
NS2 tidak mendukung keterlambatan pemrosesan namun dukungan yang
berbeda seperti penundaan, propagasi, dan antrian. Tetapi traNSmisi ini memiliki
fungsi terbatas bila skenario jaringan besar (Faishal, 2013).
Berikut ini struktur flow diagram pada NS2 :
Gambar 2.8. Flow Diagram NS2
Download