• Tidak ada hasil yang ditemukan

Implementasi sistem load balancing secara simultan pada dua buah koneksi internet - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "Implementasi sistem load balancing secara simultan pada dua buah koneksi internet - USD Repository"

Copied!
87
0
0

Teks penuh

(1)

IMPLEMENTA

SECARA SIMULTAN

Ditujukan Untuk Me Memperole

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

IMPLEMENTASI SISTEM LOAD BALANCING

SIMULTAN PADA DUA BUAH KONEKSI INTERNET

SKRIPSI

Ditujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Jurusan Informatika

Oleh:

Dionysius Yudi Sanjaya NIM: 035314009

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2009

(2)

SIMULTANEOUS

OF LOAD BALANCING SYSTEM

TOWARDS TWO INTERNET CONNECTIONS

Presented as P

To Obtain the

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

SIMULTANEOUS IMPLEMENTATION

OF LOAD BALANCING SYSTEM

TOWARDS TWO INTERNET CONNECTIONS

A Thesis

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Informatics Engineering

By :

Dionysius Yudi Sanjaya NIM: 035314009

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2009

TOWARDS TWO INTERNET CONNECTIONS

(3)
(4)
(5)
(6)
(7)

HALAMAN PERSEMBAHAN

Karya ini kupersembahkan untuk:

Tuhan Yesus, atas segala rahmat serta perlindungan-Nya, Engkau sahabat sejatiku

Kedua orang tua-ku, yang telah membesarkan aku dengan penuh perhatian dan

kasih sayang

Teman teman ‘Virtus Compusoft Team’ dan ‘Ruparagam.com’, sukses selalu buat

(8)

HALAMAN MOTO

Every day may not be good, but there’s something good in every day.

God grant me serenity to accept the things that I cannot change, and the courage

(9)

ABSTRAKSI

Kehandalan koneksi jaringan komputer khususnya internet sangat

dibutuhkan. Tugas akhir ini bertujuan melakukan penelitian penerapan load balancing system dan failover dengan menggunakan lebih dari satu buah koneksi internet.

Fokus tugas akhir ini adalah membuat sistem pada sebuah komputer yang

difungsikan sebagai router. Load balancing pada sistem ini difungsikan agar router dapat membagi koneksi untuk melewatkan request traffic dari jaringan local (LAN) ke internet melalui lebih dari satu buah jalur. Sedangkan penerapan

sistem failover bertujuan untuk membuat sistem agar router dapat menguji dan memindahkan jalur koneksi (gateway) ketika terdapat gangguan pada salah satu jalur koneksi yang digunakan.

Algoritma yang digunakan pada load balancing system ini adalah Round robin. Round robin load balancing system adalah algoritma penjadwalan koneksi secara rotasi. Artinya, jika suatu tcp session pertama kali dilewatkan melalui jalur atau koneksi 1, maka tcp session kedua akan dilewatkan pada jalur atau koneksi 2. TCP session ketiga akan dilewatkan kembali pada jalur 1. TCP session keempat akan dilewatkan pada jalur 2. Proses ini berlangsung terus-menerus selama terjadi

koneksi atau terdapat tcp session. Sistem ini akan diuji dengan cara mengatur perbandingan jumlah jalur koneksi internet yang akan digunakan. Perbandingan

(10)

Hasil penelitian dan pengujian menunjukkan sistem ini berhasil menjaga

koneksi internet sesuai dengan rasio yang telah ditetapkan (1:1, 1:2 dan 1:3).

Namun sistem ini belum mampu menangani / mengatur besar paket data yang

(11)

ABSTRACT

The reliability of computer network connectivity, especially internet, is

excessively needed in today’s modern era. The aim of this thesis is to make a

research toward the implementation of load balancing system and failover using

more than one internet connection.

The focus of this thesis is the creation of a system on a computer being

used as a router. Load balancing in this system is functioned so that the router can

share connections to let request traffic passing from local network (LAN) to the

internet through more than one gateway. While the implementation of failover

system on this research is to create a system so that the router is capable to test

and switch gateway when errors occur on one of the gateway being used.

Algorithm that is used on this load balancing system is Round robin.

Round robin load balancing system is an algorithm of scheduling connection rotationally. It means, if a TCP session is for the first time being passed through

gateway or connection 1, the second TCP session will be passed through gateway

or connection 2. The third TCP session will then be passed back through gateway

1. Forth TCP session will be passed through gateway 2. This process is going

continuously as long as there are connections or TCP sessions. This system will

be tested by managing the comparison of the internet connection amount which

will be used. The comparison of the internet connection amount is managed by

(12)

The result of this research and the analysis toward it show that this system

can maintain the internet connections successfully based on the ratio determined

(1:1, 1:2, and 1:3). However, this system could not manage the amount of data

(13)

KATA PENGANTAR

Puji syukur saya haturkan kepada Tuhan Yesus Kristus yang telah

melimpahkan berkat-Nya. Sehingga saya dapat menyelesaikan Laporan Tugas

Akhir ini. Pada kesempatan ini saya ingin mengucapkan terima kasih kepada

pihak – pihak yang telah membantu saya dalam menyelesaikan skripsi ini, baik

dalam hal bimbingan, perhatian, kasih sayang, semangat, kritik, dan saran yang

telah diberikan. Ucapan terima kasih ini saya sampaikan antara lain kepada :

1. Bapak Yosef Agung Cahyanta, S.T., M.T., selaku Dekan Fakultas Sains

dan Teknologi Universitas Sanata Dharma Yogyakarta.

2. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T., selaku Ketua Jurusan

Teknik Informatika Universitas Sanata Dharma sekaligus Dosen

Pembimbing TA. Terima kasih atas bimbingan selama saya mengerjakan

Laporan Skripsi ini.

3. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing

Akademik Teknik Informatika angkatan 2003.

4. Bapak H. Agung Hernawan, S.T, selaku Dosen Pembimbing TA. Terima

kasih atas bimbingan selama saya mengerjakan Laporan Skripsi ini.

5. Rm Greg. Heliarko SJ. Terimakasih atas doa yang diberikan selama

penyusunan tugas akhir ini.

6. Kedua orang tua, terima kasih atas dukungan, kasih sayang dan semangat

yang tiada henti sehingga saya dapat menyelesaikan Tugas Akhir ini.

7. Rekan-rekan Virtus Compusoft Team dan Ruparagam.com yang selama

(14)

8. Seluruh pihak yang membantu saya baik secara langsung maupun tidak

langsung, yang tidak dapat saya sebutkan satu persatu.

Saya menyadari tidak sedikit kekurangan yang terdapat pada laporan tugas

akhir ini. Saran dan kritik selalu saya harapkan dari pembaca untuk perbaikan –

perbaikan di masa yang akan datang.

Akhir kata, saya berharap tulisan ini dapat bermanfaat bagi kemajuan dan

perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada umumnya.

Yogyakarta, September 2009

(15)

DAFTAR ISI

HALAMAN JUDUL ……… i

HALAMAN PERSETUJUAN ………. iii

HALAMAN PENGESAHAN ………... iv

PERNYATAAN KEASLIAN KARYA ……… v

PERNYATAAN PUBLIKASI KARYA ………... vi

HALAMAN PERSEMBAHAN ……… vii

HALAMAN MOTO ……….. viii

ABSTRAK ……… ix

ABSTRACT ……….. x

KATA PENGANTAR ………... xiii

DAFTAR ISI ………. xv

DAFTAR GAMBAR ……… xix

DAFTAR TABEL ………. xxi

BAB I. PENDAHULUAN 1.1 Latar Belakang Masalah ..……… 1

1.2 Rumusan Masalah ………... 2

1.3 Batasan Masalah ………. 3

(16)

1.5 Metode Penelitian ………... 4

1.6 Sistematika Penulisan ………. 5

BAB II. DASAR TEORI 2.1 Internet ……… 7

2.2 TCP/IP ………. 7

2.2.1 TCP ….………. 7

2.2.2 IP ………... 8

2.3 IP Routing ………... 9

2.4 Traffic ………... 10

2.5 Traffic Control Pada Linux ……… 10

2.6 Traffic Monitoring ……….. 11

2.6.1 Iptraf ……….... 11

2.7 Iptables ……… 12

2.8 Load Balancing ……… 14

2.8.1 Manfaat Load Balancing ……….. 16

2.8.2 Metode Load Balancing ……… 17

2.8.3 WAN Load Balancer Hardware ……… 18

2.9 Load Balancing Berbasis Linux ……… 19

(17)

BAB III. PERANCANGAN SISTEM

3.1 Perancangan Sistem ……… 21

3.2 Permodelan Hardware Dalam Lab Jaringan Skala Kecil …………. 22

3.3 Langkah – langkah Implementasi Sistem ……… 24

3.3.1 Aktivasi Modul Pada PC Router ……….. 25

3.3.2 Pembuatan Round Robin Load Balancing Script ……….. 26

