QoS Merker

April 29, 2015

Als Netzwerkadministrator kommt man auch immer wieder mit dem Thema Quality of Service (QoS) in Berührung. Dieser Post soll mir eine Übersicht der verschiedenen Möglichkeiten in Layer2/Layer2 bieten.

Generelle Fragen:

1. Welche Traffic-Klassen habe ich?

2. Welches Modell soll verwendet werden (4 class, 8 class, 12 class)?

COS (=Class of Service)

ethernet frame

  • 3 bit im Ethernet 802.1Q header
  • Layer 2 QoS
  • mögliche Werte (3 bit): 0-7
  • 6 + 7 reserviert

DSCP (=Differentiated services code point)

ip header

  • 8 bit im IP-Header
  • Layer 3 QoS
  • Anfangs nur die bits 7-5 für “IP Presedence” genutzt.
  • Später kamen für DSCP die bits 4-2 dazu, wobei bit2 immer 0 ist.
  • DSCP soll rückwärtskompatibel zu IP Presedence sein.
  • Deshalb bei DSCP die ersten 3 bits setzen.
  • Mit DSCP kann man in den Presedence Klassen nochmal granularer unterscheiden.

Beispiel: CS1 (=Class Selector 1) -> bits 7-5 = 001

cs1 example

  • “AF-Markierung”: möglich für CS1, CS2, CS3, CS4 (6+7 reserviert, 5 nur eine Subklasse möglich).
  • AF13 weniger gut als AF11, da je höher die DPB sind, desto eher gedropped wird.

Wenn eine Trafficgrenze erreicht wird (Markierung erreicht), kann dann entschieden werden:

  • Traffic droppen
  • Traffic zulassen, aber ummarkieren (somit wäre an den Interfaces nochmal unterscheidbar nur das zu droppen, was zuvor schon mal ein Limit überschritten hat)

Das ist eine generelle Beschreibung von QoS Möglichkeiten. Wie das Ganze implementiert wird ist vom Hersteller bzw. Betriebssystem der Netzwerkhardware abhängig.

Cisco Nexus

  1. class-map erstellen -> Welcher Traffic? (z.B. durch ACL)
  2. Die class-map in einer policy-map referenzieren. -> Hier COS/TOS setzen.
  3. Service-Policy auf ein Interface oder global setzen. -> setzt die policy-map auf ein Interface.

“show interface capability” -> wie viele Queques hat das Interface?

Beispiele:
rx8q2t (8 queues, 2 tresholds)
tx1p7q4t (8 queues, eine davon “strict priority queue SPQ”, 4 tresholds)
das wird pro ASIC festgelegt, kann also pro Port Modul variieren. 

Schwellwert zulassen, dann droppen = Taildrop
Schon vor erreichen der Grenze einzelne Pakete droppen = WRED

Back...