PERBANDINGAN HIT RATIO DAN BYTE HIT RATIO SQUID UNTUK PROXY SERVER DALAM PENGHAPUSAN FILE CACHING BERDASARKAN METODE LRU, LFUDA, DAN GDSF
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
DisusunOleh :
Fransiscus Whisnu Bramantyo 115314087
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2016
COMPARISON HIT RATIO AND BYTE HIT RATIO SQUID FOR PROXY SERVER IN DELETION OF FILE CACHING BASED
METHOD LRU, LFUDA, AND GDSF
A THESIS
In Partial Fulfillment of the Requirements To Obtain the Degree of Sarjana Komputer
Informatics Engineering Study Program
By :
Fransiscus Whisnu Bramantyo 115314087
INFORMATICS ENGINEERING STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2016
ABSTRAK
Proxy Server adalah sebuah program yang dapat bertindak sebagai server sekaligus client. Proxy Server meneruskan permintaan client ke web server untuk mewakili client yang sebenarnya. Salah satu fungsi Proxy Server adalah meneruskan caching terhadap konten web dan menyimpannya dalam RAM atau harddisk. Dengan cara tersebut, Proxy Server dapat langsung melayani permintaan dari client apabila salinan berkas yang diminta ada dalam media penyimpanan pada Proxy Server.
Proxy Server yang difungsikan sebagai caching terdapat 3 metode penghapusan data yang ada di RAM atau harddisk. Parameter yang biasa digunakan untuk menilai kinerja Proxy Server adalah hit ratio dan byte hit ratio. Hit ratio adalah perbandingan jumlah HTTP request yang diminta dengan HTTP request yang dapat dilayani. Sedangkan, byte hit ratio adalah perbandingan jumlah byte HTTP request yang diminta dengan jumlah byte HTTP request yang dapat dilayani. Presentase hit dan byte hit ratio pada tiap metode penghapusan data Proxy Server dapat dipengaruhi oleh aktifitas user dalam melakukan request website.
Penelitian ini menguji bagaimana hubungan antara antara hit ratio dan byte hit ratio tiap metode penghapusam data Proxy Server dengan aktifitas user dalam melakukan request website. Setelah data terkumpul, dilakukan analisis dengan melihat model pertumbuhan hit ratio dan byte hit ratio untuk tiap metode penghapusan data serta ragam dari aktifitas user dalam melakukan request website.
Hasil pengujian memperlihatkan bahhwa pada tiap metode penghapusan data Proxy Server terdapat pola pertumbuhan yang saling terkait antara kenaikan hit dan byte hit ratio berdasarkan aktifitas user dalam melakukan request website ke internet.
Kata Kunci: Proxy, Hit Ratio, Byte Hit Ratio, Cache, Metode Pengahapusan Data, Proxy Server, Aktifitas User Request Website.
ABSTRACT
Proxy Server is a program which can have a role as a server and also as a client. Proxy Server maintains the client’s request to the web server to represent the real client. One of the functions of web server is to do caching to the content web and save it in RAM or hard disk. Through this way, Proxy Server can directly serve the client’s request if the reserve of the data asked is available in the saving media of Proxy Server.
Proxy Server is functioned as caching to 3 methods of deleting data which is located in RAM or hard disk. Parameter used to examine the Proxy Server performance is hit ratio and byte hit ratio. Hit ratio is a comparison between the quantities of HTTP request asked to the quantity of HTTP request which can be served. While, byte hit ratio is a comparison between the quantity byte of HTTP request asked to the quantity byte of HTTP request which can be served. The percentage of hit and byte ratio on each data deleting method of Proxy Server can be affected by the user’s activities in fulfilling the request website.
This research examines how the relation between hit ratio and byte hit ratio on each data deleting method of Proxy Server to the user’s activities in doing request website. After collecting the data, an analysis was done by monitoring the growing model of hit ratio and byte hit ratio for each method of data deleting method and the variation of the user’s activities in fulfilling the request website.
The result of this research shows that on each method of data deleting method of Proxy Server, there is a growing pattern which can be related to each other between the progress of hit and byte hit based on the user’s activities in fulfilling the request website.
Keywords: Proxy, Hit Ratio, Byte Hit Ratio, Cache, Data Deleting Method, Proxy Server, User’s Activities of Request Website.
KATA PENGANTAR
Segala puji dan rasa syukur ke hadirat Tuhan Yang Maha Esa atas segala berkat dan karunia-Nya yang telah diberikan, sehingga penulis dapat menyelesaikan tugas akhir sebagai salah satu syarat untuk mencapai kelulusan pada jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta.
Atas tersusunnya tugas akhir ini, Penulis mengucapkan terimakasih kepada:
1. Bapak Henricus Agung Hernawan, S.T., M.Kom. selaku Dosen Pembimbing Tugas Akhir. Sekaligus selaku Kepala Laboraturium Jaringan Komputer Fakultas Sains dan Teknologi yang telah memberikan ijin menggunakan infrastruktur laboraturium untuk menyelesaikan penelitian ini.
2. Ibu, dan seluruh anggota keluarga besar yang selalu memberikan dukungan baik secara moral maupun material.
3. Semua teman-teman Teknik Informatika angkatan 2011.
4. Semua pihak yang tidak dapat disebutkan satu per satu, yang telah membantu penulis dalam pengerjaan tugas akhir ini.
Akhirnya penulis berharap semoga skripsi ini dapat berguna bagi kemajuan ilmu pengetahuan.
Penulis,
Fransiscus Whisnu Bramantyo
DAFTAR ISI
HALAMAN PERSETUJUAN ... i
SKRIPSI ... ii
PERNYATAAN KEASLIAN HASIL KARYA ... iii
LEMBAR PERNYATAAN PERSETUJUAN ... iv
PUBLIKASI ILMIAH UNTUK KEPENTINGAN ... iv
AKADEMIS ... iv
ABSTRAK ... v
ABSTRACT ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... viii
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Perumusan Masalah ... 4
1.3. Tujuan Penelitian ... 4
1.4. Batasan Masalah ... 4
1.5. MetodePenelitian ... 5
1.6. Sistematika Penulisan ... 6
BAB II LANDASAN TEORI ... 8
2.1. Server ... 8
2.1.1. Pengertian Server ... 8
2.1.2. Jenis-jenis Server ... 8
2.2. Proxy Server ... 12
2.2.1. Pengertian Proxy Server ... 12
2.2.2. Cara Kerja Proxy Server ... 13
2.2.3. Fungsi Proxy Server... 13
2.2.4. Keuntungan Menggunakan Proxy Server ... 16
2.2.5. Proxy Caching ... 17
2.3. Squid Proxy ... 18
2.3.1. Pengertian Squid Proxy ... 18
2.3.2. Kode Keluaran Squid ... 18
2.3.3. Object Caching ... 21
2.3.4. Hit Ratio ... 22
2.3.5. Byte Hit Ratio ... 23
2.3.6. Squid.conf ... 24
2.4. Access.log ... 29
2.4.1. HTTP status code ... 30
2.4.2. Request method ... 33
2.4.3. Hierarchy code ... 34
2.5. Linux ... 36
2.5.1. Pengertian Linux ... 36
2.5.2. Perbedaan Linux Dengan Sistem Operasi Lain ... 37
2.5.3. Ubuntu ... 38
2.6. Jaringan Internet ... 39
2.7. Jaringan LAN ... 40
2.8. Metode Penghapusan Data Pada Squid Proxy ... 40
2.8.1. Flowchart ... 43
2.8.2. LRU (Least Recently Used) ... 40
2.8.3. LFUDA (Least Frequently Used with Dynamic Aging) ... 41
2.8.4. GDSF (Greedy-Dual Size Frequency) ... 42
2.9. Monitorix ... 44
BAB III PERANCANGAN ... 49
3.1. Analisis Kebutuhan Sistem ... 49
3.1.1. Kebutuhan Perangkat Keras ... 49
3.1.2. Kebutuhan Perangkat Lunak ... 50
3.2. Skenario Pengujian ... 51
3.2.1. Topologi Jaringan ... 51
3.2.2. Mekanisme Pengumpulan Data ... 53
3.2.3. Daftar Website ... 57
3.3. Parameter Pengujian ... 59
3.4. Tabel Pengujian ... 60
BAB IV IMPLEMENTASI DAN ANALISIS HASIL ... 63
4.1. Instalasi dan Konfigurasi Squid Proxy ... 63
4.1.1. Instalasi Ubuntu ... 63
4.1.2. Instalasi Squid Proxy ... 63
4.1.3. Parameter Konfigurasi Squid.conf ... 66
4.2. Konfigurasi Program Pengambilan Data ... 71
4.2.1. Syarat HIT ... 72
4.2.2. Pengambilan Data Dengan Monitorix ... 75
4.2.3. Pengambilan Data Dengan Program Bash Script AWK ... 77
4.3. Konfigurasi Komputer Client ... 82
4.3.1. Konfigurasi Google Crome ... 82
4.3.2. Instalasi dan Konfigurasi Autoit ... 86
4.4. Tabel Hasil Pengujian ... 89
4.5. Grafik Data Pengujian ... 91
4.5.1. Analisis Storage Stats ... 91
4.5.2. Analisis Hit Ratio Berdasarkan Metode Penghapusan Data ... 103
4.5.3. Analisis Hit Ratio Berdasarkan Metode Website ... 104
4.5.4. Analisis Byte Hit Ratio Berdasarkan Metode Penghapusan Data ... 109
4.5.5. Byte Hit Ratio Berdasarkan Metode Website ... 111
BAB V KESIMPULAN DAN SARAN ... 117
5.1. Kesimpulan ... 117
5.2. Saran ... 120
DAFTAR PUSTAKA ... 121
LAMPIRAN ... 123
DAFTAR GAMBAR Gambar 2.2-1 Cara Kerja Proxy Server ... 13
Gambar 2.2-2 Proxy sebagai connection sharing ... 14
Gambar 2.2-3 Proxy sebagai filtering ... 15
Gambar 2.2-4 Proxy sebagai caching ... 16
Gambar 2.3-1 Hit ... 22
Gambar 2.3-2 Miss ... 23
Gambar 2.3-3 Byte Hit ... 23
Gambar 2.3-4 Byte miss ... 23
Gambar 2.8-1 Flowchart LRU, LFUDA, GDSF ... 44
Gambar 2.9-1 Squid statistics 1 ... 45
Gambar 2.9-2 Squid statistics 2 ... 46
Gambar 2.9-3 Overall I/O ... 46
Gambar 2.9-4 Memory usage ... 47
Gambar 2.9-5 Store directory stats ... 47
Gambar 2.9-6 IP cache stats ... 48
Gambar 3.2-1 Topologi jaringan laboraturium A ... 52
Gambar 3.2-2 Topologi jaringan laboraturium B... 52
Gambar 3.2-3 Topologi jaringan laboraturium C... 53
Gambar 4.2-1 Configurasi monitorix.conf ... 76
Gambar 4.2-2 Configurasi monitorix.conf ... 76
Gambar 4.2-3 Store directory stats ... 77
Gambar 4.2-4 Program hitRatio.sh ... 81
Gambar 4.2-5 Program byteHitRatio.sh ... 82
Gambar 4.3-1 Pengaturan proxy di Google Crome... 83
Gambar 4.3-2 Pengaturan proxy di Google Crome... 83
Gambar 4.3-3 Pengaturan proxy di Google Crome... 84
Gambar 4.3-4 Pengaturan proxy di Google Crome... 84
Gambar 4.3-5 Disable cache di Google Crome ... 85
Gambar 4.3-6 Disable cache di Google Crome ... 85
Gambar 4.3-7 Disable cache di Google Crome ... 86
DAFTAR TABEL Tabel 2.3-1 Kode keluaran squid ... 21
Tabel 2.4-1 Http status Code ... 32
Tabel 2.4-2 Request method ... 34
Tabel 2.4-3 Hirarchy code ... 36
Tabel 3.1-1 Kebutuhan Perangkat Keras ... 50
Tabel 3.1-2 Kebutuhan Perangkat Lunak ... 50
Tabel 3.2-1 Daftar website ... 58
Tabel 3.2-2 Pembagian website ... 58
Tabel 3.4-1 Pengambilan data ... 60
Tabel 4.1-1 Pembagian partisi harddisk ... 63
Tabel 4.1-2 Konfigurasi acl ... 68
Tabel 4.1-3 Konfigurasi HTTP access ... 69
Tabel 4.1-4 Konfigurasi memory cache ... 70
Table 4.1-5 Konfigurasi disk cache ... 71
Tabel 4.2-1 Kategori request hit dan miss ... 74
Tabel 4.4-1 Hasil Pengujian ... 91
Table 4.5-1 Total Request cache harddisk terisi penuh hingga data terakhir LRU metode 1... 94
Table 4.5-2 Total Byte Request cache harddisk terisi penuh hingga data terakhir LRU metode 1 ... 94
Table 4.5-3 Total Request cache harddisk terisi penuh hingga data terakhir LFUDA metode 1 ... 95
Table 4.5-4 Total Byte Request cache harddisk terisi penuh hingga data terakhir LFUDA metode 1 ... 95
Table 4.5-5 Total Request cache harddisk terisi penuh hingga data terakhir GDSF metode 1 ... 96
Table 4.5-6 Total Byte Request cache harddisk terisi penuh hingga data terakhir GDSF metode 1 ... 96
Table 4.5-7 Total Request cache harddisk terisi penuh hingga data terakhir LRU metode 2... 97
Table 4.5-8 Total Byte Request cache harddisk terisi penuh hingga data terakhir LRU metode 2 ... 97
Table 4.5-9 Total Request cache harddisk terisi penuh hingga data terakhir LFUDA metode 2 ... 98
Table 4.5-10 Total Byte Request cache harddisk terisi penuh hingga data terakhir LFUDA metode 2 ... 98
Table 4.5-11 Total Request cache harddisk terisi penuh hingga data terakhir GDSF metode 2 ... 99
Table 4.5-12 Total Byte Request cache harddisk terisi penuh hingga data terakhir GDSF metode 2 ... 99
Table 4.5-13 Total Request cache harddisk terisi penuh hingga data terakhir LRU metode 3... 100
Table 4.5-14 Total Byte Request cache harddisk terisi penuh hingga data terakhir LRU metode 3 ... 100
Table 4.5-15 Total Request cache harddisk terisi penuh hingga data terakhir LFUDA metode 3 ... 101
Table 4.5-16 Total Byte Request cache harddisk terisi penuh hingga data terakhir LFUDA metode 3 ... 101
Table 4.5-17 Total Byte Request cache harddisk terisi penuh hingga data terakhir GDSF metode 3 ... 102
Table 4.5-18 Total Byte Request cache harddisk terisi penuh hingga data terakhir GDSF metode 3 ... 102
DAFTAR GRAFIK Grafik 4.5-1 LRU dengan website metode 1 ... 94
Grafik 4.5-2 LFUDA dengan website metode 1 ... 95
Grafik 4.5-3 GDSF dengan website metode 1 ... 96
Grafik 4.5-4 LRU dengan website metode 2 ... 97
Grafik 4.5-5 LFUDA dengan website metode 2 ... 98
Grafik 4.5-6 GDSF dengan website metode 2 ... 99
Grafik 4.5-7 LRU dengan website metode 3 ... 100
Grafik 4.5-8 LFUDA dengan website metode 3 ... 101
Grafik 4.5-9 GDSF dengan website metode 3 ... 102
Grafik 4.5-10 Perbandingan hit ratio ... 103
Grafik 4.5-11 Perbandingan Hit Ratio Website Metode 1 ... 105
Grafik 4.5-12 Perbandingan Hit Ratio Website Metode 2 ... 106
Grafik 4.5-13 Perbandingan Hit Ratio Website Metode 3 ... 107
Grafik 4.5.14 Perbandingan byte hit ratio ... 109
Grafik 4.5.15 perbandingan byte hit ratio metode 1 ... 111
Grafik 4.5.16 perbandingan byte hit ratio metode 2 ... 113
Grafik 4.5.17 perbandingan byte hit ratio metode 3 ... 114
BAB I PENDAHULUAN
1.1. Latar Belakang
World Wide Web merupakan sistem distributor informasi terbesar yang menyediakan akses paket data yang disebarluaskan. Salah satu implementasi yang dilakukan World Wide Web untuk menyebarluaskan informasi paket data ini adalah dengan menerapkan internet. Perkembangan World Wide Web dalam penerapan internet ini bertumbuh dengan pesat. Selain pertumbuhan informasi paket data, pertumbuhan jaringan internetpun semakin bertambah besar. Hal tersebut dapat menyebabkan kemacetan dalam pengiriman paket data dalam jaringan serta server yang overloading. Web chacing menjadi salah satu sekema yang efektif meringankan servis bottleneck dan mengurangi kemacetan dalam jaringan, dengan demikian dapat meminimal latency dari user access[1].
Proxy Server adalah sebuah komputer server atau program komputer yang dapat bertindak sebagai komputer lainnya untuk melakukan request terhadap content dari Internet atau intranet. Proxy Server bertindak sebagai gateway terhadap dunia Internet untuk setiap komputer klien. Salah satu fungsi dari proxy server adalah web caching. Setiap kali client mengakses dokumen web ke internet yang melalui proxy server, maka proxy server akan menyimpan file-file dari web tersebut di memory atau harddisk, sehingga ketika client mengakses web dan didapati file yang sama seperti
yang tersimpan di memory atau harddisk proxy server, maka file tersebut cukup diambil dari proxy server tanpa harus memintannya di web server.
Penerapan Proxy Server ini tentunya perlu didukung dengan penggunaan aplikasi proxy dan juga Operating Sistem yang dapat bertindak sebagai server. Squid merupakan salah satu aplikasi proxy yang merepositori software dari hampir semua sistem operasi populer. Squid juga digunakan dengan banyak distribusi Linux/Unix.
Dan Squid ini dapat difungsikan sebagai web caching[2].
Proxy Server sebagai web caching memiliki 2 tempat penyimpanan file yang akan disimpan yaitu di memory dan di harddisk. Memory dan harddisk ini memiliki kapasitas penyimpanan tertentu yang sewaktu waktu bisa penuh jika diisi file-file website secara terus menerus, sehingga diperlukan penghapusan data. Squid memiliki 3 metode penghapusan data yaitu LRU (Least Recently Used), LFUDA (Least Frequently Used with Dynamic Aging), GDSF (Greedy-Dual Size Frequency)[3].
Untuk mengetahui file website yang diambil dari proxy server atau web server, squid memiliki file reporting yang dikenal sebagai access.log. File website yang diambil dari proxy server dikategoriakan sebagai request hit, sedangkan file yang diambil dari web server dikategorikan sebagai request miss.
Cache hit pada proxy server akan terjadi ketika client mengakses suatu website terdapat file dari website tersebut yang tersimpan di cache memory atau harddisk proxy server. Dan cache miss pada proxy server terjadi ketika client mengakses suatu
website tidak ada file yang tersimpan di momory atau harddisk proxy server.
Sedangkan hit ratio adalah perbandingan jumlah cache hit dibanding dengan jumlah seluruh request dari client.
Access.log merupakan file yang dibentuk pada pengaturan squid.conf, fungsi dari file ini adalah memberikan laporan mengenai informasi web site yang diakses oleh client. Untuk menentukan hit ratio proxy server kita memerlukan data laporan hasil akses dari para client yang mengakses internet melalui proxy server. Dari data tersebut kita dapat mengolahnya sehingga didapat persentase hit ratio yang diperoleh berdasarkan apa yang diakses oleh client. Dari data yang ada di access.log ini tidak hanya hit ratio saja yang dapat kita ukur, kita juga dapat mengukur byte hit ratio.
Byte hit adalah jumlah byte request yang diambil dari cache proxy server.
Sedangkan Byte Hit ratio adalah perbandingan jumlah byte request yang diambil dari proxy server disbanding dengan jumlah seluruh byte request dari client.
Berkaitan dengan metode penghapusan data tersebut, maka setiap metode yang akan digunakan dapat berpengaruh terhadap hit ratio dan byte hit ratio squid proxy.
Penelitian ini dilakukan untuk mengetahui presentase hit ratio dan byte hit ratio dari setiap metode yang ada dalam penghapusan data di harddisk proxy server.
1.2. Perumusan Masalah
Masalah yang ingin diselesaikan dari latar belakang yang tertera diatas adalah mengetahui perbandingan hit ratio dan byte hit ratio squid sebagai proxy server yang difungsikan untuk caching website berdasarkan metode LRU, LFUDA, dan GDSF dalam penghapusan data yang tersimpan di di harddisk
1.3. Tujuan Penelitian
Mengetahui perbandingan tingkat persentase hit ratio, byte hit ratio, squid sebagai proxy server yang difungsikan untuk caching website berdasarkan metode LRU, LFUDA, dan GDSF dalam penghapusan data yang tersimpan di harddisk
1.4. Batasan Masalah
Ruang linkup dan batasan masalah yang dikaji pada penelitian dalam memilih aplikasi proxy untuk server antara lain :
1. Menggunakan koneksi internet.
2. Menggunakan 3 Laboraturium Komputer, dengan setiap laboraturium memiliki 20 komputer yang disetting setiap kali melakukan request ke internet harus melalui proxy server.
3. Menggunakan 3 buah Proxy server yang akan digunakan ditiap-tiap laboraturium komputer. Tiap Server akan menggunakan metode yang berbeda yaitu LRU, LFUDA, dan GDSF.
4. Metode penghapusan data pada RAM akan didisable dengan mengeset maksimal dan minimal file yang dapat tercache di RAM adalah 0.
5. Metode penghapusan data LRU, LFUDA, dan GDSF diberikan pada pengaturan cache di harddisk Proxy Server.
6. Menggunakan aplikasi monitorix untuk memantau kinerja harddisk pada proxy server. Fungsi yang akan digunakan pada aplikasi ini adalah Store directory stats
7. Skenario pengujian yang digunakan terpaku ke metode penghapusan data GDSF
1.5. MetodePenelitian
Metode yang akan dilakukan dalam penelitian ini adalah : 1. Studi Literatur
Melakukan pendalaman materi yang berkaitan dengan penelitian yang akan dilakukan
2. Perancangan
Perancangan meliputi analisis kebutuhan sistem, topologi yang akan digunakan, parameter konfigurasi, dan parameter pengujian
3. Implementasi hasil perancangan
Menerapkan desain yang telah dirancang ke dalam perangkat fisik.
4. Pengujian dan Pengukuran
Melakukan pengujian dan pengukuran atas penelitian yang akan dilakukan
5. Analisa Hasil
Menganalisis hasil yang diperoleh pada saat pengujian penelitian 6. Penarikan Kesimpulan
Melakukan penarikan kesimpulan berdasarkan data yang didapat setelah melakukan penelitian
1.6. Sistematika Penulisan
Sistematika pada penulisan ini terdiri dari 5 bab yaitu :
BAB I PENDAHULUAN
Bab ini mengungkap latar belakang masalah, rumusan masalah, tujuan penelitian, luaran yang diharapkan, batasan masalah, dan sistematika penulisan.
BAB II DASAR TEORI
Bab ini menjelaskan dan menguraikan teori-teori yang digunakan sebagai pedoman penelitian.
BAB III PERANCANGAN
Perancangan yang akan dilakukan secara rinci beserta metode yang akan dilakukan.
BAB IV IMPLEMENTASI DAN ANALISA HASIL
Menjelaskan mengenai tahapan dalam melakukan pengujian, serta menjelaskan mengenai analisis serta evaluasi terhadap hasil pengujian yang sudah diimplementasikan.
BAB V KESIMPULAN DAN SARAN
Berisi kesimpulan pengerjaan tugas akhir dan saran untuk melakukan penelitian lebih lanjut.
BAB II LANDASAN TEORI
2.1. Server
2.1.1. Pengertian Server
Server dalam dunia komputer adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan atau network operating sistem. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan akses kepada workstation anggota jaringan. Umumnya, di atas sistem operasi server terdapat aplikasi-aplikasi yang menggunakan arsitektur klien/server.Contoh dari aplikasi ini adalah DHCP Server, Mail Server, HTTP Server, FTP Server, DNS Server dan lain sebagainya[4].
2.1.2. Jenis-jenis Server
Menurut Tyan Suhesti[5], ada berbagai macam jenis server, beberapa diantaranya adalah :
1. Fax Server
Fax server digunakan untuk melayani servis fax bagi client. Dengan adanya server fax ini. Segala permintaan pengiriman fax maupun menerima fax
akan melalui server fax ini. Server fax ini juga dilengkapi dengan modem yang mendukung fungsi fax.
2. FTP Server
Server ini mempunyai layanan protokol FTP. Artinya dengan adanya server FTP ini, segala permintaan FTP (FTP merupakan protocol untuk layanan transfer data) akan terlaksana.
3. Mail Server
Mail server mempunyai peran untuk melayani client dalam hal mail (surat).
Surat dalam hal ini, client bisa mengirimkan pesan ke client yang lain, yang dimana surat tersebut disimpan dalam server mail itu juga. Selain sebagai tempat untuk menyimpan surat, server mail juga menyediakan layanan pelengkap mail servis seperti web interface untuk memudahkan client menulis surat dan mengorganisir surat yang dipunya client.
4. Database Server
Server database, seperti namanya. Server ini melayani servis bagi client yang membutuhkan layanan penyimpanan database. Dalam server database tersebut, bisa berisi ratusan ataupun ribuan database dari banyak user.
Biasanya database tersebut dikelompokkan atau disimpan per user yang memakai layanan database tersebut.
5. Proxy Server
Proxy server, bisa digunakan untuk memperkuat security pada sebuah jaringan. Server ini bisa digunakan untuk memfilter permintaan servis
masuk maupun keluar dari sebuah client. Dengan adanya proxy server ini, kita bisa memblock suatu IP agar tidak bisa berkomunikasi. Fungsi lain dari proxy server dapat sebagai gateway yang mengatur lalu lintas jaringan lokal dan jaringan internet. Selain itu proxy server juga dapat digunakan sebagai caching, yaitu media yang dapat menyimpan object request dari client.
6. Web Server
Server ini merupakan server yang menyimpan dan mengatur berbagai macam website yang akan dipublikasikan ke banyak client. Situs seperti search engine, blog, website dll pasti membutuhkan web server agar file – file web seperti .html .php .asp bisa diproses terlebih dahulu dalam web server sebelum file tersebut dikirimkan ke client. Web server melayani request servis dengan protokol HTTP, dan ada juga IMAP ataupun FTP.
7. Telnet Server
Merupakan server yang digunakan untuk melayani servis Telnet. Dengan adanya server ini, kita bisa melakukan remote komputer yang kita inginkan. Sebelum kita meremote komputer, kita masuk dulu dalam sistem login server telnet ini. Kemudian permintaan telnet diteruskan kekomputer tujuan yang diminta oleh client.
8. File Server
File server bisa berarti komputer yang digunakan untuk menampung data – data yang dimiliki oleh sejumlah client. Kapasitas penyimpanan server
tersebut juga tergantung dari kapasitas HDD yang dimiliki oleh server tersebut.
9. Game Server
Game server merupakan server yang digunakan untuk pusat untuk menghubungkan antar pemain (client) dengan pemain yang lainnya. Game server ini selain merupakan server tersendiri, bisa juga didirikan dari komputer client yang bermain game tersebut.
10. DNS Server
DNS server mempunyai kegunaan untuk servis DNS. DNS berguna untuk menerjemahkan alamat domain sebuah komputer kedalam bentuk IP. Oleh sebab itu jika kita tidak menentukan DNS server pada settingan IP Address, maka kita akan kesulitan untuk membuka situs seperti Google, karena alamat google tersebut harus diterjemahkan dulu kedalam bentuk IP address sebelum komputer kita bisa terkoneksi ke server google tersebut.
Sedangkan alamat IP server dns belum ditentukan oleh kita.
11. Print Server
Server ini bisa digunakan untuk pusat layanan percetakan (print) bagi client. Dengan adanya server ini, segala aktivitas “print” bisa dilakukan secara bersama dan menghemat biaya hardware karena meskipun terdapat satu printer, printer tersebut bisa digunakan oleh banyak komputer.
12. Application Server
Dalam fungsinya, server ini merupakan komputer server yang digunakan untuk menjalankan suatu software applikasi.
13. Streaming Media Server
Server ini melayani servis streaming data media seperti musik, video.
Servis ini memungkinkan kita dapat mengakses sebuah konten tanpa kita mendownloadnya terlebih dahulu.
14. Home Server
Server ini merupakan server yang khusus bagi pengguna rumah yang membutuhkan layanan seperti home entertainment. Komputer ini bisa juga ditambah layanan servis lainnya seperti printing servis, web servis, maupun file servis sebagai backup data. Sehingga komputer ini memiliki berbagai fungsi.
2.2. Proxy Server
2.2.1. Pengertian Proxy Server
Proxy Server adalah server yang diletakkan antara suatu aplikasi client dan aplikasi server yang saling terkoneksi. Aplikasi client dapat berupa browser web, client FTP, dan sebagainya. Sedangkan aplikasi server dapat berupa server web, server FTP dan sebagainya.
Proxy Server yang diletakkan di antara aplikasi client dan aplikasi server tersebut, dapat digunakan untuk mengendalikan maupun memonitor lalu-lintas paket data yang melewatinya[6].
2.2.2. Cara Kerja Proxy Server
Gambar 2.2-1 Cara Kerja Proxy Server
Prinsip kerja proxy server sangatlah sederhana, saat user menggunakan layanan suatu proxy lalu meminta file atau data yang terdapat di public server (internet) maka proxy akan meneruskannya ke internet jadi seolah-olah proxy tersebut yang memintanya. Dan saat proxy server telah mendapatkan apa yang diminta oleh user, proxy akan memberikan respon kepada user jadi seolah-olah dialah public servernya[6].
2.2.3. Fungsi Proxy Server
Menurut Wagito (2007)[6], terdapat 3 fungsi utama proxy server, yaitu : 1. Connection sharing
Sebuah jaringan lokal agar dapat terhubung dengan jaringan luar diperlukan adanya gateway yang dikonfigurasi agar jaringan lokal dan jaringan luar bisa saling terkoneksi. Proxy sebagai connection sharing
PROXY SERVER CLIENT
CLIENT MEMINTA LAYANAN KE SERVER
SERVER SERVER MEMEBERIKAN
LAYANAN YANG DIMINTA PROXY MENERUSKAN
LAYANAN KE CLIENT
PROXY MENERUSKAN PERMINTAAN CLIENT
bertindak sebagai gateway yang menjadi penghubung antara jaringan lokal dan jaringan luar. Dengan demikian koneksi dari jaringan lokal ke jaringan luar akan menggunakan sambungan yang dimiliki oleh gateway[6].
Gambar 2.2-2 Proxy sebagai connection sharing
2. Filtering
Bekerja pada layar aplikasi yang berfungsi sebagai Firewall. Proxy sebagai filtering digunakan untuk melindungi jaringan lokal terhadap gangguan atau serangan dari jaringan luar. Dapat dikonfigurasi untuk menolak situs web tertentu pada waktu-waktu tertentu[6].
CLIENT
PROXY GATEWAY
INTERNET
SERVER
Gambar 2.2-3 Proxy sebagai filtering 3. Caching
Proxy Server memiliki mekanisme penyimpanan obyek-obyek yang sudah diminta dari server-server di internet. Mekanisme caching akan menyimpan obyek-obyek yang merupakan permintaan dari para client yang didapat dari internet.
Proxy server yang difungsikan sebagai caching akan menyimpan file atau konten website yang diminta oleh client ke dalam proxy server, sehingga ketika client melakukan request yang mengandung file atau konten yang sama seperti yang tersimpan di proxy server, maka file atau konten tersebut tidak perlu diminta dari server internet, melainkan cukup diambil dari proxy server[6].
CLIENT
PROXY FILTERING
WEB SERVER EDUKASI
WEB SERVER KONTEN DEWASA OK
BLOKIR
Gambar 2.2-4 Proxy sebagai caching
2.2.4. Keuntungan Menggunakan Proxy Server
Menurut Kulbir Saini (2011)[2], Proxy server memiliki beberapa keunggulan yaitu
1. Mengurangi penggunaan bandwith
2. Mengurangi waktu untuk request halaman web yang sering diakses oleh user
3. Memantau lalulintas jaringan dan reporting penggunaan internet untuk user individu maupun grup
4. Meningkatkan privasi pengguna dengan tidak mengekpos komputer pengguna ke internet
5. Mengurangi beban web server ketika memenuhi permintaan request dokumen web dari client
CLIENT 1
CLIENT 2
PROXY CACHING SERVER
6. Memfilter permintaan atau balasan yang mengandung virus ataupun malware
7. Sebagai load balancing jaringan network yang terhubung ke internet
2.2.5. Proxy Caching
Sebuah proxy server biasanya memproses permintaan client dengan meneruskan permintaan ke web server tujuan, memfilter respon, dan mengirimkan balasan kembali ke client. Karena proxy server bekerja sebagai perantara antara jaringan lokal dengan jaringan internet, secara alami ini mengarah ke pertanyaan tentang efektivitas menggunakan proxy ini untuk cache dokumen. Beberapa client yang dihubungkan kedalam proxy yang sama sebagai firewall biasanya milik oraganisasi yang sama pula. Kemungkinan client tersebut akan mengakses dokumen web yang sama untuk kepentingan pekerjaannya. Proxy server yang dilengkapi dengan fungsi caching akan menyimpan file-file dari web site yang pernah diakses oleh client, sehingga ketika client mengakses web site itu kembali maka file – file yang tersimpan di cache proxy server akan mengirimkannya ke client. Dengan begitu akan diperoleh waktu yang lebih cepat dalam membuka halaman website yang pernah atau sering kali diakses oleh client, menghemat penggunaan bandwith dan latency akses untuk client[1].
2.3. Squid Proxy
2.3.1. Pengertian Squid Proxy
Squid adalah sebuah aplikasi proxy yang digunakan sebagai proxy server dan web cache. Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan caching permintaan yang berulang-ulang, caching DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara melakukan penyaringan (filter) lalu lintas.
Squid umumnya didesain untuk berjalan di atas sistem operasi mirip UNIX, meski Squid juga bisa berjalan di atas sistem operasi Windows. Karena dirilis di bawah lisensi GNU General Public License, maka Squid merupakan perangkat lunak bebas[3].
2.3.2. Kode Keluaran Squid
Kita dapat mengetahui aktifitas dari squid proxy ketika kita melakukan koneksi ke internet. Aktifitas tersebut tersimpan dalam file yang biasa disebut dengan access log. Berikut ini beberapa kode keluaran squid[3].
Kode Keterangan
TCP_HIT Object yang diminta ada dalam cache dan
berhasil diantarkan ke client
TCP_MISS Object yang diminta tidak ada dalam
cache
TCP_REFRESH_UNMODIFIED Object yang direquest telah kadaluarsa.
Menghasilkan kode 304
TCP_REFRESH_MODIFIED_HIT Object yang diminta ada dalam cache namun telah kadaluarsa. Query IMS tidak dapat dijalankan
TCP_REFRESH_HIT Squid menemukan cache yang diminta oleh client dan melakukan validasi ke server tujuan, tetapi komputer asal mengirimkan kode not modified.
Sehingga squid menganggap cache tersebut masih valid.
TCP_REFRESH_MISS Object yang diminta sudah kadaluarsa TCP_CLIENT_REFRESH_MISS Client mengakses object non-cache TCP_REF_FAIL_HIT Squid menemukan file cache yang
diminta client dan melakukan validasi ke server tujuan, tetapi server asal tidak
merespon. Squid menganggap salinan tersebut valid dan memberikannya ke client
TCP_IMS_HIT Client melakukan akses IMS untuk
sebuah object yang berada dalam cache baru
TCP_SWAP_FAIL_MISS Object kemungkinan ada dalam cache, namun tidak bisa diakses
TCP_NEGATIVE_HIT Request untuk object yang dicache negative, misalnya 404 not found
TCP_MEM_HIT Data valid dari object yang direquest ada dalam cache memory, bukan dalam disk
TCP_DENIED Akses TCP diblokir
TCP_OFFLINE_HIT Object yang direquest ada dalam cache saat mode offline
UDP_HIT Data valid untuk object yang direquest
ada dalam cache
UDP_MISS Object yang diminta tidak ada dalam
cache UDP
UDP_DENIED Akses UDP diblokir
UDP_INVALID Request invalid diterima
UDP_MISS_NOFETCH Saat starup –Y, atau saat failure, cache hit menghasilkan kode ini
NONE Terjadi error
Tabel 2.3-1 Kode keluaran squid
2.3.3. Object Caching
Object caching adalah salah satu fitur yang ditawarkan oleh proxy server. Fitur ini bekerja dengan cara menyimpan suatu object dari internet baik dari protocol Http, FTP atau yang lainnya kedalam sebuah sistem lokal. Terdapat 2 media untuk melakukan caching, yaitu:
1. Caching menggunakan memory utama (RAM)
Melakukan caching pada RAM memiliki keunggulan, yaitu data dapat diakses lebih cepat, mengingat kemampuan baca tulis pada RAM jauh lebih tinggi daripada hard disk. Namun caching pada RAM juga memiliki kelemahan, yaitu kapasitas RAM yang terbatas dibandingakan dengan harddisk. Pada umumnya ukuran penyimpanan pada harddisk jauh lebih besar dibandingkan memory. Selain itu data yang tersimpan di RAM akan langsung terhapus ketika komputer dimatikan. Caching dengan memory ini sebaiknya dilakukan untuk data yang sering diakses atau digunakan[11].
2. Caching menggunakan hard disk
Berbeda dengan memory, kapasitas harddisk jauh lebih besar. Kita tidak dapat mengandalkan caching dengan menggunakan memory utama saja, mengingat kapasitasnya yang terbatas. Selain kapasitas harddisk yang lebih besar daripada memory, keunggulan lainnya adalah ketika komputer dimatikan data yang tersimpan diharddisk masih tetap ada berbeda dengan RAM ketika komputer dimatikan data yang tersimpan di RAM akan langsung terhapus.
Namun dari segi kecepatan penyimpanan di harddisk memiliki kecepatan akses yang lebih lambat daripada memory utama[11].
2.3.4. Hit Ratio
Hit Ratio merupakan parameter keberhasilan squid dimana berapa banyak request yang dapat dan tidak dapat dilayani oleh cache squid dengan baik dibandingkan dengan semua request dari client.
Gambar 2.3-1 Hit
Client
Proxy Server Server
Request
Replay (cache)
Gambar 2.3-2 Miss
Semakin besar hit rationya, maka semakin besar trafik jaringan yang dihemat, karena client mengambil layanan langsung dari proxy pada jaringan local[11].
2.3.5. Byte Hit Ratio
Byte hit merupakan perbandingkan jumlah request byte yang diambil dari proxy server dibanding dengan jumlah serluruh request byte yang diminta oleh client.
Gambar 2.3-3 Byte Hit
Gambar 2.3-4 Byte miss
Client
Proxy Server Server
Request
Forward
Request
Replay
Client
Proxy Server Server
Request
Replay (jumlah byte)
Client
Proxy Server Server
Request
Forward (jumlah byte)
Request
Replay (jumlah byte)
Perhitungan byte hit berdasarkan jumlah byte request dari client yang hit.
Besarnya byte hit lebih kecil dibandingkan dengan byte yang diambil dari server asli.
Dengan demikian semakin besar byte hit ratio, maka trafik jaringan yang digunakan akan lebih hemat[11].
2.3.6. Squid.conf
Dalam penerapan squid sebagai aplikasi untuk proxy server, kunci dalam pengaturan atau konfigurasi squid yang akan difungsikan sebagai konekting sharing, filtering, maupun sebagai cache terletak pada squid.conf[3].
Squid.conf ini berisi program yang nantinya akan menentukan fungsi dan kinerja squid sebagai proxy server. Berikut ini adalah program yang dapat digunakan untuk configurasi squid proxy server yang difungsikan sebagai caching website.
1. Access Control
Acl
Fungsi dari penyetingan acl ini adalah untuk menentukan fitur-fitur apa saja yang diperbolehkan akses memalui dan dilalui oleh proxy server.
Http_access
Fungsi dari penyetingan http_access ini adalah untuk memperbolehkan atau memblokir akses port http berdasarkan definisi daftar akses
2. Network Option
Http Port
Http port ini digunakan untuk menentukan alamat socket yang akan digunakan oleh squid sebagai proxy server. Terdapat tiga bentuk penyetingaan http port yang pertama kita dapat menggunakan alamat port saja sebagai alamat port untuk squid proxy server, hostname dengan port, dan alamat ip dengan port. Alamat port yang biasanya digunakan untuk squid adalah 3128 atau 8080
3. Memory Cache Option
cache_mem
Cache_mem digunakan untuk menentukan kapasitas memory maksimum yang dapat digunakan sebagai caching yang ditempatkan dimemory (RAM)
maximum_object_size_in_memory
Maximum_object_size_in_memory digunakan untuk menentukan besar maksimum satuan file yang dapat disimpan di memory (RAM)
memory_replacement_policy
Memory_replacement_policy digunakan untuk menentukan metode yang akan digunakan untuk penghapusan data cache yang ada di memory (RAM) secara otomatis
4. Disk Cache Option
Cache_dir
Cache_dir digunakan untuk menentukan letak folder yang akan digunakan sebagai tempat penyimpanan cache yang berada di harddisk, selain itu cache_dir juga digunakan untuk menentukan banyaknya folder yang akan dibuat dalam setiap tempat penyimpanan dan banyaknya file yang dapat ditampung oleh setiap folder tersebut
minimum_object_size
Minimum_object_size digunakan untuk menentukan besar minimum satuan file yang dapat disimpan di harddisk
maximum_object_size
Maximum_object_size digunakan untuk menentukan besar maksimum satuan file yang dapat disimpan di harddisk
cache_swap_low
Cache_swap_low digunakan sebagai tanda dalam bentuk persentase untuk memulai pergantian object cache. Contoh cache_swap_low adalah 90. Hal tersebut berarti ketika file cache sudah mencapai 90 % dari kapasitas penyimpanan harddisk, maka akan dimulai penghapusan file cache dan digantikan dengan yang baru.
cache_swap_high
Cache_swap_high digunakan sebagai tanda dalam bentuk persentase untuk memulai pergantian object cache. Contoh cache_swap_low adalah 95. Hal tersebut berarti ketika file cache sudah mencapai 95 % dari kapasitas penyimpanan harddisk, maka akan sering dilakukan penghapusan file cache dan digantikan dengan yang baru.
cache_replacement_policy
Cache_replacement_policy digunakan untuk menentukan metode yang akan digunakan untuk penghapusan data cache yang ada di harddisk secara otomatis
5. Log File Option
Access_log
Access_log pada squid berisi laporan hasil aktifitas browsing yang dilakukan oleh client yang melalui squid proxy server
6. Option for Troubleshooting
Cache_log
Cache_log pada squid berisi laporan testing configurasi squid proxy.
Cache_log ini dapat memberi tahu letak kesalahan dalam penyetingan squid proxy server atau dapat sebagai acauan troubleshooting squid proxy
7. Option for Tuning The Cache
Refresh_pattern
Penggunakan refresh_pattern dapat seperti berikut ini
refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
Keterangan : refresh_pattern [–i] regex min percent max [options]
Ekspresi –i digunakan untuk pengaturan case sensitive
Min adalah waktu (dalam menit) kadaluwarsa suatu file yang tersimpan di cache. Direkomendasikan 0, karena nilai yang lebih tinggi dapat menyebabkan file dinamis akan keliru dalam menampilkan suatu file pada halaman web di web browser
Percent adalah persentase dari usia benda (waktu sejak terakhir usia modifikasi) object yang tanpa disertai waktu kadaluarsa dianggap segar Max adalah batas atas waktu suatu file yang tercache akan dianggap kadaluarsa
Minimum_expiry_time
Minimum_expiry_time merupakan waktu caching minimum sesuai dengan tanggal kadaluwarsa suatu object. Default untuk memimum_expiry_time adalah 60 detik
2.4. Access.log
Acess.log merupakan file yang dibentuk dari konfigurasi squid.conf. Access log ini berfungsi sebagai reporting akses yang dilakukan client yang melalui proxy server. Contoh isi dari access.log adalah sebagai berikut ini[3] :
1066037222.011 19120 12.83.179.11 TCP_MISS/200 359 GET
http://ads.x10.com/720x300/Z2FTZ3JIZXRPBMCXLMRHD/7/AMG -
DIRECT/63.211.210.20 text/html
Keterangan :
1. Timestamp 2. Response time 3. Ip address client 4. Code status 5. HTTP status 6. Transfer size 7. HTTP method 8. Url
9. Hierarky
1 2 3 4 5 6 7
8
9 10 11
10. Ip address server 11. Content type
2.4.1. HTTP status code
Http status code merupakan status kode untuk request berupa http. Adapun ragam dari code tersebut adalah sebagai berikut[3]:
Status Keterangan
000 Paling sering digunakan untuk traffic UDP
100 Melanjutkan
101 Pergantian Protokol
102 Memproses
200 Ok
201 Dibuat
202 Diterima
203 Informasi tanpa keamanan 204 Tidak ada konten
205 Reset konten 206 Partial konten 207 Multi status 300 Terdapat 3 pilihan
301 Dipindahkan secara permanen
302 Dipindahkan sementara 303 Lihat yang lain
304 Tidak dirubah 305 Menggunakan proxy 307 Redirect sementara 400 Permintaan salah
401 Membutuhakan persetujuan akses
402 Prabayar
403 Dilarang diakses 404 Tidak ditemukan
405 Method tidak diperbolehkan 406 Tidak disetujui
407 Membutuhkan persetujuan proxy akses 408 Permintaan timeout
409 Konflik
410 Hilang
411 Dibutuhakan panjang akses 412 Permintaan gagal
413 Entity permintaan terlalu besar 414 Permintaan URL terlalu besar
415 Tipe media tidak didukung
416 Panjang permintaan tidak statistiable 417 Ekspentasi gagal
422 Entity tidak diproses
424 Dikunci
424 Dependensi gagal 433 Entity tidak diproses
500 Permasalahan internal server 501 Tidak terimplementasi 502 Gateway yang buruk 503 Servis tidak tersedia 504 Gateway timeout
505 Versi HTTP tidak didukung
507 Permasalahan penyimpanan data client 600 Squid header error
601 Ukuran squid header terlalu besar 601 Konfigurasi squid error
603 Autorization yang tidak dikenali
Tabel 2.4-1 Http status Code
2.4.2. Request method
Request method merupakan informasi method dari http, squid, ataupun yang lainnya. Request method ini menentukan object apa saja yang dapat di simpan dalam cache proxy server. Proxy server hanya dapat menyimpan object dengan method GET dan HEAD. Berdasarkan situs dari www.squid-cache.org, request method terdiri dari[3] :
Method Definisi Kemungkinan Tercache
GET HTTP/0.9 Bisa
HEAD HTTP/1.0 Bisa
POST HTTP/1.0 -
PUT HTTP/1.1 Tidak bisa
DELETE HTTP/1.1 Tidak bias
TRACE HTTP/1.1 Tidak bias
OPTIONS HTTP/1.1 Tidak bias
CONNECT HTTP/1.1r3 Tidak bisa
ICP_QUERY Squid Tidak bisa
PURGE Squid Tidak bisa
PROPFIND rfc2518 -
PROPATCH rfc2518 -
MKCOL rfc2518 Tidak bisa
COPY rfc2518 Tidak bisa
MOVE rfc2518 Tidak bisa
LOCK rfc2518 Tidak bisa
UNLOCK rfc2518 Tidak bisa
Tabel 2.4-2 Request method
2.4.3. Hierarchy code
Hierarchy code merupakan kode informasi mengenai aktifitas yang telah dilakukan squid proxy dalam merequest ataupun merespon permintaan. Berikut adalah ragam dari heararchy code proxy server[3] :
Hierarchy code Keterangan
NONE Digunakan untuk TCP_HIT,
TCP_FAILURES, permintaan cachemgr dan seluruh permintaan UDP. Tidak ada hierarchy infomasi
DIRECT Object diminta dari server asli
SIBLING_HIT Object diminta dari sibling cache dan mendapat balasan dengan UDP_HIT
PARENT_HIT Object diminta dari parent cache dan mendapat balasan dengan UDP_HIT
DEFAULT_PARENT Tidak ada query ICP yang dikirim
SINGLE_PARENT Object yang diminta hanya dari parent appropriate untuk URL yang diberikan FIRST_UP_PARENT Object yang diminta dari parent pertama
yang terdapat di daftar parent
NO_PARENT_DIRECT Object diminta dari server asli namun tidak ada parent yang tersedia untuk URL yang diminta
FIRST_PARENT_MISS Object diminta dari parent yang tercepat CLOSEST_PARENT_MISS Parent ini telah dipilih
CLOSEST_PARENT Seleksi parent berdasarkan RTT measurement itu sendiri
CLOSEST_DIRECT RTT measurement dikembalikan ke waktu yang terpendek
NO_DIRECT_FAIL Object tidak dapat diminta karena konfigurasi firewall
SOURCE_FASTEST Website asli dipilih, berdasarkan ping yang tercepat
ROUND_ROBIN_PARENT Tidak ada balasan ICP dari beberapa parent CACHE_DIGEST_HIT Peer telah dipilih
CD_PARENT_HIT Parent telah dipilih CD_SIBLING_HIT Sibling telah dipilih NO_CACHE_DIGEST_DIRECT Output ini telah dihapus
CARP Peer telah dipilih oleh CARP
PINNED Connection server telah oleh NTLM
ORIGINAL_DST Koneksi server dibatasi untuk client yang mengarah ke alamat ip tertentu
Tabel 2.4-3 Hirarchy code
2.5. Linux
2.5.1. Pengertian Linux
Linux adalah adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa saja. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux. Linux telah lama dikenal untuk penggunaannya di server, dan didukung oleh perusahaan-perusahaan komputer ternama seperti Intel, Dell, Hewlett- Packard, IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsistems. Linux
digunakan sebagai sistem operasi di berbagai macam jenis perangkat keras komputer, termasuk komputer desktop, super komputer, dan sistem benam seperti pembaca buku elektronik, sistem permainan video (PlayStation 2, PlayStation 3 dan XBox), telepon genggam dan router. Para pengamat teknologi informatika beranggapan kesuksesan Linux dikarenakan Linux tidak bergantung kepada vendor (vendor independence), biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan versi UNIX tak bebas, serta faktor keamanan dan kestabilannya yang tinggi dibandingkan dengan sistem operasi lainnya seperti Microsoft Windows. Ciri- ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat lunak sumber terbuka (open source software).
Sistem operasi Linux yang dikenal dengan istilah distribusi Linux (Linux distribution) atau distro Linux umumnya sudah termasuk perangkat-perangkat lunak pendukung seperti server web, bahasa pemrograman, basis data, tampilan desktop (desktop environment) seperti GNOME, KDE dan Xfce juga memiliki paket aplikasi perkantoran (office suite) seperti Open Office.org, KO ffice, Abiword, Gnumeric dan Libre Office[10].
2.5.2. Perbedaan Linux Dengan Sistem Operasi Lain
Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah harga.
Linux ini lebih murah dan dapat diper banyak serta didistribusikan kembali tanpa harus membayar pajak kepada seseorang. Tetapi ada hal lain yang lebih utama selain pertimbangan harga yaitu mengenai source code. Source code Linux tersedia bagi
semua orang sehingga setiap orang dapat terlibat langsung dalam pengembangannya.
Kebebasan ini telah memungkinkan para vendor perangkat keras membuat driver untuk device tertentu tanpa harus mendapatkan lisensi source code yang mahal atau menandatangani Non Disclosure Agreement (NDA). Dan itu juga telah menyediakan kemungkinan bagi setiap orang untuk melihat ke dalam suatu sistem operasi yang nyata dan berkualitas komersial. Karena Linux itu tersedia secara bebas di internet, berbagai vendor telah membuat suatu paket distrbusi yang dapat dianggap sebagai versi kemasan Linux. Paket ini termasuk lingkungan Linux lengkap, penagkat lunak untuk instalasi dan mungkin termasuk perangkat lunak khusus dan dukungan khusus[8].
2.5.3. Ubuntu
Ubuntu merupakan salah satu distribusi Linux yang berbasiskan Debian dan didistribusikan sebagai software bebas. nama Ubuntu berasal dari filosofi dari Afrika Selatan yang berarti “Kemanusiaan kepada sesama”. Ubuntu didesain untuk kepentingan penggunaan personal, namun versi server Ubuntu juga tersedia, dan telah dipakai secara luas.
Proyek Ubuntu resmi disponspori oleh Canonical Ltd. yang merupakan sebuah perusahaan yang dimiliki oleh pengusaha Afrika Selatan Mark Shuttleworth. Tujuan dari distribusi Linux Ubuntu adalah membawa semangat yang terkandung di dalam Filosofi Ubuntu ke dalam dunia perangkat lunak. Ubuntu adalah sistem operasi lengkap berbasis Linux, tersedia secara bebas dan mempunyai dukungan baik yang
berasal dari komunitas maupun tenaga ahli profesional. Selain itu, Ubuntu juga bersifat Open Source.
Open source adalah Kekuatan komunitas seluruh dunia yang sangat ahli terampil yang membangun, berbagi dan meningkatkan perangkat lunak yang sangat terbaru bersama – kemudian membuatnya tersedia untuk semua orang[12].
2.6. Jaringan Internet
Jaringan Internet adalah gabungan jaringan-jaringan komputer diseluruh dunia dan merupakan rangkaian komputer terbesar didunia, ukurannya akan masih terus berkembang. Namun komputer-komputer tadi merupakan sebagian saja dari definisi konsep jaringan internet. Karena saat kita membicarakan tentang jaringan komputer terbesar ini, maka yang dimaksudkan adalah semua yang berkaitan melalui predikat yang melekat padanya meliputi informasi, masyarakat penggunanya dan juga perangkat lunak dan perangkat keras yang digunakan.
Sedangkan pengertian jaringan internet sebagai suatu sistem adalah sebuah sistem jaringan yang terkait dalam lingkup global dan memfasilitasi komunikasi layanan data seperti remote, transfer file, surat elektronik, World Wide Web dan newsgroup[7].
2.7. Jaringan LAN
Jaringan LAN adalah jaringan komputer yang terdiri dari beberapa komputer sampai ratusan komputer dalam sebuah gedung/kampus. Sehingga penggunaan jaringan LAN hanya sampai pada jarak beberapa kilometer. Pada jaringan LAN, komputer terbagi degan istilah komputer server dan komputer workstation yang memakai bersama resource (printer) dan saling bertukar informasi
Jaringan dirancang untuk berbagi sumber daya komputer (konten, penyimpanan, siklus CPU) dengan pertukaran langsung[7]..
2.8. Metode Penghapusan Data Pada Squid Proxy
Menurut informasi dari www.squid.org yaitu website yang memberikan segala informasi mengenai squid, squid sebagai proxy server yang difungsikan untuk caching website memiliki 3 metode yang berbeda dalam penghapusan dokumen web yang tercache, ketiga fungsi itu adalah LRU, LFUDA, dan GDSF[3]
2.8.1. LRU (Least Recently Used)
LRU (Least Recently Used) yaitu metode penghapusan object berdasarkan pengkajian recently. Yaitu file dengan recent paling rendah atau yang terakhir kali diakses mendapatkan prioritas untuk dihapus.
Penghapusan data berdasarkan metode penghapusan data LRU adalah dengan melakukan penghapusan data pada file terakhir yang digunakan di dalam cache.
Selanjutnya file terakhir yang sudah dihapus diganti dengan file baru yang diambil dari web server yang kemudian dimasukkan ke dalam cache. Dan diterukan ke client.
File terakhir yang didapat ini berdasarkan proses pengkajian berdasarkan recently. Setiap file yang ada di cache akan dikaji ulang sehingga diperoleh tingkat recent dari setiap file. File yang memiliki tingkat rencent paling kecil adalah file terakhir yang diakses. File tersebut berpeluang besar untuk dihapus dari cache ketika cache terisi penuh.
2.8.2. LFUDA (Least Frequently Used with Dynamic Aging)
LFUDA (Least Frequently Used with Dynamic Aging) yaitu metode penghapusan objek berdasarkan tingkat frekuensi akses file yang ada dicache, Jadi object yang tingkat frekuensi aksesnya kecil atau jarang diminta (request) maka akan mendapatkan prioritas utk dihilangkan/dihapus.
Langkah yang digunakan ketika proses penghapusan data berdasarkan metode penghapusan data LFUDA adalah dengan melakukan penghapusan data file yang sering diakses (frequency) dan berdasarkan waktu kadaluarsa (Aging). Dilakukan pengkajian tiap file yang ada di cache. Pengkajian ini berdasarkan tingkat frekuensi akses tiap-tiap file, jika file memiliki tingkat frekuensi akses kecil atau jarang diakses maka file tersebut mendapatkan prioritas untuk dihapus.
Apabila terdapat file denga frekuensi akses yang sama kecil, maka langkah selanjutnya adalah melakukan pengkajian file berdasarkan waktu kadaluarsa (Aging).
jika file sudah kadaluarsa atau nilai kadaluarsa tinggi dibandingkan dengan file lain, maka file tersebut akan dihapus.
2.8.3. GDSF (Greedy-Dual Size Frequency)
GDSF (Greedy-Dual Size Frequency) yaitu metode penghapusan objek berdasarkan ukuran. Jadi objek yang memiliki ukuran lebih besar maka akan mendapatkan prioritas untuk dihapus.
Penghapusan data GDSF adalah dengan melakukan penghapusan data berdasarkan ukuran (size) dan seberapa sering akses pada file tersebut dilakukan (frequency). Penghapusan data dilakukan dengan mengambil file dengan ukuran paling besar yang ada di cache. Selanjutnya dilakukan checking apakah file tersebut lebih dari satu atau hanya satu. Jika hanya satu maka file akan dihapus dan diganti file baru yang diambil dari proxy server selanjutnya diteruskan ke client. Jika file yang paling besar dan memiliki ukuran yang sama lebih dari satu, langkah selanjutnya adalah melakukan checking file mana yang paling sering diakses oleh client. Jika file tersebut frekuensi aksesnya rendah maka file tersebut dihapus dan digantikan dengan file baru yang diambil dari web server selanjutnya diteruskan ke client.
2.8.4. Flowchart
Didalam Pengisian cache dan penghapusan cache diharddisk terdapat prosedur yang perlu dilakukan. Awalnya client melakukan request website. Kemudian diterima oleh proxy server, proxy server melakukan checking apakah terdapat konten atau file dari website yang direquest di cache tidak. Jika ya langkah selanjutnya adalah melakukan cek validasi berdasarkan kadaluarsa jika sudah kadaluarsa maka file akan diambil dari web server, jika tidak kadaluarsa file akan diambil dari cache dan diteruskan ke client. Selanjutnya jika tidak terdapat file atau conten tipe yang ada di cache proxy server meneruskan permintaan client ke web server, dan web server merespon hingga diterima proxy server,selanjutnya proxy server melakukan checking, file bisa disimpan dicache atau tidak. Jika tidak bisa disimpan dicache maka akan diteruskan ke client, jika bisa disimpan dicache langkah selanjutnya adalah melakukan checking apakah cache yang digunakan sebagai media penyimpanan telah penuh atau belum. Jika belum penuh maka file atau konten tipe disimpan dicache. Jika sudah penuh maka akan dilakukan penghapusan data berdasarkan metode yang diterapkan tiap masing-masing proxy server. Kemudian diteruskan ke client
Setiap proxy server meneruskan ke client dilakukan update statistik. Update statistik ini berdasarkan metode penghapusan data yang digunakan. LRU update statistik yang dilakukan adalah berdasarkan recent, LFUDA adalah berdasarkan frequency dan aging, sedangkan GDSF berdasarkan size dan frequency.
Gambar 2.8-1 Flowchart LRU, LFUDA, GDSF
2.9. Monitorix
Monitorix adalah tool gratis, sederhana, yang menghasilkan informasi dengan representasi grafis dari trafik proxy server. Hasil informasi ditampilkan pada web browser. Perhitungan grafik monitorix dapat dipilih berdasarkan perhitungan perhari, perminggu atau perbulan. Berikut ini adalah hasil grafik yang disediakan oleh monitorix untuk memantau perkembangan proxy server squid.
Gambar 2.9-1 Squid statistics 1
Squid statistic 1 berisi informasi mengenai code status dari request yang diminta oleh client. Dengan informasi ini kita dapat mengetahui banyaknya request hit dan request miss.
Gambar 2.9-2 Squid statistics 2
Squid statistic 2 berisi informasi mengenai code status http dari request yang diminta oleh client. Dengan informasi ini kita dapat mengetahui banyaknya request website yang client minta berdasarkan code status http.
Gambar 2.9-3 Overall I/O
Overall I/O berisi informasi mengenai jumlah request yang diminta baik dari client maupun server. Dengan informasi ini kita dapat mengetahui total request yang diminta.
Gambar 2.9-4 Memory usage
Memory usage berisi grafik penggunaan memory pada proxy server beserta informasi besarnya memory yang ada dan yang sedang digunakan. Dengan informasi ini kita dapat mengetahui kapasitas memory dari proxy server yang digunakan.
Gambar 2.9-5 Store directory stats
Store directory stats berisi grafik penggunaan harddisk cache pada proxy server beserta informasi besarnya harddisk cache yang ada dan yang sudah digunakan. Dengan informasi ini kita dapat mengetahui kapasitas harddisk cache dari proxy server yang digunakan.
Gambar 2.9-6 IP cache stats
IP cache stats berisi grafik total request dari client dan total request hit maupun miss. Dengan informasi ini kita dapat mengetahui banyaknya request yang diminta oleh client, banyaknya request hit dan request miss.
BAB III PERANCANGAN
3.1. Analisis Kebutuhan Sistem 3.1.1. Kebutuhan Perangkat Keras
Sebelum pengujian, diperlukan beberapa hal dalam mendukung kegiatan pengujian. Diantaranya adalah pemilihan topologi jaringan, rancangan proxy server, spesifikasi hardware yang akan digunakan, pemilihan website yang akan digunakan, serta scenario.
Pengujian menggunakan 3 server sebagai proxy server, dan akan diujikan di 3 laboraturium jaringan komputer. Tiap laboraturium diisi dengan 1 server dan 20 client yang akses jaringan ke internet harus melalui proxy server terlebih dahulu.
Dalam satu laboraturium proxy server dan client tersebut terhubung dalam satu jaringan local. Tiap proxy server memiliki spesifikasi hardware yang sama dengan rincian seperti dibawah ini:
Proxy Server
Mainboard Intel H81 Express for ThinkCentre
Harddisk 500GB
GPU VGA Intel HD Graphics
Processor Intel Core I5-4590 @ (4CPUs)
Network Card Realtek RLT8111GN