3.3.2.1 Pembuatan Routing Tablesdan Rules Script…. 26 3.3.2.2 Pembuatan SNAT (Source Nating) …………... 27

3.3.3 Pembuatan Aplikasi Failover……….. 27

3.4 Perancangan Sistem Uji ……….. 33

3.4.1 Skenario Sistem Uji ………. 33

3.5 Analisis yang Dilakukan ……….... 35

BAB IV. IMPLEMENTASI DAN ANALISIS 4.1 Konfigurasi Komputer dan Peralatan ………... 39

4.2 Pembuatan Round Robin Load Balancing Script ……….... 41

4.2.1 Pembuatan Routing Tables dan Rules Script …………. 41

4.2.2 Pembuatan Gateway Script ………. 42

4.2.3 Source Nating (SNAT) ……… 43

4.2.4 Modifikasi file rc.local ……… 44

(18)

4.3.1 Failover Script……….. 45

4.4 Ujicoba dan Analisis Sistem Load Balancing pada PC Router … 48 4.4.1 Skenario 1 ………. 49

4.4.2 Skenario 2 ………. 51

4.4.3 Skenario 3 ………... 53

4.4.4 Skenario 4 ………. 56

4.4.5 Skenario 5 ………. 57

4.4.6 Skenario 6 ………. 58

4.4.7 Skenario 7 ………. 59

4.5 Analisis Keseluruhan ……….. 63

BAB V. PENUTUP 5.1 Kesimpulan ……… 65

(19)

DAFTAR GAMBAR

Gambar Keterangan Halaman

2.1 Contoh Capture Iptraf 11

2.2 Chain Pada Iptables 12

2.3 Request Traffic Load balancing menggunakan metode round-robin

18

2.4 Contoh WAN Load Balancer beserta konfigurasinya 19 3.1 Rancangan sistem load balancing dengan dua buah

koneksi internet (ISP)

21

3.2 Permodelan hardware dalam lab jaringan skala kecil 23 3.3 Diagram alir langkah-langkah implementasi sistem 24

3.4 Diagram alir program failover (1) 31

3.5 Diagram alir program failover (2) 32

3.6 Diagram alir / flowchart ujicoba yang akan dilakukan 38

4.1 Bagan permodelan sistem dalam lab jaringan skala kecil 41 4.2 Perilaku program failover ketika dilakukan pemutusan

jalur yang terhubung ke ISP1

57

4.3 Perilaku program failover jalur ke ISP1 disambungkan kembali

57

4.4 Perilaku script failover ketika dilakukan pemutusan jalur yang terhubung ke ISP0

58

4.5 Perilaku script failover ketika jalur yang diputuskan (ISP0) disambung kembali

58

(20)

koneksi pada semua jalur

(21)

DAFTAR TABEL

Tabel Keterangan Halaman

3.1 Konfigurasi ip address pada masing-masing pc yang digunakan

23

3.2 Perancangan routing table 26

3.3 Source nating 27

3.4 Perilaku program dan sinyal yang diberikan jika pemutusan koneksi dilakukan

28

3.5 Variabel awal yang digunakan beserta fungsinya 29

3.6 Situs yang dipilih untuk melakukan ujicoba 33

3.7 Urutan Situs yang Diakses 34

3.8 Skenario sistem uji yang akan dilakukan 35

3.9 Perbandingan koneksi dan trafficyang dilewatkan pada kedua jalur (ISP0 & ISP1)

36

3.10 Perilaku sistem yang dibuat ketika terjadi gangguan koneksi (skenario 4, 5, dan 6)

37

4.1 Aktivitas Browsing 1 skenario 1 49

4.2 Aktivitas Browsing 2 skenario 1 50

4.3 Aktivitas Browsing 3 skenario 1 50

4.4 Aktivitas Browsing 4 skenario 1 51

4.5 Aktivitas Browsing 1 skenario 2 52

4.6 Aktivitas Browsing 2 skenario 2 52

(22)

4.8 Aktivitas Browsing 4 skenario 2 53

4.9 Aktivitas Browsing 1 skenario 3 54

4.10 Aktivitas Browsing 2 skenario 3 54

4.11 Aktivitas Browsing 3 skenario 3 55

4.12 Aktivitas Browsing 4 skenario 3 56

4.13 Request traffic rata-rata pada suatu waktu 60

(23)

BAB I

PENDAHULUAN

1.1

Latar Belakang

Kenyamanan dan kelancaran browsing situs-situs Internet didukung oleh

banyak faktor antara lain: bandwidth yang besar, server-server dengan teknologi

processing terbaru dengan memory besar, media penyimpanan data yang cepat

diakses, dan daya tampung yang besar. Melihat begitu krusialnya kelancaran

ber-Internet, para penyedia jasa ber-Internet, penyedia web dan mail service, perusahaan

e-commerce, dan penyedia fasilitas Internet lainnya, harus benar-benar memperhatikan

kualitas dan reabilitas koneksi dan reliabilitas server-servernya.

Salah satu solusi untuk mengeliminasi waktu tunggu dan meningkatkan

kualitas koneksi ini adalah dengan terus meng-upgrade dan menggunakan

server-server canggih dengan disertai perbesaran bandwidth Internet-nya. Namun hal ini

bukan merupakan solusi yang ekonomis dan skalabel mengingat bandwidth Internet

relative mahal. Selain itu, menambah bandwidth belum tentu merupakan solusi untuk

masalah reabilitas.

(24)

terus-menerus bukan solusi yang bijaksana karena selain biayanya tinggi, downtime

mungkin akan terjadi.

Salah satu solusi untuk tetap menjaga kualitas koneksi dalam melayani

pengguna adalah dengan menggunakan sistem load balancing. Secara sederhana, load

balancing pada makalah ini adalah sebuah cara untuk membagi

traffic

(lalu lintas

data) dari sebuah jaringan yang terhubung ke internet menggunakan (melalui) dua

koneksi ISP (

Internet Service Provider)

yang berbeda. Dalam hal ini, bandwidth

masih merupakan salah satu faktor penting yang sangat berpengaruh pada

traffic

yang

ada. Tetapi satu buah bandwidth (yang berarti satu buah jalur) berarti satu buah titik

masalah. Jika tiba-tiba terjadi

down time

maka masalah akan terjadi pada seluruh

jaringan yang terkoneksi ke ISP. Namun dengan menggunakan sistem load balancing,

apabila terjadi kegagalan koneksi pada salah satu ISP, maka ISP yang lain masih

dapat meng-

cover-

nya.

1.2 Rumusan Masalah

Bagaimana mendistribusikan

request traffic (load balancing)

melalui lebih

dari 1 (satu) koneksi ISP ( Internet Service Provider ) dengan menggunakan metode

(25)

1.3 Batasan Masalah

Agar permasalahan terfokus pada rumusan masalah di atas, maka batasan

masalah pada penelitian ini adalah:

1. Port-port yang digunakan dalam skripsi ini adalah port http (80/8080),

icmp(5), ssh (22) karena port-port tersebut paling banyak digunakan.

2. Implementasi Load Balancing pada penelitian ini ditekankan dari sisi routing

dan scripting programming menggunakan shell.

3. Dalam skripsi ini penelitian akan membahas protokol TCP/IP saja, karena

TCP/IP sudah menjadi standar protokol umum dalam sistematika jaringan

internet.

4. Penelitian dilakukan pada layer aplikasi.

5. Router load balancing meneruskan trafic menggunakan parameter ICMP yang

menunjukkan host alive.

6. Penelitian ini memfokuskan load balancing dari sisi software.

7. Load balancing pada penelitian ini menggunakan metode load balancing

round robin.

(26)

1.4 Tujuan Penulisan

Tujuan dari penulisan tugas akhir ini adalah melakukan percobaan dan analisa

sistem

load balancing

sebagai alternatif yang

reliable

untuk membagi

traffic

dari

sebuah jaringan yang terhubung ke internet menggunakan (melalui) dua koneksi ISP

yang berbeda dalam bentuk simulasi.

1.5 Metode Penelitian

Metodologi yang digunakan dalam penyusunan makalah ini adalah sebagai

berikut:

Studi Literatur.

Kegiatan ini meliputi pendalaman materi yang berkaitan dengan

load balancing system”.

Hal ini meliputi kegiatan studi referensi yang mendukung

seperti buku, website, tutorial dll.

Perancangan Sistem.

Kegiatan ini dilakukan setelah semua informasi yang

diperlukan diperoleh dan dikaji secara cermat. Penggambaran sistem dalam bentuk

simulasi sederhana dilakukan pada tahap ini.

(27)

1.6

Sistematika Penulisan

Sistematika penulisan yang dilakukan pada tugas akhir ini adalah sebagai

berikut:

BAB I PENDAHULUAN

Bab ini mencakup latar belakang masalah, rumusan masalah, batasan

masalah, tujuan penulisan, dan metode penelitian.

BAB II LANDASAN TEORI

Berisi dasar-dasar teori yang digunakan dalam penulisan tugas akhir ini.

