Wednesday, 18 May 2011

Memahami Routing Protocol

Dalam suatu jaringan local atau LAN, maka umumnya semua piranti jaringan terhubung dengan satu atau beberapa Switch dengan menggunakan kabel LAN. Lain halnya dengan jaringan wireless, piranti wireless adapter terhubung dengan menggunakan frequency radio.
Sementara untuk koneksi jaringan antar LAN melalui WAN, mereka masing-masing terhubung lewat router dan routing protocol. Router Cisco anda, dia bisa mengirim dan melewatkan paket hanya jika dia sudah diprogram di routing tablenya. Agar sebuah router bisa me-route / melewatkan packet, minimal sebuah router harus mengetahui:
  • Alamat (IP) Penerima
  • Router tetangganya, yang dengan itu ia bisa mempelajari jaringan lebih luas
  • Route/lintasan yang bisa dilewati
  • Route terbaik ke setiap jaringan
  • Informasi routing
Memahami routing
Routing adalah process transfer data melewati internetwork dari satu jaringan LAN ke jaringan LAN lainnya. Sementara suatu Bridge menghubungkan segmen-2 jaringan dan berbagi traffic seperlunya menurut address hardware. Suatu router menerima dan mem-forward traffic sepanjang jalur yang sesuai / tepat menurut address software. Konsequensinya, Bridges beroperasi pada layer Data Link (Layer 2) pada model OSI, makanya Bridge disebut piranti layer 2. Sementara Router bekerja pada layer Network / Layer 3 dan lazim disebut sebagai piranti layer 3.
Didalam IP network, routing dilakukan menurut table IP routing. Semua IP hosts menggunakan routing table untuk melewatkan / forward traffic yang diterima dari router lain atau hosts.
Memahami Routing - Komunikasi Internetwork
Memahami Routing - Komunikasi Internetwork
IP routing Protocol
IP routing protocol memberikan komunikasi antar router. IP routing protocol mempunyai satu tujuan utama – mengisi routing table dengan jalur (route) terbaik dan terkini yang bisa dia dapatkan. Walaupun kelihatan nya simple, akan tetapi dalam proses dan opsinya sangat rumit. Beberapa terminology perlu juga dipahami dalam kaitannya dengan routing protocol ini.
  • Routing protocol mengisi table routing dengan informasi routing, misal RIP atau IGRP
  • Routed protocol adalah protocol dengan karakteristic layer 3 network layer yang men-definisikan logical addressing dan routing, misal IP dan IPX. Packet-2 yang didefinisikan oleh porsi network layer dari protocol-2 ini bisa di routed / dilewatkan.
  • Routing type merujuk pada routing protocol seperti link-state atau distance-vector.
IP routing table mengisi routing table dengan lintasan yang valid dan bebas loop, disamping itu routing protocol juga menjaga terjadinya looping. Route / lintasan yang ditambahkan ke dalam tebel routing berisi
  • Subnet number, misal 172.200.100.0
  • interface out – dimana paket akan diforward dan dikirim ke subnet tersebut, missal s0, s1, atau eo
  • IP address dari router berikutnya atau hop berikutnya yang seharusnya menerima paket ditujukan ke subnet tersebut
Secara umum routing protocols mempunyai beberapa tujuan seperti dirangkum berikut ini:
  • Secara dinamis mempelajari dan mengisi routing table dengan sebuah lintasan bagi semua subnet yang ada dalam jaringan
  • Jika ada lebih dari satu lintasan untuk sebuah subnet, maka routing protocol menempatkan lintasan terbaik ke dalam routing table.
  • Memberitahukan jikalau lintasan dalam routing table tidak lagi valid, dan menghapus lintasan tersebut dari rauting table
  • Jika suatu lintasan di dalam routing table di hapus dan lintasan lain yang dipelajari dari router sekitarnya tersedia, maka akan ditambahkan ke routing table.
  • Untuk menambahkan lintasan baru, atau mengganti lintasan dengan yang baru secepat mungkin. Waktu antara hilangnya route / lintasan dan usaha mendapatkan lintasan baru penggantinya disebut convergence time.
  • Yang terakhir adalah mencegah terjadinya routing loops.
Adalah sangat perlu untuk memahami konsep dan metoda yang melibatkan routing agar memudahkan kita nantinya dalam administrasi router.
Autonomous Systems dan Routing Protocols
Seperti kita ketahui suatu router menghubungkan dua network / jaringan. Sebuah network / jaringan adalah sebuah segmen dengan address network yang unik. Akan tetapi dengan IP, istilah network bisa mendefinisikan dua arti yang berbeda:
  • Sebuah segmen dengan sebuah IP address unik (biasanya merujuk pada sebuah subnet)
  • Sebuah IP Address network yang diberikan kepada suatu organisasi (organisasi tersebut bisa men-subnet address kedalam beberapa address network)
Setiap organisasi yang diberikan sebuah address network dari ISP dianggap sebagai suatu “autonomous system (AS)”. Setelah itu organisasi tersebut bisa saja bebas membentuk satu jaringan yang besar, atau membagi network nya ke dalam subnet-2.
Memahami routing - Autonomous System
Memahami routing - Autonomous System
Pada diagram diatas ini adalah sebuah Autonomous System atau AS. Dari luar (ISP) Autonomous System ini secara keseluruhan diidentifikasikan sebagai sebuah network address class B. Didalam Autonomous System, router digunakan untuk membagi network kedalam subnet-2. Router yang ada didalam Autonomous System hanya mengetahui route / jalur yang ada didalam Autonomous System itu sendiri, akan tetapi tidak memantain informasi tentang route diluar Autonomous System. Router yang ada di border / perbatasan Autonomous System disebut sebagai AS border router. router ini memaintain informasi route baik route di dalam maupun diluar border router AS.
Setiap Autonomous System diidentifikasikan oleh sebuah nomor AS. Nomor AS ini bisa secara local di administrasi, atau di register ke Internet jika memang bersinggungan dengan public network / internet.
Router-2 didalam suatu Autonomous System digunakan untuk men-segment (subnet) suatu network. dan juga, router-2 tersebut bisa digunakan untuk menghubungkan beberapa AS secara bersama. Router menggunakan routing protocol untuk secara dinamis menemukan jalur / route, membangun routing table, dan membuat keputusan tentang bagaimana harus mengirim paket melalui internetwork.
Routing protocol bisa diklasifikasikan berdasarkan apakah mereka melewatkan traffic didalam atau antara Autonomous System.
  • Interior Gateway Protocol (IGP) – protocol yang melewatkan traffic didalam Autonomous System
  • Exterior Gateway Protocol (EGP) – protocol yang melewatkan traffic keluar atau antar Autonomous System
  • Border Gateway Protocol (BGP) – adalah versi pengembangan dari EGP yang melewatkan traffic antar Autonomous System.
Memahami Routin - IGP dan EGP
Memahami Routin - IGP dan EGP
Pada diagram ini adalah sebuah Autonomous System yang terhubung ke internet melalui router ISP. Router-2 yang ada didalam Autonomous System menjalankan Interior Gateway Protocol (IGP) untuk mencari route didalam Autonomous System. AS border router yang menghubungkan antara Autonomous System dan ISP menjalankan kedua Interior Gateway Protocol (IGP) agar bisa berkomunikasi dengan router-2 didalam Autonomous System, dan Exterior Gateway Protocol (EGP) agar bisa berkomunikasi dengan router diluar Autonomous System. Border router AS ini mengumpulkan informasi routing diluar Autonomous System.
Berikut ini adalah IP routing protocol yang didukung oleh router Cisco.
  • RIP (Routing Information Protocol)
  • IGRP (Interior Gateway Routing Protocol)
  • IS-IS (Intermediate System-to-Intermediate System)
  • OSPF (Open Shortest Path First OSPF)
