Mengapa perlu router
Sebelum kita pelajari lebih jauh mengenai bagaimana mengkonfigurasi router cisco, kita perlu memahami lebih baik lagi mengenai beberapa aturan dasar routing. Juga tentunya kita harus memahami sistem penomoran IP,subnetting,netmasking dan saudara-saudaranya.
Contoh kasus:
Host X à 128.1.1.1 (ip Kelas B network id 128.1.x.x)
Host Y à 128.1.1.7 (IP kelas B network id 128.1.x.x)
Host Z à 128.2.2.1 (IP kelas B network id 128.2.x.x)
Pada kasus di atas, host X dan host Y dapat berkomunikasi langsung tetapi baik host X maupun Y tidak dapat berkomunikasi dengan host Z, karena mereka memiliki network Id yang berbeda. Bagaimana supaya Z dapat berkomunikasi dengan X dan Y ? gunakan router !
Contoh kasus menggunakan subnetting
Host P à 128.1.208.1 subnet mask 255.255.240.0
Host Q à 128.1.208.2 subnet mask 255.255.240.0
Host R à 128.1.80.3 subnet mask 255.255.240.0
Nah, ketika subnetting dipergunakan, maka dua host yang terhubung ke segmen jaringan yang sama dapat berkomunikasi hanya jika baik network id maupun subnetid-nya sesuai.Pada kasus di atas, P dan Q dapat berkomunikasi dengan langsung, R memiliki network id yang sama dengan P dan Q tetapi memiliki subnetidyang berbeda. Dengan demikian R tidak dapat berkomunikasi secara langsung dengan P dan Q. Bagaimana supaya R dapat berkomunikasi dengan P dan Q ? gunakan router !
Jadi fungsi router, secara mudah 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 perusahaan anda akan terhubung ke internet. Maka router akan berfungsi mengalirkan paket data dari perusahaan anda ke lembaga lain melalui internet, sudah barang tentu nomor jaringan anda akan bereda dengan perushaaan yang anda tuju.
Jika sekedar menghubungkan 2 buah jaringan, sebenarnya anda juga dapat menggunakan pc berbasis windows NT atau linux. Dengan memberikan 2 buah network card dan sedikit setting, sebenarnya anda telah membuat router praktis. Namun tentunya dengan segala keterbatasannya.
Di pasaran sangat beragam merek router, antara lain baynetworks, 3com dan cisco. Modul kursus kita kali ini akan membahas khusus cisco. Mengapa ? karena cisco merupakan router yang banyak dipakai dan banyak dijadikan standar bagi produk lainnya.
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.
Jika tidak menemukan sebuah baris pun dalam forwarding table yang sesuai dengan alamat tujuan, router akan memberikan pesan kepada pengirim bahwa alamat yang dimaksud tidak dapat dicapai. Kejadian ini dapat dianalogikan dengan pesan “kembali ke pengirim” pada pos biasa. Sebuah router juga dapat memberitahu bahwa dirinya bukan router terbaik ke suatu tujuan, dan menyarankan penggunaan router lain. Dengan ketiga fungsi yang terdapat pada router ini, host-host di Internet dapat saling terhubung.
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 Anda tentu dapat membayangkan bagaimana jika harus melengkapi forwarding table di setiap router yang jumlahnya tidak sedikit dalam jaringan yang besar. Apalagi jika Anda 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.
Interior Routing Protocol
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.
Setiap router dengan protokol distance-vector ketika pertama kali dijalankan hanya mengetahui cara routing ke dirinya sendiri (informasi lokal) dan tidak mengetahui topologi jaringan tempatnya berada. Router kemudia mengirimkan informasi lokal tersebut dalam bentuk distance-vector ke semua link yang terhubung langsung dengannya. Router yang menerima informasi routing menghitung distance-vector, menambahkan distance-vector dengan metrik 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 antarmuka router, dan ini dilakukan setiap selang waktu tertentu. Demikian seterusnya sehingga seluruh router di jaringan mengetahui topologi jaringan tersebut.
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 yang didefinisikan dalam RFC-1058 menggunakan metrik antara 1 dan 15, sedangkan 16 dianggap sebagai tak-hingga. Route dengan distance-vector 16 tidak dimasukkan ke dalam forwarding table. Batas metrik 16 ini mencegah waktu menghitung-sampai-tak-hingga yang terlalu lama. Paket-paket RIP secara normal dikirimkan setiap 30 detik atau lebih cepat jika terdapat triggered updates. Jika dalam 180 detik sebuah route tidak diperbarui, router menghapus entri route tersebut dari forwarding table. RIP tidak memiliki informasi tentang subnet setiap route. Router harus menganggap setiap route yang diterima memiliki subnet yang sama dengan subnet pada router itu. Dengan demikian, RIP tidak mendukung Variable Length Subnet Masking (VLSM).
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.
RIP merupakan protokol routing yang sederhana, dan ini menjadi alasan mengapa RIP paling banyak diimplementasikan dalam jaringan. Mengatur routing menggunakan RIP tidak rumit dan memberikan hasil yang cukup dapat diterima, terlebih jika jarang terjadi kegagalan link jaringan. Walaupun demikian, untuk jaringan yang besar dan kompleks, RIP mungkin tidak cukup. Dalam kondisi demikian, penghitungan routing dalam RIP sering membutuhkan waktu yang lama, dan menyebabkan terjadinya routing loop. Untuk jaringan seperti ini, sebagian besar spesialis jaringan komputer menggunakan protokol yang masuk dalam kelompok link-state
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.
Protokol yang digunakan untuk mengirimkan perubahan ini harus cepat dan dapat diandalkan. Ini dapat dicapai oleh protokol flooding. Dalam protokol flooding, pesan yang dikirim adalah perubahan dari basis data serta nomor urut pesan tersebut. Dengan hanya mengirimkan perubahan basis data, waktu yang diperlukan untuk pengiriman dan pemrosesan pesan tersebut lebih sedikit dibandingdengan mengirim seluruh isi basis data tersebut. Nomor urut pesan diperlukan untuk mengetahui apakah pesan yang diterima lebih baru daripada yang terdapat dalam basis data. Nomor urut ini berguna pada kasus link yang putus menjadi tersambung kembali.
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.
Rancangan OSPF menggunakan protokol link-state dengan beberapa penambahan fungsi. Fungsi-fungsi yang ditambahkan antara lain mendukung jaringan multi-akses, seperti X.25 dan Ethernet, dan membagi jaringan yang besar mejadi beberapa area.
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.
Dalam jaringan yang besar tentu dibutuhkan basis data yang besar pula untuk menyimpan topologi jaringan. Ini mengarah kepada kebutuhan memori router yang lebih besar serta waktu perhitungan route yang lebih lama. Untuk mengantisipasi hal ini, OSPF menggunakan konsep area dan backbone. Jaringan dibagi menjadi beberapa area yang terhubung ke backbone. Setiap area dianggap sebagai jaringan tersendiri dan router-router di dalamnya hanya perlu memiliki peta topologi jaringan dalam area tersebut. Router-router yang terletak di perbatasan antar area hanya mengirimkan ringkasan dari link-link yang terdapat dalam area dan tidak mengirimkan topologi area satu ke area lain. Dengan demikian, perhitungan route menjadi lebih sederhana.
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