[Mikrotik] Auto Max Limit Queue Tree Berdasarkan Average Rate

Beberapa waktu lalu sempat terpikir bagaimana caranya mengubah secara otomatis Max Limit berdasarkan Average Rate.

Pada kondisi warnet ada yang main game online, sudah barang tentu Max Limit Queue Tree untuk browsing tidak saya kasih mentok di 3Mbps. Namun bila kondisi tidak ada gamer, alias browsing semua, saya mengubah Max Limit untuk browsing mentok di 3Mbps.

Tapi karena mengubah Max Limit masih saya lakukan secara manual, terpikir bagaimana caranya membuat otomatisasi Max Limit merujuk pada Average Rate koneksi game online. Jadi bila Average Rate game online 0, maka Max Limit untuk browsing akan otomatis menjadi 3Mbps, dan sebaliknya bila Average Rate game online >1 Kbps, maka Max Limit browsing akan diturunkan ke 1,8 Mbps.

Untungnya Mikrotik mempunyai fitur Scripting dan Scheduler untuk tujuan otomatisasi tersebut. Berikut skrip dan penjelasannya!

Kita bermain di Winbox saja, dengan asumsi Mikrotik ROS kisanak sudah berfungsi penuh dan bisa diakses melalui Winbox. Konfigurasi yang saya gunakan di ROS untuk contoh script otomatis ini adalah Queue Tree seperti pada artikel sebelumnya:

34

Skrip dasar Auto Update berasal dari blog Mas Agus Ramdhani dengan sedikit perubahan oleh saya:

LANGKAH KERJA:

  1. Buka System/Script, buat script baru dengan nama bebas. Sebagai contoh dibawah saya namai skripnya queuetree

:global SetMaxLimit;
:global BW3M 3000000;
:global BW1M 1800000;
:local avgRate [/ queue tree get “3.Game” rate]
:log info “Max Limit –> $SetMaxLimit”;
:log info “Rate Game –> $avgRate”;
:log info “Rate Game –> ($avgRate = 0 or $avgRate < 1000)”;
:if ($avgRate < 1000) do={
:if ($avgRate = 0 or $avgRate < 1000) do={
:set SetMaxLimit $BW3M;
:log info “–> Max-limit Browsing berubah ke 3Mbps”;
} else={
:set SetMaxLimit $BW1M;
:log info “–> Max-limit Browsing berubah ke 1,8Mbps”;
};
} else={
:set SetMaxLimit $BW1M;
:log info “–> Max-limit Browsing berubah ke 1,8Mbps”;
};
/ queue tree set “4.Download” max-limit=$SetMaxLimit
};

2. Buka System/Scheduler, buat schedule untuk eksekusi skrip tersebut diatas. Sebagai contoh, saya buat scheduler dengan interval 1 menit. Jangan lupa pada kolom On Event masukkan nama skrip yang telah dibuat.

33

3. Selesai!

Bagaimana hasilnya?

Seperti gambar dibawah ini, bila Average Rate untuk game online berada di posisi 0 (atau tidak ada traffic), atau berada di bawah 1 Kbps, maka Max Limit untuk browsing akan auto update ke 3Mbps:

35

Sebaliknya, bila ada traffic di game online >1 Kbps, Max Limit browsing akan auto update ke 1,8 Mbps:

36

Silakan atur Max Limit, Average Rate dan interval eksekusi scriptnya sesuai dengan selera kisanak.

Sampai jumpa pada artikel menarik lainnya di Padepokan Go….!!!!BLOG yang kita cintai bersama.

[Mikrotik] Memisahkan Bandwidth Gaming dan Browsing (Queue Tree Model Ribet)

Jika pada dua artikel lalu saya menyuguhkan metode Queue Tree yang paling gampang, kali ini saya akan berikan metode yang ribet.

Artikel mengenai Queue Tree kembali saya turunkan pada kisanak, karena berdasarkan hasil percobaan yang lalu, ada kebocoran bandwidth yang cukup besar. Bandwidth yang saya alokasikan untuk Queue Tree browsing adalah sebesar 2Mbps (dari total bandwidth 3Mbps-sisanya untuk game online). Namun kenyataan di lapangan, bandwidth untuk browsing secara rata-rata ada kebocoran sekitar 70%. Ini berarti, dalam kondisi warnet penuh, bandwidth browsing yang seharusnya 2Mbps malah naik ke 2.7 Mbps.

