-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Erzeugen
eines Überwachungsdatagramms
des Typs, der beispielsweise verwendet wird, um Daten von Routern
in einem Netz zu sammeln, beispielsweise einem MPLS-Netz (MPLS = Multi-Protocol
Label Switching). Die vorliegende Erfindung bezieht sich auch auf
ein Verfahren und eine Vorrichtung zum Verarbeiten des Überwachungsdatagramms.
-
Auf
dem Gebiet von paketvermittelter Kommunikation gibt es einen zunehmenden
Trend zum Kommunizieren von latenzintoleranten Daten über Netze.
Die zunehmende Verwendung von Echtzeitanwendungen, wie z. B. qualitativ
hochwertiger Video- und Audio- und Voice-over-IP-Verkehr hat zu dem
Bedarf geführt,
den Netzverkehrsfluss zu beschleunigen, um die Dienstgütestandards (QoS-Standards)
zu erfüllen,
die von solchen Anwendungen erfordert werden.
-
MPLS
(MPLS = Multi-Protocol Label Switching) ist eine standardisierte
Technologie, die mit dem Ziel entwickelt wurde, die Geschwindigkeit
des Verkehrsflusses in Netzen zu erhöhen, während die Netze leichter verwaltbar
gemacht werden. MPLS-Netze werden in anderen Netzen verwendet.
-
Bei
MPLS wird ein Paket, beispielsweise ein Internet-Protokoll-(IP-) Paket an einem sogenannten „Eintrittspunkt" empfangen, normalerweise
ein erster Router, der an einem Rand des MPLS-Netzes angeordnet
ist, wobei der erste Router das IP-Paket unter Verwendung eines
MPLS-Shim-Anfangsblocks
in ein MPLS-Paket „einwickelt". Der MPLS-Shim-Anfangsblock
weist einen MPLS-Shim-Eintrag auf, der ein Etikett umfasst, um einen
vorbestimmten Weg, der als „LSP" (LSP = Label Switched
Path) bekannt ist, für
das IP-Paket zum
Verfolgen durch das MPLS-Netz zu identifizieren, d. h. unter Verwendung bestimmter
Router innerhalb des MPLS-Netzes, zu einem „Austrittspunkt", der normalerweise
ein zweiter Router ist, der an einem anderen Rand des MPLS-Netzes angeordnet
ist. Durch Verwenden einer vorbestimmten Sequenz von Routern müssen Router
keine Zeit damit verbringen, Adressen von nachfolgenden Routern
für eine
Weiterleitung von Paketen nachzuschlagen. Außerdem ermöglicht die Fähigkeit,
explizite Routen zu verwenden, das Senden von Verkehr entlang Routen,
die nicht notwendigerweise die kürzesten
sind, aber sogenannte "Verkehrstechnik" in dem Netz erlauben,
wodurch es möglich
wird, Verkehr weg von verstopften Bereichen des Netzes oder durch
kostengünstige
Leitabschnitte des Netzes zu richten.
-
MPLS-Netze
können
auch verschachtelt sein. Wenn ein MPLS-Paket bei solchen Situationen einen
Rand eines weiteren MPLS-Netzes erreicht, durch das das Paket „tunneln" muss, ist dem MPLS-Paket
ein weiterer MPLS-Shim-Anfangsblock vorangestellt, wodurch das erste
MPLS-Paket in einem zweiten neuen MPLS-Paket eingekapselt wird, das
dem MPLS-Netz entspricht, durch das das MPLS-Paket tunneln muss.
Daher ist ein Stapel von Shim-Anfangsblöcken aufgebaut.
-
Selbstverständlich ist
es bei solchen Netzen, wie bei anderen auch, wünschenswert, durch Messung
Aspekte der Netzleistungsfähigkeit
zu überwachen,
beispielsweise Paketverlust, Paketverzögerung und/oder Paketjitter
auf einem Fluss zwischen zwei Punkten in einem Netz.
-
In
dem Fall eines „Mikroflusses", wo alle Pakete
vom gleichen Typ sind, kann das Protokoll bei der Verwendung Unterstützung beim
Messen von Paketverlust liefern. Beispielsweise enthält ein Übertragungssteuerprotokoll-(TCP
= Transmission Control Protocol-) Fluss Folgenummern, die beim Erfassen
von Paketverlust helfen können.
Aber dennoch muss darauf geachtet werden, neu geordnete Pakete nicht
mit verlorenen Paketen zu verwechseln, insbesondere wenn die Messpunkte
nicht mit dem Ursprung und dem Bestimmungsort des Flusses zusammenfallen.
Für Flüsse, die
stärker
angehäuft
sind als Mikroflüsse,
oder bei denen ein Protokoll, das verwendet wird, nicht in der Lage
ist, das Messen von Paketverlust zu unterstützen, ist eine Paketverlustmessung
häufig
komplexer. Manchmal können
Router konfiguriert sein, um Pakete und Bytezählwerte auf Flussebene zu erfassen,
aber obwohl solche Informationen verwendet werden können, um
Verkehrsraten zu schätzen,
sind dieselben weniger hilfreich zum Bestimmen von Verlustraten
im Mittelfluss aufgrund der Schwierigkeit, Zählwerte an Überwachungspunkten abzutasten,
während
ein Paket passiert.
-
Es
ist auch nicht möglich,
eine Lösung
auf einem einfachen Netzverwaltungsprotokoll (SNMP = Simple Network
Management Protocol) aufzubauen, weil Informationen, die von Verwaltungsinformationsbasen
(MIBs = Management Information Bases) erhalten werden, bei einigen
Routerarchitekturen häufig
etwas veraltet sind. Daher ist eine Lösung auf der Basis von SNMP
unattraktiv. Bei der Abwesenheit von Signalisieren kann der Punkt
in einem Paketfluss, an dem ein Router das Überwachen des Flusses beginnt,
ebenfalls variieren, was die Analyse der Lesungen weiter kompliziert.
Folglich ergeben Messungen auf der Basis dieser Technik tendenziell
nur grobkörnige
Verlustraten, die wenig darüber
offenbaren, wie die Rate über
kurzfristige Intervalle variiert.
-
Andere
bekannte Lösungsansätze verlassen sich
auf die Verwendung von Hardwaresonden und Hash-Techniken. In ihrer
einfachsten Form berechnet eine Sonde einen Hash-Wert für jedes
Paket, das die Sonde passiert. Sonden an sowohl einem Eintrittspunkt
als auch einem Austrittspunkt verwenden eine gleiche Hash-Funktion
und einigen sich auf einem bestimmten Hash-Wert, N. Jedes Mal, wenn
ein Paket zu dem Hash-Wert, N, hasht, zeichnet die Sonde den aktuellen
Paketgesamtzählwert
für den
Fluss auf, der dem Paket zugeordnet ist. Falls die Hash-Funktion
ausreichend unterscheidet, kann diese Technik es ermöglichen,
dass die Paketzählwerte zwischen den
beiden Sonden korreliert werden, um genaue Verlustraten zu berechnen.
Die Pakete, die den Test bestehen, markieren Punkte in dem Strom, und
die Sonden können
dann ihre Messungen an diesen Punkten synchronisieren. Die Komplexität, die in solchen
Techniken erforderlich ist, ergibt sich aus einem Bedarf, die Rate
zu steuern, bei der Pakete den Test bestehen können, wenn die Überwachungspunkte
keine Steuerung über
den Aufbau der Pakete in dem Fluss haben. Falls die übereinstimmenden Pakete
zu eng zueinander sind, können
die Lesungen mehrdeutig werden, insbesondere wenn Pakete häufig verloren
gehen. Falls ein Paket den Test selten besteht, dann ist die Fähigkeit,
Verlustraten auf einer feinen Zeitskala zu messen, reduziert.
-
In
einigen Fällen
kann die obige Implementierung vereinfacht werden durch Injizieren
von Testpaketen in einen Paketfluss, der ohne weiteres und einmalig
durch die Sonden erkannt werden kann, wodurch das Verlassen auf
adaptive Hash-Techniken verhindert wird, weil die Rate, bei der
die Testpakete erzeugt werden, nun steuerbar ist. Selbstverständlich ist
es notwendig, sicherzustellen, dass die Testpakete die/den Empfänger des
Paketflusses nicht unterbrechen. Für einen einzigen Mikrofluss
kann dies unmöglich
sein, aber für
einen angesammelten Fluss, mit vielen Empfängern für einzelne Mikroflüsse sollte das
Hinzufügen
eines zusätzlichen
Mikroflusses von Testpaketen keine Unterbrechung bewirken. Ohne Neukonfigurieren
der Router kann es jedoch schwierig sein, zu garantieren, dass injizierte
Testpakete identisch zu allen anderen Paketen in einem Paketfluss
behandelt werden; beispielsweise können die Testpakete einer anderen
Route zu dem Bestimmungsort des Paketflusses folgen, oder einer
anderen Warteschlangenbehandlung unterworfen sein. Außerdem ist
die Wahrscheinlichkeit einer Paketneuordnung erhöht, was die Verlustanalyse
kompliziert.
-
Andere
bekannte Lösungsansätze vereinfachen
die oben beschriebene Lösung
noch weiter, und versuchen eine Gesamt verlustrate zu schätzen durch
die Verlustrate, die die künstlich
injizierten Pakete erfahren. Diese Lösung erfordert jedoch, dass große Mengen
aktiven Verkehrs injiziert werden, um statistisch zuverlässige Ergebnisse
zu erzielen, und die potentiell unterschiedliche QoS-Behandlung
solcher Pakete macht es schwierig, von solchen Ergebnissen feste
Rückschlüsse zu ziehen.
-
Ein
Hybrid-Lösungsansatz
ist ebenfalls möglich,
wenn ein Überwachungspunkt
zusammen mit der Quelle eines Mikroflusses angeordnet ist. In solch einer
Situation können
spezielle IPv4-Optionen oder IPv6-Anfangsblockerweiterungen verwendet
werden, um ein Benutzerpaket für Überwachungszwecke
zu kennzeichnen, ohne den Endpunkt des Flusses zu unterbrechen,
so lange die maximale Übertragungseinheit
(MTU = Maximum Transmission Unit) nicht überschritten wird. Eine modifizierte Hash-Funktion
erkennt dann das Vorliegen solcher Anfangsblöcke oder ein Bestimmungsorthost
kann konfiguriert werden, um solche Anfangsblöcke zu extrahieren und zu verarbeiten.
Außerdem
können
die Anfangsblöcke
bei einer Rate unter der Steuerung eines Verwaltungsprozesses erzeugt
werden, und ein Betriebssystemkernmodul kann verwendet werden, um
notwendige Optionen/Erweiterungen in dem Quellennetzelement einzuführen, die
zum Erzeugen der Testpakete verantwortlich sind.
-
Diese
Hybridtechnik ist jedoch problematischer als andere Lösungen,
wenn ein Überwachungspunkt
stromabwärts
von einem Punkt ist, wo Pakete erzeugt werden. Außerdem kann
eine passive Sonde eindeutig nicht Pakete modifizieren, wenn dieselben
entlang der Sonde verlaufen, und das Hinzufügen von Erweiterungsanfangsblöcken zu
Benutzerpaketen, während
die Pakete durch einen Router verlaufen, kann unerwünschte Auswirkungen
haben.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Erzeugen
eines Überwachungsdatagramms
für ein
vorbestimmtes Netz, ein Verfahren zum Verarbeiten eines Datagramms
für ein Kommunikationsnetz,
ein Verfahren zum Berechnen einer Netzleistungsfähigkeitsstatistik, ein Verfahren zum
Wiedergewinnen von Überwachungsdaten
von einem Überwachungsdatagramm,
ein Computerprogrammelement, eine Vorrichtung zum Überwachen eines Überwachungsdatagramms,
ein Kommunikationsnetz, ein Überwachungsdatagramm
sowie die Verwendung eines Shim-Eintrags mit verbesserten Charakteristika
zu schaffen.
-
Diese
Aufgabe wird durch Verfahren gemäß Anspruch
1, 3, 6 und 9, sowie ein Computerprogrammelement gemäß Anspruch
10, eine Vorrichtung gemäß Anspruch
11, ein Kommunikationsnetz gemäß Anspruch
12, ein Überwachungsdatagramm
gemäß Anspruch
13 und die Verwendung eines Shim-Eintrags gemäß Anspruch 14 gelöst.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Erzeugen
eines Überwachungsdatagramms
für ein
vorbestimmtes Netz vorgesehen, wobei das Verfahren folgende Schritte
umfasst: Erzeugen eines Anfangsdatagramms; Einkapseln des Anfangsdatagramms
in einen Shim-Anfangsblock
mit einem ersten Shim-Eintrag und einem zweiten Shim-Anfangsblock,
wobei der erste und der zweite Shim-Eintrag einem vorbestimmten Netz zugeordnet
sind; wobei der erste Shim-Eintrag nahe zu dem zweiten Shim-Eintrag
ist und demselben folgt, wobei der erste Shim-Eintrag das Anfangsdatagramm
als einen Überwachungsstatus
aufweisend identifiziert.
-
Es
sollte klar sein, dass Bezugnahmen auf das „Anfangsdatagramm" sich hierin nicht
nur auf nicht-eingekapselte Datagramme beziehen sollen, und die
Verwendung von eingekapselten Datagrammen als Anfangsdatagramm ebenfalls
in Betracht gezogen wird.
-
Das
Verfahren kann ferner folgenden Schritt umfassen: weiteres Einkapseln
des Datagramms, das durch den zweiten Shim-Eintrag eingekapselt
ist, unter Verwendung eines dritten Shim-Eintrags, der einem weiteren
Netz zugeordnet ist, das sich von dem vorbestimmten Netz unterscheidet.
-
Der
erste Shim-Eintrag kann ein Etikett umfassen. Das erste Etikett
kann ein NULL-Etikett sein.
-
Das
Anfangsdatagramm kann ein Internet-Protokoll-Datagramm sein.
-
Das
vorbestimmte Netz kann LSPs unterstützen. Das vorbestimmte Netz
kann ein MPLS-Protokoll unterstützen.
-
Das Überwachungsdatagramm
kann temporäre
Daten umfassen, um sicherzustellen, dass eine Nutzlast des Anfangsdatagramms
von einer anfangs vorbestimmten Länge ist.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Verarbeiten eines Datagramms für
ein Kommunikationsnetz vorgesehen, wobei das Verfahren folgende
Schritte umfasst: Identifizieren eines ersten Shim-Eintrags und eines
zweiten Shim-Eintrags, die einem vorbestimmten Netz zugeordnet sind,
wobei der erste Shim-Eintrag nahe zu dem zweiten Shim-Eintrag ist
und demselben folgt; Aufzeichnen von Daten eines vorbestimmten Typs,
die sich auf das Datagramm beziehen, ansprechend darauf, dass der
erste Shim-Eintrag einen Identifizierer trägt, um das Datagramm als einen Überwachungsstatus
aufweisend zu identifizieren.
-
Die
Daten des vorbestimmten Typs können dem Überwachungsdatagramm
und einem vorbestimmten Weg zugeordnet sein, dem das Überwachungsdatagramm
folgt. Die Daten des vorbestimmten Typs können zumindest eines der folgenden
sein: Zeitstempeldaten, ein Etikett, ein Exp-Feld, ein Paketzählwert oder
eine Schnittstellenadresse. Die Zeitstempeldaten können eine
Zeit der Aufzeichnung der Daten des vorbestimmten Typs sein.
-
Die
Daten des vorbestimmten Typs können neu
aufgezeichnet werden durch Anhängen
der Daten des vorbestimmten Typs an eine Nutzlast, die dem zweiten
Shim-Eintrag zugeordnet ist.
-
Die
Daten des vorbestimmten Typs können neu
aufgezeichnet werden durch Modifizieren von zumindest einem Teil
der Nutzlast des Datagramms, um die Daten des vorbestimmten Typs
zu enthalten.
-
Gemäß einem
dritten Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Berechnen einer Netzleistungsfähigkeitsstatistik
vorgesehen, das folgende Schritte umfasst: Erzeugen eines Überwachungsdatagramms
gemäß dem ersten
Aspekt der vorliegenden Erfindung; Sammeln von Überwachungsdaten durch Verarbeiten,
des Überwachungsdatagramms
zumindest einmal, gemäß dem Verfahren
gemäß dem zweiten
Aspekt der vorliegenden Erfindung; und Bestimmen der Netzleistungsfähigkeitsstatistik
unter Verwendung der gesammelten Überwachungsdaten.
-
Die
Netzleistungsfähigkeitsstatistik
kann ein Datagrammverlust sein.
-
Die
Netzleistungsfähigkeitsstatistik
kann eine durchgehende Verzögerung
des Überwachungsdatagramms
zwischen einem Eintrittspunkt und einem Austrittspunkt sein, die
einem Weg zum Leiten des Überwachungsdatagramms
zugeordnet sind. Das Verfahren kann ferner den Schritt des Synchronisierens
der Vorrichtung, die das Verfahren unterstützt, wie es oben beschrieben
ist, in Relation zu dem zweiten Aspekt der vorliegenden Erfindung
umfassen.
-
Die
Netzleistungsfähigkeitsstatistik
kann eine interne Verzögerung
eines Netzelements sein.
-
Gemäß einem
vierten Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Wiedergewinnen von Überwachungsdaten
von einem Überwachungsdatagramm
vorgesehen, wobei das Verfahren folgende Schritte umfasst: Empfangen
des Überwachungsdatagramms
an einem Austrittspunkt eines Kommunikationsnetzes, wobei das Überwachungsdatagramm
eine Nutzlast, einen ersten Shim-Eintrag und einen zweiten Shim-Eintrag
umfasst, wobei der erste und der zweite Shim-Eintrag einem Etikettstapel
entsprechen und dem Kommunikationsnetz zugeordnet sind, und der
erste Shim-Eintrag einen Identifizierer trägt, um das Datagramm als einen Überwachungsstatus
aufweisend zu identifizieren; Löschen
des zweiten Shim-Eintrags
zum Freigeben des ersten Shim-Eintrags als einen obersten Shim-Eintrag
in dem Etikettstapel; und Löschen
des ersten Shim-Eintrags zum Freigeben eines Anfangsblocks; Weiterleiten
der Nutzlast des Überwachungsdatagramms
zu einem geeigneten Netzelement gemäß dem Anfangsblock.
-
Die
Nutzlast des Überwachungsdatagramms kann
in eine Nutzlast eingebaut sein, die dem Anfangsblock zugeordnet
ist.
-
Gemäß einem
fünften
Aspekt der vorliegenden Erfindung ist ein Computerprogrammelement vorgesehen,
das eine Computerprogrammcodeeinrichtung umfasst, um zu bewirken,
dass ein Computer das Verfahren ausführt, wie es oben gemäß einem
der ersten bis vierten Aspekte der vorliegenden Erfindung beschrieben
ist.
-
Das
Computerprogrammelement kann auf einem computerlesbaren Medium ausgeführt sein.
-
Gemäß einem
sechsten Aspekt der vorliegenden Erfindung ist eine Vorrichtung
zum Verarbeiten eines Überwachungsdatagramms
vorgesehen, wobei die Vorrichtung folgende Merkmale umfasst: ein
Eintrittstor zum Empfangen eines Datagramms, das eine Mehrzahl von
Anfangsblöcken
umfasst, die einem Protokollstapel entsprechen; eine Datenverarbeitungseinheit
zum Unterstützen
einer Anfangsblockanalyseentität,
wobei die Analyseentität
angeordnet ist, um bei der Verwendung einen ersten Shim-Eintrag
und einen zweiten Shim-Eintrag
zu identifizieren, die einem vorbestimmten Netz zugeordnet sind,
wobei der erste Shim-Eintrag nahe zu dem zweiten Shim-Eintrag ist
und demselben folgt, und die Anfangsblockanalyseeinheit ferner angeordnet
ist, um Daten eines vorbestimmten Typs aufzuzeichnen, die sich auf
das Datagramm beziehen, ansprechend darauf, dass der erste Shim-Eintrag
einen Identifizierer trägt,
um das Datagramm als ein Überwachungsdatagramm
zu identifizieren.
-
Gemäß einem
siebten Aspekt der vorliegenden Erfindung ist ein Kommunikationsnetz
vorgesehen, das die Vorrichtung umfasst, die in Bezug auf den sechsten
Aspekt der Erfindung beschrieben ist.
-
Gemäß einem
achten Aspekt der vorliegenden Erfindung ist eine Schnittstellenvorrichtung
vorgesehen, die die Vorrichtung umfasst, die oben in Bezug auf den
sechsten Aspekt der vorliegenden Erfindung beschrieben ist.
-
Die
Schnittstellenvorrichtung kann angeordnet sein, um zumindest einen
Zählwert
von Paketen zu halten, die, wenn sie verwendet werden, durch die Schnittstellenvorrichtung
verlaufen. Der zumindest eine Zählwert
kann von Paketen sein, die einen vorbestimmten Parameter aufweisen,
der der Handhabung der Pakete durch die Schnittstellenvorrichtung zugeordnet
ist. Der vorbestimmte Parameter kann zumindest ein jeweiliger Weg
sein, beispielsweise ein etikettgeschalteter Weg. Der zumindest
eine Zählwert
kann sich auch auf andere Attribute beziehen, beispielsweise EXP-Bits,
um Paketflüsse über den zumindest
einen jeweiligen Weg zu unterscheiden. Um Zweifel zu vermeiden,
sollte klar sein, dass die obigen Zählwerte in Verbindung mit anderen
Aspekten der hierin beschriebenen Erfindung verwendet werden können.
-
Die
Schnittstellenvorrichtung kann angeordnet sein, um Überwachungsdatagramme
für einen Weg
zu erzeugen, der ansprechend auf eine Abwesenheit des Empfangs von Überwachungsdatagrammen
für den
Weg für
eine vorbestimmte Zeitpe riode zu überwachen ist. Die Schnittstellenvorrichtung kann
die Erzeugung von Überwachungsdatagrammen
für den
Weg ansprechend auf den Empfang eines Überwachungsdatagramms für den Weg
beenden.
-
Die
Schnittstellenvorrichtung kann ein GBIC sein.
-
Gemäß einem
neunten Aspekt der vorliegenden Erfindung ist ein Überwachungsdatagramm
vorgesehen, das folgende Merkmale umfasst: eine Nutzlast; eine Mehrzahl
von Anfangsblöcken,
die einem Protokollstapel entsprechen, wobei die Mehrzahl von Anfangsblöcken einen
Shim-Anfangsblock umfassen, der einen ersten Shim-Eintrag und einen zweiten
Shim-Eintrag umfasst, die einem vorbestimmten Netz zugeordnet sind;
wobei der erste Shim-Eintrag das Datagramm als ein Überwachungsdatagramm
identifiziert, wobei der erste Shim-Eintrag nahe zu dem zweiten
Shim-Eintrag angeordnet ist und dem zweiten Shim-Eintrag folgt.
-
Gemäß einem
zehnten Aspekt der vorliegenden Erfindung ist eine Verwendung eines
Shim-Eintrags vorgesehen, gefolgt von und nahe zu einem weiteren
Shim-Eintrag, um ein Datagramm als ein Überwachungsdatagramm zu identifizieren,
wobei der Shim-Eintrag und der andere Shim-Eintrag einem gleichen
vorbestimmten Netz zugeordnet sind.
-
Es
ist somit möglich,
ein Verfahren zum Aufbauen von Überwachungsdatagrammen
und eine Vorrichtung zum Verarbeiten der Überwachungsdatagramme zu schaffen,
wobei die Überwachungsdatagramme
bezüglich
Leitung und Warteschlangenbildung nicht unterschiedlich behandelt
werden als andere inhaltstragende Datagramme. Es ist auch möglich, Datagrammverlust
und -verzögerung über einen LSP
zu messen, nicht nur an Endpunkten, mit einer verbesserten Genauigkeit
im Vergleich zu bekannten Techniken zum Messen von Datagrammverlust
und -verzögerung.
Außerdem
wird die Vertrauenswürdigkeit
von Betriebsdaten von Transitnetzen beibehalten, weil das Shim-Eintragspaar,
das dem Überwachungsstatus
des Überwachungsdatagramms
entspricht, weiter nach unten in den Etikettstapel „gedrückt" wird. Folglich werden Überwachungsdatagramme
durch Router der Transitnetze nicht als solche erkannt.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
beiliegende Zeichnungen näher
erläutert. Es
zeigen:
-
1 ein
schematisches Diagramm eines Netzes und Datagramme, die ein Ausführungsbeispiel
der Erfindung bilden;
-
2 ein
schematisches Diagramm eines Routers, der ein weiteres Ausführungsbeispiel
der Erfindung bildet;
-
3 ein
schematisches Diagramm von Shim-Anfangsblöcken;
-
4 ein
Flussdiagramm eines Verfahrens für
die Verwendung mit der Vorrichtung von 2; und
-
5 ein
schematisches Diagramm eines Tunnelnetzes, das ein weiteres Ausführungsbeispiel der
Erfindung bildet.
-
In
der folgenden Beschreibung werden identische Bezugszeichen verwendet,
um gleiche Teile zu identifizieren.
-
Mit
Bezugnahme auf 1 kann ein Kommunikationsnetz,
beispielsweise das Internet (nicht gezeigt) eine Anzahl von kleineren
Netzen umfassen, wie z. B. ein MPLS-Netz 100, das in der
Lage ist, beispielsweise ein virtuelles privates Netz (VPN) zu unterstützen, dem
eine Dienstpegelübereinstimmung zugeordnet
ist, die annehmbare Datagramm- oder Paketverlustraten spezifiziert.
-
Das
MPLS-Netz 100 unterstützt
LSP-Leiten und das Netz 100 umfasst eine Mehrzahl von Routern 102,
um Pakete zwischen einem Eintrittsrouter 104 und einem
Austrittsrouter 106 zu leiten. Der Eintrittsrouter 104 ist
in der Lage, mit einem Eintrittsanschluss 108 zu kommunizieren,
beispielsweise einem ersten geeignet programmierten Personalcomputer
(PC), und der Austrittsrouter 106 ist in der Lage, mit
einem Austrittsanschluss 110 zu kommunizieren, beispielsweise
einem zweiten geeignet programmierten PC.
-
Mit
Bezugnahem auf 2 umfasst jeder Router 200 der
Mehrzahl von Routern 102 und auch der Eintrittsrouter 204 und
der Austrittsrouter 106 eine Mehrzahl von Eintrittstoren 202,
die jeweils mit einer jeweiligen ersten Mehrzahl von Nachsatzaufbaueinheiten 204 gekoppelt
sind. Jede der ersten Mehrzahl von Nachsatzaufbaueinheiten 204 ist
jeweils mit einer Mehrzahl von Eintrittspuffern 206 gekoppelt,
wobei jeder Eintrittspuffer 206 mit einer Schaltstruktur 208 gekoppelt
ist. Die Schaltstruktur 208 ist auch mit einer Mehrzahl
von Austrittspuffern 210 gekoppelt, wobei jeder Austrittspuffer 210 jeweils mit
einer zweiten Mehrzahl von Nachsatzaufbaueinheiten 212 gekoppelt
ist. Jede der zweiten Mehrzahl von Nachsatzaufbaueinheiten 212 ist
jeweils mit einer Mehrzahl von Austrittstoren 214 gekoppelt. Selbstverständlich umfassen
die obigen Router andere funktionale Einheiten, aber diese wurden
hierin nicht beschrieben, da sie sich nicht direkt auf die Erfindung
beziehen.
-
Beim
Betrieb baut der Eintrittsanschluss 108 ein Überwachungs-
oder Test-Paket für
den Empfang durch den Austrittsanschluss 110 auf. Bei diesem Beispiel
erzeugt der Eintrittsanschluss 108 ein IP-Paket 112 mit
einer leeren Nutzlast, beispielsweise ein IPv4-Paket, und kapselt
das IP-Paket ein durch Einfügen
(3) eines ersten MPLS-Shim-Anfangsblocks 300 zwischen
einem Anfangsblock 302 einer Schicht 2 (Transportschicht)
und einem Anfangsblock 304 einer Schicht 3 (Netzschicht).
Neben dem ersten MPLS- Shim-Anfangsblock 300 ist
ein zweiter MPLS-Shim-Anfangsblock 306 eingefügt, so dass der
zweite Shim-Anfangsblock 306 das
bereits eingekapselte IP-Paket 112 einkapselt.
-
Wie
es in der Technik bekannt ist, umfassen sowohl der erste als auch
der zweite MPLS-Shim-Anfangsblock 300, 306 ein
Etikettfeld 308, ein EXPerimental-Verwendungs-(EXP-) Feld 310,
ein Unterseite-des-Stapels-(S-) Feld 312 und ein Time-to-Live-(TTL-)
Feld 314. Um das Überwachungspaket
als ein Überwachungsstatus
aufweisend zu identifizieren, ist das Etikettfeld 308 des
ersten Shim-Anfangsblocks 300 ein NULL-Etikett, ein reserviertes
Etikett, das sich normalerweise nur in einem Shim-Anfangsblock befinden
sollte, der nicht durch andere Shim-Anfangsblöcke zwischen den Anfangsblöcken 302, 304 der
Schicht 2 und der Schicht 3 eingekapselt ist oder
dieselben einkapselt. Der zweite Shim-Anfangsblock 306 ist ein normaler
Shim-Anfangsblock mit einem Etikett, das einem vorbestimmten Weg
entspricht, der an dem Austrittsrouter 106 endet. Somit
wird bei diesem Beispiel das unerlaubte Vorliegen des ersten Shim-Anfangsblocks 300,
der das NULL-Etikett durch den zweiten Shim-Anfangsblock 306 eingekapselt
hat und daher demselben folgt und nahe zu demselben ist, verwendet,
um das Überwachungspaket
zu bilden.
-
Anstatt
der Verwendung des NULL-Etiketts in dem ersten Shim-Anfangsblock 300 kann
ein anderes Etikett in dem Netz 100 reserviert werden,
um den Überwachungsstatus
des Überwachungspakets anzuzeigen.
-
Um
Daten von einem oder mehreren Routern entlang einem vorbestimmten
Weg, d. h. einem LSP, zu sammeln identifiziert zunächst der
Eintrittsanschluss 108 den vorbestimmten Weg, der verfolgt werden
soll, und weist das Etikett 300 und das EXP-Feld 310 dem
zweiten Shim-Anfangsblock 306 entsprechend zu, wenn das Überwachungspaket aufgebaut
wird, auf die Weise, wie es oben beschrieben ist, wie es normale Praxis
für MPLS-Netze
ist. Danach wird das Überwachungsdatagramm
zu dem Eintrittsrouter 104 kommuniziert, durch den Eintrittsanschluss 108 für die Injektion
in das Netz 100.
-
Auf
den Empfang durch den Eintrittsrouter 104 hin wird das
oberste Etikett, d. h. das Etikett des zweiten Shim-Anfangsblocks 306 des Überwachungspakets
durch den Eintrittsrouter 104 identifiziert und analysiert,
wie es normale Praxis für MPLS-Router
ist, um den vorbestimmten Weg zu bestimmen, der dem Überwachungspaket
zugewiesen ist. Diesbezüglich
wird das Überwachungspaket
auf gleiche Weise wie andere inhaltstragende MPLS-Paketen behandelt,
und zu einem geeigneten Austrittstor 214 des Eintrittsrouters
geleitet. Anders als die übliche
Praxis für
MPLS-Router bestimmt der Eintrittsrouter 104 auch, ob der
zweite Shim-Anfangsblock 306 einen
anderen Shim-Anfangsblock einkapselt, d. h. den ersten Shim-Anfangsblock 300.
Falls der erste Shim-Anfangsblock 300 sich unter dem zweiten
Shim-Anfangsblock 306 befindet,
analysiert der Eintrittsrouter 104 den ersten Shim-Anfangsblock 300 zum
Bestimmen, ob das Etikett des ersten Shim-Anfangsblocks 300 das
NULL-Etikett oder ein anderes reserviertes Etikett ist, um den Überwachungsstatus
des Überwachungspakets
anzuzeigen.
-
In
dem Fall, dass das Überwachungspaket als Überwachungsstatus
aufweisend bestimmt wird, modifiziert der Eintrittsrouter 104 das Überwachungspaket
durch Anhängen
eines Nachsatzes 114 (1) von Bits
an die Nutzlast des Überwachungspakets,
das durch den zweiten Shim-Anfangsblock 306 definiert ist,
wodurch die Nutzlast des Überwachungspakets
erweitert wird. Der Nachsatz von Bits entspricht Daten, die durch
den Eintrittsrouter 104 verarbeitet werden. Der Nachsatz
von Bits wird an die Nutzlast des Überwachungspakets angehängt, nach
dem Schalten, aber vor der Übertragung
zu einem ersten der Mehrzahl von Routern 102.
-
Gemäß dem normalen
Betrieb des MPLS-Netzes 100 wird das Überwachungspaket von Router
zu Router entlang dem vorbe stimmten Weg geleitet, bis der Austrittsrouter 106 das Überwachungspaket
empfängt.
Bei diesem Beispiel arbeitet der Router 102 an jedem der
Mehrzahl von Routern 102 auf gleiche Weise wie der Eintrittsrouter 104, aber
anstatt nur den Nachsatz von Bits kurz vor dem Austritt anzuhängen, wird
ein Nachsatz von Bits 116 auch an das Überwachungspaket angehängt, auf den
Empfang des Überwachungspakets
hin. Obwohl bei diesem Beispiel alle der Mehrzahl von Routern die
oben beschriebene Nachsatzanhangfunktionalität besitzen, sollte klar sein,
dass auch nur eine Anzahl der Mehrzahl von Routern 102 diese
Funktionalität
besitzen kann, falls es notwendig ist.
-
Mit
Bezugnahme auf 2 und 4 bestimmt
der Router 102 (Schritt 400) auf den Empfang eines
Pakets an einem der Mehrzahl von Eintrittstoren 202 hin
zuerst, ob das Überwachungspaket
ein LSP-Paket ist. Falls das empfangene Paket kein LSP-Paket ist,
handhabt der Router 102 das empfangene Paket auf die übliche Weise,
wie der Router 102 Nicht-LSP-Pakete handhabt.
-
Wie
es erwartet wird, behält
der Router einen oder mehrere Zählwerte
von Paketen für
ein oder mehrere jeweilige LSP bei, die den Router 102 betreffen,
und falls daher das empfangene Paket als ein LSP-Paket bestimmt
wird, wie im Fall des Überwachungspakets,
aktualisiert der Router 102 (Schritt 402) einen
geeigneten Paketzählwert,
der durch den Router 102 gehalten wird, der dem LSP des
empfangenen Pakets entspricht. Danach führt eine jeweilige der Mehrzahl
von ersten Nachsatzaufbaueinheiten 204 die Analyse durch,
die oben beschrieben ist, um den Überwachungsstatus des empfangenen
Pakets zu bestimmen (Schritt 404), und hängt den
Nachsatz von Bits 116 an (Schritt 406), der oben
beschrieben ist, an die Nutzlast des Überwachungspakets, falls das
empfangene Paket als Überwachungspaket
bestimmt ist.
-
Das
modifizierte Überwachungspaket
wird dann in dem jeweiligen Eintrittspuffer 206 in eine Warteschlange
gestellt, vor dem Einlass in die Schaltstruktur 208 zum
Schalten zu dem jeweiligen Austrittspuffer 210 gemäß dem Etikett
des zweiten Shim-Anfangsblocks 306.
-
Kurz
vor dem Austritt des Überwachungspakets,
d. h. nach dem Verlassen des Austrittspuffers 210, aber
vor dem Verlassen des Routers 102 bestimmt eine jeweilige
der Mehrzahl von zweiten Nachsatzaufbaueinheiten 212 erneut,
ob das Überwachungspaket
ein LSP-Paket ist oder nicht (Schritt 400), aktualisiert
den Paketzählwert
(Schritt 402) und bestimmt dann (Schritt 404),
ob das Überwachungspaket
den Überwachungsstatus
hat oder nicht, und falls dies der Fall ist, hängt es einen weiteren Nachsatz
von Bits an (Schritt 406).
-
Der
Nachsatz von Bits entspricht einem oder mehreren der folgenden Datentypen:
Zeitstempel, wann ein Nachsatz angehängt wird, Paketzählwert, Etikett,
EXP-Feld und/oder Schnittstellenadresse. Es sollte selbstverständlich klar
sein, dass auch andere Datentypen verwendet werden können.
-
Wie
es von 1 ersichtlich ist, wächst der Nachsatz des Überwachungspakets,
während
das Überwachungspaket
durch jeden der Mehrzahl von Routern 102 entlang dem vorbestimmten
Weg verläuft,
bis das Überwachungspaket
durch den Austrittsrouter 106 empfangen wird, wo auf analoge
Weise zu dem Eintrittsrouter 104 der Austrittsrouter nur den
Nachsatz von Bits anhängt,
auf den Empfang des Überwachungspakets
hin, und nicht am Austritt desselben, weil auf den Empfang des Überwachungspakets
durch den Austrittsrouter 106 das Überwachungspaket so gesehen
wird, dass es zu dem MPLS-Netz 100 ausgetreten ist.
-
Danach,
auf den Empfang des Überwachungspakets
und das Anhängen
des Nachsatz von Bits hin, löscht
oder „entnimmt" der Austrittsrouter 106 gemäß dem normalen
Betrieb dessel ben den zweiten Shim-Anfangsblock 306, um
den ersten Shim-Anfangsblock 300 freizugeben.
Der Austrittsrouter 106 analysiert dann den ersten Shim-Anfangsblock 300,
um zu Bestimmen, ob das Etikett des ersten Shim-Anfangsblocks 300 ein
NULL-Etikett ist, oder ein anderes reserviertes Etikett, das den Überwachungsstatus
anzeigt. Falls das Etikett des ersten Shim-Anfangsblocks 300 das
NULL- oder ein anderes reserviertes Etikett ist, dann wird der erste Shim-Anfangsblock 300 gelöscht, um
einen IP-Anfangsblock des IP-Pakets 112 freizulegen.
Andernfalls besitzt der erste Shim-Anfangsblock 300 ein Etikett,
das einem gültigen
Weg entspricht, beispielsweise in Umständen, wo das MPLS-Netz 100 ein Tunnelnetz
für ein
anderes MPLS-Netz ist, wird das Überwachungs-
oder andere Paket gemäß dem normalen
Betrieb des Austrittsrouters 106 geleitet.
-
Falls
der erste Shim-Anfangsblock 300 gelöscht wurde, ist der IP-Anfangsblock
nun der hervorstehende Anfangsblock für Leitungszwecke und ein Nutzlastlängenfeld
(nicht gezeigt) des IP-Pakets wird nachfolgend modifiziert, um die
Nachsätze,
die an das Überwachungsdatagramm
angehängt
wurden, in den IP-Anfangsblock zu mischen. Danach wird das nun erweiterte
IP-Paket zu dem Austrittsanschluss 110 geleitet, für eine nachfolgende
Analyse des Überwachungspakets.
Aufgrund der Fähigkeit,
den IP-Anfangsblock zu verwenden, um die Daten des Überwachungspakets
zu dem Austrittsanschluss 110 oder einem anderen entfernten Überwachungsserver weiterzuleiten,
muss die Netzüberwachungsfunktion eines
Netzanbieters nicht an dem Austrittsrouter 106 oder nahe
zu demselben angeordnet sein. Obwohl bei diesem Beispiel die Nachsätze an die
Nutzlast des Überwachungspakets
angehängt
sind, kann das obige System so angeordnet werden, dass jeder Router
die Nachsätze
an die Nutzlast es IP-Pakets anhängt.
-
Um
die oben beschriebene Funktionalität für bestehende Router zu liefern,
besitzen einige Router eine Mehrzahl von GigaBit-Schnittstellenwandlermodulen
(GBIC-Modulen), um bei diesem Beispiel optische Signale in elektrische
Signale umzuwandeln und umgekehrt. Die GBIC-Module können durch GBIC-Module
ersetzt werden, die aufgebaut sind, um angehängte Nachsätze von Bits an Überwachungspakete
aufzubauen, wodurch es möglich
gemacht wird, bestehende Router nachzurüsten und den vollständigen Austausch
von Routern in vielen Fällen
zu vermeiden. Bei solch einem Ausführungsbeispiel modifiziert
jedes GBIC-Modul den Anfangsblock des IP-Pakets des Überwachungspakets, um jeden
angehängten
Nachsatz in die Nutzlast des IP-Pakets einzubauen.
-
Jedes
GBIC, das in der Lage ist, Nachsätze anzuhängen, umfasst
eine Anzahl von Zählern,
um die Pakete zu zählen,
die jedem LSP zugeordnet sind, die der GBIC umfasst. Falls gewünscht, können ferner
ein oder mehrere GBIC eine Zeit aufzeichnen, zu der ein Überwachungspaket
für einen
bestimmten LSP als letztes durch das GBIC „verlaufen" ist. Falls nach der aufgezeichneten
Zeit eine Auszeitperiode abläuft,
kann der GBIC zu einem aktiven Zustand schalten, in dem der GBIC
ein oder mehrere Überwachungspakete
für das
bestimmte LSP erzeugt, und das eine oder die mehreren Überwachungspakete
in den LSP injiziert. Optional kann der GBIC zu einem passiven Zustand
zurückkehren
und die Erzeugung von Überwachungspaketen
beenden, sobald Überwachungspakete
von einem Router/GBIC vorgeschaltet zu dem GBIC empfangen werden,
abhängig von
dem fortlaufenden Empfang von Überwachungspaketen
in der Auszeitperiode für
den LSP. Um die Erzeugung von Überwachungspaketen
zu unterstützen,
sind die GBICs, die für
eine solche Funktionalität in
der Lage sind, mit der IP-Adresse der Überwachungsstation vorkonfiguriert.
-
Für bestimmte
Anwendungen, die die GBICs umfassen, kann es notwendig sein, das
IP-Paket mit der maximalen Nutzlast zu erzeugen, die erlaubt ist, durch „Stopfen" der Nutzlast mit
redundanten Bits, wobei eine Anzahl der redundanten Bits allmählich ersetzt
wird, jedes Mal, wenn ein Nachsatz hinzugefügt werden muss. Selbstverständlich werden
bei diesem Beispiel, anstatt die Nutzlast zu erweitern, um einen
Nachsatz hinzuzufügen,
redundante Bits ersetzt.
-
Die
Daten, die durch das Überwachungspaket
gesammelt werden, können
verwendet werden, um Paketverlustraten und interne Verzögerungen von
Routern zu berechnen, die ein Paar von Nachsätzen liefern, wobei eine lokale
Synchronisation in Bezug auf Router für die Berechnung interner Verzögerungen
relativ leicht erreichbar ist. Falls jedoch der Eintrittsrouter 104,
der Austrittsrouter 106 und die Mehrzahl von Routern 102 synchronisiert
sind, d. h. eine Synchronisation über einen größeren Abstand erreicht
wird, ist es auch möglich,
eine durchgehende Verzögerung
zwischen dem Eintrittsrouter 104 und dem Austrittsrouter 106 für den vorbestimmten
Weg zu berechnen. Manchmal sind die Verzögerungen, die Pakete zwischen
Routern erfahren, fest und bekannt, und daher kann die interne Verzögerung der Router
zwischen dem Eintrittsrouter 104 und dem Austrittsrouter 106,
die durchgehende Verzögerung, dennoch
auf alternative Weise berechnet werden, ohne eine Synchronisation über den
größeren Abstand
zu erfordern. Die Daten, die durch das Überwachungspaket gesammelt
werden, können
auch verwendet werden, um Paketjitter zu berechnen, beispielsweise
durch Injektion von zwei Überwachungspaketen
in den Eintrittsrouter 104 zu im Wesentlichen dem gleichen
Zeitpunkt und Berechnen einer Zeitdifferenz zwischen Ankunftszeiten
der beiden Pakete an dem Austrittsrouter 106.
-
Bei
einem weiteren Ausführungsbeispiel, das
Tunnelnetze umfasst, wie es oben kurz erwähnt wurde, kann das MPLS-Netz 100 ein
MPLS-Tunnelnetz 500 innerhalb dessen umfassen (5).
Bei diesem Ausführungsbeispiel
wird das Überwachungspaket
in das MPLS-Netz 100 injiziert und in dem MPLS-Netz 100 geleitet,
wobei Nachsätze ebenfalls
an das Überwachungspaket
angehängt werden,
wo es notwendig ist, auf die bereits oben beschriebene Weise, bis
ein weiterer Eintrittsrouter 502 des MPLS-Tunnelnetzes 500 erreicht
ist. Der Eintrittsrouter 502 des MPLS-Tunnelnetzes 500 kapselt dann
das Überwachungspaket
mit einem dritten Shim-Anfangsblock (nicht gezeigt) ein, der für das MPLS-Tunnelnetz 500 spezifisch
ist, und dann wird das eingekapselte Überwachungspaket zu einem Austrittsrouter 504 des
MPLS-Tunnelnetzes 500 geleitet, durch Router (nicht gezeigt)
des MPLS-Tunnelnetzes 500.
-
An
dem Austrittsrouter 504 des MPLS-Tunnelnetzes 500 wird
der dritte Shim-Anfangsblock gelöscht,
um den zweit6en Shim-Anfangsblock 302 freizugeben, wobei
das Überwachungspaket
zu einem der Mehrzahl von Routern 102 weitergeleitet wird,
für eine
weitere Kommunikation zu dem Austrittsrouter 106 des MPLS-Netzes 100,
sobald das Überwachungspaket
zu dem MPLS-Tunnelnetz 500 ausgetreten ist.
-
Es
ist daher ersichtlich, dass das Überwachungspaket
während
dem Durchgang durch das MPLS-Tunnelnetz 500 wie jedes andere
LSP-Paket behandelt wird, und daher die Router des MPLS-Tunnelnetzes 500 das Überwachungspaket
nicht als solches behandeln und keine potentiell empfindlichen Daten über das
Tunnelnetz 500 an das Überwachungspaket
anhängen,
das von außerhalb
des Tunnelnetzes 500 stammt, wodurch die Vertrauenswürdigkeit
des Betriebs des Tunnelnetzes 500 für den Betreiber des MPLS-Netzes 102 beibehalten
wird.
-
Obwohl
die obigen Ausführungsbeispiele
im Zusammenhang von MPLS-Netzen beschrieben wurden, sollte klar
sein, dass die Prinzipien der obigen Ausführungsbeispiele an andere Netztypen
angewendet werden können,
die vergleichbare Merkmale wie MPLS-Netze zum Realisieren der oben
beschriebenen Funktionalität
liefern.
-
Alternative
Ausführungsbeispiele
der Erfindung können
als Computerprogrammprodukt für
die Verwendung mit einem Computersystem implementiert werden, wobei
das Computerprogrammprodukt beispielsweise eine Reihe von Computerbefehlen
ist, die auf einem greifbaren Datenaufzeichnungsmedium gespeichert
sind, wie z. B. einer Diskette, CD-ROM, ROM oder Festplatte, oder
in einem Computerdatensignal ausgeführt sind, wobei das Signal über ein
greifbares Medium oder ein drahtloses Medium übertragen wird, beispielsweise
Mikrowellen oder Infrarot. Die Reihe von Computerbefehlen kann die
gesamte oder einen Teil der Funktionalität bilden, die oben beschrieben
ist, und kann auch in jeder Speichervorrichtung, flüchtig oder
nicht-flüchtig,
gespeichert sein, wie z. B. Halbleiter-, magnetische, optische oder
andere Speichervorrichtung.