MikroTik

⌘K
  1. Home
  2. Docs
  3. MikroTik
  4. QoS
  5. Fungsi dan Cara Kerja 8 Queue-Types di MikroTik v7

Fungsi dan Cara Kerja 8 Queue-Types di MikroTik v7

Dokumentasi ini membahas 8 queue-types di MikroTik RouterOS v7: BFIFO, CAKE, CoDel, FQ-CoDel, MQ-PFIFO, PCQ, PFIFO & SFQ. Bufferbloat, latency, dan fairness adalah tiga kata kunci yang sering muncul ketika membahas Quality of Service (QoS) pada jaringan mikrotik. Pada RouterOS v7, MikroTik menghadirkan deretan queue types yang jauh lebih powerful dibandingkan versi sebelumnya, terutama dengan hadirnya algoritma modern seperti CAKE, CoDel, dan FQ-CoDel yang sebelumnya lebih umum ditemukan di platform Linux/OpenWrt.

Kita akan membahas secara mendalam delapan queue types utama di RouterOS v7 terbaru — mulai dari yang paling sederhana hingga yang paling canggih — lengkap dengan cara kerja, parameter konfigurasi, serta kelebihan dan kekurangan masing-masing.

Sebelum membahas detail teknis, ada beberapa konsep dasar yang perlu dipahami.

IstilahPenjelasan Singkat
Queue (Antrian)Mekanisme penyimpanan sementara paket sebelum dikirim ke interface
BufferbloatKondisi latensi tinggi akibat buffer yang terlalu besar dan penuh
AQM (Active Queue Management)Teknik pengelolaan antrian aktif seperti CoDel/CAKE untuk mencegah congestion
FlowAliran traffic yang diidentifikasi berdasarkan 5-tuple (src IP, dst IP, protocol, src port, dst port)
ShapingPembatasan bandwidth secara aktif untuk mengontrol rate transmisi
HTB (Hierarchical Token Bucket)Mekanisme scheduling di RouterOS untuk membagi bandwidth secara hierarkis

Queue types di RouterOS v7 berfungsi sebagai algoritma manajemen antrian (queueing), sedangkan Simple Queue dan Queue Tree berfungsi sebagai wadah/container yang menerapkan algoritma tersebut pada traffic tertentu.

PFIFO (Packet First-In-First-Out)

Fungsi & Cara Kerja

PFIFO adalah queue type paling dasar yang tersedia di RouterOS. Prinsip kerjanya sederhana banget: paket yang masuk pertama, akan dikirim pertama (First-In-First-Out), dengan antrian diukur berdasarkan jumlah paket (packet-oriented).

/queue type
add name=pfifo-custom kind=pfifo pfifo-limit=50

Parameter utama:

  • pfifo-limit: Jumlah maksimal paket yang dapat mengantri (default: 50)

Kelebihan dan Kekurangan

KelebihanKekurangan
✅ Overhead CPU paling rendah — hampir tidak membebani router❌ Tidak memiliki mekanisme congestion control
✅ Konfigurasi sangat sederhana, tidak perlu tuning❌ Mengalami Head-of-Line (HOL) Blocking — paket besar bisa menahan paket kecil di belakangnya
✅ Cocok untuk traffic yang sudah terkontrol atau low-latency link❌ Tidak ada fairness antar flow; satu koneksi bisa memonopoli bandwidth
❌ Rentan terhadap bufferbloat jika pfifo-limit di-set terlalu tinggi
Gunakan pfifo-limit yang kecil (10-50) untuk mengurangi bufferbloat, atau gunakan only-hardware-queue jika interface mendukung hardware offloading.

BFIFO (Byte First-In-First-Out)

Fungsi & Cara Kerja

BFIFO memiliki prinsip yang identik dengan PFIFO, namun antriannya diukur berdasarkan ukuran byte, bukan jumlah paket. Ini membuat BFIFO lebih “adil” dari perspektif ukuran data dibandingkan PFIFO yang hanya menghitung jumlah paket.

/queue type
add name=bfifo-custom kind=bfifo bfifo-limit=15000

