DE60023718T2 - Verfahren und system um datenflüsse durch eine mehrport vermittlungsanlage (multi-switch) kontrollieren zu können - Google Patents

Verfahren und system um datenflüsse durch eine mehrport vermittlungsanlage (multi-switch) kontrollieren zu können Download PDF

Info

Publication number
DE60023718T2
DE60023718T2 DE60023718T DE60023718T DE60023718T2 DE 60023718 T2 DE60023718 T2 DE 60023718T2 DE 60023718 T DE60023718 T DE 60023718T DE 60023718 T DE60023718 T DE 60023718T DE 60023718 T2 DE60023718 T2 DE 60023718T2
Authority
DE
Germany
Prior art keywords
traffic control
flow
control rule
river
traffic
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 - Fee Related
Application number
DE60023718T
Other languages
English (en)
Other versions
DE60023718D1 (de
Inventor
Lakhinder Walia
Sanjay Jain
Romulus Pereira
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.)
Riverstone Networks Inc
Original Assignee
Riverstone Networks Inc
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 Riverstone Networks Inc filed Critical Riverstone Networks Inc
Application granted granted Critical
Publication of DE60023718D1 publication Critical patent/DE60023718D1/de
Publication of DE60023718T2 publication Critical patent/DE60023718T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes

Landscapes

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

