Apabila jaringan memiliki lebih dari satu kemungkinan rute untuk tujuan yang
sama maka perlu digunakan dynamic routing. Sebuah dynamic routing dibangun
berdasarkan informasi yang dikumpulkan oleh protokol routing. Protokol ini didesain
untuk mendistribusikan informasi yang secara dinamis mengikuti perubahan kondisi
jaringan. Protokol routing mengatasi situasi routing yang kompleks secara cepat dan
akurat. Protokol routng didesain tidak hanya untuk mengubah ke rute backup bila
rute utama tidak berhasil, namun juga didesain untuk menentukan rute mana yang
terbaik untuk mencapai tujuan tersebut.
Pengisian dan pemeliharaan tabel routing tidak dilakukan secara manual oleh
admin. Router saling bertukar informasi routing agar dapat mengetahui alamat
tujuan dan menerima tabel routing. Pemeliharaan jalur dilakukan berdasarkan pada
jarak terpendek antara device pengirim dan device tujuan
A. ALGORITMA ROUTING
Klasifikasi Algoritma Routing :
1. Global
Semua router memiliki informasi lengkap mengenai topologi, link cost.
Contohnya adalah algoritma link state.
2. Desentrasilasi
• Router mengetahui koneksi fisik atau link cost ke tetangga,
• Terjadi pengulangan proses komputasi dan mempertukarkan,
• Informasinya ke router tetangganya, contohnya adalah algoritma distance
vector.
1. DISTANCE VECTOR
Algoritma routing distance vector secara periodik menyalin table routing
dari router ke router. Perubahan table routing ini di-update antar router yang
saling berhubungan saat terjadi perubahan topologi. Setiap router menerima
table routing dari router tetangga yang terhubung secara langsung.Proses routing
ini disebut juga dengan routing Bellman-Ford atau Ford-Fulkerson. Routing
vektor jarak beroperasi dengan membiarkan setiap router menjaga tabel (sebuah
vektor) memberikan jarak yang terbaik yang dapat diketahui ke setiap tujuan dan
saluran yang dipakai menuju tujuan tersebut. Tabel-tabel ini di-update dengan
cara saling bertukar informasi dengan router tetangga.
Routing distance vektor bertujuan untuk menentukan arah atau vektor dan
jarak ke link-link lain di suatu internetwork. Sedangkan link-state bertujuan untuk
menciptakan kembali topologi yang benar pada suatu internetwork.
Misal, router Y menerima tabel informasi estimasi dari router X, dimana
terdapat Xi, yang menyatakan estimasi waktu yang dibutuhkan oleh X untuk
sampai ke router i. Bila Y mengetahui delay ke X sama dengan m milidetik, Y
juga mengetahui bahwa Y dapat mencapai router i dalam Xi + m milidetik.
Struktur data tabel Distance Vector :
• Setiap node (router) memilikinya,
• Baris digunakan menunjukkan tujuan yang mungkin,
• Kolom digunakan menunjukkan untuk setiap node tetangga secara langsung,
• Sebagai contoh : pada router X, untuk tujuan Y melalui tetangga Z.
• Pembentukan tabel routing dilakukan dengan cara tiap-tiap router saling
bertukar informasi routing dengan router yang terhubung secara langsung.
• Proses pertukaran informasi dilakukan secara periodik, misal setiap 45 detik.
Update table routing dilakukan ketika terjadi perubahan toplogi
jaringan. Sama dengan proses discovery, proses update perubahan topologi
step-by-step dari router ke router. Gambar diatas menunjukkan algoritma
distance vector memanggil ke semua router untuk mengirim ke isi table
routingnya. Table routing berisi informasi tentang total path cost yang
ditentukan oleh metric dan alamat logic dari router pertama dalam jaringan
yang ada di isi table routing, seperti skema oleh gambar di bawah ini.
Analogi distance vector dapat dianalogikan dengan jalan tol. Tanda
yang menunjukkan titik ke tujuan dan menunjukkan jarak ke tujuan. Dengan
adanya tanda-tanda seperti itu pengendara dapat dengan mudah mengetahui
perkiraan jarak yang akan ditempuh untuk mencapai tujuan. Dan tentunya
jarak terpendek adalah rute yang terbaik.
Permasalahan RIP
Inconsistent routinggatering, cara mencegahnya dengan cara :
- Split horizon : yang menerima informasi tidak mungkin membalikkan informasi
- Poisoning
- Hold down Timer : router akan menunda routing table
- Poison Reserve : menginformasikan mengenai kondisi
- Trig Gred update : jika mati dapat langsung mengirimkan informasi dan langsung menjalan kan Holdown timer
Ciri Hold Timer berhenti :
- Waktu habis
- Informsi Update sudah selesai ( poison reserve)
- Link lama menyala kembali
2. LINK-STATE
Algoritma link-state juga dikenal dengan algoritma Dijkstra atau algoritma
shortest path first (SPF). Algoritma ini memperbaiki informasi database dari
informasi topologi. Algoritma distance vector memiliki informasi yang tidak
spesifik tentang distance network dan tidak mengetahui jarak router. Sedangkan
algortima link-state memperbaiki pengetahuan dari jarak router dan bagaimana
mereka inter-koneksi.
Beberapa fitur yang dimiliki oleh routing link-state adalah:
1. Link-state advertisement (LSA) – paket kecil dari informasi routing yang
dikirim antar router.
2. Topological database – kumpulan informasi yang dari LSA-LSA.
3. SPF algorithm – hasil perhitungan pada database sebagai hasil dari pohon
SPF.
4. Routing table – adalah daftar rute dan interface.
KONSEP LINK STATE
Dasar algoritma routing yang lain adalah algoritma link state. Algoritma link state
biasa disebut sebagai algoritma Dijkstra atau algoritma Shortest Path First (SPF).
• Setiap router mempunyai peta jar,
• Router menentukan rute ke setiap tujuan di jar berdasarkan peta jar tersebut,
• Petajaringan disimpan router dalam bentuk database sebagai hasil dari
pertukaran info link-state antara router-router bertetangga di jar tersebut,
• Setiap record dalam database menunjukkan status sebuah jalur dijar (link-tate),
• Menerapkan algoritma Dijkstra,
• Topologi jaringan dan link cost diketahui oleh semua node router,
• Dilakukan dengan cara mem-broadcast informasi link state,
• Semua node memiliki informasi yang sama,
• Menghitung cost terkecil dari satu node ke node lainnya,
• Memberikan tabel rute untuk router tersebut setelah iterasi sebanyak n, diketahui
link cost terkecil untuk n tujuan.
B. PROTOKOL ROUTING
Routing protocol berbeda dengan routed protocol. Routing protocol
adalah komunikasi antara router-router. Routing protocol mengijinkan routerrouter
untuk sharing informasi tentang jaringan dan koneksi antar router. Router
menggunakan informasi ini untuk membangun dan memperbaiki table
routingnya. Seperti pada gambar di bawah ini.
Protokol routing dinamik yang banyak digunakan dalam internetworking
TCP/IP adalah RIP (Routing Information Protocol) yang menggunakan algoritma
routing distance vector dan OSPF (Open Shortest Path First) yang menggunakan
algoritma link-state. Pada layer TCP/IP, router dapat menggunakan protokol
routing untuk membentuk routing melalui suatu algoritma yang meliputi:
1. RIP -- menggunakan protokol routing interior dengan algoritma
distance vector,
2. IGRP -- menggunakan protokol routing interior dengan algoritma Cisco
distance vector,
3. OSPF -- menggunakan protokol routing interior dengan algoritma link
state,
4. EIGRP -- menggunakan protokol routing interior dengan algoritma
advanced Cisco distance vector.
Routing Information Protocol (RIP)
Routed protocol digunakan untuk user traffic secara langsung. Routed
protocol menyediakan informasi yang cukup dalam layer address jaringannya
untuk melewatkan paket yang akan diteruskan dari satu host ke host yang lain
berdasarkan alamatnya.
RIP merupakan salah satu protokol routing distance vector yang
digunakan oleh ribuan jaringan di dunia. Hal ini dikarenakan RIP berdasarkan
open standard dan mudah diimplementasikan. Tetapi RIP membutuhkan
konsumsi daya yang tinggi dan memerlukan fitur router routing protokol.
Dasar RIP diterangkan dalam RFC 1058, dengan karakteristik sebagai berikut:
• Routing protokol distance vector,
• Metric berdasarkan pada jumlah lompatan (hop count) untuk pemilihan jalur,
• Jika hop count lebih dari 15, maka paket dibuang,
• Update routing dilakukan secara broadcast setiap 30 detik.
1. RIP Versi 1
• Dokumen _ RFC1058,
• RIP _ routing vektor-jarak yang dimodifikasi dengan triggered update dan
split horizon dengan poisonous reverse untuk meningkatkan kinerjanya,
• RIP _ diperlukan supaya host dan router dapat bertukar informasi untuk
menghitung rute dalam jaringan TCP/IP,
• Informasi yang dipertukarkan RIP berupa :
a. Host
b. Network
c. Subnet
d. Rutedefault
2. RIP Versi 2
• Enhancement dari RIP versi1 ditambah dengan beberapa kemampuan baru,
• Algoritma routing sama dengan RIP versi1,
• Bedanya terletak pada format dengan tambahan informasi yang dikirim,
• Kemampuan baru :
a. Tag _untuk rute eksternal,
b. Subnet mask,
c. Alamat hop berikutnya,
d. Autentikasi.
3. IGRP (Interior Gateway Routing Protocol)
IGRP merupakan distance vector IGP. Routing distance vector mengukur
jarak secara matematik. Pengukuran ini dikenal dengan nama distance vector.
Router yang menggunakan distance vector harus mengirimkan semua atau
sebagian table routing dalam pesan routing update dengan interval waktu yang
regular ke semua router tetangganya. Isi dari informasi routing adalah:
• Identifikasi tujuan baru,
• Mempelajari apabila terjadi kegagalan.
IGRP adalah routing protokol distance vector yang dibuat oleh Cisco. IGRP
mengirimkan update routing setiap interval 90 detik. Update ini advertise semua
jaringan dalam AS. Kunci desain jaringan IGRP adalah:
• Secara otomatis dapat menangani topologi yang komplek,
• Kemampuan ke segmen dengan bandwidth dan delay yang berbeda,
• Skalabilitas, untuk fungsi jaringan yang besar.
Secara default, IGRP menggunakan bandwidth dan delay sebagai metric.
Untuk konfigurasi tambahan, IGRP dapat dikonfigurasi menggunakan kombinasi
semua varibel atau yang disebut dengan composite metric. Variabel-variabel itu
misalnya:
• Bandwidth
• Delay
• Load
• Reliability
IGRP yang merupakan contoh routing protokol yang menggunakan
algoritma distance vector yang lain. Tidak seperti RIP, IGRP merupakan routing
protokol yang dibuat oleh Cisco. IGRP juga sangat mudah diimplementasikan,
meskipun IGRP merupakan routing potokol yang lebih komplek dari RIP dan
banyak faktor yang dapat digunakan untuk mencapai jalur terbaik dengan
karakteristik sebagai berikut:
a. Protokol Routing Distance Vector,
b. Menggunakan composite metric yang terdiri atas bandwidth, load, delay dan
reliability,
c. Update routing dilakukan secara broadcast setiap 90 detik.
4. OSPF (Open Shortest Path First)
OSPF merupakan interior routing protocol yang kepanjangan dari Open
Shortest Path First. OSPF didesain oleh IETF ( Internet Engineering Task Force )
yang pada mulanya dikembangkan dari algoritma SPF ( Shortest Path First ).
Hampir sama dengan IGRP yaitu pada tahun 80-an.
Pada awalnya RIP adalah routing protokol yang umum dipakai, namun
ternyata untuk AS yang besar, RIP sudah tidak memadai lagi. OSPF diturunkan
dari beberapa periset seperti Bolt, Beranek, Newmans. Protokol ini bersifat open
yang berarti dapat diadopsi oleh siapa pun. OSPF dipublikasikan pada RFC
nomor 1247. OSPF menggunakan protokol routing link-state, dengan
karakteristik sebagai berikut:
a. Protokol routing link-state.
b. Merupakan open standard protokol routing yang dijelaskan di RFC 2328.
b. Menggunakan algoritma SPF untuk menghitung cost terendah.
c. Update routing dilakukan secara floaded saat terjadi perubahan topologi
jaringan.
d. OSPF adalah linkstate protokol dimana dapat memelihara rute dalam dinamik
network struktur dan dapat dibangun beberapa bagian dari subnetwork.
e. OSPF lebih effisien daripada RIP.
f. Antara RIP dan OSPF menggunakan di dalam Autonomous System ( AS ).
g. Menggunakan protokol broadcast.
5. EIGRP (Enhanced Interior Gateway Routing Protocol)
EIGRP menggunakan protokol routing enhanced distance vector, dengan
karakteristik sebagai berikut:
a. Menggunakan protokol routing enhanced distance vector.
b. Menggunakan cost load balancing yang tidak sama.
c. Menggunakan algoritma kombinasi antara distance vector dan link-state.
d. Menggunakan Diffusing Update Algorithm (DUAL) untuk menghitung jalur
terpendek.
CONTOH CONFIGURASI
Download file zebra:
[root@KUNINGAN ~]# wget ftp://ftp.zebra.org/pub/zebra/zebra-0.95a.tar.gz
Ekstrak file zebra:
[root@KUNINGAN ~]# tar zxvf zebra-0.95a.tar.gz
Masuk kedalam file zebra:
[root@KUNINGAN ~]# cd zebra-0.95a
root@KUNINGAN zebra-0.95a]# ./configure –sysconfdir=/etc/zebra –disable-ipv6 –enable-tcp-zebra
[root@KUNINGAN zebra-0.95a]# make
[root@KUNINGAN zebra-0.95a]# make install
/etc/zebra adalah tempat file hasil instalasi.
Kopikan file zebra.conf.sample menjadi zebra.conf
[root@KUNINGAN zebra]# cd /etc/zebra/
[root@KUNINGAN etc]# cp zebra.conf.sample zebra.conf
[root@KUNINGAN zebra]# cp ripd.conf.sample ripd.conf
[root@KUNINGAN zebra]# cp ospfd.conf.sample ospfd.conf
root@KUNINGAN zebra]# cp bgpd.conf.sample bgpd.conf
Supaya service otomatis dijalankan ketika Gateway di restart.
[root@KUNINGAN zebra]# cp /root/zebra-0.95a/init/redhat/zebra.init /etc/rc.d/init.d/zebra
[root@KUNINGAN zebra]# cp /root/zebra-0.95a/init/redhat/ripd.init /etc/rc.d/init.d/ripd
[root@KUNINGAN zebra]# cp /root/zebra-0.95a/init/redhat/ospfd.init /etc/rc.d/init.d/ospfd
[root@KUNINGAN zebra]# cp /root/zebra-0.95a/init/redhat/bgpd.init /etc/rc.d/init.d/bgpd
[root@KUNINGAN zebra]# chmod 755 /etc/rc.d/init.d/*
Ubah file zebra, ripd, ospfd, bgpd yang sudah dikopi ke /etc/rc.d/init.d/
File zebra
[root@KUNINGAN zebra]# vim /etc/init.d/zebra
. /etc/rc.d/init.d/functions menjadi . /etc/init.d/functions
[ -f /etc/zebra.conf ] || exit 0 menjadi [ -f /etc/zebra/zebra.conf ] || exit 0
# daemon /usr/sbin/zebra –d menjadi daemon /usr/local/sbin/zebra –d
[root@KUNINGAN zebra]# vim /etc/init.d/ripd
. /etc/rc.d/init.d/functions menjadi . /etc/init.d/functions
[ -f /etc/ripd.conf ] || exit 0 menjadi [ -f /etc/zebra/ripd.conf ] || exit 0
# daemon /usr/sbin/ripd –d menjadi daemon /usr/local/sbin/ripd –d
[root@KUNINGAN zebra]# vim /etc/init.d/ospfd
. /etc/rc.d/init.d/functions menjadi . /etc/init.d/functions
[ -f /etc/ospfd.conf ] || exit 0 menjadi [ -f /etc/zebra/ospfd.conf ] || exit 0
# daemon /usr/sbin/ospfd –d menjadi daemon /usr/local/sbin/ospfd –d
[root@KUNINGAN zebra]# vim /etc/init.d/bgpd
. /etc/rc.d/init.d/functions menjadi . /etc/init.d/functions
[ -f /etc/bgpd.conf ] || exit 0 menjadi [ -f /etc/zebra/bgpd.conf ] || exit 0
# daemon /usr/sbin/bgpd –d menjadi daemon /usr/local/sbin/bgpd –d
Tambahkan di :
[root@KUNINGAN zebra]# vim /etc/services
zebrasrv 2600/tcp
zebra 2601/tcp
ripd 2602/tcp
ripng 2603/tcp
ospfd 2604/tcp
bgpd 2605/tcp
ospf6d 2606/tcp
Jalankan service :
[root@KUNINGAN zebra]# service zebra start
[root@KUNINGAN zebra]# service ripd start
[root@KUNINGAN zebra]# service ospfd start
[root@KUNINGAN zebra]# service bgpd start
Lihat port yang sedang running di gateway 1 dengan perintah nmap, jika nmap belum ada maka install dulu :
[root@KUNINGAN zebra]#yum install nmap
[root@KUNINGAN zebra]#nmap localhost
PORT STATE SERVICE
2600/tcp open zebrasrv
2601/tcp open zebra
2602/tcp open ripd
2604/tcp open ospfd
2605/tcp open bgpd
Ok zebra sudah berjalan dengan baik, berarti gateway 1 sudah bisa routing dinamik dengan RIP, OSPF, dan BGP.
C. Routing RIP
Agar routing RIP jalan, maka ada dua file yang harus di konfigurasi di masing-masing gateway, yaitu zebra.conf dan ripd.conf
Isi dari file zebra.conf adalah ip address dari interface yang ada pada gateway.
Isi dari file ripd.conf adalah alamat jaringan yang terhubung dengan gateway.
Untuk mengubah file zebra.conf bisa langsung lewat editor atau telne t lewat port 2601, dengan lewat jalur telnet maka kita akan mengkonfigurasi seperti router cisco. Supaya lebih seru mari kita konfigurasi lewat telnet saja, dengan password zebra.
Konfigurasi zebra.conf
Pastikan bahwa di gateway 1 firewall dah mati dengan :
[root@kuningan ~]# iptables –F
Telnet lewat windows:
D:\Documents and Settings\hendra>telnet 10.200.16.11 2601
Hello, this is zebra (version 0.95a).
Copyright 1996-2004 Kunihiro Ishiguro.
User Access Verification
Password:
Router>
Router> zebra
% Unknown command.
Router>
Router> en
Password:
Password:
Router#
Router# confi
Router# configure ter
Router# configure terminal
Router(config)#
Router(config)# in
Router(config)# interface eth0
Router(config-if)#
Router(config-if)# ip ad
Router(config-if)# ip address 10.200.16.11/25
Router(config-if)#
Router(config-if)# exit
Router(config)#
Router(config)# in
Router(config)# inin
Router(config)# int
Router(config)# interface eth1
Router(config-if)#
Router(config-if)# ip ad
Router(config-if)# ip address 202.51.107.121/26
Router(config-if)#
Router(config-if)# exit
Router(config)#
Router(config)# exit
Router#
Router# write
Configuration saved to /etc/zebra/zebra.conf
Router#
Router#
Konfigurasi rip.conf lewat telnet
Hello, this is zebra (version 0.95a).
Copyright 1996-2004 Kunihiro Ishiguro.
User Access Verification
Password:
ripd>
ripd> en
ripd#
ripd# conf
ripd# configure ter
ripd# configure terminal
ripd(config)#
ripd(config)# ro
ripd(config)# router r
ripd(config)# router rip
ripd(config-router)#
ripd(config-router)# network 10.200.16.0/25
ripd(config-router)#
ripd(config-router)# network 202.51.107.64/26
ripd(config-router)#
ripd(config-router)# exit
ripd(config)#
ripd(config)# exit
ripd#
ripd# write
Configuration saved to /etc/zebra/ripd.conf
ripd#
ripd#
D. Cek Routing Table
[root@kuningan ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.208 10.200.16.1 255.255.255.240 UG 2 0 0 eth0
202.51.107.64 0.0.0.0 255.255.255.192 U 0 0 0 eth1
10.200.7.0 10.200.16.1 255.255.255.128 UG 2 0 0 eth0
10.200.7.128 10.200.16.1 255.255.255.128 UG 2 0 0 eth0
10.200.6.0 10.200.16.1 255.255.255.128 UG 2 0 0 eth0
10.200.14.0 10.200.16.1 255.255.255.128 UG 2 0 0 eth0
10.200.16.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0
10.107.1.0 10.200.16.1 255.255.255.0 UG 3 0 0 eth0
10.106.3.0 10.200.16.1 255.255.255.0 UG 3 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
10.0.0.0 10.200.16.1 255.0.0.0 UG 0 0 0 eth0
0.0.0.0 202.51.107.65 0.0.0.0 UG 0 0 0 eth1
[root@kuningan ~]#