DE602004001605T2 - Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED) - Google Patents

Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED) Download PDF

Info

Publication number
DE602004001605T2
DE602004001605T2 DE602004001605T DE602004001605T DE602004001605T2 DE 602004001605 T2 DE602004001605 T2 DE 602004001605T2 DE 602004001605 T DE602004001605 T DE 602004001605T DE 602004001605 T DE602004001605 T DE 602004001605T DE 602004001605 T2 DE602004001605 T2 DE 602004001605T2
Authority
DE
Germany
Prior art keywords
discard
queue
packet
sum
probabilities
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE602004001605T
Other languages
English (en)
Other versions
DE602004001605D1 (de
Inventor
Mark Nepean Thibodeau
Bin Ottawa Du
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of DE602004001605D1 publication Critical patent/DE602004001605D1/de
Application granted granted Critical
Publication of DE602004001605T2 publication Critical patent/DE602004001605T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/326Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Gebiet der Erfindung
  • Die Erfindung liegt auf dem Gebiet der Überlastungssteuerung in einem Kommunikationsumschalter oder Router. Insbesondere ist die Erfindung auf das Problem der Verminderung einer Verkehrsüberlastung durch selektives Verwerfen von Paketen eines Telekommunikationsverkehrs, basierend auf dem Zustand einer Warteschlange.
  • Allgemeiner Stand der Technik
  • 1 zeigt eine vereinfachte Architektur eines Kommunikationsumschalters 10 oder eines Routers. Pakete 12 eines Verkehrs kommen an den Eingangswarteschlagen an und werden durch eine Vermittlungsstruktur zu Ausgangswarteschlangen vermittelt, bevor sie aus einem Ausgangsanschluss 14 des Umschalters 14 weggehen. Wenn die Tiefe von Paketen in irgendeiner Warteschlange eine Schwelle (Dt) 16 für das Verwerfen übersteigt, können an dieser Warteschlange ankommende Pakete gemäß einer Prozedur zum Fallenlassen des Endes fallengelassen werden. Das heißt: Pakete am Ende der Warteschlange werden fallengelassen, bis die Warteschlangentiefe (auch Warteschlangenbelegung genannt) unter die Schwelle für ein Verwerfen zurückgeht. Ein Problem bei dieser Prozedur ist im Falle von TCP-Verbindungen, dass wegen der Art des Protokolls Pakete von einer einzigen TCP-Verbindung fallengelassen werden können.
  • Eine weitere Art von Prozedur des Verwerfens, die das oben genannte Problem bei TCP-Verbindungen vermindert, ist das zufällige frühe Verwerfen von Paketen (kurz RED). Das RED verwendet die Warteschlangentiefe (Warteschlagenbelegung), um zu ermitteln, ob jedes Pakete behalten oder verworfen werden soll, wenn es an der Warteschlange ankommt. Dies erfolgt durch Ermitteln einer Verwerfwahrscheinlichkeit, die von der durchschnittlichen Tiefe der Warteschlange (auch durchschnittliche Warteschlangentiefe oder durchschnittliche Warteschlangenbelegung genannt) abhängt, und Vergleichen der Verwerfwahrscheinlichkeit mit einer Zufallszahl. Wenn die Verwerfwahrscheinlichkeit größer als die Zufallszahl ist, wird das Paket verworfen.
  • 2 zeigt einen Graphen einer Beispielfunktion für die Verwerfwahrscheinlichkeit über der durchschnittlichen Warteschlangentiefe. Gemäß dieser Funktion ist die Verwerfwahrscheinlichkeit null, bis eine Mindestschwelle erreicht ist, danach erhöht sich die Verwerfwahrscheinlichkeit linear, bis eine Höchstschwelle erreicht ist. Für durchschnittliche Warteschlangentiefen größer als die Höchstschwelle ist die Verwerfwahrscheinlichkeit 100%.
  • 3 zeigt Graphen von Verwerfwahrscheinlichkeitsfunktionen für eine Variation des RED, bekannt als gewichtetes RED. In diesem Fall gibt es drei Verwerfwahrscheinlichkeitsfunktionen (grün, gelb und rot) und jede führt zu einer unterschiedlichen Verwerfwahrscheinlichkeit für die gleiche durchschnittliche Warteschlangentiefe. Die bestimmte Verwerfwahrscheinlichkeitsfunktion, die für ein Paket verwendet wird, hängt von der Priorität für das Fallenlassen (Farbe) des Pakets ab. Die Priorität für das Fallenlassen (DP) wird ermittelt, indem das Feld für den DiffServe Code Point (DSCP) im IP-Kopf des Pakets geprüft wird. Bei Paketen, die die Vereinbarungen über ihre Verbindungen übersteigen, wird die Priorität für das Fallenlassen (Farbe) durch eine IP-Überwachungsprozedur geändert. Wie bei der RED-Prozedur wird beim gewichteten RED die Ermittlung, ein Paket zu behalten oder zu verwerfen, vorgenommen, indem die Verwerfwahrscheinlichkeit des Pakets mit einer Zufallszahl verglichen wird, wobei das Paket verworfen wird, wenn die Wahrscheinlichkeit die Zahl übersteigt. Variationen dieser Prozedur beinhalten das Vorhandensein von mehr Wahrscheinlichkeitsfunktionen und das Vorhandensein von verschiedenen Wahrscheinlichkeitskurven in Übereinstimmung mit einer Diensteklasse (CoS), zu der das Paket gehört. Die CoS eines Pakets wird auch ermittelt, indem das DSCP-Feld im IP-Kopf geprüft wird.
  • 4 zeigt ein weiteres Beispiel eines gewichteten RED mit Verwerfwahrscheinlichkeitsfunktionen, die Formen aufweisen, von denen allgemein angenommen wird, dass sie gut arbeiten. Die Figur enthält drei Graphen für drei Farben. Für jede Farbe liefert ihre Funktion die Verwerfwahrscheinlichkeit, die von 0% bis MAXp linear ansteigt, wenn die durchschnittliche Warteschlangentiefe von ihrer Mindestschwelle (MINth) zu ihrer Höchstschwelle (MAXth) anwächst. Über der MAXth beträgt die Verwerfwahrscheinlichkeit 100%. Verschiedene Anbieter und verschiedene Funktionen für die Priorität für das Fallenlassen (Farbe) haben verschiedene Werte für MAXp, MINth und MAXth, die in der Figur gezeigt sind. In der Figur ist MAXp, die weniger als 100% beträgt, für alle Farben gleich. Es sind Verwerfwahrscheinlichkeitsfunktionen mit verschiedenen Formen und Kurven möglich.
  • Es wird daher zusammengefasst, dass ob ein Paket, das an dem RED-System ankommt, in die Warteschlange eingereiht oder fallengelassen wird, von der laufenden Verwerfwahrscheinlichkeit und der Farbe (relative Priorität) des Pakets abhängt. Die Verwerfwahrscheinlichkeit wiederum hängt von der durchschnittlichen Warteschlangentiefe ab. Diese Beziehungen können wie folgt formalisiert werden. Neue Navg = Vorherige Navg + W × (Ncur – Vorherige Navg) (1) P(Farbe) = FFarbe (Neue Navg) (2)
  • Navg ist die durchschnittliche Warteschlangentiefe und 0<W<1 ist ein sich bewegendes durchschnittliches Gewicht, das bestimmt, wie eng die durchschnittliche der tatsächlichen (laufenden) Warteschlangentiefe, Ncur verfolgt. Wenn W klein ist, hinkt die durchschnittliche hinter der tatsächlichen Warteschlangentiefe hinterher, die durchschnittliche verfolgt die tatsächliche Warteschlangentiefe eng, wenn W groß ist. P ist eine Verwerfwahrscheinlichkeit, die für jede Farbe eines Pakets (Farbe ∊ {Rot, Gelb, Grün} unterschiedlich ist, und ist eine lineare Verwerfwahrscheinlichkeitsfunktion, die Werte zurückgibt, die von der Farbe und der durchschnittlichen Warteschlangentiefe abhängen. 2-4 geben einige Beispielfunktionen an.
  • Wie vorher erwähnt wird die Ermittlung, ob ein Paket verworfen oder behalten werden soll, vorgenommen, indem die Verwerfwahrscheinlichkeit des Pakets mit einer Zufallszahl (RN) verglichen wird. Es gibt zwei übliche Verfahren zum Auswählen und Vergleichen einer Zufallszahl oder Zufallsvariablen mit der Verwerfwahrscheinlichkeit. Diese Verfahren sind das Verfahren mit geometischer Zufallsvariable (GRV) und das Verfahren mit einheitlicher Zufallsvariablen (URV).
  • 5 und 6 zeigen einen Vergleich der Ergebnisse der Verfahren mit GRV und URV mit einer konstanten durchschnittlichen Warteschlangentiefe. 5 ist das Verfahren mit GRV und 6 ist das Verfahren mit URV. In den Figuren stellen die horizontalen Linien die Zeit dar stellen die kleinen vertikalen Linien das Verwerfen von Paketen dar. Entsprechend dem Verfahren mit geometrischer Zufallsvariable (GRV) wird für jedes Paket, das an der Warteschlange ankommt, eine neue Zufallszahl ausgewählt. Wenn die Verwerfwahrscheinlichkeit für das Paket die Zufallszahl übersteigt, dann wird das Paket verworfen. Wie 5 zeigt ist das sich ergebende Verwerfen über die Zeit zufällig verteilt. Das Verfahren mit URV andererseits wählt eine neue Zufallszahl nur aus, nachdem ein Paket verworfen wurde. Das Verfahren mit URV zählt daher die Anzahl von Paketen (Zählung) seit dem letzten Verwerfen und multipliziert die Zählung mit der Verwerfwahrscheinlichkeit. Wenn das sich ergebende Produkt größer als die Zufallszahl ist, dann wird das Paket verworfen, die Zählung auf Null gesetzt und wird eine neue Zufallszahl erzeugt. Ansonsten wird das Paket akzeptiert und die Zählung inkrementiert.
  • Algorithmus mit URV
    • Initialisiere Paketzählung = 0;
    • WENN (Paketzählung*P(Farbe))>RN, DANN
    • verwirf das Paket;
    • nimm eine neue RN;
    • Paketzählung = 0;
    • Andernfalls
    • akzeptiere das Paket;
    • inkrementiere Paketzählung (d.h. Paketzählung = Paketzählung+1)
  • Es wurde gezeigt, dass das Verfahren mit URV eine bessere Leistung ergibt als das Verfahren mit GRV, weil es normalerweise eine einheitlichere Verteilung der Paketverwerfung über die Zeit erreicht, wie in 6 zu sehen. Dies ist wünschenswert, weil wenn zu viele Pakete nacheinander verworfen werden und/oder Intervalle zwischen akzeptierten Paketen lang sind, eine globale Synchronisierung mit mehreren Verbindungen auftreten kann, was gleichzeitig zu einer Verringerung ihres Fensters führt.
  • Obwohl das Verfahren mit URV das wünschenswerte Ergebnis des einheitlichen Verteilens des Paketverwerfens über die Zeit liefert, erfordert es gegenüber dem Verfahren mit GRV eine zusätzliche Multiplikationsoperation. Diese zusätzliche Multiplikation verbraucht eine signifikante Menge an Verarbeitungszeit. Als Beispiel wird angenommen, dass ein typischer Netzwerkprozessor 56 Zyklen aufweist, um ein Paket mit 40 Byte bei einer Rate von 9,14 Gb/s (äquivalent zu OC-192) zu verarbeiten. Jede Multiplikationsoperation braucht 6 Zyklen zur Vervollständigung. Dies ergibt eine Summe von 12 Zyklen für den Multiplikationsteil der Berechnungen für das Verwerfen. Ein Problem bei diesem Ansatz ist, dass im FAlle von Paketen, die mit einer OC-192-Rate ankommen, die Prozedur des Verwerfens mit URV nur 44 Zyklen für den Rest der Verarbeitung für das Verwerfen, wie der Prüfung der Schwellen, übrig lässt. Bei diesen Raten ist jeder Zyklus wertvoll und es ist wichtig, sie zu sparen. Die vorliegende Erfindung stellt neuartige Wege bereit, das RED effizienter auszuführen, was weniger Verarbeitungsleistung und/oder Zeit erfordert, was es für Hochgeschwindigkeitsanwendungen geeigneter macht.
  • Um den RED-Algorithmus auszuführen, muss ferner die Verwerfwahrscheinlichkeit, P(Farbe), die von der durchschnittlichen Warteschlangentiefe, Navg, abhängt, unter Verwendung der Formeln (1) und (2) berechnet werden. Es gibt mehrere Wege zur Berechnung der Formeln (1) und (2). Hier werden zwei übliche Variationen beschrieben, d.h. das "Hintergrundverfahren" und das "Ankunftsverfahren". Beim ersten Verfahren wird alle T Sekunden ein Hintergrundprozess aufgerufen. Dieser Prozess berechnet die durchschnittliche Warteschlangentiefe und die Verwerfwahrscheinlichkeit unter Verwendung der Formeln (1) bzw. (2). Die erhaltenen Werte werden dann verwendet, um das Schicksal jedes Pakets zu ermitteln, das während der nächsten T Sekunden am System ankommt. Nach dieser Zeit wird der Hintergrundprozess erneut aufgerufen, wird die laufende Warteschlangentiefe abgerufen und wird eine neue durchschnittliche Warteschlangentiefe und Verwerfwahrscheinlichkeit berechnet. Beim zweiten Verfahren andererseits werden die durchschnittliche Warteschlangentiefe und Verwerfwahrscheinlichkeit nicht periodisch berechnet, sondern jedes Mal, wenn ein Paket am System ankommt. Wieder werden die obigen Formeln (1) und (2) für die Berechnungen verwendet und wird das Paket auf dem berechneten Wert der Verwerfwahrscheinlichkeit basierend entweder akzeptiert oder verworfen. Welches Verfahren auch verwendet wird, es kann entweder die URV- oder die GRV-Prozedur, die oben beschrieben wurden, eingesetzt werden, um die Aktion des Akzeptierens/Verwerfens auszuführen.
  • Wenn jedoch das "Ankunftsverfahren" verwendet wird, kann es ein zusätzliches Problem beim Berechnen der durchschnittlichen Warteschlangentiefe nach Leerlaufzeiten, d.h. wenn die Warteschlange leer ist, geben. Es wird auf 7 Bezug genommen, die ein Graph der aktuellen (augenblicklichen) Warteschlangentiefe 70 verglichen mit der durchschnittlichen Warteschlangentiefe 72 ist. Entsprechend der Prozedur für die Berechnung der durchschnittlichen Warteschlangentiefe, wenn die Warteschlange leer ist, kann die berechnete durchschnittliche Warteschlangentiefe fälschlicherweise konstant bleiben, wie durch die durchgezogene Linie 74 gezeigt, wenn tatsächlich die richtige durchschnittliche Warteschlangentiefe, die durch die gepunktete Linie 76 gezeigt ist, abnimmt.
  • Dies wird wie folgt erläutert:
    Bei bekannten Prozeduren für das RED wird, wenn die Warteschlange leer wird, eine Zeitmarke genommen. Wenn das nächste Paket ankommt, wird die Berechnung der durchschnittlichen Warteschlangentiefe vorgenommen. Wenn die Warteschlange leer ist, wird an Stelle der oben genannten Formel (1) die Formel (3) unten verwendet, um die durchschnittliche Warteschlangentiefe zu berechnen. Neue Navg = Vorherige Navg × Funktion(Leerlaufzeit, W) (3)
  • Die Leerlaufzeit wird gefunden, indem die laufende Zeit von der Zeitmarke für die leere Warteschlange subtrahiert wird. Wenn die Leerlaufzeit sehr klein ist, ist die in Formel (3) gegebene "Funktion" im wesentlichen gleich 1. Wenn dies auftritt, ändert sich Navg nicht. Dann wird das Paket übertragen, die Warteschlange wird leer und eine kurze Zeit später kommt ein weiteres Paket an. Wieder ist die Leerlaufzeit sehr klein und Navg ändert sich nicht. Dies kann unendlich fortdauern. Dieser Fehler in der Ermittlung der durchschnittlichen Warteschlangentiefe, der zu einem unnötigen Verwerfen von Paketen führen könnte, ist unerwünscht.
  • Die Druckschrift US 2002/159388 offenbart eine Kommunikationseinrichtung mit Paketübertragung. Sie beschreibt eine Überlastungskontrolleinheit, die dafür vorgesehen ist, Kommunikation mit hoher Geschwindigkeit einschließlich einem Prozess zum Verringern der Überlastungslast zu handhaben. Diese Druckschrift offenbart ein Verfahren zum Vereinfachen der Entscheidung für das Verwerfen, um einen RED-Algorithmus in Paketvermittlungssystemen bereitzustellen. Dieses Ergebnis wird unter Verwendung der Akkumulation eines geglätteten Warteschlangenlängenparameters erhalten.
  • Es ist daher offensichtlich, dass verbesserte Techniken zum Verwerfen von Paketen erwünscht sind. Die Techniken sollten weniger Verarbeitungsleistung und/oder -zeit erfordern.
  • Eine weitere Verbesserung bei der Genauigkeit der Berechnung der durchschnittlichen Warteschlangentiefe ist für eine bessere Leistung des Vorgangs des zufälligen frühen Verwerfens von Paketen ebenfalls erforderlich.
  • Kurzdarstellung der Erfindung
  • Die Erfindung betrifft das Problem der Verminderung einer Verkehrsüberlastung in einem Kommunikationsumschalter oder Router. Insbesondere betrifft die Erfindung eine Technik, die weniger Verarbeitungsleistung und/oder -zeit erfordert.
  • Gemäß einem Aspekt ist die Erfindung auf eine verbesserte Technik des selektiven Verwerfens von Paketen eines Verkehrs gerichtet, die von der Füllhöhe oder Tiefe von Warteschlangen im Kommunikationsumschalter abhängt.
  • Gemäß einem weiteren Aspekt stellt die Erfindung ein Verfahren bereit, um ein gleichmäßig über die Zeit verteiltes Verwerfen, wie die URV-Prozedur, aber mit weniger Verarbeitungszyklen zu erreichen, was sie für OC-192-Anwendungen geeigneter macht.
  • Gemäß noch einem weiteren Aspekt verwendet die Erfindung addierte Verwerfwahrscheinlichkeiten, anstatt die Anzahl von Paketen zu zählen (Zählung) und diese mit der laufenden Verwerfwahrscheinlichkeit zu multiplizieren, wie im Stand der Technik. Die sich ergebende Summe wird für den Vorgang des Verwerfens mit der Zufallszahl verglichen.
  • Gemäß noch einem weiteren Aspekt stellt die Erfindung einen genaueren Weg zum Berechnen der durchschnittlichen Tiefe einer Warteschlange bereit, insbesondere wenn die Warteschlange Leerlaufperioden antrifft.
  • Ein weiterer Aspekt der Erfindung verlangt nach einer neuartigen RED-Technik auf der Basis einer genaueren Berechnung der durchschnittlichen Warteschlangentiefe, die zu einem verbesserten Vorgang des Verwerfens von Paketen mit geringerer Verarbeitungsleistung führt, als bei den bekannten Techniken erforderlich.
  • Gemäß einem speziellen Aspekt betrifft die Erfindung ein Verfahren zum Kontrollieren einer Warteschlange eines Kommunikationssystems. Das Verfahren beinhaltet Schritte des Entscheidens über einen Vorgang des Annehmens/Verwerfens für ein Paket, das an der Warteschlange ankommt, auf der Basis eines Vergleichs zwischen einer Verwerfwahrscheinlichkeitssumme für das Paket und einer Zufallsvariablen, des Berechnens einer Verwerfwahrscheinlichkeit für das Paket unter Verwendung einer durchschnittlichen Tiefe der Warteschlange und des Erzeugens einer neuen Verwerfwahrscheinlichkeitssumme für ein nächstes Paket, das an der Warteschlange ankommt, indem die Verwerfwahrscheinlichkeitssumme und die berechnete Verwerfwahrscheinlichkeit addiert werden.
  • Gemäß einem weiteren Aspekt liegt die Erfindung auf dem Gebiet einer Prozedur des zufälligen frühen Verwerfens von Paketen in einem Telekommunikationssystem. Die Erfindung ist auf ein Verfahren zum Berechnen einer durchschnittlichen Tiefe einer Warteschlange gerichtet, wenn ein Paket an der Warteschlange ankommt. Das Verfahren beinhaltet Schritte des Messens der laufenden Warteschlangentiefe, Ncur, des Behaltens einer vorherigen durchschnittlichen Warteschlangentiefe, vorherige Navg, und des Überwachens, ob die Warteschlange leer ist oder nicht. Das Verfahren beinhaltet ferner einen Schritt des Aktualisierens der durchschnittlichen Warteschlangentiefe, Neue Navg, durch die folgenden Formeln:
    wenn die Warteschlange nicht leer ist, Neue Navg = vorherige Navg + W × (Ncur -vorherige Navg);wenn die Warteschlange leer ist, Neue Navg = vorherige Navg × Funktion(Leerlaufzeit, W), undwenn die Warteschlange leer ist und auch Navg = vorherige Navg, Neue Navg = vorherige Navg + W × (Ncur -vorherige Navg);wobei W ein laufendes Gewicht zwischen 0 und 1 ist und die Funktion eine Funktion ist, die Werte zurückgibt, die auf der Leerlaufzeit der Warteschlange und W basieren.
  • Gemäß einem weiteren speziellen Aspekt ist die Erfindung auf einen Mechanismus zum Kontrollieren einer Warteschlange eines Kommunikationssystems gerichtet. Der Mechanismus umfasst einen Empfänger zum Empfangen und Senden eines Pakets zu einer Warteschlange für eine Speicherung und ein Berechnungsmodul für die Verwerfwahrscheinlichkeit zum Berechnen der Verwerfwahrscheinlichkeitssumme, welches die Addition von Verwerfwahrscheinlichkeiten aller Pakete ist, die an der Warteschlange ankamen, seit ein Paket zuletzt aus der Warteschlange verworfen wurde. Der Mechanismus beinhaltet ferner einen Zufallszahlengenerator zum Erzeugen einer Zufallszahl, wenn angewiesen, und ein Verwerfmodul zum Verwerfen des gerade angekommenen Pakets aus der Warteschlange, wenn die Verwerfwahrscheinlichkeitssumme größer als die Zufallszahl ist, und um das Berechnungsmodul für die Verwerfwahrscheinlichkeit anzuweisen, die Verwerfwahrscheinlichkeitssumme auf Null zu setzen und eine weitere Zufallszahl zu erzeugen, um die vorher genannte Zufallszahl zu ersetzen.
  • Kurze Beschreibung von Zeichnungen
  • 1 ist eine schematische Darstellung eines Paketumschalters oder Routers.
  • 2 ist ein Graph einer Beispielfunktion für die Verwerfwahrscheinlichkeit (Pb) über der durchschnittlichen Warteschlangentiefe.
  • 3 zeigt Graphen von Beispielfunktionen für die Verwerfwahrscheinlichkeit für eine weitere Prozedur für das Verwerfen, bekannt als gewichtetes RED.
  • 4 zeigt einen Graphen einer Funktion für die Verwerfwahrscheinlichkeit mit einer Form, von der im Allgemeinen angenommen wird, dass sie gut arbeitet.
  • 5 und 6 zeigen die Ergebnisse der Verfahren mit GRV (geometrischer Zufallsvariable) und URV (einheitlicher Zufallsvariable) mit einer konstanten durchschnittlichen Warteschlangentiefe.
  • 7 sind Graphen einer tatsächlichen Warteschlangentiefe und einer durch ein bekanntes Verfahren berechneten durchschnittlichen Warteschlangentiefe, die darstellen, dass Verbesserungen benötigt werden.
  • 8 ist ein Flussdiagramm des Algorithmus gemäß einer Ausführungsform der Erfindung.
  • 9 ist eine schematische Darstellung des Verwerfmechanismus gemäß einer Ausführungsform der Erfindung.
  • Ausführliche Beschreibung von Ausführungsformen der Erfindung
  • Gemäß einer Ausführungsform der Erfindung werden die Verwerfwahrscheinlichkeiten für jede Farbe addiert, anstatt die Anzahl von Paketen zu zählen (Zählung) und diese mit der laufenden Verwerfwahrscheinlichkeit P(Farbe) zu multiplizieren, wie im Stand der Technik. Die sich ergebende Summe (Verwerfwahrscheinlichkeitssumme oder Psum(Farbe)) wird mit der Zufallszahl (RN) verglichen. Wenn Psum(Farbe) größer als RN ist, dann wird das Paket verworfen und Psum(Farbe) auf Null gesetzt, anderenfalls wird das Paket akzeptiert und die neue Verwerfwahrscheinlichkeit P(Farbe) zu Psum(Farbe) addiert (d.h. Psum(Farbe) = Psum(Farbe) + P(Farbe)). Das Ergebnis ist ein Verwerfen von Paketen für jede Farbe, das ähnlich dem Verfahren mit URV aus dem Stand der Technik über die Zeit gleichmäßig verteilt ist, aber zur Implementierung 50% weniger Verarbeitungszyklen erfordert. Diese Effizienzverbesserung gestattet, dass auf Verbindungen mit OC-192-Rate ein gleichmäßig verteiltes Verwerfen von Paketen erreicht wird.
  • Ein neuer Verwerfalgorithmus gemäß einer Ausführungsform der Erfindung ist daher wie folgt:
    Initialisiere = 0
    WENN (Psum(Farbe)>RN), dann
    verwirf das Paket;
    Psum(colour) = 0;
    nimm eine neue RN;
    Andernfalls
    akzeptiere das Paket;
    Psum(Farbe) = Psum(Farbe) + P(Farbe)
  • 8 ist ein Flussdiagramm des obigen Algorithmus.
  • 9 ist eine schematische Darstellung eines Verwerfmechanismus gemäß der oben beschriebenen Ausführungsform der Erfindung. Die Figur zeigt nur eine zu einer Vielfalt von Modulen gehörige Warteschlange. Es ist zu bemerken, dass in einem Umschalter oder Router eine Vielzahl von Warteschlangen gibt und sie einige oder alle Module gemeinsam benutzen können. In der Figur empfängt ein Empfänger 80 ein Paket und sendet es zur Speicherung hinüber zur Warteschlange 82, von wo ein Sender 84 ein gespeichertes Paket stromabwärts befördert. Der Empfänger prüft die Priorität für das Fallenlassen (Farbe) des Pakets, falls es mehr als ein Prioritätsniveau gibt. Ein Berechnungsmodul 86 für die Verwerfwahrscheinlichkeit überwacht die Warteschlangentiefe durchgehend. Es berechnet auch die durchschnittliche Warteschlangentiefe und ermittelt die Verwerfwahrscheinlichkeit für das gerade angekommene Paket und die Verwerfwahrscheinlichkeitssumme. Das Berechnungsmodul für die Verwerfwahrscheinlichkeit trifft ferner eine Entscheidung über das Akzeptieren/Verwerfen des Pakets in Antwort auf einen Vergleich der Verwerfwahrscheinlichkeitssumme für die Farbe des Pakets mit einer Zufallszahl, die vom Zufallszahlengenerator 88 erhalten wird. Das Verwerfmodul 90 lässt das Paket vom Ende der Warteschlange fallen, wenn es vom Berechnungsmodul für die Verwerfwahrscheinlichkeit angewiesen wird. Das Modul 86 für die Verwerfwahrscheinlichkeit beinhaltet eine Vielfalt von Elementen, wie einen Prozessor, einen Summenoperator und einen Speicher. Der Summenoperator erzeugt die Addition der neu berechneten Verwerfwahrscheinlichkeit P(Farbe) und der vorherigen Psum(Farbe) (d.h. Psum(Farbe) = Psum(Farbe) + P(Farbe)), um eine neue Psum(Farbe) zu erzeugen. Der Vorgang ist effizienter als ein Multiplikationsvorgang des Mechanismus aus dem Stand der Technik.
  • Die Erfindung stellt eine weitere Verbesserung des "Ankunftsverfahrens" bereit, was zu einer besseren Genauigkeit der Berechnung der durchschnittlichen Warteschlangentiefe (Navg) einer Warteschlange führt, wenn die Warteschlange kurze Leerlaufperioden antrifft. Wie vorher unter Bezugnahme auf 7 erwähnt kann das "Ankunfts"verfahren aus dem Stand der Technik für die Durchführung solcher Berechnungen zu einer falsch berechneten durchschnittlichen Warteschlangentiefe führen, wenn einer zunehmenden Warteschlangentiefe kurze Perioden einer Warteschlangenleere folgen. Dies führt beim RED zu unnötigem Verwerfen. Die Erfindung stellt neue Wege zum Berechnen der durchschnittlichen Warteschlangentiefe bereit, wenn die Warteschlange leer ist, um eine bessere Leistung des RED sicherzustellen. Allgemein gesprochen wird erfindungsgemäß, wenn die Warteschlange leer ist und der neue Durchschnitt gleich dem vorherigen Durchschnitt ist, eine Formel für das Berechnen der durchschnittlichen Warteschlangentiefe für eine nicht leere Warteschlangentiefe verwendet.
  • Gemäß einer Ausführungsform der Erfindung wird die durchschnittliche Warteschlangentiefe Navg, wenn die Warteschlange leer ist, unter Verwendung zweier separater Formeln berechnet. Wenn die Warteschlange leer ist, wird die obige Formel (3) verwendet, aber wenn die Warteschlange leer ist und auch "Neue Navg = vorherige Navg", dann wird die Formel (1) verwendet.
  • Gemäß einer Ausführungsform verwendet die Erfindung die folgende Logik:
    Figure 00110001
    Figure 00120001
  • Gemäß einer Ausführungsform kann in Formel (1) das Gewicht W die Formel 1/2M aufweisen, wobei M zwischen 0 und 15 liegt.
  • Gemäß einer weiteren Ausführungsform kann, wenn die Verwerfwahrscheinlichkeitsfunktion die in 4 gezeigte ist, die Verwerfwahrscheinlichkeit P für jede Farbe wie unten ausgedrückt werden. P(Farbe) = MAXp {Neue Navg(Farbe) – MINth(Farbe)}/ MAXth(Farbe) – MINth(Farbe)} (4)
  • Die Erfindung stellt eine effizientere Technik des Ausführens eines gewichteten zufälligen frühen Verwerfens (RED) von Paketen bereit, wodurch ermöglicht wird, dass solche Aktionen auf Verbindungen mit OC192-Rate ausgeführt werden. Die verbesserte Technik liefert eine Verteilung des Verwerfens von Paketen, die über die Zeit gleichmäßig verteilt ist. Diese Art ist wünschenswert, weil es weniger wahrscheinlich ist, dass sie eine Verbindung beeinträchtigt, besonders im Falle von TCP-Verbindungen.
  • Die Erfindung stellt auch eine genauere Technik zum Berechnen der durchschnittlichen Warteschlangentiefe für Leerlaufzeitperioden bereit, wodurch ein unnötiges Verwerfen verhindert wird, das sich ansonsten ergeben könnte, wie im Falle des Verfahrens aus dem Stand der Technik.
  • Die Fähigkeit Verkehrsüberlastung in einem Umschalter zu vermindern ist notwendig, um für Kunden eines Netzwerks eine Dienstequalität zu gewährleisten. Es ist wünchenswert, die Überlastung durch Verwerfen von Paketen des Verkehrs in einer Weise zu vermindern, dass eine bestimmte Verbindung auf einem überlasteten Anschluss des Umschalters nicht über Gebühr beeinträchtigt wird. Die Erfindung stellt diese Fähigkeit in einer Weise bereit, die verarbeitungseffizienter ist als die Verfahren aus dem Stand der Technik (z.B. gewichtetes RED). Diese Effizienz ermöglicht, dass die Erfindung auf Verbindungen mit OC192-Rate ausgeführt wird, was mit den mit gegenwärtig verfügbaren Prozessoren ausgeführten Verfahren aus dem Stand der Technik nicht möglich ist. Daher hat die Erfindung für OC192 einen sofortigen kommerziellen Wert, weil sie eine Fähigkeit bereitstellt, die gegenwärtig nicht verfügbar ist. Ferner sollte die Erfindung auf Grund ihrer höheren Verarbeitungseffizienz weiterhin für unsere Mitbewerber als Datenratenerhöhung wertvoll sein.

Claims (10)

  1. Verfahren zum Steuern einer Warteschlange (82) eines Kommunikationssystems, das die Schritte umfasst: a) Entscheiden einer Operation Akzeptieren/Verwerfen für ein Paket (12), das an der Warteschlange (82) ankommt, basierend auf einem Vergleich zwischen der Summe der Verwerfwahrscheinlichkeiten für das Paket und einer Zufallsvariablen; b) Berechnen einer Verwerfwahrscheinlichkeit für das Paket (12) unter Verwendung einer mittleren Tiefe der Warteschlange (82), und c) Erzeugen einer neuen Summe der Verwerfwahrscheinlichkeiten für ein nächstes Paket, das an der Warteschlange (82) ankommt, dadurch gekennzeichnet, dass die neue Summe der Verwerfwahrscheinlichkeiten durch Summieren der Summe der Verwerfwahrscheinlichkeiten und der berechneten Verwerfwahrscheinlichkeit erhalten wird.
  2. Verfahren nach Anspruch 1, das ferner den Schritt umfasst: d) Akzeptieren eines Pakets (12), das an der Warteschlange (82) ankommt, wenn die Summe der Verwerfwahrscheinlichkeiten für das Paket (12) kleiner oder gleich einer Zufallsvariablen ist.
  3. Verfahren nach Anspruch 1, das ferner die Schritte umfasst: e) Verwerfen des Pakets (12), das an der Warteschlange (82) ankommt, wenn die Summe der Verwerfwahrscheinlichkeiten für das Paket größer als die Zufallsvariable ist; f) Setzen der Verwerfwahrscheinlichkeit auf Null, und g) Erzeugen einer weiteren Zufallsvariablen, um die vorher genannte Zufallsvariable zu ersetzen.
  4. Verfahren nach Anspruch 2, das ferner die Schritte umfasst: Wiederholen der Schritte a) bis d) für jedes Paket (12), das an der Warteschlange (82) ankommt; Verwerfen eines Pakets (12), das zuletzt an der Warteschlange (82) ankommt, wenn die Summe der Verwerfwahrscheinlichkeiten für das jüngste Paket größer als die Zufallsvariable ist; Setzen der Verwerfwahrscheinlichkeit auf Null; Erzeugen einer weiteren Zufallsvariablen, um die vorher genannte Zufallsvariable zu ersetzen, und Wiederholen der Schritte a) bis d) für weitere Pakete, die an der Warteschlange ankommen.
  5. Verfahren nach einem der Ansprüche 1 bis 4, das ferner die Schritte umfasst: Berechnen der mittleren Tiefe der Warteschlange jedes Mal, wenn ein neues Paket (12) an der Warteschlange (82) ankommt, und Berechnen der Verwerfwahrscheinlichkeit für das neu angekommene Paket basierend auf der berechneten mittleren Tiefe der Warteschlange.
  6. Verfahren nach Anspruch 2 oder 3, bei dem das Paket (12) eine Priorität für das Fallenlassen für eine Vielzahl von Ebenen aufweist, die in Farben ausgedrückt wird, und jede Farbe ihre Verwerfwahrscheinlichkeit und Summe der Verwerfwahrscheinlichkeiten besitzt, wobei das Verfahren ferner die Schritte umfasst: Prüfen der Farbe des Pakets (12), das an der Warteschlange (82) ankommt, und Akzeptieren oder Verwerfen des Pakets (12) basierend auf der Summe der Verwerfwahrscheinlichkeiten für die Farbe.
  7. Verfahren nach Anspruch 6, das ferner die Schritte umfasst Berechnen einer Verwerfungswahrscheinlichkeit für die Farbe unter Verwendung einer mittleren Tiefe der Warteschlange, und Erzeugen einer neuen Summe der Verwerfwahrscheinlichkeiten für ein nächstes Paket mit der Farbe, das an der Warteschlange ankommt, durch Summieren der Summe der Verwerfwahrscheinlichkeiten und der berechneten Verwerfwahrscheinlichkeit für die Farbe.
  8. Mechanismus zum Steuern einer Warteschlange eines Kommunikationssystems, welches umfasst: einen Empfänger (80) zum Empfangen und Senden eines Pakets (12) zu einer Warteschlange (82) zur Speicherung; ein Berechnungsmodul (86) für die Verwerfwahrscheinlichkeit zum Berechnen der Summe der Verwerfwahrscheinlichkeiten; einen Zufallszahlengenerator (88) zum Erzeugen einer Zufallszahl, wenn angewiesen, und ein Verwerfmodul (90) zum Verwerfen des gerade angekommenen Pakets (12) aus der Warteschlange (82), wenn die Summe der Verwerfwahrscheinlichkeiten größer als die Zufallszahl ist, und Anweisen des Berechnungsmoduls (86) für die Verwerfwahrscheinlichkeit, die Summe der Verwerfwahrscheinlichkeiten auf Null zu setzen und eine weitere Zufallszahl zu erzeugen, um die vorher genannte Zufallszahl zu ersetzen; dadurch gekennzeichnet, dass die Summe der Verwerfwahrscheinlichkeiten die Summierung von Verwerfwahrscheinlichkeiten aller Pakete ist, die an der Warteschlange ankamen, seit ein Paket zuletzt aus der Warteschlange verworfen wurde.
  9. Mechanismus nach Anspruch 8, der ferner umfasst: einen Summierungsoperator zum Erzeugen einer neuen Summe der Verwerfwahrscheinlichkeiten durch Summierung einer neu berechneten Verwerfwahrscheinlichkeit für das gerade angekommene Paket und einer vorherigen Summe der Verwerfwahrscheinlichkeiten.
  10. Mechanismus nach Anspruch 9, bei dem der Empfänger (80) ferner eine Einrichtung zum Prüfen der Priorität für das Fallenlassen des gerade angekommenen Pakets (12) umfasst.