Memang kondisi bocor ini tidak terjadi dalam waktu lama, hanya berkisar antara 2-5 detik, tapi kondisi tersebut cukup membuat koneksi game online menjadi lag, karena lapaknya direbut oleh koneksi browsing.

Sekedar pengingat dan pembanding langkah Queue Tree yang lalu adalah:

  1. Marking connection dan marking packet port game
  2. Marking connection dan marking packet semua koneksi selain port game (untuk browsing)
  3. Queue Tree

Untuk metode ribet kali ini langkahnya menjadi cukup panjang, bahkan metode ini mirip dengan Simple Queue yang telah saya sampaikan pada artikel lalu:

  1. Marking connection dan marking packet port game
  2. Marking connection dan marking packet per IP address PC (untuk browsing)
  3. Queue Tree untuk browsing per IP address PC.

Seperti biasa saya asumsikan kisanak sudah mempunyai Mikrotik RB atau ROS yang sudah terhubung ke internet dengan baik, jadi saya hanya memberikan script Mangle dan Queue Tree saja.

Kondisi jaringan:

Interface ke internet: IP 192.168.0.3 –> nama interface: INTERNET

Interface ke LAN: IP 192.168.1.8 –> nama interface LAN

PC terhubung ke router: IP 192.168.1.2 dan seterusnya.

Sesuaikan dengan kondisi jaringan kisanak.

Di tes pada Mikrotik ROS 6.10

Script Mangle:

/ip firewall mangle
add action=mark-connection chain=prerouting in-interface=LAN \
new-connection-mark=icmp_conn protocol=icmp
add action=change-dscp chain=prerouting connection-mark=icmp_conn new-dscp=1
add action=mark-packet chain=prerouting comment=icmp connection-mark=\
icmp_conn new-packet-mark=icmp_pkt passthrough=no
add action=mark-connection chain=prerouting dst-port=53 in-interface=LAN \
new-connection-mark=dns_conn protocol=tcp
add action=change-dscp chain=prerouting connection-mark=dns_conn new-dscp=1
add action=mark-packet chain=prerouting comment=dns connection-mark=dns_conn \
new-packet-mark=dns_pkt passthrough=no
add action=mark-connection chain=prerouting comment=PointBlank dst-port=\
39190-39200 in-interface=LAN new-connection-mark=game_online protocol=tcp
add action=mark-connection chain=prerouting comment=DOTA2 dst-port=\
10000-13999 in-interface=LAN new-connection-mark=game_online protocol=tcp
add action=mark-connection chain=prerouting comment=RFOnline dst-port=\
27780-30000 in-interface=LAN new-connection-mark=game_online protocol=tcp
add action=mark-connection chain=prerouting comment=Ayodance dst-port=\
14501-20000 in-interface=LAN new-connection-mark=game_online protocol=tcp
add action=mark-connection chain=prerouting comment=CS dst-port=\
47611,8000-8010,36567 in-interface=LAN new-connection-mark=game_online \
protocol=tcp
add action=mark-connection chain=prerouting comment=”Lost Saga” dst-port=\
14000-14500 in-interface=LAN new-connection-mark=game_online protocol=tcp
add action=mark-connection chain=prerouting comment=”PointBlank UDP” \
dst-port=40000-40010 in-interface=LAN new-connection-mark=game_online \
protocol=udp
add action=mark-connection chain=prerouting comment=”Lost Saga UDP” dst-port=\
14000-14010 in-interface=LAN new-connection-mark=game_online protocol=udp
add action=mark-packet chain=prerouting comment=game_online_pkt \
connection-mark=game_online new-packet-mark=game_online_pkt passthrough=\
no
add action=mark-connection chain=prerouting comment=PC1 new-connection-mark=\
browsing_PC1 src-address=192.168.1.2
add action=mark-connection chain=prerouting comment=PC2 new-connection-mark=\
browsing_PC2 src-address=192.168.1.3
add action=mark-connection chain=prerouting comment=PC3 new-connection-mark=\
browsing_PC3 src-address=192.168.1.4
add action=mark-connection chain=prerouting comment=PC4 new-connection-mark=\
browsing_PC4 src-address=192.168.1.5
add action=mark-connection chain=prerouting comment=PC5 new-connection-mark=\
browsing_PC5 src-address=192.168.1.6
add action=mark-connection chain=prerouting comment=PC6 new-connection-mark=\
browsing_PC6 src-address=192.168.1.7
add action=mark-packet chain=prerouting comment=browsing_pkt_PC1 \
connection-mark=browsing_PC1 new-packet-mark=browsing_pkt_PC1 \
passthrough=no
add action=mark-packet chain=prerouting comment=browsing_pkt_PC2 \
connection-mark=browsing_PC2 new-packet-mark=browsing_pkt_PC2 \
passthrough=no
add action=mark-packet chain=prerouting comment=browsing_pkt_PC3 \
connection-mark=browsing_PC3 new-packet-mark=browsing_pkt_PC3 \
passthrough=no
add action=mark-packet chain=prerouting comment=browsing_pkt_PC4 \
connection-mark=browsing_PC4 new-packet-mark=browsing_pkt_PC4 \
passthrough=no
add action=mark-packet chain=prerouting comment=browsing_pkt_PC5 \
connection-mark=browsing_PC5 new-packet-mark=browsing_pkt_PC5 \
passthrough=no
add action=mark-packet chain=prerouting comment=browsing_pkt_PC6 \
connection-mark=browsing_PC6 new-packet-mark=browsing_pkt_PC6 \
passthrough=no

