Manajemen Bandwidth MikroTik: Simple Queue, Queue Tree & PCQ

πŸ‘‘ Premium
πŸ“… 20 Juni 2026
πŸ“– 15 menit baca
Menengah
🌐 MikroTik

1. Mengapa Manajemen Bandwidth Penting?

Manajemen bandwidth adalah proses mengatur dan membatasi penggunaan jaringan agar setiap pengguna mendapatkan bagian bandwidth yang adil. Tanpa manajemen bandwidth yang baik, satu pengguna yang melakukan download besar-besaran bisa menghabiskan seluruh kapasitas jaringan dan membuat pengguna lain mengalami koneksi yang sangat lambat.

Konsep Fair Usage

Fair usage atau penggunaan adil adalah prinsip dasar di mana setiap pengguna di jaringan mendapatkan alokasi bandwidth yang proporsional. Dalam konteks RT/RW net atau warnet, fair usage memastikan bahwa pelanggan dengan paket 5 Mbps benar-benar mendapatkan kecepatan maksimal 5 Mbps, sementara pelanggan paket 10 Mbps mendapatkan 10 Mbps.

Tanpa pembagian bandwidth yang adil, pengguna yang membayar paket lebih mahal bisa saja mendapatkan kecepatan yang sama dengan pengguna paket murah β€” atau bahkan lebih lambat jika ada heavy downloader di jaringan yang sama.

Kualitas Layanan (QoS)

QoS (Quality of Service) adalah mekanisme untuk memprioritaskan jenis traffic tertentu agar aplikasi yang sensitif terhadap latency seperti VoIP (voice call), video conference, dan gaming online tetap berjalan lancar meskipun jaringan sedang sibuk.

Tipe Traffic Sensitivitas Prioritas Catatan
VoIP / Telepon πŸ”΄ Sangat Sensitif Latency Tinggi (1) Butuh latency <150ms, jitter <30ms
Gaming Online πŸ”΄ Sensitif Latency Tinggi (2) Butuh latency rendah, bandwidth kecil
Video Conference 🟑 Sedang Sedang (3) Butuh bandwidth stabil & minimal 2 Mbps
Browsing / Email 🟒 Tidak Sensitif Normal (4) Intermittent traffic, toleran latency
Download / Torrent 🟒 Tidak Sensitif Rendah (8) Bulk transfer, bisa ditunda
πŸ“Š Bagaimana QoS Bekerja
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚                    Total Bandwidth: 50 Mbps                     β”‚
  β”‚                                                                β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚  VoIP   β”‚ β”‚ Gaming  β”‚ β”‚ Browsing β”‚ β”‚   Download/Bulk   β”‚  β”‚
  β”‚  β”‚ 5 Mbps  β”‚ β”‚ 5 Mbps  β”‚ β”‚ 20 Mbps  β”‚ β”‚    20 Mbps        β”‚  β”‚
  β”‚  β”‚Priority β”‚ β”‚Priority β”‚ β”‚ Priority β”‚ β”‚   Priority Low    β”‚  β”‚
  β”‚  β”‚   1     β”‚ β”‚   2     β”‚ β”‚   4      β”‚ β”‚      8            β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β”‚                                                                β”‚
  β”‚  ↑ Traffic prioritas tinggi DIPROSES DULU di queue            β”‚
  β”‚  ↓ Traffic prioritas rendah menunggu jika bandwidth penuh     β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      
πŸ’‘ Mengapa MikroTik untuk Manajemen Bandwidth?

RouterOS MikroTik menyediakan fitur queue yang sangat powerful dan fleksibel β€” mulai dari Simple Queue untuk setup cepat, hingga Queue Tree dengan HTB (Hierarchical Token Bucket) untuk manajemen traffic tingkat lanjut. Semua fitur ini tersedia tanpa lisensi tambahan, menjadikan MikroTik pilihan populer untuk RT/RW net, warnet, dan ISP kecil-menengah di Indonesia.

2. Simple Queue: Setup Dasar Bandwidth Management

Simple Queue adalah metode paling sederhana untuk membatasi bandwidth di MikroTik. Setiap queue bisa dibuat untuk IP address tertentu, subnet, atau bahkan seluruh interface. Simple Queue menggunakan algoritma FIFO (First In, First Out) dan sangat mudah dikonfigurasi.

Membuat Simple Queue via WinBox

Buka WinBox β†’ Queue β†’ Simple Queue. Klik tanda + untuk menambah queue baru. Beberapa parameter utama yang perlu diatur:

Parameter Deskripsi Contoh
Name Nama identifikasi queue User-Rumah-A
Target IP address atau subnet yang dibatasi 192.168.10.2
Max Limit Batas maksimum kecepatan upload/download Down: 5M / Up: 2M
Limit At Batas minimum yang dijamin (untuk HTB) Down: 1M / Up: 512k
Queue Type Algoritma penjadwalan queue default (FIFO)

Membuat Simple Queue via Terminal

MikroTik CLI
# Queue untuk pengguna dengan paket 5 Mbps
/queue simple add name="User-A-Rumah" \
  target=192.168.10.2 \
  max-limit=5M/2M \
  limit-at=1M/512k \
  burst-limit=8M/3M \
  burst-threshold=3M/1M \
  burst-time=8s/8s \
  priority=8/8 \
  queue=default-small/default-small \
  comment="Paket 5Mbps - Rumah A"

