• Tidak ada hasil yang ditemukan

Protokol routing distance vector biasanya menggunakan sebuah algoritma routing dimana setiap router secara periodik mengirimkan update routing kepada semua tetangga (neighbor) dengan cara mem-broadcast seluruh isi tabel routing.

Algoritma Distance Vector memiliki ciri-ciri umum, yaitu: 1. Update Periodik

Update periodik berarti pada setiap rentang waktu tertentu, setiap router akan mengirimkan update routing. Perlu diperhatikan disini, jika frekuensi update terlalu sering, traffik bisa jadi terlalu padat dan membebani CPU router, jika frekuensi terlalu jarang, convergence time jadi terlalu lama.

2. Neighbors

Tetangga (Neighbor) bagi sebuah router berarti router lain yang berada pada data link yang sama. Protokol routing distance vector mengirimkan update-nya kepada router-router neighbor-nya dan bergantung pada neighbor untuk mengirimkan informasi update kepada neighbor mereka yang lain. Karena alasan inilah, routing distance vector disebut menggunakanupdate hop-by-hop.

3. Update Broadcast

Ketika router pertama kali aktif dalam network, bagaimana cara router tersebut menemukan router-router yang lain dan memberitahukan keberadaan dirinya sendiri. Cara paling sederhana adalah dengan mengirimkan update dengan tujuan address broadcast (255.255.255.255). Router-router tetangga yang menggunakan protokol routing yang sama akan menerima paket broadcast ini dan dapat mulai bertukar informasi sebagai neighbor.

4. Update Seluruh Tabel Routing

Kebanyakan protokol routing distance vector mengambil cara paling mudah untuk memberitahu neighbor semua yang diketahui dengan cara mem-broadcast keseluruhan isi tabel routing. Neighbor yang menerima update ini akan mengumpulkan informasi-informasi yang mereka butuhkan dan mengabaikan yang lainnya.

Gambar 2.25 berikut menunjukkan cara kerja algoritma distance vector. Dalam contoh ini, metric yang digunakan adalah hop count. Pada saat t0 Semua router baru saja aktif. Dengan melihat tabel routing pada baris paling atas, pada saat t0 informasi yang dimiliki oleh keempat router hanyalah network-network yang terhubung langsung (directly connected). Pada tabel hal ini diindikasikan dengan entri yang tidak

memiliki router next-hop dan hop count nya sama dengan 0. Setiap router akan mem-broadcast informasi ini pada setiap link yang terhubung pada masing-masing router.

Gambar 2.25 Tabel Routing Distance Vector

Pada saat t1, update pertama telah diterima dan diproses oleh semua router. Kita lihat pada tabel routing A, update dari router B pada A mengatakan bahwa Router B dapat mencapai network 10.1.2.0 dan 10.1.3.0, keduanya sejauh 0 hop. Jika network sejauh 0 hop dari B, berarti network tersebut sejauh 1 hop dari A. Router A menaikkan nilai hop sejauh 1 satuan dan memasukkan dalam tabel routing. Router A sudah mengetahui network 10.1.2.0 dengan hop count 0, jadi Router A mengabaikan informasi network 10.1.2.0 dengan hop count 1 (lebih besar dari hop count yang sudah diketahui Router A).

Tetapi, network 10.1.3.0 merupakan informasi yang baru bagi A, jadi informasi tersebut akan dimasukkan kedalam tabel routing-nya. Address source dari paket update tersebut adalah interface router B (10.1.2.2), dengan begitu, informasi yang dimasukkan akan memiliki address next-hop 10.1.2.2 dengan hop count sebesar

1. Router-router yang lain juga melakukan operasi yang sama pada saat yang sama (t1).

a. Route Invalidation Timers

Kini network pada gambar diatas telah convergence secara sempurna, Jika network 10.1.5.0 down, maka jawabnya adalah mudah, Router D pada update yang dijadwalkan akan memberikan tanda unreachable (tidak dapat dicapai) pada network tersebut dan mengirimkan informasi tersebut pada update.

Tetapi, bagaimana jika router D yang mengalami kegagalan (down)? Router A,B,dan C masih memiliki entri informasi network 10.1.5.0 pada tabel routing mereka; padahal informasi tersebut tidak valid lagi, tetapi tidak ada router yang menginformasikan hal ini. Router-router lain akan tetap memforward paket pada network yang tidak dapat dicapai (inreachable) tanpa mengetahui fakta yang terjadi.