Script Queue Tree untuk game online:

/queue tree
add name=3.Game packet-mark=game_online_pkt parent=LAN priority=3
add name=5.Upload parent=INTERNET
add max-limit=512k name=”Browsing Upload” packet-mark=browsing_pkt parent=\
5.Upload
add name=”Game Upload” packet-mark=game_online_pkt parent=5.Upload priority=3
add name=1.DNS packet-mark=dns_pkt parent=LAN priority=1

Script Queue Tree untuk browsing:

/queue tree
add max-limit=1800k name=4.Download parent=LAN queue=limit_dl
add name=”DNS Upload” packet-mark=dns_pkt parent=5.Upload priority=1 queue=\
default
add name=2.ICMP packet-mark=icmp_pkt parent=LAN priority=2 queue=default
add name=”ICMP Upload” packet-mark=icmp_pkt parent=5.Upload priority=2 queue=\
default
add limit-at=256k max-limit=768k name=PC1 packet-mark=browsing_pkt_PC1 \
parent=4.Download queue=limit_dl
add limit-at=256k max-limit=768k name=PC3 packet-mark=browsing_pkt_PC3 \
parent=4.Download queue=limit_dl
add limit-at=256k max-limit=768k name=PC2 packet-mark=browsing_pkt_PC2 \
parent=4.Download queue=limit_dl
add limit-at=256k max-limit=768k name=PC4 packet-mark=browsing_pkt_PC4 \
parent=4.Download queue=limit_dl
add limit-at=256k max-limit=768k name=PC5 packet-mark=browsing_pkt_PC5 \
parent=4.Download queue=limit_dl
add limit-at=256k max-limit=768k name=PC6 packet-mark=browsing_pkt_PC6 \
parent=4.Download queue=limit_dl

Script Queue Type:

/queue type
add kind=pcq name=limit_dl pcq-classifier=dst-address pcq-dst-address6-mask=\
64 pcq-limit=12 pcq-src-address6-mask=64 pcq-total-limit=100

Screenshot Queue Tree metode pertama:

27

Screenshot Queue Tree metode ribet (dengan Max Limit 1.8 Mbps):

28

Hasil akhir dan kesimpulan:

Queue Tree metode ribet menurut saya memberikan hasil yang lebih akurat. Walaupun masih ada kebocoran bandwidth (yang saya masih belum tahu biang keladinya dimana). Tapi dengan metode ini, kebocoran bandwidthnya lebih kecil, yaitu berkisar 30-50% saja. Barangkali ada kisanak yang sudi memberikan pencerahan pada saya untuk memperbaiki kebocoran bandwidth pada metode queue tree ini, akan sangat saya hargai.

Sampai berjumpa pada artikel Go….BLOG!!!! Selanjutnya.

 

[Update][Mikrotik] Memisahkan Bandwidth Gaming dan Browsing (Metode Alternatif dengan Queue Tree)

Ada kelupaan untuk artikel kemarin

Hanya sekedar update cepat saja mengenai artikel kemarin, yaitu memisahkan bandwidth gaming dan browsing menggunakan queue tree.