# Queue untuk pengguna dengan paket 10 Mbps
/queue simple add name="User-B-Rumah" \
  target=192.168.10.3 \
  max-limit=10M/5M \
  limit-at=2M/1M \
  burst-limit=15M/8M \
  burst-threshold=7M/3M \
  burst-time=10s/10s \
  priority=8/8 \
  queue=default-small/default-small \
  comment="Paket 10Mbps - Rumah B"

# Queue untuk pengguna dengan paket 2 Mbps (hemat)
/queue simple add name="User-C-Rumah" \
  target=192.168.10.4 \
  max-limit=2M/1M \
  limit-at=512k/256k \
  priority=8/8 \
  queue=default-small/default-small \
  comment="Paket 2Mbps - Rumah C"
      

Memahami Parameter Burst

Burst adalah fitur yang memungkinkan pengguna melebihi batas max-limit secara sementara selama periode waktu tertentu, asalkan rata-rata penggunaan dalam periode tersebut masih di bawah threshold. Burst membantu mengakomodasi lonjakan traffic sesaat seperti loading halaman web.

Parameter Burst Fungsi Nilai Contoh
Burst Limit Batas kecepatan saat burst aktif 8M (download)
Burst Threshold Ambang rata-rata untuk memicu burst 3M (download)
Burst Time Periode perhitungan rata-rata 8 detik
πŸ“Š Ilustrasi Mekanisme Burst
  Kecepatan
  (Mbps)
    8 ─ β”Œβ”€β”€β”                  ← Burst Limit (8M)
      β”‚ β”‚  β”‚
    5 ─ β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ ← Max Limit (5M)
      β”‚ β”‚  β”‚  β”Œβ”€β”€β”
    3 ──┼──┼───  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ ← Burst Threshold (3M)
      β”‚ β”‚  β”‚  β”‚  β”‚
    1 ─ β”‚  β”‚  β”‚  β”œβ”€β”€ ← Limit At (1M, guaranteed)
      β”‚ β”‚  β”‚  β”‚  β”‚
    0 ──┴──┴──┴──┴──────────────────────────── Time
         ↑
         Saat rata-rata dibawah threshold,
         burst diaktifkan secara otomatis
      
βœ… Tips: Parent Queue untuk Aggregate

Gunakan parameter parent pada Simple Queue untuk membuat hierarki. Queue parent akan membatasi total bandwidth, sementara child queue membatasi masing-masing pengguna. Ini penting untuk memastikan total penggunaan tidak melebihi bandwidth ISP yang tersedia.

3. Queue Tree: HTB dan Hierarchical Traffic Control

Queue Tree adalah metode queue tingkat lanjut yang menggunakan algoritma HTB (Hierarchical Token Bucket). Berbeda dengan Simple Queue yang hanya memproses traffic pada satu arah per queue, Queue Tree memproses traffic melalui pohon hierarki dan menggunakan firewall mangle untuk menandai paket yang akan diqueue.

Keunggulan Queue Tree vs Simple Queue

Fitur Simple Queue Queue Tree (HTB)
Performa CPU lebih berat (per-connection) Lebih ringan, proses per-packet
Hirarki Terbatas (max 1 level parent) Hirarki mendalam, fleksibel
Prioritas Prioritas 1-8 (per queue) Prioritas 1-10 per level hierarki
Parent Satu parent saja Banyak child per parent
Skalabilitas Cocok untuk <50 pengguna Cocok untuk ratusan pengguna
Packet Marking Tidak perlu mangle Harus pakai firewall mangle

Konfigurasi Queue Tree dengan HTB

Berikut adalah contoh konfigurasi Queue Tree untuk jaringan RT/RW dengan total bandwidth 30 Mbps dari ISP:

MikroTik CLI
# ============================================
# STEP 1: Tandai packet dengan Mangle
# ============================================

# Tandai semua paket download (dari internet ke user)
/ip firewall mangle add chain=forward action=mark-packet \
  new-packet-mark=download-all \
  src-address=192.168.10.0/24 \
  comment="Mark download - all users"

# Tandai semua paket upload (dari user ke internet)
/ip firewall mangle add chain=forward action=mark-packet \
  new-packet-mark=upload-all \
  dst-address=192.168.10.0/24 \
  comment="Mark upload - all users"

# Tandai traffic VoIP (port 5060 UDP)
/ip firewall mangle add chain=forward action=mark-packet \
  new-packet-mark=voip-traffic \
  protocol=udp dst-port=5060 \
  comment="Mark VoIP"

# Tandai traffic game online (port gaming umum)
/ip firewall mangle add chain=forward action=mark-packet \
  new-packet-mark=game-traffic \
  src-port=27015,7777,3074 \
  comment="Mark Gaming"

# Tandai traffic download besar (TCP dengan port 80, 443)
/ip firewall mangle add chain=forward action=mark-packet \
  new-packet-mark=bulk-traffic \
  protocol=tcp dst-port=80,443 \
  connection-state=new \
  comment="Mark Bulk Download"
      
MikroTik CLI
# ============================================
# STEP 2: Buat Queue Tree (Parent & Child)
# ============================================

