Anda di halaman 1dari 8

QoS Concepts,Packet Flow Diagram,Firewall Mangle,Simple Queue,Queue Tree,QoS With Proxy,PCQ,Transparent Bandwidth Management,Best Practice

Pengaturan Quality of Service (QoS)


Diposting oleh admin No CommentsTinggalkan komentar

Sampai sekarang dokumentasi qos memang tidak tersedia. yang perlu diperhatikan adalah, QoS sepertinya hanya berjalan baik jika IPFire berjalan sebagai gateway (minimal 2 interface RED PPPoE dan GREEN LAN). Jika IPFire menggunakan gateway lain (misalnya mikrotik) maka QoS tidak berjalan efektif (dalam beberapa kasus malahan koneksi IPFire jadi malah ancur). Silakan sediakan cemilan jika anda ingin membaca tulisan selanjutnya, karena ulasan QoS cukup panjang dan berputar-putar namun jika anda sudah menguasai konsepnya dengan baik, implementasi QoS akan menjadi hal yang sangat mudah. ________________ Setting kasar QoS kurang lebih seperti ini :

Pada halaman QoS isi alokasi untuk downlink dan uplink dengan besaran total bandwidth dari ISP dikurangi 10 15% (untuk reserved bandwidth). Kemudian pilih Preset agar IPFire dapat menggenerate rules default QoS.Jika QOS berhasil di generate maka masbro akan lihat ada 2 grafik : imq0 dan ppp0. ppp0 adalah grafik untuk UPLOAD, sedangkan imq0 adalah grafik untuk DOWNLOAD. Jadi jangan lupa : ppp0 = Upload dan imq0 = Download. Dibagian bawah grafik terdapat table pengaturan (rules) untuk QoS. Tabel-table ini terdiri dari beberapa class. Class untuk UPLOAD terdiri dari class dengan nomor 101, 102, 103, (kepala 100) dan seterusnya. Class untuk DOWNLOAD terdiri dari class dengan nomor 200, 203, 204 (kepala 200) dan seterusnya. ppp0 = Upload = Class kepala 100 imq0 = Download = Class kepala 200 WARNING! Jangan melanjutkan membaca kebawah kalo masbro belum mengerti tulisan diatas. silakan ulangi membaca, sampai masbro mengerti konsep pembagian rules class untuk upload dan download (ppp0 dan imq0). _________________ Udah ngerti? Oke kita lanjut kebagian selanjutnya ;)

Class (baik class untuk upload atau download) pada prinsipnya adalah sebuah grup dari beberapa aturan untuk lalu lintas data tertentu yang memiliki jatah bandwidth atau prioritas yang sama. Sebagai contoh, silakan amati screenshot class: 101 berikut ini (klik untuk memperbesar):

Setiap class memiliki nilai priority, guaranteed bandwidth, maximum bandwidth, burst, ceil burst, dan TOS. Priority Priority atau prioritas adalah ketentuan prioritisasi untuk paket data. Prioritas disusun dengan nilai 1 sampai dengan 7, dimana priority 1 memiliki prioritas tertinggi dan priority 7 memiliki prioritas paling rendah. Setiap class yang memiliki priority 1 akan selalu di prioritaskan oleh sistem daripada priority 2, priority 3, dan seterusnya. Begitu juga dengan class yang memiliki priority 2 akan lebih di prioritaskan daripada priority 3, priority 4, dan seterusnya. Class yang memiliki priority tinggi berhak untuk mengambil bandwidth dari class yang memiliki priority lebih rendah saat koneksi sedang full terpakai. Guaranteed bandwidth Guaranteed bandwidth dalam istilah HTB disebut dengan Rate. Rate adalah jumlah bandwidth yang digaransi dalam sebuah kelas. Maximum bandwidth Maximum bandwidth (ceil rate) adalah batas atas/maksimum bandwidth yang dialokasikan untuk sebuah kelas. Burst dan Ceil Burst (cburst) Burst dan cburst adalah parameter besaran jumlah data yang dapat disampaikan dengan kecepatan akses maksimum saat class lain sedang tidak digunakan. ToS ToS adalah singkatan dari Type of Services. Datagram TOS berada di IP header, dan sistem akan membedakan perlakuan koneksi untuk TOS tertentu. Kita dapat memanipulasi TOS untuk memprioritaskan atau mengurangi prioritas untuk paket data tertentu, misalnya memprioritaskan ping (ICMP) atau mengurangi prioritas untuk grup torrent. TOS pada IPFire ada 5, yaitu :

Disabled [TOS 0] : TOS tidak dimanipulasi. Ini adalah nilai default untuk class di IPFire Minimum Delay [TOS 8] : Digunakan untuk menandai paket data yang memerlukan latensi rendah dan bersifat critical, misalnya ping (icmp), dns, atau games online.

Maximum Throughput [TOS 4] : Digunakan untuk menandai paket data yang harus dikirimkan dengan kecepatan maksimum, misalnya untuk FTP. Maximum Reliability [TOS 2] : Digunakan untuk menandai paket data yang anda yakin paket data tersebut sampai ketujuan tanpa melakukan retransmisi, contohnya SNMP. Minimum Cost [TOS 1] : Sesuai dengan namanya, TOS ini digunakan untuk mengurangi pengeluaran bandwidth, misalnya untuk protokol torrent. :) Pada IPFire, lalu lintas data / network traffic dapat diklasifikasikan berdasarkan 3 kategori aturan:

Port-Rules (berdasarkan protokol, port tujuan, port asal, IP address tujuan atau IP address asal) Level7-Rules (berdasarkan filter/tipe Layer7) TOS-Rules (berdasarkan prioritisasi pengantaran/pengambilan paket data) Perhatikan sekali lagi gambar berikut ini :

Dari gambar dapat diketahui bahwa : - Class 101 Upload - Memiliki priority 1 prioritas tertinggi - Jatah bandwidth yang digaransi 192 kbps - Jatah bandwidth maksimal 384 kbps - TOS 8 Minimum Delay Secara default, class 101 yg digenerate IPFire dialokasikan untuk ACKNOWLEDGE (ACKs) yakni paket data yg kecil-kecil dan perlu latensi rendah. Dan secara default, IPFire hanya menggunakan class ini untuk ICMP (paket ping). Agar koneksi bisa memiliki kinerja maksimal, anda juga dapat mengalokasikan class ini untuk DNS / nameserver lookup (seperti yang terlihat pada screenshot diatas). Lets go! From zero to hero Bagaimana cara menambahkan rules? Sebagai contoh, kita akan menambahkan rules DNS ke class 101. Level7-Rule DNS 1. Pada tabel class 101, klik icon pinsil hijau dengan tanda + 2. Klik pada Level7-Rule 3. Pada bagian protocol, pilih dns. 4. Terakhir klik Save

port-rule DNS UDP 1. Pada tabel class 101, klik icon pinsil hijau dengan tanda + 2. Klik pada Port-Rule 3. Pada bagian protocol, pilih udp. 4. Destination port isikan 53 5. Kolom lain dapat masbro kosongkan, terakhir klik Save port-rule DNS TCP (sebenernya dns cuman menggunakan udp, tapi buat jaga-jaga kita tambahkan juga tcp) 1. Pada tabel class 101, klik icon pinsil hijau dengan tanda + 2. Klik pada Port-Rule 3. Pada bagian protocol, pilih udp. 4. Destination port isikan 53 5. Kolom lain dapat masbro kosongkan, terakhir klik Save Pada saat ini seharusnya class 101 di IPFire masbro akan tampak seperti gambar diatas. Selamat!!! Congratulations!!! Anda sudah berhasil mengimplementasikan prioritisasi ICMP dan DNS untuk UPLOAD. Selanjutnya, cari rules DNS di class UPLOAD yang lain, kemudian hapus dengan mengklik icon bak sampah (pada screenshot saya, untuk menghapus klik tanda silang merah saya udah customize icon-icon webgui, hehehe) PERHATIAN! Saat membuat rules pada class tertentu, jangan pernah mengklik back pada browser, karena class tersebut akan otomatis dihapus. Ada UPLOAD ada juga DOWNLOAD :D Selain perlu menyesuaikan rules DNS di class Upload, masbro juga harus menyesuaikan rules DNS dan ICMP di class DOWNLOAD. Silakan edit class 200 (VoIP), kemudian tambahkan rules DNS dan ICMP disana. Anda dapat merubah nama class VoIP menjadi (misalnya) Critical (klik pinsil kuning paling atas, ganti Remarks dari VoIP menjadi Critical atau sesuai keinginan anda kemudian Save). Jangan lupa juga menghapus rules DNS di class DOWNLOAD selain class 200. Dengan memprioritaskan DNS/nameserver lookup pada class Download dan Upload maka secara tidak langsung semua aktivitas internet (misalnya browsing) yang memerlukan banyak nameserver lookup akan menjadi lebih responsif. Wowww!! Proof of concept Anda mungkin akan bertanya-tanya, bagaimana cara membuktikan bahwa rules diatas sudah berjalan dengan baik well, berikut saya perlihatkan efek QoS ditempat saya.. klik gambar untuk memperbesar. (imgbox sedang down gambar akan segera di re-upload)