Skrip pada artikel kemarin tersebut sebenarnya sudah bisa untuk menjalankan pemisahan bandwidth. Hanya saja fungsi queue tree nya belum maksimal, karena saya kelupaan belum menambahkan Queue Type PCQ (maklum faktor U). Silakan tambahkan skrip berikut:

/queue type

add kind=pcq name=limit_dl pcq-burst-rate=0 pcq-burst-threshold=0 \
pcq-burst-time=10s pcq-classifier=dst-address pcq-dst-address-mask=32 \
pcq-dst-address6-mask=64 pcq-limit=50 pcq-rate=0 pcq-src-address-mask=32 \
pcq-src-address6-mask=64 pcq-total-limit=2000

Lalu ganti Queue Type pada Queue List Browsing menjadi limit_dl, sesuai dengan nama PCQ yang telah dibuat.

30

Silakan kisanak Torch untuk membuktikan khasiatnya setelah Queue Type diubah menjadi PCQ seperti contoh dibawah:

28

Queue Tree PCQ dengan 2 user online menghasilkan bandwidth yang seimbang.

29

Queue Tree PCQ dengan 3 user online menghasilkan bandwidth yang seimbang, dan demikian seterusnya sesuai jumlah PC yang online.

Demikian artikel telah saya koreksi dan tambahkan. Agar diindahkan dan menjadi periksa.

[Mikrotik] Memisahkan Bandwidth Gaming dan Browsing (Metode Alternatif dengan Queue Tree)

Bila pada artikel sebelumnya membahas pemisahan bandwidth gaming dan browsing menggunakan metode Simple Queue, kali ini saya akan mengetengahkan pemisahan bandwidth menggunakan metode Queue Tree.

Pada metode Simple Queue, bandwidth yang diberikan kepada masing-masing client berjalan dengan aturan yang ketat. Misalkan satu client diberikan jatah bandwidth 512Kbps, maka seterusnya client akan mendapat bandwidth 512Kbps. Bila kondisi jaringan atau client terpakai semua, tentunya hal ini tidak menjadi masalah. Tapi bila jaringan sedang lengang, atau client yang online hanya satu, rasanya sayang sekali ada bandwidth tersisa yang seharusnya bisa diberikan untuk client yang sedang online tersebut supaya browsing atau download bisa lebih cepat.

Untuk itulah kali ini saya akan memberikan metode alternatif dengan Queue Tree. Pada metode Queue Tree, bandwidth akan diberikan sesuai dengan jumlah client yang sedang online. Misalkan total bandwidth yang kisanak miliki adalah 2Mbps, bila 10 client sedang online, maka rata-rata bandwidth yang diterima client adalah 200Kbps. Sebaliknya bila hanya ada satu client yang sedang online, bandwidth yang diterimanya penuh 2Mbps. Adil bukan?

Berikut urutan langkah kerjanya:

  1. Sedot address list IP Address lokal (IIX) untuk memisahkan bandwidth gaming dan bandwidth internasional
  2. Mark Connection dan Mark Packet koneksi game-game online
  3. Mark Connection dan Mark Packet koneksi selain game-online (browsing, download)
  4. Queue Tree

Catatan penting:

Saya asumsikan kisanak sudah mempunyai Mikrotik RouterOS atau RouterBoard yang berfungsi penuh.

IP Address LAN yang saya gunakan: 192.168.1.0/24

Nama interface ke LAN: LAN

Nama interface ke Internet: INTERNET

Silakan sesuaikan dengan kondisi jaringan kisanak.

  1. Langsung ke skripnya, dimulai dari urutan 1. Silakan copas, dan kisanak juga harus memahami skrip yang kisanak copas, supaya memahami alur kerja si Mikrotik.

/tool fetch address=ixp.mikrotik.co.id src-path=/download/nice.rsc mode=http;

Lalu:
import nice.rsc

2. Mark connection/mark packet koneksi game populer, yaitu PointBlank, DOTA, LostSaga, CounterStrike, AyoDance, dan RF Online, serta mark connection/mark packet browsing:

/ip firewall mangle
add action=mark-connection chain=prerouting disabled=no in-interface=LAN \
new-connection-mark=icmp_conn passthrough=yes protocol=icmp
add action=change-dscp chain=prerouting connection-mark=icmp_conn disabled=no \
new-dscp=1 passthrough=yes
add action=mark-packet chain=prerouting comment=icmp connection-mark=\
icmp_conn disabled=no new-packet-mark=icmp_pkt passthrough=no
add action=mark-connection chain=prerouting disabled=no dst-port=53 \
in-interface=LAN new-connection-mark=dns_conn passthrough=yes protocol=\
tcp
add action=change-dscp chain=prerouting connection-mark=dns_conn disabled=no \
new-dscp=1 passthrough=yes
add action=mark-packet chain=prerouting comment=dns connection-mark=dns_conn \
disabled=no new-packet-mark=dns_pkt passthrough=no
add action=mark-connection chain=forward comment=PointBlank disabled=no \
dst-address-list=nice dst-port=39190-39200 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=DOTA2 disabled=no \
dst-address-list=nice dst-port=10000-13999 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=RFOnline disabled=no \
dst-address-list=nice dst-port=27780-30000 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=Ayodance disabled=no \
dst-address-list=nice dst-port=14501-20000 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=CS disabled=no \
dst-address-list=nice dst-port=47611,8000-8010,36567 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=”Lost Saga” disabled=no \
dst-address-list=nice dst-port=14000-14500 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=”PointBlank UDP” disabled=no \
dst-address-list=nice dst-port=40000-40010 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=”Lost Saga UDP” disabled=no \
dst-address-list=nice dst-port=14000-14010 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=”DOTA2 UDP” disabled=no \
dst-address-list=nice dst-port=27000-27150,3478-4380,28010-28200,39000 \
in-interface=LAN new-connection-mark=game_online passthrough=yes \
protocol=udp
add action=mark-packet chain=forward comment=game_online_pkt connection-mark=\
game_online disabled=no new-packet-mark=game_online_pkt passthrough=no
add action=mark-connection chain=forward comment=Browsing disabled=no \
new-connection-mark=browsing_conn passthrough=yes src-address=\
192.168.1.0/24
add action=mark-packet chain=forward comment=browsing_pkt connection-mark=\
browsing_conn disabled=no new-packet-mark=browsing_pkt passthrough=no

3. Queue Tree

/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Download packet-mark=”” parent=LAN priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Upload packet-mark=”” parent=INTERNET priority=8

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=2M name=Browsing packet-mark=browsing_pkt parent=Download \
priority=8 queue=default-small
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Game packet-mark=game_online_pkt parent=Download \
priority=8 queue=default-small
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=512k name=”Browsing Upload” packet-mark=browsing_pkt parent=\
Upload priority=8 queue=default-small
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=”Game Upload” packet-mark=game_online_pkt parent=Upload \
priority=8 queue=default-small
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=DNS packet-mark=dns_pkt parent=Download priority=8 \
queue=default-small
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=ICMP packet-mark=icmp_pkt parent=Download priority=8 \
queue=default-small

Hasil akhirnya di Winbox seharusnya seperti ini:

27

Untuk Max Limit koneksi browsing, silakan sesuaikan dengan koneksi internet yang kisanak miliki. Perbesar atau perkecil sehingga yang main game online tidak lag. Sebagai contoh, saya berlangganan Speedy 3Mbps. Untuk browsing saya jatahkan 2Mbps. Sisanya untuk DNS, ICMP, dan game online.

Selamat mencoba. Bila ada kesulitan, mari kita belajar bersama di pojok komentar!

[Mikrotik] Memisahkan Bandwidth Gaming dan Browsing (Bag. 2 dari 2)

Sebelumnya Part 1, memisahkan traffic PING, DNS dan Game Online

Selamat malam kisanak.

Pada bagian terakhir ini kita tinggal memisahkan traffic browsing dengan menggunakan simple queue. Tapi sebelumnya kita kilas balik dulu artikel pada part 1 yaitu:

  1. Membuat mangle traffic PING (port ICMP) dan mark connection
  2. Membuat mangle traffic DNS (TCP Port 53) dan mark connection
  3. Mark Packet ICMP dan DNS berdasarkan mark connection
  4. Membuat simple queue traffic ICMP dan DNS berdasarkan Mark Packet.
  5. Membuat mangle port TCP dan UDP beberapa game populer dan mark connection
  6. Mark Packet port game populer berdasarkan mark connectionnya
  7. Membuat simpe queue traffic game berdasarkan mark packet.

Sekarang kita buat simple queue untuk traffic browsing. Karena traffic ICMP, DNS dan game sudah kita buat mangle, maka untuk traffic browsing tidak usah membuat mangle lagi, jadi kita anggap diluar traffic ICMP, DNS dan game adalah traffic browsing.