Parameter utama:

  • bfifo-limit: Jumlah maksimal byte yang dapat mengantri

Kelebihan dan Kekurangan

KelebihanKekurangan
✅ Lebih adil untuk paket dengan ukuran bervariasi❌ Sama seperti PFIFO — tidak ada congestion management
✅ Overhead CPU tetap rendah❌ HOL blocking masih terjadi
✅ Predictable untuk link dengan MTU konsisten❌ Tidak ada fairness antar flow

MQ-PFIFO (Multi-Queue Packet FIFO)

Fungsi & Cara Kerja

MQ-PFIFO adalah perluasan dari PFIFO yang mendukung multiple transmit queues. Queue ini sangat bermanfaat pada sistem SMP (Symmetric Multi-Processing) dengan interface ethernet yang mendukung multiple hardware queues.

/queue type
add name=mq-pfifo-custom kind=mq-pfifo mq-pfifo-limit=50

Parameter utama:

  • mq-pfifo-limit: Jumlah maksimal paket per queue

Kelebihan dan Kekurangan

KelebihanKekurangan
✅ Memanfaatkan multiple CPU cores secara efisien❌ Masih tidak memiliki congestion management
✅ Mengurangi lock contention antar core pada interface queue❌ Hanya bermanfaat jika driver ethernet mendukung multi-queue
✅ Meningkatkan throughput pada router multi-core (x86, CCR series)❌ Tidak ada fairness antar flow

SFQ (Stochastic Fairness Queueing)

Fungsi & Cara Kerja

SFQ adalah algoritma fairness yang membagi traffic ke dalam banyak sub-queue secara dinamis berdasarkan hash dari flow. Setiap flow mendapatkan giliran transmisi secara bergantian (round-robin), sehingga tidak ada single flow yang mendominasi bandwidth.

/queue type
add name=sfq-custom kind=sfq sfq-perturb=5 sfq-allot=1514

Parameter utama:

  • sfq-perturb: Interval waktu (dalam detik) untuk mengacak ulang hash flow
  • sfq-allot: Jumlah byte yang dikirim per giliran setiap flow

Kelebihan dan Kekurangan

KelebihanKekurangan
✅ Fairness antar flow tanpa perlu konfigurasi manualTidak mengelola latency — tidak memiliki mekanisme AQM
✅ Mencegah satu user/aplikasi menghabiskan seluruh bandwidth❌ Tidak efektif melawan bufferbloat
✅ Overhead CPU relatif rendah dibanding CAKE/FQ-CoDel❌ Hash collision bisa terjadi (dua flow berbeda masuk ke queue yang sama)
❌ Memory usage meningkat seiring bertambahnya jumlah flow
Default MikroTik: wireless-default dan hotspot-default menggunakan SFQ dengan sfq-perturb=5 dan sfq-allot=1514.

PCQ (Per Connection Queue)

Fungsi & Cara Kerja

PCQ adalah algoritma andalan MikroTik untuk distribusi bandwidth otomatis ke banyak client. PCQ membagi traffic ke dalam sub-queue berdasarkan classifier yang ditentukan (src-address, dst-address, dst-port, dll), lalu mendistribusikan bandwidth secara merata atau sesuai rate limit per sub-queue.

/queue type
add name=pcq-down kind=pcq \
    pcq-rate=0 \
    pcq-limit=50KiB \
    pcq-classifier=dst-address \
    pcq-total-limit=2000KiB \
    pcq-burst-rate=0 \
    pcq-burst-threshold=0 \
    pcq-burst-time=10s

Parameter utama:

  • pcq-rate: Bandwidth per sub-queue (0 = unlimited/equal share)
  • pcq-limit: Ukuran buffer per sub-queue
  • pcq-classifier: Kriteria pembagian sub-queue (src-address, dst-address, src-port, dst-port, dll)
  • pcq-total-limit: Total buffer untuk seluruh sub-queue
  • pcq-burst-rate, pcq-burst-threshold, pcq-burst-time: Parameter burst

Kelebihan dan Kekurangan