# Parent Queue untuk Download (total dari ISP)
/queue tree add name="TOTAL-DOWNLOAD" \
  parent=ether1 \
  packet-mark=download-all \
  max-limit=30M \
  limit-at=30M \
  priority=1 \
  queue=default \
  comment="Total download bandwidth"

# Parent Queue untuk Upload
/queue tree add name="TOTAL-UPLOAD" \
  parent=ether1 \
  packet-mark=upload-all \
  max-limit=10M \
  limit-at=10M \
  priority=1 \
  queue=default \
  comment="Total upload bandwidth"

# --- Child Queue Download ---

# Prioritas Tinggi: VoIP (5 Mbps guaranteed)
/queue tree add name="VOIP-Download" \
  parent="TOTAL-DOWNLOAD" \
  packet-mark=voip-traffic \
  max-limit=5M \
  limit-at=5M \
  priority=1 \
  queue=default \
  comment="VoIP download priority"

# Prioritas Tinggi: Gaming (5 Mbps guaranteed)
/queue tree add name="GAME-Download" \
  parent="TOTAL-DOWNLOAD" \
  packet-mark=game-traffic \
  max-limit=5M \
  limit-at=5M \
  priority=2 \
  queue=default \
  comment="Gaming download priority"

# Prioritas Normal: Browsing & Web (15 Mbps)
/queue tree add name="BROWSING-Download" \
  parent="TOTAL-DOWNLOAD" \
  max-limit=20M \
  limit-at=10M \
  priority=4 \
  queue=default-small/default-small \
  comment="Browsing download"

# Prioritas Rendah: Bulk/Download (sisa bandwidth)
/queue tree add name="BULK-Download" \
  parent="TOTAL-DOWNLOAD" \
  packet-mark=bulk-traffic \
  max-limit=20M \
  limit-at=2M \
  priority=8 \
  queue=default-small/default-small \
  comment="Bulk download - lowest priority"
      
πŸ“Š Struktur Hierarki Queue Tree
                          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                          β”‚  TOTAL-DOWNLOAD  β”‚
                          β”‚  Max: 30M        β”‚
                          β”‚  Parent: ether1  β”‚
                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                   β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚                    β”‚                     β”‚
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚ VOIP-Download   β”‚ β”‚ GAME-Download   β”‚  β”‚ BROWSING-Down   β”‚
     β”‚ Max: 5M         β”‚ β”‚ Max: 5M         β”‚  β”‚ Max: 20M        β”‚
     β”‚ Priority: 1     β”‚ β”‚ Priority: 2     β”‚  β”‚ Priority: 4     β”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                       β”‚
                                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
                                              β”‚ BULK-Download   β”‚
                                              β”‚ Max: 20M        β”‚
                                              β”‚ Priority: 8     β”‚
                                              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

     Prioritas 1 = Diproses paling awal (VoIP)
     Prioritas 8 = Diproses terakhir (Bulk Download)
      

Queue Type untuk Performa Optimal

MikroTik menyediakan beberapa algoritma queue type yang bisa digunakan pada Queue Tree. Pemilihan queue type yang tepat sangat mempengaruhi performa dan keadilan distribusi bandwidth.

MikroTik CLI
# Lihat queue type yang tersedia
/queue type print

# Queue type default yang umum digunakan:
# - default       : FIFO queue (100 packet)
# - default-small : FIFO queue (50 packet), lebih ringan
# - pcq-download  : PCQ untuk download
# - pcq-upload    : PCQ untuk upload
# - pfifo         : Priority FIFO

# Buat custom queue type untuk latency-sensitive
/queue type add name="fast-pfifo" kind=pfifo \
  limit=50 comment="Queue cepat untuk VoIP/Gaming"
      
⚠️ Peringatan: Queue Tree Membutuhkan Mangle

Queue Tree TIDAK bisa bekerja tanpa firewall mangle. Kamu harus menandai paket (packet marking) terlebih dahulu sebelum membuat Queue Tree. Jika tidak ada packet mark, queue tree tidak akan memproses traffic apapun β€” ini adalah kesalahan umum pemula.

4. PCQ (Per Connection Queue): Solusi untuk Banyak User

PCQ (Per Connection Queue) adalah fitur MikroTik yang memungkinkan pembagian bandwidth secara otomatis dan adil untuk banyak pengguna dalam satu subnet tanpa perlu membuat queue terpisah untuk setiap IP. PCQ sangat ideal untuk RT/RW net, warnet, atau hotspot dengan banyak pengguna.

Bagaimana PCQ Bekerja?

PCQ bekerja dengan mendeteksi setiap koneksi unik berdasarkan parameter tertentu (biasanya source address atau destination address). Setiap koneksi akan mendapat alokasi bandwidth yang sama secara merata dari total limit yang ditentukan.

Parameter PCQ Deskripsi Contoh
Rate Limit kecepatan per koneksi (0 = unlimited) 1M (per koneksi maks 1 Mbps)
Dst. Address Berikan IP unik ke setiap destination 192.168.10.0/24
Src. Address Berikan IP unik ke setiap source 192.168.10.0/24
Interfaces Interface yang dipantau PCQ ether1, ether2
Queue Type Algoritma penjadwalan pcq-upload, pcq-download

Setup PCQ untuk RT/RW Net