/queue simple
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s direction=both \
disabled=no interface=all limit-at=0/0 max-limit=384k/1800k name=\
“C. Client Browsing” packet-marks=”” parent=none priority=7 queue=\
default-small/default-small target-addresses=192.168.1.0/24 total-queue=\
default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s direction=both \
disabled=no interface=all limit-at=0/0 max-limit=0/768k name=PC1 \
packet-marks=”” parent=”C. Client Browsing” priority=8 queue=\
default-small/default-small target-addresses=192.168.1.2/32 total-queue=\
default-small

..dan seterusnya sesuaikan dengan jumlah client

26Seperti terlihat pada gambar, untuk simple queue traffic browsing saya buat limit di 1.8Mbps, sedangkan limit per client di 768kbps tanpa burst. Karena di warnet saya lebih banyak main game online, makanya untuk traffic browsing saya buat seperti diatas, karena dari 6 client, paling banyak yang browsing maksimal hanya 3 client.

Dari total bandwidth 3Mbps (aktual 2.7Mpbs) diatas kertas memang masih banyak sisa bandwidth tidak terpakai. Perhitungan bandwidth kasarnya sebagai berikut:

Game online rata-rata 100kbps x 6 = 600kbps

Browsing = 1800kbps

Total dalam posisi client semua terpakai = 2.4Mbps

Masih ada sisa ­± 300kbps yang berguna untuk traffic DNS dan ICMP, atau untuk jaga-jaga bila koneksi sedang drop (maklum koneksi internet di kampung).

Catatan akhir:

Kisanak harus sering-sering monitor traffic game dengan Torch, dan tambahkan port pada mangle karena bisa saja port yang digunakan pada game tertentu berubah, atau ada penambahan game baru dengan port berbeda. Bila tidak diperhatikan sudah pasti traffic game tersebut akan lari ke traffic browsing, dan nantinya akan ter-limit. Hasilnya game akan lag.

Demikian akhir dari artikel berseri kali ini. Saran, kritik, caci maki dan transferannya selalu saya tunggu di pojok komentar.

[Mikrotik] Memisahkan Bandwidth Gaming dan Browsing (Bag. 1 dari 2)

Bila kemarin kisanak sudah mengetahui pengaturan dasar Simple Queue, sekarang kita coba pengaturan Simple Queue lanjutan.

Pada Simple Queue dasar, semua koneksi-baik browsing atau gaming-disatukan dalam satu limit. Artinya misalkan satu client sedang buka Youtube sambil main game PointBlank (kok ya kemaruk yah makan bandwidthnya wkwk), sudah pasti koneksi game PointBlank akan terganggu, karena bandwidth sudah habis oleh YouTube. Sekarang kita coba memisahkan koneksi game dan browsing, dengan prioritas lebih kepada traffic game online, traffic PING, dan traffic DNS.

Bila pada artikel Mikrotik yang lalu saya selalu memberikan contoh gambar, sekarang saya akan memberikan lebih banyak contoh script untuk mempermudah saya dan kisanak juga (tinggal copy paste kan enak yah).

Langkah 1.a: Prioritas Traffic PING (ICMP) dan DNS

Dasar pemisahan traffic secara garis besar dilakukan dengan:

  1. Membuat mangle Mark Connection untuk traffic PING (protokol ICMP)
  2. Membuat mangle Mark Connection untuk traffic DNS (protokol TCP port 53)
  3. Membuat mangle Mark Packet untuk traffic PING dan DNS
  4. Membuat Simple Queue untuk traffic PING dan DNS

Tiga mangle diatas berkhasiat untuk mem-prioritaskan PING dan traffic DNS, sehingga saat bermain game online, PING akan selalu menghijau, alias latency nya rendah. Dan saat browsing, koneksi ke DNS Server tidak mendapat pembatasan sehingga browser akan menemukan alamat web dengan lebih cepat.

Script Langkah 1.a :

/ip firewall mangle
add action=mark-connection chain=prerouting disabled=no in-interface=LAN \
new-connection-mark=icmp_conn passthrough=yes protocol=icmp
add action=change-dscp chain=prerouting connection-mark=icmp_conn disabled=no \
new-dscp=1 passthrough=yes
add action=mark-packet chain=prerouting connection-mark=icmp_conn disabled=no \
new-packet-mark=icmp_pkt passthrough=no
add action=mark-connection chain=prerouting disabled=no dst-port=53 \
in-interface=LAN new-connection-mark=dns_conn passthrough=yes protocol=\
tcp
add action=change-dscp chain=prerouting connection-mark=dns_conn disabled=no \
new-dscp=1 passthrough=yes
add action=mark-packet chain=prerouting connection-mark=dns_conn disabled=no \
new-packet-mark=dns_pkt passthrough=no