Description

  • TECHNISCHES GEBIET
  • Die Erfindung betrifft allgemein die Steuerung von Paketflüssen durch eine Netzwerkvorrichtung, wie beispielsweise einen Mehrfachport-Schalter. Genauer gesagt betrifft die Erfindung ein Steuern von Paketflüssen mit Steuerungsregeln für Zellströme mit mehreren Bandbreiten (siehe auch das Dokument US-A-5 896 511).
  • HINTERGRUND DER ERFINDUNG
  • Paketbasierende Netzwerke werden heute dazu verwendet, eine Kombination aus Sprache, Video und/oder Daten zu liefern. Weil Sprache, Video und Daten unterschiedliche Dienstqualitäts-(QoS-)Anforderungen haben und aufgrund der innewohnenden Bandbreitenbegrenzungen in den meisten paketbasierenden Netzwerken ist es oft nötig, einen Netzwerkverkehr in Abwärtsrichtung in einzelne Flüsse aufzubrechen, so dass die durch jeden einzelnen Fluss verbrauchte Bandbreite individuell geregelt werden kann.
  • Ein einzelner "Fluss" ist als Sequenz von Paketen definiert, die dieselben Eigenschaften haben. Eigenschaften eines Flusses, der gemäß dem Internetprotokoll (IP) gesendet wird, werden typischerweise aus den Paket-Anfangsblöcken identifiziert. Beispielsweise enthält der Paket-Anfangsblock in einem IP-Paket Information, die die Quellen-IP-Adresse, die Zielort-IP-Adresse, die Quellen-Portnummer, die Zielort-Portnummer, den Diensttyp und das IP-Unterprotokoll enthalten kann. Zusätzliche Flusscharakteristiken können den Eintrittsport des Pakets in die Netzwerkvorrichtung enthalten. Die Flusscharakteristikinformation wird typischerweise dazu verwendet, einen ankommenden Verkehr in einzelne Flüsse zu klassifizieren.
  • Wenn ein ankommender Verkehr einmal in einzelne Flüsse klassifiziert worden ist, kann die durch jeden Fluss verbrauchte Bandbreite durch Anwenden einer spezifischen Verkehrssteuerungsregel auf jeden Fluss individuell geregelt werden. Eine Verkehrssteuerungsregel hat typischerweise eine Eins-zu-Eins-Beziehung zu einem Fluss und stellt eine Ratengrenze ein, die als Anzahl von Bits, oder Bytes, pro Sekunde, identifiziert wird, die innerhalb der Netzwerkvorrichtung geführt oder weitergeleitet werden kann. 1 ist eine bildliche Darstellung eines Paketverkehrs innerhalb einer Netzwerkvorrichtung, wie beispielsweise eines Schalters und/oder eines Routers, der in vier einzelne Flüsse aufgebrochen worden ist, nämlich einen Fluss A, einen Fluss B, einen Fluss C und einen Fluss D. Jeder Fluss wird durch eine Verkehrssteuerungsregel geregelt, die für den jeweiligen Fluss spezifisch ist. Beispielsweise wird der Fluss A durch eine Verkehrssteuerungsregel 1 (TCR 1) 102 geregelt, wird der Fluss B durch eine Verkehrssteuerungsregel 2 (TCR 2) 104 geregelt, wird der Fluss C durch eine Verkehrssteuerungsregel 3 (TCR 3) 106 geregelt und wird der Fluss D durch eine Verkehrssteuerungsregel 4 (TCR 4) 108 geregelt. Wie es in 1 gezeigt ist, gibt es eine Eins-zu-Eins-Entsprechung zwischen den identifizierten Flüssen und den Verkehrssteuerungsregeln. Ein Netzwerkverkehr, der seine zugeteilte Bandbreite nicht überschritt, wird innerhalb der Netzwerkvorrichtung weitergeleitet.
  • Um mehr Steuerung über einen bestimmten Fluss zur Verfügung zu stellen, kann es vorteilhaft sein, mehr als eine Verkehrssteuerungsregel auf den Fluss anzuwenden. 2 ist eine bildliche Darstellung von vier Flüssen, die jeweils durch mehr als eine Verkehrssteuerungsregel geregelt werden. Beispielsweise wird der Fluss A durch eine Verkehrssteuerungsregel 1 (TCR 1) 202, eine Verkehrssteuerungsregel 5 (TCR 5) 204 und eine Verkehrssteuerungsregel 9 (TCR 9) 206 geregelt, wobei jede der Verkehrssteuerungsregeln unabhängig voneinander implementiert ist. Gleich der 1 gibt es eine Eins-zu-Eins-Entsprechung von angewendeten Verkehrssteuerungsregeln zu den identifizierten Flüssen. Das bedeutet, dass jede Verkehrssteuerungsregel auf einen und nur einen Fluss angewendet wird. Obwohl die Anwendung von mehr als einer Verkehrssteuerungsregel auf einen Fluss eine genaue Steuerung eines Flusses zulässt, lässt sie nicht zu, dass mehrere Flüsse als Gruppe geregelt werden. Während es erwünscht ist, die Fähigkeit zu haben, einen einzelnen Fluss genau zu regeln, ist es ebenso erwünscht, den zusammengesetzten Fluss einer Gruppe von Flüssen regeln zu können.
  • In Netzwerkvorrichtungen nach dem Stand der Technik kann die Regelung einer Gruppe von Flüssen nur durch Bestimmen von allgemeineren Flüssen erreicht werden. Nimmt man beispielsweise wieder Bezug auf 1, muss dann, wenn es nötig ist, die Flüsse A und B als Gruppe zu regeln, der ankommende Verkehrsstrom in einen allgemeineren Fluss klassifiziert werden, der die Flusscharakteristiken von sowohl dem Fluss A als auch dem Fluss B enthält. Eine einzige Verkehrssteue rungsregel kann dann den allgemeineren Fluss regeln. Während ein Erzeugen einer Klassifizierung eines allgemeineren Flusses zulässt, dass ein allgemeinerer Fluss durch eine einzige Verkehrssteuerungsregel geregelt wird, eliminiert ein Erzeugen einer Klassifizierung eines einzelnen Flusses die Fähigkeit, enger definierte Flüsse individuell zu regeln (z.B. den Fluss A, den Fluss B, den Fluss C und den Fluss D).
  • Angesichts der Notwendigkeit, den Bandbreitenverbrauch eines Flusses auf einer individuellen Basis zu regeln, und angesichts der Notwendigkeit, den zusammengesetzten Bandbreitenverbrauch einer Gruppe von Flüssen zu regeln, ist das, was benötigt wird, ein Verfahren und ein System, die zulassen, dass derselbe Fluss auf einer Eins-zu-Eins-Basis und auf einer Gruppenbasis geregelt wird.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ein Verfahren und ein System zum Steuern eines Datenflusses durch eine Netzwerkvorrichtung enthalten ein Regeln eines ersten Flusses eines Netzwerkverkehrs mit einer ersten Verkehrssteuerungsregel, ein Regeln eines zweiten Flusses eines Netzwerkverkehrs mit einer zweiten Verkehrssteuerungsregel und dann ein Regeln des übergebenen bzw. weitergeleiteten Teils der zwei Flüsse mit einer dritten Verkehrssteuerungsregel, die zu sowohl dem ersten Fluss als auch dem zweiten Fluss kompatibel ist. Die dritte Verkehrssteuerungsregel regelt die weitergeleiteten Teile des ersten Flusses und des zweiten Flusses auf einer zusammengesetzten Basis, so dass die Gesamtmenge an durch die dritte Verkehrssteuerungsregel weitergeleitetem Verkehr eine vordefinierte Bandbreitengrenze nicht übersteigt. Durch Regeln des Bandbreitenverbrauchs einer Gruppe von Flüssen mit wenigstens zwei Ebenen von Verkehrssteuerungsregeln kann ein Bandbreitenverbrauch gleichzeitig für eng definierte Flüsse und breiter definierte Flüsse gesteuert werden.
  • Bei einem Ausführungsbeispiel werden zwei Flüsse eines Netzwerkverkehrs durch drei Verkehrssteuerungsregeln geregelt, wobei wenigstens eine der drei Verkehrssteuerungsregeln für beide der Flüsse gilt. Anfangs werden die zwei Flüsse durch Verkehrssteuerungsregeln, die für die zwei Flüsse gelten, auf einer Eins-zu-Eins-Basis individuell geregelt. Die zwei Flüsse werden auch durch eine dritte Verkehrssteuerungsregel, die für beide der Flüsse gilt, auf einer zusammengesetzten Basis geregelt. Die dritte Verkehrssteuerungsregel wird "allgemeine" oder "grobe" Regel genannt, weil sie für eine breitere Kategorie von Flüssen gilt.
  • Bei einem Beispiel kann eine erste Verkehrssteuerungsregel für einen Fluss von einer Quelle A von einem Typ X gelten, kann eine zweite Verkehrssteuerungsregel für einen Fluss von einer Quelle B von einem Typ X gelten und kann eine dritte allgemeinere Verkehrssteuerungsregel für einen Fluss eines Typs X gelten, der von irgendeiner Quelle ist. Die dritte allgemeinere Verkehrssteuerungsregel wird auf relevante Flüsse auf einer zusammengesetzten Basis angewendet, so dass die durch alle Flüsse innerhalb der allgemeinen Kategorie verbrauchte kombinierte Bandbreite die durch die dritte Verkehrssteuerungsregel erzwungene Grenze nicht übersteigt.
  • Bei einem Betrieb wird dann, wenn die dritte Verkehrssteuerungsregel als beispielsweise Token-Speicherbereich (token bucket) implementiert ist, derselbe Speicherbereich jedes Mal dekrementiert, wenn ein Paket durch die dritte Verkehrssteuerungsregel geführt bzw. übergeben bzw. weitergeleitet wird, und zwar ungeachtet dessen, von welchem Fluss das Paket ist. Bei einem Ausführungsbeispiel wird die dritte Verkehrssteuerungsregel auf die zwei Flüsse auf einer Basis angewendet, bei welcher der erste kommende zuerst bedient wird, so dass die verfügbare Bandbreite den zuerst ankommenden Paketen zugeteilt wird. Als Ergebnis eines Anwendens derselben Verkehrssteuerungsregel auf die Zusammensetzung der zwei Flüsse werden die zwei Flüsse als Gruppe geregelt. Die Regelung einer Gruppe von Flüssen erfolgt zusätzlich zu der Regelung von einzelnen Flüssen, die durch die Verkehrssteuerungsregeln niedrigerer Ebene zur Verfügung gestellt wird.
  • Es sollte erkannt werden, dass mehr als zwei Flüsse durch eine allgemeine Verkehrssteuerungsregel geregelt werden können. Zusätzlich können mehr als zwei Ebenen von Verkehrssteuerungsregeln implementiert werden. Darüber hinaus ist es nicht nötig, jeden Fluss mit derselben Anzahl von Verkehrssteuerungsregeln zu regeln.
  • Die Anwendung von Verkehrssteuerungsregeln auf mehrere Flüsse auf einer zusammengesetzten Basis ist vorzugsweise in Hardware implementiert. Bei einem Ausführungsbeispiel enthält eine anwenderspezifische integrierte Schaltung (ASIC = application specific integrated circuit) die Verkehrssteuerungsregeln auf mehr als einen Fluss auf einer zusammengesetzten Basis anwenden kann, einen Flussklassifizierer, einen Regelselektor und verschiedene Verkehrssteuerungseinheiten. Der Flussklassifizierer ist eine auf Hardware basierende Einheit, die einen ankommenden Strom von Paketen nimmt und die Pakete durch einen Fluss klassifiziert. Der Flussklassifizierer verwendet Anfangsblockinformation und das Eintrittsport von ankommenden Paketen zum Klassifizieren von Flüssen.
  • Der Regelselektor ist eine funktionelle Einheit, die Flüsse an Verkehrssteuerungseinheiten anpasst. Die Verkehrssteuerungseinheiten sind die bestimmten Schaltungen, die die unterschiedlichen Verkehrssteuerungsregeln implementieren.
  • Bei einem Betrieb werden Pakete, die in die ASIC eintreten, durch den Flussklassifizierer in Flüsse klassifiziert. Der Regelselektor identifiziert dann die Verkehrssteuerungseinheiten, die auf die klassifizierten Flüsse anzuwenden sind. Die Verkehrssteuerungseinheiten regeln dann die Flüsse gemäß den Bandbreitengrenzen der jeweiligen Verkehrssteuerungsregel. Wenn mehr als ein Fluss auf dieselbe Verkehrssteuerungseinheit abgebildet wird, dann regelt die Verkehrssteuerungseinheit alle anwendbaren. Flüsse auf einer zusammengesetzten Basis. Pakete von Flüssen, die alle anwendbaren Verkehrssteuerungsregeln erfüllen, werden von der ASIC zu einer nächsten Stelle weitergeleitet. Bei einem bevorzugten Ausführungsbeispiel werden das System und das Verfahren zum Regeln eines Netzwerkverkehrs verwendet, bevor der Verkehr durch eine Schaltstruktur eines Schalters oder eines Routers geführt wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine bildliche Darstellung von vier Flüssen, die durch bestimmte Verkehrssteuerungsregeln einzeln geregelt werden, wobei es eine Eins-zu-Eins-Entsprechung zwischen Flüssen und Verkehrssteuerungsregeln gibt, wie es im Stand der Technik bekannt ist.
  • 2 ist eine bildliche Darstellung von vier Flüssen, die durch mehr als eine Verkehrssteuerungsregel einzeln geregelt werden, wobei es eine Eins-zu-Eins-Entsprechung zwischen Flüssen und Verkehrssteuerungsregeln gibt, wie es im Stand der Technik bekannt ist.
  • 3 ist eine bildliche Darstellung der Regelung von zwei Flüssen, die durch bestimmte Verkehrssteuerungsregeln einzeln geregelt werden und durch eine Verkehrssteuerungsregel, die für beide der Flüsse allgemein ist, als Gruppe geregelt werden, gemäß der Erfindung.
  • 4 ist ein Verfahrensablaufdiagramm, das die Regelung von zwei Flüssen darstellt, die durch bestimmte Verkehrssteuerungsregeln einzeln geregelt werden und durch eine Verkehrssteuerungsregel, die für beide der Flüsse allgemein ist, als Gruppe geregelt werden, gemäß der Erfindung.
  • 5 ist eine bildliche Darstellung der Regelung von vier Flüssen, die durch bestimmte Verkehrssteuerungsregeln einzeln geregelt werden und durch Verkehrssteuerungsregeln, die für die Gruppen allgemein sind, in verschiedenen Gruppen geregelt werden, gemäß der Erfindung.
  • 6 ist eine bildliche Darstellung der Regelung von vier Flüssen, die durch bestimmte Verkehrssteuerungsregeln einzeln geregelt werden und durch Verkehrssteuerungsregeln, die für die Gruppen allgemein sind, in verschiedenen Gruppen geregelt werden, gemäß der Erfindung.
  • 7 ist eine bildliche Darstellung einer anwenderspezifischen integrierten Schaltung, die einzelne Flüsse mit flussspezifischen Verkehrssteuerungsregeln regelt und Gruppen von Flüssen mit allgemeinen Verkehrssteuerungsregeln regelt, gemäß der Erfindung.
  • DETAILLIERTE BESCHREIBUNG
  • 3 ist eine bildliche Darstellung der Regelung von zwei Flüssen innerhalb einer Netzwerkvorrichtung, wie beispielsweise eines Schalters oder eines Routers. Eine Regelung der zwei Flüsse enthält drei Verkehrssteuerungsregeln 302, 304 und 306, wobei wenigstens eine der drei Verkehrssteuerungsregeln für beide der Flüsse gilt. Wie es in 3 gezeigt ist, werden zwei zuvor klassifizierte Flüsse anfangs durch jeweilige Verkehrssteuerungsregeln geregelt. Spezifisch wird ein Fluss A durch eine Verkehrssteuerungsregel 1 (TCR 1) 302 geregelt und wird ein Fluss B durch eine Verkehrssteuerungsregel 2 (TCR 2) 304 geregelt. Die zwei Verkehrssteuerungsregeln gelten für die jeweiligen Flüsse auf einer Eins-zu-Eins-Basis.
  • Beim Beispiel der 3 ist angenommen, dass die Flüsse aus Paketen variabler Länge gebildet sind, die gemäß dem Internetprotokoll (IP) gesendet werden. Zusätzlich werden die Pakete variabler Länge vorzugsweise gemäß dem Ethernet-Protokoll gesendet. Obwohl ein Ausführungsbeispiel unter Bezugnahme auf IP, auf Pakete variabler Länge und ein Ethernet-Protokoll beschrieben wird, sind andere Sendeprotokolle möglich. Beispielsweise können die Flüsse aus Zellen fester Länge bestehen, die gemäß dem Protokoll für einen asynchronen Übertragungsmode (ATM-Protokoll) übertragen werden.
  • Für Beispielszwecke ist angenommen, dass der Fluss A vom Typ X ist (z.B. wie es durch das IP-Unterprotokoll und Sockelnummern identifiziert ist), von einer Quellen-IP-Adresse A (Src A) ist, zu einer Zielort-IP-Adresse B (Dest B) läuft und dass eine Verkehrssteuerungsregel 1 einen Fluss, ohne mit Übertragungscharakteristiken in Konflikt zu geraten, auf 10 Megabits pro Sekunde (Mb/s) oder darunter (zulässig: 10 Mb/s) regelt. Zusätzlich ist angenommen, dass der Fluss B vom Typ X ist, von einer Quellen-IP-Adresse C (Src C) ist, zu einer Zielort-IP-Adresse D (Dest D) läuft und dass eine Verkehrssteuerungsregel 2 einen Fluss mit denselben Übertragungscharakteristiken auf 15 Mb/s oder darunter (zulässig: Mb/s) regelt. Das Ergebnis eines Anwendens der Verkehrssteuerungsregel 1 auf den Fluss A besteht darin, dass der Fluss A auf 10 Mb/s begrenzt wird, und das Ergebnis eines Anwendens der Verkehrssteuerungsregel 2 auf den Fluss B besteht darin, dass der Fluss B auf 15 Mb/s begrenzt wird.
  • Wie es in 3 gezeigt ist, regelt die Verkehrssteuerungsregel 3 (TCR 3) 306 Verkehrsflüsse vom Typ X ungeachtet der Quellen-IP-Adresse oder der Zielort-IP-Adresse auf 20 Mb/s oder darunter (zulässig: 20 Mb/s). Die Verkehrssteuerungsregel 3 wird "allgemeinere" oder "grobere" Regel als die Verkehrssteuerungsregeln 1 und 2 genannt, weil die Verkehrssteuerungsregel 3 eine breitere Gruppe von Flüssen regelt. Da sowohl der Fluss A als auch der Fluss B in die Klassifikation der Verkehrssteuerungsregel 3 fallen (z.B. sind beide der Flüsse vom Typ X), können beide der Flüsse auch durch die Verkehrssteuerungsregel 3 geregelt werden. Wie es in 3 gezeigt ist, wird die Ausgabe des Flusses A von der Verkehrssteuerungsregel 1 durch die Verkehrssteuerungsregel 3 geregelt und wird die Ausgabe des Flusses B von der Verkehrssteuerungsregel 2 durch die Verkehrssteuerungsregel 3 geregelt. Das bedeutet, dass nun dieselbe Verkehrssteuerungsregel (die Verkehrssteuerungsregel 3) dazu verwendet wird, zwei Flüsse zu regeln. Obwohl die Verkehrssteuerungsregel 3 derart beschrieben ist, dass sie zwei Flüsse regelt, kann die Verkehrssteuerungsregel (TCR 3) auch derart beschrieben werden, dass sie einen einzelnen Fluss regelt, der so charakterisiert ist, dass der einzelne Fluss zwei enger definierte Flüsse enthält.
  • Weil die Verkehrssteuerungsregel 1 zulässt, dass der Fluss A mit 10 Mb/s aufwärts läuft, und weil die Verkehrssteuerungsregel 2 zulässt, dass der Fluss B mit 15 Mb/s aufwärts läuft, kann die Verkehrssteuerungsregel 3 unter maximalen Verkehrszuständen bis zu 25 Mb/s aus der Kombination des Flusses A und des Flusses B empfangen. Obwohl die Verkehrssteuerungsregel 3 bis zu 25 Mb/s empfangen kann, begrenzt eine Anwendung der Verkehrssteuerungsregel 3 auf die Flüsse A und B die Zusammensetzung der Flüsse A und B auf ein Maximum von 20 Mb/s.
  • Bei einem Betrieb wird dann, wenn die Verkehrssteuerungsregel 3 als beispielsweise ein Token-Speicherbereich implementiert ist, derselbe Speicherbereich jedes Mal dann dekrementiert, wenn ein Paket durch die Verkehrssteuerungsregel 3 geführt wird, gleichgültig, ob das Paket vom Fluss A oder vom Fluss B ist. Das bedeutet, dass die Ausgabe der Verkehrssteuerungsregel 3 ein Fluss vom Typ X ist, der 20 Mb/s auf einer zusammengesetzten Basis nicht übersteigt. Solange der Fluss, der aus der Verkehrssteuerungsregel 3 resultiert, 20 Mb/s nicht übersteigt, kann der Fluss Pakete von entweder dem Fluss A oder dem Fluss B enthalten. Bei einem Ausführungsbeispiel wird die Verkehrssteuerungsregel 3 auf die Flüsse A und B auf einer Basis angewendet, bei welcher der erste kommende als erster bedient wird, so dass die verfügbare Bandbreite den zuerst ankommenden Paketen zugeteilt wird.
  • Als Ergebnis eines Anwendens derselben Verkehrssteuerungsregel auf die Flüsse A und B auf einer zusammengesetzten Basis werden die Flüsse A und B als Gruppe geregelt. Die Regelung einer Gruppe von Flüssen erfolgt zusätzlich zu der Regelung von einzelnen Flüssen, die durch die Verkehrssteuerungsregeln niedrigerer Ebene (z.B. die Verkehrssteuerungsregel 3 und die Verkehrssteuerungsregel 2) zur Verfügung gestellt wird. Obwohl die Flüsse A und B durch die Verkehrssteuerungsregel 3 auf einer zusammengesetzten Basis geregelt werden, werden die Flüsse A und B anfangs nicht in einen einzelnen Fluss zur Regelung durch die Verkehrssteuerungsregel 3 multiplext. Das bedeutet, dass die Flüsse A und B durch die Verkehrssteuerungsregel 3 als einzelne Flüsse geregelt werden, jedoch beschäftigt sich die Verkehrssteuerungsregel 3 nur mit der gesamten Bandbreite, die durch die Kombination aus den Flüssen A und B verbraucht wird.
  • 4 ist ein Verfahrensablaufdiagramm, das die Anwendung von mehreren Regeln auf wenigstens zwei Flüsse darstellt. Das Verfahrensablaufdiagramm der 4 bezieht sich auf das Logikdiagramm der 3, wobei dieselben Flüsse (die Flüsse A und B) und dieselben Verkehrssteuerungsregeln (Verkehrssteuerungsregel 1, Verkehrssteuerungsregel 2 und Verkehrssteuerungsregel 3) identifiziert sind.
  • Nimmt man Bezug auf 4, wird bei einem Schritt 402 ein Paket des Flusses A identifiziert. Bei einem Ausführungsbeispiel wird der Fluss A durch einen auf Hardware basierenden Flussklassifizierer identifiziert, der innerhalb der Netzwerkvorrichtung vorhanden ist, obwohl dies nicht entscheidend ist. Bei einem Ausführungsbeispiel kann eine Flussklassifizierung ein Identifizieren von irgendwelchen Flussparametern enthalten, die mit den verschiedenen Übertragungsprotokollen verwendet werden. Beispielsweise können Flussparameter zur Klassifizierung den Eintrittsport in die Netzwerkvorrichtung, die Quellen-IP-Adresse, die Zielort-IP-Adresse, die Quellen-Portnummer (Sockel), die Zielort-Portnummer (Sockel), den Diensttyp, das Protokoll und/oder Fragmentierungsinformation enthalten.
  • Bei einem Schritt 404 wird eine Verkehrssteuerungsregel, die auf den Fluss A abbildet, identifiziert (z.B. TCR 1). Ein Abbilden einer Verkehrssteuerungsregel auf einen Fluss kann ein Identifizieren eines Zeigers enthalten, der auf eine erste Verkehrssteuerungsregel zeigt. Bei einem bevorzugten Ausführungsbeispiel bildet ein Fluss auf mehr als eine Verkehrssteuerungsregel ab. Beispielsweise kann ein Fluss auf eine erste Verkehrssteuerungsregel, auf eine zweite Verkehrssteuerungsregel und sogar auf eine dritte Verkehrssteuerungsregel abbilden. Obwohl drei Ebenen von Verkehrssteuerungsregeln beschrieben sind, sind mehr Ebenen möglich. Bei einem bevorzugten Ausführungsbeispiel ist jede nachfolgende Verkehrssteuerungsregel eine allgemeinere Verkehrssteuerungsregel, obwohl dies kein Erfordernis ist.
  • Nimmt man Bezug auf einen Schritt 406, wird dann, wenn einmal eine erste Verkehrssteuerungsregel für den Fluss A identifiziert worden ist, die Verkehrssteuerungsregel auf den Fluss angewendet und wird spezifischer die Verkehrssteuerungsregel auf jedes Paket angewendet, das den Fluss bildet. Bei einer Entscheidungsstelle 408 wird dann, wenn die Verkehrssteuerungsregel 1 durch den Fluss A verletzt wird (z.B. wenn die Rate des Flusses A die zugeteilte Bandbreite übersteigt), die geeignete verletzte Handlung vorgenommen (Schritt 410). Die verletzte Handlung kann ein Fallenlassen des Pakets oder von Paketen enthalten, das bzw. die die Verkehrssteuerungsregel verletzt bzw. verletzen, oder die verletzte Handlung kann beispielsweise ein Inkrementieren eines verletzten Zählers enthalten, was die Priorität des Pakets (der Pakete) reduziert, den Diensttyp (ToS) des Pakets (der Pakete) ändert und/oder die Pakete auf irgendeine andere Weise abändert. Wenn ein Paket, das die Verkehrssteuerungsregel verletzt, nicht fallengelassen wird, können nachfolgende Verkehrssteuerungsregeln auf das Paket angewendet werden, wie es nachfolgend beschrieben ist.
  • Wenn die Verkehrssteuerungsregel durch den Fluss A nicht verletzt wird (z.B. wenn die Verkehrsrate für den Fluss A die zugeteilte Bandbreite nicht übersteigt), dann wird die nächste Regel, die auf den Fluss A abbildet, identifiziert (Schritt 412). In diesem Fall wird für Beispielszwecke angenommen, dass die nächste Verkehrssteuerungsregel für den Fluss A die Verkehrssteuerungsregel 3 ist. In Fällen, in welchen die verletzte Handlung kein Fallenlassen von Paketen erfordert, kann es sein, dass Pakete, die die Verkehrssteuerungsregel verletzen, auch durch die Verkehrssteuerungsregel 3 geregelt werden müssen.
  • Nimmt man wieder Bezug auf den obersten Teil der 4, gilt derselbe Anfangsprozess, der auf den Fluss A angewendet wird, für den Fluss B, außer dass der Fluss B anfangs auf die Verkehrssteuerungsregel 2 abbildet. Nimmt man Bezug auf einen Schritt 414, wird ein Paket des Flusses B identifiziert. Bei einem Schritt 416 wird eine Verkehrssteuerungsregel, die auf den Fluss B abbildet, identifiziert (z.B. TCR 2). Wenn die Verkehrssteuerungsregel einmal für den Fluss B identifiziert ist, wird die Verkehrssteuerungsregel auf den Fluss B angewendet (Schritt 418), und wird spezifischer die Verkehrssteuerungsregel auf jedes Paket angewendet, das den Fluss bildet. Bei einer Entscheidungsstelle 420 wird dann, wenn die Verkehrssteuerungsregel 2 durch den Fluss B verletzt wird, die geeignete verletzte Handlung vorgenommen (Schritt 422). Wiederum kann eine verletzte Handlung ein Fallenlassen des Pakets oder von Paketen enthalten, das bzw. die die Verkehrssteuerungsregel verletzt bzw. verletzen. Wenn ein Paket, das die Verkehrssteuerungsregel verletzt, nicht fallengelassen wird, können nachfolgende Verkehrssteuerungsregeln auf das Paket angewendet werden, wie es nachfolgend beschrieben ist. Es sollte beachtet werden, dass die verletzte Handlung für den Fluss A vorzugsweise unabhängig von der verletzten Handlung für den Fluss B ist, obwohl dies nicht entscheidend ist.
  • Wenn die Verkehrssteuerungsregel durch den Fluss B nicht verletzt wird, dann wird die nächste Regel, die auf den Fluss B abbildet, identifiziert (Schritt 424). In diesem Fall wird für Beispielszwecke angenommen, dass die Verkehrssteuerungsregel für den Fluss B dieselbe wie die nächste Verkehrssteuerungsregel für den Fluss A ist. Wie es unter Bezugnahme auf 3 beschrieben ist, kann dieselbe Verkehrssteuerungsregel für zwei Flüsse gelten, wenn der Parameter oder die Parameter, der bzw. die durch die Verkehrssteuerungsregel geregelt wird bzw. werden, für beide Flüsse allgemein ist bzw. sind. Obwohl es in den 3 und 4 nicht gezeigt ist, kann auch eine einzige Verkehrssteuerungsregel für mehr als zwei Flüsse gleichzeitig gelten.
  • Bei einem Schritt 426 wird für den Fall, in welchem die nächste Verkehrssteuerungsregel für den Fluss A dieselbe wie die nächste Verkehrssteuerungsregel für den Fluss B ist, dieselbe Verkehrssteuerungsregel (TCR 3) auf beide Flüsse angewendet. Eine Anwendung der Verkehrssteuerungsregel auf die Flüsse A und B wird auf einer. zusammengesetzten Basis durchgeführt, so dass die durch die Verkehrssteuerungsregel (TCR 3) zugeteilte gesamte Bandbreite durch die Gesamtheit der Flüsse A und B nicht überschritten wird. Wenn beispielsweise die Verkehrssteuerungsregel mit einem Token-Speicherbereich implementiert ist, wird derselbe Token-Speicherbereich jedes Mal dann dekrementiert, wenn die Verkehrssteuerungsregel zulässt, dass ein Paket durchläuft, gleichgültig, ob das Paket vom Fluss A oder vom Fluss B ist.
  • Nimmt man Bezug auf die Entscheidungsstelle 428, wird dann, wenn die Verkehrssteuerungsregel 3 durch ein Paket des Flusses A nicht verletzt wird, das Paket des Flusses A zur nächsten Stelle weitergeleitet (Schritt 430). Wenn die Verkehrssteuerungsregel 3 durch ein Paket des Flusses A verletzt wird, dann wird die geeignete verletzte Handlung vorgenommen (Schritt 432). Wiederum kann die verletzte Handlung ein Fallenlassen des Pakets oder beispielsweise ein Erniedrigen der Priorität des Pakets und dann ein Weiterleiten des Pakets zu einer nächsten Stelle enthalten. Derselbe Prozess wird für jedes Paket des Flusses B ausgeführt. Nimmt man wieder Bezug auf die Entscheidungsstelle 428, wird dann, wenn die Verkehrssteuerungsregel 3 durch ein Paket des Flusses B nicht verletzt wird, das Paket des Flusses B zu einer nächsten Stelle weitergeleitet (Schritt 430). Wenn die Verkehrssteuerungsregel 3 durch ein Paket des Flusses B verletzt wird, dann wird die geeignete verletzte Handlung vorgenommen (Schritt 432). Obwohl 4 nur zwei Ebenen von Verkehrssteuerungsregeln zeigt, sollte es erkannt werden, dass meh rere Ebenen von Verkehrssteuerungsregeln möglich sind. Wenn mehr Ebenen von Verkehrssteuerungsregeln vorhanden sind, dann werden beim Schritt 430 Pakete durch eine andere Verkehrssteuerungsregel oder durch andere Regeln anstelle dessen einer Zellstromkontrolle unterzogen, dass sie durch die Netzwerkvorrichtung weitergeleitet werden.
  • 5 ist eine bildhafte Darstellung der Regelung von vier einzelnen Flüssen, die drei Ebenen von Verkehrssteuerungsregeln enthält. Wie es beim Beispiel der 5 gezeigt ist, werden vier zuvor klassifizierte Flüsse (Fluss A, Fluss B, Fluss C und Fluss D) anfangs auf einer Eins-zu-Eins-Basis durch vier Verkehrssteuerungsregeln (Verkehrssteuerungsregel 1, Verkehrssteuerungsregel 2, Verkehrssteuerungsregel 3 und Verkehrssteuerungsregel 4) 502, 504, 506 und 508 geregelt. Für Beispielszwecke ist angenommen, dass der Fluss A in eine Netzwerkvorrichtung am Port 1 empfangen wird, vom Typ X ist, von einer Quellen-IP-Adresse A ist und zu einer Zielort-IP-Adresse B läuft. Gleichermaßen ist angenommen, dass die Verkehrssteuerungsregel 1 einen Fluss mit denselben Charakteristiken wie der Fluss A auf 15 Mb/s begrenzt. Der Fluss B wird am Port 1 empfangen, ist vom Typ X, ist von einer Quellen-IP-Adresse D und ist bezüglich einer Zielort-IP-Adresse nicht spezifiziert. Die Verkehrssteuerungsregel 2 begrenzt einen Fluss mit denselben Charakteristiken wie der Fluss B auf 5 Mb/s. Der Fluss C wird am Port 1 empfangen, ist vom Typ Y, ist von einer Quellen-IP-Adresse A und läuft zu einer Zielort-IP-Adresse B. Die Verkehrssteuerungsregel 3 begrenzt einen Fluss mit denselben Charakteristiken wie der Fluss C auf 10 Mb/s. Der Fluss D wird am Port 1 empfangen, ist vom Typ Y, ist von einer nicht spezifizierten Quellen-IP-Adresse und läuft zu einer Zielort-IP-Adresse F. Die Verkehrssteuerungsregel 4 begrenzt einen Fluss mit denselben Charakteristiken wie der Fluss D auf 20 Mb/s. Die Flüsse A, B, C und D haben verschiedene ähnliche Charakteristiken. Beispielsweise sind die Flüsse A und B beide vom Typ X und sind die Flüsse C und D beide vom Typ Y. Eine Gleichheit zwischen allen vier Flüssen besteht darin, dass sie alle am Port 1 in die Netzwerkvorrichtung eintreten.
  • Wie es in 5 gezeigt ist, wird jeder Fluss anfangs durch eine flussspezifische Verkehrssteuerungsregel geregelt. Das bedeutet, dass der Fluss A anfangs durch die Verkehrssteuerungsregel 1 geregelt wird, der Fluss B anfangs durch die Verkehrssteuerungsregel 2 geregelt wird usw. Weil der Fluss A und der Fluss B beide vom Port 1 empfangen werden und beide vom Typ X sind, können sie beide durch eine einzige Verkehrssteuerungsregel 510 geregelt werden, die für beide Flüsse allgemein ist. Für Beispielszwecke ist angenommen, dass die Verkehrssteuerungsregel 5 die Flüsse vom Port 1 und vom Typ X auf 15 Mb/s oder darunter regelt. Die Verkehrssteuerungsregel 5 kann alle Flüsse vom Port 1 und vom Typ X ungeachtet irgendwelcher anderer Unterschiede regeln, die zwischen Flusscharakteristiken existieren können. Die Verkehrssteuerungsregel 5 regelt die Ausgabe des Flusses A von der Verkehrssteuerungsregel 1 und die Ausgabe des Flusses B von der Verkehrssteuerungsregel 2 auf einer zusammengesetzten Basis. Obwohl Verkehrssteuerungsregeln einer niedrigeren Ebene für jeden spezifischen Fluss gezeigt sind, können Verkehrssteuerungsregeln einer niedrigeren Ebene nicht für jeden Fluss verwendet werden.
  • Gleichermaßen können deshalb, weil der Fluss C und der Fluss D beide vom Port 1 empfangen werden und beide vom Typ Y sind, sie durch eine einzige Verkehrssteuerungsregel 512 geregelt werden, die für beide Flüsse allgemein ist. Für Beispielszwecke ist angenommen, dass eine Verkehrssteuerungsregel 6 die Flüsse vom Port 1 und vom Typ Y auf 20 Mb/s oder darunter regelt. Die Verkehrssteuerungsregel 6 kann alle Flüsse vom Port 1 und vom Typ Y ungeachtet irgendwelcher anderer Unterschiede regeln, die zwischen Flusscharakteristiken existieren können. Die Verkehrssteuerungsregel 6 regelt die Ausgabe des Flusses C von der Verkehrssteuerungsregel 3 und die Ausgabe des Flusses D von der Verkehrssteuerungsregel 4 auf einer zusammengesetzten Basis.
  • Weil die Flüsse A, B, C und D alle vom Port 1 sind, können sie auch durch eine einzige Verkehrssteuerungsregel 514 geregelt werden, die für alle vier Flüsse allgemein ist. Für Beispielszwecke ist angenommen, dass eine Verkehrssteuerungsregel 7 Flüsse vom Port 1 auf 25 Mb/s oder darunter regelt. Die Verkehrssteuerungsregel 7 kann alle Flüsse vom Port 1 ungeachtet irgendwelcher anderer Unterschiede regeln, die zwischen Flusscharakteristiken existieren können. Wie es in 5 gezeigt ist, regelt die Verkehrssteuerungsregel 7 die Ausgabe der Flüsse A und B von der Verkehrssteuerungsregel 5 und die Ausgabe der Flüsse C und D von der Verkehrssteuerungsregel 6. Die Verkehrssteuerungsregel 7 ist auf einer zusammengesetzten Basis implementiert, wie es oben beschrieben ist. Das bedeutet, dass jedes Paket, das durch die Verkehrssteuerungsregel 7 geführt ist, ungeachtet dessen, von wo ein Fluss entstand, gegenüber der Bandbreite gezählt wird, die durch die Verkehrssteuerungsregel 7 zugeteilt ist. Als Ergebnis der drei Ebenen von Verkehrssteuerungsregeln können Flüsse einzeln geregelt werden, als Gruppe basierend auf einem Flusstyp geregelt werden und als Gruppe basierend auf dem Eintrittsport geregelt werden.
  • 6 ist eine weitere bildhafte Darstellung der Regelung von vier einzelnen Flüssen, die bis zu drei Ebenen von Verkehrssteuerungsregeln enthält. Beim Beispiel der 6 werden vier zuvor klassifizierte Flüsse (Fluss E, Fluss F, Fluss G und Fluss H) anfangs auf einer Eins-zu-Eins-Basis durch vier Verkehrssteuerungsregeln (Verkehrssteuerungsregel 8, Verkehrssteuerungsregel 9, Verkehrssteuerungsregel 10 und Verkehrssteuerungsregel 11) 602, 604, 606 und 608 geregelt. Für Beispielszwecke ist angenommen, dass der Fluss E vom Port 2 empfangen wird, vom Typ Y ist, von einer Quellen-IP-Adresse A ist und bezüglich der Zielort-IP-Adresse nicht spezifiziert ist. Es ist auch angenommen, dass die Verkehrssteuerungsregel 8 einen Fluss mit denselben Charakteristiken wie der Fluss A auf 25 Mb/s begrenzt. Der Fluss F ist vom Port 2, ist vom Typ X, ist von einer Quellen-IP-Adresse B und läuft zu einer Zielort-IP-Adresse D. Die Verkehrssteuerungsregel 9 begrenzt einen Fluss mit denselben Charakteristiken wie den Fluss B auf 12 Mb/s. Der Fluss G ist vom Port 2, ist vom Typ X, ist von einer nicht spezifizierten Quellen-IP-Adresse und läuft zu einer Zielort-IP-Adresse C. Die Verkehrssteuerungsregel 10 begrenzt einen Fluss mit denselben Charakteristiken wie der Fluss G auf 10 Mb/s. Der Fluss H ist breit bzw. allgemein derart klassifiziert, dass er vom Port 3 ist. Die Verkehrssteuerungsregel 11 begrenzt einen Fluss mit denselben Charakteristiken wie der Fluss H auf 15 Mb/s oder darunter.
  • Weil der Fluss F und der Fluss G vom selben Port (Port 2) sind und vom selben Typ (Typ X) sind, können die Flüsse, wenn es nötig ist, durch eine allgemeine Verkehrssteuerungsregel 610 geregelt werden. Beispielsweise begrenzt eine Verkehrssteuerungsregel 12 Flüsse vom Port 2 und vom Typ X, ungeachtet der Quellen-IP-Adresse und der Zielort-IP-Adresse, auf 15 Mb/s oder darunter. Wie es in 6 gezeigt ist, werden die Flüsse F und G durch die Verkehrssteuerungsregel 12 auf einer zusammengesetzten Basis geregelt, und als Ergebnis wird zugelassen, dass ein Maximum von 15 Mb/s weitergeleitet wird.
  • Weil der Fluss E, der Fluss F und der Fluss G vom selben Port (Port 2) sind, können die drei Flüsse, wenn es nötig ist, durch eine Verkehrssteuerungsregel 612 geregelt werden, die für das Port 2 allgemein ist. Beispielsweise begrenzt die Verkehrssteuerungsregel 13 den Fluss vom Port 2, ungeachtet des Typs des Flusses oder der Quellen- und Zielort-IP-Adressen der ankommenden Flüsse, auf 30 Mb/s oder darunter. Nimmt man Bezug auf 6 regelt eine Verkehrssteuerungsregel 13 die Ausgabe des Flusses E von der Verkehrssteuerungsregel 8 und die zusammengesetzte Ausgabe aus den Flüssen F und G von der Verkehrssteuerungsregel 12. Der Fluss E, der Fluss F und der Fluss G werden durch die Verkehrssteuerungsregel 13 auf einer zusammengesetzten Basis geregelt. Der Fluss H wird durch die Verkehrssteuerungsregel 12 oder die Verkehrssteuerungsregel 13 nicht geregelt, weil die Charakteristiken des Flusses H nicht den Charakteristiken der Verkehrssteuerungsregel 12 oder der Verkehrssteuerungsregel 13 entsprechen. Spezifisch regeln die Verkehrssteuerungsregeln 12 und 13 Flüsse vom Port 2, während der Fluss H vom Port 3 ist. Wie es in 6 gezeigt ist, ist es nicht nötig, jeden Fluss mit derselben Anzahl von Verkehrssteuerungsregeln zu regeln. Zusätzlich ist es nicht nötig, jeden Fluss mit derselben Ebene einer Spezifiziertheit zu regeln. Beispielsweise können dieselben Flüsse anfangs mit niedrigeren Ebenen einer Spezifiziertheit als andere Flüsse geregelt werden, die in eine gemeinsame, allgemeinere Flussklassifizierung passen. Weiterhin kann dieselbe Verkehrssteuerungsregel mehr als zwei Flüsse direkt regeln. Beispielsweise kann die Verkehrssteuerungsregel 12 irgendwelche Flüsse regeln, die in die Flussklassifizierung der Verkehrssteuerungsregel 12 passen.
  • Die Anwendung der Verkehrssteuerungsregeln auf mehrere Flüsse auf einer zusammengesetzten Basis ist vorzugsweise in Hardware implementiert. 7 ist eine bildhafte Darstellung einer anwenderspezifischen integrierten Schaltung (ASIC) 702, die Verkehrssteuerungsregeln auf mehr als einen Fluss auf einer zusammengesetzten Basis anwenden kann, wie es oben beschrieben ist. Die ASIC enthält einen Flussklassifizierer 704, einen Regelselektor 706 und verschiedene Verkehrssteuerungseinheiten 708, 710, 712, 714, 716, 718, 720 und 722. Der Flussklassifizierer ist eine auf Hardware basierende Einheit, die ankommende Pakete nimmt und die Pakete durch einen Fluss klassifiziert. Beispielsweise kann der Flussklassifizierer Pakete in Flüsse A, B, C und D aufbrechen bzw. auftrennen. Der Flussklassifizierer verwendet Anfangsblockinformation von ankommenden Paketen zum Klassifizieren von Flüssen. Bei einem bevorzugten Ausführungsbeispiel kann der Flussklassifizierer bis zu 256.000 eindeutigen Flüssen identifizieren.
  • Der Regelselektor 706 ist eine funktionelle Einheit, die Flüsse an Verkehrssteuerungseinheiten anpasst. Vorzugsweise enthält der Regelselektor einen Zeiger, der einen Fluss auf eine bestimmte Verkehrssteuerungsregel oder eine Kette von Verkehrssteuerungsregeln abbildet. Beispielsweise kann der Fluss A durch den Regelselektor auf die Verkehrssteuerungsregel 1, dann auf die Verkehrssteuerungsregel 3 und dann auf die Verkehrssteuerungsregel 8 abgebildet werden.
  • Die Verkehrssteuerungseinheiten 708, 710, 712, 714, 716, 718, 720 und 722 sind die bestimmten Schaltungen, die die unterschiedlichen Verkehrssteuerungsregeln implementieren. Nimmt man Bezug auf 7, implementiert jede der Verkehrssteuerungseinheiten (TCUs), TCU 1 bis TCU 8, eine Verkehrssteuerungsregel. Die Verkehrssteuerungseinheiten werden dazu verwendet, Flüsse zu regeln, die auch die Verkehrssteuerungsregeln abbilden. Obwohl Verkehrssteuerungsregeln primär eine Bandbreitenzuteilung regeln, können die Verkehrssteuerungsregeln einige zusätzliche Kriterien spezifizieren. Zusätzlich sind, obwohl oben eine als Token-Speicherbereich implementierte Verkehrssteuerungsregel beschrieben ist, andere Verkehrssteuerungsregelimplementierungen möglich.
  • Bei einem Betrieb wird ein in die ASIC 702 der 7 empfangener Strom durch den Flussklassifizierer 704 in Flüsse klassifiziert. Der Regelselektor 706 identifiziert dann die Verkehrssteuerungseinheiten 708, 710, 712, 714, 716, 718, 720 und 722, die auf die identifizierten Flüsse anzuwenden sind. Die Verkehrssteuerungseinheiten regeln dann die Flüsse gemäß den Bandbreitengrenzen der jeweiligen Verkehrssteuerungsregel. Wenn mehr als ein Fluss auf dieselbe Verkehrssteuerungseinheit abgebildet wird, dann regelt die Verkehrssteuerungseinheit alle anwendbaren Flüsse auf einer zusammengesetzten Basis. Pakete von Flüssen, die alle anwendbaren Verkehrssteuerungsregeln erfüllen, werden von der ASIC zu einer nächsten Stelle weitergeleitet. Bei einem bevorzugten Ausführungsbeispiel werden das System und das Verfahren zum Regeln eines Netzwerkverkehrs verwendet, bevor der Verkehr durch eine Schaltstruktur eines Schalters oder eines Routers geführt wird.

