-
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,709 , ”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.
-
WO 00/56 023 A1 beschreibt Verfahren und Vorrichtungen zum Überwachen und Weiterleiten von Daten in einem Datenkommunikationssystem. Ein empfangenes Datagramm selbst kann ein Prioritätsidentifikator und einen Anwendungsidentifikator aufweisen, mit dem eine geeignete Bestimmung der Verarbeitung des empfangenen Datagramm bestimmt werden kann
-
EP 1 063 818 A2 lehrt die Verwendung einer bereits vorhandenen Header-Information zum Detektieren eines spezifischen Traffic-Typs.
-
WO 00/76 168 A2 lehrt die Verwendung eines Header-Abschnitts in einem Paketspeicher.
-
RESÜMEE DER ERFINDUNG
-
Die Erfindung betrifft ein Verfahren zum Routing bzw. zur Wegelenkung von Internetverkehr. Das Verfahren umfasst dabei die Merkmale des Patentanspruchs 1. Weitere vorteilhafte Ausführungsformen ergeben sich aus den Unteransprüchen.
-
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-Messungs-gesichertes 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 Behaviour-Aggregatwerte für interne Router-Zuweisung zu halten. Auch kann der Differentiated-Services-Edge-Router könfiguriert sein zum Behandeln von Netzverkehr mit einem gemeinsamen Behaviour-Aggregat auf eine Weise, die sicherstellt, dass individuelle Pakete van 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.