BAB III PERANCANGAN SISTEM

(28)

BAB IV IMPLEMENTASI DAN ANALISA

Melakukan implementasi dan menunjukkan hasil dari perancangan yang

dilakukan sebelumnya ke dalam bentuk simulasi. Kemudian melakukan analisa

terhadap sistem yang telah diuji.

BAB V PENUTUP

Berisi kesimpulan penulis atas keseluruhan bahasan dalam penulisan tugas

akhir ini.

REFERENSI

(29)

BAB II

DASAR TEORI

2.1 Internet

Singkatan dari Interconnection Networking. The network of the

networks. Diartikan sebagai sebuah global network of computer network atau

sebuah jaringan komputer dalam skala global/mendunia. Jaringan komputer ini

berskala internasional yang dapat membuat masing-masing komputer saling

berkomunikasi. Network ini membentuk jaringan interkoneksi (Inter-connected

network) yang terhubung melalui protokol TCP/IP. Dikembangkan dan diuji coba

pertama kali pada tahun 1969 oleh US Department of Defense dalam proyek

ARPAnet.

2.2 TCP/IP

TCP/IP adalah suatu protocol yang memungkinkan terjadinya

komunikasi antar komputer yang memiliki perbedaan karakteristik dari segi

hardware ataupun software. TCP/IP merupakan protokol yang paling sering

digunakan dalam operasi jaringan. TCP/IP terdiri dari dua protokol utama, yaitu:

Transmission Control Protocol dan Internet Protocol.

2.2.1 TCP

TCP dikenal sebagai protocol “connection oriented”. Artinya, protokol

(30)

proses pertukaran antar-program aplikasi. Ciri-ciri dari connection-oriented

adalah:

 Semua paket mendapatkan tanda terima (acknoledgement) dari sender.

 Paket yang hilang atau tidak diterima akan dikirimkan ulang.

 Paket yang datang diurutkan kembali (sequence).

TCP bekerjasama dengan Internet Protocol (IP) untuk mengirimkan data

antar-komputer melintasi jaringan atau internet. Jika IP menangani penghartaran

data, maka TCP berperan mengawasi atau menjaga track unit individu data (yang

dikenal paket).

2.2.2 IP

IP (Internet Protocol) merupakan metode yang digunakan untuk

mengirim data dari satu komputer ke komputer lain melintasi jaringan. Setiap

komputer (dikenal dengan host) memiliki paling tidak satu IP address yang

berguna untuk memperkenalkan dirinya ke komputer lain di internet. IP yang

umum digunakan adalah IPv4, yang mempunyai format sepanjang 32-bit.

Sedangkan pengembangan dari IPv4 adalah IPv6, yang mempunyai format

128-bit. IP Address disebut Logic Address karena dibuat oleh software, dimana

alamat tersebut secara dinamis dapat berubah jika peralatan dipindahkan ke dalam

jaringan yang berbeda. IP header mempunyai elemen yang disebut time-to-live

(TTL) yang berguna untuk membatasi lamanya suatu paket “beredar” dalam

jaringan. Hal ini bertujuan jika ada paket yang mempunyai informasi salah, paket

(31)

2.3 IP Routing

Routing adalah hal mendasar dalam perancangan jaringan. Konsep dasar

routing adalah bagaimana memilih dan menetapkan address agar bias mencapai

tujuan dengan cepat dan efisien. Seting IP address, netmask, dan default gateway

dibutuhkan untuk membentuk routing. Setiap host (yang mendukung IP)

setidaknya mengetahui tiga kelas tujuan, yaitu:

Dirinya sendiri. Sistem operasi (Linux) secara default telah memasukkan

dukungannya untuk device loopback. Device loopback, yang dinotasikan

dengan “lo”, digunakan agar sebuah mesin dapat ‘berbicara’ dengan

dirinya sendiri. Sistem Linux, dalam hal ini dapat berkomunikasi

melalui IP address (yang terkonfigurasi secara local), baik untuk device

loopback maupun bukan.

Computer atau host local. Kelas IP address kedua adalah dalam segmen

jaringan yang terkoneksi secara local. Setiap mesin yang tergabung

dalam keluarga jaringan yang sama dapat mencapai keseluruhan IP

address yang ada dengan melintasi interface.

Komputer atau host remote. Setiap IP address, yang bukan milik mesin

bersangkutan atau bukan mesin lain yang tergabung dalam jaringan

lokal, hanya bias dicapai melalui device IP routing. Device IP routing

umumnya berupa mesin router atau gatway.

Pada penulisan tugas akhir ini, digunakan aplikasi iproute2 untuk membuat

(32)

2.4 Traffic

Traffic adalah besar atau jumlah TCP session yang membebani bandwidth

dari suatu jaringan yang terkoneksi. Sedangkan bandwidth adalah kapasitas atau

daya tampung jalur koneksi ethernet agar dapat dilewati traffic paket data dalam

jumlah tertentu. Bandwidth juga bisa berarti jumlah konsumsi paket data per

satuan waktu dinyatakan dengan satuan bit per second [bps]. Traffic jaringan

berhubungan dengan paket data yang dibangkitkan oleh kartu ethernet pada

komputer.

2.5 Traffic Control Pada Linux

Traffic control adalah suatu cara untuk me-manage traffic dari suatu

jaringan yang terhubung via Ethernet card. Paket data yang dikirimkan oleh

komputer lain diterima NIC (kartu ethernet), kemudian teruskan oleh driver kartu

ethernet (Network Driver) ke bagian kernel linux untuk diproses. Proses ini hanya

mengatur paket data yang keluar maupun masuk melalui satu kartu ethernet.

Kernel linux yang bertanggung jawab mengatur aliran data tersebut adalah kernel

traffic control. Traffic control juga dapat meliputi pembagian traffic pada setiap

Ethernet card yang terpasang. Traffic shapingadalah membagi kebutuhan traffic

pada setiap Ethernet card yang terpasang pada sebuah router sesuai dengan

ketentuan / aturan tertentu yang ditetapkan. Dalam penulisan tugas akhir ini,

(33)

2.6 Traffic Monitoring

Traffic monitoring

yang berjalan pada jalur

(software/tools) yang da

komputer, misal: netwatch,

ini penulis menggunakan

yang digunakan.

2.6.1 Iptraf

Iptraf adalah salah

jaringan. Iptraf memiliki

UDP, count, ARP, RARP

capture dari iptraf.

Traffic Monitoring

monitoring adalah aktifitas yang dilakukan untuk mengama

pada jalur koneksi (bandwidth). Terdapat banyak

yang dapat digunakan untuk memonitor traffic suatu

netwatch, speedometer, iptraf dll. Dalam penulisan tugas

unakan iptraf sebagai salah satu aplikasi network monitoring

salah satu aplikasi untuk melakukan monitoring

memiliki beberapa untuk melihat statistik termasuk info

ARP, RARP dan ICMP. Gambar 2.2 di bawah ini adalah

Gambar 2.1Contoh captureiptraf

n untuk mengamati traffic

banyak aplikasi

suatu jaringan

penulisan tugas akhir

network monitoring

monitoring traffic

termasuk info TCP,

(34)

2.7 Iptables

IPTables adalah administrator tools untuk memfilter paket IPV4 dan NAT.

IPTables diguanakan untuk men-setup, mangatur, dan memerikasa paket dari

aturan pemfilteran paket IP pada kernel Linux. Masing-masing tabel berisi

sejumlah chain dan dapat juga berisi chain dari user. Masing-masing chain adalah

daftar dari aturan yang dapat disesuaikan dengan paket. Masing-masing aturan

akan menetapkan apa yang akan dilakukan oleh paket. Ini semua disebut target

yang mungkin akan meloncatkannya kepada chain user pada tabel yang sama.

IPTables memiliki format penulisan sebagai berikut :

iptables [-t table] command [match][target/jump]

IPTables memiliki tiga macam daftar aturan bawaan dalam table penyaringan,

daftar tersebut dinamakan rantai firewall (firewall chain) atau sering disebut chain

saja. Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD.

Gambar 2.2Chain pada IPTables

Jalannya sebuah paket melalui diagram di atas bisa dicontohkan sebagai berikut:

Perjalanan paket yang diforward ke host yang lain

(35)

3. Paket masuk ke chain PREROUTING pada table Mangle. Chain ini

berfungsi untuk me-mangle (menghaluskan) paket, seperti merubah TOS,

TTL dan lain-lain.

4. Paket masuk ke chain PREROUTING pada tabel nat. Chain ini berfungsi

utamanya untuk melakukan DNAT (Destination Network Address

Translation).

5. Paket mengalami keputusan routing, apakah akan diproses oleh host lokal

atau diteruskan ke host lain.

6. Paket masuk ke chain FORWARD pada tabel filter. Disinlah proses

pemfilteran yang utama terjadi.

7. Paket masuk ke chain POSTROUTING pada tabel nat. Chain ini berfungsi

utamanya untuk melakukan SNAT (Source Network Address Translation).