Spot the difference? Lihat perbedaannya? Pembagian traffic dan priority Preset QoS IPFire akan menggenerate class yang disusun berdasarkan prioritas, dari yang tertinggi sampe yg terendah. Setiap class berisi rules untuk port atau protokol tertentu (baik untuk interface UPLOAD atau DOWNLOAD). Jika protokol/trafik data tidak di definisikan dalam class, maka trafik data tersebut akan dimasukkan ke class DEFAULT. Class DEFAULT untuk UPLOAD adalah class 110 Class DEFAULT untuk DOWNLOAD adalah class 210 Keduanya memiliki priority 6, alias prioritas sedang-sedang saja. Class ini bandwidth-nya dapat dipinjam oleh class lain dengan prioritas yang lebih tinggi. Bagaimana dengan torrent? Torrent (berdasarkan L7 rules) memiliki prioritas 8 paling rendah dan class terbawah. Akan tetapi jika koneksi torrent terenkripsi, maka akan diarahkan ke class DEFAULT. Oleh karena itu, masbro dapat mempertimbangkan untuk mengatur jatah badwidth class DEFAULT dengan lebih ketat. Bagaimana dengan game online? Anda dapat meletakkan rules game online di class dengan priority 2 dan TOS 8. Jatah bandwidth biarkan default sesuai preset IPFire. Games online tidak memerlukan bandwidth yang besar (128 384 kbps sudah sangat cukup), akan tetapi memerlukan latensi kecil, oleh karena itu TOS 8 adalah pilihan yang sangat tepat. Bagaimana dengan squid / proxy HIT? Lupakan tentang squid HIT pada IPFire yang bekerja sebagai gateway (2 interface GREEN/RED), karena squid hit sudah bekerja out-of-the-box. Do it yourself! Tugas anda sekarang adalah menentukan rules lainnya (game online, browsing, dsb) sesuai dengan lingkungan jaringan anda. Silakan bereksperimen dan mengopreks class lainnya, sehingga kinerja bandwidth di tempat anda menjadi lebih efektif. Sekedar gambaran, hirarki class yang ada di tempat saya seperti gambar berikut ini (mungkin berbeda untuk anda): Good luck guys! Untuk anda yang punya mikrotik, anda dapat juga dapat mengadaptasi aturan QoS seperti ini. Tandai paket-paket dapat berdasarkan protokol/port, kemudian gunakan Queue Tree untuk mengatur jatah bandwidth dan prioritasnya.

MENGENAL KONSEP HTB PADA MIKROTIK

Berbicara mengenai HTB tidak terlepas dari istilah Queue. Apa itu Queue? Queuedigunakan untuk membatasi atau memprioritaskan traffik tertentu. Queue mampu:

Membatasi traffik yang ditentukan berdasarkan IP tertentu, subnet, port dan parameter

lainnya.

Membatasi traffik peer-to-peer. Memprioritaskan beberapa paket aliran data atas yang lainnya. Menggunakan traffik burst untuk browsing yang lebih cepat. Membatasi traffik berdasarkan waktu. Memiliki kemampuan bandwidth sharing. Ada dua macam Queue di Mikrotik RouterOS: 1. Queue Simple: dirancang sesederhana mungkin dan mudah dalam melakukan konfigurasi antrian baik pada jaringan skala kecil sampai menengah. Mampu membatasi pemakaian client tunggal download/upload, membatasi traffik P2P, dan lain-lain. 2. Queue Tree: mirip seperti queue simple tapi lebih rumit. Mampu melaksanakan tugas antrian yang lebih canggih dan kompleks, melakukan pembatasan bandwidth berdasarkan kelompok pengguna, penerapan prioritas antrian secara global, dan sebagainya. Kita harus mengaktifkan fitur Mangle pada Firewall jika ingin menggunakan Queue Tree. Penerapan Queue didasarkan pada Hierarchical Token Bucket (HTB). HTB (Hirarchical Token Bukcet) adalah metode pengelompokan queue (antrian) yang berguna untuk menangani berbagai jenis traffik. HTB memungkinkan kita untuk membuat struktur antrian berjenjang serta kaitannya antar antrian seperti parent-child atau child-child

Setidaknya ada 3 langkah dasar yang harus kita ikuti sebelum membuat HTB:

1. Klasifikasi dan menandai traffik - yaitu mengklasifikasikan traffik untuk digunakan lebih lanjut.

2. Membuat aturan untuk menandai traffik - yaitu menempatkan traffik ke dalam kelompok tertentu, antrian tertentu, kemudian menentukan tindakan yang akan diambil untuk masing-masing kelompok tadi. 3. Menerapkan aturan untuk antarmuka tertentu - aturan yang bisa ditambahkan (globalin, global-out, global-total) dapat diterapkan untuk seluruh antarmuka, atau antarmuka tertentu, atau jenis parent antrian terentu. Di Mikrotik RouterOS, struktur hirarki/berjenjang dapat dipasang pada 4 tempat yang berbeda yang biasanya digunakan sebagai pilihan parent antrian: 1. global-in: mewakili antarmuka input secara umum. Maksudnya, antrian yang masuk ke global-in berlaku untuk traffik sebelum difilter seperti traffik upload. 2. global-out: mewakili semua antarmuka output secara umum. Maksudnya, antrian yang keluar dari global-out berlaku untuk traffik setelah difilter seperti traffik download. 3. global-total: mewakili semua antarmuka input dan output bersama-sama (dengan kata lain itu adalah penyatuan global-in dan global-out). Digunakan dalam kasus ketika pelanggan memiliki batas untuk upload dan download. 4. <interface name>: merupakan salah satu outgoing interface tertentu. Hanya traffik yang keluar dari antarmuka ini yang bisa diqueue/masuk kedalam daftar antrian. Namun untuk versi 6 keatas parent global-in, global-out, dan global-total untukQueue Tree diganti dengan global yang setara dengan global-total untuk versi sebelumnya. Lihat kembali apa yang baru di versi 6.

Limitasi
Antrian pada HTB dibatasi oleh 2 rate:

CIR (Comitted Information Rate) - batas bawah atau minimal traffik (limit-at) yang dapat diperoleh antrian. Limit-at membatasi minimal traffik suatu antrian, tidak peduli walau dalam kondisi apapun antrian tidak akan mendapat traffik dibawah batas ini. MIR (Maximal Information rate) - batas atas atau maximal traffik (max-limit) yang bisa diperoleh antrian. Max-limit membatasi maximal traffik suatu antrian, dan setiap antrian akan mencapai batas ini jika parentmasih memiliki cadangan bandwidth. Sederhananya, pertama-tama traffik yang lewat akan mendapat batas minimal traffik (limitat) kemudian setiap antrian mencoba mendekati batas maximal (max-limit) dengan meminjam bandwidth yang tersisa dari parent. Oleh karenanya untuk mendapatkan hasil terbaik penggunaan fitur limitasi diatas sangat dianjurkan. Jika kita menggunakan parent antrian, maka total jumlah limitatuntuk child antrian pada semua tingkatan harus kurang dari atau sama dengan jumlah traffik yang tersedia pada parent. CIR (parent) >= CIR (child1) + CIR (child2) + CIR (child)3+ ... Dan max-limit masing-masing child antrian pada semua tingkatan harus kurang dari atau sama dengan traffik maksimal parent. MIR (parent) >= MIR (child1) & MIR (parent) >= MIR (child2) & MIR (parent) >= ...

Prioritas
Sudah kita ketahui bahwa semua antrian tidak akan mendapatkan traffik dibawah nilai limitat pada kondisi apapun. Maka nilai prioritas bertanggungjawab untuk mendistribusikan bandwidth yang tersisa dari parent antrian kepada child antrian sehingga mereka mampu mencapai nilai max-limit. Antrian dengan prioritas lebih tinggi akan mencapai nilai max-limit daripada antrian dengan prioritas yang lebih rendah. 8 adalah prioritas terendah dan 1 adalah prioritas tertinggi. Perlu dicatat bahwa prioritas akan bekerja jika nilai max-limitbukan nol (0). Untuk antrian yang melewati nilai limit-at dan max-limit parent antrian (leaf queue), prioritas di dalam (inner) antrian tidak akan memiliki arti.

Properti HTB
Properti yang sering dipakai pada HTB bisa dilihat pada contoh Queue Simple danQueue Tree. Referensi http://wiki.mikrotik.com

Anda mungkin juga menyukai