Berbagi Ilmu tak ada salahnya. Ilmu terus berkembang tiap waktu. InsyaALLAH kan temukan hasil sesuai yang diharapkan. Dimohon dengan sangat, kiranya melakukan copy, mohon cantumkan link sebagai sumber

Jumat, 20 Juli 2012

Manajemen Jaringan : BANDWIDTH MANAGEMENT USING SQUID


Manajemen Jaringan
BANDWIDTH MANAGEMENT USING SQUID

 
Disusun Oleh :
Anis Fagustina M0509010



Jurusan Informatika
Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Sebelas Maret
Surakarta
2012

Pengenalan tentang Squid
Squid adalah proxy caching untuk Web mendukung HTTP, HTTPS, FTP, dan banyak lagi. Ini mengurangi bandwidth dan meningkatkan waktu respon dengan caching dan menggunakan kembali halaman web yang sering diminta. Squid memiliki kontrol akses yang luas dan membuat akselerator server besar. Ini berjalan pada kebanyakan sistem operasi yang tersedia, termasuk Windows dan berlisensi di bawah GNU GPL.
Squid digunakan oleh ratusan Internet Provider di seluruh dunia untuk memberikan pengguna mereka dengan akses web terbaik. Squid mengoptimalkan aliran data antara klien dan server untuk meningkatkan kinerja dan cache konten yang sering digunakan untuk menghemat bandwidth. Squid juga dapat permintaan konten rute ke server dalam berbagai cara untuk membangun hirarki cache server yang mengoptimalkan throughput jaringan.
Konten Situs Web Percepatan dan Distribusi
Ribuan situs web di Internet menggunakan Squid untuk secara drastis meningkatkan pengiriman konten mereka. Squid dapat mengurangi beban server dan meningkatkan kecepatan pengiriman ke klien. Squid juga dapat digunakan untuk menyampaikan konten dari seluruh dunia - hanya menyalin konten yang digunakan, bukan tidak efisien menyalin semuanya. Akhirnya, maju konten Squid di konfigurasi routing memungkinkan untuk membangun cluster konten permintaan keseimbangan rute dan beban melalui berbagai server web.
"[The Squid sistem] yang saat ini berjalan pada tingkat tabrak sekitar 75%, efektif empat kali lipat kapasitas server Apache di belakang mereka ini sangat terlihat ketika gelombang besar lalu lintas tiba diarahkan ke halaman tertentu melalui link web. dari situs lain, sebagai efisiensi caching untuk halaman tersebut akan hampir 100% "-. Wikimedia Informasi Deployment.

Proyek Squid menyediakan sejumlah sumber daya untuk membantu desain pengguna, menerapkan dan mendukung instalasi squid. Silahkan menelusuri bagian Dokumentasi dan Dukungan untuk informasi lebih lanjut.
Pengenalan tentang Delay pool
Network based bandwidth management adalah mengatur penggunaan bandwidth berbasiskan IP Address, dengan menggunakan queueing baik dengan teknik HTB maupun CBQ. Sedangkan Application based bandwidth management yang menggunakan layer application (CMIIW) utk melakukan bandwidth management, bisa dengan menggunakan squid dengan mengatur opsi delay_pools.
Fitur delay pool yang  disediakan oleh squid (proxy server) dapat dijadikan sebagai cara termudah   dalam mengelola bandwidth internet pada kantor atau warnet. Meskipun hanya sebatas mengatur bandwidth download file via http atau ftp, ternyata delay pool dapat memberikan layanan jaringan yang  lebih berkualitas bagi jaringan dikantor atau warnet. Penggunan internet di warnet umumnya pengunjung mengakses berbagai aplikasi dan layanan di internet melalui layanan http, mereka mendownload file melalui layanan http , sehingga bagi sebuah warnet pengaturan traffic download file lewat http ini sangat penting agar seluruh penggunan  memperoleh kualitas jaringan yang baik dan terjamin.
Tidak boleh ada seorang atau beberapa pengguna internet di dalam jaringan yang memakan bandwidth dengan ‘rakus’ dikarenakan mendownload  suatu file atau menonton video di youtube dan lain-­lain. Tentunya hal tersebut dapat diatur, salah  satunya menerapkan web caching dengan proxy server seperti squid (http://www.squid­cache.org), dan jaminan kualitas download file yang adil dapat didukung dengan memanfaatkan fitur delay pool yang ada di squid.
Pembatasan bandwidth dengan cara konfigurasi squid serta access-list di dalamnya, ternyata tidak sesulit yang dibayangkan. Langkah termudah yang harus dilakukan adalah identifikasi jaringan terlebih dahulu. Apakah jaringan tersebut sudah memiliki server, berapa PC yang dikelola server atau yang akan dikelola, berapa bandwidth yang diterima dari ISP (contoh: speedy), berapa bandwidth yang akan dibatasi beserta keterangannya, dan peralatan apa saja yang ada di dalam jaringan? (wireless, access-point, router, switch).
Langkah-langkah konfigurasi
Berikut adalah penjelasan langkah-langkah bagaimana cara mengkonfigurasikan proxy server untuk membatasi bandwidth download atau incoming traffic di squid.
1.      Pertama-tama memeriksa apakah squid telah berjalan di server dan telah dikonfiguraisi sebagai mesin proxy server.
a)      Mengaktifkan squid, dengan perintah: squid –D
b)      Cek squid dengan mengetik: squid
c)      Sebelum semua dilakukan, jangan lupa menjadi root terlebih dahulu
d)      Buka squid.conf di /etc/squid/squid.conf
e)      Baru kemudian melanjutkan pengaturan tambahan yang kita inginkan