KelebihanKekurangan
Sangat efisien untuk mengelola ratusan hingga ribuan client❌ Tidak memiliki AQM bawaan — tidak melawan bufferbloat secara aktif
✅ Burst support — client bisa mendapatkan kecepatan ekstra untuk waktu singkat❌ Memerlukan HTB/Simple Queue untuk rate limiting
✅ Flexible classifier — bisa dibagi per IP, per subnet, per port, atau kombinasi❌ Konfigurasi classifier yang salah bisa menghasilkan fairness yang tidak diinginkan
✅ Menggantikan ratusan simple queues dengan satu konfigurasi
Gunakan pcq-classifier=src-address untuk upload dan dst-address untuk download. Di RouterOS v7, PCQ sudah mendukung IPv6 dengan mask yang bisa dikonfigurasi (pcq-src-address6-mask, pcq-dst-address6-mask).

CoDel (Controlled Delay)

Fungsi & Cara Kerja

CoDel adalah algoritma Active Queue Management (AQM) modern yang hadir di RouterOS v7.1beta3+. Berbeda dengan queue tradisional yang berbasis ukuran antrian, CoDel berbasis waktu tunggu (sojourn time) paket dalam queue.

Prinsip kerjanya:

  1. CoDel memantau berapa lama paket berada dalam antrian
  2. Jika waktu tunggu melebihi target (default 5ms) secara konsisten, paket mulai didrop
  3. Drop rate meningkat secara eksponensial hingga latency kembali normal
  4. Ketika latency normal, drop berhenti
/queue type
add name=codel-custom kind=codel \
    codel-limit=1000 \
    codel-target=5ms \
    codel-interval=100ms

Parameter utama:

  • codel-target: Target latency maksimum (default: 5ms)
  • codel-interval: Window waktu untuk mengukur minimum latency (default: 100ms)
  • codel-limit: Ukuran maksimal antrian dalam jumlah paket

Kelebihan dan Kekurangan

KelebihanKekurangan
Sangat efektif mengatasi bufferbloatTidak menyediakan fairness antar flow — semua traffic diperlakukan sama
✅ Tidak memerlukan tuning bandwidth — bekerja berdasarkan latency❌ Packet drop bisa mengurangi throughput pada kondisi tertentu
✅ Menggunakan sedikit resource dibanding FQ-CoDel dan CAKE❌ Kurang optimal pada link dengan bandwidth yang sangat fluktuatif (naik-turun)
✅ Responsif terhadap perubahan kondisi jaringan
CoDel bekerja paling baik ketika diaplikasikan pada interface queue atau queue tree dengan bandwidth limit yang sesuai kapasitas link.

FQ-CoDel (Fair Queuing Controlled Delay)

Fungsi & Cara Kerja

FQ-CoDel menggabungkan dua teknologi: Fair Queuing (FQ) dari SFQ dan Controlled Delay (CoDel). Setiap flow mendapatkan sub-queue sendiri, dan CoDel diterapkan pada masing-masing sub-queue secara independen.

Hasilnya: fairness antar flow + manajemen latency yang otomatis.

/queue type
add name=fq-codel-custom kind=fq-codel \
    fq-codel-limit=10240 \
    fq-codel-target=5ms \
    fq-codel-interval=100ms \
    fq-codel-quantum=300

Parameter utama:

  • fq-codel-limit: Total ukuran antrian (default: 10240 paket)
  • fq-codel-target: Target latency per flow (default: 5ms)
  • fq-codel-interval: Window pengukuran (default: 100ms)
  • fq-codel-quantum: Jumlah byte yang dikirim per giliran flow (default: 300)

Kelebihan dan Kekurangan

KelebihanKekurangan
Kombinasi sempurna: fairness + anti-bufferbloat❌ Lebih kompleks dibanding FIFO atau SFQ murni
✅ Default yang sangat baik untuk kebanyakan jaringan❌ Memerlukan pemahaman parameter untuk tuning optimal
✅ Setiap flow terisolasi — satu flow yang “nakal” tidak mempengaruhi flow lain❌ Tidak se-“cerdas” CAKE dalam mengenali tipe traffic
✅ Lebih efisien CPU dibanding CAKE
Rekomendasi Forum: Banyak user RouterOS v7 melaporkan FQ-CoDel memberikan hasil lebih konsisten dengan CPU usage lebih rendah dibanding CAKE pada pengujian dengan Flent dan Waveform.

