Load balancing dengan metode Per Connection Classifier (PCC) menggunakan proxy server sebagai caching

(1)

CLASSIFIER (PCC) MENGGUNAKAN PROXY SERVER SEBAGAI

CACHING

(Studi Kasus : Madrasah Tsanawiyah An-Nizhamiyyah Cileungsi)

Oleh : Muhammad Hafizh

106091002863

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA 2011/1432 H


(2)

(3)

(4)

iv

SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.

Jakarta, September 2011

Muhammad Hafizh 106091002863


(5)

vi Assalamualaikum Wr. Wb

Alhamdulillah hirrabil’alamin, satu kata yang dapat penulis ucapkan kepada Allah SWT, atas segala rahmat dan hidayahNya sehingga penulis dapat menyelesaikan skripsi ini, dan shalawat serta salam semoga selalu terlimpah kepada junjungan kita Nabi Besar Muhammad SAW, Beserta para keluarga, Sahabat serta para pengikutnya hingga akhir zaman kelak.

Skripsi ini penulis buat sebagai syarat kelulusan dalam menempuh pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah Jakarta. Selain itu juga penulis berharap apa yang penulis teliti, yang dijelaskan di dalam skripsi ini, dapat dipergunakan dengan baik oleh semua pihak yang membutuhkan, sehingga perkembangan ilmu pengetahuan dan teknologi dapat lebih maju.

Sehubungan dengan selesainya skripsi ini, penulis mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu penulis, juga atas dorongan serta bimbingannya sehingga penulis bisa menyelesaikan dengan sangat lancar tanpa adanya gangguan yang berarti. Semoga Allah SWT membalas semua amal dan ibadah mereka, Insya Allah. Terima Kasih penulis ucapkan kepada :


(6)

vii Informatika.

3. Bapak Herlino Nanang, MT dan Bapak Wahyudi, MT yang telah rela meluangkan waktunya untuk mendukung dan membimbing penulis dalam menyelesaikan skripsi ini.

4. Bapak Feri Fahrianto, M.Sc dan Hasan Basri, M.Kom sebagai penguji yang memberikan kritik dan saran pada skripsi ini.

5. Dosen-Dosen Fakultas Sains dan Teknologi yang telah mengajarkan kepada penulis berbagai macam ilmu yang dapat penulis terapkan dalam penulisan skripsi ini.

6. Kepala Sekolah, guru-guru dan staf TU MTs. An-Nizhamiyyah yang telah membantu dan memberikan ijin penulis untuk melakukan penelitian skripsi ini.

7. Kedua Orang tua penulis, Bapak Benyamin & Alm. Ibu Nurbaiti Aziz, yang selalu memberikan doanya dengan ikhlas, allâhummaghfirlîî wa liwâlidayya warhamhummâ kamâ rabbayânî shighîrâ, yang selalu memberikan nasihat, motivasi, mengajarkan arti hidup dan senantiasa mencurahkan dukungannya demi kesuksesan penulis dalam proses kuliah dan kehidupan ini.

8. Kedua adik penulis, Lukman Hakim dan M. Iqbal yang selalu memberikan motivasi dan mendukung penulis dalam penyusunan skripsi ini.


(7)

viii

10. Bapak Drs. Uyun Robaniyun serta keluarga yang telah membantu dan mendukung dalam penyelesaian skripsi ini.

11. Sahabat – sahabat, Amir Rizky, Habib, Nanda Rahmanto, Deka Hasby, Pudi Rizki, dan Tri Pujiyanto yang telah membantu penulis dalam kekurangan alat sistem dan mewarnai kehidupan di luar kampus.

12. Seluruh teman-teman KKN 15, teman-teman TI A, Networking VII B dan Seluruh kawan-kawan jurusan Teknik Informatika angkatan 2006. Sukses selalu untuk kita semua.

13. Seluruh pihak yang telah membantu dan namanya tidak dapat disebutkan satu per satu. Terima kasih atas dukungan dan motivasinya, Semoga Allah SWT membalas segala kebaikan yang telah diberikan kepada penulis.

Semoga Allah SWT memberikan balasan yang setimpal atas segala bantuan dan kebaikan yang telah mereka berikan kepada penulis, Amin. Demikianlah, Semoga apa yang tertulis dalam skripsi ini dapat bermanfaat bagi semua pihak. Dalam hal ini, penulis mengharapkan saran dan kritik yang membangun demi menambah kesempurnaan bagi skripsi ini.

Wassalamualaikum Wr.Wb.

Jakarta, September 2011


(8)

ix

Halaman pengesahan ... iii

Halaman pernyataan ... iv

Abstrak ... v

Kata Pengantar ... vi

Daftar isi... ix

Daftar Gambar ... xiii

Daftar Tabel ... xv

Daftar Lampiran ... xvi

BAB I PENDAHULUAN 1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalah ... 3

1.4. Tujuan dan Manfaat Penelitian ... 3

1.4.1. Tujuan Penelitian... 3

1.4.2. Manfaat Penelitian... 4

1.5. Metodologi Penelitian ... 5

1.5.1. Pengumpulan Data... 5

1.5.2. Pengembangan Sistem ... 6


(9)

x

2.2. Firewall... 11

2.2.1. Fungsi Firewall... 12

2.2.2. Mikrotik sebagai Firewall... 13

2.2.3. FirewallDengan Iptabels... 15

2.3. Network Address Translator (NAT)... 18

2.4. Routing... 20

2.5. Load Balancing ... 22

2.5.1. Algoritma Load Balancing... 25

2.5.2. Sistem Load Balancing ... 26

2.6. Per Connection Classifier(PCC)... 35

2.7. Proxy Server... 37

2.8. Squid Proxy... 40

2.9. Tools ... 41

2.9.1. Hardware... 42

2.9.2. Software ... 42

2.9.3. Simulator Sistem ... 48

2.10. Metode Pengembangan Sistem ... 50

2.11. Study Sejenis... 56

BAB III METODOLOGI PENELITIAN 3.1. Metode Pengumpulan Data ... 58


(10)

xi

3.1.4. Observasi ... 60

3.2. Metode Pengembangan Sistem ... 60

3.2.1. Analisis (Analysis) ... 60

3.2.2. Perancangan (Design) ... 62

3.2.3. Simulasi Prototipe (Simulation Prototype) ... 63

3.2.4. Penerapan (Implementation)... 63

3.2.5. Pengawasan (Monitoring) ... 64

3.2.6. Pengaturan (Management) ... 64

3.3. Alur Penelitian ... 65

BAB IV ANALISIS DAN PERANCANGAN 4.1. Sekilas Tentang MTs. An-Nizhamiyyah Cileungsi ... 66

4.1.1. Profile Madrasah ... 66

4.1.2. Visi dan Misi ... 66

4.1.3. Strategi dan Tujuan... 67

4.1.4. Struktur Organisasi ... 68

4.1.5. Struktur Kurikulum dan Alokasi Waktu ... 68

4.2. Analisis ... 70

4.2.1. Analisis Sistem Berjalan ... 71

4.2.2. Identifikasi Masalah ... 72


(11)

xii

4.3.1. Perancangan Fisik Jaringan ... 83

4.3.2. Perancangan Logic Jaringan... 84

4.4. Simulasi Prototipe(Simulation Prototype) ... 88

4.5. Implementasi Metode PCC (implementation) ... 89

4.5.1. Inisialisasi Interface Router... 90

4.5.2. Pemberian alamat IP address ... 91

4.5.3. Kebijakan Mangle... 95

4.5.4. Kebijakan routing... 101

4.6. Monitoring ... 102

4.6.1. Pengujian sebelum implementasi (Sistem berjalan)... 103

4.6.2. Pengujian Setelah Implementasi Sistem ... 107

4.6.3. Hasil monitoring...115

4.7. Management...116

BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 119

5.2. Saran ... 120

DAFTAR PUSTAKA ... 121 LAMPIRAN-LAMPIRAN


(12)

xiii

Gambar 2.2. Menghubungkan jaringan kecil ke internet... 20

Gambar 2.3. Load Balancingdengan dua backbone provider ... 23

Gambar 2.4. DNS Round Robin... 27

Gambar 2.5. Integrated Load Balancing ... 31

Gambar 2.6. Cara kerja Proxy... 38

Gambar 2.7. Personal Komputer ... 42

Gambar 2.8. Tampilan Winbox ... 47

Gambar 2.9.Network Development Cycle... 50

Gambar 3.1. Alur Penelitian ... 65

Gambar 4.1. Struktur Organisasi Madrasah ... 68

Gambar 4.2. Sistem yang sedang berjalan ... 71

Gambar 4.3. Modem ADSL ... 78

Gambar 4.4. Modem 3G ... 78

Gambar 4.5. Switch... 78

Gambar 4.6. Modem 3G Router... 79

Gambar 4.7. Website yang sering dikunjungi ... 82

Gambar 4.8. Topologi Jaringan ... 84

Gambar 4.9. Proses Sistem... 87

Gambar 4.10. Interface Router ... 90


(13)

xiv

Gambar 4.15. Konfigurasi IP Address Public 2 ... 93

Gambar 4.16. Konfigurasi 3G Router... 93

Gambar 4.17. Sinyal dan IP Address modem 3G... 93

Gambar 4.18. Konfigursi IP Address clientLAN ... 94

Gambar 4.19. Konfigurasi IP Address clientWireless ... 95

Gambar 4.20. Monitoring bandwidth... 103

Gambar 4.21. Kecepatan Download yang diperoleh ... 104

Gambar 4.22. Bandwidth yang sudah mencukupi... 105

Gambar 4.23. Pengujian Menggunakan pingtest.net ... 106

Gambar 4.24. Pengujian Beban traffic... 108

Gambar 4.25. Pengujian Bandwidth... 108

Gambar 4.26. Traffic pada mangle (PCC) ... 109

Gambar 4.27. Pengujian Menggunakan Pingtest.net... 111

Gambar 4.28. Hasil Cache ... 114

Gambar 4.29. Hit Proxy ... 115

Gambar 4.30. Rule management bandwidth ... 117


(14)

xv

Tabel 3.1. Studi Sejenis... 59

Tabel 4.1. Struktur Kurikulum MTs. An-Nizhamiyyah Cileungsi... 69

Tabel 4.2. Daftar beberapa ISP ADSL... 74

Tabel 4.3. Daftar beberapa ISP Modem USB ... 75

Tabel 4.4. Perangkat Keras PC Server... 77

Tabel 4.5. Perangkat Keras Router... 77

Tabel 4.6. Tabel IP Address ... 84

Tabel 4.7. hasil pengujian dengan pingtest.net ... 106


(15)

xvi LAMPIRAN 2 (Surat Pernyataan Riset) LAMPIRAN 3 (Instalasi Ubuntu Server) LAMPIRAN 4 (Instalasi Mikrotik) LAMPIRAN 5 (Source Code Program)