Problem ini dapat ditangani dengan cara menyetting route invalidation timer untuk setiap entri dalam tabel routing. Misalnya, ketika C pertama kali mengenali network 10.1.5.0 dan memasukkan informasi network tersebut kedalam tabel routing, router C akan memberikan timer (pengukur waktu) untuk entri route tersebut. Setiap update rutin yang diterima dari Router D, C akan mengabaikan informasi network 10.1.5.0 yang telah dikenali dan pada saat yang sama mereset timer pada entri route tersebut.

Saat router D mengalami kegagalan, C tidak lagi mendapatkan update mengenai network 10.1.5.0. Timer akan terus berjalan dan akan berakhir, C akan menandai route sebagai unreachable (tidak dapat dijangkau) dan mengirimkan informasi tersebut pada update berikutnya.

b. Split Horizon

Split horizon adalah salah satu mekanisme untuk mencegah terjadi reverse route diantar 2 router. Sebuah update route yang diberikan kembali kepada router dimana paket informasi didapatkan disebut reverse route.

Fungsi terpenting dari protokol routing dinamik adalah untuk mendeteksi dan mengatasi problem perubahan pada topologi network jika jalur terbaik pada network tidak lagi dapat dijangkau, protokol harus mencari jalur terbaik berikutnya.

Kita lihat kembali pada network yang telah convergence pada gambar diatas, dan misalkan network 10.1.5.0 mengalami kegagalan atau down. Router D akan mendeteksi hal ini, dan menandai network sebagai unreachable (tidak dapat dijangkau), dan mengirimkan informasi tersebut kepada Router C pada interval update berikutnya. Akan tetapi, sebelum D mengirimkan update, update dari C tiba lebih dulu, dan meng-klaim bahwa router D dapat menjangkau network 10.1.5.0 sejauh 1 hop. Router C akan menaikkan hop count dan memasukkan informasi tersebut kedalam tabel routing yang mengindikasikan bahwa network 10.1.5.0 dapat dijangkau melalui interface Router C 10.1.4.1 sejauh 2 hop.

Kini paket yang ditujukan untuk address 10.1.5.3 tiba pada router C, yang kemudian akan memforward paket tersebut pada router D. Router D , dari informasi didalam tabel routing akan memforward paket tersebut ke Route C, C kembali ke D, dan begitu seterusnya. Terjadilah routing loop. Dengan mengimplementasikan split horizon kemungkinan terjadinya routing loop dapat dicegah.

Ada 2 kategori split horizon, yaitu simple split horizon dan split horizon with poisoned reverse. Atura pada simple split horizon adalah pada saat mengirimkan update keluar melalui suatu interface, jangan pernah menyertakan informasi-informasi network yang didapatkan dari update pada interface tersebut.

Gambar 2.26 Simple Split Horizon

Aturan pada split horizon with poisoned reverse adalah, ketika mengirim keluar update melalui suatu interface, maka setiap informasi network yang didapatkan dari interface tersebut ditandai sebagai unreachable.

Gambar 2.27 Split Horizon With Poisoned Reverse

c. Counting to Infinity

Split horizon akan dapat mencegah loop yang terjadi antar neighbor, tetapi tidak dapat menghentikan loop yang terjadi dalam network seperti pada gambar dibawah ini. Misalkan network 10.1.5.0 down. Router D mengirimkan update yang sesuai pada semua neighbornya, Router C (dengan tanda panah putus-putus) dan Router B (dengan tanda panah biasa). Router B akan menandai jalur via D sebagai unreachable, tetapi Router A meng-advertise jalur terbaik berikutnya untuk mencapai 10.1.5.0 yang adalah sejauh 3 hop. B memasukkan informasi ini pada tabel routing.

Gambar 2.28 Router Dalam Melakukan Counting-to-infinity

B kini memberitahukan D bahwa B memiliki jalur alternatif untuk network 10.1.5.0. D memasukkan informasi ini dan mengupdate C dengan mengatakan bahwa D memiliki jalur sejauh 4 hop. C memberi tahu pada A jalur 10.1.5.0 sejauh 5 hop. A memberitahu pada B network tersebut sejauh 6 hop.

B mengganti nilai hop count menjadi 7 dan mengupdate D, dan berputar terus seperti itu. Situasi ini disebut masalah counting-to-infinity karena hop count menuju 10.1.5.0 akan terus bertambah tak terbatas. Semua router mengimplementasikan split horizon tetapi tidak dapat membantu mengatasi masalah ini.

Umumnya, protokol distance vector mendefinisikan infinity sebesar 16 hop. Seiring dengan update yang terus berputar antar router pada gambar diatas, hop count pada network 10.1.5.0 pada semua router akhirnya akan mencapai nilai 16. Pada saat itu, network akan dianggap unreachable.

d. Triggered Updates

