Queue Kinds
Queue Kinds (jenis antrian) adalah algoritma yang digunakan untuk melakukan penjadwalan yang menggambarkan urutan pengiriman paket data.
RouterOS mendukung beberapa algoritma antrian:
BFIFO, PFIFO, MQFIFO
Antrian jenis ini didasarkan pada algoritma FIFO (First In First Out). BFIFO diukur dengan melihat traffik dalam satuan byte sedangkan PFIFO dalam paket data. Setiap paket yang lewat yang tidak dapat masuk kedalam antrian atau dalam kondisi antrian penuh maka akan ditolak. Ukuran antrian yang terlalu besar dapat meningkatkan latency.
Jenis antrian ini menggunakan parameter
pfifo-limit dan
bfifo-limit untuk menentukan ukuran besaran antrian.
Sedangkan MQFIFO adalah PFIFO yang mendukung untuk pengiriman beberapa antrian. Jenis antrian ini akan sangat bermanfaat pada sistem SMP dengan antarmuka ethernet yang memiliki dukungan driver linux yang memungkinkan kita untuk melakukan pengiriman beberapa antrian.
MQFIFO menggunakan parameter
mqfifo-limit untuk menentukan ukuran besaran antrian.
RED
Random Early Drop (RED) adalah mekanisme antrian yang mencoba untuk menghindari kemacetan jaringan dengan mengontrol nilai rata-rata antrian. Nilai rata-rata antrian (avg
q) dibandingkan dengan dua batas yaitu batas bawah (min
th) dan batas atas (max
th).
Jika rata-rata antrian kurang dari batas minimum, tidak akan ada paket yang ditolak. Ketika rata-rata antrian lebih besar dari batas maximum, semua paket yang masuk akan ditolak. Tetapi ketika rata-rata antrian antara batas minimum dan maximum paket akan diacak kemudian ditentukan nilai Probabilitasnya (P
d).
Rumus yang digunakan untuk menentukan nilai Probabilitas adalah P
d = P
max (avg
q - min
th) / (max
th - min
th). Jika nilai rata-rata antrian terus meningkat maka kemungkinan paket masuk yang ditolak juga akan meningkat. P
d adalah rasio atau nilai perbandingan yang digunakan untuk menyesuaikan paket yang kemungkinan akan disingkirkan.
SFQ
Stochastic Fairness Queue (SFQ) memastikan paket yang dapat masuk dengan membaginya dan mendistribusikannya menggunakan algoritma round-robin. Sebuah traffik dapat diidentifikasi secara unik dengan 4 cara yaitu src-address, dst address, src port, dst-port. Parameter inilah yang digunakan oleh algoritma hashing SFQ untuk mengelompokkan paket ke salah satu dari 1024 substream. Kemudian algoritma round-robin akan mulai mendistribusikan bandwidth yang tersedia ke semua substsream, dan pada setiap putaran sfq-allot akan membagikan sejumlah byte traffik.
SFQ disebut "
Stochastic" karena tidak benar-benar mengalokasikan antrian untuk setiap aliran data, hanya menggunakan algoritma hashing untuk membagi traffik yang lewat melalui sejumlah antrian (1024).
PCQ
Per Connection Queuing (PCQ) mirip dengan SFQ tetapi memiliki beberapa fitur tambahan. PCQ diperkenalkan untuk mengoptimalkan sistem QoS yang sangat besar, yang digunakan untuk sebagian besar antrian yang persis sama pada berbagai substream.
Algoritma PCQ sangat sederhana, awalnya dilakukan pengelompokkan untuk membedakan satu substream dari yang lainnya. Kemudian algoritma FIFO akan menentukan besaran antrian dan melakukan pembatasan pada setiap substream secara individual. Lalu dilakukan juga untuk semua grup substream secara global.
PCQ menggunakan parameter:
- pcq-classifier (dst-address | dst-port | src-address | src-port; default: "") : mengidentifikasi sebuah substream.
- pcq-rate (number) : maximal download yang tersedia untuk setiap substream.
- pcq-limit (number) : besarnya antrian untuk antrian individual (dalam KB)
- pcq-total-limit (number) : besarnya antrian untuk antrian global FIFO (dalam KB)
Queue Type
Queue Type (tipe antrian) dapat diakses pada submenu
/queue type. Secara default sudah ada daftar berbagai tipe antrian pada submenu tersebut. Namun kita masih dimungkinkan untuk menambahkan parameter lainnya yang lebih spesifik sesuai kebutuhan.
Beberapa tipe antrian yang sudah ada pada
RouterOS diantaranya:
[admin@alkomp] /queue type> print
0 name="default" kind=pfifo pfifo-limit=50
1 name="ethernet-default" kind=pfifo pfifo-limit=50
2 name="wireless-default" kind=sfq sfq-perturb=5 sfq-allot=1514
3 name="synchronous-default" kind=red red-limit=60 red-min-threshold=10 red-max-threshold=50 red-burst=20
red-avg-packet=1000
4 name="hotspot-default" kind=sfq sfq-perturb=5 sfq-allot=1514
5 name="only-hardware-queue" kind=none
6 name="multi-queue-ethernet-default" kind=mq-pfifo mq-pfifo-limit=50
7 name="default-small" kind=pfifo pfifo-limit=10
Sejak versi 5.8 telah ditambahkan default tipe antrian yang baru yaitu
only-hardware-queue yang ditetapkan sebagai standar antarmuka antrian pada semua Routerboard.
Prinsipnya
only-hardware-queue memulai antrian ketika meninggalkan antarmuka tertentu dengan mengirimkan
ring buffer desciptor dan akan bertindak sebagai antrian itu sendiri. Pengiriman besarnya
ring buffer descriptor dan jumlah paket yang dapat masuk ke dalam antrian sangat bervariasi untuk berbagai jenis MAC ethernet. Antrian seperti ini sangat bermanfaat pada sistem SMP karena akan menghilangkan kebutuhan akses sinkronisasi yang sangat tinggi dari dan ke CPU/core yang berbeda.
Begitu juga pada
multi-queue-ethernet-default akan sangat bermanfaat pada sistem SMP dengan antarmuka ethernet yang memiliki dukungan driver linux yang memungkinkan kita untuk melakukan pengiriman beberapa antrian. Dengan memiliki antrian seperti ini pada hardware, secara teori hanya akan ada sedikit waktu yang akan dihabiskan untuk melakukan akses sinkronisasi dari dan ke CPU/core yang berbeda.
Pengaturan ke pilihan
only-hardware-queue memerlukan driver ethernet sehingga hanya tersedia untuk beberapa antarmuka pada sebagian besar Routerboard. Kemudian pemilihan
only-hardware-queue dan
multi-queue-ethernet-default hanya dimungkinkan ketika tidak ada antrian pada
/queue tree yang menggunakan antarmuka ethernet sebagai parent.