(16)

1 1.1 Latar Belakang

Pemanfaatan teknologi jaringan komputer sebagai media komunikasi data hingga saat ini semakin meningkat, terutama pada jaringan internet (interconnection networking) yang merupakan suatu jaringan yang kompleks. Kebutuhan atas penggunaan bersama resources yang ada dalam jaringan baik software maupun hardware telah mengakibatkan timbulnya berbagai pengembangan teknologi jaringan itu sendiri. Seiring dengan semakin tingginya tingkat kebutuhan dan semakin banyaknya pengguna jaringan yang menginginkan suatu bentuk jaringan yang dapat memberikan hasil maksimal baik dari segi efisiensi maupun peningkatan keamanan jaringan itu sendiri.

Sebuah instansi sekolah tentunya ingin memberikan yang terbaik dalam kualitas koneksi internet dan meminimilaisasi biaya yang dikeluarkan. Apakah koneksi yang disediakan cepat atau lambat. Untuk memenuhi kebutuhan tersebut tentunya harus bijak dalam memilih ISP yang ada. Beberapa ISP menyediakan koneksi dalam kecepatan tinggi, namun biaya operasionalnya juga perlu diperhitungkan. Berlangganan terhadap dua atau lebih line (jalur) dalam satu ISP merupakan salah satu solusi yang dapat diambil untuk memenuhi kebutuhan internet yang besar. Akan tetapi jalur-jalur tersebut harus dapat digunakan secara bersamaan agar didapat bandwidth yang besar dan berimbang demi memenuhi kebutuhan internet yang besar pula. Dalam dunia jaringan komputer, teknik penggabungan dan penyeimbangan ini sering disebut sebagai Load Balancing.


(17)

Load balancing dapat dilakukan dengan menggunakan sebuah router. Router adalah perangkat yang akan melewatkan paket IP dari suatu jaringan ke jaringan yang lain, menggunakan metode addressing dan protocol tertentu untuk melewatkan paket data. Salah satu router yang dikenal saat ini adalah MikroTik RouterOS™. Dengan load balancing yang pada praktiknya nanti menggunakan Mikrotik, maka semua client yang ada pada jaringan akan memiliki satu gateway, dan gateway itu yang akan menentukan paketnya akan melewati modem yang mana. Load balancing akan melakukan proses penyeimbangan (balance) yang nantinya akan dihasilkan bandwidth yang maksimal sesuai dengan yang diinginkan.

Uraian-uraian tersebut telah mendorong penulis untuk melakukan penelitian sistem Load Balancing dengan proxy server yang memperhatikan segi kecepatan dan penghematan bandwidth. Dalam hal inilah yang mendorong penulis untuk melakukan penelitian “LOAD BALANCING DENGAN METODE PER CONNECTION CLASSIFIER (PCC) MENGGUNAKAN PROXY SERVER SEBAGAI CACHING” dengan Studi kasus pada “MTs. An-Nizhamiyyah”.

1.2 Rumusan Masalah

Berdasarkan penjelasan pada latar belakang di atas, maka masalah yang akan dibahas adalah sebagai berikut :

1. Bagaimana mengoptimalkan koneksi internet pada jaringan lab an-nizhamiyyah dengan biaya yang murah.


(18)

2. Bagaimana akses streaming video dan web tertentu dengan lebih cepat. 3. Bagaimana mengatur penyebaran bandwidth dalam jaringan agar

bandwidthyang di terima pengguna merata dan kecepatannya stabil.

1.3 Batasan Masalah

Berdasarkan perumusan masalah di atas, penulis membatasi masalah pada:

1. Penulis menggunakan Load Balancing dengan metode PCC (Per Connection Classifier)untuk mengoptimalkan koneksi internet.

2. Akses Web dan streaming video hanya terbatas pada situs tertentu seperti youtube, googlevideo, gmail, yahoo, detik dan 4shared.

3. Penulis menggunakan software squid sebagai proxy server yang difungsikan sebagai cache video untuk mempercepat akses internet. 4. Dalam implementasinya penulis menggunakan mikrotik RouterOS

sebagai sistem operasi Router, sistem operasi proxy server yang di pakai ubuntu server 10.04.

5. Banyaknya akses internet yang akan di load balancing menggunakan koneksi dengan 2 isp yang berbeda.

1.4 Tujuan dan Manfaat Penelitian 1.4.1 Tujuan penelitian :

1. Membangun load balancing yang optimal dengan menggunakan proxy server sebagai cache video.


(19)

2. Meningkatkan pembagian beban traffic internet.

3. Memaksimalkan penggunaan bandwitdh agar tersebar merata untuk pengguna jaringan.

4. Mengatasi permasalahan apabila salah satu koneksi down.

1.4.2 Manfaat Penelitian 1. Manfaat bagi Penulis

1. Mendukung penulis dalam mempelajari dan mendalami teori, konsep dan prakteknya tentang load balancing.

2. Mendukung penulis dalam mempelajari, mendalami, serta mempraktekkanfungsi proxy server sebagai cache video.

3. Mendukung penulis dalam mempelajari, mendalami, serta mempraktekkan penggunaan sistem operasi mikrotik RouterOS dalam melakukan fungsi load balancing yang stabil dan murah. 4. Mendukung penulis dalam mempelajari, mendalami, serta

mempraktekkan sistem operasi ubuntu server 10.04 sebagai proxy server untuk menchace video.

2. Manfaat bagi sekolah

1. Memberikan kecepatan akses internet yang stabil 2. Memberikan penghematan bandwidth

3. Memberikan solusi penerapan load balancing untuk membagi beban traffic jaringan internet pada sekolah.


(20)

4. Dapat menerapkan bagaimana memanajemen jaringan sehingga bermanfaat pada pengembangan jaringan.

1.5 Metodologi Penelitian

1.5.1 Metode pengumpulan data 1. Studi pustaka

Yaitu dengan mengumpulkan informasi-informasi yang berkaitan dengan konsep, teori serta kegunaan yang berhubungan dengan penelitian, baik melalui media buku, media internet, maupun e-book.

2. Studi Sejenis

Perbandingan studi sejenis ini diperlukan agar nantinya penelitian ini dapat bermanfaat dan menjadi pelengkap dan penyempurna dari studi-studi sejenis yang telah dilaksanakan sebelumnya.

3. Wawancara

Dalam melakukan pengumpulan data, penulis juga melakukan wawancara secara langsung kepada pihak terlibat yang nantinya akan berhubungan dengan sistem ini (MTs. An-Nizhamiyyah) 4. Observasi

Observasi dilakukan dengan cara secara langsung ke lapangan untuk mengetahui dan mengamati bagaimana sistem yang sudah ada pada MTs. An-Nizhamiyyah.


(21)

1.5.2 Metode Pengembangan Sistem

Dalam penyusunan skripsi ini penulis melakukan penelitian dengan metode Network Development Life Cycle (NDLC) dengan Tahapan sebagai berikut: [Goldman and Rawles, 2001]

1. Analysis

Tahap awal ini dilakukan analisa sistem yang berjalan, identifikasi masalah, analisa teknologi yang digunakan, dan analisa kebutuhan serta analisis user.

2. Design

Dari data-data dan informasi yang telah didapatkan sebelumnya, tahap design ini akan dibuat rancangan fisik arsitektur jaringan pada MTs. An-Nizhamiyyah serta rancangan konfigurasi jaringan.

3. Simulation

Pada tahap ini penulis membuat simulasi sistem jaringan yang menggunakan load balancing dan proxy server dengan bantuan tools yaitu simulator VM ware versi 7.

4. Implementation

Pada tahap implementasi terdiri atas penginstalan hardware dan software yang membentuk sistem jaringan. Fase ini dapat dibagi menjadi Perolehan software, Perolehan hardware, Instalasi, Pengujian, Dokumentasi.


(22)

5. Monitoring

Tahapan monitoring merupakan tahapan yang penting, agar jaringan komputer dan komunikasi dapat berjalan sesuai dengan keinginan dan tujuan awal.

6. Management

Tahap manajemen atau pengaturan, salah satu yang menjadi perhatian khusus adalah masalah Policy, kebijakan perlu dibuat untuk membuat/mengatur agar sistem yang telah dibangun dan berjalan dengan baik dapat berlangsung lama dan unsur Reliabilityterjaga.

1.6. Sistematika Penulisan

Dalam Skripsi ini, pembahasan yang dilakukan penulis terbagi menjadi lima bab yang secara singkat dapat dijelaskan sebagai berikut :

BAB I : PENDAHULUAN

Bab ini mencakup latar belakang dari penyusunan skripsi, ruang lingkup, tujuan yang ingin dicapai, manfaat yang dapat diperoleh, metodologi penelitian yang digunakan dan sistematika penulisan skripsi ini.

BAB II : LANDASAN TEORI

Bab ini berisi tentang segala macam teori serta konsep yang berkaitan dengan penelitian, seperti Jaringan Komputer, Routing, Load Balancing, Proxy Server, Firewall, dan Caching.


(23)

BAB III : METODOLOGI PENELITIAN

Bab ini berisikan tentang metode pengumpulan data dan metode pengembangan Sistem NDLC (Network Development Life Cycle).

BAB IV : PERANCANGAN DAN IMPLEMENTASI

Pada bab ini akan berisi tentang rancangan fisik jaringan, instalasi dan implementasi paket aplikasi konfigurasi internet, spesifikasi yang dibutuhkan dan evaluasi dari aplikasi dan jaringan yang telah dirancang.

BAB V : PENUTUP

Bab akhir yang memuat kesimpulan dan saran dari hasil penelitian yang telah dibuat.


(24)

9 2.1 Router

Router adalah perangkat yang akan melewatkan paket IP dari suatu jaringan ke jaringan yang lain, menggunakan metode addressing dan protocol tertentu untuk melewatkan paket data tersebut.

Router memiliki kemampuan melewatkan paket IP dari satu jaringan ke jaringan lain yang mungkin memiliki banyak jalur diantara keduanya. Router-router yang saling terhubung dalam jaringan internet turut serta dalam sebuah algoritma routing terdistribusi untuk menentukan jalur terbaik yang dilalui paket IP dari system ke system lain. Proses routing dilakukan secara hop by hop. IP tidak mengetahui jalur keseluruhan menuju tujuan setiap paket. IP routing hanya menyediakan IP address dari router berikutnya yang menurutnya lebih dekat ke host tujuan. Berikut merupakan fungsi router secara umum :

1. Membaca alamat logika/IP address source dan destination untuk menentukan routing dari suatu LAN ke LAN lainnya.

2. Menyimpan routing table untuk menentukan rute terbaik antara LAN ke WAN.

3. Perangkat dilayer 3 OSI Layerdan Interfaces Ethernet, Serial, ISDN BRI 4. Bisa berupa “box” atau sebuah OS yang menjalankan sebuah daemon


