Home

Implementing QoS on Cisco Switch

Leave a comment

(note: gw pake Cisco Catalyst 3560, Catalyst 6500 banyak lagi commandnya @_@)

Briefing singkat tentang QoS dulu yah

Setiap device bisa bikin CoS (Class of Service, di layer 2) sendiri, gunanya untuk bilang ke ke alat lain “ini paket penting lohhh, tolong paket gw duluan yahh

Value CoS itu 3 bit yang dikirim oleh trunk interface, dimana masing2 bit menandakan:

Contohnya IP Phone akan menandai datanya (marking) dengan default CoS 5

eh…itu kan trunk…klo access gimana? ya setting CoS nya (bisa manual/otomatis), ato itu interface ga usa “baca” CoS…baca L3 QoS aja

Tapi bisa aja sebuah aplikasi bikin CoS sendiri untuk “menyuap” hakim alias switch untuk nganterin paket nya duluan

Dan switch bisa aja ga percaya….oleh karena itu kita define trust boundary-nya

Nah, First…setting trust boundary

Important mention: yang kita percaya hanya CoS yang dikirim oleh switchport yang terhubung dengan IP Phone dan switchport yang terhubung dengan distribution layer (switch lain), dengan catatan…switch lainnya juga harus trust ama switch tadi (contohnya access layer switch)

Dalam QoS, interface fisiknya yang kita trust…bukan port-channel ato interface virtual

Penjelasan:

  • mls = multi layer switching
  • klo kita ketik mls qos trust cos artinya kita percaya cos yang dikirimkan kedalam port fa0/1
  • begitu pula dengan dscp dan ip-presedence (nanti dibawah kita bahas apa itu dscp dan ip precedence)
  • by default…semua switchport itu untrusted

kita juga bisa “percaya” ama tipe device nya

Eh, yang kita konfig kan yang fa0/1…yang fa0/2 gimana…kan ada PC dibelakang IP Phone nya??

Nah, berarti kita extend trust boundary nya (see packet tracer picture above)

Bisa pilih, itu PC yang konek ke IP Phone mau di bener2 Trust CoS-nya ato kita override CoS-nya

*di Cisco Voice course ada juga CoS, tapi bukan buat QoS…ini semacam call restriction

Klo CoS kita maen di layer 2…dimana CoS nya bisa ganti2 (di strip) setiap hop (remember…ip source dan destination selalu sama kecuali pake NAT, sedangkan mac-address selalu ganti tiap hop…CCNA nih)

tapi ketik dulu mls qos di global config –> SW(config)#mls qos, untuk turn on QoS capabilities on switch

Sekarang kita maen di layer 3…namanya Type of Service (ToS)..besarnya 1 byte (8bit)

IP Presedence digunakan buat QoS di Layer 3 (biar ga kayak CoS-nya Layer 2)…Cuma karena besarnya 3 bit…kurang mumpuni untuk berbagai tipe data yang sangat banyak itu

ToS IP Precedence value-nya sama dengan CoS (3 bit)…tapi karena IP Precedence ga bisa differensiasi lebih dari 8 tipe traffic (0 ~ 7), dibuatlah DSCP…satu aplikasi pake AF41, satu lagi pake AF43…sama2 level tinggi “AF4”..tapi AF41 lebih di prioritaskan

Maka dibuatlah DSCP (Differentiated Service Code Point) yang besarnya 6 bit

3 bit pertama…Class Selector, 3 bit berikutnya Drop Presedence, 2 bit selanjutnya adalah ECN (explicit Congestion Notification)…bingung?? lets see the picture (maap jelek)

ECN

Jadi klo ada data dengan marking AF4 akan lebih di prioritaskan daripada AF3…

AF41 (kelas AF4 dengan drop value 1 alias low) akan lebih di prioritaskan daripada AF43 (kelas AF4 dengan drop high)

EF biasanya ga pake drop precedence…

ECN itu apa? ini buat “membantu” congestion avoidance method seperti WRED

klo WRED sibuk nge-drop packet biar ga penuh threshold-nya SECARA RANDOM, ECN ini dipake buat ngasi tau router/switch klo threshold uda mau penuh…paket yang di mark ECN ini lah yang di prioritaskan untuk di drop

besarnya 2 bit, jadi klo ga 00, 01, 10, ato 11 binary-nya…dimana 00 artinya ga ada ECN, 01 ato 10 artinya ini packet mendeteksi adanya congesti di threshold, dan 11 artinya DE (Discard Eligible)

Trus gimana cara ini value ToS masuk ke konfig?!?

Nah,Second…Mapping the Traffic

Gw bilang sih ini “nangkep” traffic…pake ACL, tapi sebelumnya…kita harus define dulu mo mapping apaan nih??

Contoh kita mau mapping traffic FTP

Penjelasan:

  • untuk nangkep traffic FTP, berarti kita harus buat dulu ACL khusus FTP
  • kita tangkep (permit tcp, FTP kan TCP) untuk protocol FTP itu sendiri dan data connection FTP (ftp-data)
  • lalu bikin deh class-map untuk “nampung” hasil filteran ACL itu
  • trus di-match-in dengan nama ACL nya

Third…Policing and Marking the Traffic

Sesudah datanya ditangkep trus “ditampung” di class-map, maka…

Langkah selanjutnya kita harus define..”mau kita apaain ini traffic?!?”

Penjelasan:

  • kita bikin policy-map dengan nama ManualQoS
  • kita set policy class-FTP yang kita buat tadi, kita set bandwidth yang bisa dipake berapa
  • default bandwidth dalam bit, klo kita tulis “k”, “m”, atau “g” dibelakang angka artinya kilo, mega, gigabit
  • trus setting burst rate nya (kelebihan data yang dapat di tolerir, default dalam byte), disini gw set 10000 bytes
  • trus apa “action”-nya klo burst rate…bisa di drop…ato diganti DSCP-nya biar device selanjutnya yang mikir mo diapain ini traffic
  • dalam 1 policy map bisa banyak class yang bisa kita masukin (contoh gw buat class-Voice)
  • di dalam policy map juga kita bisa set dscp value (marking) dari traffic yang udah kita tangkep itu (disini gw set voice traffic DSCP-nya EF…default alias sami mawon hahaha)

bro…klo gw set policy tiap class sama bandwidthnya…masa gw ketik terus2an…mampus gw

kita bisa pake namanya aggregate-policer…contoh:

Tanpa aggregate-policer

Dengan aggregate policer

Tapi kita mapping manual gini pasti ada default mapping-nya dong?? Ada

show map cos-descp

Nah makanya default untuk voice itu pasti CoS = 5, ToS DSCP = EF

ah masa?? coba kita balik…show mls qos map dscp-cos

show map dscp

bedeeuh…hahaha…DSCP 46 artinya kolom ke-4 baris ke-5 value nya 05…

DAN TERAKHIR…Apply the Policy into the Interface

Penjelasan:

  • hanya bisa 1 policy (user-defined manual QoS) dalam 1 interface…entah itu input atau output
  • catalyst switch hanya bisa input
  • dan best practice kita taro di interface yang deket trust boundary
  • karena kita setting QoS per-module/per-class/per-traffic…kita berarti pake metode MQC (Modular QoS CLI)

bro…ribet bener dah bikin QoS…ada yang versi otomatis ga?

Ada..pake Cisco Auto QoS, QoS berdasarkan rekomendasi Cisco

*@#$nk
!! uda cape2 gw bikin…ada auto nya

Penjelasan:

  • lo bisa bikin AutoQoS buat untrusted devices (keyword auto qos classify police)
  • ato lo mau trust (percaya buta aja) ama CoS/DSCP
  • lo juga bisa bikin autoQoS khusus voice dan video (gambar dibawah)

Ini configurasi fa0/1 yang gw bikin

Penjelasan:

  • srr-queue dan priority-queue entah darimana dateng nya…hahah (mungkin dari autoQoS)
  • gw bisa gabung manual QoS ama sama auto QoS
  • untuk router bisa pake auto qos voip di interface subconfiguration

WOKEH SEGITU DULU…GW PUSING JUGA INI…MUMET MET MET

Nanti Queuing nya dah….

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..

Older Entries