Langkah 1.b: Membuat Queue Type metode PFIFO (Packet First In First Out)

Script Langkah 1.b:

/queue type

add kind=pfifo name=critical pfifo-limit=64

Langkah 1.c: Membuat Simple Queue traffic ICMP dan DNS

Script Langkah 1.c:

Catatan: Untuk Target-addresses sesuaikan dengan IP Address client kisanak.

/queue simple
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s direction=both \
disabled=no interface=all limit-at=0/0 max-limit=100M/100M name=\
“A. Critical” packet-marks=icmp_pkt,dns_pkt parent=none priority=5 queue=\
critical/critical target-addresses=192.168.1.0/24 total-queue=\
default-small

Langkah 2.a: Prioritas Traffic Game Online Populer

Dasar pemisahan traffic game online secara garis besar dilakukan dengan:

  1. Membuat mangle Mark Connection untuk traffic TCP game online
  2. Membuat mangle Mark Connection untuk traffic UDP game online
  3. Membuat mangle Mark Packet untuk traffic TCP dan UDP game online
  4. Membuat Simple Queue untuk traffic TCP dan UDP game online

Script Langkah 2.a:

Catatan: Untuk in-interface sesuaikan dengan nama interface yang menghadap LAN kisanak.

/ip firewall mangle

add action=mark-connection chain=prerouting comment=PointBlank disabled=no \
dst-port=39190-39200 in-interface=LAN new-connection-mark=game_online \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment=DOTA2 disabled=no \
dst-port=27000-27150,9100-9200,8230-8250,8110-8120 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment=Ayodance disabled=no \
dst-port=18900-18910 in-interface=LAN new-connection-mark=game_online \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment=CS disabled=no dst-port=\
47611,8000-8010,36567 in-interface=LAN new-connection-mark=game_online \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment=”Lost Saga” disabled=no \
dst-port=14000-14010 in-interface=LAN new-connection-mark=game_online \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment=”PointBlank UDP” \
disabled=no dst-port=40000-40010 in-interface=LAN new-connection-mark=\
game_online passthrough=yes protocol=udp
add action=mark-connection chain=prerouting comment=”Lost Saga UDP” disabled=\
no dst-port=14000-14010 in-interface=LAN new-connection-mark=game_online \
passthrough=yes protocol=udp
add action=mark-connection chain=prerouting comment=”DOTA2 UDP” disabled=no \
dst-port=27000-27150,3478-4380,28010-28200,39000 in-interface=LAN \
new-connection-mark=game_online passthrough=yes protocol=udp
add action=mark-packet chain=prerouting connection-mark=game_online disabled=\
no new-packet-mark=game_online passthrough=no

Script diatas berkhasiat untuk menandai paket data melalui port TCP/UDP beberapa game online populer

Langkah 2.b: Membuat Simple Queue Traffic Game Online

Script Langkah 2.b:

Catatan: Untuk Target-addresses sesuaikan dengan IP Address client kisanak.

/queue simple

add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s direction=both \
disabled=no interface=all limit-at=0/0 max-limit=100M/100M name=\
“B. Game Online” packet-marks=game_online parent=none priority=6 queue=\
default-small/default-small target-addresses=192.168.1.0/24 total-queue=\
default-small

Dengan dua langkah diatas, maka traffic PING, DNS, dan Game Online dipisahkan dengan limit queue 100Mbps.

Limit queue 100Mbps ini sebenarnya hanya sekedar membuat limit yang tinggi untuk traffic PING, DNS dan Game Online. Bisa saja dibuat limit queue=unlimited, tapi sepengetahuan saya, bila dibuat unlimited nantinya traffic tidak terbaca di grafik traffic Winbox. cmiiw.

Berikut contoh gambar sesuai dengan script yang dibuat diatas:

25

Klik untuk memperbesar

Pada artikel selanjutnya kita akan bahas memisahkan traffic browsingnya. Jangan kemana-mana, tetap di Padepokan Go…..!!!!BLOG yang tercinta ini.

Simple Queue Mikrotik RouterOS

