[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.