Home

Configuring Congestion Management (Queuing)

1 Comment

Sebelum kita bahas config…kita bahas sejarahnya…

The First (and default) Congestion Management method adalah FIFO (First-in First-Out)

Ini kek antrian kereta api, nonton bioskop, dll…

yang pertama antri/dateng, dia juga yang pertama kali masuk/keluar

Jeleknya?!? Ga bisa buat voice, ga bisa menjamin delay, dan ga bisa menjamin bandwidth

Bayangin klo ada packet voice baru nyampe di jaringan (yang ga bole ada delay) disuruh antri paling belakangan…its a BIG NO!!!

**************

Ok…kalo gitu gimana klo kita PRIORITASKAN VOICE
!! HIDUP VOICE *wkwkw*!!! kita buat namanya Priority Queuing

Setelah dikonfig…wissss….voice traffic is verry smooooth

Abis itu ada yang teriak…”woiii….download-an gw putus mulu niiiih, woiii ga bisa browsing nih gw

Uppss…itu bandwidth kemakan semua ama voice traffic…

Jadi tarolah voice dikasi 20% dari 100mb bandwidth yang ada dijaringan…nah, voice baru make sekitar 15% nih…

Kebetulan ada data stream yang lagi make 5% available traffic bandwidth, DIMANA 5% nya didapat dari traffic voice yang ga dipake

Ketika demand voice naik…data stream yang lagi make 5% dari bandwidth ini akan ditendang “demi kepentingan yang mulia” traffic voice (jadi ga sistem reserve bandwidth)

Well….say “maybe no…” to priority queuing

**************

And when the PQ (Priority Queuing) isn’t enough…here comes the Custom Queuing

eh…supaya voice ga makan bandwidth, kita reserve aja bandwidth buat dia, begitu pula buat traffic yang lain

Contoh: 50% bandwidth buat voice, 30% buat video, 20% buat data

Tapiiii tetep voice harus duluan…bagus kan!??! Wah…bagus2

Wokeeh…voice duluan (cakeeep), abis itu video (mantep), abis itu data (sipp)..terussss aja kek gitu

Disaat voice dan video uda selesai ngirim, pas traffic data dikirim…eh…ada packet voice mau masuk nih

eit…ntar dulu…data belum selese nih

*Gubrak*…..jelek ni maenannya…round-robin….ganti2an

What…sama aja boong dong…pas voice selesai nganterin packet, video ama data ngirim…itu packet voice nunggu dong

Yup…ini Queuing bisa reserve bandwidth…tapi ga bisa menjamin delay jadi lebih kecil

Baiklah…kita cari lagi metode lain…

**************

eh gimana klo kita pake metode biasa aja…yang sering ngirim packet (kek voice) kita kasi maju duluan packet nya, tapi begitu ada packet yang jarang dikirm (contoh: telnet) kita kasih prioritas untuk duluan jalan

Weh…sound great !!! inilah yang dinamakan Weighted Fair Queuing (WFQ)

WFQ adalah metode queuing default untuk slow WAN link (E1/T1)

Eh…kok gw lagi asik2 nelpon tiba2 putus sih, apalagi pas si admin lagi mo nge-cek device (telnet)…pasti putus nih voice gw

Ups….kita lupa…Voice ga bole disalip oleh traffic lain, meskipun itu traffic jarang2 muncul di jaringan, voice harus steady dan ga bole diganggu…

*gubrak* salah lagi nih…*emang rese nih voice packet*

**************

ehm…gimana klo kita bikin voice, video, dan data itu ada reverse bandwidthnya kek Custom Queuing, tapi klo ada packet yang jarang ngirim maka dia akan di prioritaskan (pake metode WFQ), toh dia ga akan bisa ngambil bandwidth dari yang lain kok (uda di reserve)

Even more great !!!…ini yang dinamakan Class-Based WFQ (CBWFQ)

Jadi kita bikin pake MQC (see link), bikin class-map (metode yang sama dengan Custom Queuing) untuk berbagai tipe traffic yang kita define bandwidth percentage-nya

Nah, class-map terakhir yang bernama class-map default (pasti ada ini) pake metode WFQ (kita liat config-nya nanti dibawah)

Eh..tapi gw lupa…Queuing untuk class-map yang kita bikin/define masi pake ROUND ROBIN
!!!

*Eaaalah gubrak…multiple gubrak facepalm*

**************

Hmm…round-robin ya…satu2nya cara ngilangin round-robin ya pake PQ…priority

