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

  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

NTERNET

  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

  

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

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 kita semua

  

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 to change the things that I can, and the wisdom to know the difference.

  

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 jumlah jalur koneksi internet ini diatur dengan rasio 1:1, 1:2 dan 1:3.

  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 dilewatkan pada kedua jalur koneksi yang ada.

  

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 ratio 1:1, 1:2, and 1:3.

  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 packet which is passed through both connections.

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 ini menjadi inspirasi saya.

  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 Penulis

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

  1.4 Tujuan Penulisan …………………………………………………. 4

  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

  2.9.1 Mengapa Linux ………………………………………….. 20

  BAB III. PERANCANGAN SISTEM

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

  4.2.4 Modifikasi file rc.local ………………………………… 44

  4.2.3 Source Nating (SNAT) ………………………………… 43

  4.2.2 Pembuatan Gateway Script ……………………………. 42

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

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

  4.1 Konfigurasi Komputer dan Peralatan …………………………... 39

  BAB IV. IMPLEMENTASI DAN ANALISIS

  3.4.1 Skenario Sistem Uji ……………………………………. 33

  3.1 Perancangan Sistem ……………………………………………… 21

  3.4 Perancangan Sistem Uji ………………………………………….. 33

  3.3.3 Pembuatan Aplikasi Failover ………………………….. 27

  3.3.2.2 Pembuatan SNAT (Source Nating) …………... 27

  3.3.2.1 Pembuatan Routing Tables dan Rules Script …. 26

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

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

  3.3 Langkah – langkah Implementasi Sistem ………………………… 24

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

  4.3 Pembuatan Fileover Script ………………………………………. 44

  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

  

DAFTAR PUSTAKA ………………………………………………………. 66

  

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

  18 round-robin

  2.4 Contoh WAN Load Balancer beserta konfigurasinya

  19

  3.1 Rancangan sistem load balancing dengan dua buah

  21 koneksi internet (ISP)

  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

  57 jalur yang terhubung ke ISP1 Perilaku program failover jalur ke ISP1 disambungkan

  4.3 57 kembali

  4.4 Perilaku script failover ketika dilakukan pemutusan jalur

  58 yang terhubung ke ISP0

  4.5 Perilaku script failover ketika jalur yang diputuskan

  58 (ISP0) disambung kembali

  4.6 Perilaku script failover ketika dilakukan pemutusan

  59 koneksi pada semua jalur

  4.7 Analisis skenario 1 untuk traffic yang ada

  60

  4.8 Aktivitas download yang dilakukan dengan IDM

  63

  

DAFTAR TABEL

Tabel Keterangan Halaman

  50

  37

  4.1 Aktivitas Browsing 1 skenario 1

  49

  4.2 Aktivitas Browsing 2 skenario 1

  50

  4.3 Aktivitas Browsing 3 skenario 1

  4.4 Aktivitas Browsing 4 skenario 1

  36

  51

  4.5 Aktivitas Browsing 1 skenario 2

  52

  4.6 Aktivitas Browsing 2 skenario 2

  52

  4.7 Aktivitas Browsing 3 skenario 2

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

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

  3.1 Konfigurasi ip address pada masing-masing pc yang digunakan

  28

  23

  3.2 Perancangan routing table

  26

  3.3 Source nating

  27

  3.4 Perilaku program dan sinyal yang diberikan jika pemutusan koneksi dilakukan

  3.5 Variabel awal yang digunakan beserta fungsinya

  35

  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

  53

  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

  4.14 Received traffic rata-rata pada suatu waktu

  61

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 Internet, penyedia web dan e-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.

  Menggunakan server paling canggih juga bukan solusi yang dapat bertahan

lama mengingat pesatnya perkembangan teknologi. Upgrade bandwidth 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

weighted roundrobin load balancing. Distribusi traffic bertujuan untuk lebih

menjamin koneksi internet tidak terputus.

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.

  8. Penelitian dalam skripsi ini menitik beratkan perancangan sistematika load balancing, dan tidak membahas lebih lanjut tentang SNMP community yang di gunakan untuk monitoring traffic TCP dari pengujian sistem.

  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.

  

Implementasi Dalam Bentuk Simulasi. Kegiatan ini dilakukan untuk mencoba dan

menguji sistem yang telah dirancang dan digambarkan sebelumnya.

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 Berdasarkan batasan-batasan masalah yang telah di jelaskan diatas. Perancangan sistem disini, membahas tentang langkah-langkah yang digunakan

  oleh penulis untuk melakukan implementasi dan uji coba sistem dalam bentuk simulasi sedangkan alat bantu lainnya menggunakan flowchart dan Grafik Report Monitoring dari load balancing yang di uji.

  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 Berisi daftar-daftar buku ataupun referensi yang digunakan untuk membuat makalah ini.

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 membutuhkan koneksi terlebih dahulu untuk menghantarkan pesan sampai terjadi 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 tersebut tidak akan beredar terus-menerus, tetapi akan dihapus jika sudah mencapai waktu TTL-nya.

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 routing table.

  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 shaping adalah membagi kebutuhan traffic pada setiap Ethernet card yang terpasang pada sebuah router sesuai dengan ketentuan / aturan tertentu yang ditetapkan. Dalam penulisan tugas akhir ini, traffic shaping tidak dibahas.

2.6 Traffic Monitoring Traffic Monitoring

  Traffic monitoring monitoring adalah aktifitas yang dilakukan untuk mengama n untuk mengamati traffic

  yang berjalan pada jalur pada jalur koneksi (bandwidth). Terdapat banyak banyak aplikasi (software/tools) yang da yang dapat digunakan untuk memonitor traffic suatu suatu jaringan komputer, misal: netwatch, netwatch, speedometer, iptraf dll. Dalam penulisan tugas penulisan tugas akhir ini penulis menggunakan unakan iptraf sebagai salah satu aplikasi network monitoring network monitoring yang digunakan.

2.6.1 Iptraf

  Iptraf adalah salah salah satu aplikasi untuk melakukan monitoring monitoring traffic jaringan. Iptraf memiliki memiliki beberapa untuk melihat statistik termasuk info termasuk info TCP, UDP, count, ARP, RARP ARP, RARP dan ICMP. Gambar 2.2 di bawah ini adalah ini adalah contoh capture dari iptraf.

Gambar 2.1 Contoh capture iptraf

  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.2 Chain pada IPTables

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

  Perjalanan paket yang diforward ke host yang lain 1. Paket berada pada jaringan fisik, contoh internet.

  2. Paket masuk ke interface jaringan, contoh eth0.

  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.

  7. Paket akan diterima oleh aplikasi lokal.

  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 banyak, maka proses yang dilakukan juga menjadi banyak.

  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 jalur saja. Sedangkan dengan menggunakan load balancing maka request yang ada akan dibagi ke beberapa koneksi yang ada. Pada penulisan tugas akhir ini, traffic akan 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 menggunakan servis tersebut dan melakukan pekerjaannya dengan lancar.

2.8.2 Metode Load balancing

  Penulis menggunakan metode weighted round robin load balancing pada 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 request dari suatu jaringan lokal yang terkoneksi ke dua ISP yang berbeda (ISP1 dan ISP2). Dengan asumsi menggunakan round

  

robin load balancing maka request 1 akan diarahkan pada ISP1, request 2 akan

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

  

round robin load balancing adalah metode yang hampir sama dengan round robin

load balancing. Perbedaannya adalah pembagian request traffic dapat disesuaikan