MikroTik CLI
# ============================================
# Konfigurasi PCQ untuk 100+ pengguna RT/RW
# Total bandwidth ISP: 50 Mbps down / 15 Mbps up
# ============================================

# --- STEP 1: Buat PCQ Type ---

# PCQ Type untuk download (berdasarkan source IP)
/queue type add name="pcq-download" kind=pcq \
  pcq-classifier=src-address \
  pcq-rate=0 \
  pcq-total-limit=2000 \
  pcq-burst-rate=0 \
  pcq-burst-threshold=0 \
  pcq-burst-time=10s \
  pcq-dst-address6-mask=128 \
  pcq-src-address6-mask=128 \
  comment="PCQ Download - fair share per user"

# PCQ Type untuk upload (berdasarkan destination IP)
/queue type add name="pcq-upload" kind=pcq \
  pcq-classifier=dst-address \
  pcq-rate=0 \
  pcq-total-limit=2000 \
  pcq-burst-rate=0 \
  pcq-burst-threshold=0 \
  pcq-burst-time=10s \
  pcq-dst-address6-mask=128 \
  pcq-src-address6-mask=128 \
  comment="PCQ Upload - fair share per user"
      
MikroTik CLI
# --- STEP 2: Tandai Packet dengan Mangle ---

# Tandai download (traffic masuk dari internet ke user)
/ip firewall mangle add chain=forward \
  src-address=192.168.10.0/24 \
  action=mark-packet \
  new-packet-mark=pcq-download-mark \
  passthrough=yes \
  comment="PCQ mark download"

# Tandai upload (traffic keluar dari user ke internet)
/ip firewall mangle add chain=forward \
  dst-address=192.168.10.0/24 \
  action=mark-packet \
  new-packet-mark=pcq-upload-mark \
  passthrough=yes \
  comment="PCQ mark upload"

# --- STEP 3: Buat Queue Tree dengan PCQ ---

# Parent download queue
/queue tree add name="PCQ-Download" \
  parent=ether1 \
  packet-mark=pcq-download-mark \
  max-limit=50M \
  limit-at=50M \
  queue=pcq-download \
  priority=8 \
  comment="PCQ total download 50M"

# Parent upload queue
/queue tree add name="PCQ-Upload" \
  parent=ether1 \
  packet-mark=pcq-upload-mark \
  max-limit=15M \
  limit-at=15M \
  queue=pcq-upload \
  priority=8 \
  comment="PCQ total upload 15M"
      
πŸ’‘ Perhitungan PCQ Otomatis

Dengan PCQ, kamu tidak perlu menghitung alokasi per user secara manual. Misalnya total bandwidth download adalah 50 Mbps dengan 100 pengguna aktif β€” PCQ akan otomatis membagi bandwidth secara merata (~500 Kbps per pengguna). Saat pengguna aktif berkurang ke 50 orang, masing-masing akan mendapatkan ~1 Mbps. Ini yang membuat PCQ sangat efisien untuk RT/RW net.

PCQ dengan Rate Limit Per User

Jika ingin memberikan batasan per-koneksi tertentu, gunakan parameter pcq-rate:

MikroTik CLI
# PCQ dengan rate limit per koneksi 2 Mbps
/queue type set pcq-download pcq-rate=2M

# Atau buat tipe baru untuk pengguna paket tertentu
/queue type add name="pcq-down-1m" kind=pcq \
  pcq-classifier=src-address \
  pcq-rate=1M \
  pcq-total-limit=1000 \
  comment="PCQ Download limit 1Mbps per koneksi"
      

5. Mangle untuk Traffic Classification

Firewall Mangle adalah fitur MikroTik yang sangat penting dalam manajemen bandwidth. Mangle berfungsi untuk menandai (mark) paket, header, atau connection berdasarkan kriteria tertentu. Tanda ini kemudian digunakan oleh Queue Tree, Simple Queue, dan firewall rules lainnya untuk memproses traffic secara diferensial.

Jenis-Jenis Mark di Mangle

Jenis Mark Fungsi Penggunaan
Mark Packet Menandai setiap paket individual Queue Tree, traffic shaping
Mark Connection Menandai seluruh koneksi berdasarkan paket pertama Mark connection untuk diteruskan ke mark packet
Mark Flow Menandai flow tertentu Netflow, analisis traffic
Mark Routing Menandai paket untuk routing berbeda Policy-based routing, load balancing
Mark DSCP Mengubah DSCP value pada header IP QoS inter-operability

Contoh Mangle untuk Klasifikasi Traffic

MikroTik CLI
# ============================================
# Klasifikasi Traffic Berdasarkan Port Aplikasi
# ============================================

# --- VoIP ---
/ip firewall mangle add chain=forward protocol=udp \
  dst-port=5060-5080 src-port=5060-5080 \
  action=mark-connection new-connection-mark=voip-conn \
  passthrough=yes comment="VoIP SIP Connection"

/ip firewall mangle add chain=forward protocol=udp \
  dst-port=10000-20000 \
  connection-mark=voip-conn \
  action=mark-packet new-packet-mark=voip-pkt \
  passthrough=yes comment="VoIP Packets"

# --- Gaming ---
/ip firewall mangle add chain=forward protocol=udp \
  dst-port=3074,27015-27030,7777-7781 \
  action=mark-connection new-connection-mark=game-conn \
  passthrough=yes comment="Gaming Connection"

