LiNuX (based on debian), Networking, Proxy Server > Bandwidth management menggunakan squid

Bandwidth management menggunakan squid

Ketika kita berbicara mengenai bandwidth management, maka banyak sekali yang bisa kita lakukan yaitu dengan cara network-based ataupun application-based.
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
NETWORK BASED BANDWIDTH MANAGEMENT (delay_class type 2) [21 Juni 2009]
  1. Mendefinisikan Subnet yang akan di manage bandwidth-nya :
  2. Bagian  IT : 192.168.7.0/28
    Bagian Designer : 192.168.7.16/28
    Bagian Finance : 192.168.7.32/28
    Bagian Tamu : 192.168.7.48/28
    root@constantine:~# vim /etc/squid3/squid.conf
    acl IT src 192.168.7.0/28
    http_access allow IT

    acl designer src 192.168.7.16/28
    http_access allow designer

    acl finance src 192.168.7.32/28
    http_access allow finance

    acl tamu src 192.168.7.48/28
    http_access allow tamu
  3. Membagi bandwidth berdasarkan kebijakan yang ada
  4. misal :
    Bandwidth total adalah :  2 Mbps = 2048 Kbps -> 256 KBps
    Bagian IT mendapat alokasi sebesar : 600 Kbps = 75 KBps
    Bagian Designer mendapat alokasi sebesar : 800 Kbps = 100 KBps
    Bagian Finance mendapat alokasi sebesar : 400 Kbps = 50 KBps
    Sisanya diberikan pada bagian Tamu : 200 Kbps = 25 KBps
    !!!!!!!!!!!!!!!!!!!! INGAT !!!!!!!!!!!!!!!!!!!!!
    1 byte = 8 bit
    KBps = Kilo Bytes per second
    Kbps = Kilo bits per second
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    aturan pembagian bandwidth diatas baru diterapkan apabila client melakukan akses / download file diatas 1024000Bytes (1024KB = 1MB).
    root@constantine:~# vim /etc/squid3/squid.conf

    delay_pools 4

    delay_class 1 2
    delay_parameters 1 -1/-1 75000/1024000
    delay_access 1 allow IT
    delay_access 1 deny all
    delay_class 2 2
    delay_parameters 2 -1/-1 100000/1024000
    delay_access 2 allow designer
    delay_access 2 deny all
    delay_class 3 2
    delay_parameters 3 -1/-1 50000/1024000
    delay_access 3 allow finance
    delay_access 3 deny all
    delay_class 4 2
    delay_parameters 4 -1/-1 25000/1024000
    delay_access 4 allow tamu
    delay_access 4 deny all
  5. Testing / benchmark-lah masing2 bagian dengan melakukan download secara gila-gilaan dengan download manager (mis : IDM, FlashGet, dll) file yang besar sekali dari masing-masing subnet dan perhatikan apakah pembagian bandwidth yang anda lakukan sudah benar
BANDWIDTH MANAGEMENT  BERDASARKAN TYPE AKSES USER (delay_class type 1) [15 Mei 2010]

