Jeremy’s IT Lab lecture video:

Day 47 - QoS (2)


Commands


QoS Info

QoS Classification

QoS’s main purpose is to give certain kinds of network traffic priority over others during periods of congestion. This process is done through classification which organizes network traffic (packets) into traffic classes (categories).

  • Classification is an essential part of QoS. To give priority to certain types of traffic, you have to identify which types of traffic to give priority to.
  • Classifying traffic can be done through many methods, including:
    1. ACL
      • Traffic which is permitted by the ACL will receive certain treatment, while other traffic will not.
    2. Network Based Application Recognition (NBAR)
      • A method that performs deep packet inspection, looking beyond the layer 3 and 4 information and up to layer 7 to identify specific kinds of traffic.
      • In the layer 2 and layer 3 headers, there are specific fields used for this purpose.
    3. Priority Code Point (PCP)
      • It is a field in the 802.1Q tag (in the Ethernet header) which can be used to identify low/high priority traffic.
      • It is only available when there’s a 802.1Q tag present.
    4. Differentiated Services Code Point (DSCP)
      • It is a field in the IP header, which can be used to identify low/high priority traffic.

Priority Code Point / Class of Service (PCP / CoS)

Priority Code Point (PCP) is also known as Class of Service (CoS). It is a field that is used in the 802.1Q tag to identify traffic priority.

  • It has 3 bits available which equals 8 possible values. (23 = 8)
  • Because PCP is found in the dot1q header, it can only be used over:
    1. Trunk links
    2. Access links with a voice VLAN
  • Each PCP value indicates a level of priority. These values are:
PCP valueTraffic Type
0Best Effort (Default)
1Background
2Excellent Effort
3Critical Applications
4Video
5Voice
6Internetwork Control
7Network Control

Some PCP value meanings

  • ‘Best Effort’ delivery means there is no guarantee that data is delivered or that it meets any QoS standard. This is regular traffic.
  • IP Phones mark call signaling traffic (which is used to establish calls) as PCP 3
    • They mark the actual voice traffic as PCP 5

IP Type of Service (ToS) Byte

The ToS byte (8 bits) consists of two fields which are used in modern networking. They are the DSCP and ECN fields of the IPv4 header.

  • It previously used to be the IPP (IP Precedence) field, which consisted of 8 bits, 5 bits of which were reserved for various purposes and 3 bits (23 = 8 values) were used for classification.
  • It currently consists of the DSCP and ECN fields, where the 6 DSCP bits (26 = 64 values) are used for classification.
IPP and DSCP Visualization

IP Precedence

Standard IPP markings are similar to PCP:

IPP valueTraffic Type
6 and 7Reserved for ‘network control’ traffic. (ie. OSPF messages between routers)
5Voice
4Video
3Voice Signaling
0Best Effort
  • With 6 and 7 being reserved, only six possible values remain.
  • Although six values are sufficient for many networks, it wasn’t enough for bigger and more complex networks. That’s why it was replaced with DSCP.

Differentiated Services Code Point (DSCP)

After the change from IPP to DSCP, new standard markings had to be decided upon in order to simplify its implementation.

  • The standard markings you need to know for the CCNA are:
    1. Default Forwarding (DF)
      • Best effort traffic.
    2. Expedited Forwarding (EF)
      • Low loss/latency/jitter traffic. (usually voice traffic)
    3. Assured Forwarding (AF)
      • A set of 12 standard values.
    4. Class Selector (CS)
      • A set of 8 standard values, provides backwards compatibility with IPP.
1. Default Forwarding (DF)
  • DF is used for best effort traffic.
  • The DSCP marking for DF is (0).
DF bits visualized
2. Expedited Forwarding (EF)
  • EF is used for traffic that requires low loss/latency/jitter traffic. (usually voice traffic)
  • The DSCP marking for EF is (46).
EF bits visualized
3. Assured Forwarding (AF)
  • AF defines four traffic classes. All packets in a class have some priority.
    • The first (3) bits from the left represent the traffic class. (First number after the AF prefix)
    • The (2) bits after represent the drop precedence. (The second number after the AF prefix)
    • The very last bit at the end is a reserved bit which is always set to 0.
  • Within each, there are three levels of drop precedence.
  • Higher drop precedence = more likely to drop the packet during congestion.

  • The formula to convert from AF value to decimal DSCP value is:
    • 8X + 2Y
    • Where X is the class number and Y is the drop precedence.