8. Paket keluar menuju interface jaringan, contoh eth1.

9. Paket kembali berada pada jaringan fisik, contoh LAN.

Perjalanan paket yang ditujukan bagi host lokal

1. Paket berada dalam jaringan fisik, contoh internet.

2. Paket masuk ke interface jaringan, contoh eth0.

3. Paket masuk ke chain PREROUTING pada tabel mangle.

4. Paket masuk ke chain PREROUTING pada tabel nat.

5. Paket mengalami keputusan routing.

6. Paket masuk ke chain INPUT pada tabel filter untuk mengalami proses

penyaringan.

(36)

Perjalanan paket yang berasal dari host lokal

1. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui

jaringan.

2. Paket memasuki chain OUTPUT pada tabel mangle.

3. Paket memasuki chain OUTPUT pada tabel nat.

4. Paket memasuki chain OUTPUT pada tabel filter.

5. Paket mengalami keputusan routing, seperti ke mana paket harus pergi dan

melalui interface mana.

6. Paket masuk ke chain POSTROUTING pada tabel NAT.

7. Paket masuk ke interface jaringan, contoh eth0.

8. Paket berada pada jaringan fisik, contoh internet.

2.8 Load balancing

Secara harafiah, load balancing berarti pembagian beban menjadi

seimbang (balance). Dalam dunia Internet, server farm, dan jaringan komputer,

load balancing adalah proses distribusi beban terhadap sebuah servis yang ada

pada sekumpulan server atau perangkat jaringan ketika ada permintaan dari

pengguna.

Maksudnya adalah ketika sebuah server sedang diakses oleh para

pengguna, maka server tersebut sebenarnya sedang dibebani karena harus

melakukan proses terhadap permintaan para penggunanya. Jika penggunanya

(37)

Session-session komunikasi dibuka oleh server tersebut untuk

memungkinkan para penggunanya menikmati servis dari server itu. Jika satu

server saja yang dibebani, tentu server tersebut tidak akan dapat melayani banyak

pengguna karena kemampuannya dalam melakukan processing ada batasnya.

Batasan ini bisa berasal dari banyak hal misalnya kemampuan processing-nya,

bandwidth Internetnya, dan banyak lagi.

Untuk itu, solusi yang paling ideal adalah dengan membagi-bagi beban

yang datang tersebut ke beberapa server. Jadi, yang bertugas melayani pengguna

tidak hanya terpusat pada satu perangkat saja. Inilah apa yang disebut sistem load

balancing.

Dalam penulisan tugas akhir ini load balancing dilakukan untuk

pembagian koneksi traffic request (outgoing request) dari suatu jaringan yang

terkoneksi ke internet. “Load” pada penulisan tugas akhir ini adalah koneksi

request traffic dari komputer pengguna/klien. Load balancing diartikan sebagai

“cara untuk membagi koneksi request traffic dari sebuah jaringan yang terhubung

ke internet menggunakan (melalui) lebih dari satu buah koneksi ISP ( Internet

Service Provider)”.

Ketika pengguna suatu jaringan local mengakses suatu situs website

(internet), pada saat inilah sebenarnya terjadi pembebanan jalur koneksi dari

router ke ISP. Beban yang dimaksud di sini adalah traffic yang terjadi. Tanpa

menggunakan load balancing maka semua request akan dilewatkan pada satu

(38)

ada akan dibagi ke beberapa koneksi yang ada. Pada penulisan tugas akhir ini,

trafficakan dibagi ke dua ISP yang berbeda.

2.8.1 Manfaat Load balancing

Secara garis besar, manfaat dari menerapkan sistem load balancing

adalah:

Skalabilitas dan availabilitas bisa didapat. Pada suatu jaringan

komputer yang terhubung ke internet, satu buah sumber koneksi (dalam

hal ini adalah ISP) berarti satu buah titik masalah. Jika tiba-tiba terjadi

down time, masalah pasti akan terjadi terhadap koneksi internet yang

sedang berlangsung. Menggunakan sistem load balancing dengan

menggunakan lebih dari satu sumber koneksi menjadi salah satu solusi.

Artinya jika ternyata satu koneksi ISP terputus atau mati, maka masih ada

koneksi ke ISP lain yang dapat meng-cover-nya. Dengan kata lain, titik

masalah menjadi terpecah.

Menjamin reliabilitas servis. Reliabilitas sistem artinya adalah tingkat

kepercayaan terhadap sebuah sistem untuk dapat terus melayani pengguna

dengan sebaik-baiknya. Reliabilitas yang terjamin artinya tingkat

kepercayaan yang selalu terjaga agar para penggunanya dapat

(39)

2.8.2 Metode Load balancing

Penulis menggunakan metode weighted round robin load balancingpada

penulisan tugas akhir ini. Round robin load balancing adalah sebuah metode

pembagian traffic request dari suatu jaringan yang terkoneksi ke internet secara

rotasi. Misal: ada 3 buah traffic requestdari suatu jaringan lokal yang terkoneksi

ke dua ISP yang berbeda (ISP1 dan ISP2). Dengan asumsi menggunakan round

robin load balancingmaka request 1 akan diarahkan pada ISP1, request 2 akan

diarahkan pada ISP2, dan request 3 akan diarahkan kembali ke ISP1. Weighted

round robin load balancingadalah metode yang hampir sama dengan round robin

load balancing.Perbedaannya adalah pembagian request traffic dapat disesuaikan

dengan besar jalur (bandwidth) yang digunakan dari masing-masing ISP. Dengan

metode weighted round robin load balancing, request traffic dapat diarahkan

lebih banyak ke koneksi yang memiliki kapasitas bandwidth lebih besar.

Keuntungan dari metode ini adalah kemudahan untuk menambah jalur koneksi

yang akan digunakan. Kelemahan dari metode ini adalah tidak dapat melihat

utilisasi dari TCP session yang sedang berlangsung. Semua traffic akan dibagi

secara bergiliran melalui jalur yang ada tanpa memperhatikan utilisasinya (apakah

jalur sibuk atau tidak). Hal ini dapat menimbulkan antrian (queue) yang sangat

(40)

Gambar 2.3Request Traffic Load balancingmenggunakan metode round-robin

2.8.3 WAN Load Balancer Hardware

Load balancing request traffic menggunakan lebih dari satu ISP juga dapat

dilakukan dengan bantuan hardware yang diciptakan khusus untuk menangani

masalah ini. Hardware ini disebut WAN Load Balancer. Pada WAN load balancer,

fasilitas GUI (Graphical User Interface) untuk melakukan konfigurasi sudah

disediakan oleh vendor penyedia. Gambar 2.3 adalah contohWAN Load Balancer

(41)

Gambar 2.4Contoh WAN

Pada penulisan tugas

karena load balancing

setting pada sebuah PC yang difungsikan

Contoh WANLoad Balancerbeserta konfigurasinya

penulisan tugas akhir ini, hardware load balancer tidak akan

dititik beratkan pada sisi software dengan melakuka

pada sebuah PC yang difungsikan sebagai load balancer router.

beserta konfigurasinya

tidak akan dibahas

(42)

2.9 Load balancingBerbasis Linux

Penulis memilih untuk menggunakan Sistem Operasi Linux sebagai

platform dalam perancangan dan implementasi load balancing system.

2.9.1 Mengapa Linux

Linux didistribusikan di bawah bendera GPL (GNU Public License) yang

menganut asas open source. Open source sangat memungkinkan setiap pengguna

bebas meng-copy, menggunakan, memodifikasi, memperbanyak, dan menjualnya

bahkan dapat membuat sendiri distro linux yang sesuai dengan stylemereka.

Linux saat ini dapat digunakan untuk segala aspek kebutuhan pengguna,

selain konfigurasi yang jauh lebih mudah dibanding versi awal dulu, juga

tampilan desktop yang semakin interactive. Linux banyak diaplikasikan untuk

server-server jaringan skala kecil sampai skala besar, server aplikasi, print server,

file server, router, security system, workstations, atau digunakan sebagai desktop

perkantoran. Perusahaan-perusahaan yang bergerak di bidang networkingseperti

ISP (Internet Service Provider), manufaktur, engineering, retail, publikasi,

finansial, kesehatan, perbankan banyak mengaplikasikan dan mengandalkan linux

pada sistem utama mereka. Pada penulisan tugas akhir ini, penulis menggunakan

(43)

BAB III

PERANCANGAN SISTEM

3.1 Perancangan Sistem

Pada penelitian ini hanya akan dibahas metode weighted round robin load

balancing. Metode ini akan diterapkan untuk kemudian dilakukan analisis.

Penulis menggunakan sistem operasi linux pada perancangan sistem ini. Gambar

3.1 adalah bagan sistem yang dirancang oleh penulis.

Gambar 3.1Rancangan sistem load balancing dengan dua buah koneksi internet (ISP)

Jaringan local (local LAN) terhubung ke router (local router) yang difungsikan

juga sebagai load balancer router. Local routerterhubung ke dua buah ISP yang