(25)

2.1.1 Router dan Gateway a. Router

Router adalah perangkat jaringan yang digunakan untuk membagi protocol kepada anggota jaringan yang lainnya, dengan adanya router maka sebuah protocol dapat di-sharing kepada perangkat jaringan lain. Ciri-ciri router adalah adanya fasilitas DHCP (Dynamic Host Configuration Procotol), dengan mensetting DHCP, maka dapat membagi IP Address, fasilitas lain dari Router adalah adanya NAT (Network Address Translator) yang dapat memungkinkan suatu IP Address atau koneksi internet disharing ke IP Address lain.

b. Gateway

Gateway adalah sebuah perangkat yang digunakan untuk menghubungkan satu jaringan komputer dengan satu atau lebih jaringan komputer yang menggunakan protokol komunikasi yang berbeda sehingga informasi dari satu jaringan computer dapat diberikan kepada jaringan komputer lain yang protokolnya berbeda.

Apabila ada suatu komputer yang ingin terkoneksi oleh internet atau terkoneksi dengan komputer lain maka komputer itu harus memasukan ip gatewaynya jadi komputer harus melewati gerbang utama pada jaringan internet atau yang lain.


(26)

2.2 Firewall

Firewall adalah sistem keamanan yang menggunakan device atau system yang diletakkan di dua jaringan dengan fungsi utama melakukan filtering terhadap akses yang akan masuk.

Berupa seperangkat hardware atau software, bisa juga berupa seperangkat aturan dan prosedur yang ditetapkan oleh organisasi. Firewall juga dapat disebut sebagai sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggapnya aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Umumnya firewall diimplementasikan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (gateway) antara jaringan lokal dan jaringan lainnya.

Firewall juga umumnya digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari hak luar. Saat ini, istilah firewall menjadi istilah generik yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda.

Firewall atau “tembok penghalang” merupakan sebuah perangkat yang ditujukan untuk melindungi network dari “kejahatan dunia luar”. Biasanya firewall digunakan untuk melindungi LAN dari berbagai serangan atau intrusions. Serangan dapat ditujukan kepada host tertentu yang dapat menyebabkan data corrupt atau service menjadi tidak berfungsi (Yusuf, 2010).


(27)

2.2.1 Fungsi Firewall

Firewall berfungsi menjaga keamanan jaringan dari ancaman pihak lain yang tidak berwenang. Mengubah, merusak, atau menyebarkan data-data penting perusahaan merupakan contoh ancaman yang harus dicegah.

Firewall memiliki fungsi ganda, yaitu memeriksa paket dan menyaring paket, keduanya merupakan salah satu peran yang paling mendasar dari sebuah firewall. (Fasarilla, 2010) Berikut Fungsi – fungsi Firewallsecara umum :

1. Mengontrol dan mengawasi paket data yang mengalir di jaringan. Firewall harus dapat mengatur, memFilter dan mengontrol lalu lintas data yang diizin untuk mengakses jaringan privat yang dilindungi firewall. Firewallharus dapat melakukan pemeriksaan terhadap paket data yang akan melewati jaringan private. Beberapa kriteria yang dilakukan firewall apakah memperbolehkan paket data lewati atau tidak, antara lain :

1. Alamat IP dari komputer sumber 2. PortTCP/UDP sumber dari sumber 3. Alamat IP dari komputer tujuan

4. PortTCP/UDP tujuan data pada komputer tujuan 5. Informasi dari headeryang disimpan dalam paket data 2. Melakukan autentifikasi terhadap akses.


(28)

3. Aplikasi Proxy

Firewall mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntut firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi.

4. Mencatat semua kejadian di jaringan

Mencatat setiap transaksi kejadian yang terjadi di firewall. Ini memungkinkan membantu sebagai pendeteksian dini akan kemungkinan penjebolan jaringan.

Gambar 2.1 Firewall (rsdcool.blogspot.com)

2.2.2 Mikrotik sebagai Firewall

Firewall beroperasi menggunakan aturan tertentu. Aturan inilah yang menentukan kondisi ekspresi yang memberitahu router tentang apa yang harus dilakukan router terhadap paket IP yang melewatinya. Setiap aturan disusun atas kondisi dan aksi yang akan dilakukan. Ketika ada paket IP lewat, firewall akan mencocokkannya dengan kondisi yang telah dibuat kemudian menentukan aksi apa yang akan dilakukan router sesuai dengan kondisi tersebut.


(29)

Selain sebagai gateway, Mikrotik juga dipadukan dengan kemampuan firewall untuk mencegah hal-hal yang menggangu dari pihak lain, mengingat begitu banyaknya aplikasi yang dijalankan oleh pengguna jaringan. Ada aplikasi yang berjalan normal, tetapi ada juga aplikasi yang bersifat mengganggu kinerja jaringan. Sebagai contoh, paket broadcast yang dilakukan oleh virus dan paket berlebihan yang sering disebut sebagai flooding.

Paket dengan ukuran kecil memang tidak mengganggu koneksi jaringan. Namun, jika paket yang kecil tersebut dalam jumlah banyak, hal ini bisa menurunkan kinerja jaringan (down). Maka disinilah pentingnya memakai firewall untuk menghindari insiden jaringan yang bersifat negative.

Pada sistem operasi Mikrotik, firewall sudah termasuk paket Mikrotik RouterOS yang di dalam direktori firewall sendiri terdapat 6 direktori:

1. Mangle, untuk menandai paket dengan suatu tanda khusus sebagai indentitas paket tersebut.

2. NAT, ntuk memetakan suatu IP address ke IP address lain. 3. Connection, untuk mengetahui informasi dari suatu koneksi

yang aktif, seperti IP address asal dan tujuan beserta port yang digunakan, jenis protokol yang dipakai.

4. Address-list, untuk mendefinisikan IP address ke dalam group tertentu.


(30)

5. Service port, untuk mengaktifkan dan mengubah nomor port aplikasi.

6. Filter, untuk menyaring paket yang masuk atau melewati router. Router akan meneruskannya jika paket diizinkan lewat, dan sebaliknya.

7. Export, untuk menyimpan/backup semua konfigurasi di dalam direktori firewall.

2.2.3 Firewalldengan IPtabels

Iptabels adalah administrator Tools untuk memFilter paket IPV4 dan NAT. Iptabelsdigunakan untuk men-setup, mengatur dan memeriksa paket dari aturan pem-filteran paket IP pada kernel linux. (Yusuf, 2010)

Iptabels merupakan salah satu tool firewall yang bekerja menggunakan prinsip Packet Filter. Modul Iptabels dalam kernel merupakan bagian dari framework NetFilter. Modul ini dapat memberikan kemampuan Filtering dan manajemen paket-paket IP yang masuk maupun keluar firewall, sehingga ada yang menyebut Iptabelssebagai NetFilter. Sebutan ini kurang tepat, jangan terkecoh antara instilah NetFilter dengan Iptabels itu sendiri. NetFilter merupakan framework yang bekerja pada level kernel yang membentuk sebuah sistem. Sedangkan Iptabels sendiri merupakan modul yang bekerja pada level aplikasi dan user (user space).


(31)

IPtabels bekerja pada layer internet dan transport. Artinya header paket yang berada pada kedua layer ini akan di Filtersesuai aturan yang telah ditentukan.

IPtabels memiliki tiga macam daftar aturan bawaan dalam tabel penyaringan, daftar tersebut dinamakan rantai firewall (firewall Chain) atau sering disebut Chain saja. Ketiga Chain tersebut adalah

a. INPUT

Digunakan untuk memilah paket data yang masuk ke mesin firewall

b. OUTPUT

Digunakan untuk memilah paket data yang melalui mesin firewalldan diRoutingkan kembali ke jalur yang lainnya

c. FORWARD.

Digunakan untuk memilah paket data yang keluar dari mesin firewall

IPtabelsmenangani lalu lintas paket menggunakan tiga buah tabel acuan. Setiap tabel memiliki beberapa buah Chain atau sekumpulan aturan berantai. Ketiga tabel tersebut antara lain :

1. Filtertabel

Berisikan Chain yang melakukan penyaringan paket yang masuk maupun keluar. Filtertabel terdiri atas tiga buah Chain, yaitu :


(32)

1. INPUT Chain, untuk menyaring paket-paket yang datang menuju localhost

2. FORWARD Chain, untuk menyaring paket yang berasal dari hostlain yang diteruskan ke hostlain pula. Kondisi ini lazim disebut sebagai Routing.

3. OUTPUT Chain, untuk menyaring paket yang keluar / pergi (outgoing traffic) dari localhost.

2. NAT tabel

Berisikan Chain yang memodifikasi paket yang keluar masuk. Modifikasi meliput pengubahan address atau port komunikasi yang dapat dijumpai pada headersebuah paket, sedemikian rupa sehingga menjadi sebuah bentuk yang dikenali diluar maupun didalam jaringan. Pada NAT tabel terdapat tiga Chain, yaitu : 1. PREROUTING Chain, untuk mengubah paket yang berasal

dari hostlain

2. OUTPUT Chain, untuk mengubah paket yang dihasilkan oleh localhost.

3. POSTROUTING Chain, untuk mengubah paket yang akan menuju hostlain.

Ada dua jenis NAT, yaitu DNAT (Destination NAT) dan SNAT (Source NAT). Sesuai dengan namanya, DNAT digunakan untuk mengganti destination IP yang berasal dari jaringan luar, seperti


(33)

internet dengan IP jaringan lokal, sehingga internet dapat mengenali komputer lokal. Sedangkan SNAT digunakan untuk mengganti source IP yang berasal dari jaringan lokal dengan IP public, sehingga komputer lokal dapat berinteraksi dengan jaringan luar (internet).

Kemudian ada juga yang disebut IP masquerade. IP masquerade mirip dengan SNAT. SNAT maupun IP masqueradedibuat agar dapat menghemat penggunaan IP address public.

3. Mangletabel

Mangle tabel memiliki kemampuan untuk mengolah semua Chain, baik yang dimiliki oleh Filter tabel maupun NAT tabel. Sejak versi kernel 2.4.18, mangle tabel memiliki lima buah Chain, yaitu :

1. PREROUTING Chain 2. INPUT Chain

3. OUTPUT Chain 4. FORWARD Chain 5. POSTROUTING Chain

2.3 Network Address Translator (NAT)

Ada dua tipe alamat IP: umum dan pribadi. Alamat umum diberikan kepada kita oleh Internet Service Provider (ISP) yang kita pakai untuk


(34)

