To enable this, configure squid with the --enable-delay-pools option. There are 3 classes of delay pools -
class 1 is a single aggregate bucket, class 2 is an aggregate bucket with an individual bucket for each
host in the class C, and class 3 is an aggregate bucket, with a network bucket (for each class B) and an
individual bucket for each host.
Latar Belakang
Bandwidth merupakan barang yang mahal. Untuk saat ini kisaran 64 kps dihargai sekitar 4 jt perbulan.
Permasalahnnya bandwith 64 kbits itu bukan nilai yang besar. Rata-rata yang didapat pelanggan adalah
64 1:2. Artinya 1 jalur 64 kbits digunakan untuk 2 pelanggan sekaligus.
Sudah bandwidthnya dibatasi terkadang pula disisi user ada yang bertingkah seenaknya. Merasa ada
koneksi internet gratis, beberapa user mulai menggunakannya untuk membuka situs-situs tertentu atau
mengkoleksi file-file tertentu. Tentu saja alokasi bandwidth yang tersedia semakin menyusut. Yang
merasakan adalah golongan user yang biasa-biasa saja (bukan mania internet), mereka hanya bisa
mengelus dada.
Untuk mengatasi hal diatas, agar setiap user mendapat bandwidth yang cukup, bisa digunakan aplikasi
squid proxy server.
Pelaksanaan
Sebelum mulai mengkonfigurasi delay pools, harus dipersiapkan terlebih dahulu aplikasi squid yang
sudah dikompilasi dengn support delay pools. Beberapa distro besar seperti RedHat/Mandrake biasanya
sudah di atur support delay pools.
Bila tidak dapat dikompilasi sendiri sebagai berikut
# ./configure --enable-delay-pools
# make
# make install
konfigurasi
1. delay_pools <jumlah>
menyatakan berapa banyak bagian/pool yang akan dibuat
misal delay_pools 2
2. delay_class <bagian tipe/class>
menentukan klas/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:
1
tipe/class
keterangan
1 semua bandwidth yang ada akan dibagi sama rata untuk semua user squid
ex 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
ex: bandwidth tersedia 512 kb, untuk browsing disediakan bandwidth 384 kb, sisanya untuk
aktifitas lain.
Di jaringan tersebut ada 3 departement dengan network yang berbeda misal lab
(192.168.1.0/24), manajer(192.168.2.0/24), sales(192.168.3.0/24).
nah misah oleh admin di set bahwa pernetwork mendapat jatah 128 kb/s.
maka user² di sales akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user² di lab akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user² di manajer akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
misal:
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
2
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.
ex: 1000/64000 harga restore sama dengan 8000 bits/sec atau 8 kbits/sec.
Yang artinya user akan mendapat donlot brustable selama file yang akan dibuka lebih kecil dari
64 kbytes, jadi kecepatan bisa diatas 8 kbit/sec.
Bila ternyata file yang dibuka melebihi 64 bytes, maka proses limitasi akan segera dimulai
dengan membatasi kecepatan maksimal 8 kbits/s.
class 1
delay_parameters <#pool individual>
ex: delay_parameters 1 1000/64000
Berarti semua network akan mendapat bandwidth yang sama di pool no 1.
Sebesar 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.
class 2
delay_parameters <#pool agregate individual>
ex: delay_parameters 1 32000/32000 1000/64000
Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth.
Bila terdapat lebih dari 1 network class C, maka total yang dihabiskan tetap 256 kbit/sec
dan tiap user akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable
file 64 kb.
class 3
delay_parameters <#pool agregate network individual>
ex: delay_parameters 1 32000/32000 8000/8000 1000/64000
Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth.
Bila terdapat lebih dari 1 network class C, maka setiap network akan dipaksa maksimum sebesar
(8000*8) 64 kbits/sec
dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec),
dengan burstable file 64 kb.
Contoh 1
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
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
3
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
Cara mencobanya paling mudah adalah dengan menggunakan donlot manajer semacam DAP®,
GetRight® maka akan terlihat bandwidth sudah dibatasi.
Contoh 2
Delay pools juga dapat digunakan untuk membatasi donlot file untuk extensi tertentu.
Gunakan ACL url_regex untuk mengatasi hal ini.
Contoh dibawah digunakan untuk membatasi donlot file multimedia hingga 1 kByte/sec.
bagaimana caranya membuat delay pools untuk membatasi download di siang hari untuk 15 klient
sedangkan malam harinya lost asumsi jamnya ( 10:00 - 21:00)
acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$
\.rpm$ \.zip$ \.rar$
acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$
\.mov$ \.dat$ \.mpe$ \.mid$
acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$
\.m1v$ \.mp2$ \.mpa$ \.wax$
acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$
\.au$ \.aif$ \.asf$ \.m2v$
acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$
\.vob$ \.aob$ \.dts$
acl download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$
delay_pools 1
delay_class 1 1
delay_parameters 1 3000/3000
delay_access 1 allow download TIME
delay_access 1 deny all