rianto isaac's Weblog

rianto utomo isaac sahala utomo

mikrotik,Membedakan Traffick Browsing & Download Dengan Connection Rate

artikel keren nih..
rianto utomo bole nyontek dari https://candraaditama.wordpress.com/2013/02/12/membedakan-traffick-browsing-download/

Contoh Kasus

Sering kita jumpai keadaan dimana ketika ada satu client yang melakukan download, terutama menggunakan IDM, maka client yang lain akan menjadi lambat. Client yang tidak mendapatkan bandiwdth sesuai tentu akan protes. Hal ini akan sangat berpengaruh ketika kita menjalankan bisnis warung internet. Apa kemudian kita memasang pengumuman larangan menggunakan Download Manager ?, saya rasa itu akan menjadi hal yang tidak begitu smart. Apalagi kita tahu bahwa browsing dan download biasanya menggunakan port yang sama, yaitu port 80. Jika kita menggunakan mikrotik, dengan simple qeuue sebenarnya masalah akan beres, namun ketika si pelaku download browsing, maka bandwidth yang di alokasikan untuk dia akan habis digunakan untuk download dan dia akan sedikit kesulitan untuk browsing. Benar begitu ?!.. Kemudian adakah cara yang menarik untuk mengatasi kasus seperti itu?. Dan ternyata mulai dari versi 3.30, mikrotik memiliki fitur Connection Rate

Connection Rate

Connection rate merupakan salah satu fungsi firewall yang memungkinkan untuk menangkap traffick berdasarkan kecepatan suatu koneksi. Setiap entri di table connection tracking, menginformasikan komunikasi dua arah. Dan setiap paket data yang terkait entry tertentu, nilai ukuran paket termasuk ip-header akan ditambahkan sebagai entry “connection-bytes”. Disini Connection Rate menghitung kecepatan koneksi berdasarkan perubahan pada “connection-bytes”. Connection Rate menghitung setiap detik dan tidak memiliki nilai rata-rata. Saat ini “connection-bytes” dan “connection-rate” hanya bekerja pada protokol TCP dan UDP.

Contoh Aplikasi (Prioritas Traffick Download vs Upload)

Dengan fitur connection-rate ini, kita bisa menentukan sebuah koneksi dengan kriteria tertentu untuk kemudian kita anggap sebagai traffick berat yang akan membebani bandwidth dalam contoh kasus ini kita anggap sebagi traffick Download. Kita asumsikan bahwa traffick browsing HTTP normal memiliki panjang koneksi kurang dari 500kB. Kemudian VOIP membutuhkan kecepatan koneksi kurang dari 200kbps. Dengan ini kita menentukan jika traffick memiliki koneksi pertama lebih dari 500kB dan masih membutuhkan speed diatas 200kbps, maka traffick ini akan kita anggap sebagai traffick Download atau traffick berat, terserah Anda ingin menyebutnya apa. P2P, FTP, HTTP Download biasanya akan membuat koneksi yang membutuhkan rate yang cepat dan waktu yang lama. Anda bisa menentukan “connection-bytes” dan “connection-rate” sesuai kebutuhan network Anda, Anda tidak harus membuatnya sama persis dengan rule di artikel ini. Kita akan membuat conoth implementasi di jaringan yang memiliki bandwidth 6mbps.

Quick Start Untuk Yang Sudah Tidak Sabar

/ip firewall mangle
add chain=forward action=mark-connection connection-mark=!traffic_download \
    new-connection-mark=traffic_browsing
add chain=forward action=mark-connection connection-bytes=500000-0 \
    connection-mark=traffic_browsing connection-rate=200k-100M \
    new-connection-mark=traffic_download protocol=tcp
add chain=forward action=mark-connection connection-bytes=500000-0 \
    connection-mark=traffic_browsing connection-rate=200k-100M \
    new-connection-mark=traffic_download protocol=udp
add chain=forward action=mark-packet connection-mark=traffic_download \
    new-packet-mark=mark_packet_traffic_download passthrough=no
add chain=forward action=mark-packet connection-mark=traffic_browsing \
    new-packet-mark=mark_packet_traffic_browsing passthrough=no

/queue tree
add name=upload parent=public max-limit=6M
add name=other_upload parent=upload limit-at=4M max-limit=6M \
    packet-mark=mark_packet_traffic_browsing priority=1
add name=heavy_upload parent=upload limit-at=128K max-limit=512K \
    packet-mark=mark_packet_traffic_download priority=8
add name=download parent=local max-limit=6M
add name=other_download parent=download limit-at=4M max-limit=6M \
    packet-mark=mark_packet_traffic_browsing priority=1
add name=heavy_download parent=download limit-at=128K max-limit=512K \
    packet-mark=mark_packet_traffic_download priority=8

Note : Anda bisa copy-paste rule diatas di menu “New Terminal” jika Anda menggunakan winbox.

Penjelasan

Pertama kita akan membuat mangle untuk membagi koneksi menjadi 2 kategori, Browsing dan Download. Rencananya kita akan memberikan bandwidth yang terbatas bagi user yang melakukan download. Dan kita berikan bandwith maksimum untuk user yang hanya browsing.

