BolPoint.wordpress.com

December 6, 2010

Bandwidth management menggunakan squid

Filed under: Linux — bolpoint @ 4:21 pm

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.

Happy Managing U’r Bandwidth.
Thx to :
squid3 dan dokumentasinya yg lengkap

http://www.squid-cache.org/

http://bayuart.wordpress.com/2006/09/30/contoh-squid-delay-pool/

MySelf yg sdh mau susah2 nulis ini😀

sumber : http://lqman.wordpress.com/2008/06/25/bandwidth-management-menggunakan-squid/

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: