Pendahuluan
Contoh kali ini akan memperlihatkan bagaimana cara mengkonfigurasi Transparent Traffic Shaper. Transparent Traffic Shaper pada dasarnya adalah bridge yang dapat membedakan dan memprioritaskan traffic data yang melewatinya.
Lihat Network Layout dibawah ini :

Kita akan mengkonfigurasi 1 (satu) queue yang membatasi total throughput ke client dan 3 (tiga) sub-queues yang akan membatasi HTTP, P2P dan traffic lainnya secara terpisah. Traffic HTTP akan mendapatkan prioritas diatas traffic lainnya.
Konfigurasi
Konfigurasi yang akan digunakan adalah
Code: / interface bridge add name="bridge1" / interface bridge port add interface=ether2 bridge=bridge1 add interface=ether3 bridge=bridge1
/ ip firewall mangle add chain=prerouting protocol=tcp dst-port=80 action=mark-connection \ new-connection-mark=http_conn passthrough=yes add chain=prerouting connection-mark=http_conn action=mark-packet \ new-packet-mark=http passthrough=no add chain=prerouting p2p=all-p2p action=mark-connection \ new-connection-mark=p2p_conn passthrough=yes add chain=prerouting connection-mark=p2p_conn action=mark-packet \ new-packet-mark=p2p passthrough=no add chain=prerouting action=mark-connection new-connection-mark=other_conn \ passthrough=yes add chain=prerouting connection-mark=other_conn action=mark-packet \ new-packet-mark=other passthrough=no
/ queue simple add name="main" target-addresses=10.0.0.12/32 max-limit=256000/512000 add name="http" parent=main packet-marks=http max-limit=240000/500000 add name="p2p" parent=main packet-marks=p2p max-limit=64000/64000 add name="other" parent=main packet-marks=other max-limit=128000/128000 Penjelasan
Dibawah ini kita akan mencoba melihat kode-kode tersebut perbagian.
Bridge
Code: / interface bridge add name="bridge1" / interface bridge port add interface=ether2 bridge=bridge1 add interface=ether3 bridge=bridge1 Kita membuat satu interface Bridge dan meng-assign 2 (dua) interface ethernet ke interface Bridge tersebut. Oleh karena ini, maka traffic shaper yang akan dijalankan akan sepenuhnya trasparent oleh klien.
Mangle
Code: / ip firewall mangle add chain=prerouting protocol=tcp dst-port=80 action=mark-connection \ new-connection-mark=http_conn passthrough=yes add chain=prerouting connection-mark=http_conn action=mark-packet \ new-packet-mark=http passthrough=no Seluruh traffic yang menuju ke TCP Port 80 kemungkinan besar adalah traffic HTTP dan oleh karena itu akan ditandai dengan packet mark http. Perhatikan, pada rule pertama terdapat passthrough=yes sementara pada rule kedua terdapat passthrough=no.
Code: / ip firewall mangle add chain=prerouting p2p=all-p2p action=mark-connection \ new-connection-mark=p2p_conn passthrough=yes add chain=prerouting connection-mark=p2p_conn action=mark-packet \ new-packet-mark=p2p passthrough=no add chain=prerouting action=mark-connection new-connection-mark=other_conn \ passthrough=yes add chain=prerouting connection-mark=other_conn action=mark-packet \ new-packet-mark=other passthrough=no Sama dengan diatas, traffic P2P ditandai dengan packet mark p2p dan traffic lainnya ditandai dengan packet mark other.
Queues
Code: / queue simple add name="main" target-addresses=10.0.0.12/32 max-limit=256000/512000 Kita membuat queue yang membatasi seluruh traffic yang akan menuju / datang dari klien (spesifik di target-address) sebesar 256k/512k
Code: / queue simple add name="http" parent=main packet-marks=http max-limit=240000/500000 add name="p2p" parent=main packet-marks=p2p max-limit=64000/64000 add name="other" parent=main packet-marks=other max-limit=128000/128000 All sub-queues have the main queue as the parent, thus the aggregate data rate could not exceed limits specified in the main queue. Note, that http queue has higher priority than other queues, meaning that HTTP downloads are prioritized.
Seluruh sub-queues memiliki main sebagai parent-nya, oleh karena itu seluruh data rate tidak dapat melampaui batas yang telah dispesifikasikan pada queue main. Perhatikan bahwa queue http memiliki prioritas lebih besar dari queue lainnya, berarti bahwa HTTP Downloads akan lebih diprioritaskan.
=================================== Ditranslasikan secara bebas dari
Code: http://wiki.mikrotik.com/wiki/TransparentTrafficShaper |