⚠️ Monitor CPU usage ketika menggunakan FQ-CoDel untuk mencegah resource exhaustion attack

CAKE (Common Applications Kept Enhanced)

Fungsi & Cara Kerja

CAKE adalah queue type paling canggih yang tersedia di RouterOS v7. Dikembangkan oleh bufferbloat.net, CAKE mengintegrasikan bandwidth shaper, AQM (CoDel derivative), fairness, flow isolation, DiffServ handling, dan overhead compensation dalam satu algoritma.

CAKE menggunakan Cobalt (turunan CoDel) yang lebih akurat dan memiliki perlindungan terhadap traffic yang tidak responsif terhadap congestion signal.

/queue type
add name=cake-down kind=cake \
    cake-bandwidth=100M \
    cake-flowmode=dual-dsthost \
    cake-diffserv=diffserv3 \
    cake-overhead=22 \
    cake-mpu=64 \
    cake-nat=yes \
    cake-ack-filter=filter

Parameter utama:

  • cake-bandwidth: Set bandwidth shaper (contoh: 100M, 1G, 0 untuk unlimited)
  • cake-flowmode: Mode isolasi flow: flows, srchost, dsthost, hosts, dual-srchost, dual-dsthost, triple-isolate
  • cake-diffserv: Pengelompokan traffic: besteffort, diffserv3, diffserv4, diffserv8
  • cake-overhead: Kompensasi overhead layer-2 (ATM, VLAN, PPPoE, dll)
  • cake-mpu: Minimum packet size (default: 0, rekomendasi: 64)
  • cake-nat: NAT lookup untuk flow isolation (yes/no)
  • cake-ack-filter: Filtering ACK packet: none, filter, aggressive
  • cake-autorate-ingress: Estimasi bandwidth otomatis (berguna untuk link bandwidth yang naik turun)
  • cake-memlimit: Batas memori yang digunakan CAKE

Kelebihan dan Kekurangan

KelebihanKekurangan
All-in-one solution: Shaping + AQM + Fairness + DiffservPaling berat secara CPU — 2.5x-3x lebih boros dari FQ-CoDel
Bufferbloat killer: Hasil A+ pada test waveform❌ Konfigurasi lebih kompleks — perlu memahami overhead dan flowmode
✅ Flow isolation yang sangat baik dengan berbagai mode❌ Di RouterOS harus digunakan dengan HTB — tidak bisa standalone seperti di OpenWrt
✅ Overhead compensation untuk link ADSL/VDSL/PPPoEcake-bandwidth wajib di-set agar shaper berfungsi optimal
✅ ACK filter menghemat bandwidth upload pada link asimetris

⚠️ Monitor CPU usage ketika menggunakan CAKE untuk mencegah resource exhaustion attack

Best Practices

Pilih Queue Type Sesuai Kebutuhan

KebutuhanRekomendasi Queue Type
Ratusan client, fairness otomatisPCQ
Anti-bufferbloat, low CPUFQ-CoDel
All-in-one, broadband rumahanCAKE
High throughput, multi-coreMQ-PFIFO
Simple, no QoSPFIFO/BFIFO

FastTrack vs Queue

Perlu Diingat: FastTrack bypass queue processing. Jika menggunakan Queue Tree untuk QoS, FastTrack harus dinonaktifkan atau traffic yang perlu di-queue harus di-exclude dari FastTrack.

Interface Queue vs Queue Tree

  • Interface Queue: Diterapkan langsung pada interface. Cocok untuk CAKE/FQ-CoDel.
  • Queue Tree: Lebih fleksibel dengan packet mark, tapi memerlukan HTB.

Overhead Compensation (CAKE)

Selalu set cake-overhead sesuai teknologi link:

  • Ethernet: 0
  • VLAN: 4
  • PPPoE: 8
  • DOCSIS: 18-22
  • ATM: sesuaikan dengan cake-atm