/ip firewall mangle add chain=forward \
  connection-mark=game-conn \
  action=mark-packet new-packet-mark=game-pkt \
  passthrough=yes comment="Gaming Packets"

# --- Streaming (YouTube, Netflix) ---
/ip firewall mangle add chain=forward protocol=tcp \
  dst-port=443 content="youtube.com" \
  action=mark-connection new-connection-mark=stream-conn \
  passthrough=yes comment="YouTube Connection"

/ip firewall mangle add chain=forward \
  connection-mark=stream-conn \
  action=mark-packet new-packet-mark=stream-pkt \
  passthrough=yes comment="Streaming Packets"

# --- Download Besar (torrent, ftp) ---
/ip firewall mangle add chain=forward protocol=tcp \
  dst-port=6881-6889,6969,21 \
  action=mark-connection new-connection-mark=bulk-conn \
  passthrough=yes comment="Bulk Download Connection"

/ip firewall mangle add chain=forward \
  connection-mark=bulk-conn \
  action=mark-packet new-packet-mark=bulk-pkt \
  passthrough=yes comment="Bulk Download Packets"
      

Sequential Marking: Connection β†’ Packet

Best practice dalam menggunakan mangle adalah menggunakan dua langkah: pertama mark connection, lalu mark packet berdasarkan connection mark tersebut. Pendekatan ini lebih efisien karena MikroTik hanya perlu memeriksa paket pertama koneksi untuk mark connection, sementara paket selanjutnya otomatis menggunakan connection mark yang sama.

⚠️ Peringatan: Urutan Mangle Penting

Mangle rules dieksekusi dari atas ke bawah secara berurutan. Pertama, buat mark-connection untuk setiap kategori traffic, BARU setelah itu buat mark-packet berdasarkan connection mark. Jangan lupa set passthrough=yes pada mark-connection agar paket bisa di-mark oleh rule berikutnya.

πŸ“Š Flow Marking Traffic
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚                    ALUR MARKING TRAFFIC                      β”‚
  β”‚                                                              β”‚
  β”‚  Paket Masuk ──▢ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                       β”‚
  β”‚                  β”‚  Mark Connection  β”‚  (periksa port/proto)  β”‚
  β”‚                  β”‚  voip-conn        β”‚                       β”‚
  β”‚                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                       β”‚
  β”‚                           β–Ό                                  β”‚
  β”‚                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                       β”‚
  β”‚                  β”‚  Mark Packet      β”‚  (berdasarkan conn)   β”‚
  β”‚                  β”‚  voip-pkt         β”‚                       β”‚
  β”‚                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                       β”‚
  β”‚                           β–Ό                                  β”‚
  β”‚                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                       β”‚
  β”‚                  β”‚   Queue Tree     β”‚  (prioritas tinggi)    β”‚
  β”‚                  β”‚   VOIP-Queue     β”‚                       β”‚
  β”‚                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                       β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      

6. Bandwidth Test & Monitoring

Setelah mengkonfigurasi queue, sangat penting untuk menguji dan memantau apakah pembagian bandwidth berjalan sesuai harapan. MikroTik menyediakan berbagai tools bawaan untuk melakukan ini.

Built-in Bandwidth Test

MikroTik CLI
# Jalankan bandwidth test dari router
/tool bandwidth-test address=192.168.10.1 \
  duration=30s \
  direction=both \
  protocol=udp \
  rx-rate=yes \
  tx-rate=yes

# Test ke server speedtest eksternal
/tool bandwidth-test address=speedtest.telkom.id \
  duration=30s \
  direction=receive \
  protocol=tcp

# Test untuk memverifikasi queue per user
# (jalankan dari PC user tertentu)
# Buka browser ke: https://speedtest.net
      

Monitor Queue Secara Real-time

MikroTik CLI
# Monitor simple queue secara real-time
/queue simple monitor 0

# Lihat traffic per queue (total)
/queue simple print stats

# Monitor queue tree
/queue tree print stats

# Monitoring rate saat ini per simple queue
/queue simple print where target=192.168.10.2

# Cek queue yang melebihi batas
/queue simple print where rate>limit-at

# Grafik traffic untuk interface tertentu
/tool traffic-monitor name=download-graph \
  interface=ether1 \
  admin-address=192.168.10.1 \
  rx=yes \
  tx=yes
      
# Contoh output /queue simple print stats Flags: X - DISABLED, D - DYNAMIC NAME TARGET TX-RATE RX-RATE TX-BYTES RX-BYTES User-A-Rumah 192.168.10.2 5M/2M 5M/2M 1.2GiB/340MiB 8.5GiB/1.2GiB User-B-Rumah 192.168.10.3 10M/5M 10M/5M 2.8GiB/920MiB 15.2GiB/3.5GiB User-C-Rumah 192.168.10.4 2M/1M 2M/1M 450MiB/180MiB 2.1GiB/450MiB

Script Monitoring Otomatis

MikroTik CLI
# Script untuk mengecek pengguna yang melebihi batas
/system scheduler add name="monitor-queue" \
  interval=5m \
  on-event={
    :local violators [/queue simple find where rate>max-limit]
    :foreach v in=$violators do={
      :local name [/queue simple get $v name]
      :local rate [/queue simple get $v rate]
      :log warning "Queue VIOLATION: $name using $rate"
    }
  }
  comment="Monitor queue violations every 5 minutes"