berhubungan ke internet. Bagi host di dalam organisasi yang tidak memerlukan akses langsung ke internet, alamat IP yang tidak menduplikasi alamat umum yang sudah diberikan memang dibutuhkan. Untuk memecahkan persoalan alamat ini, para desainer internet mencadangkan suatu bagian dari ruang alamat IP dan menamai ruang ini sebagai ruang alamat pribadi. Suatu alamat IP pada ruang alamat pribadi tidak pernah diberikan sebagai alamat umum. Alamat IP di dalam ruang alamat pribadi dikenal sebagai alamat pribadi. Dengan memakai alamat IP pribadi, kita dapat memberikan proteksi dari para hacker jaringan.

Karena alamat IP pada ruang alamat pribadi tidak akan pernah diberikan oleh Internet Network Information Center (InterNIC) sebagai alamat umum, maka route di dalam internet router untuk alamat pribadi takkan pernah ada. Alamat pribadi tidak dapat dijangkau di dalam internet. Oleh karena itu, saat memakai alamat IP pribadi, kita membutuhkan beberapa tipe proxy atau server untuk mengonversi sejumlah alamat IP pribadi pada jaringan lokal kita menjadi alamat IP umum yang dapat di-routed. Pilihan lain adalah menerjemahkan alamat pribadi menjadi alamat umum yang valid dengan network address translator (NAT) sebelum dikirimkan di internet. Dukungan bagi NAT untuk menerjemahkan alamat umum dan alamat pribadi memungkinkan terjadinya koneksi jaringan-jaringan kantor-rumah atau kantor yang kecil ke internet seperti ditampilkan gambar 2.2 berikut ini.


(35)

Gambar 2.2Menghubungkan jaringan kecil ke internet (Sumber : Alwi ,2011)

Sebuah NAT menyembunyikan alamat-alamat IP yang dikelola secara internal dari jaringan-jaringan eksternal dengan menerjemahkan alamat internalpribadi menjadi alamat eksternal umum. Hal ini mengurangi biaya registrasi alamat IP dengan cara membiarkan para pelanggan memakai alamat IP yang tidak terdaftar secara internal melalui suatu terjemahan ke sejumlah kecil alamat IP yang terdaftar secara eksternal. Hal ini juga menyembunyikan struktur jaringan internal, mengurangi resiko penolakan serangan layanan terhadap sistem internal.

2.4 Routing

Routing adalah proses dimana suatu router mem-forward paket ke jaringan yang dituju. Suatu router membuat keputusan berdasarkan IP address yang dituju oleh paket. Semua router menggunakan IP address tujuan untuk mengirim paket. Agar keputusan Routingtersebut benar, router harus belajar bagaimana untuk mencapai tujuan. (Yusuf. 2010)


(36)

Tujuan utama dari Routing protokol adalah untuk membangun dan memperbaiki tabel Routing. Dimana tabel ini berisi jaringan-jaringan dan interface yang berhubungan dengan jaringan tersebut. Router menggunakan protokol Routing ini untuk mengatur informasi yang diterima dari router -router lain dan interfacenya masing masing, sebagaimana yang terjadi di konfigurasi Routingsecara manual.

Konfigurasi Routing secara umum terdiri dari 3 macam yaitu : . (Yusuf. 2010)

1. Minimal Routing

Dari namanya dapat diketahui bahwa ini adalah konfigurasi yang paling sederhana tapi mutlak diperlukan. Biasanya minimal Routing dipasang pada networkyang terisolasi dari networklain atau dengan kata lain hanya pemakaian lokal saja.

2. Static Routing

Konfigurasi Routing jenis ini biasanya dibangun dalam network yang hanya mempunyai beberapa gateway, umumnya tidak lebih dari 2 atau 3. Static Routing dibuat secara manual pada masing masing gateway. Jenis ini masih memungkinkan untuk jaringan kecil dan stabil. Stabil dalam arti kata jarang down. Jaringan yang tidak stabil yang dipasang Static Routing dapat membuat kacau seluruh Routing, karena tabel Routing yang diberikan oleh gateway tidak benar sehingga paket data yang seharusnya tidak bisa diteruskan masih saja dicoba sehingga menghabiskanbandwidth.


(37)

3. Dynamic Routing

Dalam sebuah networkdimana terdapat jalur Routing lebih dari satu rute untuk mencapai tujuan yang sama dan network besar yang memiliki lebih dari 3 gateway biasanya menggunakan dynamic Routing. Dengan penggunaan dynamic Routing, tabel Routing yang terbaru akan didapatkan secara otomatis dengan menjalankan Routing protokol yang dipilih.

2.5 Load Balancing

Load Balancing adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara seimbang, agar trafik dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan menghindari overloadpada salah satu jalur koneksi. (Dewobroto, 2009).

Secara umum, load balancing dapat diartikan sebagai suatu teknik untuk mendistribusikan beban kerja secara merata pada dua atau lebih komputer, network links, CPU, hard drive atau sumber daya lainnya, untuk mendapatkan pemanfaatan sumber daya yang optimal, memaksimalkan throughput, meminimalkan waktu respon dan menghindari overload. Menggunakan beberapa komponen dengan load balancing dapat meningkatkan kehandalan melalui redudansi. Layanan load balancing biasanya disediakan oleh program khusus atau perangkat keras (seperti multilayer switch atau DNS server).


(38)

Dengan mempunyai banyak link maka optimalisasi utilisasi sumber daya throughput, atau responde time akan semakin baik karena mempunyai lebih dari satu link yang bisa saling mem-backuppada saat networkdown dan menjadi cepat pada saat network normal jika memerlukan realibilitas tinggi yang memerlukan 100 % koneksi uptime dan yang menginginkan koneksi upstreamyang berbeda dan dibuat saling mem-backup.

Dalam jaringan komputer, load balancing lebih mengarah kepada pengkombinasian beberapa antarmuka ethernet ke dalam satu jalur sehingga dapat diutilisasi secara bersamaan dengan menghasilkan koneksi yang lebih cepat.

Untuk dapat mengimplementasikan sistem ini diperlukan suatu perangkat tambahan baik berupa router Cisco atau menggunakan solusi routerdari Mikrotik yang lebih ekonomis namun powerfull

Gambar 2.3 Load Balancingdengan dua backbone provider. (sumber: Dewobroto, 2009)

Dengan konsep yang sederhana, sebuah load balancer diletakkan di antara clientdan serverseperti terlihat pada Gambar 2.3Load balancerakan menampung trafik yang datang dan membaginya ke dalam request-request individual lalu menentukan servermana yang menerima requesttersebut.


(39)

Beberapa keuntungan dari penerapan Load Balancing antara lain (Sagala, 2010):

1. Scalability : Ketika beban sistem meningkat, kita dapat melakukan perubahan terhadap sistem agar dapat mengatasi beban sesuai dengan kebutuhan.

2. High Availability : Load balancer secara terus-menerus melakukan pemantauan terhadap server. Jika terdapat serveryang mati, maka load balancer akan menghentikan request ke server tersebut dan mengalikannya ke serveryang lain.

3. Manageability : Mudah ditata meskipun secara fisik sistem sangat besar.

4. Security : Untuk semua trafik yang melewati load balancer, aturan keamanan dapat diimplementasikan dengan mudah. Dengan private network digunakan untuk server, alamat IP nya tidak akan diakses secara langsung dari luar sistem.

Saat sebuah router mempunyai dua koneksi ke internet (sama atau berbeda ISP-nya), default gateway di router tetap hanya bisa satu, ditambah pun yang bekerja tetap hanya satu. Jadi misal router NAT terhubung ke ISP A melalui interface A dan gateway A dan ke ISP B melalui interface B dan gateway B, dan default gateway ke ISP A, maka trafik downlink hanya akan datang dari ISP A saja. Begitu juga sebaliknya jika dipasang default gateway ke ISP B. Penerapan teknik load balancing dapat menyelesaikan


(40)

permasalahan tersebut dengan menggabungkan trafik downlink ISP A dan ISP B sehingga dapat diutilisasi secara bersamaan.

Prinsip dari load balancing adalah sebagai berikut: 1. Lalu lintas didistribusikan berdasarkan probabilitas.

2. Harus tau seberapa besar tiap link, dan didistribusikan sesuai lalulintas. 3. Berdasarkan kecepatan pada keluaran dan masukan pada router, load

balancing dapat diilustrasikan sebagai berikut :

512 + 256

768

512 + 256 = 256 + 256 + 256

512 + 256 = 128 + 128 + 128 + 128 +128 + 128

4. Jika ada dua gateway, missal A dan B, A memiliki bandwidth sebesar 1mbps dan B memiliki bandwidth sebesar 2 mbps. Maka lalulintas akan dibagi kedalam 3 aliran, dan mengirim 1 aliran ke A dan 2 aliran ke B.

2.5.1 Algoritma Load Balancing

Algoritma pembagian beban digunakan dalam penelitian ini adalah : 1. Algoritma Hashing

Algoritma hashing merupakan algoritma yang menggunakan informasi dari IP Address yang berasal dari permintaan client pada saat mengirimkan request ke suatu server. Informasi IP Address yang digunakan tergantung dari penerapan sistem tertentu.untuk WAN Link Load Balancing, informasi IP Address yang digunakan adalah informasi dari IP


(41)

Address tujuan paket. Semua request untuk tujuan IP Address tertentu akan dikirim ke gateway yang sama. (Chin dan Jian, 2008:277).

2. Fungsi Hashing

Hash adalah fungsi yang diberi input dan menghasilkan outputyang deterministic. Itu berarti bahwa ketika sebuah fungsi hash mengenkripsi suatu input yang berbunyi “halo” lalu akan menghasilkan output “1”. Dengan sifat dari hashing yang deterministic maka dapat ditetapkan bahwa jika fungsi hash tersebut mengenkripsi input berupa “halo” pada saat kedua kalinya atau seterusnya, maka sudah dipastikan akan menghasilkan outputyang sama yaitu “1”. (Fewi,2010).

2.5.2 Sistem Load Balancing

Sistem load balancing sebenarnya dapat dibuat dengan banyak cara. Pembuatannya tidak terikat oleh sebuah operating system saja, atau hanya dapat dibuat oleh sebuah perangkat saja. Namun secara garis besar cara pembuatan sistem load balancing terbagi menjadi tiga kategori besar, yaitu load balancing dengan menggunakan DNS round robin, Integrated load balancing, dan Dedicated load balancing. Ketiga jenis ini memiliki cara kerja yang unik dan berbeda satu sama lain, tetapi tetap menuju suatu hasil akhir yang sama, yaitu menciptakan sebuah sistem yang


(42)

lebih menjamin kelangsungan hidup jaringan dibelakangnya dan membuatnya lebih skalabel.

1. DNS round robin

Metode yang paling sederhana untuk menciptakan sistem load balancing adalah dengan menggunakan metode DNS Round robin. Metode ini sebenarnya merupakan sebuah fitur dari aplikasi bernama BIND (Berkeley Internet Name Domain). Ini merupakan aplikasi open source khusus untuk membangun server DNS yang tampaknya sudah menjadi semacam standar yang digunakan di mana-mana. Sistem DNS round robin banyak mengandalkan teknik input penamaan yang teratur rapi dan dipadukan dengan sistem perputaran round robin.