Distance Vector Routing
RIP dan IGRP keduanya menggunakan metoda distance vector routing, walaupun IGRP menawarkan banyak pengembangan dari RIP.
Memahami Routing - Hop Count
Memahami Routing - Hop Count
Pada contoh berikut, kita menggunakan hop count sebagai suatu metric cost untuk mengetahui network. Router #1 hanya mengetahui network-2 yang terhubung kepada router tersebut saja yaitu network A dan B. Dan masing-2 network mempunyai harga 1 hop count untuk melintas dari satu network A ke B atau sebaliknya. Pengetahuan ini di broadcast kepada router-2 tetangganya, sehingga router #2 yang hanya mengetahui network B dan C menambah dalam tabelnya dengan pengetahuan network A yaitu 2 hop count.
Router #2 mengetahui network yang terhubung kepadanya saja yaitu network B dan C, dan membroadcast pengetahuannya kepada router #3 dan router #1. Router #1 menambah dalam tabelnya network C yang berharga 2 hop count. Router #3 yang hanya mengetahui network C dan D menambah dalam tabelnya network B yang berharga 2 hop count. Begitu seterusnya router-2 memperlajari routing information dari router disebelahnya sehingga bisa digambarkan seperti pada table dibawah berikut ini setelah semua router mencapai convergence.
Router 1 Router 2 Router 3
Network A = 1 hop Network A = 2 hop Network A = 3 hop
Network B = 1 hop Network B = 1 hop Network B = 2 hop
Network C = 2 hop Network C = 1 hop Network C = 1 hop
Network D = 3 hop Network D = 2 hop Network D = 1 hop
Distance Vector routing mempunyai prinsip-2 berikut:
  • Router mengirim update hanya kepada router tetangganya
  • Router mengirim semua routing table yang diketahuinya kepada router tetangganya
  • Table ini dikirim dengan interval waktu tertentu, dimana setiap router dikonfigure dengan interval update masing-2
  • Router memodifikasi tabelnya berdasarkan informasi yang diterima dari router teangganya.
Karena router-2 menggunakan metoda distance vector routing dalam mengirim informasi table routing secara keseluruhan dengan interval waktu yang tertentu, mereka ini rentan terhadap suatu kondisi yang disebut routing loop (juga disebut sebagai kondisi count-to-infinity). Seperti halnya dengan bridging loop pada STP, routing loop terjadi jika dua router berbagi informasi yang berbeda.
Metoda-2 berikut dapat digunakan untuk meminimalkan efek dari routing loop:
  • Split horizon, metoda split ini memungkinkan router melakukan trackin terhadap datang nya informasi dari router mana. Router tidak melaporkan informasi routing kepada router pada jalur yang sama. Dengan kata lain router tidak melaporkan informasi kembali kepada router yang memberi informasi tersebut.
Distance Vector -Split Horizon
Distance Vector -Split Horizon
  • Split horizon dengan Poison reverse, atau disebut juga metoda poison reverse. Router-2 tetap mengirim informasi route kembali kepada router pada hop berikutnya, akan tetapi mengabarkan jalur tersebut sebagai unreachable. Jika router pada hop berikutnya tadi mengetahui kalau jalur / router tersebut masih bisa dicapai, maka informasi diabaikan. Jika jalur ternyata time-out, maka route segera di set sebagai unreachable. Convergence terjadi lebih cepat dengan metoda poison reverse dibandingkan simple split horizon. Akan tetapi menghasilkan traffic yang lebih besar sebab seluruh routing table di broadcast setiap kali suatu update dikirim.
Distance Vector - Split Horizon dg Poison Reverse
Distance Vector - Split Horizon dg Poison Reverse
  • Triggered updates, router-2 yang menerima informasi yang diupdate (perubahan) akan mem-broadcast perubahan tersebut segera ketimbang menunggu interval. Dengan cara ini router mem-broadcast routing table secara periodic, akan tetapi jika ada perubahan maka router segera mem-broadcast langsung perubahan tersebut.
Distance Vector - Triggered Method
Distance Vector - Triggered Method
  • Hold downs, dengan metoda ini, router-2 akan “hold” (menahan) suatu update yang berusaha mengembalikan link yang expired. Periode waktu umumnya merefleksikan waktu yang diperlukan untuk mencapai convergence pada network.
Distance Vector - Hold down
Distance Vector - Hold down
Metoda Distance Vector mempunyai keuntungan berikut:
  • Relative terbukti stabil, yang merupakan algoritme original routing
  • Relative gampang dipelihara dan di implementasikan
  • Kebutuhan bandwidth bisa diabaikan untuk environment LAN typical.
