Quality of Service

QoS beschreibt unterschiedliche Priorität von Netzwerk Traffic und deren Datenpakete. So können bestimmte Daten den Vorrang gewährt werden.

Da das Netzwerk immer mehr Aufgaben übernimmt für das es eigentlich nicht vorgesehen war (bspw. IP Telefonie oder Storage (SAN)), teilen sich verschiedene Anwendungen die Bandbreite und das gesamte Netzwerk. Besonders Sensibel sind Echtzeitanwendungen wie VoIP, Videokonferenzen oder Live Streams gegenüber Delay, Jitter oder Paket Loss.

QoS wird genutzt um Folgende Eigenschaften zu verwalten: Bandwith, Delay, Jitter (Jitter is delay that varies over time) und Paket Loss

Queuing

Wenn der TCP Traffic auf einen Router zu viel wird, dann werden die Pakete in einer Queue der Reihe nach abgearbeitet (FiFo - First In First Out).

Wenn die Queue voll ist, dann werden neue ankommende Pakete verworfen (Drop). Dieses Vorgang wird auch Tail drop genannt. Wenn das passiert kann es zu TCP Global Synchonization kommen. Dabei verringert der Sender seine Geschwindigkeit in der er die Pakete verschickt und steigert sie nach und nach wieder. Das macht jedes Gerät welches TCP Pakete verschickt. Eine potenzielle Lösung des Problems ist: RED - Random Early Detection

RED Random Early Detection

  • Wenn der TCP Traffic einen Schwellenwert erreicht, dann fängt das Gerät an Random Pakete zu droppen
  • Problem: Jeder Traffic wird gleichermaßen gedroppt
    • Lösung WRED Weighted Random Early Detection
      • Hier wird entschieden welcher Traffic gedroppt wird anhand der Traffic Class
      • Bspw. Wenn die Queue 70% ist dann kann HTTP Traffic gedroppt werden, FTP Traffic wenn es 77% voll ist etc
      • Lower Priority wird früher gedroppt

Classification

  • Um nun Traffic Prioritätsgerecht verschicken zu können, muss dieser Traffic klassifiziert werden.
    • ACL
    • NBAR: Network based Application Recognition (Deep Package Inspection)
    • PCP/CoS: Priority Code Point - Feld im 802.1q tag
      • Kann nur genutzt werden wenn VLAN Tag genutzt wird (bspw. bei Voice VLAN)
    • DSCP: Differentiate Service Code Point - Feld im IP Header
    • ToS
    • Class Selector
    • TID

PCP / CoS - Layer 2

  • PCP wird auch CoS (Class of Service) genannt
  • Im VLAN Tag ist ein 3bit PCP Feld was 8 verschiedene Werte darstellen kann
    • Die Höhe des Wertes zeigt aber nicht die Priorität an
    • Best Effort ist normaler Traffic und wirkt sich nicht auf QoS aus
    • Initiierung (Call Signaling) eines Telefonanrufs hat den Value 3, sobald aber abgenommen und Telefoniert wird hat es den Value 5
    • Dadurch das QoS über das VLAN Tag gesteuert wird, kann es auch nur so lange gesteuert werden, solange das Tag auf dem Paket existiert.
      • Nur auf Trunk Links
      • Access Links with Voice VLAN

DSCP / ToS Byte - Layer 3

  • Feld im IP Header - Service Type

Managing Congestion

Scheduling

  • Scheduling: Welches Paket wird als nächstes versendet?
    • Methoden für das Scheduling
      • FiFo - First In First Out
      • Strict Policy : Queues mit Lower Priority werden erst bedient wenn Queues mit Higher Priority voll sind
      • Round Robin / Priority Queuing: Queues werden in gesetzter Folge gleichmäßig bedient. Könnte Probleme bei Real Time Anwendungen geben
      • Weighted Fair: Versch. Queues werden gewichtet
      • Custom Queueing:
    • Neuere Methoden
      • CBWFQ: Mischung aus Bandbreiten Garantie und Dynamische Fairness
      • LLQ (Low Latency Queue): Ähnlich zu CBWFQ aber mit Strict Priority Policies. Anwendbar für Mix Data und Real-Time Traffic
  • Queuing: Logik wie die Pakete geordnet werden in einer oder mehreren Queues

Policing

  • Drops Traffic wenn Policy überschritten wird
  • Hard Cut für Traffic (Tail Drop)
  • possible to re-mark traffic
  • Does not delay traffic
  • Üblich auf Service Provider Seite

Shaping

  • Shapers smooths traffic outs, it never exeeds the configured rates
  • Does not drop traffic
  • Wenn Traffic Threshold erreicht, dann wird Pakete gebuffered und Delayed bis Traffic unter dem Schwellwert geht
  • Üblich auf Customer Seite

References