Gambar 2.4DNS Round Robin (sumber : Andesoni, 2010)


(43)

Seperti yang telah kita ketahui, DNS merupakan sebuah sistem penamaan terhadap perangkat-perangkat komputer. Penamaan ini dibuat berdasarkan alamat IP dari perangkat tersebut. Sebuah perangkat yang memiliki alamat IP dapat diberi nama dan dapat diakses menggunakan namanya saja jika Anda memiliki DNS server. Sistem penamaan tersebut banyak sekali manfaatnya, misalnya hanya untuk sekadar lebih mudah diakses atau untuk diproses lebih lanjut.

Dari sistem penamaan ini dapat dibuat sebuah sistem load balancing sederhana dan murah yang memanfaatkan sifat alami dari program BIND ini, yaitu sistem perputaran round robin. Pada sebuah record DNS yang berisikan informasi penamaan, Anda dapat memasukkan beberapa nama lain untuk diwakili oleh sebuah nama utama. Beberapa nama lain itu memiliki masing- masing record sendiri yang juga mewakili alamat-alamat IP dari perangkat jaringan. Jadi setelah proses input penamaan selesai, Anda akan mendapatkan sebuah nama utama yang mewakili beberapa nama-nama lain yang mewakili beberapa perangkat jaringan seperti server.

Di sinilah kuncinya, ketika ada yang mengakses nama utama tersebut, DNS server akan dihubungi oleh si pencari.


(44)

Setelah menerima permintaan, DNS server akan mencari record dari nama utama tersebut. Ternyata di dalam record tersebut terdapat beberapa nama lain yang berhubungan dengan nama utama. Pada kondisi inilah, DNS server akan menjalankan sistem perputaran round robin untuk menggilir informasi nama- nama lain mana saja yang diberikan ke para pemintanya.

Di sini, sistem load balancing sebenarnya sudah terjadi. Alamat IP dari server-server yang diwakili oleh nama lain tersebut akan diberikan kepada para peminta secara bergiliran sesuai dengan algoritma round robin. Ini menjadikan beban terbagi-bagi secara bergilir ke server -serverlain dengan sendirinya.

Sistem load balancing ini terbilang mudah dan sederhana untuk diimplementasikan, namun ada juga beberapa kelemahan yang cukup signifikan. Problem yang sering terjadi adalah ketika ada sebuah DNS server lain (misalkan DNS A) di Internet yang masih meng-cache hasil pencariannya yang pertama.

Jadi jika kali pertama server DNS A tersebut mendapatkan informasi IP dari domain utama perusahaan tersebut adalah IP 1.1.1.2, maka DNS A tidak mengetahui alamat IP yang lain dari domain utama tersebut. Ini membuat


(45)

para pengguna yang menggunakan serverDNS ini juga tidak dapat mengetahui sistem load balancing yang ada, sehingga load balancing tidak bekerja.

Kelemahan lainnya adalah ketika sebuah server di dalam sistem load balancing ini tidak dapat bekerja, maka sistem DNS tidak dapat mendeteksinya. Hal ini menyebabkan server yang tidak dapat bekerja tersebut malahan mendapatkan banyak request dari luar, meskipun tidak dapat bekerja.

2. Integrated Load balancing

Integrated load balancing biasanya merupakan solusi load balancing tambahan dari sebuah aplikasi atau operating system. Biasanya aplikasi atau operating system yang memiliki fitur ini adalah yang memiliki kemampuan beroperasi sebagai server. System load balancing bukan merupaka fungsi utama. Oleh sebab itu, biasanya fitur, performa dan kemampuannya cukup sederhana dan digunakan untuk system berskala kecil menengah. Fasilitasnya juga lebih banyak bersifat general saja, jarang yang spesifik. Meski demikian, fitur ini amat berguna jika digunakan pada jaringan yang tepat.


(46)

Gambar 2.5Integrated Load Balancing (sumber : Andesoni, 2010)

Salah satu integrated load balancing ini dapat anda temukan di Microsoft windows 2000 advance server yang merupakan fitur tambahan. Pada operating system yang memiliki kemampuan jaringan yang hebat ini, anda dapat mengkonfigurasi system load balancing dengan cukup mudah. Selain itu, fitur – fitur yang diberikan untuk keperluan ini juga terbilang cukup lengkap.

3. Network Load Balancing (NLB)

Network Load Balancing merupakan fasilitas yang memungkinkan mesin windows 2000 Advance Server melakukan load balancing terhadap aplikasi – aplikasi yang berjalan berdasarkan jaringan IP. Aplikasi yang berjalan diatas IP seperti HTTP/HTTPS, FTP, SMTP dan banyak lagi dapat dengan mudah di load balance dengan menggunakan


(47)

fasilitas ini. Dengan menggunakan NLB, anda dapat membuat satu group cluster server yang dilengkapi dengan system load balancing terhadap semua servis–servis TCP, UDP dan GRE (Generic Routing Encapsulation). Untuk semua proses tersebut, dikenal sebuah istilah Virtual server yang bertindak sebagai satu titik pusat pengaksesan serverserver dibawahnya. Dengan adanya fasilitas ini, servis dan layanan yang dijalankan oleh serverserver ini lebih terjamin kelancarannya. Sangat ideal digunakan untuk keperluan servis – servis front end, seperti web server agar masalah – masalah seperti bottleneck pada server dapat dikurangi.

4. Component Load Balancing (CLB)

Teknologi load balancing ini menyediakan system load balance terhadap komponen – komponen yang mendukung jalannya sebuah software atau aplikasi. Aplikasi atau software yang dapat di load balance adalah yang komponen – komponennya menggunakan COM+. Dengan melakukan load balancing terhadap komponen – komponen COM+ yang ada di beberapa server, maka jalannya sebuah aplikasi lebih terjamin dan lebih skalabel melayani para penguna aplikasi.


(48)

Ada beberapa keuntungan pada saat menggunakan system load balancing diantaranya adalah :

1. Asymmetric Load

Rasio dapat dibuat menentukan koneksi yang menjadi primary dianggap paling baik backbonenya dan terbaik dalam path routing, jadi kita dapat membuat mesin untuk mencari best path determination dan routing yang terpendek dan terbaik untuk sampai ketujuan

2. Aktivitas berdasarkan Prioritas

Disaat load jaringan lagi peek, server akan dapat membagi aktivitas berdasarkan prioritas dank e link cadangan. 3. Proteksi dari serangan DDoS

Karena kita dapat membuat features SYN Cookies dan delayed – binding (suatu metode di back end server pada saat terjadi proses TCP handshake) pada saat terjadi serangan SYN Flood.

4. Kompresi HTTP

Memungkinkan data untuk bias mentransfer objek HTTP dengan dimungkinkannya penggunaan utilitasi kompresi gzip yang berda di semua web browser yang modern.

5. TCP Buffering

Dapat membuat respon buffer dari server dan berakibat dapat memungkinak task akses lebih cepat.


(49)

6. HTTP Caching

Dapat menyimpan content yang static, dengan demikian request dapat di handel tanpa harus melakukan kontak ke web server diluar jaringan yang berakibat akses terasa semakin cepat.

7. Content Filtering

Beberapa load balancing dapat melakukan perubahan trafik pada saat dijalankan.

8. HTTP Security

Beberapa system load balancing dapat menyembunyikan HTTP error pages, menghapus identifikasi header server dari respon HTTP, dan melakukan enkripsi cookies agar user tidak dapat memanipulasinya.

9. Priority Queuing

Berguna untuk memberikanperbedaan prioritas traffic paket. 10. Spam Filtering

Spam merupakan penyalagunaan dalam pengiriman berita elektronik untuk menampilkan berita iklan dan keperluan lainnya yang mengakibatkan ketidaknyamanan bagi pengguna web. Bentuk berita spam yang umum dikenal meliputi spam surat elektronik, spam instant messaging, spam usenet newsgroup, spam mesin pencari informasi web (web search engine spam), spam blog, spam berita pada telepon


(50)

genggam, spam forum internet dan lain – lain. Spam ini biasanya dating bertubi – tubi tanpa diminta dan sering kali tidak dikehendaki oleh penerimanya. Beberapa contoh lain dari spam ini bias berupa surat elektronik berisi iklan, sms pada telepon genggam, berita yang masuk dala suatu forum newsgroup berisi promosi barang yang tidak terkaitdengan aktifitas newsgroup tersebut. Spamdexing yang mendominir suatu mesin pencari (search engine) untuk mencari popularitas bagi suatu URL tertentu, ataupun bias berupa berita yang tak berguna dan masuk dala suatu blog, buku tamu situs web dan lain – lain.

2.6 Per Connection Classifier(PCC)

Merupakan metode yang mengelompokkan trafik koneksi melalui atau keluar masuk router menjadi beberapa kelompok. Pengelompokan ini bisa dibedakan berdasarkan src-address, dst-address, src-port dan atau dst-port. Router akan menyimpan informasi tentang jalur gateway yang dilewati data ditiap trafik koneksi, sehingga pada paket-paket selanjutnya yang masih berkaitan dengan paket data sebelumnya akan dilewatkan pada jalur gateway yang sama juga. (Dewabroto, 2009)

PCC merupakan metode yang dikembangkan oleh Mikrotik dan mulai diperkenalkan pada Mikrotik RouterOS versi 3.24. PCC mengambil bidang yang dipilih dari header IP, dan dengan bantuan dari algoritma hashing


(51)

mengubah bidang yang dipilih menjadi nilai 32-bit. Nilai ini kemudian dibagi dengan denominator tertentu dan sisanya kemudian dibandingkan dengan remainder tertentu, jika sama maka paket akan ditangkap. Rules dapat dibuat dengan memilih informasi dari src-address, dst-address, src-port, atau dst-port dari bagian header IP. Header IP memiliki field yang berisi beberapa bidang, dua diantaranya adalah alamat IP sumber ( src-address) paket dan alamat IP tujuan (dst-address) dari paket tersebut. Paket TCP dan UDP juga memiliki header yang berisi port sumber dan port tujuan. (Fewi,2010).

per-connection-classifier= PerConnectionClassifier ::=

[!]ValuesToHash:Penyebut/Remainder

Remainder ::= 0..4294967295 (bilangan integer) Penyebut ::= 1..4294967295 (bilangan integer)

ValuesToHash ::= both-addresses|both-ports|dst-address-and-port|

src-address|src-port|both-addresses-and-ports|dst-address|dst- port|src-address-and-port

Dalam hal ini penyebut merupakan jumlah koneksi yang akan di-load balancing.