DE602004001605T 2003-03-13 2004-03-12 Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED) Expired - Lifetime DE602004001605T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/386,651 US7636307B2 (en) 2003-03-13 2003-03-13 Random early packet discard (RED)
US386651 2003-03-13

Publications (2)

Publication Number Publication Date
DE602004001605D1 DE602004001605D1 (de) 2006-09-07
DE602004001605T2 true DE602004001605T2 (de) 2007-07-26

Family

ID=32771595

Family Applications (2)

Application Number Title Priority Date Filing Date
DE602004021798T Expired - Lifetime DE602004021798D1 (de) 2003-03-13 2004-03-12 Verbesserung der Berechnung der mittleren Warteschlangenlänge zwecks des frühen Zufallsverwerfens von Datenpaketen (RED)
DE602004001605T Expired - Lifetime DE602004001605T2 (de) 2003-03-13 2004-03-12 Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED)

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE602004021798T Expired - Lifetime DE602004021798D1 (de) 2003-03-13 2004-03-12 Verbesserung der Berechnung der mittleren Warteschlangenlänge zwecks des frühen Zufallsverwerfens von Datenpaketen (RED)

Country Status (3)

Country Link
US (1) US7636307B2 (de)
EP (2) EP1626544B1 (de)
DE (2) DE602004021798D1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7274666B2 (en) * 2003-04-01 2007-09-25 International Business Machines Corporation Method and system for managing traffic within a data communication network
US7623452B2 (en) * 2003-08-01 2009-11-24 Hewlett-Packard Development Company, L.P. User configurable functions for adjusting service differentiation meters
US7567508B2 (en) * 2005-05-23 2009-07-28 Cisco Technology, Inc. Method and system for providing delay bound and priortized packet dropping
WO2009016692A1 (ja) * 2007-07-27 2009-02-05 Fujitsu Limited パケット処理装置
US9641447B2 (en) * 2011-01-12 2017-05-02 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive relative bitrate manager for TCP depending flow control
US9030931B2 (en) * 2011-03-14 2015-05-12 Arista Networks, Inc. Latency analysis of traffic passing through an ethernet switch
US8867360B2 (en) * 2012-03-22 2014-10-21 Avaya Inc. Method and apparatus for lossless behavior for multiple ports sharing a buffer pool
US10084834B2 (en) 2013-05-27 2018-09-25 Electronics And Telecommunications Research Institute Randomization of packet size
US10069744B2 (en) * 2015-07-14 2018-09-04 Alcatel Lucent Method and apparatus for managing network congestion
US11054884B2 (en) * 2016-12-12 2021-07-06 Intel Corporation Using network interface controller (NIC) queue depth for power state management
US10805223B1 (en) * 2019-04-10 2020-10-13 Dell Products L.P. Systems and methods for handling data congestion for shared buffer switches with dynamic thresholding

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560198B1 (en) * 1997-11-07 2003-05-06 Telcordia Technologies, Inc. Method and system for stabilized random early detection using packet sampling
US6463068B1 (en) * 1997-12-31 2002-10-08 Cisco Technologies, Inc. Router with class of service mapping
US6829224B1 (en) * 1999-02-04 2004-12-07 Cisco Technology, Inc. Method and apparatus for smoothing the rate of packet discards for random early detection in an ATM switch
AU768572B2 (en) * 1999-02-25 2003-12-18 Nippon Telegraph & Telephone Corporation Traffic monitoring equipment and system and method for datagram transfer
US6252848B1 (en) * 1999-03-22 2001-06-26 Pluris, Inc. System performance in a data network through queue management based on ingress rate monitoring
WO2001005107A1 (en) * 1999-07-13 2001-01-18 Alteon Web Systems, Inc. Apparatus and method to minimize congestion in an output queuing switch
CA2290265A1 (en) * 1999-11-24 2001-05-24 Alberto Leon-Garcia High-speed programmable packet scheduler and buffer manager
US6690645B1 (en) * 1999-12-06 2004-02-10 Nortel Networks Limited Method and apparatus for active queue management based on desired queue occupancy
DE60028533T2 (de) * 2000-03-29 2007-01-04 Alcatel Verfahren zur Erzeugung einer Annahmeentscheidung in einem Telekommunikationssystem
US6856596B2 (en) 2000-12-01 2005-02-15 Marconi Communications, Inc. Approximation of the weighted random early detection buffer admittance algorithm
US6987732B2 (en) * 2000-12-15 2006-01-17 Tellabs San Jose, Inc. Apparatus and methods for scheduling packets in a broadband data stream
JP2002330165A (ja) * 2001-04-27 2002-11-15 Fujitsu Ltd 輻輳制御装置
US7203170B2 (en) * 2001-05-01 2007-04-10 Integrated Device Technology, Inc. Network switch port with weighted random early discard
US7280477B2 (en) * 2002-09-27 2007-10-09 International Business Machines Corporation Token-based active queue management
US7206284B2 (en) * 2002-11-27 2007-04-17 International Business Machines Corporation Method and apparatus for automatic congestion avoidance for differentiated service flows