# Script untuk reset counter traffic harian
/system scheduler add name="daily-reset" \
  start-time=00:00:00 \
  interval=1d \
  on-event={
    /queue simple reset-counters-all
    :log info "Queue counters reset successfully"
  }
  comment="Reset queue counters setiap tengah malam"
      
βœ… Tips: SNMP untuk Monitoring Eksternal

Aktifkan SNMP pada MikroTik untuk monitoring dengan Zabbix, LibreNMS, atau PRTG. Setiap queue dapat dipantau melalui OID SNMP yang tersedia. Kamu bisa membuat alert otomatis jika traffic user tertentu melebihi batas atau jika total utilisasi link melebihi threshold tertentu.

7. Prioritas Traffic: VoIP, Gaming, Download

Strategi prioritas traffic adalah inti dari implementasi QoS yang efektif. Dengan memberikan prioritas yang tepat, aplikasi yang sensitif terhadap latency dan jitter akan tetap berjalan lancar meskipun jaringan sedang penuh.

Contoh Prioritas untuk Jaringan RT/RW

MikroTik CLI
# ============================================
# Prioritas Traffic - Konfigurasi Lengkap
# Total BW: 30 Mbps down, 10 Mbps up
# ============================================

# --- STEP 1: Mangle untuk klasifikasi ---
# (Gunakan contoh mangle dari bagian sebelumnya)

# --- STEP 2: Queue Tree dengan Prioritas ---

# Parent Download
/queue tree add name="BW-DOWN" parent=ether1 \
  max-limit=30M limit-at=30M priority=1 comment="BW Total Down"

# Parent Upload
/queue tree add name="BW-UP" parent=ether1 \
  max-limit=10M limit-at=10M priority=1 comment="BW Total Up"

# --- PRIORITAS 1: VoIP ---
/queue tree add name="VoIP-DL" parent="BW-DOWN" \
  packet-mark=voip-pkt max-limit=5M limit-at=3M \
  priority=1 queue=default comment="VoIP Download P1"

/queue tree add name="VoIP-UL" parent="BW-UP" \
  packet-mark=voip-pkt max-limit=2M limit-at=1M \
  priority=1 queue=default comment="VoIP Upload P1"

# --- PRIORITAS 2: Gaming ---
/queue tree add name="Game-DL" parent="BW-DOWN" \
  packet-mark=game-pkt max-limit=8M limit-at=5M \
  priority=2 queue=default comment="Gaming Download P2"

/queue tree add name="Game-UL" parent="BW-UP" \
  packet-mark=game-pkt max-limit=3M limit-at=2M \
  priority=2 queue=default comment="Gaming Upload P2"

# --- PRIORITAS 3: Video Conference ---
/queue tree add name="Video-DL" parent="BW-DOWN" \
  packet-mark=video-pkt max-limit=10M limit-at=5M \
  priority=3 queue=default-small comment="Video Conf Download P3"

/queue tree add name="Video-UL" parent="BW-UP" \
  packet-mark=video-pkt max-limit=3M limit-at=2M \
  priority=3 queue=default-small comment="Video Conf Upload P3"

# --- PRIORITAS 4: Browsing (Default) ---
/queue tree add name="Browse-DL" parent="BW-DOWN" \
  max-limit=25M limit-at=10M \
  priority=4 queue=default-small/comment="Browsing Download P4"

/queue tree add name="Browse-UL" parent="BW-UP" \
  max-limit=8M limit-at=3M \
  priority=4 queue=default-small comment="Browsing Upload P4"

# --- PRIORITAS 8: Bulk/Download ---
/queue tree add name="Bulk-DL" parent="BW-DOWN" \
  packet-mark=bulk-pkt max-limit=15M limit-at=1M \
  priority=8 queue=default-small comment="Bulk Download P8"

/queue tree add name="Bulk-UL" parent="BW-UP" \
  packet-mark=bulk-pkt max-limit=5M limit-at=256k \
  priority=8 queue=default-small comment="Bulk Upload P8"
      
πŸ“Š Visualisasi Prioritas Traffic
  Saat bandwidth penuh (30 Mbps download):

  Prioritas 1 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ VoIP        (3-5M)  ← DIPROSES DULU
  Prioritas 2 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   Gaming      (5-8M)
  Prioritas 3 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     Video Conf   (5-10M)
  Prioritas 4 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ         Browsing     (10-25M)
  Prioritas 8 β–ˆβ–ˆβ–ˆβ–ˆ                 Bulk/DL     (1-15M)  ← TERAKHIR

  β–ˆ = Bandwidth yang dialokasikan

  Ketika jaringan tidak penuh, setiap traffic bisa
  menggunakan bandwidth maksimum tanpa batasan prioritas.
      

Konfigurasi Simple Queue dengan Prioritas Per User

MikroTik CLI
# Simple Queue dengan priority per user
# User VIP (prioritas lebih tinggi)
/queue simple add name="VIP-User" \
  target=192.168.10.10 \
  max-limit=10M/5M \
  limit-at=5M/2M \
  priority=1/1 \
  comment="VIP User - Prioritas Tinggi"

