You are not logged in.
Assalamualaikum All Member,
Kali ini saya ingin berbagi experiences dengan aplikasi bandiwdth limiter HTB yang berbasis web, adapun yang ditekankan disini adalah mengenai sifat/karakteristik dari parameter Bandwidth dan Limit (pada Class dan Client) serta klasifikasi QoS berdasarkan Priority.
adakalanya, kita ingin memanfaatkan bandwidth yang diberikan oleh ISP secara maksimal, dan membagikannya kepada client secara fair,
Ambillah contoh kasus sebuah Warnet/RTRWnet yang memiliki Bandwidth downstream 480 kbps dengan 3 Client:
Pada saat 1 user sedang aktif, user tersebut dapat memanfaatkan seluruh bandwidth (480 kbps), namun jika 3 user aktif, maka kecepatan 480 kbps tersebut haruslah terbagi secara fair (480 kbps : 3) kepada seluruh client.
Sistem pembagian bandiwdth seperti ini dikenal dengan istilah BANDWIDTH UP TO / SHARED
yang perlu anda lakukan adalah.
1. Mendefinisikan Bandiwth Class, nilai priority akan berperan jika terdapat lebih dari satu Class
kita buat Class WARNET, Bandwidth 256 kbps, Limit 480 kbps
(parameter Bandwidth berperan sebagai garansi kecepatan minimal yang akan diberikan terhadap class tersebut)
2. Mendefinisikan Client untuk Class Warnet
Nilai bandwidth untuk masing-masing client diperoleh dari nilai limit Class, dibagi jumlah client
dalam hal ini 480 : 3 = 160 kbps
atau anda dapat menentukan sendiri nilai bandwidth terendah yang akan digaransikan kepada ke client (misal 32 kbps atau 64 kbps)
YANG PERLU DIPERHATIKAN disini adalah, jumlah nilai Bandwidth seluruh Client, TIDAK BOLEH melebihi nilai Limit pada Class
Class Bandwidth Limit Priority
WARNET 256 480 3
-client1 64 480 5
-client2 64 480 5
-client3 64 480 5
PERHATIAN!
jumlah Bandwidth client1+client2+client3 = 64 + 64 +64 kbps = 192 kbps
HARUS KURANG DARI atau SAMA DENGAN nilai Limit Class = 480 kbps
Total Bandwidth Client Limit Class
192 kbps < 480 kbps
jika ketentuan ini tidak dipenuhi, maka konsep Class HTB akan diabaikan, dan masing-masing client dapat melebihi batas limit Class telah ditentukan (dengan kata lain, bandwidth bocor) ![]()
dengan konfigurasi diatas, masing-masing client akan digaransi mendapat bandwidth sekurang-kurangnya 64 kbps, kecepatannya dapat meningkat hingga 480 kbps jika user lain tidak aktif.
dibawah ini adalah screenshot untuk tampilan running bandwidth dengan konfigurasi setup seperti diatas :
perhatikan, bahwa banwidth akan dibagi secara fair kepada 3 user yang aktif, berkisar 150 hingga 160 kbps untuk masing-masing client.
Pada percobaan diatas, kita telah dapat memaksimalkan alokasi bandwidth kepada client yang di setup dengan Nilai Priority yang sama.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Lalu, bagaimana dengan peranan parameter Priority yang berbeda?
kapan dan untuk layanan seperti apa kita memerlukan nilai Priority yang berbeda?
Misalkan begini, Client Warnet/Customer RT/RWnet kita terdiri dari beberapa segmen, yaitu, pelanggan VIP, Profesional dan Basic.
Sebagai perbedaan bentuk layanan, tentu saja kita ingin memberikan bandiwdth yang besar kepada Client VIP, dibandingnkan dengan Client Profesional maupun Basic.
namun, pada saat koneksi VIP tidak aktif, client Basic tetap dapat mendapatkan kecepatan maksimal.
Kita lakukan perubahan pada nilai Priority, VIP diberi nilai lebih kecil dari Profesional dan Basic
Setup nya kurang lebih seperti berikut :
Class Bandwidth Limit Priority
WARNET 256 480 3
-VIP 64 480 1
-Profesional 64 480 3
-Basic 64 480 5
perbedaan kecepatan akses client dapat dilihat pada gambar dibawah ini:
Perhatikan perbedaan kecepatannya :
1-Satu (VIP), mendapatkan bandwidth 271 kbps
7-Tujuh (Professional), mendapatkan bandwidth 133 kbps
8-Delapan (Basic), mendapatkan bandwidth 71 kbps
(namun tidak kurang dari nilai garansi, 64 kbps)
Dalam istilah teknis, anda bisa mendefinisikan informasi bandwidth tersebut sbb:
CIR (Commited Information Rate) = 64 kbps
MIR (Maximum Information Rate) = 480 kbps
bisa juga dinyatakan dengan Bandwidth Up to 480 kbps atau Bandwidth 480 kbps Shared 1:3
Demikian sharng experiences ini, mudah2an bermanfaat bagi rekan-rekan sekalian,
Jika ada pertanyaan atau diskusi lebih lanjut, dipersilahkan
![]()
Wassalam
Offline
sudah bisa menjabarkan konsep HTB yah.... mantap... intinya total b/w minimum tiap client tidak boleh melebihi limit class kalau tidak b/w akan bocor....