Claims (13)

  1. Verfahren zum Steuern eines Datenflusses durch eine Netzwerkvorrichtung, das die folgenden Schritte aufweist: Empfangen von Netzwerkverkehr in die Netzwerkvorrichtung; Identifizieren eines ersten Flusses aus dem Netzwerkverkehr; Identifizieren eines zweiten Flusses, der eindeutig ist, aus dem ersten Fluss, wobei der zweite Fluss aus dem Netzwerkverkehr identifiziert wird; Identifizieren von Verkehrssteuerungsregeln, die für den ersten Fluss gelten, wobei ein Identifizieren von Verkehrssteuerungsregeln, die für den ersten Fluss gelten, ein Abbilden des ersten Flusses auf eine Kette von Verkehrssteuerungsregeln enthält, wobei jede nachfolgende Verkehrssteuerungsregel in der Kette allgemeiner als die vorherige Verkehrssteuerungsregel in der Kette ist, wobei der erste Fluss auf eine erste Verkehrssteuerungsregel und dann auf eine dritte Verkehrssteuerungsregel abgebildet wird; Identifizieren von Verkehrssteuerungsregeln, die für den zweiten Fluss gelten, wobei ein Identifizieren von Verkehrssteuerungsregeln, die für den zweiten Fluss gelten, ein Abbilden des zweiten Flusses auf eine Kette von Verkehrssteuerungsregeln enthält, wobei jede nachfolgende Verkehrssteuerungsregel in der Kette allgemeiner als die vorherige Verkehrssteuerungsregel in der Kette ist, wobei der zweite Fluss auf eine zweite Verkehrssteuerungsregel und dann auf die dritte Verkehrssteuerungsregel abgebildet wird; Anwenden der ersten Verkehrssteuerungsregel auf den ersten Fluss; Anwenden der zweiten Verkehrssteuerungsregel auf den zweiten Fluss; und Anwenden der dritten Verkehrssteuerungsregel auf den ersten Fluss und auf den zweiten Fluss auf einer zusammengesetzten Basis.
  2. Verfahren nach Anspruch 1, das weiterhin die folgenden Schritte enthält: Weiterleiten eines Pakets aus dem ersten Fluss nur dann, wenn die erste Verkehrssteuerungsregel und die dritte Verkehrssteuerungsregel durch das Paket aus dem ersten Fluss nicht verletzt werden; und Weiterleiten eines Pakets aus dem zweiten Fluss nur dann, wenn die zweite Verkehrssteuerungsregel und die dritte Verkehrssteuerungsregel durch das Paket aus dem zweiten Fluss nicht verletzt werden.
  3. Verfahren nach Anspruch 2, wobei der Schritt zum Anwenden der dritten Verkehrssteuerungsregel einen Schritt zum Dekrementieren eines Zählers auf ein Weiterleiten des Pakets aus dem ersten Fluss hin oder auf ein Weiterleiten des Pakets aus dem zweiten Fluss hin enthält.
  4. Verfahren nach Anspruch 2, das weiterhin die folgenden Schritte enthält: Identifizieren eines dritten Flusses, der eindeutig ist, aus dem ersten Fluss und dem zweiten Fluss, wobei der dritte Fluss aus dem Netzwerkverkehr identifiziert wird; Identifizieren einer vierten Verkehrssteuerungsregel, die für den ersten Fluss, den zweiten Fluss und den dritten Fluss gilt; Anwenden der vierten Verkehrssteuerungsregel auf Pakete aus dem ersten Fluss, die entweder die erste Verkehrssteuerungsregel oder die dritte Verkehrssteuerungsregel nicht verletzen, auf Pakete aus dem zweiten Fluss, die entweder die zweite Verkehrssteuerungsregel oder die dritte Verkehrssteuerungsregel nicht verletzen, und auf Pakete aus dem dritten Fluss auf einer zusammengesetzten Basis.
  5. Verfahren nach Anspruch 4, das weiterhin die folgenden Schritte enthält: Identifizieren einer fünften Verkehrssteuerungsregel, die für den dritten Fluss gilt; und Anwenden der fünften Verkehrssteuerungsregel auf den dritten Fluss, bevor die vierte Verkehrssteuerungsregel auf den dritten Fluss angewendet wird.
  6. Verfahren nach Anspruch 1, wobei die dritte Verkehrssteuerungsregel allgemeiner als die erste Verkehrssteuerungsregel oder die zweite Verkehrssteuerungsregel ist.
  7. Verfahren nach Anspruch 1, wobei die Schritte zum Identifizieren des ersten Flusses und des zweiten Flusses Schritte zum Zugreifen auf Paketanfangsblockinformation enthalten, um Übertragungscharakteristiken von Paketen aus dem Netzwerkverkehr zu bestimmen.
  8. Verfahren nach Anspruch 7, wobei der Schritt zum Zugreifen auf Paketanfangsblockinformation einen Schritt zum Identifizieren von wenigstens einer von folgenden enthält: – einer Quellen-IP-Adresse; – einer Zielort-IP-Adresse; – einer Quellen-Portnummer; und – einer Zielort-Portnummer.
  9. Verfahren nach Anspruch 1, wobei der Schritt zum Identifizieren der ersten Verkehrssteuerungsregel einen Schritt zum Identifizieren einer Verkehrssteuerungsregel enthält, die keine widersprüchlichen Flussparameter zwischen dem ersten Fluss und der ersten Verkehrssteuerungsregel hat; der Schritt zum Identifizieren der zweiten Verkehrssteuerungsregel einen Schritt enthält, der eine Verkehrssteuerungsregel identifiziert, die keine widersprüchlichen Flussparameter zwischen dem zweiten Fluss und der zweiten Verkehrssteuerungsregel hat; und der Schritt zum Identifizieren der dritten Verkehrssteuerungsregel einen Schritt zum Identifizieren einer Verkehrssteuerungsregel enthält, die keine widersprüchlichen Flussparameter zwischen dem ersten Fluss und der dritten Verkehrssteuerungsregel und zwischen dem zweiten Fluss und der dritten Verkehrssteuerungsregel hat.
  10. System zum Steuern eines Datenflusses durch eine Netzwerkvorrichtung, das folgendes aufweist: eine Einrichtung (704) zum Identifizieren eines ersten Flusses und eines zweiten Flusses aus einem Strom eines Netzwerkverkehrs, wobei der erste Fluss eine Übertragungscharakteristik hat, die sich von dem zweiten Fluss unterscheidet; eine Einrichtung (706) zum Identifizieren einer ersten Verkehrssteuerungsregel, die für den ersten Fluss gilt; zum Identifizieren einer zweiten Verkehrssteuerungsregel, die für den zweiten Fluss gilt; und zum Identifizieren einer dritten Verkehrssteuerungsregel, die für den ersten Fluss und für den zweiten Fluss gilt; wobei die Einrichtung (706) zum Identifizieren von Verkehrssteuerungsregeln Zeiger enthält, die den ersten und den zweiten Fluss auf jeweilige Ketten von Verkehrssteuerungsregeln abbilden, wobei jede nachfolgende Verkehrssteuerungsregel in den jeweiligen Ketten allgemeiner als die vorherige Verkehrssteuerungsregel in den jeweiligen Ketten ist; eine Einrichtung (708, 710, ..., 722) zum Anwenden der ersten Verkehrssteuerungsregel auf den ersten Fluss, um einen Bandbreitenverbrauch durch den ersten Fluss zu regeln; eine Einrichtung (708, 710, ..., 722) zum Anwenden der zweiten Verkehrssteuerungsregel auf den zweiten Fluss, um einen Bandbreitenverbrauch durch den zweiten Fluss zu regeln; eine Einrichtung (708, 710, ..., 722) zum Anwenden der dritten Verkehrssteuerungsregel auf den ersten Fluss und auf den zweiten Fluss auf einer zusammengesetzten Basis, um einen Bandbreitenverbrauch durch sowohl den ersten Fluss als auch den zweiten Fluss zu regeln.
  11. System nach Anspruch 10, das weiterhin eine Einrichtung zum Weiterleiten eines Pakets aus dem ersten Fluss enthält, wenn das Paket aus dem ersten Fluss die erste Verkehrssteuerungsregel oder die dritte Verkehrssteuerungsregel nicht verletzt, und zum Weiterleiten eines Pakets aus dem zweiten Fluss, wenn das Paket aus dem zweiten Fluss die zweite Verkehrssteuerungsregel oder die dritte Verkehrssteuerungsregel nicht verletzt.
  12. System nach Anspruch 10, wobei die Einrichtung zum Identifizieren eines ersten Flusses und eines zweiten Flusses einen Eingang zum Empfangen von Paketen variabler Länge enthält.
  13. System nach Anspruch 10, wobei die Einrichtung zum Identifizieren eines ersten Flusses und eines zweiten Flusses einen Eingang zum Empfangen von Zellen festgelegter Länge enthält.
