Minggu, Oktober 18th, 2009 | Author:

Begitu mahalnya harga internet di Indonesia, membuat penyedia jasa harus ekstra hati-hati dalam memberikan pelayanan. Satu sisi klien ingin harga murah, di sisi lain klien tidak ingin membayar mahal untuk koneksi internet kencang. Warnet misalnya, dengan 3000 sampai 5000 rupiah per jam dan koneksihanya up to 1 Mbps harus dipaksa melayani lebih dari 10 PC, yang pastinya akan sangat terasa lambatnya jika tidak diatur dengan pengatur bandwidth. Salah satu solusinya dengan squid.

Squid sendiri aplikasi yang digunakan sebagai server proxy cache, http://id.wikipedia.org/wiki/Squid. Selain itu juga bisa mengatur permintaan bandwidth. Delay Pool sendiri adalah salah satu fitur Squid yang digunakan untuk melakukan pembatasan bandwidth.

Ada beberapa istilah di dalam delay pool.

delay_pools

menyatakan berapa banyak bagian/pool yang akan dibuat

delay_pools 1

Ket : hanya ada 1 pool yang kita berlakukan

delay_class

Opsi ini menspesifikasikan kelompok dari masing-masing pool yang telah didefinisikan pada opsi delay-pools. Ada tiga class yang didukung Squid sebelum versi 3, antara lain:

• class 1: Semua akses dibatasi dengan single bucket, artinya satu aturan untuk semua semua jaringan.

• class 2: Semua akses dibatasi dengan single agregate dengan dua parameter bandwidth. Parameter pertama mendefinisikan berapa bandwidth maksimal seluruh jaringan, parameter kedua mendefinisikan  bandwidth yang lebih spesifik untuk per klien.

• class 3: Kelompok yang definisi bandwidth-nya paling mendetail. Parameter pertama mendefinisikan berapa bandwidth maksimal seluruh jaringan, parameter kedua mendefinisikan berapa bandwidth normal yang didapatkan per client , dan parameter yang ketiga adalah mendefinisikan bandwidth yang didapatkan client jika mengakses file tertentu yang spesifik, misalnya file mp3.

delay_class 1 3

Ket : pool 1 memiliki 3 class, artinya akan ada 3 aturan di dalam pool 1

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 localnet

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

Disinilah aturan pembatasan bandwidth berlaku. Max adalah kondisi dimana kita mendapatkan semua jatah bandwidth yang ada atau disaat pemakaian bukan pada puncaknya. Restore adalah kondisi ketika bandwidth mencapai puncaknya, dan setiap aturan akan mendapatkan bandwidth maksimal dari harga restore yang sudah kita set.

delay_parameters 1 -1/-1 24000/32000 16000/32000

Ket :

Pool 1 memiliki 3 class.

Class 1 memiliki harga -1/-1 artinya keseluruhan bandwidth yang ada di alokasikan untuk seluruh jaringan client squid.

Class 2 memiliki harga 24000/32000 artinya masing-masing client squid akan mendapatkan jatah bandwidth maksimal sebesar 32000 bytes/second atau 256 kbps dan ketika high trafic hanya akan mendapatkan maksimal 24000 bytes/second atau 192 kbps.

Class 3 memiliki harga 16000/32000 artinya ketika mendownload sebuah file, client squid akan mendapatkan jatah bandwidth maksimal sebesar 32000 bytes/second atau 256 kbps dan ketika high trafic hanya akan mendapatkan maksimal 16000 bytes/second atau 128 kbps.

Berikut contoh sederhana squid delay pool

Contoh 1

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

Ket :

  • 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

Contoh 2

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

Ket :

Delay pools yang digunakan untuk membatasi donlot file untuk extensi tertentu.
Gunakan ACL url_regex untuk mengatasi hal ini.
Contoh diatas digunakan untuk membatasi donlot file multimedia hingga 1 kByte/sec.

Contoh 3

acl JAM_KANTOR time SMTWHFA 07:00-18:00

delay_pools 2 delay_class 1 2
delay_parameters 1 24000/32000 -1/-1
delay_access 1 allow riset JAM_KANTOR
delay_access 1 deny all

delay_class 1 2
delay_parameters 2 8000/8000 -1/-1
delay_access 2 allow riset !JAM_KANTOR
delay_access 2 deny all

Ket :

Pada jam kantor (07:00 – 18:00) speed yang diberikan hingga 256 kbps pada masing-masing host, dan di luar jam kantor hanya diberikan speed hingga 64 kbps.

Atau jika anda kesulitan dengan konfigurasi manual seperti diatas, silahkan instal WebMin.

Diatas ini adalah konfigurasi delay pool pada squid versi 3. Bukan cuma 3 class tapi hingga 5 class. Saya belum mencari tau tentang 2 class tambahan yang ada di squid versi 3 ini.

Dalam bentuk script, konfigurasi diatas akan berbentuk

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
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$ .3gp$
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$
acl warnet_ON time 10:00-23:00
delay_pools 1

delay_class 1 3
delay_parameters 1 -1/-1 24000/32 16000/32
delay_access 1 allow localnet
delay_access 1 allow download
delay_access 1 allow warnet_ON
delay_access 1 deny manager localhost to_localhost localnet SSL_ports Safe_ports CONNECT download

Konfigurasi diatas hanya sebagian yang bisa kita terapkan pada squid, selebihnya silahkan googling lebih jauh.

Sumber :
http://www.geocities.com/adilinux/squid-delaypools.html
http://intrik.wordpress.com/2007/04/25/manajemen-bandwidth-di-squid-menggunakan-delay-pools/

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

5 Responses

  1. 1
    andri 

    Kapan-kapan pengen ngoprek squid lagi ahhh, dah lama nggak nyolek-nyolek lagi… ajari ya ji

  2. 2
    dzay 

    weh.. kebalik kie.. aku sing berguru sama sampeyan.. (worship)

  3. 3
    lutfi 

    Referensi bagus nih mudah dipahami, sy coba delay pool dari tutorial yg saya dapt dr “Mbah Google” rata2 sulit dimengerti terutama bagi newbie seperti saya.

    Trims bos,

  4. 4
    dzay 

    kesulitan yang sama waktu saya awal belajar delay pool mas.. makanya saya coba bikin tutor yang mudah dipahami..
    semoga membantu.. (drinking)

  5. 5
    likyus 

    ikut nimbrung, and ku bookmark
    trimakasih banyak atas keiklhasannya …. bravo linux
    kapan aku bisa pitar kaya gini, … gampang lupa …

Leave a Reply » Log in


You must be logged in to post a comment.