User Tools

Site Tools


wiki:site:cisco:voice_qos

Voice QoS

  • Delay - zpoždění paketu při průchodu sítí
  • Jitter - proměnlivé zpoždění paketů, pakety přicházejí s různým zpožděním (fázové chvění)
  • Loss - ztráta paketů v síti

Typy QoS:

  • Best-effort
  • Integrated Services model
  • Differentiated services model

QoS musí být implementován na všech zařízeních v síti, jimiž citlivý provoz prochází, aby měl smysl.

Best-effort

  • ve skutečnosti se nejedná o nástroj QoS
  • routery a switche přenášejí pakety tak rychle jak je to možné, nerozlišují druh provozu
  • pakety jsou odbavovány v takovém pořadí v jakém přišly
  • analogie k dopravě na silnici: Sanitka i přes zapnuté majáky se musí řídit všemi předpisy jako ostatní - na křižovatkách musí stát na červenou, musí stát v koloně jako ostatní apod.

Integrated Services model

  • IntServ
  • RSVP Resource Reservation Protocol (RFC1633)
  • spočívá v předrezervaci šířky pásma pro daný provoz (per-flow)
  • analogie k dopravě na silnici: Pro sanitku Policie uzavře křižovatky na celé trase a vyhradí pro ni zvláštní jízdní pruh

Differentiated services model

  • DiffServ
  • IntServ není vhodný pro mnoho toků
  • u DiffServ každé zařízení vyhodnocuje jednotlivé pakety individuálně (per-hop)
  • závisí na informacích v IP hlavičce
  • analogie k dopravě na silnici: na každé křižovatce stojí policajt, který jakmile spatří záchranku zastaví (upraví) provoz, aby mohla projet

Layer 2 QoS

  • L2 rámce samy o sobě nenesou žádnou informaci o jejich prioritě, jsou tedy přepínány dle metody Best-effort
  • jakmile jsou přenášeny v trunku je v jejich záhlaví kromě informace o vlan také pole CoS
  • jakmile rámec “vypadne” na switchi z trunku, ztratí i informaci CoS
  • IEEE 802.1Q
    • 12-bit VLAN ID
    • User Field obsahuje 3-bity 802.1p CoS
    • CoS 0 - nejnižší priorita
    • CoS 7 - nejvyšší priorita
    • CoS se nepřenáší v rámcích nativní VLAN!!!, tyto rámce jsou přepínány dle default CoS nakonfigurovaného na přijímajícím switchi
  • ISL
    • 15-bit VLAN ID
    • 4-bit User Field
    • 3-bity z User Field jsou CoS
    • Cisco switche mapují 802.1Q CoS do ISL rámců

Layer 3 QoS

  • všechny pakety obsahují pole ToS (1 byte)
    • 3-bity = IP precedence
    • 4-bity = ToS
  • DiffServ využívá celý byte ToS ⇒ DS Differentiated Services Field
  • 6-bitů DS = DSCP (Differentiated Service Code Point)
  • DSCP je zpětně kompatibilní s IP precedence
    • 3-bity Class Selector
    • 3-Bity Drop Precedence

IP Precedence (3 Bits)DSCP (6 Bits)
NameValueBitsPer-Hop
Behavior
Class
Selector
Drop
Precedence
Code-
point
Name
DSCP Bits
(Decimal)
Routine0000Default Default000 000 (0)
Priority1001AF11:LowAF11001 010 (10)
2:MediumAF12001 100 (12)
3:HighAF13001 110 (14)
Immediate2010AF21:LowAF21010 010 (18)
2:MediumAF22010 100 (20)
3:HighAF23010 110 (22)
Flash3011AF31:LowAF31011 010 (26)
2:MediumAF42100 100 (36)
3:HighAF43100 110 (38)
Flash Override4100AF41:LowAF41100 010 (34)
2:MediumAF42100 100 (36)
3:HighAF43100 110 (38)
Critical5101EF EF101 110 (46)
Internetwork Control6110 (48-55)
Network Control7111 (56-63)
  • IP precedence 5 (DSCP EF) odpovídá rozsahu DSCP 101000 - 101111 (40-47), pro EF se však nejčastěji používá jen DSCP 101110 (46)
  • Class 0 = best-effort
  • Class 1 - 4 = AF, čím vyšší AF tím větší priorita (AF pakety mohou být zahozeny v případě nutnosti)
  • Class 5 = EF, “prémiová” priorita, menší šance zahození, obvykle se používá pro hlas/video
  • Class 6 a 7 = použití pro protokoly řízení sítě (STP, routing, apod.)
  • Drop Precedence:
    • Low (1) - menší šance zahození
    • Medium (2)
    • High (3) - větší šance zahození v případě potřeby