berbeda. Dengan mengacu pada konsep tersebut, penulis melakukan permodelan

(44)

3.2 Permodelan Hardware Dalam Lab Jaringan Skala Kecil

Penulis menggunakan permodelan ini untuk melakukan ujicoba dan

analisis terhadap sistem yang telah dirancang sebelumnya. Adapun permodelan

dalam skala jaringan kecil ini terdiri dari 6 buah pc. Koneksi internet

menggunakan speedy. Keterangan dari permodelan tersebut adalah sebagai

berikut :

 2 (dua) buah atau lebih PC Desktop, yang akan mewakili clientatau jaringan

lokal. Pada masing-masing pc ini dipasangkan 1 (satu) buah ethernet card

untuk menghubungkan ke router. Sistem operasi yang digunakan untuk PC

client ini adalah Windows XP SP2.

 1 (satu) buah PC Desktop, yang difungsikan sebagai local router. Dalam hal

ini local router dipasangkan 3 buah Ethernet card. Satu Ethernet untuk

jaringan internal/lokal, dan dua lainnya dikoneksikan pada dua buah pc yang

mewakili 2 (dua) buah ISP. Sistem operasi yang digunakan dalam router lokal

ini menggunakan SlackWare 12.x. Aplikasi untuk network monitoring

dipasangkan pada komputer ini. Pada PC ini, akan dipasangkan script load

balancingyang dibuat.Traffic monitoring akan dilakukan pada PC ini dengan

menggunakan aplikasi iptraf.

 2 (dua) buah PC Desktop, yang difungsikan sebagai ISP (ISP1 dan ISP2).

Masing-masing dipasangkan 2 buah Ethernet card. Satu Ethernet dihubungkan

ke PC yang mewakili net/web server dan satu buah Ethernet lainnya

dihubungkan ke local router. Sistem operasi yang digunakan adalah

(45)

 1 (satu) buah Modem ADSL TelkomSPEEDY, sebagai internet, di hubungkan

ke komputer yang difungsikan sebagai internet.

Rancangan hardware ini digambarkan oleh penulis seperti tampak pada gambar

3.2 di bawah ini.

Gambar 3.2 Permodelan hardware dalam lab jaringan skala kecil

Tabel 3.1 di bawah ini adalah keterangan lebih jelas untuk gambar 3.2 yang dibuat

oleh penulis.

Tabel 3.1. Konfigurasi ip address pada masing-masing pc yang digunakan

No Nama PC Eth device IP Address 1 Client1 Eth0 192.168.2.2./24

2 Client2 Eth0 192.168.2.4/24

3 Router

Eth0 192.168.2.1/24

Eth1 10.1.0.2/30

Eth2 10.2.0.2/30

4 ISP0

Eth0 10.1.0.1/30

Eth1 192.168.1.10/24

5 ISP1

Eth0 10.2.0.1/30

Eth1 192.168.1.20/24

6 NET

Eth0 192.168.1.1

(46)

3.3 Langkah-langkah Implementasi Sistem

Berikut ini adalah langkah-langkah yang dilakukan penulis untuk

implementasi.

 Aktivasi modul kernel pada PC router.

 Pembuatan round robin load balancing scriptpada PC router.

 Pembuatan aplikasi untuk failoverpada PC router.

 Ujicoba

 Analisis

Gambar 3.3 adalah diagram alir langkah-langkah yang dilakukan penulis untuk

mengimplementasikan sistem.

(47)

3.3.1 Aktivasi Modul Kernel Pada PC Router

Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari

sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk

mengakses perangkat keras komputer. Sedangkan modul kernel Linux adalah

bagian dari kernel Linux yang dapat dikompilasi, dipanggil dan dihapus secara

terpisah dari bagian kernel lainnya saat dibutuhkan. Langkah berikutnya pada

analisis ini adalah aktivasi modul-modul kernel yang dibutuhkan pada local

router. Kernel yang digunakan adalah versi 2.6.x. Adapun kernel modul yang

diaktifkan antara lain:

IP: advance router. Module ini berfungsi agar PC dapat berfungsi sebagai

router .

IP: policy routing. Module ini berfungsi untuk menentukan paket routing

yang akan dikonfigurasi dengan iptables.

IP: multicast routing. Module ini berfungsi untuk meng-konfigurasi router

yang memiliki beberapa alamat tujuan / destination address. Dalam analisis

ini aktivasi kernel untuk multicast routing diperlukan agar routing dapat

dilakukan ke 2 (dua) buah ISP (ISP1 dan ISP2).

IP: equal cost multipath. Module ini berfungsi untuk mengaktifkan fungsi

(48)

3.3.2 Pembuatan Round Robin Load Balancing Script

Penulis membuat dua buah scripting untuk menjalankan weighted round

robin load balancing. Script ini akan dimasukkan pada file ‘rc.local’ yang terletak

pada direktori /etc/rc.d/. Scriptingtersebut meliputi:

 Pembuatan routing tables dan rule script

 Pembuatan gateway script

 Pembuatan SNAT (source nating)

3.3.2.1 Pembuatan Routing Tables dan Rules Script

Routing table adalah sekelompok rangkaian aturan untuk menentukan

jalur koneksi yang akan dilewati traffic atau paket data pada suatu jaringan.

Pada tahap ini, penulis merancang routing tables untuk mengelompokkan

jalur yang dibuat sekaligus memberikan aturannya. Penulis memberi nama

tabel ISP0 dan ISP1. Tabel 3.2 berikut ini adalah penjelasan routing table

yang dibuat penulis pada PC router. Table 3.2. Perancangan routing table

Network Device Src Via Table & Rules

10.1.0.0/30 Eth1 10.1.0.2/30 10.1.0.1 ISP0

10.2.0.0/30 Eth2 10.2.0.2/30 10.2.0.1 ISP1

Setelah perancangan selesai seperti pada tabel 3.2, penulis membuat script

yang berfungsi untuk mengarahkan traffic yang masuk dari PC router dapat

(49)

penulis akan ditempatkan pada direktori /etc/rc.d/ pada sebuah file yang

bernama ‘rc.local’.

3.3.2.2 Pembuatan SNAT (Source Nating)

SNAT berfungsi untuk membuat PC router menjadi sebuah gateway

menuju ke internet. Penulis melakukan SNAT agar IP local dari client dikenali

sebagai IP public. Dalam hal ini adalah IP local dari PC client (192.168.2.2 dan

192.168.2.4) akan dikenali sebagai IP dari eth yang terkoneksi dengan ISP0

(10.1.0.2) dan ISP1 (10.2.0.2). Penulis menggunakan ‘iptables’ sebagai aplikasi

untuk memberikan policy routing pada PC router untuk melakukan nat. Tabel 3.3

berikut ini adalah rencana nating yang akan dilakukan pada PC router.

Tabel 3.3Source nating

No Source IP Address Destination SNAT to

1 192.168.2.0/24 0/0 10.1.0.2

2 192.168.2.0/24 0/0 10.2.0.2

Script ini oleh penulis akan ditempatkan pada direktori /etc/rc.d/ pada file yang

bernama ‘rc.local’.

3.3.3 Pembuatan Aplikasi Failover

Failover adalah kemampuan router untuk melakukan pemindahan

gateway jika salah satu jalur koneksi ke ISP yang digunakan putus atau

mengalami gangguan. Pada tahap ini, penulis melakukan perancangan aplikasi

(50)

Aplikasi atau script yang dibuat menggunakan shell scripting. Aplikasi ini akan

akan ditempatkan oleh penulis pada direktori /etc/rc.d/ pada file yang bernama

‘v.router’. Port ICMP akan digunakan dalam pembuatan aplikasi ini. Prinsip kerja

dari aplikasi ini adalah dengan melakukan ping ke ip gateway ISP melalui kedua

eth device / interface yang dikoneksikan ke masing-masing ISP. Jika status ping

melalui interface pertama tidak reply, maka diasumsikan terjadi gangguan pada

koneksi tersebut. Pada kondisi ini, aplikasi yang dibuat akan memindahkan

gateway ke jalur koneksi kedua melalui interface kedua. Tabel 3.4 di bawah ini

adalah asumsi yang dibuat penulis sebagai acuan dasar dalam pembuatan program

aplikasi ini.

Tabel 3.4. Perilaku program dan sinyal yang diberikan jika pemutusan koneksi dilakukan. P in g P C N E T m el a lu i et h 1 ( 1 0 .1 .0 .2 ) d a n e th 2 (1 0 .2 .0 .2 ) Status Ping

Perilaku Program Sinyal yang diberikan ISP0 (Jalur 1) ISP1 (Jalur 2)

R R Mengarahkan gateway

melalui kedua jalur yang ada (ISP0 & ISP1)

ISP0 & ISP1 OK

R SL Mengubah gateway ke

interface yang terhubung ke ISP0

ISP1 down

SL R Mengubah gateway ke

interface yang terhubung ke ISP1

ISP0 down