Offline
kalo client aktif tapi sedang idle apakah bandwidth terbagi juga ? atau aktif tapi hanya menggunakan 24 kbps misalnya.
Offline
yup sm sprt Mikrotik baik simple queue atau qeuee tree juga pakai HTB sebagai enginenya.
kalo aku dah coba pakai mikrotik dengan simple queue sj sih dan tekniknya juga sama, total dari seluru chile queue tidak boleh melebihi nilai max parent hasilnya hmpr seimbang.
jika kondisis idle tidak ada bw yg terpakai otomatis tidak ada pencatatan bw di queue. sehingga dianggap bw kosong. nah saat ada mulai trafik dari yang idle maka htb akan menghitung ulang dengan priority dan limitnya.
@opick
bukan tiap client tp lebih tepatnya bandwith yang diset di child/dibawahnya class total tidak boleh melebihi class diatasnya(parent)
kasih contoh:
misal
Class = 256kbps
child1 192.168.1.2/24 64k
child2 192.168.1.3/24 64k
child3 192.168.1.4/24 64k
undetected-client 192.168.1.0/24 64k
kalo diatas ngomongnya client ada brp?bisa ja ada ip 192.168.1.5-192.168.1.254 kan
so perhitungan diatas rulenya total tidak boleh melebihi total class 64 x 4 = 256kbps
CMIIW
Last edited by AdeldiaN (09-09-2009 08:51:37)
Offline
AdeldiaN wrote:
@opick
bukan tiap client tp lebih tepatnya bandwith yang diset di child/dibawahnya class total tidak boleh melebihi class diatasnya(parent)
kasih contoh:
misal
Class = 256kbps
child1 192.168.1.2/24 64k
child2 192.168.1.3/24 64k
child3 192.168.1.4/24 64k
undetected-client 192.168.1.0/24 64k
kalo diatas ngomongnya client ada brp?bisa ja ada ip 192.168.1.5-192.168.1.254 kan
so perhitungan diatas rulenya total tidak boleh melebihi total class 64 x 4 = 256kbps
CMIIW
sama ajalah pengertiannya...
peace....
client yg berada didalam class-nya tidak termasuk client di luar class yg dibahas...