tapi kan rakus…

Kita limit…bukan kita reserve…limit aja…jadi you bisa pake i punya traffic voice UP TO berapa persen (sambil bayangin gaya ngomong gw kek aristokrat)

trus klo kita define buat voice…yang laen gimana

Yang lain…makin ketinggalan *maap iklan*

Hmm…aha
!!…bagaimana klo traffic2 selain dari PQ ini kita pasangin CBWFQ

Kita ensure stream packet voice uninterrupted dan yang lain pake round-robin dengan bandwidth reserve

Cerdasss !!! *alay*

Kita namain ini metode Low Latency Queuing (LLQ)
*bukan gw yah yang namain wkwkw*

LLQ = PQ + CBWFQ (Custom Queuing + WFQ)

===================================

Metode2 diatas adalah metode software queuing *loh?!*

Hardware queuing selalu pake FIFO, KALAUUUU penuh…baru pake software queuing, gituu loh

ini kalo router….klo switch MEMANG Hardware Queuing

hardware queuing di-perform oleh yang namanya ASIC…tapi masalahnya, karena ASIC ini physical bukan logical…tiap tipe switch pasti beda2 ASIC-nya, semakin mahal switch-nya…semakin bagus hardware queuing-nya…(remember 1p4q3t klo di Cat6500?!? ato 3q4t di Cat3560??)

Nah…software queuing yang kita pake apa nih?!? Ya yang LLQ lah…

Jadi inti dari topik kita kali ini adalah Configuring Congestion Management (with LLQ) hahaha

Kenapa LLQ???…karena dengan belajar LLQ, kita juga otomatis belajar CBWFQ dan PQ

Dan…karena thesis gw maenin LLQ, gw lebih suka bahas LLQ hahaha

First…define traffic yang mau dikasi PQ dan define traffic mana yang mau dikasi CBWFQ

Contoh kita ambil traffic HTTP pake CBWFQ dan Voice pake PQ (pastinya)

Create Classification First

Then Marking and Policing


Penjelasan:

  • Keyword untuk mengaktifkan PQ adalah priority [value KB atau persentase]
  • Disini voice traffic PASTI digaransi dapet 30Kbps, klo mau maenan persen…pake priority percentage [value]
  • Mungkin aja voice cuma makan 10kbps…20kbps-nya dimakan data, tapi ketika demand voice traffic mulai meninggi…itu data stream akan di tendang2in…sampe reach 30kbps (limit)
  • LLQ ga akan jalan klo ga ada keyword priority (punyanya PQ)
  • Keyword bandwidth untuk menyatakan klo kita pake Custom Queuing untuk traffic2 yang kita sudah define
  • Nah, class default (yang ga di define) pake WFQ
  • Note: gw ngetik class-defaultclass-default uda ada dari sono-nya tanpa harus gw define dulu (liat, gw masukin class asal-asalan gw ke policy-map wkwkw, tapi ga akan bisa dimasukin ke policy-map klo belum di define sebelumnya)
  • Fair-queue adalah metode queuing untuk class-default nya (gw cuma mo nunjukin doang, ga diketik juga gpp)
  • Gabungan dari WFQ + Custom Queuing = CBWFQ
  • Jadi LLQ itu sendiri ga ada settingan khusus…pure gabungan dari konfig PQ+CBWFQ = LLQ
  • Understand ?!?

The last step…apply to interface

Ups…kenape nih?!?

Cisco punya rule…traffic2 yang di define…total ga bole sampe 75% dari total bandwidth yang ada, jadi yang class-default (entah apapun tipe traffic yang ada disana) bisa jalan dengan menggunakan 25% bandwidth sisa

Kenapa bisa begitu?? Udah..percaya aja…Cisco punya divisi R&D yang ga perlu lo tanyain lagi kek apa kerjanya mereka wkwkw

Bisa ga kita rubah?!? Bisa…pake max-reference bandwidth

Baru deh bisa “tabrak” itu policy traffic-nya Cisco…tapi tidak disaran kan rubah2 begini…

Now lets get in-depth about PQ configuration

Priority dalam PQ adalah metode untuk ensure bahwa THE FIRST KILOBIT or THE FIRST PERCENTAGE OF TOTAL BANDWIDTH is go to that classified traffic

Kita bisa define pake % ato langsung dalam kilobit

Sekarang masuk ke CBWFQ configuration

