Sunday 23 March 2014

Memahami Queue Tree dan PCQ di Mikrotik

Queue Tree 
Queue Tree berfungsi untuk melimit bandwidth pada mikrotik yang mempunyai 2 koneksi internet karna  packet marknya lebih berfungsi daripada di Simple Queue 
Digunakan untuk membatasi satu arah koneksi saja baik itu download maupun upload.
 Penjelasan beberapa argumen di Queue Tree :
Parent : berguna untuk menentukan apakah queue yang dipilih bertugas sebagai child queue
Ada beberapa pilihan default di parent queue tree yang biasanya digunakan untuk induk queue:
          - Global-in : Mewakili semua input interface pada umumnya. Maksudnya disini interface yang menerima input data/trafik sebelum difilter seperti trafik upload
          - Global-out : Mewakili semua output interface pada umumnya. Maksudnya disini interface yang mengeluarkan output data/trafik yang sudah difilter seperti trafik download 
          - Global-total : Mewakili semua input dan output interface secara bersama, dengan kata lain merupakan penyatuan dari global-in dan global-out.                                   
          - <interface name>: ex: lan atau wan : Mewakili salah satu interface keluar. Maksudnya disini hanya trafik yang keluar dari interface ini yang akan diqueue.
Packet Mark : Digunakan untuk menandai paket yang sudah ditandai di /ip firewall mangle.
Priority ( 1 s/d 8) : Digunakan untuk memprioritaskan child queue dari child queue lainnya. Priority tidak bekerja pada induk queue. Child Queue yang mempunyai priority satu (1) akan mencapai limit-at lebih dulu dari pada child queue yang berpriority (2).
 Queue Type : Digunakan untuk memilih type queue yang bisa dibuat secara khusus dibagianqueue types
 Limit At : Bandwidth minimal yang diperoleh oleh target/ip yang diqueue
Max Limit : Bandwidth maksimal yang bisa dicapai oleh target/ip yang diqueue.
Burst limit : Bandwidth maksimal yang bisa dicapai oleh target/ip yang diqueue ketika burst sedang aktif
Burst time : Periode waktu dalam detik ,dimana  data Rate rata2 dikalkulasikan.
Burst Threshold : Digunakan ketika data Rate dibawah nilai burst threshold maka burst diperbolehkan.Ketika data Rate sama dengan nilai burst threshold burst dilarang. Untuk mengoptimalkan burst nilai burst threshold harus diatas nilai Limit At dan dibawah nilai
Max Limit.

PCQ ( Per Connection Queuing) 
: Digunakan untuk mengenali arah arus.  Misalnya jika Classifier yang digunakan adalah src-address pada Local interface, maka aliran pcq akan menjadi koneksi upload. Begitu juga dgn dst-address akan menjadi pcq download.

Penjelasan Beberapa Argumen di PCQ :

Fungsi Rate inilah yang berfungsi sama dengan pengaturan simple queue. Dengan memasukkan angka pada rate ini (default: 0) maka maksimal download yang akan didapatkan per IP akan dibatasi mis. 128k (kbps).



Limit berfungsi untuk membatasi jumlah koneksi paralel yang diperkenankan bagi tiap IP. artinya bila kita meletakkan nilai 50, maka cuma 50 koneksi simultan yang bisa didapat oleh 1 IP address ( baik itu source / destination ).

Total Limit adalah total keseluruhan koneksi paralel yang diperkenankan untuk seluruh ip addresss ( baik itu source ataupun destination ). 

 Classifier ini yang paling penting dalam pcq, sebab dia mengelompokkan  jumlah koneksi untuk satu ip address ( source atau destination ) . Misalnya anda me-mark packet dari 192.168.1.2 ke 110.1.1.1:80, disini yang source adalah 192.168.1.2 dam 110.1.1.1 adalah destination-nya. Dan dalam koneksi itu ada 3 aliran sub-koneksi misal : 192.168.1.2:240 ->  110.1.1.1:80 , 192.168.1.2:241 -> 110.1.1.1:80 , 192.168.1.2 :242 -> 110.1.1.1:80. Jika anda memilih src. Address sebagai  Classifier-nya maka sub-koneksi tersebut akan dikelompokkan : 192.168.1.2 :  110.1.1.1:80
                                                                                          110.1.1.1:80
                                                                                          110.1.1.1:80