Meskipun PCC merupakan metode yang digunakan untuk menyebarkan beban secara merata, namun PCC itu sendiri sama sekali tidak ada hubungannya dengan Routing. PCC adalah cara untuk mencocokan paket, dan tidak langsung berkaitan dengan perintah menandai paket yang sama walaupun itu adalah tujuan dari PCC. (Fewi,2010).


(52)

2.7 Proxy Server

Proxy serveradalah 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. Proxy server tidak terlihat oleh komputer klien seorang pengguna yang berinteraksi dengan Internet melalui sebuah Proxy server tidak akan mengetahui bahwa sebuah Proxy serversedang menangani requestyang dilakukannya. Web serveryang menerima request dari Proxy server akan menginterpretasikan request -requesttersebut seolah-olah requestitu datang secara langsung dari komputer klien, bukan dari Proxy server. (Yosike, 2010)

Proxy server adalah sebuah sistem komputer atau program aplikasi yang melayani permintaan dari clientdengan meminta layanan ke serverlain. Proxy server mempunyai 3 fungsi utama yaitu :

1. Connection Sharing

Sebagai perantara antara pengguna dan serverserver di internet. Proxy Serverbekerja dengan menerima permintaan layanan dari userdan kemudian sebagai gantinya Proxy server akan mewakili permintaan pengguna ke serverserverdi internetyang dimaksudkan

2. Filtering

Bekerja pada layer aplikasi sehingga berfungsi sebagai firewall packing Filtering yang digunakan untuk melindungi jaringan lokal dari serangan atau gangguan yang berasal dari jaringan Internet dengan


(53)

cara melakukan Filtering atas paket yang lewat dari dan ke jaringan – jaringan yang dihubungkan dan dapat dikonfigurasi untuk menolak akses ke websitetertentu pada waktu tertentu

3. Caching

Proxy servermemiliki mekanisme penyimpanan obyek-obyek yang sudah pernah diminta dari server-serverdi internet, biasa disebut Caching. Caching Proxy menyimpan data yang sering diminta oleh client ke suatu tempat penyimpanan di server.

Proxy melakukan permintaan layanan ke penyedia layanan asli. Setelah penyedia layanan asli memberikan hasil, kemudian Proxy baru akan mengembalikan hasil eksekusi permintaan layanan ke pengguna. Sehingga dari sisi penyedia layanan asli, Proxysama seperti pengguna layanan. Gambar 2.6 menggambarkan cara kerja Proxy secara umum.

Gambar 2.6Cara kerja Proxy (Sumber : Penulis)

Pada Gambar 2.6 diilustrasikan mengenai cara kerja proxy server. Client terhubung ke sebuah web server melalui proxy . Client mengirimkan request dan proxy server melayani request tersebut dengan


(54)

mengirimkannya kepada web server. Setelah mendapatkan jawaban dari web server, maka proxy server akan mengirimkannya kembali kepada client. Oleh karena itu, dapat dikatakan bahwa proxy server berperan sebagaiserveruntuk client dan sebagai client untuk web server.

Dalam melayani permintaannya, Proxy dapat menambah kehandalan layanannya dengan melakukan prosesCaching. Cache adalah sebuah penyimpanan dari koleksi data yang digunakan sebelumnya, yang letaknya lebih dekat dengan peminta data daripada penyedia data aslinya. Hal ini dapat diartikan bahwa data aslinya lebih mahal untuk diambil (misalnya karena waktu akses yang lama) atau untuk dikomputasi ulang, dibandingkan dengan biaya untuk membaca dari cache. Dengan kata lain, cache adalah sebuah area penyimpanan sementara dimana data yang sering diakses bisa selalu disimpan untuk pengaksesan yang cepat. Caching adalah aktivitas untuk membuatcache. (Pramadesa : 2008)

Pada penggunaannya, proxy server juga memiliki kelemahan antara lain.

1. Single Point of Failure (Kesalahan Terpusat).

Jika service proxy berhenti atau mengalami kerusakan (crash), maka seluruh koneksi akan terputus. Untuk menangani hal ini, biasanya digunakan fitur load balancing yang dapat membagi kerja diantara beberapa proxy serverpada saat yang bersamaan.


(55)

2. Proxy Servertidak dapat melindungi Sistem Operasi.

Proxy server yang bekerja berdasarkan web server beroperasi pada Application Layer (di atas Network dan Transport Layer), sehingga tugasnya hanya menyaring paket TCP/IP yang ada di server. Hal ini rentan terhadap hacking.

2.8 Squid Proxy

Squid merupakan salah satu aplikasi cache yang berlisensi GPL(GNU Public License)dan merupakan implementasi proxy server yang dapat menyimpan objek pada cache.Squid dapat dikatakan sebagai sebuah software yang diaplikasikan untuk membuat cache dari http, https, gopher dan beberapa aplikasi/protokol lainnya.

Port number pada aplikasi browser yang bekerja pada pihak client harus dikonfigurasi sesuai dengan port number yang ada pada file konfigurasi squid. Browser meminta content (biasa disebut dengan objek) kepada cache server. Setelah dijalankan (running), squid akan mendengarkan (listen) pada port yang telah ditentukan dan melayani request pada port ini. Setelah memperoleh objek yang diminta oleh client, squid akan menyimpan objek tersebut ke dalam harddisk. Sehingga apabila terdapat permintaan terhadap objek yang sama di lain waktu, objek tersebut akan diambil dari harddisk.

Squid bekerja dengan cara memeriksa request yang datang. Jika squid diatur dengan autentikasi tertentu, squid memeriksa autentikasi user terlebih dahulu. Autentikasi ini hanya untuk user account dan password pada file


(56)

konfigurasi squid. Jika telah sesuai dengan konfigurasi, request tersebut kembali diperiksa apakah objek yang diminta telah berada di cache. Jika sudah ada maka proxy server tidak perlu melanjutkan request ke internet tetapi langsung mereply request dengan objek yang diminta.

Keuntungan penggunaan Squid :

1. Squid web-cache proxy server adalah proxy server yang bersifat open source yang didisain untuk berjalan di sistem unix dan keluarganya (seperti Linux, FreeBSD,SunOS/Solaris, dan lainnya).

2. Squid tidak hanya dapat meng-cache objek-objek web saja, namun juga dapat mengcache DNS dan network lookup lainnya dan penggunaan squid akan sangat terasa dan membantu untuk optimasi penggunaan bandwidth yang kecil.

3. Dapat melakukan pembatasan akses kepada situs-situs tertentu (misalnya situs hacking dan situs terlarang)

4. Squid merupakan cache proxy server yang mempunyai performansi tinggi dan mendukung operasional FTP, Gopher dan HTTP.

5. Dapat menghemat bandwidth

6. Dapat melakukan pembatasan waktu-waktu yang diperbolehkan untuk melakukan download.

2.9 Tools

Dalam penelitian ini untuk membangun jaringan membutuhkan Tools baik Hardwaremaupun softwarediantaranya :


(57)

2.9.1 Hardware 1. Komputer

Komputer adalah perangkat elektronik yang dapat menerima masukan (input), dan selanjutnya melakukan pengolahan (process) untuk menghasilkan keluaran (output) berupa informasi. (Supriyanto, 2005: 3).

1. Komputer Server

Komputer yang akan dijadikan server harus memiliki spesifikasi tertentu yang lebih tinggi dari pada client yang didesain khusus untuk kebutuhan server.

2. Komputer Client

Merupakan komputer PC biasa, ditambah dengan NIC. Spesifikasi PC clientbiasanya lebih rendah dibanding dengan server.

Gambar 2.7Personal Komputer (Sumber: indonetwork.co.id) 2.9.2 Software

Untuk membangun sebuah jaringan selain membutuhkan perangkat keras (Hardware) dibutuhkan juga perangkat lunak (software) yang berfungsi sebagai tampilan GUI (graphical user interface) untuk


(58)

melakukan aktivitas jaringan seperti manajemen jaringan, pengamanan jaringan, pengoperasian Hardware, dan sebagainya.

1. Sistem Operasi

Sistem operasi merupakan software yang berfungsi melakukan operasi yang mengurusi tentang segala aktivitas komputer seperti mendukung operasi sistem aplikasi dan mengendalikan semua perangkat komputer agar dapat berjalan selaras dengan fungsinya (Supriyanto, 2005: 87).

a. Windows

Windows adalah sistem operasi dengan modus tampilan grafik atau Graghical User Interface (GUI) yang dikeluarkan oleh perusahaan Microsoft, sehingga visualisasinya akan lebih menarik penggunanya dan lebih mudah menggunakannya (Supriyanto, 2005: 106).

b. Linux

Linux merupakan sistem operasi bebas dan terbuka (open source) berlisensi General Public Lisence (GPL) yang mana pendistribusian dan pengembangannya bisa dilakukan secara bebas dengan mengikuti kode program asal sebagai turunannya (Supriyanto, 2005: 97).

c. MikroTik RoutersOS™

MikroTik RoutersOS merupakan sistem operasi jaringan (operating sistem network) yang banyak digunakan oleh Internet


(59)

Service Provider untuk keperluan firewall atau router network yang handal yang dilengkapi dengan berbagai fitur dan tool, baik untuk jaringan kabel maupun wireless (Saputro & Kustanto, 2008: 56).

Adapun fitur fitur yang disediakan oleh MikroTik RouterOS™ adalah sebagai berikut :

1. Address list : Pengelompokan IP Address berdasarkan nama 2. Asynchronous : Mendukung serial PPP dial-in / dial-out,

dengan otentikasi CHAP,PAP, MSCHAPv1 dan MSCHAPv2, Radius, dial on demand, modem pool hingga 128 ports. 3.Bonding / Load balancing : Mendukung dalam

pengkombinasian beberapa antarmuka ethernet ke dalam 1 pipa pada koneksi cepat.

4.Bridge : Mendukung fungsi bridge spinning tree, multiple bridge interface, bridging firewalling.

5.Data Rate Management : QoS berbasis HTB dengan penggunaan burst, PCQ, RED, SFQ, FIFO queue, CIR, MIR, limit antar peer to peer.

6. DHCP : Mendukung DHCP tiap antarmuka; DHCP Relay; DHCP Client, multiple network DHCP; static and dynamic DHCP leases.

7.Firewall and NAT : Mendukung pemfilteran koneksi peer to peer, source NAT dan destination NAT. Mampu memfilter


(60)

berdasarkan MAC, IP address, range port, protokol IP, pemilihan opsi protokol seperti ICMP, TCP Flags dan MSS. 8.Hotspot : Hotspot gateway dengan otentikasi RADIUS.

Mendukung limit data rate, SSL ,HTTPS.

9. IPsec : Protokol AH dan ESP untuk IPSec; MODP Diffie-Hellmann groups 1, 2, 5; MD5 dan algoritma SHA1 hashing; algoritma enkirpsi menggunakan DES, 3DES, AES-128, AES-192, AES-256; Perfect Forwarding Secresy (PFS) MODP groups 1, 2,5.

