Monday, May 05, 2008

Download Management

Sekali lagi mari kita utak utik squid. Karena menurut saya ini adalah jalan pintas untuk belajar linux. Seringkali orang bingung, setelah berhasil install Linux, trus mau diapain ? Jawaban yang paling gampang dan langsung bisa diaplikasikan adalah, fungsikan sebagai proxy server.

Kali ini bahasan kita sampai pada download management. setelah sebelumnya berhasil install squid yang anda bisa baca disini
http://ediwe.blogspot.com/2006/08/konfigurasi-proxy-server-linux.html dan berhasil install lightsquid http://ediwe.blogspot.com/2008/04/install-lightsquid.html ataupun SquidGuard yang anda bisa baca disini http://ediwe.blogspot.com/2008/04/squidguard.html.

Mari Mulai dengan Download Management.

Download Management menurut terjemahan bebas versi saya adalah mengatur bandwidth untuk download pada jaringan dibawah proxy. Sayangnya, jika anda menginstall squid dari source anda harus menyertakan option -enable-delay-pools, tapi kalo install dari paket RPM biasanya sudah include (CMIIW)

Komponen bandwidth management adalah :

delay pools : disini didefinisikan jumlah pools yang akan diterapkan

delay_class : spesifikasi dari delay pools. delay class ini dibagi dalam 3 class berbeda,

class 1 untuk mendefinisikan maksimal bandwidth dalam satu LAN tidak mendetail

class 2 pada class ini terdapat 2 parameters, yang pertama untuk mendefinisikan jumlah bandwidth maksimal yang didapat ACL, yang kedua badwidth yang dipakai keseluruhan untuk semua ACL

class 3 ada 3 parameter disini, 1 & 2 sama dengan class 2 namun ada tambahan parameter yang ke 3 yaitu untuk menentukan badwidth maksimal yang didapat apabilai dalam ACL tersebut mendownload file2 tertentu yang sudah didefinisikan.

contoh :
delay_class 1 2 # pool 1 memakai clas tipe 2
delay_class 2 3 # pool 2 memakai clas 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.

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

Contoh parameter ini adalah :

-1/-1 : berarti unlimited atau tidak dibatasi pada nilai restore/max
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>

Contoh :
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>

Contoh :
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>

contoh :
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
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

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.

acl multimedia url_regex -i \.mp3$ \.rm$ \.mpg$ \.mpeg$ \.avi$ \.dat$
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/16000
delay_access 1 allow multimedia
delay_access 1 deny ALL

Beberapa bagian tulisan ini saya sadur dari link ini
http://malang.linux.or.id/?p=5 yang menurut saya lebih gampang difahami, he.. silahkan dibaca.

Udah, gitu aja...
Masih bingung ?.. coba praktekan aja deh.. He.. Semoga bermanfaat.