Example of an Assured Forwarding class (Class 4, drop precedence 3)
3.1 AF Chart
Chart showing the different Assured Forwarding traffic classes and drop precedencies
4. Class Selector (CS)

Class Selector (CS) defines eight DSCP values for backwards compatibility with IPP

  • The three extra bits that were added for DSCP are set to 0, and the original IPP bits are used to make (8) values.

  • The formula to convert from CS value to decimal DSCP value is:
    • 8X
    • Where X is the class selector number.
IPP, CS and DSCP value conversions

RFC 4954 (QoS Standards)

RFC 4954 was developed to standardize QoS values and their uses.

  • The most important recommendations are:
    • Voice traffic: EF
    • Interactive video: AF4x
    • Streaming video: AF3x
    • High priority data: AF2x
    • Best effort: DF

Trust Boundaries

The trust boundary of a network defines where devices trust and don’t trust the QoS markings of received messages.

  • If the markings are trusted, the device will forward the message without changing the markings.
  • If the markings are untrusted, the device will change the marking according to the configured policy.

  • If an IP Phone is connected to the switch port, it is recommended to move the trust boundary to the IP Phones by configurating the switch port connected to it.
    • In this case, the IP Phone is trusted, while the other end hosts are not.
    • If a user marks their PC’s traffic with a high priority, the marking will be changed as it’s untrusted.

Queueing/Congestion Management

Review of QoS’s queueing system

  • When a network device receives traffic at a faster rate than it can forward the traffic out of the appropriate interface, packets are placed in that interface’s queue as they wait to be forwarded in a FIFO manner.
  • When the queue becomes full, packets that don’t fit in the queue are dropped (Tail drop) causing TCP Global Synchronization.
  • RED and WRED drop packets early to avoid tail drop.

  • An essential part of QoS is the use of multiple queues.
    • QoS classification plays a role in this, as the device can match traffic based on various factors (like the DSCP marking in the IP header) and then place it in the appropriate queue.
    • However, the device is only able to forward one frame out of a physical interface at once, so a scheduler is used to decide which queue traffic is forwarded next.

1. Queuing - Schedulers

  • A common scheduling method is weighted round-robin.
    • Round-robin means that packets are taken from each queue in order, cyclically
    • Weighted means that more data is taken from high priority queues each time the scheduler reaches that queue.
  • Another popular scheduling method is Class-Based Weighted Fair Queuing (CBWFQ)
    • It uses a weighted round-robin scheduler while guaranteeing each queue a certain percentage of the interface’s bandwidth during congestion.

Round-robin scheduling is not ideal for voice/video traffic. Even if the voice/video traffic receives a guaranteed minimum amount of bandwidth, round-robin can add delay and jitter because even high priority queues have to wait for their turn in the scheduler.

CBWFQ Demonstration

2. Queuing - Low Latency Queuing (LLQ)

Low Latency Queuing (LLQ) designates one (or more) queues as strict priority queues. Which means that if there is traffic in the queue, the scheduler will always take the next packet from that queue until it is empty.

  • LLQ is very effective for reducing the delay and jitter of voice/video traffic.
  • However, it does have the downside of potentially starving other queues on the device if there is always traffic in the designated strict priority queue.
  • Policing can control the amount of traffic allowed in the strict priority queue so that it can’t take all of the link’s bandwidth.

3. Queuing - Shaping and Policing

Traffic shaping and policing are both used to control the rate of traffic. In both cases, classification can be used to allow for different rates for different kinds of traffic.

  1. Shaping
    • It buffers traffic in a queue if the traffic rate goes over the configured rate.
  2. Policing
    • It drops traffic if the traffic rate goes over the configured rate
      • Burst’ traffic over the configured rate is allowed for a short period of time.
      • The amount of burst traffic allowed is configurable.

Jeremy’s IT Lab előadásvideó:

47. Nap - QoS (2)


Parancsok


QoS Információk

QoS Osztályozás (Classification)