Př. AF21 = AF level 2 s drop precedence 1 (low)

Implementing QoS for Voice

  • klasifikace provozu = přidělení priorit paketům dle nějakých pravidel (např ACL)
  • QoS může být přenášen v poli ToS jako IP precedence nebo DSCP, dále mezi switchi v truncích v poli CoS
  • na switchi lze nastavit zda poli CoS v přicházejících rámcích důvěřovat, to má zabránit uživatelům podvrhovat CoS a získávat tak “lepší” službu
  • nedůvěryhodné CoS hodnoty mohou být překlasifikovány
  • uvnitř podnikové sítě jsou obvykle QoS hodnoty “trusted”
  • na hranici s jinými sítěmi jsou QoS hodnoty “untrusted”
  • “trust boundary” - hranice důvěryhodnosti (obvykle access switche a WAN demarkační body s jinými ISP)
  • je-li jasně definována hranice důvěryhodnosti, vše uvnitř sítě může hodnotám QoS slepě důvěřovat

Konfigurace trust boundary

  • def. je QoS na switchi vypnuto
  • po zapnutí QoS jsou všechny porty “untrusted”
Switch(config)# mls qos
Switch(config)# interface type mod/num
Switch(config-if)# mls qos trust {cos | ip-precednce | dscp}
  • může být zvolena jen jedna důvěryhodná hdnota (cos / ip precedence / dscp)
  • pro Cisco tel. musí být cos
Switch(config-if)# mls qos trust device cisco-phone
  • Port bude trust jen v případě, že je pomocí CDP detekován Cisco telefon
Switch(config-if)# switchport priority extend {cos value | trust}
  • def. telefon přepisuje CoS v PC datech na CoS 0
  • trust - důvěřovat CoS v PC datech
  • cos - říká telefonu na co CoS PC dat přepsat

Konfigurace důvěryhodného uplinku:

Switch(config)# interface type mod/num
Switch(config-if)# mls qos trust cos
  • Cisco switche umějí mapovat CoS → DSCP, mají na to nějaký def. algorytmus, který lze změnit

Auto-QoS

  • slouží k zjednodušení konfigurace QoS
  • funguje na základě macro příkazu (je v něm schováno více jiných příkazů)
  • je dobré používat jen na switchích s def. QoS nastavením, jinak hrozí, že subpříkazy makra přepíší některé již nastavené parametry QoSu!

Makro obstará:

  • zapnutí QoS
  • CoS-to-DSCP mapping
  • nastavení vstupních a výstupních front
  • nastavení priority pro voice provoz
  • nastavení “trust boundary”
Switch(config)# interface type mode/num
Switch(config-if)# auto qos voip {cisco-phone | cisco-softphone | trust}
  • cisco-phone - není-li na portu cisco tel. je port untrusted
  • cisco-softphone - pouze pakety s DSCP 24, 26 a 46 jsou trusted, ostatní jsou intrusted a je jim nastaveno DSCP 0
  • trust - nastavuje se na uplinku s důvěryhodným zařízením
  • Změna Auto-QoS se provede pomocí no auto qos voip a pak zadáním nového příkazu
  • debug auto qos - zobrazí vykonávané příkazy makra, je-li spuštěno
Switch# debug auto qos
AutoQoS debugging is on

Switch# config term
Enter configuration commands, one per line. End with CNTL/Z.

Switch(config)# interface fastethernet 0/37
Switch(config-if)# auto qos voip cisco-phone
Switch(config-if)#

*Sep 7 04:14:41.618 EDT: mls qos map cos-dscp 0 8 16 26 32 46 48 56
*Sep 7 04:14:41.622 EDT: mls qos min-reserve 5 170
*Sep 7 04:14:41.622 EDT: mls qos min-reserve 6 85
*Sep 7 04:14:41.622 EDT: mls qos min-reserve 7 51
*Sep 7 04:14:41.626 EDT: mls qos min-reserve 8 34
*Sep 7 04:14:41.626 EDT: mls qos
*Sep 7 04:14:42.598 EDT: interface FastEthernet0/37
*Sep 7 04:14:42.598 EDT:    mls qos trust device cisco-phone
*Sep 7 04:14:42.602 EDT:    mls qos trust cos
*Sep 7 04:14:42.606 EDT: wrr-queue bandwidth 10 20 70 1
*Sep 7 04:14:42.610 EDT: wrr-queue min-reserve 1 5
*Sep 7 04:14:42.618 EDT: wrr-queue min-reserve 2 6
*Sep 7 04:14:42.626 EDT: wrr-queue min-reserve 3 7
*Sep 7 04:14:42.634 EDT: wrr-queue min-reserve 4 8
*Sep 7 04:14:42.642 EDT: no wrr-queue cos-map
*Sep 7 04:14:42.646 EDT: wrr-queue cos-map 1  0 1
*Sep 7 04:14:42.650 EDT: wrr-queue cos-map 2  2 4
*Sep 7 04:14:42.654 EDT: wrr-queue cos-map 3  3 6 7
*Sep 7 04:14:42.658 EDT: wrr-queue cos-map 4  5
*Sep 7 04:14:42.662 EDT: priority-queue out

Switch(config-if)# interface gigabitethernet 0/1
Switch(config-if)# auto qos voip trust
Switch(config-if)#
*Sep 7 15:05:50.943 EDT: interface GigabitEthernet0/1
*Sep 7 15:05:50.947 EDT: mls qos trust cos
*Sep 7 15:05:50.951 EDT: wrr-queue bandwidth 10 20 70 1
*Sep 7 15:05:50.955 EDT: wrr-queue queue-limit 50 25 15 10
*Sep 7 15:05:50.959 EDT: no wrr-queue cos-map
*Sep 7 15:05:50.963 EDT: wrr-queue cos-map 1  0 1
*Sep 7 15:05:50.967 EDT: wrr-queue cos-map 2  2 4
*Sep 7 15:05:50.971 EDT: wrr-queue cos-map 3  3 6 7
*Sep 7 15:05:50.975 EDT: wrr-queue cos-map 4  5
*Sep 7 15:05:50.979 EDT: priority-queue out

Show příkazy:

Switch# show mls qos interface type mode/num

Switch důvěřuje CoS z připojeného telefonu:

Switch# show mls qos interface fastethernet 0/1
FastEthernet0/1
trust state: trust cos
trust mode: trust cos
trust enabled flag: ena
COS override: dis
default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: none          //vztah k CoS PC dat
Switch# show interface type mod/num switchport
Switch# show interface fastethernet 0/1 switchport
Name: Fa0/1
Switchport: Enabled
[output deleted...]
Voice VLAN: 2 (VLAN0002)
Appliance trust: none          //vztah k CoS PC dat

Konfigurace portu s telefonem:

Switch# show running-config interface fastethernet 0/47
Building configuration...
Current configuration : 219 bytes
!
interface FastEthernet0/47
  switchport access vlan 10
  switchport trunk encapsulation dot1q
  switchport mode access
switchport voice vlan 100
  mls qos trust device cisco-phone
  mls qos trust cos
  no mdix auto
  end
Switch#

IP telefon není připojen:

Switch# show mls qos interface fastethernet 0/1
FastEthernet0/1
trust state: not trusted
trust mode: trust cos
trust enabled flag: dis
COS override: dis
default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: cisco-phone
Switch#

Po připojení tlefonu:

6d18h: %ILPOWER-7-DETECT: Interface Fa1/0/1: Power Device detected: Cisco PD
6d18h: %ILPOWER-5-POWER_GRANTED: Interface Fa1/0/1: Power granted
6d18h: %LINK-3-UPDOWN: Interface FastEthernet1/0/1, changed state to up
6d18h: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0/1, changed state to up
6d18h: %SWITCH_QOS_TB-5-TRUST_DEVICE_DETECTED: cisco-phone detected on port Fa1/0/1, port trust enabled.
Switch# show mls qos interface fastethernet 1/0/1
FastEthernet1/0/1
trust state: trust cos
trust mode: trust cos
trust enabled flag: ena
COS override: dis
default COS: 0
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: cisco-phone
Switch#
Switch# show auto qos interface fastethernet 0/37
FastEthernet0/37
auto qos voip cisco-phone
wiki/site/cisco/voice_qos.txt · Last modified: 2018/01/17 14:03 by root