Offline
tapi banyak user yang salah pengertian dikira client itu yang di warnet client itu saja atau dengan jumlah komputer.
dan kadang ada yang begini
setelah dibuatkan setup dengan 3 client ip trs ada tmbhn client lagi/si empu pakai laptop dengan ip yg tidak ada di class
dan akibatnya "lho aku kok tambah komputer jadi ngak rata ?"
contoh diatas ane kasih "undetected-client" jika ada client yang sengaja ganti2 ip/nyolong atau apalah yang tidak tercover queue/child class.
Sehingga membutuhkan satu slot child lagi yang mana musti dihitung juga
jadi intinya total child di bawah class nya itu yang penting
CMIIW
Offline
ian wrote:
kalo client aktif tapi sedang idle apakah bandwidth terbagi juga ? atau aktif tapi hanya menggunakan 24 kbps misalnya.
betul seperti yang dikatakan bung Adeldian, jika client aktif, namun idle, bandwidthnya dapat dimanfaatkan oleh user lain yang memang menggunakan resources bandwidth tersebut.
@bung Adel
nice tips, untuk undetected client nya. ![]()
tapi kok jadi ngomongin HTB di mikrotik ya? hehehe..
Offline
bukan mikrotik sih intinya, web HTB(teknologi HTB) yang mana mikrotik = linux juga pakai HTB untuk sistem bandwith manajemennya.
yup sm sprt Mikrotik baik simple queue atau qeuee tree juga pakai HTB sebagai enginenya.
kalo aku dah coba pakai mikrotik dengan simple queue sj sih dan tekniknya juga sama, total dari seluru chile queue tidak boleh melebihi nilai max parent hasilnya hmpr seimbang.
diatas cuman contoh sj krn teknolgi sama-sama pakai HTB
dan itu gambaran sj, karena dalam mengatakan suatu istilah "anaknya class" susah makanya pakai child yang mana itu istilah global.
CMIIW
Offline
sebetulnya HTB hanyalah salahsatu metode queuing discpiline (qdisc), dan terdapat baik di linux maupun di mikrotik, ada beberapa pilihan qdisc yang kita terapkan untuk managemen antrian paket pada suatu interface.
secara global, di linux, qdisc dapat dibagi menjadi 2 bagian, classless dan classfull
untuk Classless antara lain :
1. pfifo_fast (packet first in first out)
2. TBF (token bucket filter)
3. SFQ (stochastic fairness queueing) <= yang sedang kita bicarakan ![]()
untuk Classful, biasanya memiliki parameter hirarkis (roots, handles, siblings dan parents)
1. PRIO (Priority)
2. CBQ (Class Based Queue)
3. HTB (Hierarchial Token Bucket) <= yang sedang kita bicarakan ![]()
sebetulnya selain qdisc diatas, masih ada beberapa algoritma qdisc lain yang jarang digunakan, atau digunakan pada skenario tertentu.
1. bfifo/pfifo (bytes/packet first in first out)
2. RED (random early detection)
biasanya digunakan di jaringan backbone dengan kecepatan link, diatas 100 Mbps
3. WFQ (weighted fair queue)
4. Ingress qdisc (menghandle paket masuk)
secara umum, bandwidth limiter hanya dapat mengatur paket/bytes yang "meninggalkan"
interface
5. WRR (weighted round robin)
jadi sebetulnya, terdapat banyak algoritma yang dapat digunakan untuk membatasi aliran paket, tidak hanya HTB yang dikombinasikan sfq.
di mikrotik (queue types) maupun di linux, dapat di set sesuai kebutuhan.
referensi lebih lanjut :
http://lartc.org/howto/lartc.qdisc.html
http://lartc.org/howto/lartc.adv-qdisc.html![]()
Offline
@AdeldiaN
betul kang adeldian.... banyak yg salah pengertian yah?!
@si_faisal....
mantap.... di beberkan semuanya.... nice info... perlu kasih sticky gak nih....?! ![]()
Last edited by opikdesign (09-09-2009 11:07:36)

Offline
ok gimana kalo dikembaling nih ceritanya
di webhtb kan bnyk class
bgmnkah dari class2 trsbt mempengaruhi satu denga nyang lainnya ![]()
pengalaman nih saat pakai mikrotik, saat membikin queue tnp parent hasil shapingnya tidak sesuai harapan. dan mengenai brust-able, banyaj org kesulitan mengenai ini, padahal tnp brust-able/auto kita sudah definisikan ke max-user-dpt-bandwith. ada kemungkinana hal yang sama akan terjadi dgn htb dilinux, dimana cuman ada 1 class dan itu unlimited dengan child diset per ip namun hasil tidak sesui yang diharapakan?
tambahan, adakah kemungkinan dimana class itu sendiri bisa dijadikan child dari class lain?
*NB, yang bisa sticky tuh si om faisal ![]()
terima kasih
Last edited by AdeldiaN (09-09-2009 11:18:47)
Offline
klo banyak class di webhtb mainnya di priority tiap-tiap class...
jadi mana priority yg paling keccil itu yg diutamakan...
klo satu class?! kemungkinan seperti di mikrotik... CMIIW

Offline
maksud saya dengan setiap class mempengaruhi class lain ini pertimbangannya begini
--- class A 256kbps priority 1
--- class B 128kbps priority 2
--- class C 128kbps priority 3
nah sedangkan bw kita hanya bisa 384kbps misal nya.
jika ada konfigurasi spt sy sbtkan diatas gimana?soalnya parent class kan tidak tahu berapa total bw yang sebenarnya selain yang didefinisikan dalam class itu sendiri.
ayo kita sharing2 ![]()
Offline
@om Adel
seperti yang telah disebutkan diatas, bahwa HTB merupakan konsep limiter yang classful dan harus memiliki parameter2 root class, handles, siblings dan parents
jadi jika rules queues nya tidak diberi parent maka nilai parameter2 tesebut tidak terdifinisi, dan mengakibatkan kekacauan pada limiter (tidak sesuai harapan)
tambahan, adakah kemungkinan dimana class itu sendiri bisa dijadikan child dari class lain?
tentu saja bisa, ambil lah satu contoh, bukankah Class parent merupakan sub/childclass dari Class root?
namun di webhtb fitur ini belum dapat diaplikasikan, karena perlu dicari kesesuaian dengan programming php nya, berikut ini kutipan email ketika saya mengajukan request fitur ke developer WebHTB, beberapa waktu yang lalu.
...
i just wonder if webhtb support subclass, (parent and child) like original HTB concept
for example :
- root - (interface)
|
|-- office - (class)
| |
| |--acconting - (subclass)
| | --jane (client)
| | --mark (client)
| | --lisa (clilent)
| |
| |--engineering - (subclass)
| --kevin (client)
| --dave (client)
|
|-- hotspot - (class)
|--management - (sublcass)
| -- client
|
|--public - (subclass)
so, if the bandwidth of accounting subclas is empty or not used, the engineering subclass can borrow accounting bandwidth and burst to the office maximum bandiwtdh limit.
...
dan berikut kutipan balasannya ..
Hi Reza
For me is easy to implement subclasses but that, recursive, force me to do many changes in graphics and that can get some time, time to make that changes and test them very much.
...
Your proposal are very interesting and i will take in consideration, soon or later.
Thanx for idea.
Good day
jika menggunakan modul HTB untuk Webmin dari
http://www.sehier.fr/webmin-htb/
konsep class dan subclass/childclass dapat langsung diimplementasikan dengan mudah
pada gambar di bawah ini, penambahan subclass dapat dilakukan dengan meng-klik icon dalam lingkaran biru
untuk mikrotik, implementasi Class dan Childclass ini dapat dilakukan dengan menggunakan Queue Tree![]()
Offline
yup inilah jawaban bagi orang yang bnyak tanya knp queue tidak sprt yang mereka bayangkan ![]()
seperti yang telah disebutkan diatas, bahwa HTB merupakan konsep limiter yang classful dan harus memiliki parameter2 roots, handles, blings dan parents
jadi jika rules queues nya tidak diberi parent maka nilai parameter2 tesebut tidak terdifinisi, dan mengakibatkan kekacauan pada limiter (tidak sesuai harapan)tambahan, adakah kemungkinan dimana class itu sendiri bisa dijadikan child dari class lain?
tentu saja bisa, bukankah kelas parent merupakan sub/child dari class root?
namun di webhtb fitur ini belum dapat diaplikasikan, karena perlu dicari kesesuaian dengan programming php nya, berikut ini kutipan email ketika saya mengajukan request fitur ke developer WebHTB, beberapa waktu yang lalu.
sbnrnya bukan rahasia cuman orang tidak pakai logika dan kadang cuman ambil depannya doang, "dengan simple queue kita bisa membagi bw dengan merata", padahal masih membutuhkan aturan-aturan umum yang musti dipahami dalam melakukan shaping.
dari contoh diatas yang dikemuakan dalam proposalnya om faisal
dari interface ada 2 class yaitu office dan hotspot ini sudah model class - subclass.
kalo bloeh nambahkan sih begini
- root - (interface)
|
|-- Proxy (unlimited/as-max-as interface dikurangi total bw internet up + down)
|
|-- Internet BW (class) (max internet bandwith you can get)
|-- office - (class)
| |
| |--acconting - (subclass)
| | --jane (client)
| | --mark (client)
| | --lisa (clilent)
| |
| |--engineering - (subclass)
| --kevin (client)
| --dave (client)
|
|-- hotspot - (class)
|--management - (sublcass)
| -- client
|
|--public - (subclass)gimana kalo gitu?
terima kasih
Offline
punten, kalo berkenan ditulis juga di wiki
http://opensource.telkomspeedy.com/wiki
Offline
wew.... ini mengarahnya sudah keluar dari WebHTB tapi sudah pembahasan HTB secara keseluruhan...
mas si_faisal, pada dasarnya bisa implementasi sub classes di dalam classes tidak beda jauh dengan classes di dalam classes root (interfaces) asal menguasai command qdisc maka di php bisa dimainkan... memang mengatur ajax pada penampilan web agak sulit...
tambah seru.... ![]()