2.      Sebelum memulai memanajemen bandwidth di squid, kita jelaskan dulu komponen-komponen manajement bandwidth di squid :

Ø  acl
access-list... tempat mendeklarasikan daftar akses yang akan diatur.

Ø  delay_pools
Opsi ini untuk menspesifikasi berapa jumlah pool yang digunakan untuk membatasi jumlah bandwidth dari ACL. Opsi ini akan dirangkaikan bersama opsi delay_class dan delay_parameters yang akan dibahas di bawah ini.

Ø  delay_class
Opsi ini menspesifikasikan p
enentuan kelas/tipe pembagian bandwith dari setiap pool. 1 pool hanya boleh memiliki 1 clas, tidak lebih atau kurang. Bagian merupakan nomer urut dari jumlah pool didelay pool, jadi ada 1 s/d n bagian dimana n merupakan angka jumlah pada delay_pools.
Tipe merupakan tipe class delay yang dipakai.
Secara umum tipe menyatakan bagaimana cara membagi bandwidth, ada 3 tipe: tipe/class keterangan
1)      Semua bandwidth yang ada akan dibagi sama rata untuk semua user squid. Contoh : ada bandwidth 128 dan semua bandwith dipakai untuk browsing
2)      Membatasi pemakaian bandwith dari total bandwidth yang ada, dan bandwith yang diperuntukan squid akan dibagi semua user dengan sama rata. Contoh : ada bandwidth 128 dimana 28 kbit dipakai untuk email dan sisanya (128-28) 100 kbit dipakai untuk browsing.
3)      Membatasi pemakaian bandwidth dari total bandwidth yang ada, setiap network class C akan mendapat bandwidth sama besar, setiap user pernetwork akan mendapat bandwidth yang sama besar dari total bandwidth per network. Contoh : bandwidth tersedia 512 kb, untuk browsing disediakan bandwidth 384 kb, sisanya untuk aktifitas lain.
Ada tiga class yang didukung Squid, antara lain:
ü  class 1: Semua akses dibatasi dengan single bucket, artinya hanya bisa mendefinisikan overall bandwidth untuk suatu ACL saja, tidak bisa mendefinisikan bandwidth dengan lebih mendetail

ü  class 2: Semua akses dibatasi dengan single agregate dengan dua parameter bandwidth. Parameter pertama mendefinisikan berapa bandwidth maksimal yang didapatkan ACL, parameter kedua mendefinisikan berapa bandwidth overall untuk ACL yang spesifik yang ada pada network tersebut.

ü  class 3: Kelompok yang definisi bandwidth-nya paling mendetail. Parameter pertama mendefinisikan berapa bandwidth maksimal yang didapatkan ACL, parameter kedua mendefinisikan berapa bandwidth normal yang didapatkan ACL secara umum, dan parameter yang ketiga adalah mendefinisikan bandwidth yang didapatkan ACL jika mengakses ACL-ACL tertentu yang spesifik, misalnya file mp3.

Ø  delay_parameters
Opsi ini menspesifikasikan rumus bandwidth yang akan didapatkan oleh ACL yang akan memasuki delay_pool.
Ini adalah bagian terpenting dari delay pools memberikan aturan main setiap delay pools yang dibentuk. Delay parameter mempunyai format yang disesuaikan dengan tipe/class yang dipakai. Tapi disetiap tipe yang dipakai ada 1 format baku yaitu restore/max.
restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second. max menunjukkan besar-nya file atau bucket yang dapat dilewatkan tanpa melalui proses delay. dalam satuan bytes. Yang perlu diperhatikan dari satuan diatas adalah harga restore dimana kita sering menerima/ menyewa/ membeli bandwidth dari provider dalam satuan bits/ second bukan bytes/second. Sedangkan satuan kecepatan yang ditunjukkan oleh Microsoft pada saat mendonlot file adalah bytes/sec. Sedangkan satuan dari harga max sudah sesuai dengan kebiasaan sehari-hari, dimana kita memberi besaran bytes pada file-file.
1 byte = 8 bit. SpesialCase: -1/-1 berarti unlimited atau tidak dibatasi pada nilai restore/max

Misalnya ada entry berikut ini pada delay_parameters:
delay_parameters 1 -1/-1 2100/4000
Angka 1 berarti rumus ini berlaku untuk pool 1. Angka -1/-1 berarti bandwidth maksimal yang diberikan Squid adalah tidak terbatas untuk pool ini.
Angka 2100/4000 berarti bandwidth yang didapatkan oleh ACL setelah masuk ke pool ini. Angka ini berada dalam kelipatan 8 b, sehingga untuk mendapatkan nilai bandwidth yang sebenarnya harus dikalikan delapan. Angka 2100 adalah bandwidth yang didapatkan ACL pada masa-masa normal. Jika dikalikan 8, maka bandwidth normal yang akan didapatkan ACL sekitar 18 Kbps. Angka 4000 adalah bandwidth maksimal yang didapatkan ACL pada masa-masa jalur sedang kosong. Jika dikalikan 8, maka bandwidth yang didapatkan sekitar 32 Kbps.

Ø  delay_access
Opsi ini mendefinisikan siapa-siapa ACL yang akan dimasukkan ke pool tertentu untuk mendapatkan “perlambatan” bandwidth. Bentuk umumnya adalah seperti ini:
delay_access 1 allow labprog
Opsi di atas berarti kita memasukkan ACL labprog ke dalam pool 1.

3.      Jika sudah mengerti komponen-komponen delay pool, kita mulai konfigurasi delay pool .
Di umpamakan kita mempunyai bandwidth dari ISP sebesar 512kb, dan kita membuat rule seperti berikut ini:

Batas kecepatan koneksi overall adalah 256 Kbps. per-network adalah 64 kbps. Sedangkan per-user/host dibatasi 2 Kbps jika digunakan untuk download file bertipe exe, mp3, vqf, tar.gz, gz, rpm, zip, rar, avi, mpeg, mpe, mpg, qt, ram, rm, iso, raw, dan wav. Jika tidak, maka koneksi perhost HANYA mengikuti aturan per-Network saja.

Penyelesaian:

Edit file /etc/squid/squid.conf
#vi /etc/squid/squid.conf

Lalu tambahkan contoh konfigurasi ini:
# Sebelum kita melakukan pembatasan, kita perlu mendefinisikan ACL network # # yang kita perlukan terlebih dahulu. ACL yang didefinisikan pada host bridge
# seperti di bawah ini:
acl lokal src 192.168.1.0/24
#artinya access-list yang bernama "lokal" dengan ip "192.168.1.0" didaftarkan.

#ada juga yang melakukan tambahan konfigurasi sebagai berikut :
#http_access : akses terhadap http port 80 (biasanya). mengizinkan acl yang akan
#dideklarasikan untuk membuka port 80
#contoh: http_access allow lokal
#artinya acl "lokal" diizinkan membukan port 80 atau browsing internet.
#tidak semua access-list bisa diizinkan untuk membuka port 80, untuk mengantisipasi
#user/ klien yang bande, kita bisa mem-band access-list atau pc-klien tersebut.
# cara yang cukup efektif tersebut seerti contoh berikut : http_access deny local
#artinya tidak bisa ikut serta membuka port 80

# Kemudian kita membatasi maksimum download dengan tag di bawah ini:
# Batas kecepatan koneksi overall adalah 256 Kbps. per-network adalah
# 64 kbps. Sedangkan per-user/host dibatasi 2 Kbps jika digunakan untuk
# download file bertipe exe, mp3, vqf, tar.gz, gz, rpm, zip, rar, avi,
# mpeg, mpe, mpg, qt, ram, rm, iso, raw, dan wav. Jika tidak, maka
# koneksi perhost HANYA mengikuti aturan per-Network saja.