Cheat Sheet Pemilihan Queue Type

Queue TypeCPU UsageFairnessAnti-BufferbloatBest For
PFIFO⭐ Sangat Rendah❌ Tidak❌ TidakDefault, no QoS
BFIFO⭐ Sangat Rendah❌ Tidak❌ TidakDedicated link
MQ-PFIFO⭐ Rendah❌ Tidak❌ TidakMulti-core throughput
SFQ⭐⭐ Rendah✅ Ya❌ TidakWireless fairness
PCQ⭐⭐ Rendah-Medium✅ Ya❌ TidakISP/WISP multi-client
CoDel⭐⭐⭐ Medium❌ Tidak✅ YaLatency-sensitive
FQ-CoDel⭐⭐⭐⭐ Medium-Tinggi✅ Ya✅ YaMixed traffic modern
CAKE⭐⭐⭐⭐⭐ Tinggi✅ Ya✅ YaBroadband all-in-one

Troubleshooting

MasalahKemungkinan PenyebabSolusi
Latency tetap tinggi meski sudah pakai CAKEQueueing tidak terjadi pada antrian routerSet bandwidth 90-95% dari kapasitas aktual ISP
CPU usage 100%CAKE/FQ-CoDel pada link >100Mbps dengan router low-endGunakan FQ-CoDel atau turunkan bandwidth
Tidak ada fairnessQueue type tidak support fairnessGanti ke SFQ, PCQ, atau FQ-CoDel
Packet loss berlebihancodel-target atau fq-codel-target terlalu rendahNaikkan target ke 20-50ms
Queue tidak berfungsiFastTrack aktifDisable FastTrack atau exclude traffic dari FastTrack

FAQ (Frequently Asked Questions)

Apakah CAKE selalu lebih baik dari FQ-CoDel?

Tidak selalu. CAKE lebih “cerdas” tapi lebih boros CPU. Banyak pengguna RouterOS v7 melaporkan FQ-CoDel memberikan hasil yang sama baiknya dengan overhead lebih rendah. Pilihlah berdasarkan kapasitas CPU router dan kompleksitas kebutuhan.

Bisakah CAKE digunakan tanpa bandwidth limit?

Di RouterOS v7, CAKE memerlukan HTB dengan bandwidth limit agar shaper berfungsi. Ini berbeda dengan implementasi di OpenWrt/Linux.

Berapa bandwidth maksimal untuk CAKE di RB4011?

Tergantung traffic pattern, tetapi umumnya RB4011 bisa menangani CAKE hingga ~400-500Mbps. Untuk link 1Gbps+, gunakan CCR2004 atau x86.

Apakah PCQ masih relevan di era CAKE/FQ-CoDel?

Sangat relevan! PCQ unggul dalam skenario dengan ratusan client yang memerlukan rate limit per user. CAKE/FQ-CoDel tidak menggantikan fungsi rate limiting yang presisi seperti PCQ.

Bagaimana cara mengukur bufferbloat?

Gunakan online test seperti Waveform Bufferbloat Test. Latency under load yang naik signifikan (>100ms) menunjukkan bufferbloat.

Apakah queue types mempengaruhi throughput?

Ya, terutama CAKE dan FQ-CoDel yang memerlukan processing tambahan. Namun penurunan throughput sebanding dengan peningkatan kualitas latency dan fairness.

Kesimpulan

RouterOS v7 membawa evolusi signifikan dalam manajemen antrian dengan memperkenalkan CAKE, CoDel, dan FQ-CoDel yang sebelumnya hanya tersedia di platform open-source. Pemilihan queue type yang tepat bergantung pada tiga faktor utama:

  • Kapasitas CPU router — CAKE/FQ-CoDel memerlukan resource lebih besar
  • Jumlah client dan pola traffic — PCQ untuk banyak client, FQ-CoDel/CAKE untuk mixed traffic
  • Prioritas QoS — Latency (CoDel/FQ-CoDel/CAKE) vs Rate Limiting (PCQ) vs Simplicity (FIFO)

Tags ,
guest

0 Comments
Oldest
Newest Most Voted