10. ISDN : mendukung ISDN dial-in/dial-out. Dengan otentikasi PAP, CHAP, MSCHAPv1 dan MSCHAPv2, Radius. Mendukung 128K bundle, Cisco HDLC, x751, x75ui, x75bui line protokol.

11. M3P : MikroTik Protocol Package Packer untuk wireless links dan Ethernet protocol (CDP).

12.Monitoring/Accounting : Laporan IP Traffic, log, statistik graph yang dapat diakses melalui HTTP.

13. NTP : Network Time Protokol untuk server dan clients; sinkronisasi menggunakan sistem GPS.

14.Point to Point Tunneling Protocol : PPTP, PPPoE dan L2TP Access Concentrator; protokol otentikasi menggunakan PAP, CHAP, MSCHAPv1, MSCHAPv2; otentikasi dan


(61)

laporan radius; enkripsi MPPE; kompresi untuk PPoE; limit data rate.

15. Proxy : Cache untuk FTP dan HTTP proxy server, HTTPS proxy; transparent proxy untuk DNS dan HTTP; mendukung protokol SOCKS; mendukung parent proxy; static DNS. 16.Routing : Routing statik dan dinamik; RIP v1/v2, OSPF v2,

BGP v4.

17. SDSL : Mendukung Single Line DSL; mode pemutusan jalur koneksi dan jaringan.

18.Simple Tunnels : Tunnel IPIP dan EoIP (Ethernet over IP). 19. SNMP : Simple Network Monitoring Protocol mode access

read-only.

20.Synchronous : V.35, V.24, E1/T1, X21, DS3 (T3) media ttypes; sync-PPP, Cisco HDLC; Frame Relay line protokol; ANSI-617d (ANDI atau annex D) dan Q933a (CCITT atau annex A); Frame Relay jenis LMI.

21.Tool : Ping, Traceroute; bandwidth test; ping flood; telnet; SSH; packet sniffer; dynamic DNS update.

22. UPnP : Mendukung antarmuka Universal Plug and Play. 23. VLAN : Mendukung Virtual LAN IEEE 802.1g untuk

jaringan ethernet dan wireless; multiple VLAN; VLAN bridging.


(62)

25. VRRP : Mendukung Virtual Router Redudant Protocol 26. WinBox : Aplikasi mode GUI untuk meremote dan

mengkonfigurasi MikroTik RouterOS.

Namun dalam peng-load balancing-an nanti hanya beberapa fitur yang akan digunakan.

2. Winbox

WinBox merupakan aplikasi yang mengubah “hitam putihnya” MikroTik menjadi mode GUI yang user friendlydibanding dengan router lainnya yang masih menggunakan console mode untuk me-remote dan mengkonfigurasi MikroTik RoutersOSTM (Moch. Linto Herlambang & Azis Catur L, 2008: 35).

Gambar 2.8 Tampilan Winbox (sumber : Penulis) 3. Squid

Squid merupakan mesin Caching Proxy untuk klien Web, seperti HTTP, HTTPS, FTP, dan layanan lainnya sejenis lainnya. Squid mampu menurunkan konsumsi bandwidth sekaligus mempercepat waktu respon. Squidmemiliki setumpuk kendali akses


(63)

yang dapat mendongkrak kecepatan server. Squidmenangani semua request melalui sebuah proses I/O tunggal. Squid bekerja menyimpan meta data, terutama pada objek yang sering diakses. Mereka dijaga (di-cache) dalam memori RAM. Squid juga mampu melayani lookup pada DNS (Rafiudin, 2008: 1)

2.9.3 Simulator Sistem

Perangkat lunak simulator digunakan untuk mensimulasikan keadaan yang diinginkan dari konsep yang ada sebelumnya dilakukan pada keadaan sebenarnya. Penggunaan simulator bertujuan untuk meminimalisir kesalahan dan menghindari resiko yang idak diingkan. Perangkat simulator yang digunakan adalah

1. VMware Workstation 7.0

VMware merupakan software untuk virtual machine (mesin virtual). Fungsinya adalah untuk menjalankan banyak sistem operasi dalam satu perangkat keras dan untuk menjalankan aplikasi yang ditujukan untuk sistem operasi lainnya. Fungsi lainnya adalah untuk mempelajari suatu sistem operasi baik ketika pada proses pembelajaran atau ketika proses pengembangan sistem operasi.

VMWare merupakan software yang banyak digunakan untuk mengoptimalkan dan mengelola kinerja Teknologi Informasi melalui virtualisasi dari desktop ke data center. VMWare


(64)

pertama kali memperkenalkan teknologi virtualisasi pada komputer dengan platform x86 pada tahun 1999, dan sejak saat itu telah tersimpan lebih dari 100 ribu pelanggan dengan milyaran dolar untuk biaya operasi. Infrastruktur VMware secara abstrak berjalan pada sistem operasi dan Hardware. Menyediakan standarisasi virtual pada Hardware untuk sistem operasi dan aplikasinya yang memungkinkan untuk menjalankan virtual machine secara simultan dan berdiri sendiri pada satu atau lebih shared processor. Dengan virtualisasi, pengguna bisa dengan mudah menggabungkan server dengan beban kerja yang berbeda dalam satu Hardwaredengan kinerja yang bisa diandalkan.

2. Microsoft Visio Professional 2007

Microsoft Visio adalah sebuah program aplikasi komputer yang sering digunakan untuk membuat diagram, diagram alir (flowchart), brainstorm, dan skema jaringan yang dirilis oleh Microsoft Corporation. Aplikasi ini menggunakan grafik vektor untuk membuat diagram-diagramnya.

Visio 2007 Standard dan Professional menawarkan antarmuka pengguna yang sama. Tapi seri professional menawarkan lebih banyak pilihan template untuk pembuatan diagram yang lebih lanjut dan juga penataan letak (layout).


(65)

Selain itu, Professional juga memudahkan pengguna untuk mengkoneksikan diagram-diagram buatan mereka terhadap beberapa sumber data dan juga menampilkan informasi secara visual dengan menggunakan grafik.

2.10 Metode Pengembangan Sistem

Penulis menggunakan model pengembangan sistem NDLC (Network Development Life Cycle). Kata "Cycle atau siklus" adalah istilah deskriptif kunci pengembangan jaringan siklus hidup seperti menggambarkan sifat terus-menerus pembangunan jaringan. Jaringan dirancang "dari awal" jelas harus dimulai di suatu tempat. siklus ini terdiri dari beberapa fase yaitu fase analisis (analysis), fase perancangan (design), fase simulasi prototipe (simulation prototyping), fase penerapan (implementation), fase pengawasan (monitoring), dan fase pengaturan (management). (Deris, 2009)

Gambar 2.9NetworkDevelopment Cycle (Sumber : Deris, 2009)

Analysis

Design Management

Monitoring Simulation

Prototyping


(1)

interactive\.com|syndication\.com|media.fastclick.net).* 43200 20% 43200 ignore-no-cache ignore-no-store ignore-private override-expire ignore-reload ignore-auth

ignore-must-revalidate store-stale negative-ttl=40320 max-stale=10

refresh_pattern ^.*safebrowsing.*google 43200 999999% 43200 override-expire ignore-reload ignore-no-cache ignore-private ignore-auth ignore-must-revalidate negative-ttl=10080 store-stale

refresh_pattern ^http://((cbk|mt|khm|mlt)[0-9]?)\.google\.co(m|\.uk) 43200 999999% 43200 override-expire ignore-reload ignore-private store-stale negative-ttl=10080

refresh_pattern ytimg\.com.*\.jpg 43200 999999% 43200 override-expire ignore-reload store-stale

refresh_pattern images\.friendster\.com.*\.(png|gif) 43200 999999% 43200 override-expire ignore-reload store-stale

refresh_pattern garena\.com 43200 999999% 43200 override-expire reload-into-ims store-stale

refresh_pattern photobucket.*\.(jp(e?g|e|2)|tiff?|bmp|gif|png) 43200 999999% 43200 override-expire ignore-reload store-stale

refresh_pattern vid\.akm\.dailymotion\.com.*\.on2\? 43200 999999% 43200 ignore-no-cache override-expire override-lastmod store-stale

refresh_pattern mediafire.com\/images.*\.(jp(e?g|e|2)|tiff?|bmp|gif|png) 43200 999999% 43200 reload-into-ims override-expire ignore-private store-stale

refresh_pattern ^http:\/\/images|pics|thumbs[0-9]\. 43200 999999% 43200 reload-into-ims ignore-no-cache ignore-no-store ignore-reload override-expire store-stale refresh_pattern ^http:\/\/www.onemanga.com.*\/ 43200 999999% 43200 reload-into-ims ignore-no-cache ignore-no-store ignore-reload override-expire store-stale refresh_pattern ^http://v\.okezone\.com/get_video\/([a-zA-Z0-9]) 43200 999999% 43200 override-expire ignore-reload ignore-no-cache ignore-no-store ignore-private ignore-auth override-lastmod ignore-must-revalidate negative-ttl=10080 store-stale

# ANTI VIRUS

refresh_pattern guru.avg.com/.*\.(bin) 1440 999999% 10080 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale

refresh_pattern (avgate|avira).*(idx|gz)$ 1440 999999% 10080 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale

refresh_pattern kaspersky.*\.avc$ 1440 999999% 10080 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale

refresh_pattern kaspersky 1440 999999% 10080 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale

refresh_pattern update.nai.com/.*\.(gem|zip|mcs) 1440 999999% 10080 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale

refresh_pattern ^http:\/\/liveupdate.symantecliveupdate.com.*\(zip) 1440 999999% 10080 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale

refresh_pattern windowsupdate.com/.*\.(cab|exe) 10080 999999% 43200 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale

refresh_pattern update.microsoft.com/.*\.(cab|exe) 10080 999999% 43200 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale

refresh_pattern download.microsoft.com/.*\.(cab|exe) 10080 999999% 43200 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale

#images facebook

refresh_pattern -i \.facebook.com.*\.(jpg|png|gif) 129600 999999% 129600 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale


(2)

refresh_pattern -i \.fbcdn.net.*\.(jpg|gif|png|swf|mp3) 129600 999999% 129600 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale

refresh_pattern static\.ak\.fbcdn\.net*\.(jpg|gif|png) 129600 999999% 129600 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale

refresh_pattern ^http:\/\/profile\.ak\.fbcdn.net*\.(jpg|gif|png) 129600 999999% 129600 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale # games facebook

refresh_pattern ^http:\/\/apps.facebook.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale

refresh_pattern -i \.zynga.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale

refresh_pattern -i \.farmville.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale

refresh_pattern -i \.ninjasaga.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale

refresh_pattern -i \.mafiawars.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale

refresh_pattern -i \.crowdstar.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale

refresh_pattern -i \.popcap.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale

#banner IIX

refresh_pattern ^http:\/\/openx.*\.(jp(e?g|e|2)|gif|pn[pg]|swf|ico|css|tiff?) 129600 99999% 129600 reload-into-ims ignore-reload override-expire cache ignore-no-store ignore-no-store-stale

refresh_pattern ^http:\/\/ads(1|2|3).kompas.com.*\/ 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale

refresh_pattern ^http:\/\/img.ads.kompas.com.*\/ 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale

refresh_pattern .kompasimages.com.*\.(jpg|gif|png|swf) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale refresh_pattern ^http:\/\/openx.kompas.com.*\/ 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale

refresh_pattern kaskus.\us.*\.(jp(e?g|e|2)|gif|png|swf) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale

refresh_pattern ^http:\/\/img.kaskus.us.*\.(jpg|gif|png|swf) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale #IIX DOWNLOAD

refresh_pattern

^http:\/\/\.www[0-9][0-9]\.indowebster\.com\/(.*)(mp3|rar|zip|flv|wmv|3gp|mp(4|3)|exe|msi|zip) 43200 99999% 129600 reload-into-ims ignore-reload override-expire cache ignore-no-store ignore-no-store-stale ignore-auth

#All File

refresh_pattern -i \.(3gp|7z|ace|asx|bin|deb|divx|dvr-ms|ram|rpm|exe|inc|cab|qt) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims store-stale

refresh_pattern -i \.(rar|jar|gz|tgz|bz2|iso|m1v|m2(v|p)|mo(d|v)|arj|lha|lzh|zip|tar) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims store-stale


(3)

refresh_pattern -i \.(jp(e?g|e|2)|gif|pn[pg]|bm?|tiff?|ico|swf|dat|ad|txt|dll) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims store-stale

refresh_pattern -i

\.(avi|ac4|mp(e?g|a|e|1|2|3|4)|mk(a|v)|ms(i|u|p)|og(x|v|a|g)|rm|r(a|p)m|snd|vob) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims store-stale

refresh_pattern -i

\.(pp(t?x)|s|t)|pdf|rtf|wax|wm(a|v)|wmx|wpl|cb(r|z|t)|xl(s?x)|do(c?x)|flv|x-flv) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims store-stale

refresh_pattern -i (/cgi-bin/|\?) 0 0% 0

refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern ^ftp: 10080 95% 43200 override-lastmod reload-into-ims store-stale refresh_pattern . 00 95% 43200 override-lastmod reload-into-ims store-stale #=====================================================

# SNMP

#===================================================== snmp_port 3401

acl snmppublic snmp_community public snmp_access allow snmppublic localhost snmp_access deny all

#============================================== # TAG: Extra Tuning Configuration

#============================================== header_access Accept-Encoding deny all

client_persistent_connections off server_persistent_connections on half_closed_clients off

strip_query_terms off quick_abort_min 0 KB quick_abort_max 0 KB quick_abort_pct 100 vary_ignore_expire on reload_into_ims on pipeline_prefetch on range_offset_limit 512 KB read_timeout 30 minutes client_lifetime 6 hours negative_ttl 30 seconds positive_dns_ttl 6 hours negative_dns_ttl 60 seconds pconn_timeout 15 seconds request_timeout 1 minute store_avg_object_size 13 KB log_icp_queries off

ipcache_size 16384 ipcache_low 98 ipcache_high 99


(4)

log_fqdn off

fqdncache_size 16384 memory_pools off forwarded_for on logfile_rotate 3

store_dir_select_algorithm round-robin cache_effective_user proxy

cache_effective_group proxy max_filedescriptors 8192 ##end of config

Storeurl.pl #!/usr/bin/perl # $Rev$

# by chudy_fernandez@yahoo.com # Updates at

http://wiki.squid-cache.org/ConfigExamples/DynamicCo ntent/YouTube/Discussion

$|=1; while (<>) { @X = split;

# $X[1] =~ s/&sig=.*//; $x = $X[0] . " "; $_ = $X[1]; $u = $X[1];

# compatibility for old cached get_video?video_id if

(m/^http:\/\/([0-9.]{4}|.*\.youtube\.com|.*\.googlevid eo\.com|.*\.video\.google\.com).*?(vi deoplayback\?id=.*?|video_id=.*?)\&( .*?)/) {

$z = $2; $z =~

s/video_id=/get_video?video_id=/; print $x .

"http://video-srv.youtube.com.SQUIDINTERNAL/" . $z . "\n";

# youtube HD itag=22

} elsif

(m/^http:\/\/([0-9.]{4}|.*\.youtube\.com|.*\.googlevid eo\.com|.*\.video\.google\.com).*?\& (itag=22).*?\&(id=[a-zA-Z0-9]*)/) {

print $x .

"http://video-srv.youtube.com.SQUIDINTERNAL/" . $2 . "&" . $3 . "\n";

# youtube Normal screen always HD itag 35, Normal screen never HD itag 34, itag=18 <--normal?

} elsif

(m/^http:\/\/([0-9.]{4}|.*\.youtube\.com|.*\.googlevid eo\.com|.*\.video\.google\.com).*?\& (itag=[0-9]*).*?\&(id=[a-zA-Z0-9]*)/) {

print $x .

"http://video-srv.youtube.com.SQUIDINTERNAL/" . $3 . "\n";

} elsif (m/^http:\/\/www\.google-analytics\.com\/__utm\.gif\?.*/) {

print $x . "http://www.google-analytics.com/__utm.gif\n";

#Cache High Latency Ads

} elsif

(m/^http:\/\/([a-z0-9.]*)(\.doubleclick\.net|\.quantserve \.com|\.googlesyndication\.com|yield manager|cpxinteractive)(.*)/) {

$y = $3;$z = $2; for ($y) { s/pixel;.*/pixel/; s/activity;.*/activity/; s/(imgad[^&]*).*/\1/; s/;ord=[?0-9]*//;

s/;&timestamp=[0-9]*//; s/[&?]correlator=[0-9]*//; s/&cookie=[^&]*//; s/&ga_hid=[^&]*//; s/&ga_vid=[^&]*//; s/&ga_sid=[^&]*//;

# s/&prev_slotnames=[^&]*// # s/&u_his=[^&]*//;

s/&dt=[^&]*//; s/&dtd=[^&]*//;


(5)

s/&lmt=[^&]*//; s/(&alternate_ad_url=http%3A %2F%2F[^(%2F)]*)[^&]*/\1/; s/(&url=http%3A%2F%2F[^(% 2F)]*)[^&]*/\1/; s/(&ref=http%3A%2F%2F[^(% 2F)]*)[^&]*/\1/; s/(&cookie=http%3A%2F%2F[ ^(%2F)]*)[^&]*/\1/; s/[;&?]ord=[?0-9]*//; s/[;&]mpvid=[^&;]*//; s/&xpc=[^&]*//; # yieldmanager s/\?clickTag=[^&]*//; s/&u=[^&]*//; s/&slotname=[^&]*//; s/&page_slots=[^&]*//; }

print $x . "http://" . $1 . $2 . $y . "\n";

#cache high latency ads

} elsif (m/^http:\/\/(.*?)\/(ads)\?(.*?)/) {

print $x . "http://" . $1 . "/" . $2 . "\n";

# spicific servers starts here....

} elsif

(m/^http:\/\/(www\.ziddu\.com.*\.[^ \/]{3,4})\/(.*?)/) {

print $x . "http://" . $1 . "\n"; #cdn, varialble 1st path

} elsif (($u =~ /filehippo/) &&

(m/^http:\/\/(.*?)\.(.*?)\/(.*?)\/(.*)\.([a -z0-9]{3,4})(\?.*)?/)) {

@y = ($1,$2,$4,$5);

$y[0] =~ s/[a-z0-9]{2,5}/cdn./; print $x . "http://" . $y[0] . $y[1] . "/" . $y[2] . "." . $y[3] . "\n";

#rapidshare } elsif (($u =~ /rapidshare/) && (m/^http:\/\/(([A-Za-z]+[0-9-.]+)*?)([a-

z]*\.[^\/]{3}\/[a-z]*\/[0-9]*)\/(.*?)\/([^\/\?\&]{4,})$/)) { print $x . "http://cdn." . $3 . "/SQUIDINTERNAL/" . $5 . "\n";

#photos-X.ak.fbcdn.net where X a-z } elsif (m/^http:\/\/photos-[a-z].ak.fbcdn.net\/(.*)/) {

print $x .

"http://photos.ak.fbcdn.net/" . $1 . "\n";

#general purpose for cdn servers. add above your specific servers.

} elsif (m/^http:\/\/([0-9.]*?)\/\/(.*?)\.(.*)\?(.*?)/) {

print $x . "http://squid-cdn-url//" . $2 . "." . $3 . "\n";

#for yimg.com doubled

} elsif

(m/^http:\/\/(.*?)\.yimg\.com\/(.*?)\. yimg\.com\/(.*?)\?(.*)/) {

print $x .

"http://cdn.yimg.com/" . $3 . "\n"; #for yimg.com with &sig=

} elsif

(m/^http:\/\/(.*?)\.yimg\.com\/(.*)/) { @y = ($1,$2);

$y[0] =~ s/[a-z]+[0-9]+/cdn/; $y[1] =~ s/&sig=.*//;

print $x . "http://" . $y[0] . ".yimg.com/" . $y[1] . "\n";

#generic http://variable.domain.com/path/filena me."ext" or "exte" with or withour "?" } elsif

(m/^http:\/\/(.*)([^\.\-]*?\..*?)\/(.*)\.([^\/\?\&]{3,4})(\?.*)?$ /) {

@y = ($1,$2,$3,$4);

$y[0] =~ s/(([a-zA-A-]+[0-9-]+)|(.*cdn.*)|(.*cache.*))/cdn/;

print $x . "http://" . $y[0] . $y[1] . "/" . $y[2] . "." . $y[3] . "\n";

# generic http://variable.domain.com/... } elsif (m/^http:\/\/(([A-Za-z]+[0-9-]+)*?|.*cdn.*|.*cache.*)\.(.*?)\.(.*?)\/( .*)$/) {

print $x . "http://cdn." . $3 . "." . $4 . "/" . $5 . "\n";


(6)

# spicific extention that ends with ? } elsif

(m/^http:\/\/(.*?)\/(.*?)\.(jp(e?g|e|2)| gif|png|tiff?|bmp|ico|flv|on2)\?(.*)/) {

print $x . "http://" . $1 . "/" . $2 . "." . $3 . "\n";

# all that ends with ;

} elsif (m/^http:\/\/(.*?)\/(.*?)\;(.*)/) { print $x . "http://" . $1 . "/" . $2 . "\n";

} else {

print $x . $_ . "\n"; }