Daily Archives: Februari 16, 2012

Membatasi Download Dengan Delay Pool di Squid

File konfigurasi squid adalah squid.conf
ada beberapa tag konfigurasi untuk delay pools di squid.conf.

delay_pools
menyatakan berapa banyak bagian/pool yang akan dibuat, misal

delay_pools 2

delay_class <no.urut</no.urutClass>
menentukan klas/tipe pembagian bandwith dari setiap pool. 1 pool hanya boleh memiliki 1 clas, tidak lebih atau kurang.
No.urut merupakan nomer urut dari jumlah pool di delay pool, jadi ada 1 s/d n bagian dimana n merupakan angka jumlah pada delay_pools
Tipe/Class merupakan tipe class delay yang dipakai.
Secara umum class menyatakan bagaimana cara membagi bandwidth, ada 5 class dalam delay pool, namun secara umum ada 3 class yg biasa digunakan:

class
keterangan
1
semua bandwidth yang ada akan dibagi sama rata untuk semua user squid. ex 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. 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 misal 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:

delay_class 1 2    # pool 1 memakai class tipe 2
delay_class 2 3    # pool 2 memakai class tipe 3

delay_access
Memberi batasan siapa saja yang boleh mempergunakan delay pools ini.
Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all.
misal:

delay_access 1 allow manajer
delay_access 1 deny all
delay_access 2 allow sales
delay_access 2 deny all

delay_parameters
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.



Spesial Case:

-1/-1 berarti unlimited atau tidak dibatasi pada nilai restore/max


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.



Sumber
http://www.google.com
http://www.squid-cache.org
http://oktobrima.staff.uns.ac.id/?p=59