Also Published As

Publication number Publication date
DE602004001605D1 (de) 2006-09-07
DE602004021798D1 (de) 2009-08-13
EP1626544A1 (de) 2006-02-15
EP1626544B1 (de) 2009-07-01
EP1458154A3 (de) 2004-10-27
EP1458154B1 (de) 2006-07-26
EP1458154A2 (de) 2004-09-15
US20040179473A1 (en) 2004-09-16
US7636307B2 (en) 2009-12-22

Similar Documents

Publication Publication Date Title
DE69834763T2 (de) Verfahren zur Unterstützung von verbindungsindividuellen Warteschlangen für rückgekoppelte Verkehrssteuerung
DE60034504T2 (de) Vorrichtung zur Weiterleitung von Paketen und Verfahren zum Setzen von Paketprioritäten
DE69835781T2 (de) Vorrichtung mit einem gewichteten gerechten Warteschlangenverfahren und mit adaptiver Umverteilung der Bandbreite
DE69334005T2 (de) Überlastregelung in Hochgeschwindigkeitsnetzen
DE60036312T2 (de) Setzen von prioritäten für daten mit flusssteuerung
DE60217361T2 (de) Verfahren und System zur Überlastkontrolle in einem Kommunikationsnetzwerk
DE10357582A1 (de) Klassenbasierte Ratensteuerung unter Verwendung eines Leaky Bucket mit einer Vielzahl von Grenzwerten
DE69633051T2 (de) Verfahren zur Kontrolle der Datenstromgeschwindigkeit, des Warteschlangenetzknoten und des Paketvermittlungsnetzwerkes
DE60108387T2 (de) Verfahren und Vorrichtung zur Dienstdifferenzierung in einem Datennetzwerk
DE60313037T2 (de) Flusssteuerung in Netzwerkeinheiten
DE69029871T2 (de) Prädiktives Zugriffssteuerungs- und Leitweglenkungssystem für Dienste integrierende Telekommunikationssnetzwerke
DE602004008267T2 (de) Übertragung von überwachungspaketen zur steuerung von überlastung und verbindungsaufbau in paketbasierten netzen mit begrenzter bandbreite
DE60036031T2 (de) Zuweisung von prioritätsstufen in einem datenfluss
DE69434841T2 (de) Dynamische Zugriffsteuerung für ein ATM-Netz
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
DE60132312T2 (de) Lastregelung
DE60132437T2 (de) Verfahren und einrichtung zur steuerung von informationen unter verwendung von kalendern
DE602004001605T2 (de) Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED)
DE60028533T2 (de) Verfahren zur Erzeugung einer Annahmeentscheidung in einem Telekommunikationssystem
DE112018005429T5 (de) Engpassbandbreiten- und umlaufzeit-überlastungssteuerung mit zufall-früherkennung
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
DE60304580T2 (de) Schalteinheit mit skalierbarer und &#34;QOS&#34;-berücksichtigender Datenflusssteuerung
EP1588234B1 (de) Zuordnung von verteilungsgewichten zu verbindungsabschnitten in einem paketnetz mit verkehrsverteilung
EP1593237A1 (de) Verfahren zur übertragungsbandbreitenzuteilung in einer pake torientierten kommunikationseinrichtung
DE69633915T2 (de) Verfahren zur abweisung von zellen an einem überlasteten knotenpuffer

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: ALCATEL LUCENT, PARIS, FR

8364 No opposition during term of opposition