Tipe akses user yang saya maksud disini ada 2, yaitu antara BROWSING dan DOWNLOAD. Untuk membedakan kedua tipe akses tersebut, saya asumsikan bisa dilihat dari tipe file-nya (extensi file), misalnya apabila tipe filenya .htm, .html, .php, .jsp, maka itu adalah tipe akses BROWSING, sedangkan apabila tipe filenya .exe, .avi, .zip, maka itu adalah tipe akses DOWNLOAD.
Misalnya kita mempunyai koneksi internet dg b/w 2 Mbps, kita ingin membaginya sbb :
DOWNLOAD = 1,5 Mbps = 1500 Kbps = 187 KBytes/s = 187000 Bytes/s
BROWSING = 0,5 Mbps = 500 Kbps = 62 KBytes/s = 62000 Bytes/s
Maka skenario yg bisa diterapkan adalah dengan mendefinisikan tipe-file yang kita anggap DOWNLOAD, kemudian kita batasi aksesnya, dan membiarkan (tidak membatasi) tipe-file lainnya karena kita asumsikan selain DOWNLOAD adalah BROWSING. Caranya adalah :
  1. Definisikan seluruh tipe-file yg kita anggap akses DOWNLOAD dalah sebuah file. (dibawah ini hanya sebuah contoh, anda bebas menyesuaikan sendiri)
  2. root@constantine:/etc/squid3# touch /etc/squid3/file_download
    root@
    constantine:/etc/squid3# vim /etc/squid3/file_download
    \.3gp$
    \.7-zip$
    \.7z$
    \.ac3$
    \.ace$
    \.aif$
    \.aifc$
    \.aiff$
    \.arc$
    \.arj$
    \.asf$
    \.asx$
    \.au$
    \.avi$
    \.bin$
    \.bzip2$
    \.cab$
    \.cdw$
    \.chm$
    \.cr2$
    \.crw$
    \.dat$
    \.dcr$
    \.div$
    \.divx$
    \.djvu$
    \.doc$
    \.dts$
    \.dvi$
    \.dvr-ms$
    \.emf$
    \.eps$
    \.exe$
    \.flv$
    \.fpx$
    \.gz$
    \.gzip$
    \.ha$
    \.hdf$
    \.icl$
    \.icn$
    \.iff$
    \.iso$
    \.jar$
    \.jad$
    \.jp2$
    \.jpc$
    \.jpeg$
    \.jpg$
    \.lha$
    \.lzh$
    \.lzw$
    \.m1v$
    \.m2v$
    \.mid$
    \.midi$
    \.mim$
    \.mp2$
    \.mp2v$
    \.mp3$
    \.mpa$
    \.mpe$
    \.mpeg$
    \.mpg$
    \.mpv2$
    \.mrw$
    \.msi$
    \.nef$
    \.ogg$
    \.orf$
    \.pak$
    \.pbm$
    \.pcd$
    \.pcx$
    \.pef$
    \.pgm$
    \.pic$
    \.pict$
    \.plp$
    \.png$
    \.ppm$
    \.pps$
    \.ppt$
    \.ps$
    \.psd$
    \.psp$
    \.qt$
    \.raf$
    \.ram$
    \.rar$
    \.ras$
    \.raw$
    \.rfx$
    \.rm$
    \.rmi$
    \.rmvb$
    \.rpm$
    \.rs$
    \.rtf$
    \.run$
    \.sef$
    \.sgi$
    \.snd$
    \.srf$
    \.swf$
    \.tar$
    \.tar.bz$
    \.tar.gz$
    \.tbz$
    \.tga$
    \.tgz$
    \.tif$
    \.tiff$
    \.ttf$
    \.uue$
    \.vob$
    \.vqf$
    \.vro$
    \.wav$
    \.wbmp$
    \.wma$
    \.wmf$
    \.wmv$
    \.wri$
    \.x3f$
    \.xbm$
    \.xls$
    \.xlw$
    \.xpm$
    \.zip$
  3. Edit konfigurasi squid, dan batasi akses apabila file yang di download besarnya diatas 1 MBytes (1024 Kbytes = 1024000 Bytes)
  4. root@constantine:/etc/squid3# vim /etc/squid3/squid.conf
    acl tipe-akses-download url_regex -i “/etc/squid3/file_download”
    delay_pools 1
    delay_class 1 1
    delay_parameters 1 187000/1024000
    delay_access 1 allow tipe-akses-download
    delay_access 1 deny all
  5. check apakah ada error, kalau tidak ada error, baru restart service squid
  6. root@constantine:/etc/squid3# squid3 -k check
    root@
    constantine:/etc/squid3# /etc/init.d/squid3 restart
  7. Testing download dengan download manager yg anda sukai (IDM, FlashGet, GetRight, DownThemAll) dan perhatikan download rate-nya apakah sudah sesuai dengan setting yg diterapkan. Pada saat yang sama silahkan browsing2 website lain, untuk meyakinkan bahwa alokasi b/w untuk BROWSING sebesar 62000 Bytes/s (62 KBps) masih bisa digunakan.
Happy Managing U’r Bandwidth.
Thx to :
squid3 dan dokumentasinya yg lengkap

Komentar

Postingan Populer