Transcript
Tugas Akhir
IMPLEMENTASI
LOAD BALANCING
PADA
WEB SERVER
oleh :
Muhfi Asbin Sagala
040402086
DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
2010
IMPLEMENTASI
LOAD BALANCING
PADA
WEB SERVER
oleh :
Muhfi Asbin Sagala
040402086
Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk
memperoleh gelar
Sarjana Teknik
pada
DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
Sidang pada Tanggal 3 Bulan Juli Tahun 2010 di depan penguji:
Disetujui oleh :
Pembimbing
Soeharwinto, ST, MT
NIP:197105272000031001
Diketahui oleh :
Pelaksana Harian Ketua Departemen Teknik Elektro
Prof. Dr. Ir. Usman S. Baafai
NIP:19461022197302001
Abstrak
Perkembangan teknologi
Web
menyebabkan
server-server
yang menyediakan
pelayanan di Internet harus mampu mengatasi permintaan dan beban kerja
yang lebih besar dari sebelumnya. Untuk dapat memenuhi tuntutan perkem-
bangan teknologi Web tersebut maka diperlukan teknologi
load balancing
. Tu-
gas Akhir ini membahas implementasi
load balancing
dan menganalisa hasil
implementasi tersebut. Teknologi load balancing diimplementasikan menggu-
nakan
Linux Virtual Server
(LVS). Parameter yang dianalisa adalah
through-
put
dan waktu respon. Dari hasil analisa terhadap implementasi
load balancing
yang telah dilakukan, sistem
load balancing
dapat menjadi salah satu solusi
yang efektif dan efisien untuk menciptakan sistem yang handal dengan tingkat
ketersediaan tinggi, khususnya sebagai
web server
.
Kata Kunci : Load Balancing, Linux Virtual Server, Direct Routing
KATA PENGANTAR
Puji dan syukur kepada Allah SWT penulis ucapkan, karena hanya dengan
kehendak-Nya penulis dapat menyelesaikan Tugas Akhir ini, yang berjudul
”IMPLEMENTASI
LOAD BALANCING
PADA
WEB SERVER
”. Tak lupa
pula shalawat dan salam kepada Junjungan kita Nabi Besar Muhammad SAW
yang telah membimbing kita kepada Islam. Di samping itu, penulis mengu-
capkan terima kasih yang sebesar-besarnya kepada:
1. Ayahanda Aidi Daslin Sagala dan Ibunda Yulinar Damanik yang telah
membesarkan dan memberikan kasih sayang yang tulus kepada penulis.
2. Abangda Yuda Hasfari Sagala, Winin Istia Sagala, dan Nidia Sabila Sa-
gala yang selalu menyayangi, membantu, menjadi tempat berbagi, ber-
canda penulis dalam suka maupun duka.
3. Bapak Soeharwinto ST, MT, selaku dosen pembimbing penulis yang te-
lah sangat banyak membantu dalam penulisan Tugas Akhir ini.
4. Bapak Ir. R. Sugih Arto Yusuf selaku dosen wali penulis, atas bimbi-
ngannya selama penulis kuliah di Departemen Teknik Elektro, Fakultas
Teknik, Universitas Sumatera Utara.
5. Bapak Prof. Dr. Ir. Usman S. Baafai dan Bapak Rahmad Fauzi, ST,
MT, selaku Pelaksana Harian Ketua dan Sekretaris Departemen Teknik
Elektro, Fakultas Teknik, Universitas Sumatera Utara.
6. Seluruh staf pengajar dan pegawai Departemen Teknik Elektro Fakultas
Teknik Universitas Sumatera Utara.
iii
iv
7. Riri Alhadilla Sukma yang telah membantu penulis dan memberikan
motivasi untuk menyelesaikan Tugas Akhir ini.
8. Asisten Laboratorium Sistem Pengaturan dan Komputer, Salman Al-
farisi dan Fachrurozi Nasution, yang menemani dan banyak membantu
penulis dalam pengerjaan Tugas Akhir ini.
9. Teman-teman stambuk 2004, Faisal, Luthfi, Nurul, Firdaus, Rozi, Eka,
Hilman, Bayu, Bismo, Ai, Ronal, Made, Hafiz, Marzuki, Zulkifli, Wahyu,
Izal, Idris, Aris, Hans, Eko, Fahmi, Salman, Adinata, Kurniadi, Syamsi,
Harry, Jefri, Nando, Pay, Fausan, Aris dan teman-teman yang belum
disebut namanya, yang selama ini menjadi teman diskusi di kampus.
Berbagai usaha telah penulis lakukan demi terselesaikannya Tugas Akhir ini
dengan baik, tetapi penulis menyadari akan kekurangan dan keterbatasan pe-
nulis. Oleh karena itu, saran dan kritik dengan tujuan menyempurnakan dan
mengembangkan kajian dalam bidang ini sangat penulis harapkan.
Akhir kata penulis berharap agar Tugas Akhir ini dapat bermanfaat bagi pem-
baca dan penulis.
Medan, Juni 2010
Penulis,
Muhfi Asbin Sagala
NIM:040402086
Daftar Isi
Abstrak
ii
Kata Pengantar
iii
Daftar Isi
vi
Daftar Tabel
x
Daftar Gambar
xi
1 PENDAHULUAN
1
1.1 Latar Belakang
. . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Tujuan Penulisan
. . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Tinjauan Pustaka
. . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Rumusan Masalah
. . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Batasan Masalah
. . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Metodologi Penelitian
. . . . . . . . . . . . . . . . . . . . . . . . 4
v
vi
1.7 Sistematika Penulisan
. . . . . . . . . . . . . . . . . . . . . . . . 5
2 DASAR TEORI
6
2.1 Jaringan Komputer
. . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Jenis-Jenis Jaringan
. . . . . . . . . . . . . . . . . . . . 7
2.2 Topologi Jaringan Komputer
. . . . . . . . . . . . . . . . . . . . 10
2.2.1 Topologi Jala (
Mesh
)
. . . . . . . . . . . . . . . . . . . . 10
2.2.2 Topologi Bintang (
Star
)
. . . . . . . . . . . . . . . . . . 11
2.2.3 Topologi Bus
. . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 Topologi Cincin (
Ring
)
. . . . . . . . . . . . . . . . . . . 14
2.3 Model Referensi Jaringan Komputer
. . . . . . . . . . . . . . . 15
2.3.1 Model TCP/IP
. . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Model OSI
. . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Protokol
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Protokol TCP/IP
. . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.1
Internet Protocol
. . . . . . . . . . . . . . . . . . . . . . 21
2.5.2
Transmission Control Protocol
. . . . . . . . . . . . . . . 26
2.6 Protokol HTTP
. . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.7
Load Balancing
. . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.8
Linux Virtual Server
. . . . . . . . . . . . . . . . . . . . . . . . 34
2.8.1 Algoritma Penjadwalan
. . . . . . . . . . . . . . . . . . . 35
vii
3 PERANCANGAN DAN IMPLEMENTASI SISTEM
38
3.1 Umum
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 Konfigurasi Sistem Implementasi LVS
. . . . . . . . . . . . . . . 39
3.2.1 Konfigurasi Perangkat Keras
. . . . . . . . . . . . . . . . 39
3.2.2 Konfigurasi Perangkat Lunak
. . . . . . . . . . . . . . . 40
3.2.3 Infrastruktur Jaringan
. . . . . . . . . . . . . . . . . . . 42
3.3 Skenario Implementasi
. . . . . . . . . . . . . . . . . . . . . . . 43
3.3.1 Skenario Performansi Sistem
. . . . . . . . . . . . . . . . 43
3.3.2 Skenario Redundansi
. . . . . . . . . . . . . . . . . . . . 43
4 PENGUJIAN DAN ANALISA
45
4.1 Analisa Skenario Performansi
. . . . . . . . . . . . . . . . . . . 45
4.1.1
Throughput
. . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1.2 Waktu Respon
. . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Analisa Skenario Redundansi
. . . . . . . . . . . . . . . . . . . 48
4.2.1 Skenario Simulasi Gangguan pada
Real Server
. . . . . . 48
4.2.2 Skenario Simulasi Gangguan pada
Director
. . . . . . . . 50
5 KESIMPULAN DAN SARAN
52
5.1 Kesimpulan
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2 Saran
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
viii
Daftar Pustaka
56
Lampiran A Konfigurasi Keepalived
57
A.1 keepalived master.conf
. . . . . . . . . . . . . . . . . . . . . . . 57
A.2 keepalived backup.conf
. . . . . . . . . . . . . . . . . . . . . . . 59
Daftar Tabel
2.1 Kelas Alamat IP dan Jangkauan Anggotanya
. . . . . . . . . . . 25
2.2 Jangkauan Alamat IP Pribadi
. . . . . . . . . . . . . . . . . . . 26
3.1 Konfigurasi Alamat IP pada sistem
Linux Virtual Server
. . . . 43
ix
Daftar Gambar
2.1 Topologi Jala (
Mesh
)
. . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Topologi Bintang (
Star
)
. . . . . . . . . . . . . . . . . . . . . . 12
2.3 Topologi Bus
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Topologi Cincin (
Ring
)
. . . . . . . . . . . . . . . . . . . . . . . 14
2.5 Lima Lapisan Model Jaringan TCP/IP
. . . . . . . . . . . . . . 16
2.6 Tujuh Lapisan Model Jaringan OSI
. . . . . . . . . . . . . . . . 18
2.7 Diagram
Header
IPv4
. . . . . . . . . . . . . . . . . . . . . . . 22
2.8 Diagram
Header
TCP
. . . . . . . . . . . . . . . . . . . . . . . 28
2.9 Komunikasi pada HTTP
. . . . . . . . . . . . . . . . . . . . . . 32
2.10 Konsep Load Balancing
. . . . . . . . . . . . . . . . . . . . . . 33
2.11 Skema Sistem
Linux Virtual Server
. . . . . . . . . . . . . . . . 35
3.1 Topologi Sistem Implementasi LVS
. . . . . . . . . . . . . . . . 42
4.1 Perbandingan
Throughput
Server Tunggal dan LVS
. . . . . . . 46
4.2 Perbandingan Waktu Respon Server Tunggal dan LVS
. . . . . 47
x
xi
4.3 Perbandingan
Throughput
pada Skenario Kegagalan Salat Satu
Real Server
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4 Perbandingan Waktu Respon pada Skenario Kegagalan pada
Salah Satu
Real Server
. . . . . . . . . . . . . . . . . . . . . . . 50
Bab 1
PENDAHULUAN
1.1 Latar Belakang
Di era informasi seperti saat sekarang ini, perkembangan teknologi internet
cukup pesat. Para pengguna teknologi internet pun kian menjamur di berbagai
belahan dunia. Salah satu jasa di dunia internet yang paling sering digunakan
adalah
World Wide Web
(WWW). Perkembangan teknologi
Web
tersebut
harus didukung pula dengan infrastruktur yang baik dan berkecepatan tinggi
agar berbagai kebutuhan tersebut dapat terpenuhi dengan baik pula.
Perusahaan perusahaan penyedia jasa
Web
di dunia internet sudah melaku-
kan banyak hal agar dapat memenuhi besarnya kebutuhan tersebut. Meng-
gunakan mesin-mesin
serverÂ
tunggal dengan teknologi
Shared-memory Multi-
Processors
(SMP) yang notabene merupakan mesin-mesin yang cukup mahal.
Perusahaan-perusahaan kecil yang bergerak di bidang penyedia jasa
Web
tentu
tidak dapat menjangkau mesin-mesin dengan teknologi seperti di atas.
1
2
Masalah juga muncul ketika penyedia jasa
Web
hanya bergantung pada satu
server
tunggal saja, antara lain seperti
overload
dan
crash
. Masalah lainnya
adalah ketersediaan
server
itu sendiri. Misal, pada sistem banyak prosesor
akan mengalami
down
untuk sementara waktu jika hendak melakukan pera-
watan mesin atau penambahan prosesor. Hal tersebut akan mengurangi nilai
pelayanan
server
itu sendiri.
Teknologi
load balancing
hadir sebagai sebuah solusi yang dapat membuat
kinerja
Web server
menjadi lebih baik. Selain itu, teknologi
load balancing
dapat mengurangi biaya yang digunakan untuk membeli sumber daya yang
dibutuhkan penyedia jasa
Web
.
1.2 Tujuan Penulisan
Adapun tujuan penulisan tugas akhir ini yaitu agar dapat mengimplemen-
tasikan teknologi
load balancing
pada
Web server
agar memiliki kinerja dan
ketersediaan yang tinggi, yang menyediakan kemampuan untuk pengembangan
(
scalability
), ketahanan uji, dan pemberian layanan yang baik.
1.3 Tinjauan Pustaka
Linux Virtual Server
(LVS) adalah sebuah teknologi pada sistem operasi Li-
nux yang dapat membantu kita membangun
server
yang memiliki kinerja dan
ketersediaan tinggi menggunakan sekumpulan
server
. LVS yang bertanggung
jawab mendistribusikan permintaan-permintaan
client
ke sekumpulan
server
tersebut. Struktur LVS terdiri dari
director
dan beberapa
server
.
3
LVS memiliki beberapa metode pendistribusian paket-paket yaitu LVS-NAT,
LVS-DR dan LVS-TUN. Permintaan-permintaan dari
client
didistribusikan
ke sejumlah
server
berdasarkan alamat IP, protokol dan nomor
port
, secara
umum disebut sebagai
switching Layer
4. LVS mendukung sejumlah algoritma
penjadwalan yang dapat disetel pada saat melakukan konfigurasi. Penjadwal
bertanggung jawab untuk menentukan
server
mana yang menerima permin-
taan dari
client
. Penjadwal yang paling sederhana menggunakan algoritma
round robin
.
1.4 Rumusan Masalah
Menganalisa hasil implementasi yang telah dilakukan dengan pengukuran pa-
rameter performansi :
throughput
dan waktu respon
1.5 Batasan Masalah
Ada pun yang menjadi batasan masalah pada penulisan tugas akhir ini adalah
:
1. Tidak membahas sisi keamanan, baik pada jaringan yang digunakan
maupun pada sistem operasi.
2. Implementasi
load balancing
menggunakan teknologi
Linux Virtual Ser-
ver
(LVS) dengan metode
direct routing
(LVS-DR).
3. Implementasi load balancing tidak menggunakan media simpan bersama
seperti NAS.
4
4. Jaringan lokal menggunakan IPv4.
5. Perangkat lunak
Web server
yang digunakan adalah Apache 2
Web Ser-
ver
.
6. Protokol yang diuji adalah HTTP
1.6 Metodologi Penelitian
Metodologi penelitian yang digunakan dalam tugas akhir ini meliputi :
1. Studi Literatur.
Pada tahap ini dilakukan pemantapan konsep
load balancing
dengan tek-
nologi
Linux irtual Server
.
2. Diskusi.
Berupa tanya jawab dengan dosen pembimbing mengenai permasalahan
yang terjadi selama proses penulisan tugas akhir.
3. Perancangan dan Implementasi Sistem.
Pada tahap ini dilakukan perancangan jaringan komputer dan imple-
mentasi
load balancing
pada rancangan tersebut.
4. Analisa Kinerja Sistem.
Pada tahap ini, dilakukan analisa terhadap kinerja sistem melalui parameter-
parameter yang telah ditentukan.
5
1.7 Sistematika Penulisan
Untuk memudahkan pemahaman terhadap Tugas Akhir ini maka penulis me-
nyusun sistematika penulisan sebagai berikut :
BAB I : PENDAHULUAN
Bab ini merupakan gambaran menyeluruh tentang apa yang
diuraikan dalam Tugas Akhir ini, yaitu pembahasan tentang
latar belakang, tujuan penulisan, batasan masalah, metode
penulisan, dan sistematika penulisan.
BAB II : DASAR TEORI
Bab ini berisi tentang konsep
load balancing
pada jaringan
komputer dan
Linux Virtual Server
.
BAB III : PERANCANGAN DAN IMPLEMENTASI SISTEM
Bab ini membahas tentang subjek penelitian, tempat dan
waktu penelitian, spesifikasi perangkat penelitian, konfigurasi
sistem, persiapan pengujian, dan pengujian sistem.
BAB IV : PENGUJIAN DAN ANALISA
Bab ini membahas tentang pengujian dan analisa terha-
dap kinerja
load balancing
pada
Web server
menggunakan
parameter-parameter yang telah ditentukan.
BAB V : KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dan saran dari aplikasi yang
dirancang.
Bab 2
DASAR TEORI
2.1 Jaringan Komputer
Jaringan komputer adalah kombinasi kumpulan perangkat lunak dan perang-
kat keras seperti komputer, printer dan peralatan lainnya yang terhubung
melalui kabel-kabel atau media komunikasi lainnnya sehingga memungkinkan
pengguna jaringan komputer dapat saling bertukar dokumen dan data, men-
cetak pada printer yang sama dan bersama-sama menggunakan perangkat ke-
ras/perangkat lunak yang terhubung dengan jaringan. Tiap komputer, printer
atau periferal yang terhubung dengan jaringan disebut
node
. Sebuah jaringan
komputer dapat memiliki dua, puluhan, ribuan atau bahkan jutaan
node
.
Sebuah jaringan biasanya terdiri dari dua atau lebih komputer (
node
) yang
saling berhubungan diantara satu dengan yang lain, dan saling berbagi sumber
daya misalnya CDROM, printer, pertukaran
�le
, atau memungkinkan untuk
saling berkomunikasi secara elektronik. Komputer yang terhubung tersebut,
dimungkinkan berhubungan dengan media kabel, saluran telepon, gelombang
6
7
radio, satelit, atau sinar infra merah.
2.1.1 Jenis-Jenis Jaringan
Pada jaringan komputer terdapat beberapa jenis jaringan komputer yang di-
klasifikasi berdasarkan skala (jangkauan geografis), hubungan fungsional dan
media transmisi. Berikut ini adalah pengklasifikasian jaringan komputer:
Berdasarkan Skala (Jangkauan Geografis)
Berdasarkan skalanya, jenis jaringan komputer terdiri dari:
1.
Local Area Network
(LAN)
Local Area Network
(LAN) merupakan jaringan untuk komputer yang re-
latif berdekatan atau lokal satu sama lain. Biasanya perangkat-perangkat
yang terhubung berada pada satu ruangan atau gedung. LAN sering-
kali digunakan untuk menghubungkan komputer-komputer pribadi dan
workstation dalam kantor suatu perusahaan atau pabrik-pabrik untuk
memakai bersama sumber daya (
resource
, misalnya printer) dan saling
bertukar informasi.
2.
Metropolitan Area Network
(MAN)
Metropolitan Area Network
(MAN) merupakan jaringan komputer yang
mencakup wilayah perkotaan. Pada MAN, biasanya menghubungkan
gedung-gedung perkantoran yang berada pada satu kota. MAN dapat
menunjang komunikasi data dan suara, bahkan dapat terhubung dengan
jaringan televisi kabel.
8
3.
Wide Area Network
(WAN)
Wide Area Network
(WAN) memiliki konsep yang hampir sama dengan
LAN. Hanya saja jarak antar perangkat pada jaringan WAN sangat ja-
uh. Cakupan jaringan WAN biasanya antar kota hingga antar benua.
Jaringan ini biasanya dimaanfaatkan oleh perusahaan-perusahaan besar
yang memiliki banyak situs fisik di banyak lokasi.
4. Internet
Sebenarnya terdapat banyak jaringan di dunia ini yang menggunakan
perangkat keras dan perangkat lunak yang berbeda-beda. Orang yang
terhubung ke jaringan berharap untuk bisa berkomunikasi dengan orang
lain yang terhubung ke jaringan lainnya. Keinginan seperti ini memer-
lukan hubungan antar jaringan yang seringkali tidak kompatibel dan ber-
beda. Biasanya untuk melakukan hal ini diperlukan sebuah mesin yang
disebut
gateway
guna melakukan hubungan dan melaksanakan terjemah-
an yang diperlukan, baik perangkat keras maupun perangkat lunaknya.
Kumpulan jaringan yang terinterkoneksi inilah yang disebut dengan in-
ternet.
Berdasarkan Hubungan Fungsional
Berdasarkan hubungan fungsional antara
node
yang terdapat pada jaringan,
jenis jaringan komputer terdiri dari:
1. Client-Server
Pada jaringan jenis ini, layanan diberikan oleh sebuah komputer yang
9
didedikasikan khusus untuk melayani yang disebut dengan server. Kom-
puter yang melakukan akses ke
server
disebut dengan
client
.
2. Peer-to-Peer
Pada jaringan jenis ini, setiap
host
yang terhubung pada jaringan dapat
berfungsi sebagai
server
sekaligus
client
.
Berdasarkan Media Transmisi
Berdasarkan media transmisi yang digunakan, jenis jaringan komputer terdiri
dari:
1. Jaringan Berkabel
Pada jenis jaringan ini, setiap
node
yang ada pada jaringan terhubung
melalui kabel-kabel. Beberapa jenis kabel yang biasa digunakan pada
jaringan komputer saat ini antara lain kabel
Unshielded Twister Pair
(UTP), kabel coaxial dan kabel serat optik.
2. Jaringan Nirkabel
Pada jenis jaringan ini, setiap
node
yang ada pada jaringan terhubung
melalui medium berupa gelombang elektromagnetik. Teknologi jaringan
nirkabel yang umum digunakan saat ini antara lain Bluetooth, Wi-Fi
(IEEE 802.11) dan transmisi radio.
10
2.2 Topologi Jaringan Komputer
Pengertian topologi mengacu kepada cara-cara meletakkan perangkat-perangkat
jaringan secara fisik, dua atau lebih perangkat membentuk hubungan (
link
),
kemudian dua atau lebih hubungan (
link
) tersebut membentuk topologi. Topo-
logi jaringan komputer merupakan representasi secara geometris semua perangkat-
perangkat yang terhubung membentuk jaringan satu sama lain. Terdapat em-
pat jenis topologi, antara lain topologi jala (
mesh
), topologi bintang (
star
),
topologi bus dan topologi cincin (
ring
).
2.2.1 Topologi Jala (
Mesh
)
Dalam topologi jala, setiap perangkat jaringan memiliki hubungan terdedikasi
ke semua perangkat lainnya dalam jaringan. Maksud dari hubungan terdedi-
kasi adalah bawa penghubung (
link
) hanya membawa lalu lintas antara dua
perangkat yang saling tersambung. Bentuk topologi jala seperti terlihat pa-
da Gambar
2.1
. Untuk menentukan jumlah sambungan fisik dari sejumlah n
perangkat pada topologi jala, maka dapat menggunakan perhitungan:
n(n-1)/2
Jika terdapat 5 perangkat pada jaringan komputer menggunakan topologi jala,
maka jumlah sambungan fisiknya adalah 10 sambungan.
Terdapat beberapa keuntungan pada penggunaan topologi jala dibanding dengan
topologi lain. Pertama, hubungan terdedikasi menjamin setiap beban data di-
bawa oleh masing-masing sambungan antar perangkat, sehingga menghilang-
kan masalah lalu lintas yang dapat terjadi ketika hubungan harus dibagi oleh
11
Gambar 2.1: Topologi Jala (
Mesh
)
beberapa perangkat sekaligus. Kedua, topologi jala membentuk jaringan yang
kuat. Jika salah satu hubungan terputus, maka hal itu tidak melumpuhkan
kinerja keseluruhan sistem. Ketiga, terdapat keuntungan pada privasi dan
keamanan. Lalu lintas data yang terjadi pada sambungan hanya melibatkan
dua perangkat yang berkomunikasi. Terakhir, hubungan point-to-point me-
mudahkan proses identifikasi kesalahan dan isolasi kesalahan pada sistem.
Kerugian paling utama dari topologi jala adalah jumlah sambungan kabel dan
bandar I/O yang harus tersedia sangat banyak apabila terdapat banyak pe-
rangkat yang tersambung. Hal ini dikarenakan satu perangkat harus tersam-
bung ke semua perangkat lain dalam jaringan. Jika topologi jala diimplemen-
tasikan pada jaringan yang besar, maka jumlah biaya untuk membuatnya akan
menjadi sangat besar.
2.2.2 Topologi Bintang (
Star
)
Tidak seperti topologi jala, pada topologi ini tidak ada perangkat yang ber-
komunikasi secara langsung. Hal ini dikarenakan perangkat tidak tersambung
12
secara langsung satu sama lain. Dalam topologi bintang (
star
), sebuah ele-
men pusat (misalnya hub, bridge, atau switch) bertindak sebagai pengatur
dan pengendali semua komunikasi.
Perangkat-perangkat yang ada dalam jaringan hanya membutuhkan satu sam-
bungan kabel dan bandar I/0 ke pengendali. Sehingga biaya implementasi
menjadi lebih murah. Topologi bintang juga membentuk jaringan yang kuat.
Jika salah satu sambungan mengalami kegagalan, maka hal ini tidak mempe-
ngaruhi sambungan yang lainnya.
Kerugian paling utama pada topologi bintang adalah elemen pusat yang mela-
kukan pengendalian komunikasi (hub, bridge, atau switch). Jika elemen pusat
ini mengalami kegagalan, maka seluruh jaringan juga mengalami kegagalan.
Gambar 2.2: Topologi Bintang (
Star
)
2.2.3 Topologi Bus
Pada dua topologi sebelumnya menggambarkan koneksi
point-to-point
. Topo-
logi Bus merupakan topologi dengan koneksi
multipoint
. Sebuah kabel utama
13
yang panjang digunakan sebagai
backbone
(tulang punggung) untuk menghu-
bungkan semua perangkat dalam jaringan.
Perangkat-perangkat jaringan tersambung pada kabel utama pada titik terten-
tu menggunakan sebuah konektor. Kedua ujung kabel utama diberi termina-
tor. Sinyal-sinyal yang mengalir pada kabel utama dapat menjadi lemah akibat
energi yang berubah menjadi panas. Itulah sebabnya, jumlah sambungan pada
kabel utama dibatasi dan jarak antar sambungan harus diatur.
Beberapa keuntungan penggunaan topologi ini pada jaringan adalah proses
instalasi yang mudah. Penggunaan kabel sambungan pada topologi ini juga
dapat diminimalisir. Hal ini dikarenakan hanya kabel utama saja yang harus
membentang mencapai setiap perangkat.
Gambar 2.3: Topologi Bus
Kerugiannya antara lain sulitnya melakukan sambungan ulang dan isolasi ke-
salahan pada sistem. Melakukan sambungan ulang dapat menyebabkan peng-
ubahan kabel utama. Jika terdapat perangkat baru yang tersambung pada
kabel utama, maka kualitas sinyal pada kabel utama mengalami penurunan.
14
2.2.4 Topologi Cincin (
Ring
)
Pada topologi cincin (
ring
), semua perangkat dalam jaringan disambungkan
sehingga terbentuk suatu pola lingkaran atau cincin. Perangkat tersambung
point-to-point dengan perangkat lain di setiap sisinya. Sinyal berjalan ke satu
arah pada cincin, hingga sinyal sampai ke tujuannya.
Gambar 2.4: Topologi Cincin (
Ring
)
Beberapa keuntungan implementasi topologi cincin antara lain proses konfigu-
rasi dan instalasi yang mudah. Jika terdapat perangkat yang akan ditambah-
kan atau dipindahkan, proses ini hanya membutuhkan pengubahan pada dua
sambungan saja. Umumnya dalam topologi cincin, sinyal beredar sepanjang
waktu. Jika salah satu perangkat tidak menerima sinyal dalam jangka waktu
tertentu, maka terdapat sinyal peringatan. Sinyal peringatan ini memberita-
hukan operator jaringan masalah dan lokasinya.
Pada topologi cincin yang satu arah terdapat kerugian. Jika salah satu pe-
rangkat mengalami kerusakan, maka hal ini dapat mempengaruhi keseluruhan
jaringan.
15
2.3 Model Referensi Jaringan Komputer
Untuk mengurangi kompleksitas rancangan, sebagian besar jaringan tersusun
sebagai suatu lapisan atau tingkatan. Jumlah lapisan, nama setiap lapisan,
isi dari setiap lapisan, dan fungsi setiap lapisan berbeda dari jaringan ke ja-
ringan. Tujuan dari setiap lapisan adalah untuk menawarkan layanan tertentu
ke lapisan yang lebih tinggi, melindungi lapisan-lapisan dari rincian tentang
bagaimana layanan yang ditawarkan benar-benar dilaksanakan. Dalam arti,
setiap lapisan adalah semacam mesin virtual, menawarkan layanan tertentu ke
lapisan di atasnya.
2.3.1 Model TCP/IP
Model jaringan
Transmission Control Protocol/Internet Protocol
(TCP/IP)
merupakan pengembangan dari ARPANET yang dikembangkan oleh DARPA.
ARPANET awalnya mampu menghubungkan berbagai universitas dan kantor
pemerintahan di Amerika Serikat melalui jaringan telepon. Ketika jaringan sa-
telit dan radio berkembang, terjadi kesulitan menghubungkan mereka dengan
jaringan yang ada. Sehingga diperlukan sebuah model yang baru yang dapat
menghubungkan beberapa jaringan secara berkesinambungan yang disebut se-
bagai model jaringan TCP/IP. Model ini terdiri atas lima lapisan seperti yang
ditunjukkan oleh Gambar
2.5
.
Lapisan Fisik (
Physical Layer
) menjelaskan mengenai aspek-aspek elektris,
mekanis, pewaktuan dan media transfer fisik dari sebuah jaringan komputer.
Hal utama rancangan lapisan ini adalah menjamin sebuah perangkat yang
mengirimkan bit 1, akan diterima sebagai bit 1 pula di perangkat yg menerima
16
Gambar 2.5: Lima Lapisan Model Jaringan TCP/IP
dan bukannya bit 0.
Lapisan Data Link (
Data Link Layer
) menyediakan proses pengiriman dan sik-
ronisasi data yang melewati lapisan fisik. Pada lapisan ini, data yang diterima
byte demi byte dibentuk ke dalam frame dan dikirimkan secara berurutan.
Hal ini dilakukan agar data yang dikirimkan dapat dideteksi kesalahannya.
Lapisan Jaringan (
Network Layer
) mengelola pengalamatan perangkat, mela-
cak lokasi perangkat di jaringan, dan menentukan jalur terbaik untuk memin-
dahkan data. Lapisan jaringan mengatur proses routing sehingga data yang
dikirimkan menempuh jarak yang terpendek dalam jaringan. Lapisan ini juga
harus mengirim pesan ke lapisan data link untuk transmisi. Beberapa tekno-
logi lapisan data link memiliki batasan pada panjang setiap pesan yang dapat
dikirim. Jika paket yang ingin dikirimkan oleh lapisan jaringan terlalu besar,
lapisan jaringan harus membagi paket tersebut.
Lapisan Transport (
Transport layer
) melakukan segmentasi dan menyatukan
17
kembali data yang tersegmentasi menjadi sebuah arus data. Lapisan transport
juga melakukan kendali aliran data sehingga pada jalur data tidak terjadi
overflow
. Lapisan ini menyediakan layanan koneksi pada lapisan di atas yaitu
connection-oriented
dan
connectionless
.
Lapisan Aplikasi (
Application Layer
) mengandung berbagai macam protokol
yang dibutuhkan oleh pengguna untuk melakukan akses ke jaringan kompu-
ter. Seperti protokol HTTP yang dibutuhkan oleh pengguna untuk mengakses
World Wide Web
. Namun, user tidak menggunakan langsung protokol HTTP
melainkan harus melalui sebuah aplikasi
Web Browser
terlebih dahulu.
2.3.2 Model OSI
International Organization for Standarization
(ISO) membuat sebuah stan-
dar internasional untuk model jaringan komputer yang disebut
Open Systems
Interconnection
(OSI). Model OSI terdiri atas tujuh lapisan seperti yang di-
tunjukkan oleh Gambar
2.6
.
Lapisan-lapisan yang terdapat pada model OSI sama dengan yang ada pa-
da Model TCP/IP ditambahkan dengan dua lapisan yaitu Lapisan Sesi dan
Lapisan Presentasi.
Lapisan Sesi (
Session Layer
) bertanggung jawab membentuk, mengelola dan
memutuskan sesi yang terjadi antar perangkat. Lapisan Sesi melakukan ko-
ordinasi dialog antar perangkat dan mengorganisasi komunikasinya dengan
menawarkan tiga mode, yaitu
simplex
,
half duplex
dan
full duplex
. Lapisan
ini menjaga terpisahnya data dari aplikasi yang satu dengan data dari aplikasi
yang lain.
18
Gambar 2.6: Tujuh Lapisan Model Jaringan OSI
Lapisan Presentasi (
Presentation Layer
) bertanggung jawab menerjemahkan
data yang masuk dan keluar agar setiap perangkat dapat berkomunikasi mes-
kipun memiliki representasi data yang berbeda. Lapisan ini juga dapat meng-
enkripsi dan mengkompresi data.
2.4 Protokol
Pada jaringan komputer, terdapat berbagai jenis perangkat berbeda yang ter-
hubung dan saling berkomunikasi satu sama lain. Agar perangkat-perangkat
tersebut dapat saling berkomunikasi, mereka harus ”berbicara dengan bahasa
yang sama”. Apa yang dikomunikasikan, bagaimana cara berkomunikasi, dan
19
kapan perangkat-perangkat tersebut berkomunikasi harus memenuhi beberapa
konvensi bersama antara perangkat-perangkat yang terlibat. Sekumpulan kon-
vensi ini disebut sebagai sebuah protokol, yang dapat didefinisikan sebagai se-
perangkat aturan yang mengatur pertukaran data antara perangkat-perangkat
yang terlibat dalam komunikasi. Elemen utama dari protokol adalah
syntax
,
semantics
dan
timing
.
•
Syntax
. Istilah ini mengacu kepada struktur atau format data, bagai-
mana data-data tersebut disajikan. Sebagai contoh, sebuah protokol
sederhana mungkin mengharapkan 8 bit pertama dari data berisi ala-
mat pengirim, 8 bit kedua berisi alamat penerima dan sisanya adalah isi
pesan yang hendak disampaikan.
•
Semantics
. Istilah ini mengacu kepada pengendalian informasi untuk
koordinasi dan penanganan kesalahan.
•
Timing
. Istilah ini mengacu kepada dua karakteristik: Kapan data harus
dikirimkan dan seberapa cepat data itu dikirimkan.
Sebuah protokol komunikasi harus dapat mewujudkan sebuah komunikasi yang
handal dan tanpa kesalahan. Untuk mewujudkan hal ini sebuah protokol harus
mencakup 3 hal utama yaitu
link management
,
error control
dan
flow control
.
Link management
pada protokol akan mengatur bagaimana membangun ko-
neksi untuk memulai sebuah komunikasi dan bagaimana memutuskan koneksi
ketika komunikasi telah selesai dilaksanakan. Selain itu, agar aliran data yang
dikirimkan oleh pengirim terkendali sehingga tidak membanjiri penerima, ma-
ka aliran data tersebut akan dikendalikan oleh protokol dengan mekanisme
20
flow control
yang dimilikinya. Data yang diterima oleh penerima akan di-
periksa apakah telah terjadi kerusakan atau tidak selama proses pengiriman
berlangsung. Jika terjadi kerusakan maka langkah apa yang harus diambil,
akan diatur sepenuhnya oleh mekanisme
error control
protokol.
Protokol dibuat untuk menjalankan beberapa fungsi. Tidak semua fungsi ter-
dapat pada setiap protokol. Untuk itu dalam menjalankan tugasnya, beberapa
protokol bekerjasama. Beberapa fungsi protokol antara lain:
•
Segmentasi dan Penyatuan Ulang. Proses dimana protokol membagi pa-
ket data menjadi beberapa segmen dan kemudian melakukan penyatuan
ulang beberapa segmen menjadi paket data utuh.
•
Enkapsulasi. Proses penambahan informasi kendali pada paket data
yang diperlukan untuk pengiriman.
•
Kendali Koneksi. Proses persetujuan (
handshake
) untuk koneksi sebelum
mengirimkan paket data.
•
Pengiriman tersusun. Proses penyesuaian urutan pengiriman paket data.
•
Kendali Kesalahan. Proses pengendalian terhadap kemungkinan keru-
sakan paket data saat pengiriman.
•
Kendali aliran data. Proses pembatasan jumlah paket data yang dikirim
dari pengirim ke penerima.
•
Pengalamatan. Proses pengalamatan pada perangkat-perangkat yang
hendak bertukar paket data.
21
•
Multiplexing. Proses pengiriman banyak sinyal yg berbeda pada satu
sambungan.
•
Layanan Transmisi. Prioritas dan Keamanan pada transmisi.
2.5 Protokol TCP/IP
2.5.1
Internet Protocol
Internet Protocol
(IP) bekerja pada lapisan ketiga dari model jaringan TCP/IP
yaitu lapisan jaringan. IP mengimplementasikan dua fungsi utama, yaitu
pengalamatan dan fragmentasi. IP menggunakan alamat yg terdapat pada
header IP untuk mengirimkan data menuju alamat tujuannya. Pemilihan ja-
lur pengiriman disebut dengan
Routing
. IP bersifat
unreliable
,
connectionless
dan
datagram delivery service
.
Unreliable
berarti bahwa protokol IP tidak menjamin datagram (paket yang
terdapat di dalam IP layer) yang dikirim pasti sampai ke tempat tujuan. Pro-
tokol IP hanya berusaha sebaik-baiknya agar paket yang dikirim tersebut sam-
pai ke tujuan. Jika dalam perjalanan, paket tersebut mengalami gangguan
seperti jalur putus, kongesti pada router atau target
host down
, protokol IP
hanya bisa menginformasikan kepada pengirim paket melalui protokol ICMP
bahwa terjadi masalah dalam pengiriman paket IP. Jika diinginkan keandalan
yang lebih baik, keandalan itu harus disediakan oleh protokol yang berada di
atas IP layer misalnya TCP dan aplikasi pengguna.
Connectionless
berarti bahwa dalam mengirim paket dari tempat asal ke tuju-
an, baik pihak pengirim dan penerima paket IP sama sekali tidak mengadakan
22
perjanjian terlebih dahulu (
handshake
).
Datagram delivery service
berarti bahwa setiap paket yang dikirimkan tidak
tergantung pada paket data yang lain. Akibatnya jalur yang ditempuh oleh
masing-mading paket data bisa jadi berbeda satu dengan yang lainnya.
Terdapat dua versi dari protokol IP, yaitu IP
version
4 (IPv4) dan IP
version
6 (IPv6). Saat ini secara umum masih digunakan IPv4. Pada Gambar
2.7
ditunjukkan
header
dari IPv4.
Gambar 2.7: Diagram
Header
IPv4
Informasi yang terdapat pada
header
IPv4 yang digunakan sebagai mekanisme
penyediaan layanan, yaitu :
•
Version
(VER), berisi tentang versi protokol yang dipakai.
•
Internet Header Length
(IHL), berisi panjang
header
IP bernilai 32 bit.
•
Type of Service
(ToS), berisi indikasi dari kualitas pelayanan yang dii-
nginkan seperti, prioritas paket, tundaan dan
throughput
•
Total Length of Datagram
, total panjang datagram IP dalam ukuran
byte
23
•
Identification
,
Flags
, dan
Fragment Offset
, berisi tentang data yang ber-
hubungan dengan fragmentasi paket.
•
Time to Live
(TTL), berisi batasan waktu dari datagram yang mela-
lui router atau gateway. Jika TTL habis sebelum datagram mencapai
tujuan, maka datagram akan hilang.
•
Protocol
, berisi angka yang mengidentifikasikan protokol layer atas, yang
menggunakan isi data dari paket IP ini.
•
Header Checksum
, berisi nilai
checksum
yang memberikan verfikasi da-
lam proses pengiriman datagram yg benar. Data yang dikirimkan mung-
kin saja memiliki kesalahan. Oleh karena itu, jika
Header Checksum
gagal, data akan diabaikan.
•
Source IP Address
, alamat asal/sumber.
•
Destination IP Address
, alamat tujuan.
•
Option
, mengkodekan pilihan-pilihan yang diminta oleh pengirim seperti
security label
,
source routing
,
record routing
, dan
time stamping
.
•
Padding
, digunakan untuk meyakinkan bahwa header paket bernilai ke-
lipatan dari 32 bit.
Pengalamatan IP
Internet merupakan sebuah jaringan raksasa yang terdiri atas komputer-komputer
yang saling terhubung satu dengan yang lain. Untuk dapat saling berkomuni-
kasi masing-masing komputer harus mempunyai kartu jaringan dimana kartu
24
jaringan ini mempunyai nomor identitas yang unik. Sebagai contoh nomor ID
kartu jaringan adalah 00:50:FC:FE:B1:E9. Susah sekali untuk ditulis ataupun
diingat dan tentunya akan sangat kesulitan bila harus mengingat semua no-
mor ID kartu jaringan yang ada. Untuk memudahkan hal itu maka digunakan
protokol TCP/IP pada setiap komputer dimana setiap komputer yang meng-
gunakan protokol ini harus memiliki nomor yang disebut sebagai alamat IP
sehingga untuk melakukan koneksi tinggal menggunakan nomor IP komputer
yang tentunya hal ini lebih mudah daripada menggunakan nomor ID kartu
jaringan.
Penomoran IP hanya digunakan untuk memudahkan saja karena untuk berko-
munikasi antara komputer yang satu dengan yang lainnya tetap menggunakan
nomor ID kartu jaringan yang sudah diakomodasi oleh protokol TCP/IP. Un-
tuk IPv4 nomor IP terdiri atas 32 bit dan dibagi menjadi 2 buah field yaitu
:
a.
net
ID yang menunjukan jaringan kemana
host
dihubungkan.
b.
host
ID yang memberikan suatu pengenal unik pada setiap
host
pada
suatu jaringan.
Untuk memudahkan identifikasi, alamat IP yang terdiri dari 32 bit tadi ditu-
liskan menjadi 4 nilai numerik yang masing-masing bernilai 8 bit. Misalnya
saja nomor IP 192.168.19.1 sebenarnya adalah 11000000 10101000 00010011
00000001 dimana 11000000 merupakan bilangan binary 8 bit dari 192, 10101000
merupakan bilangan binary 8 bit dari 168, 00010011 merupakan bilangan bi-
nary 8 bit dari 19 dan 00000001 yang merupakan bilangan binary 8 bit dari
1. Alamat IP yang dapat dipakai dari alamat 0.0.0.0 sampai dengan alamat
25
255.255.255.255 sehingga jumlah maksimal alamat IP yang bisa dipakai ada-
lah 28
×
28
×
28
×
28 = 4294967296. Untuk memudahkan pengelolaan alamat
IP dari jumlah alamat IP sebanyak itu dikelompokan menjadi beberapa kelas
oleh badan yang mengatur pengalamatan Internet seperti InterNIC, ApNIC
atau di Indonesia dengan ID-NICnya menjadi sebagai berikut ini :
1. Alamat IP kelas A dimulai dari bit awal 0. Oktet pertama dari berupa
net
ID dan sisanya adalah
host
ID.
2. Alamat IP kelas B dimulai dari bit awal 10. Dua oktet pertama digu-
nakan untuk
net
ID dan sisanya digunakan untuk
host
ID.
3. Alamat IP kelas C dimulai dari bit awal 110. Tiga oktet pertama digu-
nakan untuk
net
ID dan sisanya digunakan untuk
host
ID.
4. Alamat IP kelas D dimulai dari bit awal 1110. Alamat IP kelas D digu-
nakan untuk mendukung multicast.
5. Alamat IP kelas E dimulai dari bit awal 11110. Alamat IP kelas ini
digunakan untuk tujuan eksperimen.
Tabel
2.1
akan menjelaskan kelas dari alamat IP.
Tabel 2.1: Kelas Alamat IP dan Jangkauan Anggotanya
Kelas Dari Sampai
A 0.0.0.0 127.255.255.255
B 128.0.0.0 191.255.255.255
C 192.0.0.0 223.255.255.255
D 224.0.0.0 239.255.255.255
E 240.0.0.0 255.255.255.255
26
Selain pengelompokan alamat diatas, alamat IP juga dibagi atas alamat IP
pribadi dan alamat IP publik, dimana alamat IP pribadi adalah alamat yang
digunakan untuk pengalamatan LAN (
Local Area Network
) dan tidak dikenal
oleh Internet sedangkan alamat IP publik adalah alamat yang digunakan un-
tuk pengalamatan Internet (jaringan di luar LAN). Sehingga apabila alamat
IP pribadi mengadakan komunikasi dengan alamat IP publik atau Internet di-
perlukan suatu mekanisme yang disebut dengan NAT (
Network Address Trans-
lation
). Adapun jangkauan dari alamat IP pribadi pada setiap kelas adalah
seperti pada Tabel
2.2
:
Tabel 2.2: Jangkauan Alamat IP Pribadi
Kelas Dari Sampai
A 10.0.0.0 10.255.255.255
B 172.16.0.0 172.32.255.255
C 192.168.0.0 192.168.255.255
Dalam setiap komputer yang mempunyai sistem operasi juga terdapat sebu-
ah IP-
Default
yang akan digunakan sebagai
loopback
. Alamat IP ini adalah
127.0.0.1 yang biasanya mempunyai
hostname localhost
, alamat IP ini biasanya
hanya dipakai sebagai
loopback
saja sehingga alamat ini tidak dipakai untuk
melakukan pengalamatan kartu jaringan.
2.5.2
Transmission Control Protocol
Transmission Control Protocol
(TCP) bekerja pada lapisan keempat dari mo-
del jaringan TCP/IP yaitu lapisan
transport
. TCP menggunakan serangkaian
informasi yang besar dari lapisan yang ada di atasnya dan memecahnya ke
27
dalam segmen. TCP menomori dan mengurutkan setiap segmen supaya pada
lokasi tujuan, protokol TCP bisa mengurutkannya kembali. Setelah segmen
dikirim, TCP pada pengirim menunggu tanda
acknowledgement
dari penerima
yang berada pada ujung sesi sirkuit virtual, mentransfer ulang yang tidak men-
dapatkan umpan balik
acknowledgement
. TCP bersifat
connection-oriented
,
full duplex
dan
reliable
. Pada gambar
2.8
ditunjukkan
header
dari TCP.
Connection-oriented
berarti bahwa dalam mengirim paket dari tempat asal ke
tujuan, baik pihak pengirim dan penerima paket IP harus mengadakan proses
perjanjian terlebih dahulu (
handshake
). Proses yang terjadi terdiri dari tiga
tahap, yaitu tahap pembentukan hubungan, tahap pengiriman data dan tahap
pelepasan hubungan.
Full-duplex
berarti perangkat-perangkat yang saling terhubung dapat mengi-
rim dan menerima data sekaligus secara bersamaan, terlepas perangkat mana
yang memulai hubungan.
Reliable
berarti bahwa TCP melacak data yang dikirim dan diterima untuk
memastikan semua data sampai ke tujuannya. TCP tidak dapat benar-benar
menjamin bahwa data akan selalu diterima. Namun protokol ini dapat menja-
min bahwa semua data yang dikirim akan diperiksa integritas datanya dan jika
dalam pengiriman terdapat data yang hilang atau rusak, maka data tersebut
akan dikirim ulang.
Informasi yang terdapat pada
header
TCP, yaitu :
•
Source Port
,
port
asal.
•
Destination Port
,
port
tujuan.
28
Gambar 2.8: Diagram
Header
TCP
•
Sequence Number
, berisi nomor urut dari oktet pertama dari data di da-
lam sebuah segmen TCP yang hendak dikirimkan.
Field
ini harus selalu
disetel, meskipun tidak ada data (
payload
) dalam segmen. Ketika memu-
lai sebuah sesi koneksi TCP, segmen dengan
flag
SYN (
Synchronization
)
disetel ke nilai 1,
field
ini akan berisi nilai
Initial Sequence Number
(ISN).
Hal ini berarti, oktet pertama dalam aliran
byte
dalam koneksi adalah
ISN+1.
•
Acknowledgment Number
, berisi nomor urut dari oktet selanjutnya dalam
aliran
byte
yang diharapkan oleh untuk diterima oleh pengirim dari si
penerima pada pengiriman selanjutnya.
Acknowledgment Number
sangat
dipentingkan bagi segmen-segmen TCP dengan
flag
ACK diset ke nilai
1.
•
Data Offset
, mengindikasikan di mana data dalam segmen TCP dimulai.
Field
ini juga dapat berarti ukuran dari header TCP. Seperti halnya
field Header Length
dalam header IP,
field
ini merupakan angka dari
word 32-bit dalam
header
TCP
29
•
Reserved
, direservasikan untuk penggunaan di masa depan.
•
Flags
, berisi
flag-flag
TCP yang memang ada enam jumlahnya, yang
terdiri atas: URG (
Urgent
), ACK (
Acknowledgment
), PSH (
Push
), RST
(
Reset
), SYN (
Synchronize
), dan FIN (
Finish
).
•
Window
, mengindikasikan jumlah byte yang tersedia yang dimiliki oleh
buffer host
penerima segmen yang bersangkutan
•
Checksum
, memampukan pengecekan integritas segmen TCP (
header
-
nya dan
payload
-nya). Nilai
Checksum
akan disetel ke nilai 0 selama
proses kalkulasi
checksum
.
•
Urgent Pointer
, menandakan lokasi data yang dianggap penting dalam
segmen.
•
Options
, berfungsi sebagai penampung beberapa opsi tambahan TCP.
Setiap opsi TCP akan memakan ruangan 32 bit, sehingga ukuran
header
TCP dapat diindikasikan dengan menggunakan
field Data offset
.
2.6 Protokol HTTP
Hypertext Transfer Protocol
(HTTP) bekerja pada lapisan kelima dari model
jaringan TCP/IP yaitu lapisan aplikasi. Hasil implementasi dari HTTP yang
saat ini sangat berkembang adalah
World Wide Web
, atau
Web
. HTTP me-
miliki fungsi utama yaitu mengirimkan dokumen
hypertext
dan file-file lainnya
dari
server
menuju
client
.
Web
memiliki awal yang sederhana, sebagai proyek riset di lembaga penelitian
30
Swiss, CERN. Tujuan utama dari proyek ini adalah untuk memungkinkan
dokumen
hypertext
untuk terhubung secara elektronik, sehingga kita dapat
memilih acuan pada satu dokumen untuk melihat dokumen yg lainnya. Untuk
menerapkan sistem ini diperlukan beberapa mekanisme yang memungkinkan
komputer
client
memberitahu
server
untuk mengirimkannya sebuah dokumen.
Untuk mengisi fungsi ini, pengembang awal
Web
mengembangkan protokol
baru yaitu
Hypertext Transfer Protocol
(HTTP).
Versi awal pengembangan HTTP adalah HTTP/0.9. Versi pertama ini dapat
bekerja, tetapi sangat terbatas dalam kemampuan. HTTP/0.9 tidak men-
dukung transfer data jenis apapun selain
hypertext
, dan tidak memberikan
mekanisme ”cerdas” dalam komunikasi antara
client
dan
server
. HTTP/0.9
membentuk dasar fungsionalitas bagi perkembangan
Web
di awal tahun 1990.
Ketika
Web
diterima secara luas dan berkembang, banyak ide-ide baru dan
fitur-fitur yang ditambahkan ke dalam HTTP. Hasil dari berbagai usaha pe-
ngembangan ini adalah standar pertama HTTP yaitu HTTP/1.0 yang di-
publikasikan Mei 1996 didalam RFC 1945.
Salah satu fitur penting pada HTTP/1.0 adalah protokol ini mampu mena-
ngani berbagai jenis media. Hal ini dilakukan dengan meminjam konsep dan
konstruksi dari
header Multipurpose Internet Mail Extensions
(MIME) yang
terdapat pada standar e-mail. HTTP/1.0 secara luas diimpelentasikan pada
pertengahan tahun 1990 sebagaimana meledaknya popularitas
Web
. Dalam
beberapa tahun saja, Lalu lintas paket HTTP terhitung mencapai sebagian
besar lalu lintas dalam perkembangan Internet.
Sayangnya, beban lalu lintas yang besar pada HTTP/1.0 dikarenakan keter-
batasan protokol ini sendiri. Inefisensi HTTP/1.0 adalah akibat dari keterba-
31
tasan desain, contohnya setiap situs yang akan di-
host
membutuhkan
server
yang berbeda, masing-masing sesi HTTP ditangani hanya satu
request
da-
ri
client
, dan kurangnya dukungan terhadap fitur yang dapat meningkatkan
kinerja yang diperlukan seperti
cache
,
proxy
dan pengambilan sumber daya
parsial.
Pada Januari 1997, draft versi terbaru HTTP yaitu HTTP/1.1 muncul pada
dokumen RFC 2068. Dokumen tersebut kemudian di revisi dan dipublikasikan
kembali pada Juni 1999 dalam dokumen RFC 2616. HTTP/1.1 memperke-
nalkan beberapa perbaikan yang signifikan atas versi 1.0, sebagian besar seca-
ra khusus mengatasi masalah kinerja. Beberapa perbaikan HTTP/1.1 antara
lain :
1. Mendukung
Multiple Hostname
, yaitu sebuah
Web server
dapat mena-
ngani lusinan bahkan ratusan
virtual host
.
2. Mampu mengirimkan beberapa
request
dalam satu sesi koneksi TCP.
Hal ini merupakan perbaikan dari HTTP/1.0 yang hanya mampu meng-
irimkan satu
request
dalam satu sesi koneksi TCP.
3. Mendukung
request
sumber daya secara parsial sehingga dapat menghe-
mat
bandwidth
dan mengurangi beban
server
.
4. Mendukung
caching
dan
proxy
yang lebih baik.
5. Proses autentikasi yang lebih baik sehingga keamanan meningkat.
Dalam bentuk sederhana, operasi HTTP hanya melibatkan sebuah
client
HTTP,
biasanya berupa
browser
pada komputer
client
, dan sebuah
server
HTTP, le-
32
bih dikenal sebagai
Web server
. Setelah terbentuk koneksi TCP, dua langkah
komunikasi berikutnya adalah :
1.
Client Request
:
client
HTTP mengirimkan sebuah pesan
request
yang
terformat sesuai standar HTTP yang disebut HTTP
request
. Pesan ini
menentukan sumber daya apa yang ingin diperoleh, atau cakupan infor-
masi yang diberikan
client
kepada
server
.
2.
Server Response
:
Server
membaca dan menterjemahkan
request
.
Server
melakukan aksi sesuai
request
dan mengirimkan HTTP
Response
. Pesan
respon ini menjadi indikator apakah
request client
berhasil dipenuhi dan
dapat juga berisi sumber daya yang diminta oleh
client
.
Gambar 2.9: Komunikasi pada HTTP
2.7
Load Balancing
Load balancing
adalah suatu proses dan teknologi yang mendistribusikan lalu
lintas situs di antara beberapa
server
dengan menggunakan perangkat berbasis
jaringan. Proses ini mampu mengurangi beban kerja setiap
server
sehingga
33
tidak ada
server
yang
overload
, memungkinkan
server
untuk menggunakan
bandwidth
yang tersedia secara lebih efektif, dan menyediakan akses yang cepat
ke situs-situs yang di-
hosting
.
Load balancing
dapat diimplementasikan dengan
menggunakan perangkat keras, perangkat lunak atau gabungan keduanya.
Dengan konsep yang sederhana, sebuah
load balancer
diletakkan di antara
client
dan
server
seperti terlihat pada Gambar
2.10
.
Load balancer
akan me-
nampung lalu lintas yang datang dan membaginya ke dalam
request-request
individual lalu menentukan
server
mana yang menerima
request
tersebut.
Gambar 2.10: Konsep Load Balancing
Beberapa keuntungan dari penerapan
load balancing
antara lain :
1.
Scalability
: Ketika beban sistem meningkat, kita dapat melakukan per-
ubahan terhadap sistem agar dapat mengatasi beban sesuai dengan ke-
butuhan.
2.
High Availability
: Load balancer secara terus-menerus melakukan pe-
mantauan terhadap
server
. Jika terdapat
server
yang mati, maka
load
34
balancer
akan menghentikan
request
ke
server
tersebut dan mengalih-
kannya ke
server
yang lain.
3.
Manageability
: Mudah ditata meskipun secara fisik sistem sangat besar.
4.
Security
: Untuk semua lalu lintas yang melewati
load balancer
, aturan
keamanan dapat diimplementasikan dengan mudah. Dengan
private net-
work
digunakan untuk
server
, alamat IP nya tidak akan diakses secara
langsung dari luar sistem.
2.8
Linux Virtual Server
Linux Virtual Server
(LVS) merupakan aplikasi berbasis sistem operasi Linux
yang mampu mengarahkan koneksi jaringan ke beberapa
server
berbeda sesuai
dengan algoritma penjadwalan dan memungkinkan kumpulan
server
untuk
menawarkan layanan jaringan sebagai satu
server
virtual.
LVS dapat diimplementasikan dengan beberapa teknik untuk mendistribusikan
paket-paket IP ke masing-masing
node
atau
server
. Terdapat tiga teknik yang
dapat digunakan, yaitu :
1.
Network Address Translation
(LVS-NAT). Pada metode LVS-NAT, header
dari paket-paket tersebut ditulis ulang oleh
director
. LVS
director
me-
nyamar menjadi
server
dan hal ini menciptakan anggapan bahwa
client
mengakses langsung
server-server
tersebut.
Director
harus dikonfigurasi
sebagai
default gateway
dari
server-server
tersebut.
2.
Direct Routing
(LVS-DR). Seperti namanya, tiap-tiap
server
memiliki
35
Gambar 2.11: Skema Sistem
Linux Virtual Server
routing
masing-masing ketika menjawab permintaan
client
. Jalur
routing
dari
server
terpisah dari
director
.
3. IP
Tunneling
(LVS-TUN) yaitu dimana paket-paket yang ditujukan pa-
da
virtual server
dilampirkan pada paket lain kemudian diarahkan ke
salah satu
server
.
Server
dapat berada di jaringan yang berbeda dengan
director
.
2.8.1 Algoritma Penjadwalan
Beberapa jenis algoritma penjadwalan yang dapat diterapkan pada sistem
Li-
nux Virtual Server
pada proses distribusi
request
kepada
real server
, antara
lain yaitu:
36
1.
Round Robin
(rr), yaitu algoritma penjadwalan yang memperlakukan
semua
real server
sama menurut jumlah koneksi atau waktu respon.
2.
Weighted Round Robin
(wrr), penjadwalan ini memperlakukan
real ser-
ver
dengan kapasitas proses yang berbeda. Masing-masing
real server
dapat diberi bobot bilangan integer yang menun-jukkan kapasitas pro-
ses, dimana bobot awal adalah 1.
3.
Least Connection
(lc), merupakan algoritma penjadwalan yang menga-
rahkan koneksi jaringan pada
server
aktif dengan jumlah koneksi yang
paling sedikit. Penjadwalan ini termasuk salah satu algoritma pen-
jadwalan dinamik, karena memerlukan perhitungan koneksi aktif untuk
masing-masing
real server
secara dinamik. Metode penjadwalan ini baik
digunakan untuk melancarkan pendistribusian ketika
request
yang da-
tang banyak.
4.
Weighted Least Connection
(wlc), merupakan sekumpulan penjadwalan
least connection dimana dapat ditentukan bobot kinerja pada masing-
masing
real server
.
Server
dengan nilai bobot yang lebih tinggi akan me-
nerima persentase yang lebih besar dari koneksi-koneksi aktif pada satu
waktu. Bobot pada masing-masing
real server
dapat ditentukan dan ko-
neksi jaringan dijadwalkan pada masing-masing
real server
dengan per-
sentase jumlah koneksi aktif untuk masing-masing
server
sesuai dengan
perbandingan bobotnya (bobot awal adalah 1).
5.
Locality Based Least Connection
(lblc), metode penjadwalan yang akan
mendistribusikan lebih banyak
request
kepada
real server
yang memili-
ki koneksi kurang aktif. Algoritma ini akan meneruskan semua
request
37
kepada
real server
yang memiliki koneksi kurang aktif tersebut sampai
kapasitasnya terpenuhi.
6.
Destination Hashing
(dh), merupakan algortima penjadwalan statik yang
dapat meneruskan
request
dari
client
kepada satu
real server
tertentu
sesuai dengan layanan yang diminta. Terdapat suatu tabel hash beri-
si alamat tujuan dari masing-masing
real server
beserta layanan yang
tersedia pada setiap
real server
.
7.
Source Hashing
(sh), hampir sama dengan metode
destination hashing
tetapi pada metode ini tabel berisi mengenai informasi alamat asal paket
yang dikirimkan oleh
client
.
Bab 3
PERANCANGAN DAN
IMPLEMENTASI SISTEM
3.1 Umum
Dengan perkembangan Internet yang sangat pesat,
server-server
yang menye-
diakan pelayanan Internet harus mampu mengatasi permintaan yang lebih be-
sar dari sebelumnya. Jumlah potensial pengguna yang harus ditangani
server
meningkat tajam. Dengan bertambahnya pengguna dan beban kerja, perusa-
haan penyedia jasa
Web
khawatir dengan perkembangan sistem mereka dari
waktu ke waktu. Terlebih lagi, respon yg cepat dan ketersediaan 24 jam tiap
hari merupakan keharusan bagi situs-situs yang bersaing untuk memiliki akses
terbaik. Untuk dapat memenuhi tuntutan perkembangan Internet tersebut
maka diperlukan teknologi
load balancing
.
Bab ini akan membahas mengenai perancangan dan implementasi sistem
load
38
39
balancing
pada
Web server
. Implementasi sistem
load balancing
ini mengguna-
kan aplikasi open source berbasis Linux, yaitu
Linux Virtual Server
(LVS). Im-
plementasi ini diperlukan agar dapat menganalisa kinerja LVS sebagai sistem
load balancing
dengan melakukan pengukuran terhadap parameter-parameter
yang telah ditentukan.
3.2 Konfigurasi Sistem Implementasi LVS
Sistem
load balancing
menggunakan LVS yang diimplementasikan, seperti ter-
lihat pada Gambar
3.1
memiliki komponen yang terdiri atas
client
,
director
dan
real server
. Sistem yang diimplementasikan menggunakan metode
direct
routing
(LVS-DR). Agar sistem memiliki kemampuan redundansi, maka pada
sistem diimplementasikan dua buah
director
dengan skenario
active-standby
.
Pada skenario
active-standby
, salah satu
director
bekerja mengarahkan se-
dangkan yang lain menunggu (
standby
) sampai terjadi kegagalan pada
director
pertama. Kemampuan redundansi pada LVS disediakan oleh Keepalived.
3.2.1 Konfigurasi Perangkat Keras
Director
Pada
director
, konfigurasi perangkat keras menggunakan memori 512 MB SDRAM,
prosesor 2.8 GHz Intel Pentium 4.
Director
ini dilengkapi dengan satu Ether-
net Card Via Rhine-II VT6102 10/100 yang terkoneksi ke
Switch
.
40
Server
Ketiga
server
yang digunakan pada sistem LVS menggunakan Komputer dengan
memori 512 MB SDRAM, prosesor 2.8 GHz Intel Pentium 4.
Server
ini di-
lengkapi dengan satu Ethernet Card Sis900 PCI Fast Ethernet 10/100 yang
terhubung ke
Switch
.
3.2.2 Konfigurasi Perangkat Lunak
Pada sistem LVS yang diimplementasi,
director
dan
server
menggunakan dis-
tribusi Debian GNU/Linux. Pada director, dilakukan instalasi dan konfigurasi
Linux Virtual Server (LVS) dan ipvsadm. Untuk redundansi, digunakan pe-
rangkat lunak Keepalived. Pada
server
, perangkat lunak web server yang digu-
nakan adalah Apache 2 Web Server. Untuk melakukan percobaan performansi
sistem, pada
client
dipasang aplikasi httperf.
Debian GNU/Linux
Debian GNU/Linux adalah sistem operasi yang menggunakan kernel Linux
yang dikembangkan oleh sebuah yayasan yang dinamakan Debian Project. Pa-
da implementasi sistem ini, digunakan Debian GNU/Linux Lenny versi 5.0.4
dengan Kernel Linux versi 2.6.26-2-686.
LVS dan ipvsadm
Pada implementasi sistem ini, digunakan LVS versi 1.2.1. Versi ini merupakan
versi terbaru yang kompatibel dengan Kernel Linux 2.6.26-2-686 pada saat
41
percobaan ini dilakukan. Untuk melakukan administrasi dan konfigurasi LVS,
maka diperlukan aplikasi ipvsadm. Versi aplikasi ipvsadm yang digunakan
adalah versi 1.24 yang kompatibel dengan LVS versi 1.2.1.
Keepalived
Keepalived adalah sebuah daemon (program yang berjalan di
background
) yang
mengawasi status
server
dan
director
pada sistem LVS. Jika terdapat
server
atau
director
yang mati, maka keepalived akan memberikan sinyal pada ker-
nel untuk menghapus
server
atau
director
dari daftar sistem LVS. Jika
server
atau
director
sudah aktif kembali, maka keepalived memberikan sinyal pada
kernel untuk menambahkan kembali
server
atau
director
tersebut. Pada im-
plementasi ini, versi keepalived yang digunakan adalah versi 1.1.15-1.
Apache 2 Web Server
Apache 2 Web Server adalah aplikasi yang menyediakan layanan
world wide
web
. Aplikasi Apache 2 bersifat
cross-platform
, yang artinya aplikasi ini dapat
dipasang pada mesin-mesin bersistem operasi berbeda, seperti Windows NT,
Unix dan GNU/Linux. Pada implementasi, digunakan Apache 2 Web Server
versi 2.2.9.
Httperf
Httperf adalah aplikasi yang berguna untuk mengukur kemampuan kerja
web
server
.Aplikasi ini menyediakan fasilitas fleksibel untuk menghasilkan berbagai
beban kerja HTTP dan untuk mengukur kinerja
server
. Versi httperf yang
42
digunakan adalah versi 0.9.0-1
3.2.3 Infrastruktur Jaringan
Infrastruktur jaringan pada sistem
Linux Virtual Server
terlihat pada gambar
3.1.
Sesuai dengan metode
direct routing
,
director
dan
server
diletakkan pada
satu jaringan dan terhubung pada switch.
Gambar 3.1: Topologi Sistem Implementasi LVS
Konfigurasi alamat IP pada sistem
Linux Virtual Server
terdiri atas dua ba-
gian, yaitu
Virtual
IP
Address
(VIP) dan
Real
IP
Address
(RIP).
Virtual
IP
Address
adalah alamat IP yang diakses oleh
client
, sedangkan
Real
IP
Address
adalah alamat IP dari masing-masing
real server
. Konfigurasi alamat IP dapat
dilihat pada tabel
3.1
43
Tabel 3.1: Konfigurasi Alamat IP pada sistem
Linux Virtual Server
Protokol Virtual IP Address Port Real IP Address Port
TCP 10.4.12.216 80 10.4.12.213 80
10.4.12.214 80
10.4.12.215 80
3.3 Skenario Implementasi
Skenario pengukuran pada penelitian tugas akhir ini secara garis besar terbagi
menjadi dua yaitu skenario performansi sistem dan skenario tes redundan-
si. Untuk skenario performansi sistem akan dibandingkan antara kemampuan
sistem
server
tunggal dan sistem
linux virtual cluster
. Sedangkan skenario
tes redundansi terdiri dari simulasi gangguan pada salah satu
real server
dan
simulasi gangguan pada
director
dengan keadaan
active-standby
.
3.3.1 Skenario Performansi Sistem
Skenario dengan mengirimkan
request
secara simultan kepada
server
dengan
kenaikan bertahap sampai sistem mengalami beban puncak. Dilakukan pada
sistem
server
tunggal dan sistem dengan metode
linux virtual cluster
.
3.3.2 Skenario Redundansi
Skenario Simulasi Gangguan pada
Real Server
Semua
real server
pada
linux virtual cluster
dalam keadaan aktif, sehingga
keduanya dapat memberikan layanan kepada
client
. Skenario dengan mengi-
44
rimkan
request
kepada sistem LVS, kemudian salah satu
real server
disimula-
sikan mengalami gangguan atau mati dengan cara mencabut kabel utp yang
terhubung pada
real server
tersebut. Layanan yang sedang diproses dan paket
selanjutnya tidak akan diteruskan kepada
real server
yang mengalami gang-
guan tersebut melainkan dilimpahkan kepada
real server
yang sedang aktif.
Skenario Simulasi Gangguan pada
Director
Pada penelitian tugas akhir ini diimplementasikan dua buah
director
dengan
keadaan
active-standby
. Untuk menunjukkan
high-availabilty
maka perlu disi-
mulasikan ketika salah satu director mengalami kegagalan atau mati.
Bab 4
PENGUJIAN DAN ANALISA
4.1 Analisa Skenario Performansi
4.1.1
Throughput
Tujuan pengukuran
throughput
adalah untuk mengetahui kemampuan sistem
dalam memberikan layanan secara benar terhadap
request
yang datang secara
bersamaan. Pada Gambar
4.1
dapat diketahui perbandingan
throughput
pada
server
tunggal dan
Linux Virtual Server
.
Berdasarkan paramater
throughput
, terdapat perbedaan yang jelas antara sis-
tem
Linux Virtual Server
dengan
server
tunggal. Sistem dengan
Linux Virtual
Server
memberikan hasil yang lebih baik dibandingkan dengan
server
tunggal.
Semakin banyak
request
yang dapat dilayani maka nilai
throughput
akan me-
ningkat. Dari Gambar
4.1
dapat diketahui bahwa dengan sistem
server
tunggal
nilai
throughput
maksimal sistem hanya terbatas pada 132 KBps yaitu pada
45
46
Gambar 4.1: Perbandingan
Throughput
Server Tunggal dan LVS
saat dibangkitkan
request
sebanyak 500
request
per detik. Kemudian sistem
mengalami saturasi karena sistem hanya memiliki nilai
throughput
kurang le-
bih sebesar 132 KBps sehingga pada saat dibangkitkan
request
lebih dari 500
request
per detik, kemampuan sistem tidak akan melebihi batas maksimal. Hal
ini yang menyebabkan nilai
throughput
tidak bertambah ketika
request
yang
datang setiap detik melebihi batas maksimal.
Sedangkan pada sistem
Linux Virtual Server
, kenaikan linear terjadi pada sis-
tem LVS ketika
request
yang dibangkitkan kurang dari 900
request
per detik.
Kemudian lebih dari 900
request
per detik nilai
throughput
tidak mengala-
mi kenaikan sehingga grafik tidak lagi linear, hal ini disebabkan sistem telah
menempuh batas maksimal dari kemampuan yang dimiliki.
Perbaikan nilai
throughput
oleh sistem
Linux Virtual Server
terhadap sistem
47
server
tunggal yaitu ketika
request
yang datang lebih dari 500
request
per
detik sistem masih bisa menerima
request
yang lebih banyak sampai dengan
900
request
per detik.
4.1.2 Waktu Respon
Gambar 4.2: Perbandingan Waktu Respon Server Tunggal dan LVS
Dari Gambar
4.2
dapat diketahui bahwa ketika
request
yang datang secara
simultan melebihi 400
request
per detik, maka waktu respon
sistem
dengan
server
tunggal mengalami kenaikan yang drastis. Hal ini menunjukkan bahwa
sistem dengan
server
tunggal mengalami penurunan kecepatan dalam melayani
request
yang datang, akibat terjadi
overload
pada sistem. Sedangkan linux
virtual
server
memiliki waktu respon yang lebih singkat dibandingkan dengan
server
tunggal.
48
Kemampuan
Linux Virtual Server
dalam melayani
request
yang datang di-
pengaruhi oleh keberadaan
director
dan tiga buah
real server
di dalamnya.
Director
memiliki algoritma penjadwalan tertentu sehingga dapat menerus-
kan
request
yang datang kepada
real server
sesuai dengan kondisi
real server
di dalamnya. Prioritas pembagian beban menyebabkan
request
yang datang ti-
dak menumpuk pada satu bagian
real server
saja sehingga antrian pada sistem
dapat diminimalisir.
Kedua
real server
bekerja bersama untuk menyediakan layanan HTTP se-
hingga kerja sistem tidak berat dan
request
yang datang bisa dengan cepat
dilayani.
4.2 Analisa Skenario Redundansi
4.2.1 Skenario Simulasi Gangguan pada
Real Server
Throughput
Dari hasil pengukuran tersebut diketahui bahwa nilai
throughput
untuk skena-
rio kegagalan pada
real server
pertama, kedua dan ketiga memiliki perbedaan
cukup signifikan dengan nilai
throughput
untuk sistem
linux virtual server
da-
lam keadaan normal tanpa skenario gangguan yaitu 1080.83 KBps. Hal ini
disebabkan karena waktu terjadinya
take over
sangat cukup lama, yaitu seki-
tar 1 detik. Sehingga menimbulkan antrian yang lama dan
request
yang datang
selanjutnya bisa dilayani oleh sistem dengan cara didistribusikan kepada
real
server
yang masih aktif.
49
Gambar 4.3: Perbandingan
Throughput
pada Skenario Kegagalan Salat Satu
Real Server
Waktu Respon
Pengamatan dengan parameter waktu respon pada skenario kegagalan salah
satu
real server
terdapat nilai yang lebih besar dibandingkan waktu respon
pada sistem LVS dalam keadaan normal, artinya kemampuan sistem dalam
melayani
request
yang datang menjadi lebih lambat. Hal ini disebabkan karena
ketika salah satu
real server
mengalami kegagalan maka yang melayani
request
selanjutnya hanya dua buah real server saja, sehingga kinerja CPU pada
real
server
aktif tersebut menjadi berat, yang mengakibatkan terjadi
overload
dan
waktu respon menjadi besar.
50
Gambar 4.4: Perbandingan Waktu Respon pada Skenario Kegagalan pada
Salah Satu
Real Server
4.2.2 Skenario Simulasi Gangguan pada
Director
Throughput
Nilai
throughput
yang dihasilkan ketika salah satu
director
mengalami kegagal-
an adalah sekitar 975.79 KBps. Jika dibandingkan dengan sistem LVS dalam
kondisi normal, nilai
throughput
untuk skenario director dengan simulasi gang-
guan tetap lebih rendah. Hal ini dipengaruhi karena adanya proses
take over
yang memerlukan waktu beberapa detik sehingga kemampuan maksimal sis-
tem dalam melayani
request
yang datang menjadi turun.
51
Waktu Respon
Pada pengamatan dengan parameter waktu respon ketika salah satu
director
mengalami kegagalan, nilai 365.212 milidetik. Waktu respon dengan meto-
de
cold-standby
waktu respon menjadi lebih besar karena saat
active director
mengalami kegagalan maka
request
yang terlanjur dilayani harus diulang kem-
bali sehingga membutuhkan waktu untuk membangun ulang koneksi yang ter-
jadi sebelumnya, hal ini yang mengakibatkan waktu respon rata-rata sistem
menjadi lebih besar.
Bab 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil implementasi serta pengambilan data dan analisis mengenai penye-
dia layanan terdistribusi berbasis linux dengan konsep penyeimbang beban
jaringan, maka dapat diambil kesimpulan sebagai berikut:
1. Kemampuan sistem
Linux Virtual Server
jauh lebih baik dibandingkan
dengan
server
tunggal. Sistem
Linux Virtual Server
mampu melayani
jumlah
request
yang lebih besar dari pada sistem dengan server tunggal.
Pada sistem
linux virtual server
juga memiliki nilai
throughput
yang lebih
bagus dibandingkan dengan
server
tunggal.
2. Waktu respon sistem dengan
server
tunggal lebih lama dibandingkan
dengan sistem
Linux Virtual Server
, sehingga antrian
request
yang ter-
jadi pada sistem
Linux Virtual Server
tidak panjang.
52
53
3. Lama proses
take over
pada
director
masih memenuhi standar Cisco
dalam RFC 2281 yaitu kurang dari 10 detik. Sedangkan waktu
take over
pada
real server
yaitu sekitar 1 detik.
4. Ketika salah satu
real server
mengalami kegagalan akan lebih berpenga-
ruh terhadap nilai
throughput
, dibandingkan saat
director
mengalami
kegagalan.
5. Teknologi
load balancing
dapat menjadi salah satu solusi yang efektif
dan efisien untuk menciptakan sistem yang handal dengan tingkat keter-
sediaan tinggi, khususnya sebagai
web server
.
5.2 Saran
1. Perlu penelitian lebih lanjut mengenai
Linux Virtual Server
dengan me-
tode selain menggunakan
direct routing
.
2. Perlu penelitian lebih lanjut menggunakan teknologi
load balancing
lain,
baik perangkat lunak maupun perangkat keras.
3. Perlu dikembangkan lebih lanjut dengan menggunakan
service
yang ber-
beda seperti, MySQL Database, FTP, atau Telnet.
4. Perlu dilakukan penelitian lebih lanjut dengan konfigurasi jaringan meng-
gunakan alamat IPv6.
5. Untuk lebih mengoptimalkan kinerja sistem, perlu adanya penelitian le-
bih mendalam mengenai algoritma penjadwalan yang digunakan.
54
6. Perlu adanya pembahasan lebih lanjut mengenai media penyimpanan
bersama, sehingga menemukan metode yang lebih efektif.
7. Perlu adanya sebuah penelitian dan implementasi keamanan sistem ter-
hadap
Linux Virtual ServerÂ
.
Daftar Pustaka
[1] N. Mansfield,
Practical TCP/IP
. Yogyakarta: Penerbit Andi, 2004.
[2] T. Bourke,
Server Load Balancing
. O’Reilly, 2001.
[3] C. Bookman,
Linux Clustering : Building and Maintaining Linux Cluster
.
New Riders Publishing, 2003.
[4] Y. Alhaadi,
Implementasi Load Balancing Multi Server Menggunakan LVS
(Linux Virtual Server) Via NAT (Network Address Translation)
. Suraba-
ya: EEPIS-ITS, 2006.
[5] P. H. Kusuma, R. Rumani, and A. Mulyana,
Implementasi Penyedia La-
yanan Terdistribusi Berbasis Linux dengan Konsep Penyeimbang Beban
Jaringan
. Bandung: IT Telkom, 2009.
[6] C. Kopparapu,
Load Balancing Servers, Firewalls, and Caches
. New York:
John Wiley & Sons Inc, 2002.
[7] W. Stallings,
Data and Computer Communications
. New Jersey: Prentice
Hall, fifth ed., 1997.
[8] A. S. Tanenbaum,
Computer Networks
. New Jersey: Prentice Hall, four-
th ed., 2003.
55
56
[9] N. F. Mir,
Computer and Communication Networks
. New Jersey: Prentice
Hall, 2006.
[10] F. Halsall,
Computer Networking and the Internet
. Essex: Addison-
Wesley, fifth ed., 2005.
[11] B. A. Forouzan,
Data Communications and Networking
. New York:
McGraw-Hill, fourth ed., 2007.
[12] C. M. Kozierok,
The TCP/IP Guide: A Comprehensive, Illustrated Inter-
net Protocols Reference
. San Fransisco: No Starch Press, first ed., 2005.
[13] W. Zhang, “Linux Virtual Server for Scalable Network Service,” 1999.
[14] P. O’Rourke and M. Keefe, “Performance Evaluation of Linux Virtual
Server,” 2001.
[15] D. Mosberger and T. Jin, “httperf:A Tool for Measuring Web Server Per-
formance,” 2002.
[16] “Linux Virtual Server.” http://www.linuxvirtualserver.org/.
Lampiran A
Konfigurasi Keepalived
A.1 keepalived master.conf
# Configuration File for Keepalived
# Global Configuration
global defs
{
notification email
{
notification@domain . org
}
notification email from keepalived@domain . org
smtp server localhost
smtp connect timeout 30
router id LVS MUHFI # string identifying the machine
}
57
58
# describe virtual service ip
vrrp instance VI 1
{
# initial state
state MASTER
interface eth0
# arbitary unique number 0..255
# used to differentiate multiple instances of vrrpd
virtual router id 1
# for electing MASTER, highest priority wins .
# to be MASTER, make 50 more than other machines .
priority 150
advert int 1
authentication
{
auth type PASS
auth pass 1111
}
virtual ipaddress
{
10.4.12.216/24 brd 10.4.12.255 dev eth0
}
}
# describe virtual web server
virtual server 10.4.12.216 80
{
delay loop 10
lb algo rr
59
lb kind DR
protocol TCP
real server 10.4.12.213 80
{
TCP CHECK
{
connect port 80
connect timeout 3
}
}
real server 10.4.12.214 80
{
TCP CHECK
{
connect port 80
connect timeout 3
}
}
real server 10.4.12.215 80
{
TCP CHECK
{
connect port 80
connect timeout 3
}
}
}
A.2 keepalived backup.confÂ
# Configuration File for Keepalived
60
# Global Configuration
global defs
{
notification email
{
notification@domain . org
}
notification email from keepalived@domain . org
smtp server localhost
smtp connect timeout 30
router id LVS MUHFI # string identifying the machine
}
# describe virtual service ip
vrrp instance VI 1
{
# initial state
state BACKUP
interface eth0
# arbitary unique number 0..255
# used to differentiate multiple instances of vrrpd
virtual router id 1
# for electing MASTER, highest priority wins .
# to be MASTER, make 50 more than other machines .
priority 100
advert int 1
authentication
{
61
auth type PASS
auth pass 1111
}
virtual ipaddress
{
10.4.12.216/24 brd 10.4.12.255 dev eth0
}
}
# describe virtual web server
virtual server 10.4.12.216 80
{
delay loop 10
lb algo rr
lb kind DR
protocol TCP
real server 10.4.12.213 80
{
TCP CHECK
{
connect port 80
connect timeout 3
}
}
real server 10.4.12.214 80
{
TCP CHECK
{
connect port 80
connect timeout 3
62
}
}
real server 10.4.12.215 80
{
TCP CHECK
{
connect port 80
connect timeout 3
}
}
}