Kerugian dari Distance vector adalah sebagai berikut:
  • Membutuhkan waktu yang relative lama untuk mencapai convergence (update dikirim dengan interval waktu tertentu).
  • Router melakukan kalkulasi routing table nya sebelum mem-forward perubahan tabelnya
  • Rentan terjadinya routing loop
  • Kebutuhan bandwidth bisa sangat besar untuk WAN atau environment LAN yang kompleks.

Static Route

Pada suatu jaringan bisnis berskala besar atau enterprise yang terdiri dari banyak lokasi yang tersebar secara remote, maka komunikasi antar site dengan management routing protocol yang bagus adalah suatu keharusan. Baik static route ataupun dynamic routing haruslah di design sedemikian rupa agar sangat efficient.
Suatu static route adalah suatu mekanisme routing yang tergantung dengan routing table dengan konfigurasi manual. Disisi lain dynamic routing adalah suatu mekanisme routing dimana pertukaran routing table antar router yang ada pada jaringan dilakukan secara dynamic. Lihat juga artikel memahami IP routing protocols.
Dalam skala jaringan yang kecil yang mungkin terdiri dari dua atau tiga router saja, pemakaian static route lebih umum dipakai. Static router (yang menggunakan solusi static route) haruslah di configure secara manual dan dimaintain secara terpisah karena tidak melakukan pertukaran informasi routing table secara dinamis dengan router-router lainnya. Lihat juga artikel tentang memahami hardware router.
Suatu static route akan berfungsi sempurna jika routing table berisi suatu route untuk setiap jaringan didalam internetwork yang mana dikonfigure secara manual oleh administrator jaringan. Setiap host pada jaringan harus dikonfigure untuk mengarah kepada default route atau default gateway agar cocok dengan IP address dari interface local router, dimana router memeriksa routing table dan menentukan route yang mana digunakan untuk meneruskan paket. Lihat juga DNS forwarding untuk memahami default gateway.
Konsep dasar dari routing adalah bahwa router meneruskan IP paket berdasarkan pada IP address tujuan yang ada dalam header IP paket. Dia mencocokkan IP address tujuan dengan routing table dengan harapan menemukan kecocokan entry – suatu entry yang menyatakan kepada router kemana paket selanjutnya harus diteruskan. Jika tidak ada kecocokan entry yang ada dalam routing table, dan tidak ada default route, maka router tersebut akan membuang paket tersebut. Untuk itu adalah sangat penting untuk mempunyai isian routing table yang tepat dan benar.
Static route terdiri dari command-command konfigurasi sendiri-sendiri untuk setiap route kepada router. sebuah router hanya akan meneruskan paket hanya kepada subnet-subnet yang ada pada routing table. Sebuah router selalu mengetahui route yang bersentuhan langsung kepada nya – keluar interface dari router yang mempunyai status “up and up” pada line interface dan protocolnya. Dengan menambahkan static route, sebuah router dapat diberitahukan kemana harus meneruskan paket-paket kepada subnet-subnet yang tidak bersentuhan langsung kepadanya.
Gambar berikut adalah contoh diagram agar memudahkan kita memahami bagaimana kita harus memberikan konfigurasi static route kepada router. Pada contoh berikut ini dua buah ping dilakukan untuk melakukan test connectivity IP dari Sydney router kepada router Perth.
Digram router static route
Router Sydney melakukan beberapa EXEC command dengan hanya kepada router-router yang terhubung langsung kepadanya.
Sydney#show ip route Codes: C – connected, S – static, I – IGRP, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP
i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS inter area
* – candidate default, U – per-user static route, o – ODR
P – periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 3 subnets
C 10.20.1.0 is directly connected, Ethernet0
C 10.20.130.0 is directly connected, Serial1
C 10.20.128.0 is directly connected, Serial0
Sydney#ping 10.20.128.252
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.128.252, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms
Sydney#ping 10.20.2.252
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.20.2.252, timeout is 2 seconds:
…..
Success rate is 0 percent (0/5)
Command ping mengirim paket pertama dan menunggu response. Jika diterima adanya respon, maka command menampilkan suatu karakter “!”. Jika tidak ada response diterima selama default time-out 2 seconds, maka command ping menampilkan response suatu karakter “.”. secara default router Cisco dengan command ping menampilkan 5 paket.
Pada contoh diagram diatas, command ping 10.20.128.252 adalah jalan bagus, akan tetapi untuk command ping 10.20.2.252 justru tidak jalan. Command ping pertama berjalan OK karena router Sydney mempunyai suatu route kepada subnet dimana 10.20.128.252 berada (pada subnet 10.20.128.0). akan tetapi, command ping 10.20.2.252 tidak jalan karena subnet dimana 10.20.2.252 berada (subnet 10.20.2.0) tidak terhubung langsung kepada router Sydney, jadi router Sydney tidak mempunyai suatu route pada subnet tersebut.
Untuk mengatasi masalah ini, maka perlu di-enabled pada ketiga router dengan routing protocols. Untuk konfigurasi sederhana seperti contoh diagram diatas, penggunaan route static adalah suatu solusi yang memadai.
Maka untuk router Sydney harus diberikan konfigurasi static route seperti berikut ini:
Ip route 10.20.2.0 255.255.255.9 10.20.128.252 Ip route 10.20.3.0 255.255.255.0 10.20.130.253
Pada command ip route haruslah diberikan nomor subnet dan juga IP address hop (router) berikutnya. Satu command ip route mendefinisikan suatu route kepada subnet 10.20.2.0 (mask 255.255.255.0), dimana berlokasi jauh di router Perth, sehingga IP address pada hop berikutnya pada router Sydney adalah 10.20.128.252, yang merupakan IP address serial0 dari router Perth. Serupa dengannya, suatu route kepada 10.20.3.0 yang merupakan subnet pada router Darwin, mengarah pada serial0 pada router Darwin yaitu 10.20.130.253. Ingat bahwa IP address pada hop berikutnya adalah IP address pada subnet yang terhubung langsung – dimana tujuannya adalah mengirim paket pada router berikutnya. Sekarang router Sydney sudah bisa meneruskan paket kepada kedua subnet di luar router tersebut (yang tidak bersentuhan pada router Sydney).
Anda bisa melakukan konfigurasi static route dengan dua cara yang berbeda. Dengan serial link point-to-point, anda juga bisa melakukan konfigurasi kepada interface outgoing ketimbang pada IP address router pada hop berikutnya. Misalkan anda bisa mengganti ip route diatas dengan command yang sama yaitu ip route 10.20.2.0 255.255.255.0 serial0 pada router pertama pada contoh diatas.
Kita sudah memberikan konfigurasi pada router Sydney dengan menambahkan static route, sayangnya hal ini juga belum menyelesaikan masalah. Konfigurasi static route pada router Sydney hanya membantu router tersebut agar bisa meneruskan paket pada subnet berikutnya, akan tetapi kedua router lainnya tidak mempunyai informasi routing untuk mengirim paket balik kepada router Sydney.
Misalkan saja, sebuah PC Jhonny tidak dapat melakukan ping ke PC Robert pada jaringan ini. Masalahnya adalah walaupun router Sydney mempunyai route ke subnet 10.20.2.0 dimana Robert berada, akan tetapi router Perth tidak mempunyai route kepada 10.20.1.0 dimana Jhonny berada. Permintaan ping berjalan dari PC Jhonny kepada Robert dengan baik, akan tetapi PC Robert tidak bisa merespon balik oleh router Perth kepada router Sydney ke Jhonny, sehingga dikatakan respon ping gagal.
Keuntungan static route:
  • Static route lebih aman disbanding dynamic route
  • Static route kebal dari segala usaha hacker untuk men-spoof paket dynamic routing protocols dengan maksud melakukan configure router untuk tujuan membajak traffic.
Kerugian:
  • Administrasinya adalah cukup rumit disbanding dynamic routing khususnya jika terdiri dari banyak router yang perlu dikonfigure secara manual.
  • Rentan terhadap kesalahan saat entry data static route dengan cara manual.