IP Routing
Routing adalah mekanisme di mana sebuah mesin bisa menemukan untuk kemudian berhubungan dengan mesin lain. Diperlukan sebuah proses routing (distro BSD mendukung dengan routing daemon standar routed atau misal gated dalam hal yang lebih kompleks), atau secara mudah router dapat dikatakan, menghubungkan dua buah jaringan yang berbeda tepatnya mengarahkan rute yang terbaik untuk mencapai network yang diharapkan. Dalam implementasinya, router sering dipakai untuk menghubungkan jaringan antar lembaga atau perusahaan yang masing-masing telah memiliki jaringan dengan network id yang berbeda. Contoh lainnya yang saat ini populer adalah ketika suatu perusahaan akan terhubung ke internet. Maka router akan berfungsi mengalirkan paket data dari perusahaan tersebut ke lembaga lain melalui internet, sudah tentu nomor jaringan perusahaan tersebut akan berebeda dengan perusahaan yang dituju
Lebih jauh tentang routing
Data-data dari device yang terhubung ke Internet dikirim dalam bentuk datagram, yaitu paket data yang didefinisikan oleh IP. Datagram memiliki alamat tujuan paket data; Internet Protocol memeriksa alamat ini untuk menyampaikan datagram dari device asal ke device tujuan. Jika alamat tujuan datagram tersebut terletak satu jaringan dengan device asal, datagram langsung disampaikan kepada device tujuan tersebut. Jika ternyata alamat tujuan datagram tidak terdapat di jaringan yang sama, datagram disampaikan kepada router yang paling tepat (the best available router).
IP Router (biasa disebut router saja) adalah device yang melakukan fungsi meneruskan datagram IP pada lapisan jaringan. Router memiliki lebih dari satu antamuka jaringan (network interface) dan dapat meneruskan datagram dari satu antarmuka ke antarmuka yang lain. Untuk setiap datagram yang diterima, router memeriksa apakah datagram tersebut memang ditujukan ke dirinya. Jika ternyata ditujukan kepada router tersebut, datagram disampaikan ke lapisan transport.
Jika datagram tidak ditujukan kepada router tersebut, yang akan diperiksa adalah forwarding table yang dimilikinya untuk memutuskan ke mana seharusnya datagram tersebut ditujukan. Forwarding table adalah tabel yang terdiri dari pasangan alamat IP (alamat host atau alamat jaringan), alamat router berikut, dan antarmuka tempat keluar datagram.
Statik dan Dinamik
Secara umum mekanisme koordinasi routing dapat dibagi menjadi dua: routing statik dan routing dinamik. Pada routing statik, entri-entri dalam forwarding table router diisi dan dihapus secara manual, sedangkan pada routing dinamik perubahan dilakukan melalui protokol routing. Routing statik adalah pengaturan routing paling sederhana yang dapat dilakukan pada jaringan komputer. Menggunakan routing statik murni dalam sebuah jaringan berarti mengisi setiap entri dalam forwarding table di setiap router yang berada di jaringan tersebut.
Penggunaan routing statik dalam sebuah jaringan yang kecil tentu bukanlah suatu masalah; hanya beberapa entri yang perlu diisikan pada forwarding table di setiap router. Namun kita dapat membayangkan bagaimana jika harus melengkapi forwarding table di setiap router yang jumlahnya tidak sedikit dalam jaringan yang besar. Apalagi jika kita ditugaskan untuk mengisi entri-entri di seluruh router di Internet yang jumlahnya banyak sekali dan terus bertambah setiap hari. Tentu repot sekali!
Routing dinamik adalah cara yang digunakan untuk melepaskan kewajiban mengisi entri-entri forwarding table secara manual. Protokol routing mengatur router-router sehingga dapat berkomunikasi satu dengan yang lain dan saling memberikan informasi routing yang dapat mengubah isi forwarding table, tergantung keadaan jaringannya. Dengan cara ini, router-router mengetahui keadaan jaringan yang terakhir dan mampu meneruskan datagram ke arah yang benar.
Pada awal 1980-an Internet terbatas pada ARPANET, Satnet (perluasan ARPANET yang menggunakan satelit), dan beberapa jaringan lokal yang terhubung lewat gateway. Dalam perkembangannya, Internet memerlukan struktur yang bersifat hirarkis untuk mengantisipasi jaringan yang telah menjadi besar. Internet kemudian dipecah menjadi beberapa autonomous system (AS) dan saat ini Internet terdiri dari ribuan AS. Setiap AS memiliki mekanisme pertukaran dan pengumpulan informasi routing sendiri.
Protokol yang digunakan untuk bertukar informasi routing dalam AS digolongkan sebagai interior routing protocol (IRP). Hasil pengumpulan informasi routing ini kemudian disampaikan kepada AS lain dalam bentuk reachability information. Reachability information yang dikeluarkan oleh sebuah AS berisi informasi mengenai jaringan-jaringan yang dapat dicapai melalui AS tersebut dan menjadi indikator terhubungnya AS ke Internet. Penyampaian reachability information antar-AS dilakukan menggunakan protokol yang digolongkan sebagai exterior routing protocol (ERP).
IRP yang dijadikan standar di Internet sampai saat ini adalah Routing Information Protocol (RIP) dan Open Shortest Path First (OSPF). Di samping kedua protokol ini terdapat juga protokol routing yang bersifat proprietary tetapi banyak digunakan di Internet, yaitu Internet Gateway Routing Protocol (IGRP) dari Cisco System. Protokol IGRP kemudian diperluas menjadi Extended IGRP (EIGRP). Semua protokol routing di atas menggunakan metrik sebagai dasar untuk menentukan jalur terbaik yang dapat ditempuh oleh datagram. Metrik diasosiasikan dengan “biaya” yang terdapat pada setiap link, yang dapat berupa throughput (kecepatan data), delay, biaya sambungan, dan keandalan link.
I. Routing Information Protocol
RIP (akronim, dibaca sebagai rip) termasuk dalam protokol distance-vector, sebuah protokol yang sangat sederhana. Protokol distance-vector sering juga disebut protokol Bellman-Ford, karena berasal dari algoritma perhitungan jarak terpendek oleh R.E. Bellman, dan dideskripsikan dalam bentuk algoritma-terdistribusi pertama kali oleh Ford dan Fulkerson.
Protokol distance-vector memiliki kelemahan yang dapat terlihat apabila dalam jaringan ada link yang terputus. Dua kemungkinan kegagalan yang mungkin terjadi adalah efek bouncing dan menghitung-sampai-tak-hingga (counting to infinity). Efek bouncing dapat terjadi pada jaringan yang menggunakan metrik yang berbeda pada minimal sebuah link. Link yang putus dapat menyebabkan routing loop, sehingga datagram yang melewati link tertentu hanya berputar-putar di antara dua router (bouncing) sampai umur (time to live) datagram tersebut habis.
Menghitung-sampai-tak-hingga terjadi karena router terlambat menginformasikan bahwa suatu link terputus. Keterlambatan ini menyebabkan router harus mengirim dan menerima distance-vector serta menghitung metrik sampai batas maksimum metrik distance-vector tercapai. Link tersebut dinyatakan putus setelah distance-vector mencapai batas maksimum metrik. Pada saat menghitung metrik ini juga terjadi routing loop, bahkan untuk waktu yang lebih lama daripada apabila terjadi efek bouncing..
RIP tidak mengadopsi protokol distance-vector begitu saja, melainkan dengan melakukan beberapa penambahan pada algoritmanya agar routing loop yang terjadi dapat diminimalkan. Split horizon digunakan RIP untuk meminimalkan efek bouncing. Prinsip yang digunakan split horizon sederhana: jika node A menyampaikan datagram ke tujuan X melalui node B, maka bagi B tidak masuk akal untuk mencapai tujuan X melalui A. Jadi, A tidak perlu memberitahu B bahwa X dapat dicapai B melalui A.
Untuk mencegah kasus menghitung-sampai-tak-hingga, RIP menggunakan metode Triggered Update. 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). Dengan demikian, router-router di jaringan dapat dengan cepat mengetahui perubahan yang terjadi dan meminimalkan kemungkinan routing loop terjadi.
RIP versi 2 (RIP-2 atau RIPv2) berupaya untuk menghasilkan beberapa perbaikan atas RIP, yaitu dukungan untuk VLSM, menggunakan otentikasi, memberikan informasi hop berikut (next hop), dan multicast. Penambahan informasi subnet mask pada setiap route membuat router tidak harus mengasumsikan bahwa route tersebut memiliki subnet mask yang sama dengan subnet mask yang digunakan padanya.
RIP-2 juga menggunakan otentikasi agar dapat mengetahui informasi routing mana yang dapat dipercaya. Otentikasi diperlukan pada protokol routing untuk membuat protokol tersebut menjadi lebih aman. RIP-1 tidak menggunakan otentikasi sehingga orang dapat memberikan informasi routing palsu. Informasi hop berikut pada RIP-2 digunakan oleh router untuk menginformasikan sebuah route tetapi untuk mencapai route tersebut tidak melewati router yang memberi informasi, melainkan router yang lain. Pemakaian hop berikut biasanya di perbatasan antar-AS.
RIP-1 menggunakan alamat broadcast untuk mengirimkan informasi routing. Akibatnya, paket ini diterima oleh semua host yang berada dalam subnet tersebut dan menambah beban kerja host. RIP-2 dapat mengirimkan paket menggunakan multicast pada IP 224.0.0.9 sehingga tidak semua host perlu menerima dan memproses informasi routing. Hanya router-router yang menggunakan RIP-2 yang menerima informasi routing tersebut tanpa perlu mengganggu host-host lain dalam subnet.
II. Open Shortest Path First (OSPF)
Teknologi link-state dikembangkan dalam ARPAnet untuk menghasilkan protokol yang terdistribusi yang jauh lebih baik daripada protokol distance-vector. Alih-alih saling bertukar jarak (distance) ke tujuan, setiap router dalam jaringan memiliki peta jaringan yang dapat diperbarui dengan cepat setelah setiap perubahan topologi. Peta ini digunakan untuk menghitung route yang lebih akurat daripada menggunakan protokol distance-vector. Perkembangan teknologi ini akhirnya menghasilkan protokol Open Shortest Path First (OSPF) yang dikembangkan oleh IETF untuk digunakan di Internet. Bahkan sekarang Internet Architecture Board (IAB) telah merekomendasikan OSPF sebagai pengganti RIP.
Prinsip link-state routing sangat sederhana. Sebagai pengganti menghitung route “terbaik” dengan cara terdistribusi, semua router mempunyai peta jaringan dan menghitung semua route yang terbaik dari peta ini. Peta jaringan tersebut disimpan dalam sebuah basis data dan setiap record dalam basis data tersebut menyatakan sebuah link dalam jaringan. Record-record tersebut dikirimkan oleh router yang terhubung langsung dengan masing-masing link.
Karena setiap router perlu memiliki peta jaringan yang menggambarkan kondisi terakhir topologi jaringan yang lengkap, setiap perubahan dalam jaringan harus diikuti oleh perubahan dalam basis data link-state yang terletak di setiap router. Perubahan status link yang dideteksi router akan mengubah basis data link-state router tersebut, kemudian router mengirimkan perubahan tersebut ke router-router lain.
Pada saat terdapat link putus dan jaringan menjadi terpisah, basis data kedua bagian jaringan tersebut menjadi berbeda. Ketika link yang putus tersebut hidup kembali, basis data di semua router harus disamakan. Basis data ini tidak akan kembali sama dengan mengirimkan satu pesan link-state saja. Proses penyamaan basis data pada router yang bertetangga disebut sebagai menghidupkan adjacency. Dua buah router bertetangga disebut sebagai adjacent bila basis data link-state keduanya telah sama. Dalam proses ini kedua router tersebut tidak saling bertukar basis data karena akan membutuhkan waktu yang lama.
Proses menghidupkan adjacency terdiri dari dua fasa.Fasa pertama, kedua router saling bertukar deskripsi basis data yang merupakan ringkasan dari basis data yang dimiliki setiap router. Setiap router kemudian membandingkan deskripsi basis data yang diterima dengan basis data yang dimilikinya. Pada fasa kedua, setiap router meminta tetangganya untuk mengirimkan record-record basis data yang berbeda, yaitu bila router tidak memiliki record tersebut, atau nomor urut record yang dimiliki lebih kecil daripada yang dikirimkan oleh deskripsi basis data. Setelah proses ini, router memperbarui beberapa record dan ini kemudian dikirimkan ke router-router lain melalui protokol flooding.
Protokol link-state lebih baik daripada protokol distance-vector disebabkan oleh beberapa hal: waktu yang diperlukan untuk konvergen lebih cepat, dan lebih penting lagi protokol ini tidak menghasilkan routing loop. Protokol ini mendukung penggunaan beberapa metrik sekaligus. Throughput, delay, biaya, dan keandalan adalah metrik-metrik yang umum digunakan dalam jaringan. Di samping itu protokol ini juga dapat menghasilkan banyak jalur ke sebuah tujuan. Misalkan router A memiliki dua buah jalur dengan metrik yang sama ke host B. Protokol dapat memasukkan kedua jalur tersebut ke dalam forwarding table sehingga router mampu membagi beban di antara kedua jalur tersebut.
Telah dijelaskan di atas bahwa setiap router dalam protokol link-state perlu membentuk adjacency dengan router tetangganya. Pada jaringan multi-akses, tetangga setiap router dapat lebih dari satu. Dalam situasi seperti ini, setiap router dalam jaringan perlu membentuk adjacency dengan semua router yang lain, dan ini tidak efisien. OSPF mengefisienkan adjacency ini dengan memperkenalkan konsep designated router dan designated router cadangan. Semua router hanya perlu adjacent dengan designated router tersebut, sehingga hanya designated router yang adjacent dengan semua router yang lain. Designated router cadangan akan mengambil alih fungsi designated router yang gagal berfungsi.
Langkah pertama dalam jaringan multi-akses adalah memilih designated router dan cadangannya. Pemilihan ini dimasukkan ke dalam protokol Hello, protokol dalam OSPF untuk mengetahui tetangga-tetangga router dalam setiap link. Setelah pemilihan, baru kemudian router-router membentuk adjacency dengan designated router dan cadangannya. Setiap terjadi perubahan jaringan, router mengirimkan pesan menggunakan protokol flooding ke designated router, dan designated router yang mengirimkan pesan tersebut ke router-router lain dalam link.
Designated router cadangan juga mendengarkan pesan-pesan yang dikirim ke designated router. Jika designated router gagal, cadangannya kemudian menjadi designated router yang baru serta dipilih designated router cadangan yang baru. Karena designated router yang baru telah adjacent dengan router-router lain, tidak perlu dilakukan lagi proses penyamaan basis data yang membutuhkan waktu yang lama tersebut.
Kesederhanaan vs. Kemampuan
Kita sudah lihat sepintas bagaimana RIP dan OSPF bekerja. Setiap protokol routing memiliki kelebihan dan kekurangannya masing-masing. Protokol RIP sangat sederhana dan mudah diimplementasikan tetapi dapat menimbulkan routing loop. Protokol OSPF merupakan protokol yang lebih rumit dan lebih baik daripada RIP tetapi membutuhkan memori dan waktu CPU yang besar.
Di berbagai tempat juga terdapat yang menggunakan gabungan antara routing statik, RIP, RIP-v2, dan OSPF. Hasilnya di jaringan ini menunjukkan bahwa administrasi routing statik jauh lebih memakan waktu dibanding routing dinamik. Pengamatan pada protokol routing dinamik juga menunjukkan bahwa RIP menggunakan bandwidth yang lebih besar daripada OSPF dan semakin besar jaringan, bandwidth yang digunakan RIP bertambah lebih besar pula. Jadi, jika Anda sedang mendesain jaringan TCP/IP yang besar tentu OSPF merupakan pilihan protokol routing yang tepat.
Tidak ada komentar:
Posting Komentar