Offline
@bang opik
kalo langsung dari php melakukan eksekusi command tc sih bisa langsung,
tapi kalo tidak ditampilkan, akan sulit untuk di monitor ![]()
Offline
si_faisal wrote:
@bang opik
kalo langsung dari php melakukan eksekusi command tc sih bisa langsung,
tapi kalo tidak ditampilkan, akan sulit untuk di monitor
itu dia permasalahannya.... ilustrasi di web-base susah.... klo sekedar command tc/qdisc mudah diterapkan di php letaknya di file qos.php...

Offline
karena thread ini mendukung dan melandasi konsep Pemisahan Bandwidth IIX dan Internasional serta HTB secara umum, maka thread ini di beri Sticky![]()
Offline
si_faisal wrote:
karena thread ini mendukung dan melandasi konsep Pemisahan Bandwidth IIX dan Internasional serta HTB secara umum, maka thread ini di beri Sticky
begitu dong... kasih sticky... mr daniel dimintai pendapat tentang karateristik HTB di thread ini gimana mas si_faisal?! seru tuh...

Offline
si_faisal wrote:
Class Bandwidth Limit Priority
WARNET 256 480 3
-client1 64 480 5
-client2 64 480 5
-client3 64 480 5
PERHATIAN!
jumlah Bandwidth client1+client2+client3 = 64 + 64 +64 kbps = 192 kbps
HARUS KURANG DARI atau SAMA DENGAN nilai Limit Class = 480 kbps
Total Bandwidth Client Limit Class
192 kbps < 480 kbps
jika ketentuan ini tidak dipenuhi, maka konsep Class HTB akan diabaikan, dan masing-masing client dapat melebihi batas limit Class telah ditentukan (dengan kata lain, bandwidth bocor) big_smile
Kalau untuk bandwidth rebutan gimana bang? misal :untuk network 192.168.0.0/24
thanks
Offline
coba dibuat aja class dengan client merupakan subnet nya
192.168.0.0/24
fitur ini sudah bisa dilakukan pada webhtb versi 2.9 atau 2.9.5 modifikasi opikdesign![]()
Offline
si_faisal wrote:
coba dibuat aja class dengan client merupakan subnet nya
192.168.0.0/24
fitur ini sudah bisa dilakukan pada webhtb versi 2.9 atau 2.9.5 modifikasi opikdesign
aku pingin mentahan file /etc/sysconfig/htb nya?
bisa diuploadkan..
Offline
untuk startup script yah?
coba lihat thread Memisahkan BX IIX INTL dengan WebHTB, seingat saya ada di page 2 ![]()
Offline