Gambaran Besar Dulu: Apa Itu Queue Tree?
Bayangkan kamu punya satu kue bolu ukuran besar. Kue itu adalah bandwidth internet sekolah, 10 Mbps. Sekarang ada tiga kelompok yang mau makan: departemen IT, HRD, dan Marketing.
Kalau kue itu langsung dimakan berebutan tanpa aturan, yang paling rakus menang. Departemen IT yang butuh koneksi stabil untuk remote server malah kalah sama Marketing yang lagi streaming YouTube. Kacau, kan?
Queue Tree itu fungsinya seperti aturan potong kue yang adil dan bertingkat. Kamu tentukan dulu berapa bagian untuk masing-masing kelompok, lalu di dalam kelompok itu kamu tentukan lagi bagian per orang. Itulah konsep HTB (Hierarchical Token Bucket), artinya antrian paket data yang disusun berjenjang seperti pohon.
Queue Tree lebih canggih dari Simple Queue karena bisa:
- Memberikan prioritas, IT didahulukan saat jaringan padat
- Membolehkan “pinjam” sisa bandwidth yang tidak terpakai
- Bekerja per departemen dan per user sekaligus
Prasyarat yang Harus Dipahami Dulu
Sebelum membuat Queue Tree, ada satu langkah wajib: mangle. Ini sering bikin bingung pemula.
Mangle itu bukan “memanggang.” Mangle dalam MikroTik artinya menandai paket data. Ibarat di kantor pos, setiap paket kiriman ditempel stiker warna berbeda. Stiker merah untuk IT, biru untuk HRD, hijau untuk Marketing. Nanti queue tree tinggal baca stikernya, paket mana yang masuk antrian mana.
Tanpa mangle, queue tree tidak tahu paket mana milik siapa. Jadi mangle harus dibuat lebih dulu, queue tree dibuat belakangan.
Langkah 1: Buat Mangle (Penandaan Paket)
Ini dilakukan di menu: IP → Firewall → Mangle
Untuk departemen IT (subnet 192.168.10.0/24):
/ip firewall mangle add \
chain=forward \
src-address=192.168.10.0/24 \
action=mark-packet \
new-packet-mark=IT-traffic \
passthrough=yes
Penjelasan tiap parameternya:
chain=forward– kita menandai paket yang melewati router (bukan berasal dari router). Traffic user ke internet masuk kategori ini.src-address=192.168.10.0/24– paket yang berasal dari subnet IT.action=mark-packet– tindakannya: tempel “stiker” pada paket.new-packet-mark=IT-traffic– nama stikernya: “IT-traffic”.passthrough=yes– setelah ditandai, paket tetap diperiksa rule mangle berikutnya. Ini penting kalau kamu punya banyak rule.
Ulangi untuk HRD:
/ip firewall mangle add \
chain=forward \
src-address=192.168.20.0/24 \
action=mark-packet \
new-packet-mark=HRD-traffic \
passthrough=yes
Dan untuk Marketing:
/ip firewall mangle add \
chain=forward \
src-address=192.168.30.0/24 \
action=mark-packet \
new-packet-mark=Marketing-traffic \
passthrough=yes
Langkah 2: Buat Parent Queue (Atap/Induk)
Ini adalah “kue utuh” yang akan dibagi. Total bandwidth ISP = 10 Mbps.
/queue tree add \
name=Total-Download \
parent=global \
max-limit=10M
parent=global– artinya ini queue paling atas, tidak punya induk lagi. Global berarti berlaku di semua interface.max-limit=10M– batas maksimal total bandwidth yang boleh dipakai semua orang. Tidak bisa lebih dari ini.
Anggap ini seperti menetapkan “kue yang ada cuma segini, tidak bisa tambah.”
Langkah 3: Buat Child Queue per Departemen
Sekarang kita potong kue untuk masing-masing departemen.
IT (prioritas tertinggi):
/queue tree add \
name=IT-Download \
parent=Total-Download \
packet-mark=IT-traffic \
limit-at=4M \
max-limit=10M \
priority=1
HRD:
/queue tree add \
name=HRD-Download \
parent=Total-Download \
packet-mark=HRD-traffic \
limit-at=3M \
max-limit=8M \
priority=3
Marketing:
/queue tree add \
name=Marketing-Download \
parent=Total-Download \
packet-mark=Marketing-traffic \
limit-at=2M \
max-limit=6M \
priority=5
Penjelasan parameter penting:
parent=Total-Download– queue ini “anak” dari Total-Download. Jadi bandwidth yang didapat tidak bisa melebihi induknya (10M).packet-mark=IT-traffic– queue ini khusus menangani paket yang sudah ditempel stiker “IT-traffic” oleh mangle tadi.limit-at=4M– ini adalah CIR (Committed Information Rate), artinya bandwidth minimum yang dijamin untuk IT, meski jaringan sedang padat sekalipun. IT pasti dapat minimal 4 Mbps.max-limit=10M– batas maksimal yang boleh diambil IT, tapi hanya kalau HRD dan Marketing lagi tidak pakai.priority=1– angka 1 adalah prioritas tertinggi di MikroTik. Artinya kalau bandwidth mulai sempit, IT dilayani paling pertama. Marketing dapat priority=5, jadi dilayani paling terakhir di antara ketiganya.
Langkah 4: Tambah PCQ di Bawah Setiap Departemen
PCQ itu kepanjangannya Per Connection Queue. Fungsinya: membagi bandwidth departemen secara rata ke setiap user di dalamnya, tanpa perlu tahu berapa jumlah usernya.
Contohnya begini: IT dapat jatah 4M. Kalau ada 4 orang IT yang aktif, PCQ otomatis bagi masing-masing 1M. Kalau cuma ada 2 orang, masing-masing dapat 2M. PCQ yang hitung sendiri — kita tidak perlu buat queue satu per satu per user.
Pertama, pastikan PCQ type sudah ada di router (biasanya sudah ada secara default):
/queue type print
Cari pcq-download-default. Kalau ada, langsung pakai. Kalau belum ada, buat dulu:
/queue type add \
name=pcq-download \
kind=pcq \
pcq-classifier=dst-address
Lalu tambahkan queue PCQ di bawah masing-masing departemen:
PCQ untuk user-user IT:
/queue tree add \
name=IT-User-Download \
parent=IT-Download \
queue=pcq-download-default \
max-limit=10M
PCQ untuk user-user HRD:
/queue tree add \
name=HRD-User-Download \
parent=HRD-Download \
queue=pcq-download-default \
max-limit=8M
PCQ untuk user-user Marketing:
/queue tree add \
name=Marketing-User-Download \
parent=Marketing-Download \
queue=pcq-download-default \
max-limit=6M
Cara Verifikasi
Cek apakah queue tree sudah terbentuk dengan benar:
/queue tree print
Kalau hasilnya ada Total-Download sebagai parent, lalu di bawahnya ada IT-Download, HRD-Download, Marketing-Download, dan masing-masing punya child PCQ — berarti struktur pohon sudah benar.
Untuk melihat traffic yang masuk ke tiap queue secara real-time, buka WinBox → Queues → Queue Tree → klik kolom “Bytes” sambil ada traffic aktif.
Jebakan Umum yang Sering Terjadi
Ini yang sering salah, jadi hafalkan:
-
Mangle tidak dibuat dulu. Queue Tree tidak akan bekerja kalau mangle-nya belum ada. Paket tidak ada stiker = queue tree bingung mau taruh ke mana.
-
chain=forwardvschain=inputtertukar. Kalau traffic user ke internet, pakainyaforward. Kalauinputyang dipakai, paket tidak akan ketangkap. -
passthrough=nopadahal ada rule mangle berikutnya. Kalau paket ditandai lalupassthrough=no, paket berhenti di rule itu dan tidak diperiksa rule selanjutnya. Hasilnya, cuma departemen pertama yang ketandai, yang lain tidak. -
Priority salah arah. Banyak siswa mengira priority=8 itu paling tinggi. Justru sebaliknya — priority=1 adalah yang tertinggi, priority=8 adalah yang paling rendah.
-
max-limitchild queue melebihimax-limitparent. Misal parent cuma 10M tapi child dikasih max-limit=20M. Router akan tetap ikut batasan parent, tapi konfigurasi seperti ini membingungkan dan sebaiknya dibuat logis. -
Lupa
packet-markdi child queue. Kalau fieldpacket-markkosong, queue itu akan memproses semua traffic, bukan hanya traffic yang ditandai mangle.
Kuis Singkat
Coba jawab tanpa buka catatan dulu:
-
Kenapa Firewall Mangle harus dibuat sebelum Queue Tree dikonfigurasi? Apa yang terjadi kalau urutan itu dibalik?
-
Dalam skenario di atas, IT punya
limit-at=4Mdanmax-limit=10M. Apa artinya kalau HRD dan Marketing lagi tidak aktif sama sekali — berapa maksimal yang bisa IT dapatkan? -
Di MikroTik, queue dengan
priority=1dan queue denganpriority=8— mana yang dilayani lebih dulu saat bandwidth sedang sempit?