Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Übersicht über die Implementierung von Policer

Das Junos-Betriebssystem (Junos® OS) von Juniper Networks® unterstützt drei Arten von Policern:

  • Einrate zweifarbiger Policer — Der gebräuchlichste Policer. Single-Rate bedeutet, dass im Policer nur eine einzige Bandbreite und Burst-Rate angegeben wird. Die beiden mit diesem Policer verbundenen Farben sind rot (nicht übereinstimmend) und grün (konform).

  • Einrate dreifarbiger Policer — Ähnlich wie der einrate zweifarbige Policer mit Zusatz der Farbe Gelb. Dieser Typ führt auch die Committed Information Rate (CIR) und eine Committed Burst Rate (CBR) ein.

  • 3-farbiger Policer mit zwei Raten – Baut aus dem ein rate dreifarbigen Policer ab, indem eine zweite Rate-Ebene hinzugefügt wird. Zweirate bedeutet, dass es eine obere Bandbreitenbegrenzung und die zugehörige Burst-Größe sowie eine Peak Information Rate (PIR) und eine Peak Burst Rate (PBS) gibt.

Es gibt zwei Arten von Token-Bucket-Algorithmen, die verwendet werden können, abhängig von der Art des Policers, der auf den Netzwerkdatenverkehr angewendet wird. Einrate zweifarbige Policer verwenden den Single-Token-Bucket-Algorithmus , um die Datenverkehrsflusskonformität einer zweifarbigen Policer-Begrenzung der Datendurchsatzrate zu messen. Einrate 3-Farb-Policer und 2-Rate-3-Farb-Policer verwenden beide den Dual-Token-Bucket-Algorithmus , um die Datenverkehrsflusskonformität mit einer dreifarbigen Policer-Rate zu messen. Der Hauptunterschied zwischen diesen beiden Token-Bucket-Algorithmen besteht darin, dass der einzelne Token-Bucket-Algorithmus für kurze Zeiträume Überlastungen des Datenverkehrs ermöglicht, während der Dual-Token-Bucket-Algorithmus nachhaltigere Datenverkehrsspitzen ermöglicht. (Der Rest dieses Themas diskutiert den einzelnen Token-Bucket-Algorithmus.)

Um einen Policer zu konfigurieren, müssen Sie zwei Parameter festlegen:

  • In bps konfigurierte Bandbreitenbegrenzung (mithilfe der bandwidth-limit Anweisung)

  • In Bytes konfigurierte Burst-Größe (mit der burst-size-limit Anweisung)

Anmerkung:

Nur für Single-Rate-Policer mit zwei Farben können Sie die Bandbreitenbegrenzung auch als Prozentsatz der Physikalischen Schnittstellenportgeschwindigkeit oder der konfigurierten Rate der logischen Schnittstellenformung angeben, indem Sie die bandwidth-percent prozentuelle Anweisung verwenden. Sie können einen Policer nicht so konfigurieren, dass der Bandbreitenanteil für aggregierte, Tunnel- oder Softwareschnittstellen verwendet wird.

Verwenden Sie den folgenden Befehl, um die Policer-Bedingungen festzulegen:

Der Parameter Bandbreitenbegrenzung wird verwendet, um die durchschnittliche Begrenzung der Übertragungsrate auf den Datenverkehr zu bestimmen, während der Parameter für die Burst-Größe verwendet wird, um kurze Phasen des Datenverkehrsaufstoßens zu ermöglichen (Back-to-Back-Datenverkehr bei durchschnittlichen Geschwindigkeiten, die die konfigurierte Bandbreitengrenze überschreiten). Sobald Sie eine Reihe von Policer-Konfigurationseinstellungen (Bandbreitenbegrenzung und Burst-Größe) anwenden, werden die konfigurierten Werte an die programmierbaren Hardwarewerte angepasst. Die eingeführte Konvertierungsanpassung beträgt normalerweise weniger als 1 Prozent der konfigurierten Bandbreitenbegrenzung. Diese Anpassung ist erforderlich, da Sie mit der Software die Bandbreitenbegrenzung und Burst-Größe auf einen beliebigen Wert innerhalb der angegebenen Bereiche konfigurieren können. Diese Werte müssen jedoch an den nächsten Wert angepasst werden, der in der Hardware programmiert werden kann.

Die Konfiguration der Policer-Bandbreitenbegrenzung in der Hardware wird durch zwei Werte dargestellt: die Häufigkeit der Kreditaktualisierung und die Kreditgröße. Die Frequenz für die Kreditaktualisierung wird von der Hardware verwendet, um zu bestimmen, wie häufig Token (Bits unbenutzter Bandbreite) dem Token-Bucket hinzugefügt werden. Die Kreditgröße basiert auf der Anzahl der Token, die in den Token-Bucket passen können. Die Router DER MX-, M120-, M320- und EX-Serie enthalten eine Reihe von Frequenzen für die Kreditaktualisierung, anstatt über eine einzige Frequenz zur Kreditaktualisierung zu verfügen, um den Anpassungsunterschied von der konfigurierten Bandbreitenbegrenzung zu minimieren und eine Vielzahl von Policer-Bandbreitenraten (von 40 Kbit/s bis 40 Gbit/s) zu unterstützen. Eine der Frequenzen wird verwendet, um den Policer (Bandbreitenbegrenzung und Burst-Größe) in der Hardware zu programmieren.

