Übersicht über die Prioritätsplanung
Das Junos-Betriebssystem unterstützt mehrere Stufen der Übertragungspriorität, die in der Reihenfolge der zunehmenden Priorität low
, , medium-high
medium-low
und , und high
strict-high
. Auf diese Weise kann die Software Warteschlangen mit höherer Priorität vor Warteschlangen mit niedrigerer Priorität bedienen.
Die Prioritätsplanung bestimmt die Reihenfolge, in der eine Ausgabeschnittstelle Datenverkehr von ihren Warteschlangen überträgt, und stellt so sicher, dass Warteschlangen mit wichtigem Datenverkehr einen besseren Zugriff auf die ausgehende Schnittstelle erhalten. Junos OS führt die Prioritätsplanung durch, indem es die zugewiesene Priorität jeder einzelnen Warteschlange untersucht und prüft, ob sich jede einzelne Warteschlange innerhalb des definierten Bandbreitenprofils befindet. Junos OS ermittelt, ob sich eine einzelne Warteschlange innerhalb ihres Bandbreitenprofils befindet, indem in regelmäßigen Abständen die von der Warteschlange übertragene Datenmenge mit der Bandbreite verglichen wird, die ihr durch die konfigurierte Scheduler-Übertragungsrate (transmit-rate
) zugewiesen wird, die auf Hierarchieebene [edit class-of-service schedulers scheduler-name]
definiert ist. Wenn der übertragene Betrag kleiner als der zugewiesene Betrag ist, wird die Warteschlange als im Profil befindlich betrachtet. Eine Warteschlange befindet sich außerhalb des Profils , wenn die übertragene Menge größer ist als die zugewiesene Menge.
Die Warteschlangen für eine bestimmte physische Ausgabeschnittstelle (oder logische Ausgabeschnittstelle , wenn die Planung pro Einheit auf dieser Schnittstelle aktiviert ist) werden basierend auf ihrer Priorität in Gruppen unterteilt. Ein solcher Satz enthält Warteschlangen mit derselben Priorität.
Junos OS durchläuft die Sätze in absteigender Reihenfolge ihrer Priorität. Wenn mindestens eine der Warteschlangen in der Gruppe ein Paket zu übertragen hat, wählt die Software dieses Paket aus. Eine Warteschlange aus dem Satz wird basierend auf dem gewichteten Round-Robin-Algorithmus (WRR) ausgewählt, der innerhalb des Satzes arbeitet.
Das Junos-Betriebssystem führt die Prioritätswarteschlange mithilfe der folgenden Schritte aus:
Die Software findet alle Warteschlangen mit hoher Priorität, die sich derzeit im Profil befinden. Diese Warteschlangen werden zuerst im gewichteten Round-Robin-Verfahren bedient.
Die Software findet alle Warteschlangen mit mittlerer bis hoher Priorität, die sich derzeit im Profil befinden. Diese Warteschlangen werden im gewichteten Round-Robin-Verfahren an zweiter Stelle bedient.
Die Software findet alle Warteschlangen mit mittlerer bis niedriger Priorität, die sich derzeit im Profil befinden. Diese Warteschlangen werden an dritter Stelle in einem gewichteten Round-Robin-Verfahren bedient.
Die Software findet alle Warteschlangen mit niedriger Priorität, die sich derzeit im Profil befinden. Diese Warteschlangen werden in einem gewichteten Round-Robin-Verfahren an vierter Stelle bedient.
Die Software findet alle Warteschlangen mit hoher Priorität, die sich derzeit außerhalb des Profils befinden und nicht auf die Rate beschränkt sind. Der gewichtete Round-Robin-Algorithmus wird zur Wartung auf diese Warteschlangen angewendet.
Die Software findet alle Warteschlangen mit mittlerer bis hoher Priorität, die sich derzeit außerhalb des Profils befinden und nicht auf die Rate beschränkt sind. Der gewichtete Round-Robin-Algorithmus wird zur Wartung auf diese Warteschlangen angewendet.
Die Software findet alle Warteschlangen mit mittlerer bis niedriger Priorität, die sich derzeit außerhalb des Profils befinden und nicht auf die Rate beschränkt sind. Der gewichtete Round-Robin-Algorithmus wird zur Wartung auf diese Warteschlangen angewendet.
Die Software findet alle Warteschlangen mit niedriger Priorität, die sich derzeit außerhalb des Profils befinden und auch nicht auf die Rate beschränkt sind. Diese Warteschlangen werden zuletzt im gewichteten Round-Robin-Verfahren bedient.
Konfigurationsübersicht mit strenger Priorität
Sie können eine Warteschlange pro Schnittstelle so konfigurieren, dass sie Priorität hat strict-high
, was genauso funktioniert wie high
die Priorität, aber unbegrenzte Übertragungsbandbreite bietet. Solange die Warteschlange mit Priorität Datenverkehr zu senden hat, erhält sie Vorrang vor allen anderen Warteschlangen, mit Ausnahme von Warteschlangen mit strict-high
high
Priorität. Warteschlangen mit strict-high
und high
Priorität übertragen abwechselnd Pakete, bis die Warteschlange leer ist, die strict-high
high
Prioritätswarteschlangen leer sind oder den high
Prioritätswarteschlangen das Bandbreitenguthaben ausgeht. Nur wenn diese Bedingungen erfüllt sind, können Warteschlangen mit niedrigerer Priorität Datenverkehr senden.
Wenn Sie eine Warteschlange so konfigurieren, dass sie Priorität hatstrict-high
, müssen Sie die Anweisung nicht in die Warteschlangenkonfiguration auf Hierarchieebene [edit class-of-service schedulers scheduler-name]
aufnehmen, da die Übertragungsrate einer strict-high
Prioritätswarteschlange nicht durch die transmit-rate
WRR-Konfiguration begrenzt wird. Wenn Sie eine Übertragungsrate für eine strict-high
Prioritätswarteschlange konfigurieren, wirkt sich dies nicht auf den WRR-Vorgang aus. Die Übertragungsrate wirkt sich jedoch auf die Berechnung des Verzögerungspuffers aus und dient auch als Platzhalter bei der Ausgabe von Befehlen wie dem show interface queue
Befehl.
strict-high
Prioritätswarteschlangen können Prioritätswarteschlangen aushungern low
und unter bestimmten Umständen Prioritätswarteschlangen einschränken high
. Die Priorität high
ermöglicht es Ihnen, Datenverkehrsklassen davor zu schützen, durch Datenverkehr in einer strict-high
Warteschlange ausgehungert zu werden. Für eine Netzwerksteuerungswarteschlange kann z. B. eine geringe Bandbreitenzuweisung erforderlich sein (z. B. 5 Prozent). Sie können dieser Warteschlange Priorität zuweisen high
, um zu verhindern, dass sie unterversorgt wird.
Eine Warteschlange mit Priorität hat Vorrang vor Bandbreitengarantien für Warteschlangen mit strict-high
niedrigerer Priorität. Daher wird empfohlen, die Priorität zu verwenden, um die strict-high
ordnungsgemäße Reihenfolge des speziellen Datenverkehrs, z. B. des Sprachdatenverkehrs, sicherzustellen. Sie können Bandbreitengarantien für Warteschlangen mit niedrigerer Priorität beibehalten, indem Sie der Warteschlange mit strict-high
Priorität nur die Bandbreite zuweisen, die sie im Allgemeinen benötigt, indem Sie die rate-limit
Option auf die Übertragungsrate der strict-high
Warteschlange anwenden. Betrachten Sie z. B. die folgende Zuordnung der Übertragungsbandbreite:
Q0 BE – 20 Prozent, niedrige Priorität
Q1 EF – 30 Prozent, strikte bis hohe Priorität
AF Q2 – 40 Prozent, niedrige Priorität
Q3 NC – 10 Prozent, niedrige Priorität
Bei dieser Bandbreitenzuweisung wird davon ausgegangen, dass die EF-Weiterleitungsklasse im Allgemeinen nur 30 Prozent der Übertragungsbandbreite einer Schnittstelle benötigt. Wenn jedoch kurze Datenverkehrsspitzen in der EF-Weiterleitungsklasse empfangen werden und die Option nicht angewendet wird, werden aufgrund der Einstellung 100 Prozent der Bandbreite an strict-high
die rate-limit
EF-Weiterleitungsklasse vergeben.