acl filegede url_regex -i \.exe
acl filegede url_regex -i \.mp3
acl filegede url_regex -i \.vqf
acl filegede url_regex -i \.gz
acl filegede url_regex -i \.rpm
acl filegede url_regex -i \.zip
acl filegede url_regex -i \.rar
acl filegede url_regex -i \.avi
acl filegede url_regex -i \.mpeg
acl filegede url_regex -i \.mpe
acl filegede url_regex -i \.mpg
acl filegede url_regex -i \.qt
acl filegede url_regex -i \.ram
acl filegede url_regex -i \.rm
acl filegede url_regex -i \.iso
acl filegede url_regex -i \.raw
acl filegede url_regex -i \.wav
# Kita buat dulu ACL untuk mendefinisikan file-file di atas dengan menggunakan # regularexpression. Kemudian kita mendefinisikan 2 delay pool untuk
# menampung bandwidth.
# Satu pool masuk dalam kategori class 2 untuk mendefinisikan aturan overall
# 256 Kbps dan per-network 64 Kbps. Satu pool lainnya masuk kategori class 3
# untuk mendefinisikan aturan tambahan jika user mendownload file-file yang
#didefinisikan dalam ACL url_regex dengan bandwidth maksimal 2 Kbps.

delay_pools 2
#artinya ada dua pools atau kelas dengan dua akses kecepatan yang berbeda

delay_class 1 3
#artinya delay kelas pertama dengan pengaturan bandwidth hanya tiga jenis kecepatan

delay_parameters 1 32000/32000 8000/8000 250/250
#artinya pada kelas pertama terdapat tiga jenis kecepatan yang diatur, dan besarnya
#bandwidth yang diatur atau yang diberikan masing-masing mencapai 32000/32000
#8000/8000 250/250. Seperti pada 32000/32000,itu berarti 32000 yang pertama
#berarti kecepatan bandwidth target yang harus dicapai. Sedangkan 32000 yang kedua
#adalah target bandwidth yang bisa dipenuhi kalau jaringan lagi bagus

delay_access 1 allow lokal filegede
#artinya pada kelas akses 1 (pertama) dengan parameter 1 (pertama) akses klien
# yang terdaftar pada acl dengan nama "local filegede" diperbolehkan
# menggunakan bandwith sebesar parameter sebelumnya.

delay_access 1 deny all
#artinya selain akses list yang didaftarkan diatas. Semua IP yang tidak terdaftar
# tidak diperbolehkan mengakses internet.
#tapi, ada baiknya pula membuat acl seperti dibawah ini terlebih dahulu:
#acl all src 0.0.0.0/0.0.0.0 artinya semua IP versi 4 didaftarkan.

delay_class 2 2
delay_parameters 2 32000/32000 8000/8000
delay_access 2 allow local
delay_access 2 deny all

Jika sudah selesai, check apakah ada error, kalau tidak ada error, simpan hasil konfigurasi dan restart squid
# squid3 -k check
#/etc/init.d/squid restart

4.      Testing download dengan download manager yg sukai (IDM, FlashGet, GetRight, DownThemAll) dan perhatikan download rate-nya apakah sudah sesuai dengan setting yg diterapkan. Pada saat yang sama lakukan browsing2 website lain, untuk meyakinkan bahwa alokasi b/w untuk BROWSING sebesar 512kb masih bisa digunakan.

Berikut adalah contoh kasus yang berbeda lainnya yang masih mengkonfigurasi squid yang bisa dicoba.
dalam 1 network dengan penggunaan bandwidth total tidak dibatasi terdapat beberapa komputer dengan klasifikasi sebagai berikut
* admin, server dengan bandwidth unlimited
* staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte
* umum dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte
acl all src 0.0.0.0/0.0.0.0
acl admin src 192.168.1.250/255.255.255.255
acl server src 192.168.1.251/255.255.255.255
acl kantor src 192.168.1.0/255.255.255.0
acl staff src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71
delay_pools 3
delay_class 1 1
delay_parameters 1 -1/-1
delay_access 1 allow admin
delay_access 1 allow server
delay_access 1 deny all
delay_class 2 1
delay_parameters 2 1500/64000
delay_access 2 allow staf
delay_access 2 deny all
delay_class 3 1
delay_parameters 3 1000/32000
delay_access 3 allow umum
delay_access 3 deny all

Referensi

 >>> ane ucapin makasih buat sumber referensi yang telah banyak membantu dalam pemberian informasi :)