DE60023718T 1999-09-08 2000-07-26 Verfahren und system um datenflüsse durch eine mehrport vermittlungsanlage (multi-switch) kontrollieren zu können Expired - Fee Related DE60023718T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/392,209 US6636480B1 (en) 1999-09-08 1999-09-08 Method and system for controlling data flow through a multiport switch
US392209 1999-09-08
PCT/US2000/020360 WO2001019039A1 (en) 1999-09-08 2000-07-26 Method and system for controlling data flow through a multiport switch

Publications (2)

Publication Number Publication Date
DE60023718D1 DE60023718D1 (de) 2005-12-08
DE60023718T2 true DE60023718T2 (de) 2006-07-20

Family

ID=23549724

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60023718T Expired - Fee Related DE60023718T2 (de) 1999-09-08 2000-07-26 Verfahren und system um datenflüsse durch eine mehrport vermittlungsanlage (multi-switch) kontrollieren zu können

Country Status (6)

Country Link
US (1) US6636480B1 (de)
EP (1) EP1210796B1 (de)
AU (1) AU763215C (de)
CA (1) CA2382568A1 (de)
DE (1) DE60023718T2 (de)
WO (1) WO2001019039A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826150B1 (en) * 2000-04-30 2004-11-30 Dipankar Bhattacharya Distriburted QoS policing system and method
US20020089929A1 (en) * 2000-05-24 2002-07-11 Mathieu Tallegas Packet processor with multi-level policing logic
US7433947B1 (en) * 2002-01-04 2008-10-07 Network General Technology System and method for determining real-time application verb response times
US7274660B2 (en) 2002-08-15 2007-09-25 Motorola, Inc. Method of flow control
US7366098B1 (en) * 2002-08-15 2008-04-29 Cisco Technology, Inc. Method and apparatus for input policing a network connection
US7397796B1 (en) 2003-08-21 2008-07-08 Smiljanic Aleksandra Load balancing algorithms in non-blocking multistage packet switches
GB0402739D0 (en) * 2004-02-09 2004-03-10 Saviso Group Ltd Methods and apparatus for routing in a network
US8018851B1 (en) 2004-06-30 2011-09-13 Marvell Israel (Misl) Ltd. Flow control for multiport PHY
WO2006115673A1 (en) * 2005-04-22 2006-11-02 Olympus Communication Technology Of America, Inc. Defragmentation of communication channel allocations
GB0517304D0 (en) 2005-08-23 2005-10-05 Netronome Systems Inc A system and method for processing and forwarding transmitted information
TWI352525B (en) * 2006-04-03 2011-11-11 Realtek Semiconductor Corp Network system capable of dynamically controlling
US8559310B2 (en) * 2007-09-04 2013-10-15 Ca, Inc. System and method for bandwidth control
JP5657840B2 (ja) 2011-08-02 2015-01-21 カビウム・インコーポレーテッド ルックアップ・フロントエンド・パケット出力プロセッサ
US8913501B2 (en) * 2012-08-16 2014-12-16 International Business Machines Corporation Efficient urgency-aware rate control scheme for multiple bounded flows
US9544402B2 (en) 2013-12-31 2017-01-10 Cavium, Inc. Multi-rule approach to encoding a group of rules
US9667446B2 (en) 2014-01-08 2017-05-30 Cavium, Inc. Condition code approach for comparing rule and packet data that are provided in portions
EP3122012B1 (de) * 2014-05-16 2019-08-14 Huawei Technologies Co., Ltd. Datenverarbeitungsverfahren und vorrichtung für ein openflow-netzwerk
CN107277062B (zh) * 2017-08-09 2019-12-24 北京中科威荣计算机技术有限公司 数据包的并行处理方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3291875B2 (ja) * 1993-12-06 2002-06-17 株式会社日立製作所 ポリシング回路
EP0666668A1 (de) * 1994-02-07 1995-08-09 ALCATEL BELL Naamloze Vennootschap Reglementierungs-Verfahren
US5524006A (en) 1995-02-15 1996-06-04 Motorola, Inc. Second-order leaky bucket device and method for traffic management in cell relay networks
US5666353A (en) 1995-03-21 1997-09-09 Cisco Systems, Inc. Frame based traffic policing for a digital switch
US5790770A (en) 1995-07-19 1998-08-04 Fujitsu Network Communications, Inc. Method and apparatus for reducing information loss in a communications network
GB9613473D0 (en) * 1996-06-27 1996-08-28 Mitel Corp ATM cell transmit priority allocator
FR2765057B1 (fr) * 1997-06-19 2000-06-30 Univ Paris Curie Procede de gestion de largeurs de bandes allouees dans les reseaux locaux a acces partages, protocole et filtre de mise en oeuvre
US6324165B1 (en) * 1997-09-05 2001-11-27 Nec Usa, Inc. Large capacity, multiclass core ATM switch architecture
JP3927714B2 (ja) * 1997-12-31 2007-06-13 ユーティースターコム コリア リミテッド 予想型/保障型サービスを提供するためのトラフィック制御方法
CA2245367A1 (en) * 1998-08-19 2000-02-19 Newbridge Networks Corporation Two-component bandwidth scheduler having application in multi-class digital communication systems

