Friday, February 16, 2018

Teori Management Bandwith MikroTik

QoS MikroTik Bagian 1
  

   QoS tidak selalu berarti pembatasan bandwith. QoS adalah cara yang digunakan untuk  mengatur pengguna bandwidth yang ada secara rasional. QoS bisa digunakan juga untuk mengatur prioritas traffic berdasarkan parameter yang di berikan, menghindari terjadinya traffic yang memonopoli seluruh bandwidth yang tersedia.

Kita tidak dapat melakukan pembatasan traffic yang masuk ke suatu interface, ada 2 cara dalam Mikrotik untuk mengontrol traffic yaitu :
  1. Rate Limiting/Dropper/Shapper à Menolak (drop) semua paket jika melebihi limit yang telah ditentukan.
  2. Rate Wqualizing/Scheduller à Menahan sementara paket (buffering) traffic yang melebihi rate limit pada antrian (queue) dan apabila memungkinkan akan dilewatkan kemudian.
Apabila di gambar dalam graffic traffic terhadap waktu adalah sebagai berikut:




Pada traffic shapper untuk koneksi TCP , paket yang di drop akan dikirimkan ulang sehingga tidak ada kehilangan paket data. Pada Router OS , untuk masing-masing antrian(queue) dikenal 2 jenis batasan rate limit :

  1. CIR ( Committed Information Rate) – dalam keadaan terburuk, client akan mendapatkan bandwidth sesuai dengan “limit-at” (dengan asumsi bandwidth yang tersedia cukup untuk CIR semua client).
  2. MIR( Maximal Information Rate) – jika masih ada bandwidth yang tersedia setelah semua client mencapai “limit-at”, maka client mendapatkan bandwidth tambahan sebagai “max-limit”.

Brust

Burst adalah salah satu cara menjalankan QOS . Burst memungkinkan penggunaan data-rate yang melebihi max-limit untuk periode waktu tertentu. Jika data rate lebih kecil dari burst-threshold , burst dapat dilakukan hingga data-rate mencapai burst-limit.
Setiap detik router mengkalkulasi data rate rata-rata pada suatu kelas queue untuk periode waktu terakhir sesuai dengan burst-time. Burst-time tidak sama dengan waktu yang diijinkan untuk melakukan burst.

Contoh Brust Limit
Limit-at=128kbps, max-limit=256kbps, brust-time=8, brust-threshold=192kbps, brust-limit=512kbps.
Pada awalnya data rata-rata 0 kbps.



  1. Detik ke 1, data rata-rata adalah (0+0+0+0+0+0+0+512)/8=64kbps,masih lebih kecil dari brust-threshold (192kbps), brust dapat dilakukan. 
  2. Detik ke 2, data rata-rata adalah (0+0+0+0+0+0+512+512)/8=128kbps,brust masih boleh.
  3. Detik ke 3, data rata-rata adalah (0+0+0+0+0+512+512+512)/8=192kbps,brust masih boleh.
  4. Detik ke 4, data rata-rata adalah (0+0+0+0+512+512+512+512)/8=256kbps,tibalah pada saat dimana data rate lebih besar dari brust -threshold(192kbps). Brust tidak dapat dilakukan lagi, dan data rate turun menjadi max-limit (256kbps).


Cara  termudah melakukan queue di RouterOS adalah menggunakan simple queue.
Dengan simple-queue,kita dapat melakukan :
Limit tx-rate client (upload)
Limit rx-rate client (download)
Limit tx+rx-rate client (akumulasi)

Scheduler queues:
  1. BFIFO (Bytes First- In First-Out)
  2. PFIFO ( Packets First-In First-Out)
  3. RED( Random Early Detect)
  4. SFQ ( Stochastic Fairness Queuing)

Shaper queues:
  1. PCQ ( Per Connection Queue)
  2. HTB (Hierarchical Token Bucket)

Untuk pengaturan Queue  Kinds dapat dilakukan pada menu Queue Type


  • FIFO (First In Fist Out)

PFIFO dan BFIFO keduanya menggunakan algoritma FIFO, dengan buffer yang kecil. FIFO tidak mengubah urutan paket data, hanya menahan dan menyalurkan bila sudah memungkinkan. Jika buffer penuh maka paket data akan di drop. FIFO baik digunakan bila jalur data tidak congested. Parameter pfifo-limit dan bfifo-limit menentukan jumlah data yang bisa diantrikan di buffer.

  • RED (Random Early Detect)

RED tidak melimit berdasarkan urutan paket, tetapi bila buffer sudah penuh, maka secara tidak langsung akan menyeimbangkan data rate setiap user. Saat ukuran queue rata-rata mencapai min-threshold, RED secara random akan memilih paket data untuk di drop. Saat ukuran queue rata-rata mencapai max-threshold, paket data akan di drop.
Jika ukuran Queue sebenarnya (bukan rata-ratanya) jauh lebih besar dari red-max-threshold maka semua paket yang melebihi red-limit akan di drop.
RED digunakan jika kita memiliki traffic yang congested. Sangat sesuai untuk trafik TCP, tetapi kurang baik digunakan untuk trafik UDP.

  • SFQ ( Stochastic Fairness Queuing)
SFQ sama sekali tidak dapat melimit trafik. Fungsi utamanya menyembaingkan Flow trafik jika link telah benar-benar penuh. SFQ dapat digunakan untuk TCP maupun UDP. SFQ menggunakan metode hasing dan round robin dimana membagi trafik menjadi 1024 sub queue, dan jika terdapat lebih maka akan dilewati. Algoritma round robin akan melakukan queue ulang sejumlah bandwidth (allot) dari setiap queue. Total SFQ queue terdiri dari 128 paket.
Saat pertub mencapai waktu yang ditentukan algoritma hashing akan membagi traffic ke sub-queue berikutnya.

  • PCQ (Per Connection Queue)
PCQ dibuat penyempurnaan SFQ, PCQ tidak membatasi jumlah sub-queue. Karena itu PCQ membutuhkan memori yang cukup besar.
PCQ akan membuat sub-queue, berdasarkan parameter pcq-classifier, yaitu src-address, dst-address, src-port,dst-port, sehingga memungkinkan untuk membatasi maksimal data rate untuk setiap sub-queue (pcq-rate) dan jumlah paket data(pcq-limit). Total ukuran queue pada PCQ tidak bisa melebihi jumlah paket sesuai pcq-total-limit.

Contoh ilustrasi PCQ
PCQ Rate =128

PCQ Rate = 0


  • HTB ( Hierarchical Token Bucket)

HTB adalah classfull queuing discipline yang dapat digunakan untuk mengaplikasikan handling yang berbeda untuk beberapa jenis trafik.
Secara umum, kita hanya dapat membuat 1 tipe queue untuk setiap interface namun dengan HTB RouterOS,kita dapat mengaplikasikan perlakuan yang berbeda untuk jenis traffic yang berbeda.
HTB memungkinkan kita membuat queue menjadi lebih terstruktur, dengan melakukan pengelompokkan-pengelompokkan bertingkat.

Kita harus membuat tiga langkah besar untuk mengaplikasikan HTB.

  1. Match and mark traffic- mengklasifikasikan traffic untuk digunakan lebih lanjut . Terdiri dari satu atau lebih parameter untuk memilih paket yang cocok untuk kelas tertentu.
  2. Create rules (policy) to mark traffic – menempatkan kelas traffic tertentu ke dalam antrian yang spesifik dan untuk menentukan tindakan yang diambil untuk setiap kelas.
  3. Attach policy for specific interface(-s) – menambahkan kebijakan pada semua interface(global-in, global-out atau global-total), untuk interface tertentu atau untuk parent queue tertentu.


Connection Mark&Mangle

Koneksi pada paket data protocol TCP, nomor portnya seringkali berubah, misal pada koneksi HTTP, port 80 hanya digunakan pada request pertama, setelah itu koneksi akan diubah dan dialihkan ke port yang lain tanpa kita ketahui.
Untuk melakukan tracking terhadap perubahan tersebut dibutuhkanlah connection mark. Connection mark akan mengingatkan koneksi yang terbentuk dan tepat bisa mengenali meskipun terjadi perubahan nomor port.
Setelah melakukan connection mark,barulah kita menandai paket-paketnya dengan melakukan packet mark berdasarkan nama dari connection mark yang telah dilakukan sebelumnya.
Connection mark dalam Mikrotik ada fitur Mangle, Mangle menandai paket-paket data tertentu, dan kita akan menggunakan tanda tersebut pada fitur lainnya, misalnya filter , routing, NAT ataupun queue.
Pada mangle kita juga bisa melakukan pengubahan beberapa parameter pada IP header,misalnya TOS (DSCP) dan TTL fields.
Tanda mangle ini hanya bisa digunakan pada router yang sama dan tidak terbaca pada router lainnya. Pembacaan rule mangle akan dilakukan dari atas ke bawah secara berurutan.


0 komentar:

Post a Comment