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 : 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 2. Membagi bandwidth berdasarkan kebijakan yang ada 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 3. 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)
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$ 2. Edit konfigurasi squid, dan batasi akses apabila file yang di download besarnya diatas 1 MBytes (1024 Kbytes = 1024000 Bytes)
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 3. check apakah ada error, kalau tidak ada error, baru restart service squid
root@constantine:/etc/squid3# squid3 -k check root@constantine:/etc/squid3# /etc/init.d/squid3 restart
4. 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.