(51)

Keterangan:

Status ping

R=reply

SL=status lain

Dalam perancangan aplikasi ini, penulis telah menentukan beberapa variable

beserta fungsinya seperti pada tabel 3.5 berikut ini:

Tabel 3.5. Variabel awal yang digunakan beserta fungsinya.

No Nama variable Fungsi

1 TIMEOUT Menentukan waktu tunggu maksimal dari ping yang dilakukan dari PC router ke variable TESTIP. Pada program yang akan dibuat variabel ini diberikan nilai 4 yang berarti 4 detik.

2 SLEEPTIME Menentukan waktu idle dari aplikasi yang dibuat setiap satu kali melakukan pengecekan pada jalur koneksi yang ada.

3 GW[N] Ip address dari gateway yang digunakan (ISP0 dan ISP1)

4 ETHGW[N] Interface yang digunakan untuk koneksi ke jalur yang digunakan (misal: eth0)

5 DEV[N] Ip address ETHGW[N]

6 ISP[N] Nama isp yang digunakan

7 ISPN Jumlah ISP yang digunakan

8 CLB Counter untuk melakukan ping melalui gateway yang digunakan

9 LIFEISP Variabel untuk mengetahui jumlah isp atau jalur yang aktif

10 PS[N] Ping status untuk menentukan status ping (reply atau tidak)

11 TRIGERLB Sebagai acuan agar program berjalan terus-menerus

(52)

13 LB_ONE_ISP Variabel berisi script untuk menentukan jalur koneksi / gateway ketika hanya satu jalur koneksi yang aktif.

14 LOADBALANCE Variabel berisi script untuk menentukan jalur koneksi / gateway keseluruhan

15 LOADBALANCE2 Variabel berisi script awal untuk menentukan jalur koneksi /gateway keseluruhan.

16 TESTIP Variabel berisi ip address atau situs yang digunakan (dalam hal ini adalah 192.168.1.1) untuk test koneksi dari router (dengan ping).

Gambar 3.4 dan 3.5 merupakan rancangan dalam bentuk diagram alir

(53)
(54)
(55)

Aplikasi ini dibuat otomatis berjalan terus-menerus setiap PC router pada

kondisi hidup/aktif. Aplikasi ini hanya akan berhenti ketika terjadi gangguan

sistem, sistem pada kondisi shutdown / mati, atau dimatikan secara manual.

3.4 Perancangan Sistem Uji

Sistem round robin load balancing dijalankan pada tahap ini. Pada

pengujian ini penulis akan melakukan akses (browsing) dari PC klien untuk

kemudian dilakukan analisis.

3.4.1 Skenario Sistem Uji

Sistem uji dilakukan dengan melakukan aktifitas browsing dari PC client

ke beberapa situs yang ditentukan kemudian dilakukan analisis. Pada pengujian

ini, penulis melakukan aktifitas brwosing menggunakan 2 buah pc client.

Broswisng dilakukan secara bergantian dari pc client pertama dan kedua secara

berurutan. Tabel 3.6 berikut berisi daftar situs yang dipilih oleh penulis untuk

melakukan ujicoba.

Tabel 3.6Situs yang dipilih untuk melakukan ujicoba.

No Nama Situs Name Server / IP Address

1 forum.linux.or.id 67.19.121.27

2 virtusteam.web.id 74.81.82.140

3 www.klikbca.com 202.6.211.8

4 www.usd.ac.id 117.103.174.16

5 www.uty.ac.id 70.86.144.98

(56)

Penulis memilih keenam situs di atas karena situs-situs tersebut hanya

memiliki sebuah ip atau nameserver saja sehingga penulis mengasumsikan hal

tersebut akan mempermudah proses analisis. Tabel 3.7 berikut ini adalah tabel

urut untuk aktifitas browsing yang dibuat oleh penulis.

Tabel 3.7Urutan Situs yang Diakses

No PC Client Situs yang diases 1 PC1 forum.linux.orid

2 PC2 Forum.linux.or.id

3 PC1 Virtusteam.web.id

4 PC2 Virtusteam.web.id

5 PC1 www.klikbca.com

6 PC2 www.klikbca.com

7 PC1 www.usd.ac.id

8 PC2 www.usd.ac.id

9 PC1 www.uty.ac.id

10 PC2 www.uty.ac.id

11 PC1 www.uajy.ac.id

12 PC2 www.uajy.ac.id

Penulis membuat skenario sistem uji yang akan dilakukan dengan kondisi

(57)

Tabel 3.8 Skenario sistem uji yang akan dilakukan C li e n t M e la k u k a n B ro w si n

g Skenario Weight Kondisi ISP

ISP0 ISP1 ISP0 ISP1

1 1 1 Up Up

2 1 2 Up Up

3 1 3 Up Up

4 1 1 Up Down

5 1 1 Down Up

6 1 1 Down Down

Browsing &

Download 7 1 1 Up Up

Keterangan:

Kondisi ISP

UP = kondisi jalur tersambung / baik

Down = kondisi jalur terputus / down / terjadi gangguan

Skenario 4, 5, dan 6 pada tabel 3.8 merupakan skenario untuk melakukan

pengujian ‘fileover’. Pada kolom ‘Kondisi ISP’, status ‘Down’ diwakili dengan

melakukan pemutusan koneksi secara fisik antara PC client dan PC ISP0 atau

ISP1. Skenario 7 adalah pengujian untuk jumlah traffic yang dilewatkan pada

suatu jalur koneksi yang ada. Pada skenario ini dilakukan aktivitas download

dengan menggunakan aplikasi Internet Download Manager (IDM) dan browsing.

3.5 Analisis yang Dilakukan

Analisis akan dilakukan pada setiap percobaaan atau ujicoba yang telah

dilakukan sesuai dengan skenario pada tabel 3.4. Adapun analisis meliputi:

(58)

Request traffic yang dilewatkan pada kedua jalur koneksi yang digunakan.

 Jumlah paket data yang melewati suatu jalur.

Penulis menggunakan aplikasi iptraf dan speedometer untuk melakukan

analisis ini. Aplikasi ini digunakan untuk melakukan pengamatan terhadap

koneksi yang dilewati request traffic yang ada. Untuk ujicoba sistem jika terjadi

pemutusan koneksi, penulis melakukan pengamatan pada program fileover yang

telah dibuat sebelumnya dengan memastikan keluaran yang dihasilkannya.

Kondisi load balance didapatkan ketika kedua jalur koneksi yang

digunakan berfungsi atau dapat digunakan untuk melakukan aktifitas browsing

yang dilakukan dari PC client.

Tabel 3.9 dan 3.10 di bawah ini dibuat oleh penulis sebagai asumsi tolok

ukur keberhasilan sistem yang dibuat mengacu pada skenario tabel 3.6

sebelumnya.

Tabel 3.9. Perbandingan koneksi dan trafficyang dilewatkan pada kedua jalur (ISP0 & ISP1).

Skenario

TCP session Perbandingan jumlah

koneksi terpakai atau traffic yg diharapkan

ISP0 ISP1

1 Ada Ada 1 : 1

2 Ada Ada 1 : 2

3 Ada Ada 1 : 3

4 Ada Tidak ada 1 : 0

5 Tidak ada Ada 0 : 1

6 Ttidak ada Tidak ada

(59)

Pada tabel 3.9, kolom ‘Perbandingan jumlah koneksi terpakai yang

diharapkan’ berisi rasio perbandingan rata-rata jalur yang digunakan. ‘Nilai’ pada

kolom tersebut adalah satuan perbandingan jumlah koneksi yang dilewatkan pada

jalur yang digunakan pada suatu waktu. Pada tabel 3.8, skenario 4, 5, dan 6

bukan merupakan kondisi load balance. Skenario tersebut dibuat penulis untuk

melakukan ujicoba failover script yang telah dibuat sebelumnya. Sedangkan

untuk skenario 7, kolom terakhir merupakan perbandingan jumlah traffic atau