A QoS fő célja, hogy túlterheltség és torlódás (congestion) idején bizonyos típusú hálózati forgalmaknak elsőbbséget (prioritást) biztosítson másokkal szemben. Ez a folyamat az osztályozással (classification) kezdődik, amely a hálózati forgalmat (csomagokat) forgalmi osztályokba (kategóriákba) sorolja.

  • A Classification a QoS alapvető lépése: ahhoz, hogy prioritást adjunk bizonyos forgalomtípusoknak, először pontosan be kell tudnunk azonosítani őket.
  • A forgalom osztályozása többféle módszerrel is történhet:
    1. ACL (Access Control List)
      • Az ACL által engedélyezett (permit) forgalom kiemelt kezelést kap, míg a többi forgalom nem.
    2. Network Based Application Recognition (NBAR)
      • Mély csomagelemzést (deep packet inspection) végez, a Layer 3 és Layer 4 fejléceken túl egészen a Layer 7 rétegig megvizsgálja a csomag tartalmát a konkrét alkalmazások pontos azonosításához.
      • A Layer 2 és Layer 3 fejlécekben erre a célra fenntartott speciális mezők találhatók.
    3. Priority Code Point (PCP)
      • A 802.1Q tag-ben (az Ethernet fejlécben) található mező, amely alacsony/magas prioritású forgalom azonosítására szolgál Layer 2 szinten.
      • Kizárólag akkor érhető el, ha a keretben jelen van a 802.1Q tag (VLAN fejléc).
    4. Differentiated Services Code Point (DSCP)
      • Az IP fejlécben található mező, amely Layer 3 szinten jelöli meg a csomag prioritását.

Priority Code Point / Class of Service (PCP / CoS)

A Priority Code Point (PCP) más néven Class of Service (CoS). Ez egy 3 bites mező a 802.1Q fejlécben a forgalom prioritásának megjelölésére.

  • 3 bit áll rendelkezésre, ami 8 lehetséges prioritási értéket jelent (23 = 8).
  • Mivel a PCP a dot1q fejléc része, kizárólag az alábbi kapcsolatokon használható:
    1. Trunk linkeken
    2. Voice VLAN-nal konfigurált access linkeken
  • Minden egyes PCP érték egy adott prioritási szintet jelöl:
PCP értékForgalom Típusa (Traffic Type)
0Best Effort (Alapértelmezett)
1Background (Háttérfolyamatok)
2Excellent Effort
3Critical Applications (Kritikus alkalmazások / Hívásvezérlés)
4Video (Videóforgalom)
5Voice (Hangforgalom)
6Internetwork Control
7Network Control (Hálózatvezérlés)

Néhány fontos PCP érték jelentése

  • A 'Best Effort' kézbesítés azt jelenti, hogy nincs semmilyen garancia a csomag célba érésére vagy késleltetésére – ez a normál adatforgalom alapértelmezése.
  • Az IP telefonok a hívásfelépítési és jelzésforgalmat (call signaling) PCP 3 értékkel jelölik meg (mark).
  • A tényleges hangcsomagokat (voice payload) pedig PCP 5 értékkel jelölik meg.

IP Type of Service (ToS) Bájt

A ToS bájt (8 bit) az IPv4 fejlécben található, és a modern hálózatokban két mezőre oszlik: DSCP (6 bit) és ECN (Explicit Congestion Notification - 2 bit).

  • Eredetileg az IPP (IP Precedence) szabványt használták: a 8 bitből 5 bit egyéb célokra volt fenntartva, és csupán 3 bit (23 = 8 érték) szolgált az osztályozásra.
  • A modern DSCP szabványban a felső 6 bit (26 = 64 lehetséges érték) szolgál osztályozásra, ami jóval finomabb felbontást biztosít.
IPP és DSCP mezők felépítése

IP Precedence (IPP)

A szabványos IPP jelölések hasonlítanak a PCP-hez:

IPP értékForgalom Típusa (Traffic Type)
6 és 7Hálózatvezérlési forgalomnak fenntartva (pl. OSPF routerek közötti üzenetei)
5Voice (Hang)
4Video (Videó)
3Voice Signaling (Hang jelzésforgalom)
0Best Effort
  • Mivel a 6-os és 7-es értékek fenntartottak, csupán hat használható prioritási szint maradt.
  • Bár ez kisebb hálózatokban elegendő volt, a komplex vállalati környezetek igényeit már nem tudta kielégíteni, ezért váltotta fel a DSCP.

Differentiated Services Code Point (DSCP)