Dalam dunia bandwidth management Mikrotik, simple queue adalah fitur termudah dan ter-sederhana.

Seperti lazimnya bandwidth management, tujuan akhirnya adalah sudah pasti mengelola bandwidth yang kita miliki supaya tersalurkan kepada client yang membutuhkan secara adil dan merata. Coba bayangkan misalnya kisanak punya warnet dengan 10 client dan bandwidth 3Mbps. Apabila bandwidth tidak dikelola dengan baik, bisa-bisa bila ada satu client yang maniak download atau maniak JAV   Youtuber, semua bandwidth akan digunakan oleh satu client tersebut, sedangkan sisanya hanya bisa meringis karena koneksi internetnya lambat selambat siput yang sedang stroke.

Simple Queue pada Mikrotik RouterOS hadir sebagai solusi tercepat untuk menjatah bandwidth pada masing-masing client, dan juga settingnya terbilang sederhana, karena kisanak hanya perlu mengisi kolom target IP Address yang hendak di-limit, serta isi Max Limit untuk Download dan Upload, selesai! Bila perlu bisa juga mengatur Burst Limit yang akan saya jelaskan juga pada artikel kali ini.

Alat-alat yang dibutuhkan:

  1. Mikrotik RouterOS (versi 2 keatas) yang terpasang pada PC yang bertindak sebagai gateway. Lebih jelasnya bisa dilihat pada artikel lalu di padepokan ini.
  2. Winbox sebagai interface grafis ke Mikrotik RouterOS.

Langkah Kerja:

  1. Saya asumsikan Mikrotik RouterOS sudah terpasang dengan baik, dan bisa diakses dengan Winbox, serta IP Address dan gateway pada client dibuat statis.
  2. Login Winbox
  3. Lihat gambar dibawah:

244. Klik Queues, pada tab Simple Queues klik tanda [+].

5. Pada kolom Name isikan nama sesuai selera

6. Isikan IP Address PC Client yang hendak di limit pada kolom Target Address.

7. Pada baris Target Download dan Target Upload isikan Max Limit dengan bandwidth yang ingin kisanak berikan pada client tersebut.

8. Klik OK dan selesai!

Bila kisanak hendak menambahkan Simple Queue baru untuk client lain, klik saja Copy, nanti akan muncul window Simple Queue baru dengan setting yang sama. Kisanak hanya perlu mengganti Nama dan IP Address saja dan seterusnya.

Sekelumit perhitungan bandwidth Simple Queue dan Burst Limit.

Kita ambil gampangnya saja. Misal kisanak punya 10 client yang hendak di atur bandwidthnya, bandwidth tersedia 3Mbps. Bila di pukul rata tinggal dibagi saja:

3Mbps : 10 client = Ketemu 0.3 Mbps/client. Atau 300 Kbps/client.

Sepengetahuan saya, browsing dengan bandwidth 300 Kbps itu sengsara banget wkwkwk. Memuat halaman Facebook saja terasa bagai pungguk merindukan bulan, apalagi untuk streaming video. Oleh karena itulah ada fitur Burst Limit. Dengan burst limit, bandwidth akan dinaikkan untuk beberapa saat sesuai dengan pengaturan yang kita berikan. Contohnya seperti dibawah ini:

Max Limit : 584k

Burst Limit : 768k

Burst Threshold : 256k

Burst Time : 40s (detik) –> Bukan waktu burst sesungguhnya

Penjelasannya sebagai berikut:

Saat bandwidth yang digunakan dibawah Burst Threshold, maka bandwidth yang seharusnya di limit di angka 584k akan diberikan ke angka 768k selama x detik.

Burst Time sendiri bukan sebagai patokan berapa lama burst terjadi. Untuk jelasnya silakan gunakan Burst Time Calculator dan ubek Forum Mikrotik Indonesia untuk lebih jelasnya.

Menurut hemat saya, Simple Queue dengan Burst Limit-nya bersifat trial and error. Silakan kisanak lakukan pengaturan sesuai selera sampai ketemu settingan yang tepat.

Keuntungan Simple Queue : Gampang dan cepat

Kerugian Simple Queue : Jatah bandwidth bersifat kaku. Apalagi bila client tidak tersambung semua, ada bandwidth nganggur yang seharusnya bisa digunakan untuk memuaskan pengguna.

CMIIW, dan sampaikan keluh kesah dan caci maki kisanak pada pojok komentar ya!