# User reguler (prioritas normal)
/queue simple add name="Regular-User" \
  target=192.168.10.20 \
  max-limit=5M/2M \
  limit-at=2M/1M \
  priority=8/8 \
  comment="Regular User - Prioritas Normal"

# Nilai priority pada Simple Queue:
# 1   = Highest priority (diproses paling awal)
# 8   = Lowest priority (diproses paling akhir)
# Default = 8
      
πŸ’‘ Catatan Penting tentang Priority

Pada Queue Tree, nilai priority berlaku dalam satu parent queue. Artinya, child queue dengan priority=1 pada parent "A" tidak akan mengambil bandwidth dari parent "B" meskipun parent "B" memiliki child dengan priority=8. Untuk pembagian antar-parent, gunakan parameter limit-at sebagai jaminan minimum bandwidth.

8. Template Queue untuk RT/RW Net

Berikut adalah template lengkap konfigurasi manajemen bandwidth untuk jaringan RT/RW Net dengan 50-200 pengguna. Template ini bisa disesuaikan sesuai kebutuhan dan bandwidth ISP yang tersedia.

Skema Topologi RT/RW Net

πŸ“Š Topologi Jaringan RT/RW Net
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚                                                                 β”‚
  β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                                  β”‚
  β”‚    β”‚   ISP    β”‚                                                  β”‚
  β”‚    β”‚30M/10M   β”‚                                                  β”‚
  β”‚    β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜                                                  β”‚
  β”‚         β”‚ ether1 (WAN)                                          β”‚
  β”‚    β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                  β”‚
  β”‚    β”‚           MikroTik RB750Gr3              β”‚                  β”‚
  β”‚    β”‚           RouterOS v7.x                  β”‚                  β”‚
  β”‚    β”‚                                          β”‚                  β”‚
  β”‚    β”‚  Queue: PCQ + Queue Tree + Mangle        β”‚                  β”‚
  β”‚    β”‚  Total: 30M down / 10M up                β”‚                  β”‚
  β”‚    β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜                  β”‚
  β”‚         β”‚ether2   β”‚ether3   β”‚ether4   β”‚ether5                   β”‚
  β”‚         β”‚         β”‚         β”‚         β”‚                          β”‚
  β”‚    β”Œβ”€β”€β”€β”€β”΄β”€β”€β” β”Œβ”€β”€β”€β”€β”΄β”€β”€β” β”Œβ”€β”€β”€β”€β”΄β”€β”€β” β”Œβ”€β”€β”€β”€β”΄β”€β”€β”                     β”‚
  β”‚    β”‚ Blok Aβ”‚ β”‚ Blok Bβ”‚ β”‚ Blok Cβ”‚ β”‚  AP   β”‚                     β”‚
  β”‚    β”‚10 userβ”‚ β”‚15 userβ”‚ β”‚12 userβ”‚ β”‚WiFi   β”‚                     β”‚
  β”‚    β”‚ 5Mbps β”‚ β”‚ 5Mbps β”‚ β”‚ 5Mbps β”‚ β”‚8 user β”‚                     β”‚
  β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”˜                     β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      

Script Lengkap Template Queue RT/RW

MikroTik CLI β€” Template RT/RW Net
# ============================================
# TEMPLATE MANAJEMEN BANDWIDTH RT/RW NET
# Bandwidth: 30 Mbps Down / 10 Mbps Up
# Users: 45+ pengguna per-blok
# ============================================

# ---------- KONFIGURASI INTERFACE ----------
# Pastikan interface sudah dikonfigurasi dengan benar
# ether1 = WAN (ke ISP)
# ether2-5 = LAN (ke user/switch/blok)

# ---------- STEP 1: BUAT ADDRESS LIST ----------
# Grouping subnet per blok
/ip firewall address-list
add address=192.168.10.0/28 list=blok-a comment="Blok A (1-15)"
add address=192.168.10.16/28 list=blok-b comment="Blok B (16-30)"
add address=192.168.10.32/28 list=blok-c comment="Blok C (31-45)"
add address=192.168.10.48/28 list=blok-d comment="Blok D/WiFi (46-60)"

# ---------- STEP 2: MANGLE RULES ----------
# Mark download semua user
/ip firewall mangle add chain=forward \
  src-address-list=blok-a \
  action=mark-packet new-packet-mark=dl-blok-a \
  passthrough=yes comment="DL Mark Blok A"

/ip firewall mangle add chain=forward \
  src-address-list=blok-b \
  action=mark-packet new-packet-mark=dl-blok-b \
  passthrough=yes comment="DL Mark Blok B"

/ip firewall mangle add chain=forward \
  src-address-list=blok-c \
  action=mark-packet new-packet-mark=dl-blok-c \
  passthrough=yes comment="DL Mark Blok C"

/ip firewall mangle add chain=forward \
  src-address-list=blok-d \
  action=mark-packet new-packet-mark=dl-blok-d \
  passthrough=yes comment="DL Mark Blok D"

# Mark upload semua user
/ip firewall mangle add chain=forward \
  dst-address-list=blok-a \
  action=mark-packet new-packet-mark=ul-blok-a \
  passthrough=yes comment="UL Mark Blok A"