Jika anda memilih Dst. Address sebagai  Classifier-nya maka sub-koneksi tersebut akan dikelompokkan menjadi : 110.1.1.1 : 192.168.1.2:240
                                192.168.1.2:241
                                192.168.1.2:242 
Dan Limit yang akan membatasi  jumlah koneksi untuk satu kelompok tsb. Misalnya dilimit  50 maka 1 kelompok itu batasnya cuma sampai 50 saja.
Contoh penerapan PCQ dan Queue Tree di Mikrotik

 /ip firewall address-list
add address=192.168.2.103 comment="" disabled=no list=Gateway

 Pertama kita tandai dulu koneksi dan packet download yang akan kita queue nantinya di /ip firewall mangle :
/ ip firewall mangle 
add action=mark-connection chain=prerouting comment="MARK LOCAL-IN CONN" disabled=no dst-address-list=!Gateway in-interface=lan new-connection-mark=all.pre_connpassthrough=yes
add action=mark-packet chain=prerouting comment="" connection-mark=all.pre_conndisabled=no new-packet-mark=all.pre_pkt passthrough=yes

add chain=forward out-interface=lan action=mark-connection \
    new-connection-mark=all.post_conn passthrough=yes comment="Mark Koneksi \
    dari Luar ke Local" disabled=no
add action=mark-packet chain=forward comment="" connection-mark=all.post_conndisabled=no new-packet-mark=all.post_pkt passthrough=yes 
add chain=forward dst-address=192.168.2.11 protocol=tcp \
    connection-mark=all.post_conn action=mark-packet new-packet-mark=kom09 \
    passthrough=no comment="Mark Packet kom09" disabled=no 
add chain=forward dst-address=192.168.2.12 protocol=tcp \
    connection-mark=all.post_conn action=mark-packet new-packet-mark=kom10 \
    passthrough=no comment="Mark Packet kom10" disabled=no 
add chain=forward dst-address=192.168.2.13 protocol=tcp \
    connection-mark=all.post_conn action=mark-packet new-packet-mark=kom11 \
    passthrough=no comment="Mark Packet kom11" disabled=no 
add chain=forward dst-address=192.168.2.14 protocol=tcp \
    connection-mark=all.post_conn action=mark-packet new-packet-mark=kom08 \
    passthrough=no comment="Mark Packet kom08" disabled=no


Kemudian kita buat PCQ di Queue Types :
/queue type 
add name="pcq_down" kind=pcq pcq-rate=0 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000
add name="pcq_up" kind=pcq pcq-rate=0 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

Setelah itu kita limit masing ip/target di Queue Tree :
/ queue tree 
add name="download" parent=global-out packet-mark="" limit-at=0 queue=pcq_down priority=8 max-limit=1000000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=yes 
add name="kom9" parent=download packet-mark=kom09 limit-at=256000 queue=pcq_downpriority=3 max-limit=1000000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=yes 
add name="kom10" parent=download packet-mark=kom10 limit-at=256000 queue=pcq_downpriority=3 max-limit=1000000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=yes 
add name="kom11" parent=download packet-mark=kom11 limit-at=256000 queue=pcq_downpriority=3 max-limit=1000000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=yes 
add name="kom8" parent=download packet-mark=kom08 limit-at=256000 queue=pcq_downpriority=3 max-limit=1000000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=yes 
add name="upload" parent=global-in packet-mark="" limit-at=0 queue=pcq_up priority=8 max-limit=512000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no 

Pada gambar dibawah tampak data Rate rata2 terbagi secara merata walaupun salah satu pc mendownload dengan IDM

Demikianlah penjelasan dan penerapan PCQ di Queue Tree.

No comments:

Post a Comment