BAB 3 PERANCANGAN SISTEM
3.1 Topologi Jaringan Topologi jaringan yang digunakan dalam sistem adalah sebagai berikut:
Gambar 3 Topologi Jaringan
Dalam
topologi
ini
router
yang
digunakan
adalah
router
yang
menghubungkan jaringan ISP dengan jaringan LAN pada router DFS.net yang kemudian dibagi lagi menjadi tiga jaringan lain. Hubungan antara router penelitian dengan router DFS.net adalah Dedicated Wireless dimana koneksi terjadi secara nirkabel dan Internet akan tersedia secara terus menerus selama 24 jam. Router yang digunakan di dalam sistem adalah RB450G
24
25
Gambar 4 RB450G
Dengan spesifikasi sebagai berikut:
Gambar 5 Spesifikasi RB450G
Pertimbangan router ini adalah karena kemampuan CPU nya yang tergolong tinggi dengan kecepatan memproses data sebesar 680Mhz dan slot microSD yang dapat digunakan sebagai memori tambahan. Kedua aspek ini dibutuhkan karena
26
proses load balancing dan failover membutuhkan proses yang cukup banyak dan berkelanjutan. Beberapa kelebihan lain pada router ini yang menjadi pertimbangan adalah sensor temperatur pada PCB yang dapat membantu penulis untuk mengawasi kondisi router jika diketahui adanya gangguan pada jaringan. Selain itu juga harganya yang masih terjangkau, yaitu $109.00 membuat router ini cocok digunakan untuk UKM.
3.2 Alur Kerja Sistem Diagram alur kerja sistem yang dibuat oleh penulis adalah sebagai berikut:
Gambar 6 Alur Kerja Sistem
Alur data yang terjadi di dalam sistem terdiri dari beberapa bagian, yaitu: 1) Input Merupakan data yang masuk ke dalam router melalui sebuah interface yang belum mengalami proses mangle maupun routing. Pada tahap ini router akan membaca header paket dan menentukan apakah paket tersebut akan diteruskan (forward) atau dimasukkan ke dalam chain prerouting. 2) Mangle mark-connection
27
Proses ini dilakukan di dalam chain pre-routing dan akan menandai paket data dari sebuah koneksi. Paket data yang sudah ditandai kemudian dapat digunakan sebagai parameter untuk proses routing atau proses pada chain selanjutnya sebelum data keluar dari interface router. 3) Mangle mark-routing Proses ini dilakukan di dalam chain pre-routing dan akan menandai routing dari sebuah koneksi. Routing yang sudah ditandai kemudian dapat digunakan sebagai parameter untuk proses routing atau proses pada chain selanjutnya sebelum data keluar dari interface router. 4) Policy Based Routing Routing yang terjadi pada tahap ini akan menggunakan parameter dari proses mangle sebelumnya. Pada tahap ini penulis menggunakan algoritma untuk load-balancing dan fail-over berdasarkan dengan parameter-parameter dari proses mangle. 5) Fail-over Tahap fail-over ini terjadi secara terus menerus bersamaan dengan proses load-balance, dimana masing-masing gateway akan diperiksa kondisinya secara terus menerus dengan menggunakan metode ICMP echo request sebagai indikator kondisi gateway. ICMP echo request dilakukan secara berkelanjutan kepada tiga buah gateway yang merepresentasikan tiga buah jalur yang terhubung dengan tiga ISP. Jika hasil ICMP echo reply dari salah satu gateway memberikan hasil request timed out (RTO) maka sistem akan otomatis mengganti routing policy terhadap koneksi yang mengarah pada gateway tersebut sehingga koneksi tersebut akan dialihkan ke gateway lain yang aktif.
28
6) Output Merupakan paket data yang keluar dari interface pada router setelah melewati seluruh chain yang ada di dalam router. Pemilihan interface paket data yang keluar ditentukan pada proses-proses sebelumnya.
3.3 Load Balancing Pengaturan dalam sistem yang dibuat oleh penulis untuk melakukan load balance adalah sebagai berikut:
Gambar 7 Flowchart Load Balancing
29
3.3.1
Mangle
Tahapan pengaturan mangle dapat dikelompokkan menjadi beberapa bagian, pengaturan ini dapat dilihat secara detail pada lampiran 1, adapun tahapan – tahapannya terdiri dari: 1)
Memisahkan lalu lintas jaringan dalam (langkah 0 dan 1)
2)
Menandai koneksi dari public interface(in1/in2/in3).
Pada tahap ini koneksi yang masuk melalui interface ether1 akan ditandai in.gw1.c, sementara koneksi yang masuk melalui interface ether2 akan ditandai in.gw2.c dan koneksi yang masuk melalui interface ether3 akan ditandai in.gw3.c (langkah 2 sampai 4) 3)
Mengarahkan koneksi yang berasal dari local interface dan
bertujuan ke WAN akan diarahkan ke dalam chain loadbalance dan koneksi yang berasal selain dari local interface ke dalam chain loadbalance-nl. Chain loadbalance dan loadbalance-nl merupakan chain yang dibuat oleh penulis agar koneksi dapat diproses dengan lebih spesifik (langkah 5 dan 6) 4)
Menandai koneksi dengan hasil dari PCC, dimana hasil
hashing akan dibagi dengan 3 yang mewakili jumlah ISP yang digunakan dan sisa dari pembagian digunakan sebagai tanda dari koneksi yang masuk ke dalam chain loadbalance. Secara garis besar, jika sisa dari hasil pembagian adalah 0 maka koneksi akan diberi tanda out/in.gw1.c, jika sisa pembagian adalah
1
maka
koneksi
akan
seterusnya(Langkah 7 sampai 14)
diberi
tanda
out/in.gw2.c,
dan
30
5)
Menandai routing sesuai dengan parameter dari connection-
mark dari langkah sebelumnya. Koneksi dengan tanda out/in.gwX.c akan diberikan routing-mark gwX.c(langkah 15-26) Langkah selanjutnya dari pengaturan load balancing pada sistem adalah dengan menggunakan tanda dari hasil mangle diatas sebagai parameter dalam proses routing, dimana pada tanda gwX.c, X merupakan angka yang digunakan dalam proses routing untuk menentukan gateway yang digunakan oleh koneksi tersebut.
3.3.2 Routing dan Fail-Over Policy Based Routing yang dilakukan penulis untuk melakukan load balancing dan fail-over adalah sebagai berikut:
#
DST-ADDRESS
PREF-SRC
GATEWAY
DISTANCE ;;; POLICY-BASED ROUTING GATEWAY1 FAILOVER 0A S 0.0.0.0/0
202.146.4.100
1
1 S 0.0.0.0/0
202.146.4.201
2
2 S 0.0.0.0/0
202.146.4.250
3
;;; POLICY-BASED ROUTING GATEWAY2 FAILOVER 3 A S 0.0.0.0/0
202.146.4.201
1
4 S 0.0.0.0/0
202.146.4.250
2
5 S 0.0.0.0/0
202.146.4.100
3
;;; POLICY-BASED ROUTING GATEWAY3 FAILOVER 6 A S 0.0.0.0/0
202.146.4.250
1
31
7 S 0.0.0.0/0
202.146.4.100
2
8 S 0.0.0.0/0
202.146.4.201
3
;;; DEF 9 A S 0.0.0.0/0
192.168.20.254
1
10 S 0.0.0.0/0
192.168.21.254
2
11 S 0.0.0.0/0
192.168.22.254
3
12 ADC 192.168.18.0/29
192.168.18.1 ether5
0
13 ADC 192.168.20.0/24
192.168.20.4
ether1
0
14 ADC 192.168.21.0/24
192.168.21.4
ether2
0
15 ADC 192.168.22.0/24
192.168.22.4
ether3
0
;;; NEXTHOP CHECKING 16 A S 202.146.4.100/32
192.168.20.254
1
17 A S 202.146.4.201/32
192.168.21.254
1
18 A S 202.146.4.250/32
192.168.22.254
1
19 ADC 202.182.52.144/29 202.182.52.149 ether1
0
Tahapan-tahapan dari routing dan fail-over pada sistem dapat dibagi menjadi beberapa bagian, yaitu: 1)
Pengaturan rule yang redundan pada masing-masing routing-mark, dapat dilihat pada baris 0-2, 3-5 dan 6-8, dimana masing-masing routing-mark memiliki gateway 202.146.4.100, 202.146.4.201 dan 202.146.4.250. dimana pemilihan gateway dilakukan secara rekursif dengan 202.146.4.100 adalah gateway utama untuk koneksi dengan routing-mark gw1.r, 202.146.4.201 adalah gateway utama untuk
32
koneksi dengan routing-mark gw2.r dan 202.146.4.250 adalah gateway utama untuk koneksi dengan routing-mark gw3.r 2)
Menentukan tiga buah host yang masing-masing diatur dengan static routing dengan tiga buah gateway yang berbeda
3)
Melakukan ICMP echo request kepada ketiga buah host tersebut dan melakukan evaluasi terhadap hasil dari ICMP echo reply tersebut yang akan digunakan sebagai parameter aktif atau tidaknya jalur tersebut
4)
Seandainya hasil dari ICMP echo reply adalah RTO, maka routing akan mengubah routing policy terhadap koneksi yang memiliki tujuan gateway yang tidak aktif tersebut dengan routing policy lain, yang mana koneksi akan diarahkan ke gateway lain yang aktif.
ya
tidak ya
tidak ya tidak
Gambar 8 Contoh Flowchart Failover dengan default gateway ISP 1
33
Flowchart diatas adalah Flowchart Failover yang digunakan pada gw1.r sedangkan untuk gw2.r dan gw3.r hanya mengganti pada susunan ISP yang digunakan, sebagai contoh Failover pada gw2.r akan menggunakan urutan ISP 2, ISP 3, kemudian ISP 1, lalu Failover pada gw3.r akan menggunakan urutan ISP 3, ISP 1, kemudian ISP 2.