Disini kita bisa pilih…kita bisa reserve bandwidth dengan 2 cara, minta router untuk ngasi “%” dia punya bandwidth (ato mau langsung dalam kilobit)

Ato minta router untuk ngasi “%” dari bandwidth sisa yang ada…

Jadi klo kita ngetik “bandwidth remaining 20” artinya dari sisa bandwidth yang ada, contoh gw punya 1000mbps/1 Gbps…sisa 100 mbps, gw dapet 20mbps buat si class HTTP

Nah karena kita pake nya percent…makanya cisco qos policy-nya nolak (Cisco rule yang 75% tadi)…klo kita pake bandwidth remaining percent…baru bisa

Ini hasil show policy-map LLQ nya

Inget…class-default pasti ada (walaupun ga keliatan di show)…jadi traffic2 yang kaga ke-define…masuk ke sini, defaultnya pake fair-queuing (WFQ)

Nah…ada 1 lagi…mumpung inget

Nah lo…kenapa ini!?

Nah…kita bisa pake QoS bertipe input klo kita mau nge-limit traffic/policing traffic/mark itu traffic untuk di “apa2in” di outbound/egress interface atau di router lain

Sedangkan queuing itu bertugas ngatur SIAPA DULUAN YANG BOLE KELUAR DARI INTERFACE

So..untuk queuing kita pake output aja…

Remember this 2 things

  1. Kita ngatur berapa banyak packet yang bole masuk kedalam interface untuk menghindari bottleneck dengan cara POLICING the traffic (example: lewat dari threshold…”exceed-action drop”, here’s the link to my previous article),Policy-map input hanya berguna (menurut gw) di MLS (Multilayer Switch)
  2. Kita ngatur berapa banyak packet yang bole keluar dari interface karena kapasitas hardware queuing juga terbatas…makanya dilempar ke logical queuing/software queuing, thats when Congestion Management takes effect (CBWFQ, LLQ, and PQ) dan supaya itu software queuing ga terlalu banyak yang antri…kita pake Congestion Avoidance (WRED)

QoS (Quality of Service)

9 Comments

Kali ini kita bahas QoS…over IP Network (soalnya istilah QoS banyak…ga cuma di dunia IT, bisa di perhotelan, bisa di perdagangan, dll)

Apa sih QoS itu ?!?

Taken from Cisco Book, QoS is “The Capability of Network to provide better service to selected network traffic” (at expense of another type of traffic of course)

Alias kira2 begini….”kemampuan dari suatu Jaringan IP untuk memberikan layanan lebih bagus untuk suatu tipe data/traffic tertentu (biasanya yang penting), tentu saja dengan mengorbankan layanan untuk tipe data/traffic yang tidak terlalu penting

Kenapa sih ada QoS ?!?

Istilah QoS terjadi karena dalam suatu jaringan sering terdapat masalah yang berupa slow data rate transfer, suara putus2 (VoIP), bottleneck, bandwidth exhaustion, dll.

Solusi UTAMA untuk memecahkan masalah diatas Cuma satuTAMBAH BANDWIDTH

Tapi seperti yang kita duga…jarang ada yang mau meng-upgrade link nya, mungkin karena alasan biaya ataupun juga gara2 “gw tambah bandwidth…ini si tukang2 download makin menggila !!

So…we know the point of this Article…

==============================

Defining Requirement of QoS

  1. Identify Traffic (apa aja yang jalan di jaringan elo…Voice kah, Data Transfer kah, ato Data Critical seperti Banking dll)
  2. Divide Traffic into Classes
  3. Set Policy(-es) into every Class of traffic that you define earlier

Beberapa dari tipe data yang jalan dijaringan

Voice adalah tipe data sangat sensitive terhadap delay apalagi drop

Bayangkan klo gue ngomong “saya tidak suka pipis sembarangan…”…kata2 tidak nya drop(ilang)…BERABE…wkwkwk

Latency alias Delay (berdasarkan rekomendasi ITU-T G.114 untuk Transmisi 1 arah) adalah 150ms (0,15 detik…very short)

Cisco masi aga longgar, acceptable delay untuk Voice dalam IP network adalah 200-400ms (0,4 detik)

Video juga sama…bahkan lebih rakus bandwidth daripada Voice (makanya…kadang2 ada tulisan “DILARANG STREAMING” hahaha)

Minimal untuk streaming Video Conferencing ga putus2 itu harus menyediakan 20% extra bandwidth yang ada

Contoh…untuk 384kbps streaming (medium quality)…butuh minimal (384*20%) = 460 kbps

Nah…klo data…kita bisa analogikan…”yang penting nyampe dengan selamat

Klo drop…tinggal minta ulang paket nya, klo delay…lo maki2 aja ISP nya…wkwkkw

Pada dasarnya….tipe traffic berjenis data dibagi 4:

  • Mission-Critical: aplikasi2 yang jalan ga boleh putus (maksimal 0,5 detik) dari jaringan
  • Transactional: Interactive Traffic, Data Transfer
  • Best-Effort: E-mail, Internetan
  • Scavenger alias Less-than-best-effort: Peer-to-Peer application kek File Sharing over LAN dll

Caranya ngecek traffic kita apa aja gimana ?? pake NBAR kek, Wireshark kek, The Dude kek, Cacti kek, pokoknya software2 yang bisa baca SNMP

==================================================

QoS Model

  • Best-Effort (default)…”dah lah…yang penting nyampe”

    Best Effort adalah traffic TANPA QoS…

  • Integrated Service (IntServ)…”gue akan tiba dijakarta jam 10 pagi”

    IntServ lebih kearah “resource reservation”…uda mesen duluan bandwidthmya, traffic nya, jadi lo bisa analogikan kek lo naek pesawat, lo uda beli tiket…lo akan nyampe jam 10 malem…ya (kurang-lebih) nyampe jam 10 malem

    RSVP (Resource Reservation Protocol) adalah protocol layer 4 yang bekerja dengan metode IntServ

    CAC (Call Admission Control) juga sama, CAC adalah protocol Voice over IP yang bertugas untuk menghandle sesi telpon2an (klo link nya hanya sanggup menyediakan 2 sesi telpon2an, telpon yang akan masuk setelahnya akan dibuat queuing/antri)


  • Differentiated Service (DiffServ)…QoS akan dibedakan berdasarkan tipe kelas traffic nya (yang uda dijelasin diatas)

=======================================================

Factor that Affect QoS

  • Bandwidth

    Akar masalah dari segala problem yang ditimbulkan dalam “perebutan” jaringan

    Link-Speed yang berbeda akan menyebabkan terjadinya bottleneck

    Mengutip kata2 dari Arno Penzias (Mantan Kepala Bell Labs dan Nobel Prize Winner)Money and Sex = Storage and Bandwidth…only too much is never enough

  • Delay

    Waktu tempuh suatu data dari source ke destination disebut delay

    Delay terbagi 8 tipe:

    • Serialization Delay

      Waktu yang dibutuhkan untuk menjadikan data2 logical jadi bit2 yang dikirim ke media

      Dipengaruhi oleh kualitas bahan dari media…semakin bagus media (eq. Fiber) semakin minim delaynya

      So…Delay ini Fixed (kaga bisa dirubah dengan konfig)

    • Propagation Delay

      Ketika bit2 ini dikirim melalui media…waktu tempuh bit2 dari suatu node ke node lain inilah yang disebut propagation

      Jadi ini waktu yang dibutuhkan oleh bit2 untuk pindah dari source interface ke destination interface

      Satu2nya yang mempengaruhi delay ini adalah PANJANG dari media

      So…Delay ini Fixed

    • Queuing Delay

      Waktu yang dibutuhkan untuk data2 dikirimkan dari source interface (ngantri = queuing)

      System Ngantri ini bisa diutak-atik (contohnya dengan CBWFQ dan LLQ)

      So…Delay ini Non-Fixed (bisa diutak-atik pake konfig)

    • Forwarding (Processing) Delay

      Inget “Cut-Through, Fragment Free, dan Store-and-Forward” ga?!?, ini forwarding delay

      So… Delay ini Non-Fixed (bisa diutak-atik pake konfig)

    • Shaping Delay

      Ini delay karena bandwidth yang di “cekek” sama ISP (contohnya rate-limit)

      So… Delay ini Non-Fixed (bisa diutak-atik pake konfig)

    • Network Delay

      Delay yang disebabkan oleh Frame-Relay, ATM, dll (multi akses devices)

      So… Delay ini Non-Fixed (bisa diutak-atik pake konfig)…setting prioritas, setting bandwidth limit, dll

    • Codec Delay (and also Packetization Delay)

      Biasanya ini di Voice over IP…delay yang disebabkan oleh komponen jaringan untuk meng”konversi” suara jadi bit

      Codec G.711 lebih bagus kualitas suaranya, tapi besar di overhead (cocok di LAN), sedangkan G.729 biasa aja, kecil overheadnya (cocok di WAN)

      So…Delay ini Fixed (kaga bisa dirubah dengan konfig)

    • Compression Delay

      Waktu yang dibutuhkan untuk memperkecil bit yang dikirim (kek winRAR, winZIP gitu lah…di compress paket nya)

      So… Delay ini Non-Fixed (bisa diutak-atik pake konfig)

  • Jitter: yaitu perbedaan antar delay

    Contoh: paket pertama dikirim dengan delay 20ms, paket kedua dikirim dengan delay 30ms

    Nah..Jitter ini adalah 30-20 = 10 ms

  • Packet Loss

    Kalau satu link interface hanya bisa mengirim 10 frame perdetik, sedang kapasitas queuing nya sekitar 100 frame, nah frame ke 101, 102, dst. akan di drop

    Inilah yang di sebut Tail Drop

    Nah…klo antrian didalam interface di handle oleh Queuing

    Klo antrian diluar (yang mau masuk interface) dihandle oleh RED (Random Early Detection) dan WRED (Weighted RED) (mereka juga yang ngatur tail drop)

=======================================================

QoS Tools

Classification & Marking

Classification: identifikasi traffic yang lalu lalang di jaringan, dan dibagi2 jadi beberapa kelas (kelas Voice, Video, ato Data)

Almost all of QoS Tools use Classification to some degree…contohnya, untuk perform compression RTP (Real Time Protocl) Packets, tentu Device itu harus tau…mana paket yang ada RTP, mana yang engga

Marking: ngasih “stempel” ke setiap packet – Layer 3 (namanya Type of Service – ToS) ato Frame – Layer 2 (namanya Class of Service – CoS)…ini packet tipe Transactional, Critical, ato Voice

Classification dan marking diusahakan dikonfigur “as close as possible to the source (not destination)

CoS Field

ToS Field

*IP Presedence = IP Precedence provides the ability to classify network packets at Layer 3, analogous to the functionality of the 802.1P protocol at Layer 2. With IP Precedence configured, network packets traverse IP Precedence devices according to the priority you set. Priority traffic is always serviced before traditional traffic. (taken from Microsoft Documentation)

Nanti IP Presedence akan di “mapping” ke DSCP (Differentiated Service Code Point)

Apa itu CS0, AF13, CS2, dll !??!

Met puyeng gan…

Congestion Management (Queuing)

  • FIFO (First in First Out) – Default

  • Round-Robin..Ganti2an ngirimnya tiap kelas traffic…ga cocok buat Voice
  • WRR (Weighted Round Robin)…kelas A kirim 3 packet..kelas B kirim 2 paket…kelas C kirim 1 paket…tetep ganti2an
  • WFQ (Weighted Fair Queuing) – keluar packet nya bareng2 dan semua dapat bandwidth allocation yang sama (ga bisa nih buat Voice…dia kan harus duluan)
  • CBWFQ (Class Based WFQ) – WFQ yang tiap kelas bisa kita atur alokasi bandwidthnya (kurang cocok…Voice HARUS duluan…jgn di-interrupt ama kelas lain SAMA SEKALI)

  • PQ (Priority Queuing) – Kelas yang di “prioritaskan” akan selalu JALAN duluan, klo uda abis…baru kelas lain, bodo amat dapet berapa juga, paling bandwidth sisa…(Cocok buat Voice…tapi GA COCOK buat yang lain)
  • LLQ (Low Latency Queuing) – it is PQ combined with CBWFQ !! Cisco Punya…jadi kelas Voice PASTI di prioritaskan (PQ)…nah..kelas lainnya pake metode CBWFQ

RED, WRED, ato ECN (Explicit Congestion Notification) itu disebut Congestion Avoidance Method

Shaping and Policing

Shaping: nge-rubah data rate transfer suatu interface (FastEthernet yang 100mbps bisa jadi 20kpbs klo mau), ini yang sering dipake

Policing: nge-limit maksimum speed data rate transfer, klo lebih…di drop

Tergantung kebutuhan, kita bisa pake salah satu aja ato mau 2-2 nya

=============================================

QoS Queuing Best Practices (taken from Cisco QoS Exam Certification Guide – Cisco Press)

=========================================================

Masih banyak lagi yang bisa dibahas di QoS over IP Network, nanti gw update disini juga

Konfigurasi menyusul yaks..