Die Burst-Größe basiert auf der gesamten Datenverkehrslast und ermöglicht es Datenverkehrsüberlastungen, die konfigurierte Bandbreitengrenze zu überschreiten. Ein Policer mit einer großen Burst-Größe deaktiviert effektiv die konfigurierte Bandbreitenbegrenzungsfunktion, sodass die Burst-Größe relativ zur konfigurierten Bandbreitenbegrenzung sein muss. Sie müssen die Datenverkehrsmuster in Ihrem Netzwerk berücksichtigen, bevor Sie die Burst-Größe bestimmen. Weitere Informationen zur Bestimmung der Burst-Größe finden Sie unter Bestimmen der richtigen Burstgröße für Traffic Policer.

Die konfigurierte Burst-Größe wird in der Hardware an einen Wert angepasst, der auf der konfigurierten Bandbreitenbegrenzung basiert. Die Burst-Größe erweitert die konfigurierte Bandbreitenbegrenzung für burstigen Datenverkehr, der die konfigurierte Bandbreitenbegrenzung überschreitet.

Wenn ein Policer an einer Schnittstelle auf den Datenverkehr angewendet wird, entspricht die anfängliche Kapazität für Datenverkehrserweiterungen der in der burst-size-limit Anweisung angegebenen Anzahl von Bytes.

Abbildung 1 stellt dar, wie ein Policer mit dem Token-Bucket-Algorithmus implementiert wird. Der Token-Allocateor weist dem Policer Token basierend auf der konfigurierten Bandbreitenbegrenzung zu, was die Tokengröße ist, die mit der Ankunftsrate des Token multipliziert wird.

token size x token arrival rate = policer rate (configured bandwidth limit)

Abbildung 1: Token-Bucket-AlgorithmusToken-Bucket-Algorithmus

Wenn ein Paket an einer mit einem Policer konfigurierten Schnittstelle ankommt, stellen Token die Anzahl der Bits dar, die der Länge des Pakets entsprechen, werden aus dem Token-Bucket verwendet (oder "eingelöst"). Wenn die Token-Ankunftsrate höher als die Rate des Datenverkehrs ist, sodass Token nicht verwendet werden, wird der Token-Bucket zur Kapazität gefüllt, und die ankommenden Token "überlaufen" den Bucket und sind verloren. Die Token-Bucket-Tiefe repräsentiert die einzelne benutzerkonfigurierte Burst-Größe für den Policer.

Wenn sich Token im Token-Bucket befinden und die eingehende Datenverkehrsrate höher ist als die Tokenrate (die konfigurierte Policer-Rate, Bandbreitenbegrenzung), kann der Datenverkehr die Token verwenden, bis der Bucket leer ist. Die Tokenverbrauchsrate kann so hoch sein wie die eingehende Datenverkehrsrate, wodurch der in Abbildung 2dargestellte Datenverkehrsschub entsteht.

Durch die Verwendung des Token-Bucket-Algorithmus liegt die zulässige durchschnittliche Bandbreitenrate nahe an der konfigurierten Bandbreitengrenze und unterstützt gleichzeitig burstigen Datenverkehr, wie in Abbildung 2dargestellt.

Abbildung 2: Datenverkehrsverhalten mit Policer und Burst-GrößeDatenverkehrsverhalten mit Policer und Burst-Größe
Anmerkung:

Die gemessene Länge eines Pakets ändert sich entsprechend dem Familientyp, für den der Policer gilt. Wenn der Policer unter der family inet Hierarchie angewendet wird, berücksichtigt der Policer nur die IPv4-Paketlänge. Wenn der Policer unter der family vpls Hierarchie angewendet wird, ist der gesamte Ethernet-Frame (einschließlich des Ethernet MAC-Headers) in der Paketlänge enthalten.

Der Hauptfaktor, der das Ergebnis der Policer-Strukturierung beeinflusst, ist nicht die Konvertierungsanpassung, sondern das Datenverkehrsmuster, da der meiste Netzwerkdatenverkehr nicht konsistent ist und nicht mit konstanter Geschwindigkeit gesendet wird. Aufgrund der Schwankungen der eingehenden Datenverkehrsrate werden einige der zugewiesenen Token nicht verwendet. Infolgedessen ist die förmige Datenverkehrsrate niedriger als erwartet, und das tcp-Verbindungsverhalten, das in Understanding the Benefits of Policers and Token Bucket Algorithms erörtert wird, ist ein typisches Beispiel dafür. Um diesen Effekt der geringeren Datenverkehrsrate zu verringern, ist eine angemessene Konfiguration der Burst-Größe erforderlich.