Föregående avsnitt behandlade trafikegenskaper. Det här avsnittet förklarar de algoritmer som används för att implementera QoS (Quality of Service) vid trängsel i nätverket. I detta avsnitt lär du dig om olika strategier för att hantera trängsel i nätverket och hur dessa strategier (algoritmer) fungerar:
- FIFO – enkel kö utan prioritering
- WFQ – rättvis schemaläggning baserat på trafikflöden
- CBWFQ – användardefinierade klasser med specifik bandbredd
- LLQ – strikt prioritering för t.ex. röstsamtal
Att förstå dessa algoritmer är avgörande för att kunna designa nätverk som klarar både realtids- och datatrafik utan att kvaliteten försämras.
Inledning
När ett nätverk utsätts för hög belastning kan det uppstå överbelastning – det finns fler paket som ska skickas än vad länken klarar av. För att hantera detta använder man köhanteringsalgoritmer, som är en del av tekniken Quality of Service (QoS).
Köhanteringsalgoritmer styr hur paket behandlas när olika typer av trafik – som röst, video och data – konkurrerar om samma länk. Genom att prioritera tidskänslig trafik, som röstsamtal eller video stream, kan nätverket minska fördröjning (delay), jitter och paketförlust och därigenom förbättra användarupplevelsen.
Den QoS-policy som nätverksadministratören konfigurerat träder i kraft just när överbelastning inträffar. Då används köhantering för att buffra, prioritera och vid behov omordna paket innan de skickas vidare till sin destination.
Det finns flera olika köalgoritmer. I den här kursen fokuserar vi på följande:
- First-In, First-Out (FIFO)
- Weighted Fair Queuing (WFQ)
- Class-Based Weighted Fair Queuing (CBWFQ)
- Low Latency Queuing (LLQ)
First-In, First-Out (FIFO)
I sin enklaste form innebär First In, First Out (FIFO) – även kallad först in, först ut eller först till kvarn – att paket buffras och överförs i exakt den ordning de anländer, utan någon form av prioritering eller klassificering.
FIFO har ingen uppfattning om prioritet eller trafik-klasser och gör därför inga beslut om pakets prioritet. Det finns endast en kö, och alla paket behandlas lika. Paketen skickas ut via ett gränssnitt i den ordning de anländer, vilket visas i figuren. Även om viss trafik är viktigare eller mer tidskänslig, skickas den alltså i samma ordning som den togs emot.

När FIFO används kan viktig eller tidskänslig trafik tappas bort om det uppstår trängsel i routerns eller switchens interface. Om inga andra köhanterings strategier är konfigurerade används FIFO som standard på alla interface, förutom seriella interface på E1-nivå (2.048 Mbps) och lägre – dessa använder WFQ som standard.
FIFO, som är den snabbaste köhanterings metoden, är effektiv på länkar med hög kapacitet, låg fördröjning och minimal trängsel. Om din länk har väldigt lite trängsel, kan FIFO vara tillräckligt för att hantera trängseln.
Weighted Fair Queuing (WFQ)
WFQ (Weighted Fair Queuing) är en köhanterings algoritm som automatiskt prioriterar interaktiv trafik med låg bandbredd – som Telnet eller röst – framför trafik som genererar stora datamängder, till exempel FTP eller video stream. WFQ tillämpar prioritet på identifierad trafik och grupperar den i flöden eller konversationer, som visas i figuren.

Algoritmen analyserar varje paket och grupperar dem i olika trafikflöden, utan att du som administratör behöver konfigurera några klasser manuellt. Därefter tilldelas varje flöde en vikt (prioritet) beroende på dess egenskaper. Flöden med små, tidskänsliga datapaket får gå först i kön för att minska svarstider, medan flöden med större datamängder delar på den bandbredd som blir över.
WFQ baserar sin klassificering på information i paketens header – som IP-adresser, MAC-adresser, portnummer, protokoll och ToS-värde – för att avgöra hur trafiken ska hanteras.
Eftersom de flesta nätverksflöden är små och interaktiva, kan de levereras snabbt och effektivt. Större flöden får fortfarande utrymme, men utan att försämra upplevelsen för den tidskritiska trafiken.
Begränsningar
- WFQ stöds inte vid tunnling eller kryptering, eftersom dessa funktioner ändrar pakets informationen som WFQ behöver för att kunna klassificera trafik.
- Trots att WFQ automatiskt anpassar sig till förändrade trafikmönster, ger den inte lika exakt kontroll över bandbredden som CBWFQ.
Class-Based Weighted Fair Queuing (CBWFQ)
CBWFQ utökar WFQ genom att ge stöd för användardefinierade trafikklasser. Med CBWFQ kan du definiera trafikklasser baserat på matchnings kriterier som protokoll, åtkomstlistor (ACL) och ingress-interface. Paket som matchar kriterierna tillhör den klassen. En FIFO-kö reserveras för varje klass, och trafiken dirigeras till sin respektive kö, som visas i figuren.

När en klass har definierats kan du tilldela den specifika egenskaper – t.ex. bandbredd, vikt och maxgräns för antal paket. Bandbredden du tilldelar är den garanterade mängden som klassen får vid trängsel i nätverkstrafiken.
Du specificerar också en begränsning i kön, dvs. det högsta antalet paket som får köas i en viss klass. Paketen i en klass omfattas av både begränsningar: bandbredd och kö.
När kön för en klass når sin gräns sker antingen tail drop eller annan form av pakethantering beroende på policyn. Tail drop innebär att routern helt enkelt kasserar paket som anländer sist i kön, om kön redan är full. Detta är standardresponsen vid överbelastning. Tail drop behandlar all trafik lika och gör ingen skillnad mellan klasser.
Low Latency Queuing (LLQ)
Funktionen LLQ inför strikt prioritering (Priority Queuing, PQ) i CBWFQ. Det innebär att tidskänsliga paket, som t.ex. röstsamtal, kan skickas före andra paket i kön. LLQ ger därmed prioriterad köhantering inom CBWFQ och minskar jitter i röstsamtal, som visas i figuren.

Utan LLQ erbjuder CBWFQ bara klassbaserad WFQ utan strikt prioritet. Vikten för ett paket i en klass beror på hur mycket bandbredd du tilldelat klassen. Paketen skickas ut enligt turordning baserat på vikt – ingen klass får strikt prioritet, vilket kan bli ett problem för rösttrafik som inte tål fördröjning, särskilt inte variation i fördröjningen. För röstsamtal kan sådan variation märkas som jitter i ljudet.
LLQ gör det möjligt att ge röstsamtal och annan tidskänslig trafik högsta prioritet med så låg fördröjning som möjligt. Även om det är tekniskt möjligt att tilldela flera typer av realtidstrafik till den strikta prioriteringskön, rekommenderar Cisco att endast rösttrafik får denna prioritet – för att undvika att övrig trafik trängs undan.