/ip firewall mangle add chain=forward \
  dst-address-list=blok-b \
  action=mark-packet new-packet-mark=ul-blok-b \
  passthrough=yes comment="UL Mark Blok B"

/ip firewall mangle add chain=forward \
  dst-address-list=blok-c \
  action=mark-packet new-packet-mark=ul-blok-c \
  passthrough=yes comment="UL Mark Blok C"

/ip firewall mangle add chain=forward \
  dst-address-list=blok-d \
  action=mark-packet new-packet-mark=ul-blok-d \
  passthrough=yes comment="UL Mark Blok D"

# ---------- STEP 3: QUEUE TREE ----------
# Total bandwidth
/queue tree add name="TOTAL-DL" parent=ether1 \
  max-limit=30M limit-at=30M queue=default \
  priority=1 comment="Total Download"

/queue tree add name="TOTAL-UL" parent=ether1 \
  max-limit=10M limit-at=10M queue=default \
  priority=1 comment="Total Upload"

# Per-blok download (masing-masing 7.5M, burstable)
/queue tree add name="DL-Blok-A" parent="TOTAL-DL" \
  packet-mark=dl-blok-a max-limit=8M limit-at=5M \
  priority=8 queue=default-small \
  comment="Download Blok A - 7.5M"

/queue tree add name="DL-Blok-B" parent="TOTAL-DL" \
  packet-mark=dl-blok-b max-limit=8M limit-at=5M \
  priority=8 queue=default-small \
  comment="Download Blok B - 7.5M"

/queue tree add name="DL-Blok-C" parent="TOTAL-DL" \
  packet-mark=dl-blok-c max-limit=8M limit-at=5M \
  priority=8 queue=default-small \
  comment="Download Blok C - 7.5M"

/queue tree add name="DL-Blok-D" parent="TOTAL-DL" \
  packet-mark=dl-blok-d max-limit=8M limit-at=5M \
  priority=8 queue=default-small \
  comment="Download Blok D/WiFi - 7.5M"

# Per-blok upload (masing-masing 2.5M)
/queue tree add name="UL-Blok-A" parent="TOTAL-UL" \
  packet-mark=ul-blok-a max-limit=3M limit-at=2M \
  priority=8 queue=default-small \
  comment="Upload Blok A - 2.5M"

/queue tree add name="UL-Blok-B" parent="TOTAL-UL" \
  packet-mark=ul-blok-b max-limit=3M limit-at=2M \
  priority=8 queue=default-small \
  comment="Upload Blok B - 2.5M"

/queue tree add name="UL-Blok-C" parent="TOTAL-UL" \
  packet-mark=ul-blok-c max-limit=3M limit-at=2M \
  priority=8 queue=default-small \
  comment="Upload Blok C - 2.5M"

/queue tree add name="UL-Blok-D" parent="TOTAL-UL" \
  packet-mark=ul-blok-d max-limit=3M limit-at=2M \
  priority=8 queue=default-small \
  comment="Upload Blok D/WiFi - 2.5M"
      

Scheduler untuk Backup & Maintenance

MikroTik CLI
# Backup konfigurasi harian ke floppy
/system scheduler add name="daily-backup" \
  start-time=03:00:00 \
  interval=1d \
  on-event={
    /system backup save name="auto-backup-[/system clock get date]"
    :log info "Auto backup completed"
  } comment="Backup harian jam 3 pagi"

# Log traffic per user ke file harian
/system scheduler add name="log-traffic" \
  start-time=00:00:00 \
  interval=1d \
  on-event={
    /tool fetch url="http://192.168.10.1/api/traffic" \
      http-data="[queue simple print stats as-value]" \
      http-method=post
    :log info "Traffic log exported"
  } comment="Export traffic log harian"

# Auto-reset counter bulanan
/system scheduler add name="monthly-reset" \
  start-time=00:05:00 \
  interval=1mo \
  on-event={
    /queue simple reset-counters-all
    /ip firewall mangle reset-counters-all
    :log info "Monthly counter reset"
  } comment="Reset counters bulanan"
      
βœ… Tips: SaaS Billing untuk RT/RW Net

Untuk RT/RW Net dengan banyak pelanggan, pertimbangkan menggunakan sistem billing seperti Mikhmon, userman, atau SUMMA yang terintegrasi dengan MikroTik. Sistem ini bisa mengelola paket pelanggan, pembayaran, dan otomatis mengaktifkan/menonaktifkan queue berdasarkan status langganan.

9. Quiz: Uji Pemahamanmu

Jawab pertanyaan berikut untuk menguji pemahaman kamu tentang manajemen bandwidth di MikroTik. Pilih satu jawaban terbaik untuk setiap pertanyaan.

πŸ“ Quiz Manajemen Bandwidth MikroTik

1. Simple Queue menggunakan algoritma penjadwalan apa secara default?

2. Komponen apa yang HARUS dibuat terlebih dahulu sebelum Queue Tree bisa berfungsi dengan benar?

3. Jika total bandwidth download 30 Mbps dan ada 60 pengguna aktif menggunakan PCQ tanpa rate limit, berapa alokasi bandwidth per pengguna?

4. Pada Queue Tree, apa yang terjadi jika child queue memiliki priority=1 dan parent queue habis bandwidth-nya?

5. Parameter burst pada Simple Queue berfungsi untuk apa?