Triggered update, atau disebut juga flash update, sebenarnya sangat sederhana. Jika terdapat perubahan metric lebih baik atau lebih buruk, router akan langsung mengirimkan update tanpa menunggu periode update yang telah dijadwalkan. Re-convergence akan lebih cepat terjadi daripada jika semua router harus menunggu untuk mengirimkan update pada waktu yang telah dijadwalkan seperti biasanya,

masalah counting-to-infinity juga dapat dikurangi, walaupun tidak bisa dihilangkan secara sempurna. Update regular masih bisa terjadi bersama dengan triggered update. Karena itu setelah menerima update yang benar dari triggered update, router masih dapat menerima informasi route yang salah dari router yang belum re-convergence.

e. Holddown Timers

Jika hop count dari suatu network bertambah, router akan mengeset holddown timer untuk route network tersebut. Sampai timer tersebut berakhir, router tidak akan mau menerima update baru untuk route tersebut. Efek sampingnya, waktu untuk re-convergence jadi lebih lama. Tidak seperti timer yang lain, holddown timer harus di set secara hati-hati. Jika periode holddown timer terlalu pendek, akan jadi tidak effektif, jika terlalu lama, akan mempengaruhi proses routing normal.

2.5.4 RIP (Routing Information Protokol)

Routing Information Protocol (RIP) merupakan routing protokol yang menggunakan algoritma distance vector, yaitu algortima Bellman-Ford dan juga merupakan sebuah protokol routing dinamis yang digunakan dalam jaringan LAN (Local Area Network) dan WAN (Wide Area Network) [19].

RIP bekerja dengan menambahkan satu angka metrik kepada routing apabila melewati satu gateway. Satu kali data melewati satu gateway maka angka metriknya bertambah satu. Metrik berdasarkan pada jumlah lompatan (hop count) utuk pemilihan jalur, jika hop count lebih dari 15, maka paket dibuang. Jadi hop count yang ke-16 tidak dapat tercapai dan router akan memberikan pesan error destination is unreachable (tujuan tidak tercapai).

Setiap router dengan algoritma distance-vector, ketika pertama kali dijalankan hanya mengetahui cara routing ke dirinya sendiri (informasi lokal) dan tidak

mengetahui topologi jaringan tempatnya berada. Router kemudian mengirimkan informasi lokal tersebut dalam bentuk distance-vector ke semua link yang terhubung langsung dengannya. Router yang menerima informasi routing menghitung distance-vector, kemudian menambahkannya dengan metric link tempat informasi tersebut diterima, dan memasukkannya ke dalam entri forwarding table jika dianggap merupakan jalur terbaik. Informasi routing setelah penambahan metrik kemudian dikirim lagi ke seluruh interface router, dan ini dilakukan setiap selang waktu tertentu. Demikian seterusnya sehingga seluruh router di jaringan mengetahui topologi jaringan tersebut.

Cara krja RIP sebagai berikut:

1. Host mendengar pada alamat broadcast jika ada update routing dari gateway. 2. Host akan memeriksa terlebih dahulu routing table lokal jika menerima update

routing .

3. Jika rute belum ada, informasi segera dimasukkan ke routing table .Jika rute sudah ada, metric yang terkecil akan diambil sebagai acuan.

4. Rute melalui suatu gateway akan dihapus jika tidak ada update dari gateway tersebut dalam waktu tertentu

5. Khusus untuk gateway, RIP akan mengirimkan update routing pada alamat broadcast di setiap network yang terhubung

Gambar 2.29 Alur Kerja Routing Dinamis RIP selesai

mulai

setiap router memberitahukan besar vector yang tersedia ke router tetangga

menghitung jarak lompatan yang ditempuh ke x kemudian menyertakan ke dalam perhitungan

jarak ke x dari router tetangga

jarak ke x diketahui

setiap router mulai dengan sebuah vector jarak ke semua tabel routing router-router yang terhubung

ke jaringan intern router memperbaharui panjang jarak ke x semua router ke x sudah diperiksa

Varian berhubungan dengan interval waktu pada RIP , sebagai berikut:

1. Update timer adalah seberapa sering routing informasi pembaharuan dikirim secara periodik.

2. Invalid timer adalah waktu dimana jalurdinyatakan tidak berfungsi.

3. Hold down timer adalah interval waktu yang berlaku untuk semua antarmuka router yang menyatakan bahwa suatu jalur tidak dapat dicapai.

4. Flush timer adalah waktu dimana jalur dihapus dari tabel routing.

5. Konvergensi timer adalah waktu dimana semua router menyetujui semua informasi topologi jaringan serta perubahannya.

RIP memiliki kelebihan sebagai berikut [22]:

1. RIP menggunakan metode Triggered Update.

2. RIP memiliki timer untuk mengetahui kapan router harus kembali memberikan informasi routing. Jika terjadi perubahan pada jaringan, sementara timer belum habis, router tetap harus mengirimkan informasi routing karena dipicu oleh perubahan tersebut (triggered update).

3. Mengatur routing menggunakan RIP tidak rumit dan memberikan hasil yang cukup dapat diterima, terlebih jika jarang terjadi kegagalan link jaringan.

Selain itu, RIP juga memiliki beberapa kekurangan, yaitu [22]: 1. Jumlah host Terbatas.

2. RIP tidak memiliki informasi tentang subnet setiap route.

3. RIP tidak mendukung Variable Length Subnet Masking (VLSM). Ketika pertama kali dijalankan hanya mengetahui cara routing ke dirinya sendiri (informasi lokal) dan tidak mengetahui topologi jaringan tempatnya berada. 2.5.5. Algoritma Bellman-Ford

Algoritma Bellman-Ford menghitung jarak terpendek (dari satu sumber) pada sebuah digraph berbobot. Maksudnya dari satu sumber ialah bahwa ia menghitung semua jarak terpendek yang berawal dari satu titik node. Misalnya simpul sumber adalah s, dan akan dicari jalur terpendek dari s ke semua simpul yang lain pada graf G.

Algoritma Bellman-Ford memecahkan satu sumber terpendek-masalah di jalan umum kasus di mana bobot tepi mungkin negatif. Mengingat grafik, berbobot diarahkan G = (V, E) dengan sumber s dan berat fungsi w: E → R, algoritma

Bellman-Ford mengembalikan sebuah nilai yang menunjukkan apakah atau tidak ada siklus negatif- beban yang dicapai dari sumber. Jika ada semacam siklus, algoritma menunjukkan bahwa tidak ada solusi ada. Jika tidak ada siklus tersebut, algoritma menghasilkan jalur terpendek dan bobot mereka. Algoritma menggunakan relaksasi, semakin menurun perkiraan d [v] pada berat lintasan terpendek dari sumber s untuk setiap vertex V sampai mencapai sebenarnya terpendek-jalan berat δ (s, v). Algoritma mengembalikan TRUE jika dan hanya jika grafik tidak berisi negative weight siklus yang dicapai dari sumber.

d[v] = δ(s, v)

δ(s, u) + w(u, v) (by the triangle inequality) = d[u] + w(u, v),

Langkah-langkah algoritma BellmanFord adalah sebagai berikut:

1. Temukan jalur terpendek antara s dan simpul lainnya, sehingga jalur ini adalah paling banyak memiliki 1 lompatan (hop).

2. Cari jalur terpendek antara s dan simpul lainnya dengan memiliki paling banyak 2 lompatan.

3. Lakukan iterasi sampai jalur terpendek memiliki jumlah lompatan paling banyak berjumlah diameter dari graf. Diameter graf adalah jarak maksimum antara pasangan simpul pada graf, diukur dengan lompatan (hop).

Contohnya, seperti pada Gambar 2.30. Tentukan lintasan terpendek dari titik 1 ke titik 4. Langkah-langkah:

Gambar 2.30 Ilustrasi Menentukan Lintasan Terpendek

1. Tahap pertama adalah tahap inisialisasi yaitu dengan melabeli titik awal atau titik asal yaitu titik 1 dengan 0 dan titik-titik lainnya dengan :

2. Tahap kedua yaitu tahap proses iterasi untuk masing-masing sisi (1,2) anggota E maka: Jika d(1,2) > d(1,2 )+ w(2,3) maka d(1,2) diganti dengan d(1,2) + w(2,3) Akhirnya diperoleh d(1,4)=5+4+4=13. 2.6 Protokol

Protokol merupakan sekumpulan aturan yang mendefenisikan beberapa fungsi seperti pembuatan hubungan, mengirim pesan atau file, serta memecahkan berbagai masalah khusus yang berhubungan dengan komunikasi data antara alat-alat komunikasi tersebut supaya komunikasi dapat berjalan dan dilakukan dengan benar. Konsep dasar protokol adalah handshaking. Dengan adanya handshaking, maka masing-masing ujung pada jalur komunikasi akan terlihat oleh ujung yang lain. Ujung pemberi informasi akan terlihat oleh ujung yang akan mengirimkan informasi. Hal itu berarti bahwa data akan dikirim ketika penerima siap untuk menerima informasi sehingga pada saat pengiriman komunikasi akan terjadi dengan sukses. Secara umum, protokol komunikasi melaksanakan dua fungsi yaitu :

a. Membuat hubungan antara pengirim (sumber data) dengan penerima (receiver).

b. Menyalurkan informasi dengan tingkat kehandalan yang tinggi.

Dokumen terkait