Also Published As

Publication number Publication date
AU6379200A (en) 2001-04-10
CA2382568A1 (en) 2001-03-15
AU763215B2 (en) 2003-07-17
US6636480B1 (en) 2003-10-21
AU763215C (en) 2004-02-12
EP1210796A1 (de) 2002-06-05
EP1210796B1 (de) 2005-11-02
WO2001019039A1 (en) 2001-03-15
DE60023718D1 (de) 2005-12-08

Similar Documents

Publication Publication Date Title
DE60023718T2 (de) Verfahren und system um datenflüsse durch eine mehrport vermittlungsanlage (multi-switch) kontrollieren zu können
DE10350504B4 (de) Verfahren und Vorrichtung zum Festlegen bzw. Zuteilen einer verfügbaren Verknüpfungsbandbreite zwischen paketvermittelten Datenflüssen
DE3780799T2 (de) Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem.
DE60110175T2 (de) Verfahren und Datenkommunikationsschalter zur Dienstqualitätenanpassung
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE60031468T2 (de) Paketkommunikationssystem mit QoS-Steuerungsfunktion
DE69935587T2 (de) Verfahren und vorrichtung zur weiterleitung von paketen von einer mehrzahl konkurrierender warteschlangen zu einem ausgang
DE10296945B4 (de) System und Verfahren zum differenzierten Warteschlangenbilden in einem Routing-System
DE60109972T2 (de) Prioirtätsauswahlverfahren für ein Datenkommunikationsschalter
DE60217253T2 (de) Centrale und regelbasierte Verkehrsverwaltung
DE60120807T2 (de) Schaltvorrichtung und Verfahren
DE602005003386T2 (de) Prioritätskontrollgerät und Verfahren zur Übertragung von Datenübertragungsblock
DE19745020B4 (de) Verfahren zum Steuern des Datenverkehrs in einem ATM-Netzwerk
EP1428361B1 (de) Verkehrsbegrenzung mittels zulässigkeitsprüfung für ein paketorientiertes verbindungsloses netz mit qos niveau übertragung
DE102007016062A1 (de) Netzwerksystem mit dynamischer Steuerung des Datenflusses, und zugehöriges Verfahren
DE60304580T2 (de) Schalteinheit mit skalierbarer und "QOS"-berücksichtigender Datenflusssteuerung
DE69633915T2 (de) Verfahren zur abweisung von zellen an einem überlasteten knotenpuffer
EP1249154B1 (de) Verfahren und vorrichtung zur zugangssteuerung eines kommunikationsnetzes
DE60037317T2 (de) Verfahren zur gemeinsamen Benutzung von Überschussbandbreite zwischen Ausgangs- und Eingangsmodulen von einem Vermittlungsnetzwerk
DE69838103T2 (de) Verfahren zur Pufferverwaltung
DE60107828T2 (de) Strömungs- und Verstopfungsregelung in einem geschalteten Netzwerk
EP0870416B1 (de) Verfahren zur priorisierung von zellenströmen in systemen, die informationen nach einem asynchronen transfermodus (atm) übertragen
EP1313284B1 (de) Router
DE602004013247T2 (de) Verfahren und Vorrichtung zur Prioritätsplanung mit Anforderung/Genehmigung
DE69925599T2 (de) Kommunikationsnetz oder ip-netz mit einem paketklassifizierer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee