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 INTERNETSKRIPSI
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
NTERNETSIMULTANEOUS
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 iptraf2.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 IPTablesJalannya 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