paket data yang diharapkan. (Tabel 3.10 berikut adalah skenario pengujian

fileover script mengacu pada tabel 3.8.

Tabel 3.10.Perilaku sistem yang dibuat ketika terjadi gangguan koneksi (skenario 4, 5, dan 6)

Skn Kondisi GW Output

1 a Semua jalur terkoneksi dengan baik dari awal.

ISP0, ISP1

Load Balance

b ISP0 barusaja mengalami gangguan / terputus.

ISP0 normal kembali. Kondisi Load balance c ISP1 barusaja mengalami gangguan /

terputus

ISP1 normal kembali Kondisi load balance

2 Sama seperti skenario 1 ISP0, ISP1

Sama seperti skenario 1

3 Sama seperti skenario 1 ISP0, ISP1

Sama seperti skenario 1

4 a ISP1 baru saja mengalami gangguan ISP0 ISP1 down b ISP1 down pada monitoring

berikutnya

ISP1 masih down

5 a ISP0 baru saja mengalami gangguan ISP1 ISP0 down b ISP0 down pada monitoring

berikutnya berikutnya

ISP0 masih down

(60)

Keterangan:

Skn = Skenario

GW = Jalur yang dapat digunakan atau berfungsi dengan baik

Pada tabel 3.10, untuk skenario 2 dan 3, sistem fileover yang akan dibuat

diharapkan memiliki perilaku yang sama dengan skenario 1. Pada skenario ini,

kedua jalur koneksi yang digunakan dalam kondisi dapat digunakan atau

berfungsi dengan baik. Kolom ‘Output’ menjelaskan keluaran yang dihasilkan

sistem fileover yang telah dibuat. Adapun penulis membuat model output ini

untuk memberitahukan kondisi jalur koneksi yang digunakan. Proses

pengambilan kesimpulan dilakukan setelah tahap analisis ini. Gambar 3.6 berikut

ini adalah diagram alir atau flowchart ujicoba yang akan dilakukan oleh penulis.

(61)

BAB IV

IMPLEMENTASI DAN ANALISIS

4.1 Konfigurasi Komputer dan Peralatan

Pada tahap ini, penulis melakukan konfigurasi pada kelima komputer yang

telah dipersiapkan sebelumnya. Konfigurasi meliputi:

 Instalasi sistem operasi seperti yang telah dirancang sesuai pada bab 3.2.

 Konfigurasi IP address seperti yang telah dirancang pada tabel 3.1 dan

gambar 3.2.

 Instalasi aplikasi yang digunakan pada PC router seperti: speedometer dan

ipcalc.

 Konfigurasi koneksi fisik dan instalasi permodelan jaringan skala kecil.

Gambar 4.1 menunjukkan bagan dari tahap ini yang dilakukan oleh

penulis.

 Aktivasi modul kernel pada PC router.

Konfigurasi komputer dan peralatan ini hanya ditulis singkat oleh penulis

pada bagian lampiran dari laporan ini. Untuk bagan konfigurasi yang telah

(62)

Gambar 4.1Bagan permodelan sistem dalam lab jaringan skala kecil

Setelah konfigurasi selesai, penulis melakukan ujicoba koneksi dari

masing-masing komputer. Penulis melakukan ping dari masing-masing-masing-masing komputer untuk

memastikan bahwa koneksi sudah benar. Adapun ping yang dilakukan penulis

adalah sebagai berikut:

- PC klien ke PC router

- PC router ke ISP0 dan ISP1

(63)

4.2 Pembuatan Round Robin Load Balancing Script

Pada tahap ini, penulis melakukan percobaan pembuatan script yang

dibutuhkan agar sistem round robin load balancing dapat diujicoba dan

diimplementasikan. Script ini nantinya akan diletakkan pada file ‘rc.local’ yang

terletak pada direktori /etc/rc.d/. Adapun pembuatan round robin load balancing

script ini meliputi:

 Pembuatan routing tables dan rule script.

 Pembuatan gateway script.

 Pembuatan source nating script (SNAT).

4.2.1 Pembuatan Routing Tables dan Rule Script

Penulis membuat routing tables script dan rule script untuk

meng-implementasikan rancangan sesuai acuan pada tabel 3.2 dari bab 3. Tools yang

diguanakan oleh penulis adalah iproute2. Mengacu pada tabel 3.2 dari bab 3,

berikut ini adalah routing tables script dan rule script yang dibuat oleh penulis.

# table ISP0

ip route add 10.1.0.0/29 dev eth1 table isp0 ip route add default via 10.1.0.1 table isp0 ip rule add from 10.1.0.2 table isp0

# table ISP1 ip route add 10.2.0.0/29 dev eth2 table isp1 ip route add default via 10.2.0.1 table isp1

ip rule add from 10.2.0.2 table isp1

Keterangan Script:

(64)

scirpt tersebut berfungsi untuk mengelompokkan paket routing yang

bertujuan ke subnet 10.1.0.0/29 adalah termasuk pada routing tables isp0

dan akan dilewatkan melalui interface eth1. Sedangkan script berikut:

ip rule add from 10.1.0.2 table isp0

berfungsi untuk membuat aturan baru bahwa semua paket dari ip address

’10.1.0.2’ akan menggunakan tabel routing ‘isp0’ (melalui eth1). Script

berikutnya mempunyai fungsi yang sama.

Dalam script tersebut penulis membuat dua buah routing tables

untuk mengelompokkan route yang akan digunakan. Routing tables

tersebut dinamakan ‘isp0’ dan ‘isp1’. Pendefinisian table ini dilakukan

dengan menambahkan script yang ada pada file ‘rt_tables’ yang terletak

pada direktori ‘/etc/iproute2/’. Script yang ada pada ‘rt_tables’ yang telah

dimodifikasi oleh penulis adalah sebagai berikut:

255 local 254 main 253 default

0 unspec

120 isp0 121 isp1

4.2.2 Pembuatan Gateway Script

Sistem load balancing yang dirancang oleh penulis menggunakan lebih

dari satu buah gateway. Pada penulisan laporan tugas akhir ini, ada dua buah

gateway yang digunakan pada PC router, yaitu gateway ke PC ISP0 dan ISP1.

Berikut ini adalah script yang dibuat oleh penulis untuk menentukan gateway

(65)

ip route add default scope global nexthop via 10.1.0.1 dev eth1 weight 1 nexthop via 10.2.0.1 dev eth2 weight 1

Maksud dari script di atas adalah mengarahkan default gateway pertama ke

10.1.0.1 melalui eth1 (nexthop via 10.1.0.1 dev eth1) dengan parameter ‘weight’

sebesar 1 (weight 1). Default gateway berikutnya diarahkan ke 10.2.0.1 melalui

eth2 (nexthop via 10.2.0.1) dengan parameter ‘weight’sebesar 1 (weight 1).

4.2.3 Source Nating (SNAT)

Setelah gateway dibuat, penulis melakukan nating agar paket yang berasal

dari jaringan lokal (192.168.2.0/29) dikenali oleh ISP router dengan ip address

yang sudah ditentukan (10.1.0.2 dan 10.2.0.2). berikut ini adalah script yang

dibuat penulis untuk melakukan nating.

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 0/0 -o eth1 -j SNAT --to 10.1.0.2 iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 0/0 -o eth2 -j SNAT --to 10.2.0.2

Penjelasan script di atas adalah sebagai berikut:

 Semua paket yang berasal dari subnet 192.168.2.0/24 yang bertujuan ke

0/0 (ke mana saja) dan keluar melalui interface eth1 akan di-nat ke

10.1.0.2 (iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 0/0 -o eth1 -j SNAT --to

10.1.0.2) .

 Semua paket yang berasal dari subnet 192.168.2.0/24 yang bertujuan ke

0/0 (ke mana saja) dan keluar meluli interface eth2 akan di-nat ke 10.2.0.2

(66)

4.2.4 Modifikasi file rc.local

Langkah 4.2.1, 4.2.2, dan 4.2.3 digabungkan menjadi satu untuk kemudian

diletakkan pada file ‘rc.local’ yang terletak pada direktori /etc/rc.d/. Fungsi file ini

adalah untuk menjalankan secara otomatis script yang telah dibuat setiap kali

komputer booting. Script file ‘rc.local’ secara keseluruhan menjadi seperti ini:

# /etc/rc.d/rc.local ip route flush cache

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 0/0 -o eth1 -j SNAT --to 10.1.0.2 ip route add 10.1.0.0/29 dev eth1 table isp0

ip route add default via 10.1.0.1 table isp0 ip rule add from 10.1.0.2 table isp0

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 0/0 -o eth2 -j SNAT --to 10.2.0.2 ip route add 10.2.0.0/29 dev eth2 table isp1

ip route add default via 10.2.0.1 table isp1 ip rule add from 10.2.0.2 table isp1

ip route add default scope global nexthop via 10.1.0.1 dev eth1 weight 1 nexthop via 10.2.0.1 dev eth2 weight 1

4.3 Pembuatan Failover Script

Failover script yang dibuat mengacu pada flowchart dari bab3 (gambar 3.4

dan 3.5). Script ini ditempatkan pada direktori /etc/rc.d/ dengan nama ‘v.router’.

Script ini dibuat pertamakali dengan mendefinisikan beberapa variable yang

diperlukan. Adapun pendefinisian variabel awal adalah sebagai berikut:

# /etc/rc.d/v.router

# variabel untuk melakukan test koneksi baik dari ISP0 maupun ISP1. # variabel ini berisi ip address dari PC net.

# pada kenyataannya variabel ini berisikan alamat website tertentu (misal: www.yahoo.com) TESTIP=192.168.1.1

# variabel untuk menentukantimeout dari ping yang dilakukan dari PC router ke gateway 0 (ISP0) # dan gateway 1 (ISP1).

(67)

# ================================================================# # START INISIALISASI GATEWAY 0

# ip gateway 0 GW[0]=10.1.0.1

# interface yang digunakan untuk koneksi ke gateway 0 ETHGW[0]=eth1

# ip address interface eth1 DEV[0]=10.1.0.2

# variabel untuk memberikan nama pada gateway pertama (ISP0) ISP[0]=ISP0

# variabel untuk memberikan parameter ‘weight’ pada koneksi pertama (ISP0) W[0]=1

# variabel untuk inisialisasi ping status pada awal program sebelum program dijalankan. PS[0]=0

# END INISIALISASI GATEWAY 0 (ISP0)

# =================================================================# # START INISIALISASI GATEWAY 1 (ISP1)

# =================================================================# # ip gateway 1 (ISP1)

GW[1]=10.2.0.1

# interface yang digunakan untuk koneksi ke gateway 1 ETHGW[1]=eth2

# ip address interface eth1 DEV[1]=10.2.0.2

# variabel untuk memberikan nama pada gateway kedua (ISP1) ISP[1]=ISP1

# variabel untuk memberikan parameter ‘weight’ pada koneksi kedua (ISP1) W[1]=1

# variabel untuk inisialisasi ping status pada awal program sebelum program dijalankan. PS[1]=0

# variabel untuk inisialisasi jumlah isp koneksi (isp) yang digunakan. ISPN=2

(68)

Setelah inisialisasi dilakukan, program akan mengecek apakah variabel

nilai ‘TRIGERLB’ bernilai 1. Varibel ini pada dasarnya berfungsi untuk membuat

program ‘v.router’ agar dapat berjalan terus menerus. Penulis merancang script

sebagai berikut:

while [ $TRIGERLB -eq 1 ] do

[failover script] done

Script di atas akan menjalankan [failover script] secara terus menerus. Hal ini

disebabkan karena variabel ‘TRIGERLB’ diberikan nilai 1 pada awal program.

4.3.1 Failover Script

Failover script pertamakali akan menginisialisasi beberapa variabel

sebagai berikut:

# variabel yang berfungsi sebagai ‘counter’ untuk melakukan ping ke isp yang ada (ISP0 dan ISP1) # variabel ini akan di-increment dengan nilai 1 setiap kali ping ke isp dilakukan

CLB=0

# variabel untuk mengetahui jumlah isp yang tidak down. # pertama kali variabel ini diberikan nilai 0.

LIFEISP=0

# variabel untuk membandingkan apakahdefault gatewayyang telah dikonfigurasi sebelumnya # sama dengandefault gatewayketika failover script dijalankan

LOADBALANCE2=""

Setelah proses inisialisasi dilakukan, program akan melakukan pengecekan

apakah nilai dari variabel ‘CLB’ lebih kecil dari variabel ‘ISPN’. Selama variabel

‘CLB’ bernilai lebih kecil daripada variabel ‘ISPN’, maka program akan

(69)

melakukan ping ke ip address ISP0. Berikut ini adalah script yang dibuat oleh

penulis:

while [ $CLB -lt $ISPN ] do

ping -W $TIMEOUT -I ${DEV[$CLB]} -c 4 ${GW[$CLB]} > /dev/null 2>&1 result=$?

# ============================================================================# # pengecekan pertama

# cek apakah hasil dari ping yang dilakukan sukses (reply) if [ $result -eq 0 ]; then # jika ping sukses (reply) # pengecekan kedua jika ping sukses

# cek apakah ping status sebelumnya adalah 1 yang berarti tidak reply? if [ ${PS[$CLB]} -eq 1 ]; then

echo "Jalur ke "${ISP[$CLB]}" sudah berfungi kembali ... " PS[$CLB]=0

fi

LB[$CLB]="nexthop via ${GW[$CLB]} dev ${ETHGW[$CLB]} weight ${W[$CLB]}" # mendefinisikan variabel jika ternyata hanya link isp saat ini yang hidup LB_ONE_ISP="via ${GW[$CLB]} dev ${ETHGW[$CLB]}"

# increment variabel ‘LIFEISP’ LIFEISP=$((LIFEISP+1))

else # jika ping tidak sukses (tidak reply atau rto) # pengecekan kedua jika ping tidak sukses

# cek apakah ping status sebelumnya adalah 0 yang berarti sukses? if [ ${PS[$CLB]} -eq 0 ]; then

echo "Jalur ke ${ISP[$CLB]} down ... " PS[$CLB]=1

else

echo "Jalur ke ${ISP[$CLB]} masih down ... " fi

LB[$CLB]="" fi

# increment variabel ‘CLB’ CLB=$((CLB+1))

done

Langkah selanjutnya dalam pembuatan fileover script ini adalah

melakukan pengecekan jumlah isp yang aktif (terkoneksi dengan baik).

Pendefinisian variabel untuk melakukan perbandingan apakah default gateway

(70)

setelah failover script dijalankan. Jika sama, maka default gateway tidak perlu

diubah. Jika berbeda, berarti default gateway harus diubah. Berikut ini adalah

script yang dibuat oleh penulis:

# jika jalur isp yang aktif (terkoneksi dengan baik hanya 1) if [ $LIFEISP -eq 1 ]; then

LOADBALANCE=$LB_ONE_ISP

# jika semua jalur down (tidak ada jalur yang aktif) elif [ $LIFEISP -eq 0 ]; then

echo "SEMUA JALUR KE ISP DOWN...!!" # jika semua jalur aktif

elif [ $LIFEISP -eq $ISPN ]; then

echo "SEMUA JALUR KE ISP NORMAL. LOAD BALANCING JALAN" LOADBALANCE=${LB[*]}

# kondisi lain else

LOADBALANCE=${LB[*]} fi

# cek apakah default gw pertama sama dengan default gw # setelah failover script dijalankan

if [ "$LOADBALANCE" != "$LOADBALANCE2" ]; then

ip route replace default scope global $LOADBALANCE fi

# mengubah variabel LOADBALANCE2 sama dengan variabel LOADBALANCE LOADBALANCE2=$LOADBALANCE

# berhenti selama 5 detik setelah program dijalankan untuk kemudian dijalankan lagi. sleep $SLEEPTIME

4.4 Ujicoba dan Analisis Sistem Load Balancing Pada PC Router

Ujicoba dan analisis sistem ini mengacu pada skenario seperti yang telah

(71)

4.4.1 Skenario 1

Penulis memberikan parameter ‘weight’ 1 pada masing-masing koneksi

yang digunakan. Pada penulisan laporan tugas akhir ini, penulis mengakses

beberapa situs mengacu pada sub bab 3.4.1 sebagai sample untuk aktivitas

browsing dari client. Pada penulisan laporan tugas akhir ini, aktivitas browsing

dilakukan sebanyak 4 kali. Penulis melakukan pembersihan route cache sebelum

melakukan percobaan berikutnya. Hasil dari pengujian skenario 1 ini dilampirkan

penulis pada lampiran 1. Penulis mengelompokkan hasil analisis tersebut seperti

pada tabel 4.1, 4.2, 4.3, dan 4.4 berikut ini:

Tabel 4.1Aktivitas Browsing 1 Skenario 1

Req Source Destination Via Eth1 Eth2

1 PC1 67.19.121.27 x

2 PC2 67.19.121.27 x

3 PC1 74.81.82.140 x

4 PC2 74.81.82.140 x

5 PC1 202.6.211.8 x

6 PC2 202.6.211.8 x

7 PC1 117.103.174.16 x <

Gambar

Gambar 2.1 Contoh capture iptraf
Gambar 2.3 Request Traffic Load balancing menggunakan metode round-robin
Gambar 2.4 Contoh WANContoh WAN Load Balancer beserta konfigurasinyabeserta konfigurasinya
Gambar 3.1 Rancangan sistem load balancing dengan dua buah koneksi internet
+7

Referensi

Dokumen terkait

Kegiatan dan kinerja usaha sapi perah melalui peningkatan produksi susu perlu terus ditingkatkan agar usaha lebih menguntungkan dan meningkatkan kesejahteraan

Pada Universitas Al Azhar Indonesia, rektor universitas merupakan pemegang tanggung jawab tertinggi seluruh aktivitas dan operasional universitas, wakil rektor II

Untuk mengetahui secara bersama sama hubungan atara satu variabel terikat (dependent variabel) dengan dua atau lebih variabel (indepedent variabel ), serta hubungan antara

Maka peneliti tertarik untuk melakukan penelitian mengenai pengaruh struktur modal terhadap kinerja keuangan pada perusahaan properti, real estate dan konstruksi bangunan

Dalam penelitian ini, citra isyarat tangan diambil menggunakan kamera kemudian akan dilakukan pengenalan isyarat tangan dan di proses menggunakan single board computer

Berdasarkan Tabel Hasil Analisis Regresi Linier didapatkan nilai koefisien determinasi ( R-square ) sebesar 0,167 yang berarti model dapat menjelaskan variasi tingkat

Kota Saumlaki merupakan satu pusat pertumbuhan Kabupaten Maluku Tenggara Barat dan memiliki aktivitas perekonomian yang intensif di sekitar wilayah pesisir, namun

[r]