QoS Switch

Auf Basis eines kleinen (günstigen) Cisco SG200-08p-Switches, den ich bei mir im Testlab nutze, möchte ich einen einfachen exemplarischen Einblick in die Konfiguration von QoS auf Switches geben. Diese Einrichtung ist nicht mit QoS auf Routern vergleichbar !!. Aber auch auf einem Switch gibt es ein Backplane und uplinks. Und vor allem ist an einem Switch letztlich das Endgerät anschlossen. Der Switch ist also das erste Device, welches ein Paket vom Client sieht und eine clientseitige DSCP-Kennung erkennen, entfernen oder ersetzen kann. für die Konfiguration und das Verständnis muss man die verschiedenen Komponenten können. Auch wenn es sich beim Cisco SG200-08p "nur" um einen kleinen Desktop-Switch handelt, so ist gerade dies ein einfaches Beispiel, um die Bestandteile zu erläutern.

Da es sich hierbei aber nicht um einen Router handelt und der Switch sich fast nur auf Layer 2 bewegt, entfällt hier eine leistungsstarke Klassifizierung von Paketen anhand von TCP/UDP-Ports.

Porteinstellungen

Hier kann definiert werden, wie die auf einem Port eingehenden Pakete behandelt werden. Das kann von "untrusted" (d.h. QoS-tag wird entfernt) über verschiedene Truststufen gehen.

Diese Einstellungen sind je Port möglich. Wurden mehrere Ports zu einem Trunk zusammen gefasst, dann wird die Einstellung auf dem Trunk eingestellt.

Queues

Alle Pakete werden dann entsprechend der Klassifizierung in verschiedene Warteschlangen gesteckt. Dazu sind entsprechende Queues zu definieren. Zudem wird beim SG2000 hier auch bestimmt, wie die Queues später abgearbeitet werden.

Hier ist eine "minimal garantierte Bandbreite" für die Queue eintragbar, deren Summe natürlich nicht 100% überschreiten sollte. Bei "StrictPriority (SP)" wird immer erst die höhere Queue "leer" gemacht, ehe dann die nächste Queue bedient wird. Mit "Weighted Round-Robin (WRR)" kommen zwischenzeitlich auch niedriger priorisierte Queues zum Zuge. Natürlich immer unter Berücksichtigung der reservierten Bandbreite.

Queue-Mapping

Anhand der Kennzeichnung der Pakete und den Queues muss nun eine "Verteilung" definiert werden, d.h. welches Paket in welche Queue einsortiert wird. Der SG200 kann dazu CoS/802.1p werte oder die IP Precendence nutzen. Diese Zuordnungen sind aber aufgrund der beschränkten Quellwerte recht einfach

Interessanter ist da schon die Zuordnung der verschiedenen DSCP-Klassen.

Sie können sich hier also schon mächtig austoben, um anhand der Klassifizierung die Pakete in die "richtige Queue" zu schicken.

Rate Limit (eingehend)

Um eine Überflutung durch einen Port zu verhindern, gibt es die Möglichkeit eingehenden Verkehr zu drosseln. Kommen mehr Pakete als erlaubt an, werden diese einfach "verworfen". für ein Testfeld ist so eine Einstellung natürlich genial um Paketverluste zu simulieren. In einer produktiven Umgebung muss man schon überlegen, ob eine Drosselung schon beim Zugang erforderlich ist. Was anderes wäre es, wenn ich Internetprovider bin und einen Kundenserver eben absichtlich "langsam" anbinden wollte.

Zuerst muss ein Administrator bis zu 64 Profile anlegen, in denen die die durchschnittliche Datenrate (CIR) und die "Burst"-Rate (CBS) spezifiziert wird

Diese Profile können dann auf die Ports zugewiesen werden:

Das ist also dann ein relativ einfacher Prozess

Traffic Shaping (ausgehend)

Zuletzt können Sie pro Port noch ein absolutes Limit einrichten, um die verwendbare Bandbreite von Paketen zum Client oder uplink zu steuern.

Wobei diese Einstellung auf Port zu Endgeräten eher nicht zum Einsatz kommen wird. Aber sehr wohl eine Option für eine Drosselung auf Trunks sein kann.

Weitere Links