-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung ist eine Verbesserung der Dienstequalitätsprotokollspezifikation
bzw. "Quality-of-Service" oder QoS-Protokollspezifikation gemäß der Internet
Engineering Task Force (IETF).
-
HINTERGRUND
DER ERFINDUNG
-
In
der heutigen komplexen Internetumgebung werden Verkehrsflussdatenpakete
(Pakete) ungeachtet des Datentyps, den sie repräsentieren durch Routing-Systeme
(Router) verarbeitet. Diese Methode wird als "Best Effort"-Dienst bzw. Dienst nach bester Anstrengung
bezeichnet. Jedoch gibt es mit der Ankunft digitalisierten Multimediainhalts
einschließlich
Sprache und anderer Signaltypen einen anwachsenden Bedarf zum Verarbeiten
von Paketen in Übereinstimmung
mit jedem Datenpaket zugeordneten spezifischen Routing-Erfordernissen.
-
Dienstequalität bzw. Quality-of-Service (QoS)
ist die Weiterleitungsprioritätsverarbeitung
von Signaltypen durch ein Routing-System. Das Ziel von QoS ist das
Bereitstellen von mehreren unterschiedlichen Diensteklassen, wobei
jede Diensteklasse Netzperformance- bzw. Netzleistungsfähigkeitserfordernisse
des Paketes abbildet. Beispielsweise erfordern Sprachrufe eine spezielle
QoS-Diensteklasse, die
geringe Latenzzeit garantiert, die Zeit, die erforderlich ist zum
Anordnen des ersten Bit oder Zeichens in einem Speicherort. Geringe
Latenzzeit stellt sicher, dass durch einen Router empfangene Pakete innerhalb
gewisser minimaler Zeiterfordernisse weitergeleitet wird. Wenn beispielsweise
ein Router zu etwa der selben Zeit ein Nichtsprachpaket empfängt und
ein Sprachpaket, sollte das Sprachpaket eine höhere Priorität erhalten
und durch den Router so schnell wie möglich weitergeleitet werden,
um pünktliche
Ende-Ende-Lieferung sicherzustellen. Es gibt andere Arten von Multimediasignalen,
die nicht verzögerungsempfindlich
sind aber bandbreiteempfindlich sein können. Diese Signalarten erfordern
Bandbreitengarantien quer durch das Netz zum Unterbringen eines
speziellen Verkehrstyps.
-
Gewisse
Verkehrstypen erfordern keine Garantien niedriger Latenzzeit aber
erfordern einen erhöhten
Bandbreitenumfang zum Routing großer Signaldatenmengen. Insbesondere
müssen
Bandbreitegarantien vorliegen quer durch das Netz zum Unterbringen
gewisser Verkehrstypen, z.B. Massendatenverkehr. Konventionelle
Netztopologien verarbeiten Datensignale unterschiedslos. Das heißt, Sprachsignalpakete
werden mit derselben Weiterleitungspriorität verarbeitet wie Datensignalpakete.
Diese Technik wertet Signale nicht effektiv aus und identifiziert
sie nicht basierend auf Kundendienstepegelvereinbarungen bzw. SLAs.
Das Konzept differenzierter Dienste (DiffServ) ist von der Internet
Engineering Community entwickelt worden zum Formalisieren einer
Architektur zum Bereitstellen garantierter Dienste zu aggregierten
Diensteklassen. Trotzdem verbleibt ein derartiger Bedarf für eine Weise
zum Bereitstellen von Hardware zum effizienten Implementieren von
differenzierten Diensten in einem Multimedianetz-Routing-System.
-
US
Patent Nummer 6,091,808, "Quality-of-Service
Management for Packet Switched Networks" bzw. Dienstequalitätmanagement für paketvermittelte
Netze, angemeldet von International Business Machines Corporation
(Armonk, NY), beschreibt einen Paket-Router für ein Datenpaketübertragungsnetz,
wobei der Router beschrieben wird als Prioritätsdienste der für isochrones
Behandeln von Echtzeitsprache repräsentierenden Daten erforderlichen
Art anbietend und schließt
ein "Quality-of-Service"- bzw. QoS-Managementsystem
ein zum Sicherstellen, dass solchem Prioritätsdienst zugeordnete Garantien
mit einem hohen Grad an Gewissheit eingehalten werden können. Dieses
Managementsystem wird als priorisierte Warteschlangen bereitstellend
angegeben einschließlich
einer Schlange höchster
Priorität,
die Reservierungen für
die für
isochrones Behandeln geeigneten Prioritätsdienste einschließt. Die
Warteschlange höchster
Priorität
und andere Warteschlangen werden von einem QoS-Managerelement eng
auf Zustände
naher Anhäufung bzw.
Staubildung und kritischer Anhäufung
bzw. Staubildung überwacht.
Wenn keiner dieser Zustände
existiert, werden Füllpaketströme von Warteschlangen
niedrigerer Priorität
zu der Warteschlange höchster
Priorität
gefördert,
um die letztere Warteschlange optimal benutzt zu halten. Wenn alle
Warteschlangen niedriger Priorität
zu einer solchen Zeit leer sind, werden Dummy-Pakete bzw. Leer-Pakete als
Füllpakete
eingefügt.
Leer-Pakete haben eine Form, die Router und andere sie empfangende
Stationen veranlasst, sie unmittelbar zu verwerfen. Das Dummy-Verkehrsvolumen,
das für
jede Warteschlange des Systems zugelassen ist, ist ein vordefinierter Bruchteil
der geschätzten
Spitzenverkehrslast der Warteschlange und dieses Volumen ist ersetzbar,
um ein Weiterleiten zusätzlichen
Verkehrs durch die Warteschlange zu ermöglichen, wenn Bedingungen es
erfordern. Wenn ein Zustand absehbarer Staubildung vorliegt, degradiert
der QoS-Manager Füllstromeinheiten
von den Warteschlangen der höchsten
Priorität
zu den Warteschlangen niedriger Priorität, um die potentiellen Weiterleitungsverzögerungen,
die in der Warteschlange höchster
Priorität
auftretendem echtem Verkehr präsentiert
werden, zu vermindern. Wenn ein Zustand kritischer Staubildung in
der Warteschlange höchster
Priorität
vorliegt, wird der Zugang neuer kommender Verkehrsströme zu dieser
Warteschlange aufgeschoben und das Weiterleiten von Füllströmen von
dieser Warteschlange zum Netz wird auch aufgeschoben.
-
US
Patent Nummer 6,075,791 "System
for Guaranteeing Data Transfer Rates and Delays in Packet Networks" bzw. System zum
Garantieren von Datenübertragungsraten
und Verzögerungen
in Paketnetzen, angemeldet für
Lucent Technologies Inc. (Murray Hill, NJ), beschreibt ein System,
welches eine Vielzahl von Warteschlangen bedient, die jeweiligen
Datenverbindungen zugeordnet sind. Das System wird beschrieben als
den Datenverbindungen Datenübertragungsraten
und Datenübertragungsverzögerungen
garantierend. Dies wird erreicht durch Zuordnen jeder Verbindung
mit mindestens einem in ihrer zugeordneten Warteschlange wartenden
Datenpaket (eine solche Verbindung, die Verbindung mit Rückstand
oder "Backlogged
Connection" genannt wird)
zu einem als eine Funktion von Systemparametern generierten Zeitstempel
einschließlich
(a) der Anzahl der in Rückstand
befindlichen Warteschlangen, (b) der jeder Verbindung garantierten
Datenübertragungsrate,
(c) der Summe von garantierten Datenübertragungsraten aller im Rückstand
befindenden Verbindungen, (d) dem vorangegangenen Zeitstempel der
Verbinden und (e) der gewichteten Summe der Zeitstempel aller im
Rückstand
befindlichen Verbindungen generierten Zeitstempel, wobei jeder Zeitstempel
durch die der entsprechenden Verbindung garantierten Datenübertragungsrate
gewichtet wird. Die im Rückstand
befindende Verbindung, der der Zeitstempel mit dem kleinsten Wert
unter allen in Rückstand
befindlichen Verbindungen zugeordnet ist, wird dann identifiziert
und ein Datenpaket wird von der Warteschlange, die dieser Verbindung
entspricht, übertragen.
Ein neuer Zeitstempel wird dann für diese Verbindung generiert,
wenn sie noch im Rückstand
befindlich ist. Sobald die Übertragung
des Datenpaketes abgeschlossen ist, wird das vorangegangene Bestimmen
der Verbindung mit dem minimalen Zeitstempel dann wiederholt zum
Identifizieren der nächsten
zu bedienenden Warteschlange.
-
US
Patent Nummer 5,946,311, "Method
for Allowing More Efficient Communication in an Environment Wherein
Multiple Protocols are Utilized", bzw.
Verfahren zum Ermöglichen
effizienterer Kommunikation in einer Umgebung, in welcher mehrere Protokolle
verwendet werden, erteilt für
International Business Machines Corporation (Armonk, NY), beschreibt
ein Verfahren und System, das einen oder mehrere Netzprotokollemulatoren
zulässt,
die sich aus einem oder mehreren Netzprotokollemulationscontrollern
zusammensetzen und einer oder mehreren Netzprotokollemulationseinheiten,
welche dem einen oder mehreren Basisnetzen überlagert sind, die unterschiedliche
Kommunikationsprotokolle verwenden zu dem Zweck, dass auf das eine
oder die mehreren Netze zugegriffen werden kann und sie verwendet
werden können
als ob das eine oder die mehreren Netze durch den einen oder die
mehreren Netzprotokollemulatoren emulierte Protokolle verwenden
würden.
Das Verfahren und System werden beschrieben als die folgenden Schritte
verwendend: (1) den einen oder die mehreren Netzprotokollemulationscontroller
von der Netzfähigkeitsinformation
in Kenntnis setzen, die inhärent
ist innerhalb von durch das eine oder die mehreren Netze verwendeten
Protokolle, denen der eine oder die mehreren Netzprotokollemulationscontroller überlagert
sind; (2) Anweisen, dass der eine oder die mehreren Netzprotokollemulationscontroller
die eine oder die mehreren Netzfähigkeitsinformationen
verwenden, von welchen sie in Kenntnis gesetzt worden sind zum Definieren
von Kommunikationsfähigkeiten
für gewisse
Netzprotokollemulationseinheiten innerhalb der Steuerung des einen
oder der mehreren Netzprotokollemulationscontrollern; und (3) Veranlassen
von entweder dem einen oder mehreren Netzprotokollemulationscontrollern
oder dem einen oder den mehreren gewissen Netzprotokollemulationseinheiten
innerhalb der Steuerung der Netzprotokollemulationscontroller, solche
definierten Kommunikationsfähigkeiten
zu verwenden sind zum Sicherstellen, dass die Netzprotokollemulationseinheiten keine
Kommunikationsverbindung zu einer oder mehreren Netzprotokollemulationseinheiten
anfordern, die im wesentlichen die definierten Kommunikationsmöglichkeiten
der einen oder mehreren Netzprotokollemulationseinheiten übersteigt.
-
RESÜMEE DER
ERFINDUNG
-
Die
Erfindung betrifft ein Verfahren zum Routing bzw. zur Wegelenkung
von Internetverkehr. Das Verfahren schließt im allgemeinen den Schritt
des Empfangens eines Paketes von einem Multimedianetz ein. Zusätzlich schließt das Verfahren
den Schritt des Zuweisens eines Meldungsblockkopfes bzw. Headers
(Message Block Header) für
das Paket ein, wobei der Meldungsblockkopf verwendet wird zum Halten
von "Behaviour Aggregat"- bzw. Verhaltenssummen-Werte
für interne
Router-Zuordnung. Das
Verfahren schließt
ferner den Schritt des Behandelns der Pakete in Warteschlangen und
des Routens des Paketes zu einer "Differentiated-Services"-Netzdomäne, d.h.
einer Netzdomäne
gemäß der von
IETF eingeführten "Differentiated-Services"-Architektur, in
einer Weise, die spezifische Dienstequalität bzw. QoS sicherstellt. In
einer Ausführungsform
enthält
der Blockkopf einen QoS-3-Tupel-Normalwert
der "best effort
per hop behaviour" bzw.
Beste Anstrengung pro Etappenverhaltens-Behandlung wiederspiegelt.
Zudem kann jedes Behaviour-Aggregat eine Ansammlung von Paketen
sein, die mit derselben QoS behandelt werden. Ferner repräsentiert
das QoS-3-Tupel ein QoS-Behaviour-Aggregat, das auf dem Codepunktwert
DiffServ des kommenden Paketes beruht.
-
In
einer anderen Ausführungsform
wird der Warteschlangenbildungsschritt des Verfahrens zum Routen
von Internetverkehr unter Verwendung eines Warteschlangenmanager-Softwaremoduls ausgeführt, das
mit Warteschlangenvorentscheidung konfiguriert ist. Zusätzlich verwendet
der Warteschlangenschritt einen Primärsatz von Warteschlangen, die
den unterstützten
Behaviour-Aggregaten entsprechen. Ferner verwendet der Warteschlangenschritt
zwei oder mehr priorisierte Ausgangswarteschlangen. Auch schließen die
Ausgangswarteschlangen eine Ausgangswarteschlange hoher Priorität ein, eine Ausgangswarteschlange
mittlerer Priorität
und eine Ausgangswarteschlange niedriger Priorität.
-
In
einer anderen Ausführungsform
vergleicht das Verfahren zum Routing von Internetverkehr das DiffServ-Codepunktfeld
im Paketkopf mit dem DiffServ-Codepunkt einer "Pro-Etappen-Verhältnis"- bzw. "Per-Hop-Behaviour"-Tabelle und platziert
einen entsprechenden QoS-3-Tupel-Wert in dem Meldungsblock-Header durch den
Meldungsblock-Header-Marker. Zudem umfasst das Verfahren zum Routing
von Internetverkehr ferner das Präsentieren von Paketen gegenüber einem
Warteschlangenmanager von einem Zähler oder direkt von einem
Klassifizierer und die Pakete tragen in dem Meldungsblock-Header Information,
die die primäre
Warteschlange identifiziert (und indirekt die sekundäre Warteschlange),
zu welcher es gehört,
eine Abwurf-Präzedenz
bzw. Priorität
und einen Konversationsidentifizierer. Auch identifiziert der Warteschlangenmanager
die Primärklassenwarteschlange,
zu welcher das Paket gehört und
wenn der dieser Warteschlange zugeordnete "Token-Bucket-Meter" bzw. Token-Eimer-Messer, der dieser
Warteschlange zugeordnet ist, verfügbare Token hat, wird das Paket
geradewegs durch die sekundäre
Warteschlange hindurchgeführt.
Wenn die primäre
Warteschlange leer ist, umfasst das Verfahren den Schritt des Prüfens, um
zu sehen, ob die sekundäre
Warteschlange das Paket unterbringen kann und wenn die Ausgangswarteschlange
das Paket unterbringen kann, wird das Paket durch die sekundäre Warteschlange
hindurchgeführt,
hierdurch zulassend, dass AF- und BE-Verkehr bis zu der vollen Verbindungsbandbreite
verbrauchen.
-
In
einer anderen Ausführungsform
umfasst das Verfahren zum Routing von Internetverkehr ferner Token-Bucket-Messungsgesichertes
Weiterleiten von Warteschlangen zu einer minimal konfigurierten Rate,
aber ermöglicht
es den Warteschlangen, unbenutzte Bandbreite bis zur vollen Leitungsrate
zu verbrauchen. Zudem erlaubt das Verfahren, dass Best-Effort-Verkehr keine minimale
garantierte Bandbreite zugeordnet wird, aber lässt es zu, dass der Verkehr
eine unbenutzte Bandbreite enthält.
Zudem weist das Verfahren ferner QoS-3-Tupel zu, basierend auf Verkehrsprofilbenutzungsfeldern,
die in der Datenpaketkopfinformation enthalten sind. Die in der Datenpaketkopfinformation
enthaltenen Felder umfassen ein DiffServ-Codefeld. Wenn das QoS-3-Tupel
sich von dem Meldungsblockkopfnormalwert unterscheidet, umfasst
das Verfahren ferner das Überschreiben
des Meldungsblockkopfnormalwertes mit dem neuen QoS-3-Tupel basierend
auf konfigurierbaren Regeln.
-
Wenn
in einer anderen Ausführungsform Raum
in dem Ausgangseinrichtungstreiberübertragungsring verfügbar wird,
umfasst das Verfahren zum Routing von Internetverkehr das Übertragen
von Paketen zu dem Ausgangstreiber basierend auf Prioritätswarteschlangenvorentscheidungen.
Zusätzlich birgt
das Verfahren den das Meldungsblockkopffeld von dem IP Paket streifenden
Ausgangstreiber. Darüber
hinaus behält
das IP Paket einen Ausgangs-DiffServ-Codepunkt. Zudem wird der Diffserv-Codepunkt
optional durch den Routing-Prozess modifiziert.
-
Die
Erfindung kann auch als zu einem Differentiated-Services-Edge-Router bzw.
Rand-Router gehörend
ausgedrückt
werden. Der Differentiated-Services-Edge-Router ist konfiguriert
zum Empfangen eines Paketes vom Multimedianetz. Zusätzlich ist
der Router konfiguriert, um einen Meldungsblock-Header für das Paket
zuzuweisen, wobei der Meldungsblock-Header verwendet wird zum Behalten
von Behaviour-Aggregat-Werten für
interne Router-Abbildung. Zudem bildet der Router Warteschlangen
und routet das Paket zu einer Differentiated-Services-Netzdomäne auf eine Weise, die spezifische QoS
sicherstellt.
-
In
einer Ausführungsform
umfasst der Differentiated-Services-Edge-Router einen an ein Multimedianetz
koppelbaren und zum Zuweisen eines Meldungsblockkopfes für ein kommendes
Paket, das QoS-3-Tupel-Normalwerte enthält, konfigurierten Eingangstreiber.
Auch kann der Differentiated-Services-Edge-Router konfiguriert sein zum Verwenden eines
Meldungsblockkopfes, um Bahaviour-Aggregatwerte für interne
Router-Zuweisung zu halten. Auch kann der Differentiated-Services-Edge-Router konfiguriert
sein zum Behandeln von Netzverkehr mit einem gemeinsamen Behaviour-Aggregat
auf eine Weise, die sicherstellt, dass individuelle Pakete von derartigem
Verkehr dieselbe QoS empfangen. Auch kann der Differentiated-Services-Edge-
bzw. Rand-Router einen mit einem DiffServ-Codepunkt zu der Per-Hop-Behaviour-Tabelle
konfigurierten Klassifizierer einschließen.
-
In
einer anderen Ausführungsform
umfasst der Differentiated-Services-Edge-Router
ein Warteschlangen-Manager-Software-Modul, das mit warteschlangenpräzedenz konfiguriert
ist. Zudem identifiziert der Warteschlangen-Manager die Primärklassenwarteschlange,
zu welcher die Pakete gehören. Auch
umfasst der Differentiated-Services-Edge-Router einen Primärsatz von
Warteschlangen, der den unterstützten
Behaviour-Aggregaten entspricht. Zudem umfasst der Differentiated-Services-Edge-Router
drei priorisierte Ausgangswarteschlangen. Wenn der Token-Bucket-
bzw. TB-Messer (Berechtigungsvorratsmesser), der der Primärklassenwarteschlange zugeordnet
ist, zu welcher die Pakete gehören,
verfügbare
Token hat, wird das Paket direkt durch die sekundäre Warteschlange
geleitet.
-
In
einer anderen Ausführungsform
umfasst der Differentiated-Services-Edge-Router
gesichert weiterleitende Warteschlangen, die auf eine minimale konfigurierte
Rate Token-Bucket-gemessen
sind, die jedoch berechtigt sind, unbenutzte Bandbreiten bis zur
vollen Leitungsrate zu verbrauchen. Zudem kann der Differentiated-Services-Edge-Router
derart konfiguriert sein, dass Best-Effort-Verkehr zu keiner minimalen
garantierten Bandbreite führt,
sondern der Best-Effort-Verkehr
berechtigt ist, unbenutzte Bandbreite zu enthalten. Auch schließt der Klassifizierer eine
konfigurierbare Datenbank ein, die das QoS-3-Tupel basierend auf
dem Verkehrsprofil unter Verwendung von Feldern zuordnet, die in
der Datenpaket-Header-Information enthalten sind, einschließlich dem
DiffServ-Codepunktfeld. Wenn das QoS-3-Tupel sich von dem Normalmeldungsblock-Header-Wert
unterscheidet, kann der Klassifizierer zudem den Normalmeldungsblock-Header
mit dem neuen QoS-3-Tupel, basierend auf konfigurierbaren Regeln überschreiben.
-
In
noch einer anderen Ausführungsform kann
der Differentiated-Services-Edge-Router konfiguriert sein mit einer
Primärwarteschlange,
die, wenn sie leer ist, dazu führt,
dass der Warteschlangen-Manager prüft, um zu sehen, ob die Sekundärwarteschlange
das Paket aufnehmen kann. Wenn die Sekundärwarteschlange das Paket aufnehmen
kann, wird das Paket außerdem
weitergeleitet durch die zweite Warteschlange, es hierbei AF- und
BE-Verkehr (Assured-Forwarding- und Best-Effort-Verkehr) ermöglichend, bis zur vollen Verbindungsbandbreite zu
verbrauchen. Zusätzlich
kann der Ausgangstreiber konfiguriert sein, um das Meldungsblock-Header-Feld von dem
IP-Paket abzustreifen und derart, dass das IP-Paket einen Ausgangs-DiffServ-Codepunkt
behält.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
ein Blockdiagramm eines Differentiated-Services-Netzes.
-
2 zeigt
ein detailliertes Blockdiagramm eines Differentiated-Services-Edge-Routers.
-
3 zeigt
ein Blockdiagramm eines inneren Aufbaus eines Klassifizierers.
-
4 zeigt
ein Blockdiagramm eines inneren Aufbaus eines Messers.
-
5 zeigt
ein Blockdiagramm eines differenzierten warteschlangenblocks.
-
6 zeigt
einen IP-Paketstrom in einem Differentiated-Services-Edge-Router.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Die
Erfindung ist ein System für
und ein Verfahren zum Verwenden von differenziertem Warteschlangenbilden
in einem Edge-Routing-System bzw. Randbereichs-Routing-System zum
Verbessern von IETF-spezifizierter Quality-of-Service (QoS). Die Erfindung
stellt Ratengarantien, Wartezeitgarantien und Bandbreitenteilen
unter gewissen Verkehrsklassen bereit.
-
1 zeigt
ein Blockdiagramm eines Differentiated-Services-Netzes 100 und schließt einen Differentiated-Services-Edge-Router 110 ein,
einen Router-Eingang 115, einen Router-Ausgang 125, die Differentiated-Services-
bzw. DiffServ-Domain 105, eine
DiffServ-Core-Router 130 enthaltende Differentiated-Services-Netzregion.
Das Multimedianetz 120 ist kein Differentiated-Services-Multimedianetz
und ist zur Systemklarheit dargestellt.
-
Differentiated-Services
(DiffServ oder DS) ist eine Netztopologie, die die Fähigkeit
bereitstellt, unterschiedliche Arten von Netz-Quality-of-Services (QoS)
bereitzustellen für
unterschiedliche Kunden und ihre Verkehrsströme. Die Prämisse von DiffServ-Netzen ist,
dass Router innerhalb des Core des Netzes (DiffServ-Core-Router 130)
Pakete in unterschiedlichen Paketströmen behandeln durch Weiterleiten
von ihnen unter Verwendung unterschiedlicher Per-Hop-Behaviours
(PHB). Durch Behandeln von Verkehrsströmen in Aggregaten, kann DiffServ
Quality-of-Service-Garantien implementieren, ohne den Bedarf nach
Per-Flow-Signalisierung und Zustands-Aufrechterhaltung in jedem Übergangsknoten (abweichend
von dem Aufrechterhalten des DSCP-Feldes in dem IP-Header).
-
Eine
DiffServ-Domain 105 ist eine logische Internetregion, die
verwaltet wird von einer gemeinsamen Instanz bzw. Stelle. Diensteebenenvereinbarungen
bzw. Service-Level-Agreements (SLA) werden durch die DiffServ-Domain 105 identifiziert
durch Vertragsvereinbarungen zwischen der DiffServ-Domain 105,
Verwaltungsinstanzen und dem Kunden. Derzeit besteht das globale
Internet aus Hunderten von DS-Domänen 105, die von unterschiedlichen
Instanzen verwaltet werden. Per-Hop-Behaviour der DiffServ-Domain 105 ehren
die Signalprofilwerte, die über
das Internet verteilt eingerichtet worden sind. Die derzeit definierten
Standard-PHB-Gruppen
sind Expedited-Forwarding (EF bzw. beschleunigtes Weiterleiten),
Assured-Forwarding (AF bzw. gesichertes Weiterleiten), und Best-Effort-Forwarding
(BE bzw. Weiterleiten nach bestem Aufwand). Expedited-Forwarding
garantiert das Weiterleiten aller Pakete, die einer konfigurierten
Rate mit niedrigstmöglicher
Verzögerung
und Jitter entsprechen. Nichtkonforme Pakete werden verworfen. Assured-Forwarding
garantiert eine minimal konfigurierte Weiterleitungsrate. Pakte,
die die konfigurierte Rate übersteigen,
können weitergeleitet
werden, wenn es verfügbare
Ressourcen gibt (möglich
mit einer höheren
Verwerf-Präzedenz),
oder können
verworfen werden. Best-Effort-Forwarding
gibt an, dass ein Paket weitergeleitet werden wird, wenn es verfügbare Ressourcen
gibt und es anderweitig verworfen werden kann. Das anzuwendende
PHB wird durch einen DiffServ-Codepunkt (DSCP) im IP-Header jeden
kommenden Paketes angegeben. Am Eingang des DiffServ-Netzes ist
der Differentiated-Services-Edge-Router 110 zuständig für das Routing
der Datenströme
von einem Nicht-DiffServ-Netz in das DiffServ-Netz, basierend auf
dem Wert des DSCP, den Aggregat- Behaviour-Klassen
und der Bandbreitenverfügbarkeit.
Der Routing-Prozess schließt
das Klassifizieren, Messen, Markieren, Verwerfen und Warteschlangenbilden
ein.
-
Typischer
Weise ist die Ausgangsbandbreite aufgeteilt zum Bereitstellen von
Ratengarantien in Übereinstimmung
mit Codepunkt-bewerteten Signalen. Wenn beispielsweise der Codepunktfeldwert äquivalent
dem beschleunigten Weiterleiten bzw. Expedited-Forwarding ist, ist
garantiert, dass das Signal 10% der verfügbaren Bandbreite hat, während ein Codepunktfeldwert
des Abbildens auf gesichertes Weiterleiten 60% der verfügbaren Bandbreite
garantiert hat. Auf diese Weise stellt der Differentiated-Services-Edge-Router 110 Verfügbarkeitsgarantien
für Pakete
bereit, die auf spezifische Weise markiert sind. Eine Ausgangsbandbreite
(z.B. 10 Mbps für Standard-Ethernet)
ist konfiguriert zum Bereitstellen von Bandbreitenreservierung für spezielle
Verkehrsströme.
Datenpakete werden mit speziellem Codepunktweiterleitungsverhalten
bzw. Codepunkt-Forwarding-Behaviour
und Behaviour-Aggregat-Codes markiert. Ausgangsbandbreite ist aufgeteilt
zum Vorsehen spezifischer Signalklassen größerer Bandbreite.
-
2 zeigt
ein detailliertes Blockdiagramm eines Differentiated-Services-Edge-Routers 110 und schließt einen
Ausgangstreiber 210 ein, einen Klassifizierer 220,
einen Messer bzw. Zähler 230,
einen differenzierten Warteschlangenblock 240 und einen Ausgangstreiber 250.
-
Der
Eingangstreiber 210 empfängt Pakete von dem Multimedianetz 120 und
ordnet dem Paket, das Normal-QoS-3-Tupelwerte enthält, welche "Best-Effort-Per-Hop-Behaviour"-Behandlung bzw. BEPHB-Behandlung wiedergeben,
einen Meldungsblock-Header zu. Der Meldungsblock-Header (MBLK) wird
verwendet zum Behalten von Behaviour-Aggregat-Werten für internes
Router-Abbilden. Ein Behaviour-Aggregat ist eine Ansammlung von Paketen,
die mit demselben Quality-of-Service behandelt werden.
-
Der
Klassifizierer 220 ist ein Mehrfeldklassifizierer-Software-Modul, das
konfiguriert ist mit einem DiffServ-Codepunkt (DSCP) zur PHB-Tabelle und
einer Gruppe von spezialisierten algorithmischen Filtern, die verwendet
werden zum Auswählen
von Paketen basierend auf dem Inhalt einer konfigurierbaren Zahl
von Header-Dateien. Der Klassifizierer 220 ist in 3 ferner
beschrieben.
-
Die
Messeinrichtung bzw. der Messer 230 ist ein ereignisbasierter
(im Gegensatz zu zeitbasiert) Einzelraten-Token-Bucket-Messer, der zum Durchführen einer
Aktion eines Paketes konfiguriert ist, ob das Paket als innerhalb
eines Profils oder außerhalb eines
Profils befunden wird. Die konfigurierten Aktionen können MARK
bzw. "Markieren", DROP bzw. "Verwerfen" oder NONE bzw. "Keine" sein. Der Messer 230 ist
in 4 unten ferner beschrieben.
-
Der
Warteschlangenbildungsblock 240 schließt allgemein ein Warteschlangen-Manager-Software-Modul
ein, das mit Warteschlangen-Präzedenz
konfiguriert ist, einem Primärsatz
von Warteschlangen entsprechend den unterstützten Behaviour-Aggregaten und den
drei priorisierten Ausgangswarteschlangen. Der Warteschlangenblock 240 ist
in 5 unten ferner beschrieben.
-
Der
Ausgangstreiber 250 stellt eine Verbindung zu dem Differentiated-Services-Netz
bereit und überwacht
und verwaltet den Übertragungsring.
Der Ausgangstreiber 250 kann aus irgendeiner Zahl von Standardimplementierungen
bestehen.
-
3 zeigt
ein Blockdiagramm des internen Aufbaus eines Klassifizierers 220.
Der Klassifizierer 220 schließt im allgemeinen eine DSCP-zu-PHB-Tabelle 300,
einen MBLK-Marker 310 und eines oder mehrere IP-Filter 320.
Aus Gründen
der. Klarheit ist in 3 nur ein IP-Filter dargestellt.
-
Das
Paket wird zu dem Klassifizierer 220 von dem Eingangstreiber 210 gesendet.
Der Klassifizierer 220 vergleicht das DSCP-Feld in dem
Paket-Header mit der DSCP-zu-PHB-Tabelle 300 und
der entsprechende QoS-3-Tupel-Wert wird in den MBLK Meldungsblock-Header
durch den MBLK-Marker 310 platziert. Das QoS-3-Tupel repräsentiert
ein Qualtity-of-Services-Behaviour-Aggregate,
das auf dem DSCP-Wert des kommenden Paketes beruht. Wenn ein IP-Paket
das System durchläuft,
werden die Werte des MBLK-Headers verwendet, um Behandlungsentscheidungen
zu treffen.
-
Das
Paket wird dann weitergereicht durch eines oder mehrere Filter 320.
Das Filter 320 ist ein Algorithmus, der entweder als Behaviour-Aggregat- bzw.
BA-Filter oder Multi-Field- bzw. MF-Filter konfiguriert ist. BA-Filter
betrachten nur das DSCP-Feld in dem IP-Header. MF-Filter betrachten
eine konfigurierbare Kombination von IP-Header-Elementen (selbe
Felder, wie sie in IP-Filtern vorliegen, zuzüglich dem DSCP-Feld). Die Filter
vergleichen eines oder mehrere IP-Header-Elemente mit einem Satz konfigurierbarer
Verkehrsbedingungsregeln. Wenn das Paket mit einem Filter übereinstimmt
und ein Messer 230 zugeordnet worden ist, wird es zu dem
entsprechenden Messer 230 gesendet. Wenn das Paket mit keinem
Filter übereinstimmt,
oder das Filter keinen entsprechenden Messer hat, wird es direkt
zu dem differenzierten Warteschlangenblock 240 weitergeleitet.
-
4 zeigt
ein Blockdiagramm des Messers 230. Der Messer 230 schließt allgemein
einen Ratenmesser 400 ein, einen "Verwerfen/Markieren/Keine"-Entscheidungsblock 410,
einen Paketverwerfer 420 und einen Paketmarkierer 430.
Wenn ein Paket zu einem Filter 320 passt, kann es zu einem
entsprechenden Messer 230 weitergeleitet werden. Wenn Pakete
in den Messer eintreten, werden sie durch den Ratenmesser 400 geprüft, um zu
bestimmen, ob die zeitlichen Eigenschaften des Datenstroms innerhalb
des für
das Behaviour-Aggregat des Paketes definierten Ratenprofils liegen.
Dieser Prozess wird verwendet zum Sicherstellen, dass der Client-Benutzer
nicht das durch das Behaviour-Aggregat bestimmte Paketprofil überschreitet.
Der Ratenmesser kommuniziert mit dem Verwerfen/Markieren/Keine-Entscheidungsblock 410,
ob die Pakete innerhalb des Profils liegen oder außerhalb
des Profils. Der Verwerfen/Markieren/Keine-Entscheidungsblock 410 ist
konfiguriert zum Prüfen
des Ergebnisses des Ratenmessers 400, des QoS-3-Tupels
und der Verkehrskapazität.
-
Wenn
der Messer bestimmt, dass die DS-Domain 105 verfügbare Kapazität enthält, wird
er versuchen, "außerhalb
des Profils"- bzw. "Out-of-Profile"-Datenpakete zuzulassen.
Wenn keine Ressourcen verfügbar
sind, wird er Out-of-Profile-Pakete
verwerfen. Dieser Prozess wird verwendet zum Sicherstellen, dass
der Client-Benutzer nicht das durch das SLA festgelegte Paketprofil überschreitet.
-
5 zeigt
ein Blockdiagramm des differenzierten Warteschlangenblocks 240.
Der differenzierte Warteschlangenblock 240 enthält allgemein
einen Warteschlangen-Manager 510, eine Express-Weiterleitungswarteschlange
bzw. EF-Warteschlange 520 mit zugeordnetem Token-Bucket-Messer
bzw. TB-Messer 560, eine Gesichert-Weiterleitungswarteschlange
bzw. AF-Warteschlange 530 und AFN-Warteschlange 540 mit
ihren zugeordneten Token-Bucket-Messern
TB-Messer 561 und TB-Messer 562, eine Best-Effort-Warteschlange
bzw. BE-Warteschlange 550 mit zugeordnetem Token-Bucket-Messer
bzw. TB-Messer 563 und drei Ausgangswarteschlangen, eine
Ausgangswarteschlange 570 hoher Priorität, eine Ausgangswarteschlange 575 mittlerer Priorität und eine
Ausgangswarteschlange 579 niedriger Priorität.
-
Pakete
werden dem Warteschlangen-Manager 510 entweder von dem
Messer 230 oder direkt vom Klassifizierer 220 präsentiert.
-
Ankommende
Pakete werden in dem MBLK Information tragen, die die Primärwarteschlange
indentifiziert (und indirekt die Sekundärwarteschlange), Verwerfen-Präzedenz und
einen Konversationsidentifizierer.
-
Der
Warteschlangen-Manager 510 identifiziert die Primärklassenwarteschlange,
zu welcher das Paket gehört
und wenn der dieser Warteschlange zugeordnete Token-Bucket- bzw.
TB-Messer verfügbare
Token hat, wird das Paket unmittelbar durch die sekundäre Warteschlange
weitergeleitet (und möglicherweise
geradewegs durch den Einrichtungstreiber). Der momentane Token-Zählerstand
wird basierend auf der Anzahl von Bytes in dem Paket abgeglichen.
TB-Tokenzähler
dürfen
negativ werden (Borrow bzw. Überlauf
von zukünftigen
Token). Wenn zur Zeit, zu der der Warteschlangen-Manager 510 ein Paket
empfängt,
der Token-Zählerstand
negativ ist und das Paket markiert ist für Expedited-Forwarding, wird
das Paket verworfen werden. Expedited-Forwarding-Verkehr kann nicht
eine maximale Rate überschreiten.
Andernfalls prüft
der Warteschlangen-Manager 510, um zu sehen, ob die Primärwaretschlange leer
ist. Wenn sie nicht leer ist, wird das Paket in eine Konversationswarteschlange
gegeben. Wenn die Warteschlange leer ist, prüft der Warteschlangen-Manager,
um zu sehen, ob die Sekundärwarteschlange
dieses Paket aufnehmen kann. Wenn sie dies kann, richtet der Warteschlangen-Manager 10 das
Paket durch die sekundäre
Warteschlange (dies ermöglicht
es dem AF- und dem BE-Verkehr, bis zur vollen Bandbreite zu verbrauchen.
Wenn sie es nicht kann, beginnt der Warteschlangen-Manager 510 mit Warteschlangenbildung
in der Primärwarteschlange.
-
Die
EF-Warteschlange 520 steuert den gesamten Verkehr mit niedrigen
Wartezeiterfordernissen. Das System schließt mehrere AF-Warteschlangen
ein, AF1 530 bis AFN 540. In der bevorzugten Ausführungsform
schließt
das System vier AF-Warteschlangen
ein, die drei unterschiedliche Verwerf-Präzedenzen
haben (AF1-1 oder ein hohes Verwerfen AF1-2 oder AF1-3). Die BE-Warteschlange 550 steuert
den gesamten nichtmarkierten Verkehr. Die EF-, AF- und BE-Warteschlangen
werden als primäre Warteschlangen
angesehen und sind angemessene bzw. "faire" Warteschlangen in der vorliegenden
Erfindung. Eine angemessene Warteschlange ist eine Warteschlange
mit mehreren FIFO-Warteschlangen parallel konfiguriert.
-
In
der bevorzugten Ausführungsform
gibt es sechs primäre
Warteschlangen: eine Express-Weiterleitungswarteschlange, vier Gesichertes-Weiterleiten-Warteschlangen
und eine Best-Effort-Warteschlange.
Die Warteschlange beschleunigter bzw. Express-Weiterleitung (EF-Warteschlange) 520 wird Token-Bucket-gemessen durch
den TB-Messer 560 auf einer maximalen konfigurierten Rate.
Die Gesichert-Weiterleitungs-Warteschlangen
(gekennzeichnet durch AF-Warteschlange 530 und die AFN-Warteschlange 540),
werden auch Token-Bucket-gemessen (durch TB-Messer 561 und
TB-Messer 562) auf eine minimal konfigurierte Rate, aber
mit der Berechtigung, unbenutzte Bandbreite bis zur vollen Leitungsrate
zu benutzen. Die Best-Effort-Warteschlange
bzw. BE-Warteschlange 550 wird Token-Bucket-gemessen durch den TB-Messer 563 auf
die Rate, welche berechnet ist durch Subtrahieren der Summe der
EF- und AF-konfigurierten
Raten von der Gesamtverbindungsbandbreite. Konfigurierte Raten dürfen insgesamt
nicht mehr sein als die maximale Verbindungsrate. Best-Effort-Verkehr
kann ohne minimale garantierte Bandbreite auftreten, aber er kann noch
unbenutzte Bandbreiten enthalten.
-
Die
sekundäre
Warteschlange enthält
allgemein drei Prioritäten,
basierend auf FIFO-Warteschlangen bzw. Schieberegister-Warteschlangen: Ausgangswarteschlange
hoher Priorität 570,
Ausgangswarteschlange mittlerer Priorität 575 und Ausgangswarteschlange
niedriger Priorität 579.
-
Die
Ausgangswarteschlange hoher Priorität 570 ist eine FIFO-Warteschlange, die
Datenpakete, welche von einer Weiterleitungswarteschlange als zu dem
Warteschlangen-Manager 510 gerichtet empfangen worden sind,
an einen Einrichtungstreiber-Übertragungsringausgangstreiber 520 weiterzuleiten.
Wenn der Device-Treiber-Übertragungsring durch
Software-Logik als voll erkannt wird, werden die Datenpakete in
die Ausgangswarteschlange hoher Priorität (HP) 570 eingereiht.
Durch diese HP-Warteschlange 310 sich ausbreitende Datenpakete
sind üblicherweise
Datenpakete der EF-Warteschlange 520.
-
Eine
Ausgangswarteschlange mittlerer Priorität 575 ist eine FIFO-Warteschlange,
die Datenpakete, welche von einer Weiterleitungswarteschlange als
zu dem Warteschlangen-Manager 510 gerichtet empfangen worden
sind, weiterleitet an einen Einrichtungstreiber-Übertragungsringausgangstreiber 250.
Wenn der Einrichtungstreiber-Übertragungsring durch
Software-Logik als voll erkannt wird, werden Datenpakete in die
Ausgangswarteschlange mittlerer Priorität (LP) 575 eingereiht.
Datenpakete, die sich durch die MP-Warteschlange ausbreiten, sind üblicherweise
Datenpakete von den gesichert weiterleitenden Warteschlangen (z.B.
AF1-Warteschlange 530).
-
Ausgangswarteschlange 579 ist
eine FIFO-Warteschlange, die Datenpakete, welche von einer Weiterleitungswarteschlange
als zu dem Warteschlangen-Manager 510 gerichtet empfangen
worden sind, weiterleitet auf einem Einrichtungstreiberübertragungsringausgangstreiber 250.
Wenn der Einrichtungstreiberübertragungsring
durch Software-Logik als voll erkannt wird, werden Datenpakete in
die Ausgangswarteschlange niedriger Priorität 579 eingereiht.
Datenpakete, die sich durch die LP-Warteschlange ausbreiten, sind üblicherweise
Datenpakete von der BE-Warteschlange 550. 6 zeigt
den IP-Paketstrom von dem Differentiated-Services-Edge-Router 110. Im
Betrieb wird der IP-Paketsignalverkehr
durch den Eingangstreiber 210 verarbeitet, welcher einem
normalen MBLK-Daten-Descriptor DMBLK 610 zugeordnet ist
mit dem IP-Paket 600. Das IP-Paket 600 breitet sich
dann aus zu einem Punkt, an dem es in den Klassifizierer 220 eintritt.
Der Klassifizierer 220 schließt eine konfigurierbare Datenbank
ein, die das QoS-3-Tupel, basierend auf dem Verkehrsprofil unter
Verwendung von in der Datenpaket-Header-Information enthaltenen
Feldern zuordnet, einschließlich
dem DiffServ-Codepunkt-DSCP-Feld 605. Wenn das QoS-3-Tupel
sich von dem normalen MBLK-Wert unterscheidet, kann der Klassifizierer 220 den
normalen MBLK DMBLK 610 mit dem neuen QoS-3-Tupel, basierend
auf konfigurierbaren Regeln überschreiben.
Der resultierende Klassifizierer verarbeitete Meldungsblock-Header bzw.
MBLK ist CMBLK 630.
-
Das
System leitet das IP-Paket 600 mit verarbeitetem MBLK-Feld durch eine Serie
von Filtern. Wenn das IP-Paket 600 zu einem Filter passt,
wird es zu dem entsprechenden Messer gesendet. Wenn ein IP-Paket 600 zu
keinem in dem Klassifizierer 220 befindlichen Filter passt,
wird es direkt zum differenzierten Warteschlangenblock 240 gesendet.
Wenn das System das IP-Paket zu dem Messer 230 sendet, überprüft das System
das Paket, um zu sehen, ob die temporäre Eigenschaft des Aggregatestroms,
zu welchem das IP-Paket 600 gehört, innerhalb des Profils bzw. "In-Profile" oder außerhalb
des Profils bzw. "Out-of-Profile" ist.
-
Der
Messer 230 fragt die Verfügbarkeitskapazität der DS-Domain 105 ab
und verwendet einen konfigurierbaren Satz von Regeln zum Bestimmen, ob
die Bestimmung bzw. Eigenschaft des IP-Paketes 600 Verwerfen
bzw. DROP sein sollte, Markieren bzw. MARK oder Keine bzw. NONE.
Wenn die Entscheidung ist, das Paket zu verwerfen bzw. DROP, leiten
das System das IP-Paket 600 zu
dem messerverworfenen Paketprotokoll 615. Wenn die Entscheidung
Markieren bzw. MARK des Paketes ist, aktualisiert das System MBLK-
und/oder DSCP-Felder und leitet das Paket zu dem differenzierten
Warteschlangenblock 240. Die resultierenden messerverarbeiteten
Felder sind MDSCP 635 und MMBLK 640. Wenn die
Entscheidung NONE bzw. Keine ist, wird das Paket unmodifiziert zum
differenzierten Warteschlangenblock 240 gesendet.
-
Der
differenzierte Warteschlangenblock 640 empfängt das
IP-Paket 600, überprüft das MBLK-Feld
und platziert das Paket in der geeigneten Warteschlange. Wenn das
IP-Paket als EF bzw. beschleunigt weiterzuleiten identifiziert wird,
und der EF-Token-Bucket-Messer
bzw. TB-Messer 560 einen negativen Wert liest, wird das
Paket verworfen. EF-Verkehr kann nicht eine maximal vorbestimmte Rate übersteigen.
Wenn das Pakte verworfen wird, wird das IP-Paket 600 weitergeleitet
zu dem DQB-verworfene Paketeprotokoll 620. Wenn das IP-Paket 600 nicht
verworfen worden ist, prüft
der Warteschlangen-Manager 510, um zu sehen, ob die zugehörige Primärwarteschlange
leer ist. Wen sie nicht leer ist, wird das Paket in eine Konversationswarteschlange
versetzt. Wenn die Primärwarteschlange
leer ist, prüft
der Warteschlangen-Manager 510,
um zu sehen, ob die Sekundärwarteschlange das
Paket aufnehmen kann. Wenn die Sekundärwarteschlange das Paket aufnehmen
kann, wird das Paket weitergeleitet durch die Sekundärwarteschlange. Diese
Anordnung ermöglicht
es AF- und BE-Verkehr bis zur vollen Bandbreite zu verbrauchen.
Wenn die Sekundärwarteschlange
das Paket nicht aufnehmen kann, startet der Warteschlangen-Manager 510 das Warteschlangenbilden
in der Primärwarteschlange.
-
Wenn
Raum in dem Ausgangseinrichtungstreiberübertragungsring verfügbar wird,
werden Pakete zum Ausgangstreiber 250, basierend auf Prioritätswarteschlangenpräzedenzen
weitergeleitet. Der Ausgangstreiber 250 streift das MBLK-Feld
von dem IP-Paket 600 ab. Das IP-Paket 600 behält den DiffServ-Codepunkt
EDSCP 645. Der DiffServ-Codepunkt kann oder kann nicht
durch den Routing-Prozess modifiziert worden sein.
-
Viele
Merkmale und Vorteile der Erfindung sind aus der detaillierten Beschreibung
ersichtlich. Etliche Modifikationen und Änderungen werden Durchschnittsfachleuten
leicht offenbar und folglich ist die Erfindung nicht auf die hierin
beschriebenen Ausführungsformen
beschränkt.
Alle geeigneten Modifikationen und Äquivalente sollten als in den
Geist und Schutzbereich der Erfindung fallend angesehen werden.
-
ZUSAMMENFASSUNG
-
Die
Erfindung betrifft ein Verfahren zum Routing von Internet-Verkehr.
Das Verfahren schließt
allgemein die Schritte des Empfangens eines Paketes von einem Multimedianetz
ein, des Zuweisens eines Meldungsblockkopfes für das Paket, wobei der Kopf verwendet
wird zum Festhalten von Behaviour-Aggregat-Werten für interne
Router-Abbildung, und des Bildens von Warteschlangen und des Routings
des Paketes zu einer Differenciated-Services-Netzdomain in einer
Weise, die einen spezifischen QoS sicherstellt.