• Tidak ada hasil yang ditemukan

BAB III ROUTING INFORMATION PROTOCOL (RIP)

3.1.1 Routing Loop

Protokol routing jenis distance-vector mengikuti semua perubahan pada internetwork dengan melakukan broadcasting update routing yang periodis, dimana broadcast ini diarahkan keluar dari semua interface-nya yang aktif. Broadcast ini mencakup tabel routing yang lengkap. Hal ini dapat bekerja dengan baik tetapi mahal dalam hal proses CPU dan bandwidth link. Dan jika ada kejadian sebuah network

putus, masalah dapat terjadi. Ditambah lagi, convergence yang lambat dari protokol routing jenis distance-vector dapat berakibat pada tabel routing yang tidak konsisten yang disebut routing loop.

Routing loop dapat terjadi karena semua router tidak ter-update secara serentak atau tidak bersamaan. Berikut adalah sebuah contoh pada Gambar 3.4[3], katakanlah interface ke network 5 gagal. Semua router mengetahui tentang network 5 dari router E. Router A, pada tabelnya memiliki sebuah jalur ke network 5 melalui router B.

Gambar 3.4 Contoh Routing Loop

Ketika network 5 gagal, router E memberitahu router C. Ini menyebabkan router C menghentikan routing ke network 5 melalui router E. Tetapi router A, B, dan D tidak tahu tentang gagalnya network 5 ini, sehingga router-router ini tetap mengirimkan informasi update keluar. Router C pada akhirnya akan mengirmkan update dari tabel routing-nya keluar dan menyebabkan router B menghentikan routing ke network 5, tetapi router A dan router D masih belum ter-update. Bagi router A dan D, network 5 masih tersedia melalui router B dengan metric 3.

Masalah terjadi ketika router A mengirimkan keluar sebuah pesan yang selalu dikirimkannya setiap 30 detik, yaitu yang kira-kira berbunyi, “Halo, saya masih disini – berikut adalah link-link yang saya ketahui”, dimana mencakup informasi tentang kemampuannya mencapai network 5 melalui router B. Ketika router B dan D menerima berita yang menyenangkan bahwa network 5 dapat dicapai dari router A, maka router-router ini akan mengirimkan informasi ke network lain bahwa network 5 masih tersedia melalui router A. Setiap paket yang ditujukan untuk network 5 akan pergi ke router A, lalu router B, dan karena tabel routing di B

ter-update dengan informasi bahwa network 5 dapat dicapai melalui router A, maka paket itu akan dikirimkannya kembali ke router A. Inilah yang disebut routing loop.

Ada beberapa mekanisme yang tersedia untuk menghindari routing loop khususnya pada protokol routing jenis distance vector. Mekanisme-mekanisme tersebut adalah:

1. Jumlah Hop Maksimum

Masalah routing loop yang baru saja digambarkan disebut counting to infinity (menghitung sampai tak terhingga) dan disebabkan oleh gosip dan informasi yang salah, yang dikomunikasikan dan disebarkan ke seluruh internetwork. Tanpa suatu jenis campur tangan, jumlah hop akan meningkat seacara terus-menerus setiap kali paket melalui sebuah router.

Satu cara untuk memecahkan masalah ini adalah dengan mendefinisikan sebuah jumlah hop maksimum. RIP mengizinkan sebuah jumlah hop sampai 15, jadi apapun yang memerlukan 16 hop akan dianggap tidak terjangkau (unreachable). Dengan kata lain, setelah sebuah loop yang terdiri dari 15 hop, network 5 akan dianggap down atau mati. Karena itu, jumlah hop maksimum akan mengendalikan berapa lama waktu yang diperlukan bagi sebuah entri tabel routing untuk menjadi tidak valid atau diragukan.

Meskipun ini sebuah solusi yang dapat dikerjakan, cara ini tidak dapat menghilangkan routing loop itu sendiri. Paket masih akan tetap berjalan di dalam loop , tetapi paket tersebut tidak akan berjalan terus tanpa pengecekan, mereka akan berputar-putar sebanyak 16 kali dan kemudian mati.

2. Split Horizon

Solusi lain untuk masalah routing loop adalah yang disebut split horizon. Hal ini mengurangi informasi routing yang salah dan mengurangi overhead (waktu pemrosesan) pada sebuah network yang distance-vector dengan cara menegakkan peraturan bahwa informasi routing tidak dapat dikirim kembali ke arah darimana informasi itu diterima.

Dengan kata lain, protokol routing membedakan dari interface mana sebuah route network dipelajari, dan segera setelah hal ini ditentukan, protokol routing tidak akan mengumumkan route tersebut kembali ke interface yang sama. Cara ini akan mencegah router A mengirimkan informasi update yang diterimanya dari router B kembali ke router B.

3. Route Poisoning

Cara lain untuk menghindari masalah-masalah yang disebabkan oleh update yang tidak konsisten dan menghentikan loop network adalah dengan apa yang disebut route poisoning atau meracuni route. Sebagai contoh, ketika network 5 mati, router E akan mengawali route poisoning dengan cara mengirimkan pengumuman bahwa network 5 memiliki jumlah hop 16 (tidak terjangkau). Poisoning pada route ke network 5 menjaga router C agar tidak menerima update yang tidak benar tentang route ke network 5. Ketika router C menerima sebuah route poisoning dari router E, router C akan mengirimkan sebuah update yang disebut poison reverse kembali ke router E. Ini memastikan agar semua route di segmen tersebut telah menerima informasi tentang route yang telah ‘diracuni’ itu (poisoned route).

Route poisoning dan split horizon menciptakan sebuah network distance-vector yang lebih tangguh dan dapat diandalkan dibandingkan dengan network yang tidak menggunakannya. Kedua teknik ini sangat baik dalam mencegah loop network.

4. Holddown

Sebuah holddown mencegah pesan update reguler untuk menggunakan kembali sebuah route yang hidup-mati atau terputus-putus (flapping). Biasanya, ini terjadi pada sebuah link serial yang kehilangan konektivitas atau terputus dan kemudian tersambung kembali. Jika tidak ada satu cara untuk menstabilkan link ini, network tidak akan pernah menjadi converge, dan

interface yang flapping tersebut dapat membuat seluruh internetwork menjadi down.

Holddown mencegah route-route dari perubahan yang terlalu cepat dengan memberitahukan waktu kepada route yang mati untuk hidup lagi atau agar network menjadi cukup stabil sebelum router mengubah route yang gagal tadi menjadi route terbaik berikutnya. Holddown juga memberitahukan router untuk membatasi, selama periode waktu tertentu, perubahan-perubahan yang mungkin mempengaruhi route-route yang baru saja dihapus. Hal ini mencegah agar route yang sudah tidak berfungsi tidak disimpan kembali sebelum waktunya di tabel routing router lain.

Ketika sebuah router menerima sebuah update dari router tetangga yang menunjukkan bahwa sebuah network yang sebelumnya bisa diakses menjadi tidak bekerja dan tidak bisa diakses, maka apa yang disebut holddown timer (pencatat waktu holddown) akan mulai bekerja. Jika sebuah update yang baru, tiba dari sebuah router tetangga dengan sebuah metric yang lebih baik daripada entri network yang asli, maka holddown akan dihapus dan data akan diewatkan. Tetapi jika sebuah update diterima dari router tetangga sebelum holddown timer tersebut habis, dan route itu memiliki metrik yang sama atau yang lebih rendah dari route sebelumnya, maka update itu akan dibiarkan dan holddown timer akan tetap berjalan. Hal ini akan memberikan lebih banyak waktu pada network untuk stabil sebelum mencoba melakukan converge (mengumpulkan tabel routing dari router lain).

Holddown menggunakan triggered updates (update yang dipicu), yang me-reset waktu dari holddown timer untuk memberitahu router tetangga tentang sebuah perubahan di network. Tidak seperti pesan update dari router tetangga, triggered updates menciptakan sebuah perubahan yang telah terdeteksi di internetwork.

Terdapat tiga kejadian dimana triggered updates akan me-reset holddown timer:

a. Holddown timer sudah habis (expired).

b. Update lain diterima dengan sebuah metric yang lebih baik.

c. Flush time, yang merupakan waktu dimana sebuah route akan ditahan sebelum dihapus, menghapus route dari tabel routing ketika timer mencapai waktunya.

Dokumen terkait