Az IPP-ről DSCP-re történő áttérés után szabványos jelölési kategóriákat határoztak meg az egységes implementáció érdekében.

  • A CCNA vizsgához szükséges szabványos jelölések:
    1. Default Forwarding (DF)
      • Best effort (alapértelmezett) forgalom.
    2. Expedited Forwarding (EF)
      • Alacsony csomagvesztést, késleltetést és jittert igénylő forgalom (tipikusan hang/VoIP).
    3. Assured Forwarding (AF)
      • Egy 12 szabványos értékből álló rendszer.
    4. Class Selector (CS)
      • Egy 8 szabványos értékből álló készlet a korábbi IPP-vel való visszamenőleges kompatibilitás biztosítására.
1. Default Forwarding (DF)
  • A DF a Best Effort forgalom jelölésére szolgál.
  • A DF DSCP decimális értéke: (0) (binárisan: 000000).
DF bitjeinek ábrázolása
2. Expedited Forwarding (EF)
  • Az EF a minimális késleltetést, jittert és csomagvesztést igénylő forgalomhoz használatos (tipikusan hangcsomagok).
  • Az EF DSCP decimális értéke: (46) (binárisan: 101110).
EF bitjeinek ábrázolása
3. Assured Forwarding (AF)
  • Az AF négy forgalmi osztályt határoz meg (Class 1-4). Egy osztályon belül minden csomag azonos prioritású sávszélesség-kezelést kap:
    • Az első 3 bit balról az osztályt jelöli (az AF előtag utáni első számjegy: 1, 2, 3 vagy 4).
    • A következő 2 bit az eldobási prioritást (drop precedence) jelöli (az AF előtag utáni második számjegy: 1, 2 vagy 3).
    • A legutolsó bit a végén egy fenntartott bit, amelynek értéke mindig 0.
  • Minden osztályon belül három eldobási prioritási szint létezik (1 = alacsony, 2 = közepes, 3 = magas eldobási valószínűség).
  • Magasabb drop precedence = a router torlódás idején nagyobb valószínűséggel dobja el a csomagot.

  • Az AF érték decimális DSCP értékre váltásának képlete:
    • 8X + 2Y
    • Ahol X az osztály száma (Class 1-4) és Y az eldobási prioritás (Drop precedence 1-3). (Pl. AF32 = 8×3 + 2×2 = 24 + 4 = 28).
Példa egy Assured Forwarding osztályra (Class 4, drop precedence 3 -> AF43)
3.1 AF Táblázat
Az Assured Forwarding osztályok és eldobási prioritások összefoglaló táblázata
4. Class Selector (CS)

A Class Selector (CS) nyolc DSCP értéket definiál a korábbi IPP szabvánnyal való teljes visszamenőleges kompatibilitás érdekében.

  • A DSCP-hez hozzáadott három alsó bit értéke 0-ra van állítva, így az eredeti IPP bitek közvetlenül megfelelnek a 8 CS értéknek (CS0 - CS7).

  • A CS érték decimális DSCP értékre váltásának képlete:
    • 8X
    • Ahol X a Class Selector száma (0-7). (Pl. CS5 = 8×5 = 40).
IPP, CS és DSCP értékek közötti átszámítás

RFC 4594 (QoS Szabványok)

Az RFC 4594 szabványosítja a QoS jelölések iparági ajánlott felhasználását.

  • A legfontosabb ajánlások a CCNA vizsgára:
    • Hangforgalom (Voice): EF
    • Interaktív videó (Interactive video): AF4x
    • Streaming videó (Streaming video): AF3x
    • Magas prioritású adatforgalom (High priority data): AF2x
    • Best effort (alapértelmezett adat): DF

Bizalmi Határok (Trust Boundaries)

A hálózat bizalmi határa (trust boundary) határozza meg azt a pontot, ahol a hálózati eszközök megbíznak a beérkező csomagok meglévő QoS jelöléseiben, vagy felülbírálják azokat.

  • Ha a jelölések megbízhatóak (trusted), az eszköz változatlanul továbbítja a csomagot a meglévő jelölésével.
  • Ha a jelölések nem megbízhatóak (untrusted), az eszköz a konfigurált házirendnek megfelelően átírja (általában nullázza / DF-re állítja) a jelölést.

  • Ha egy IP telefon csatlakozik a switch porthoz, ajánlott a bizalmi határt magára az IP telefonra kiterjesteni a switchport megfelelő beállításával:
    • Ebben az esetben az IP telefon által felhelyezett jelölések megbízhatóak (trusted), míg a hozzá csatlakoztatott PC forgalma nem megbízható (untrusted).
    • Ha egy felhasználó a számítógépén mesterségesen magas prioritásúra jelöli a saját letöltéseit, a switch/telefon a bizalmi határ miatt felülírja azt.

Sorbanállás / Torlódáskezelés (Queueing/Congestion Management)

A QoS sorbanállási rendszerének áttekintése

  • Amikor egy hálózati eszköz gyorsabban kap csomagokat, mint ahogy ki tudná küldeni őket az interfészen, a csomagok az interfész kimeneti sorába (queue) kerülnek, és FIFO elven várnak a kiküldésre.
  • Amikor a sor megtelik, az új csomagok eldobásra kerülnek (Tail drop), ami TCP Globális Szinkronizációhoz vezet.
  • A RED és WRED mechanizmusok időben eldobnak bizonyos csomagokat a tail drop megelőzése érdekében.

  • A QoS alapvető eleme a több különálló várakozási sor (multiple queues) használata:
    • A QoS osztályozás (classification) feladata, hogy a csomagokat (pl. a fejléc DSCP értéke alapján) a megfelelő prioritású sorba irányítsa.
    • Mivel a fizikai interfészen egy adott pillanatban egyszerre csak egyetlen keret küldhető ki, egy ütemező (scheduler) dönti el, hogy éppen melyik sorból kerüljön ki a következő csomag.

1. Sorbanállás - Ütemezők (Schedulers)

  • Gyakori ütemezési módszer a weighted round-robin (súlyozott körforgó):
    • A Round-robin azt jelenti, hogy az ütemező sorban, ciklikusan vesz ki csomagokat mindegyik várakozási sorból.
    • A Weighted (súlyozott) azt jelenti, hogy a magasabb prioritású sorokból több adatot/csomagot vesz ki egy körben, mint az alacsonyabb prioritásúakból.
  • Egy másik elterjedt módszer a Class-Based Weighted Fair Queuing (CBWFQ):
    • Weighted round-robin ütemezőt használ, miközben torlódás idején minden egyes forgalmi osztálynak (sornak) egy garantált minimális sávszélesség-százalékot biztosít az interfészen.

A sima round-robin ütemezés azonban nem ideális a valós idejű hang- és videóforgalomhoz: hiába van garantált sávszélességük, a ciklikus körbefordulás miatt megnőhet a késleltetés és a jitter, mivel a hangcsomagoknak is ki kell várniuk a körben a sorra kerülést.

CBWFQ működésének bemutatása

2. Sorbanállás - Low Latency Queuing (LLQ)

A Low Latency Queuing (LLQ) egy vagy több sort szigorú prioritású sornak (strict priority queue) jelöl ki. Ez azt jelenti, hogy amíg ebben a kiemelt sorban akár egyetlen csomag is várakozik, az ütemező kivétel nélkül mindig ebből a sorból küldi ki a következő csomagot, teljesen megelőzve az összes többi sort.

  • Az LLQ rendkívül hatékony a hang- és videóforgalom késleltetésének és jitterének minimalizálására.
  • Hátránya viszont, hogy ha folyamatos és túlzott forgalom érkezik a szigorú prioritású sorba, az teljesen kiéheztetheti (starvation) a többi normál adatforgalmi sort.
  • Ezért az LLQ mellé kötelezően policing (forgalomkorlátozás) kerül beállításra, amely korlátozza a prioritási sorba engedett forgalom maximumát, megvédve a link többi forgalmát.

3. Sorbanállás - Shaping és Policing

A forgalomformálás (shaping) és forgalomkorlátozás (policing) a forgalom sebességének (átviteli sebességének) szabályozására szolgál. Mindkét esetben az osztályozás (classification) segítségével különböző határértékek állíthatók be a különféle forgalomtípusokra.

  1. Shaping (Forgalomformálás)
    • Ha a forgalom átlépi a megadott megengedett sebességet, a többletcsomagokat egy pufferbe (queue) helyezi és késleltetve küldi ki, így simítja az átviteli görbét csomagvesztés nélkül.
  2. Policing (Forgalomkorlátozás)
    • Ha a forgalom átlépi a megengedett sebességet, a többletcsomagokat azonnal eldobja (drop) vagy alacsonyabb prioritásra minősíti vissza (remark).
    • Rövid ideig tartó hirtelen forgalomugrásokat ('burst') megenged a konfigurált méret erejéig.
    • A megengedett burst mérete konfigurálható paraméter.