Rule Pertama :

/ip firewall mangle
add chain=forward action=mark-connection connection-mark=!traffic_download \
    new-connection-mark=traffic_browsing

Rule ini akan menandai setiap koneksi yang bukan merupakan koneksi download, maka akan dianggap sebagaikoneksi browsing. Contoh pembuatan rule jika Anda menggunakan Winbox, masuk ke Menu IP –> Firewall –> Tab Mangle –> Klik Tombol + (plus) :

Winbox Mangle

Tab General

Winbox Mangle Action

Tab Action

Rule Yang Menandai Traffick Download (Protokol UDP maupun TCP):

/ip firewall mangle
add chain=forward action=mark-connection connection-bytes=500000-0 \
    connection-mark=traffic_browsing connection-rate=200k-100M \
    new-connection-mark=traffic_download protocol=tcp
add chain=forward action=mark-connection connection-bytes=500000-0 \
    connection-mark=traffic_browsing connection-rate=200k-100M \
    new-connection-mark=traffic_download protocol=udp

Rule diatas bisa diartikan, ketika ada sebuah koneksi baik TCP maupun UDP yang memiliki nilai connection-bytes lebih dari 500kB dan connection-rate lebih dari 200kbps, maka traffick tersebut akan dianggap traffick download.  Contoh pembuatan rule jika Anda menggunakan Winbox, masuk ke Menu IP –> Firewall –> Tab Mangle –> Klik Tombol + (plus) :

Winbox Mangle - Mark Connection

Winbox Mangle - Advanced

Winbox Mangle - Mark-Con - Action

Selanjutnya, Anda tinggal buat rule mark-connection traffick download untuk protokol UDP. Stepnya sama seperti diatas, Anda tinggal ganti pada parameter protokol di tab general menjadi protokol UDP.

Mark Packet

/ip firewall mangle
add chain=forward action=mark-packet connection-mark=traffic_download \
    new-packet-mark=mark_packet_traffic_download passthrough=no
add chain=forward action=mark-packet connection-mark=traffic_browsing \
    new-packet-mark=mark_packet_traffic_browsing passthrough=no

Rule diatas merupakan mark-packet untuk mark-connection yang sudah kita buat sebelumnya. Contoh pembuatan rule jika Anda menggunakan Winbox, masuk ke Menu IP –> Firewall –> Tab Mangle –> Klik Tombol + (plus).

Pertama kita akan membuat rule packet -mark untuk menandai traffick Download.

Winbox Mangle - Mark-Packet-Down-General

Winbox Mangle - Mark-Packet-Action

Selanjutya kita buat mark-packet untuk traffick browsing.

Winbox Mangle - Mark-Packet-Browsing

Winbox Mangle - Mark-Packet-Browsing-Action

Proses pembuatan mangle telah selesai. Hasil akhir mangle akan tampak seperti gambar berikut :

Mangle Akhir

Hasil akhir pembuatan mangle.

Queue Tree

Setelah proses pembuatan mangle selesai, sekarang kita tinggal membuat Queue untuk melakukan limitasi berdasarkan paket yang sudah kita tandai. Disini saya menggunakan Queue Tree. Contoh command :

/queue tree
add name=upload parent=public max-limit=6M
add name=other_upload parent=upload limit-at=4M max-limit=6M \
    packet-mark=mark_packet_traffic_browsing priority=1
add name=heavy_upload parent=upload limit-at=128K max-limit=512K \
    packet-mark=mark_packet_traffic_download priority=8
add name=download parent=local max-limit=6M
add name=other_download parent=download limit-at=4M max-limit=6M \
    packet-mark=mark_packet_traffic_browsing priority=1
add name=heavy_download parent=download limit-at=128K max-limit=512K \
    packet-mark=mark_packet_traffic_download priority=8

Rule yang digunakan untuk membatasi bandwith untuk masing – masing tipe koneksi yang sudah kita kategorikan. Contoh setting jika Anda menggunakan winbox, klik gambar untuk mendapatkan resolusi yang lebih besar.

Queue Tree Parent

Queue Tree Parent

Queue Tree Download

Queue Tree Download

Queue Tree Upload

Queue Tree Upload

Setting telah selesai, saatnya melakukan test. Coba dengan melakukan download menggunakan IDM. Hasil dari percobaan saya bisa Anda lihat di gambar berikut :

Queue Download

Queue Tree

Mungkin ada yang bingung kenapa downloadnya dapat 66KBps padahal saya set di Queue max-limit nya 512kbps. Yang perlu Anda perhatikan adalah “B” besar dan “b” kecil. “B” besar merupakan identitas dari Bytes, sedangkan “b” kecil adalah bits. Perbandingan Bytes : Bits adalah 1:8 . Di winbox, parameter yang digunakan adalah Bits. Jika saya isi dengan 512kbps berarti traffick download yang bisa digunakan user adalah 512/8 jadi kurang lebih 64KBps. Sama seperti yang tertera di speed IDM.

Written by isaaconi

Januari 29, 2016 pada 4:10 pm

%d blogger menyukai ini: