-
Die Erfindung betrifft ein Verfahren zum Betreiben eines Datennetzwerkes, wobei in dem Datennetzwerk Netzwerkgeräte vorhanden sind, die über Datenverbindungen Datenpakete austauschen, wobei ein Mechanismus betrieben wird, um zumindest eine Ende-zu-Ende-Latenz zwischen Netzwerkgeräten zu bestimmen, gemäß den Merkmalen des Oberbegriffes des Patentanspruches 1.
-
In vielen Netzwerken, insbesondere Datennetzwerken, existieren Mechanismen (z.B. ping oder traceroute), um die Ende-zu-Ende-Latenz zwischen Geräten (auch als Netzwerkgeräte bezeichnet) und/oder die Erreichbarkeit von Geräten im Netzwerk stichprobenartig bestimmen zu können.
-
Für echtzeitfähige Netze, in denen hohe Anforderungen an Latenz und Determinismus bestehen (insbesondere solche, welche nach dem Zeitschlitzverfahren „TDMA“ arbeiten), werden darüber hinaus weitere Mechanismen und Verfahren benötigt, um genauere Latenzmessungen durchführen zu können und um bestimmen zu können, wann ein Datenpaket empfangen, versendet oder vermittelt wird. Dies ermöglicht ein zuverlässiges Debugging und Monitoring, z.B. die Überprüfung, ob ein Datenpaket im Kontext des Zeitschlitzverfahrens den ihm zugeordneten Zeitschlitz „trifft“.
-
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Betreiben eines Datennetzwerkes bezüglich der Bestimmung der Latenzzeiten zu verbessern und die eingangs geschilderten Nachteile zu vermeiden.
-
Diese Aufgabe ist durch die Merkmale des Patentanspruches 1 gelöst.
-
Erfindungsgemäß ist vorgesehen, dass als ein Mechanismus von einem Netzwerkgerät ein Triggerpaket an zumindest ein weiteres Netzwerkgerät ausgesendet wird und mittels eines Zeitstempels festgestellt wird, wann das Triggerpaket dieses eine zumindest weitere Netzwerkgerät erreicht hat. Das Triggerpaket wird in einer ersten Ausgestaltung zusätzlich zu den Datenpaketen, die in dem Datennetzwerk über die drahtgebundenen und/oder drahtlosen Datenverbindungen ausgetauscht werden, von einem Netzwerkgerät ausgesendet und von zumindest einem weiteren, beispielsweise mehreren, vorzugsweise allen Netzwerkgeräten empfangen. Wird das Triggerpaket von zumindest einem Netzwerkgerät empfangen, wird ein Zeitstempel genommen, mit dem festgestellt wird, wann das Triggerpaket das jeweilige Netzwerkgerät erreicht hat. Aus den Zeitstempeln kann der Zeitverlauf, den das Triggerpaket von Netzwerkgerät zu Netzwerkgerät benötigt hat, festgestellt werden. Aus diesem Zeitverlauf lässt sich die Ende-zu-Ende-Latenz zwischen Netzwerkgeräten bestimmen. In einer anderen Ausgestaltung wird kein zusätzliches Triggerpaket verschickt, sondern ein Datenpaket selber wird als Triggerpaket eingesetzt. Wird ein solches Datenpaket von zumindest einem Netzwerkgerät empfangen, wird ein Zeitstempel genommen, mit dem festgestellt wird, wann das Datenpaket das jeweilige Netzwerkgerät erreicht hat. Aus den Zeitstempeln kann der Zeitverlauf, den das Datenpaket von Netzwerkgerät zu Netzwerkgerät benötigt hat, festgestellt werden. Aus diesem Zeitverlauf lässt sich unter Verwendung der Datenpakete, die gegenüber der ersten Ausgestaltung keine zusätzlichen Triggerpakete erfordert da die Datenpakete selber als Triggerpakete verwendet werden, die Ende-zu-Ende-Latenz zwischen Netzwerkgeräten bestimmen.
-
In Weiterbildung der Erfindung ist vorgesehen, dass zusätzlich zu dem Zeitstempel, der bei dem Empfang eines Paketes festgestellt (erhoben) wird, ebenfalls zu dem Zeitpunkt des Versands eines Pakets ein Zeitstempel festgestellt (ermittelt) wird. Dieser Zeitstempel kann dann zusammen mit dem Zeitstempel, der zu dem Empfangszeitpunkt des Pakets im selben Netzwerkgerät ermittelt wurde, dazu genutzt werden, die Verweildauer des Pakets in diesem Netzwerkgerät zu ermitteln. Da sich beide Zeitstempel in einem Netzwerkgerät auf die lokale Uhr desselben Netzwerkgeräts beziehen, kann die Verweilzeit präzise bestimmt werden. Diese Information kann bei der Ermittlung der Ursachen im Fall einer verzögerten Zustellung eines Pakets sehr wertvoll sein.
-
In Weiterbildung der Erfindung ist vorgesehen, dass der in dem zumindest einem weiteren Gerät festgestellte Zeitstempel als Teildatenpaket in das Triggerpaket eingefügt und weiterversendet wird. Somit steht jedem Netzwerkgerät, welches das Triggerpaket empfängt, der oder die Zeitstempel zur Verfügung, die in dem zumindest einen Netzwerkgerät, von dem es ausgesendet worden ist. Wenn das Netzwerkgerät, welches dieses Triggerpaket empfängt, den Empfang feststellt, ermittelt es diesen Zeitpunkt und stellt einen Zeitstempel fest, den es seinerseits als Teildatenpaket in das empfangene Triggerpaket einfügt und das um den eigenen Zeitstempel ergänzte Triggerpaket weiterversendet. Zum Zeitpunkt des Weiterversands kann ebenfalls ein Zeitstempel ermittelt und in das in der Übertragung befindliche Triggerpaket eingefügt werden. Dieser Weiterversand kann an ein einziges Netzwerkgerät, an eine Gruppe von Netzwerkgeräten oder an alle Netzwerkgeräte des jeweiligen Datennetzwerkes erfolgen.
-
Alternativ oder ergänzend zu der Einfügung von Zeitstempeln als Teildatenpakete in das Triggerpaket ist es in Weiterbildung der Erfindung vorgesehen, dass der in dem zumindest einem weiteren Gerät festgestellte Zeitstempel auf diesem Netzwerkgerät gespeichert und für weitere Netzwerkgeräte und/oder eine Netzmanagementstation (Netzwerk Management System) bereitgestellt wird. Neben der Einfügung von Zeitstempeln des jeweiligen Netzwerkgerätes in das Triggerpaket wird der in dem jeweiligen Netzwerkgerät festgestellte Zeitstempel auch oder nur auf dem Netzwerkgerät gespeichert, so dass er lokal zur Verfügung steht und abgefragt werden kann. Diese Abfrage kann durch eine entsprechende Anfrage eines weiteren Netzwerkgerätes und/oder einer Netzmanagementstation bei dem Netzwerkgerät, auf dem der festgestellte Zeitstempel erhoben und gespeichert worden ist, erfolgen. Bei der Einfügung von Zeitstempeln ist es denkbar, dass das Triggerpaket eine bestimmte Länge hat und diese Länge durch das Einfügen von Zeitstempel vergrößert wird. Alternativ dazu ist es denkbar, dass in dem Triggerpaket ein Platz für die Einfügung von Zeitstempel vorgehalten wird, sodass die Einfügung von Zeitstempeln die Länge des Triggerpaketes nicht verändert.
-
In Weiterbildung der Erfindung werden dem Zeitstempel, der auf dem jeweiligen Netzwerkgerät festgestellt worden ist, weitere Daten desjenigen Netzwerkgerätes, das den Zeitstempel feststellt, zugeordnet. Dies können Metainformationen wie z. B. eine Geräteidentifikation, eine MAC-Adresse, der Typ des Netzwerkgerätes und dergleichen sein.
-
In Weiterbildung der Erfindung wird aus dem Zeitstempel eines jeweiligen Netzwerkgerätes der Zeitverlauf der Datenvermittlung des Triggerpaketes über die beteiligten Datenverbindungen bestimmt. Die Verwendung des Triggerpaketes unabhängig von dem übrigen Datenaustausch zwischen den Netzwerkgeräten über die Datenverbindungen in dem Datennetzwerk hat den Vorteil, dass der Datenaustausch durch die Bestimmung und Weitergabe von Zeitstempeln nicht verzögert wird. Die Triggerpakete werden unabhängig von den übrigen Datenpaketen, die zwischen den Netzwerkgeräten ausgetauscht werden, versendet, empfangen und weiterversendet. Um die Ende-zu-Ende-Latenz bestimmen zu können, werden die in den beteiligten Netzwerkgeräten festgestellten Zeitstempel betrachtet, so dass daraus die Dauer für die Übertragung des Triggerpaketes von dem aussendenden Netzwerkgerät bis hin zu dem letzten Netzwerkgerät, welches das Triggerpaket empfängt, festgestellt werden kann. Zwischen dem Netzwerkgerät, welches das Triggerpaket aussendet, und dem Netzwerkgerät, welches als letztes das Netzwerkgerät empfängt (wobei zwischen diesen beiden Netzwerkgeräten die Ende-zu-Ende-Latenz bestimmt werden soll), kann kein weiteres Netzwerkgerät oder aber auch zumindest ein weiteres Netzwerkgerät (in der Praxis eine Vielzahl von Netzwerkgeräten) angeordnet sein.
-
Das erfindungsgemäße Verfahren realisiert somit eine Ende-zu-Ende Latenzermittlung. Alternativ oder ergänzend dazu bietet es auch eine deutlich höhere Granularität bzw. zeitliche Auflösung. Denn mit dem erfindungsgemäßen Verfahren können auch die Latenzen von beliebigen Teilpfaden bis hinunter zu einzelnen Pfadsegmenten der Übertragungsmedien des Netzwerkes bestimmt werden. Das ist möglich, weil die Empfangs- und Sende-Zeitstempel der einzelnen Netzwerkgeräte gesammelt und nicht in einem Wert akkumuliert werden. Unter dem Begriff „Granularität“ wird eine präzise Ermittlung der Übertragungszeit der Triggerpakete verstanden, die für die Übertragung der Triggerpakete von einem Startpunkt, der beliebig gewählt werden kann, bis zu einem Endpunkt, der ebenfalls beliebig gewählt werden kann, benötigt wird. Diese Übertragungszeit hängt insbesondere davon ab, wann ein Triggerpaket in einem Netzwerkgerät angekommen ist (was mittels eines Zeitstempels erhoben wird) und wann es von diesem Netzwerkgerät wieder ausgesendet worden ist (was ebenfalls mittels eines Zeitstempels erhoben wird). Die Zeitspanne zwischen dem Eintreffen des Triggerpaketes auf dem Netzwerkgerät und dem Aussenden dieses Triggerpaketes richtet sich nach der Verarbeitungszeit zumindest eines Datenpaketes, welches ebenfalls von diesem Netzwerkgerät empfangen, verarbeitet (oder nur weitergeleitet) und ausgesendet wurde. Für eine möglichst hohe präzise Ermittlung der Übertragungszeit (Latenzzeit) fallen in vorteilhafter Weise die Zeitpunkte des Eintreffens sowohl des Triggerpaketes als auch des Datenpaketes sowie unabhängig davon die Zeitpunkte des Aussendens sowohl des Triggerpaketes als auch des Datenpaketes zusammen. Das bedeutet, dass der Zeitstempel für das Eintreffen des Triggerpaketes und der Zeitstempel für das Aussenden des Triggerpaketes ein Maß dafür ist, wie lange die Verarbeitung (oder auch nur die Weiterleitung) zumindest eines Datenpaketes in dem Netzwerkgerät erfordert hat. Außerdem können die Übertragungszeiten eines jeweiligen Triggerpaketes zwischen dem Aussenden von einem Netzwerkgerät bis zu dem Eintreffen auf einem weiteren Netzwerkgerät, dass das Triggerpaket empfängt, ermittelt werden. Dadurch werden die Übertragungszeiten der Triggerpakete zwischen den Netzwerkgeräten, die zum Beispiel abhängig von der Art und der Länge eines Kabels sind oder die abhängig von einer drahtlosen Übertragung sind, durch die Erfassung der Zeitpunkte der Triggerpakete zwischen dem Aussenden von einem Netzwerkgerät bis hin zu dem Empfang auf einem nachfolgenden Netzwerkgerät präzise bestimmbar. Dieser Vorgang kann auf dem gesamten Übertragungspfad oder auf Segmenten davon beliebig oft wiederholt werden, sodass jederzeit eine Bestimmung einer Ende-zu-Ende-Latenz auf einem vorgebbaren Teilpfad oder dem gesamten Netzwerkpfad möglich ist.
-
Das erfindungsgemäße Verfahren kann somit alternativ oder ergänzend auf vier verschiedenen Wegen ausgeführt werden.
- 1. Zusätzlich und unabhängig von den Datenpaketen mit einem Nutzinhalt werden Triggerpakete auf dem Netzwerk ausgesendet und von Netzwerkgeräten empfangen. Bei dem Empfang und vorzugsweise auch bei dem Aussenden eines empfangenden Triggerpaketes wird ein Zeitstempel genommen, der auf dem Netzwerkgerät, auf dem sich gerade das Triggerpaket befindet, in das Triggerpaket eingefügt und weiter versendet wird. Erreicht das Triggerpaket ein weiteres Netzwerkgerät, wird dort genauso vorgegangen, sodass nach und nach weitere Zeitstempel in das Triggerpaket eingefügt werden. In diesem Fall existieren die Triggerpakete zusätzlich zu den Datenpaketen.
- 2. Zusätzlich und unabhängig von den Datenpaketen mit einem Nutzinhalt werden Triggerpakete auf dem Netzwerk ausgesendet und von Netzwerkgeräten empfangen. Bei dem Empfang und vorzugsweise auch bei dem Aussenden eines empfangenen Triggerpaketes wird ein Zeitstempel genommen, der auf dem Netzwerkgerät, auf dem sich gerade das Triggerpaket befindet, abgespeichert wird. Genauso wird verfahren, wenn das Triggerpaket wieder ausgesendet und von einem weiteren Netzwerkgerät empfangen wird. Somit sind in diesem Fall die Zeitstempel nicht in den Triggerpaketen enthalten, sondern sie werden auf dem jeweiligen Netzwerkgerät abgespeichert und können von dort abgerufen werden. Dies erfolgt beispielsweise durch ein Netzwerk Management System. Auch in diesem Fall existieren die Triggerpakete zusätzlich zu den Datenpaketen.
- 3. Anstelle zusätzlicher Triggerpakete werden für die Übertragung der genommenen Zeitstempel die Datenpakete herangezogen. Das bedeutet, dass die Datenpakete in diesem Fall Nutzinhalte tragen und zusätzlich Informationen über ihren Empfang und/oder ihr Aussenden auf einem Netzwerkgerät beinhalten. Bei dem Empfang und vorzugsweise auch bei dem Aussenden eines empfangenen Datenpaketes wird ein Zeitstempel genommen, der auf dem Netzwerkgerät, auf dem sich gerade das Datenpaket befindet, in das Datenpaket eingefügt und weiter versendet wird. Erreicht das Datenpaket ein weiteres Netzwerkgerät, wird dort genauso vorgegangen, sodass nach und nach weitere Zeitstempel in das Datenpaket eingefügt werden. In diesem Fall existieren keine Triggerpakete. Das bedeutet mit anderen Worten, dass beim Eintreffen eines Datenpaketes, welches als Triggerpaket fungiert, auf einem Netzwerkgerät ein Zeitstempel und/oder beim Aussenden eines Datenpaketes, welches als Triggerpaket fungiert, ein Zeitstempel genommen und in das Datenpaket eingefügt wird.
- 4. Ebenfalls anstelle zusätzlicher Triggerpakete werden für die Bestimmung der Übertragungszeit die Datenpakete herangezogen. Allerdings werden die auf den jeweiligen Netzwerkgeräten genommenen Zeitstempel nicht in das Datenpaket eingefügt, sondern in dem Netzwerkgerät, auf dem sie gerade genommen wurden, abgespeichert. Dies hat den Vorteil, dass mit den Datenpaketen der Eingangs- und/oder der Ausgangszeitpunkt auf dem jeweiligen Netzwerkgerät bestimmt werden kann, ohne dass diese Information in das Datenpaket eingefügt werden muss. Das bedeutet, dass der Zeitstempel zur Verfügung steht, jedoch das Datenpaket, genauer dessen Nutzinhalt, unverändert bleibt und das Datenpaket somit unverändert weitergeleitet werden kann. Gleichzeitig steht jedoch der zumindest eine genommene Zeitstempel in dem Netzwerkgerät zur Verfügung und kann wiederum von einem Netzwerk Management System ausgelesen werden. Das bedeutet mit anderen Worten, dass beim Eintreffen eines Datenpaketes, welches als Triggerpaket fungiert, auf einem Netzwerkgerät ein Zeitstempel und/oder beim Aussenden eines Datenpaketes, welches als Triggerpaket fungiert, ein Zeitstempel genommen und auf dem Netzwerkgerät, auf dem der Zeitstempel genommen wurde, abgespeichert wird.
-
Die Erfindung betrifft somit wenigstens den Aspekt von Ende-zu-Ende Messungen. Allgemein muss die Messung jedoch nicht von dem tatsächlichen Ende (bzw. Beginn) zu dem tatsächlichen Ende durchgeführt werden, sondern es kann auch als ein Verfahren zur Pfadsegmentlatenzbestimmung durchgeführt werden, mit dem sich beliebige Teilpfadlatenzen und in letzter Instanz die Ende-zu-Ende-Latenz ableiten lassen. Das bedeutet, dass unter dem Begriff „Ende-zu-Ende“ nicht das tatsächlich erste Netzwerkgerät und das letzte Netzwerkgerät zum Beispiel in einer Linientopologie zu verstehen ist, sondern dass sich beliebige Pfadsegmente definieren lassen, die dann durch ein erstes Netzwerkgerät und ein letztes Netzwerkgerät bestimmt sind, zwischen denen sich kein, zumindest ein oder vorzugsweise mehrere Netzwerkgeräte befinden, sodass die Latenz für die Übertragung der Triggerpakete zwischen diesem einen und diesem weiteren Netzwerkgerät bestimmt werden kann. Bei diesem einen und diesem weiteren Netzwerkgerät kann es sich, muss es sich aber nicht um das tatsächlich erste und letzte Netzwerkgerät in dem Netzwerk handeln. So werden idealerweise und in bevorzugter Weise in den Netzwerkgeräten ein Zeitstempel genommen, wenn ein Triggerpaket eintrifft, und ein weiterer Zeitstempel genommen, wenn dieses Triggerpaket nach seiner Verarbeitung (zum Beispiel Speicherung) und/oder der Verarbeitung (oder Weiterleitung) der empfangenen Datenpakete das Netzwerkgerät wieder verlässt. Aus diesen genommenen Zeitstempeln können die Übertragungszeiten (Latenzen) auf beliebigen Abschnitten des Netzwerkes bzw. dem gesamten Netzwerk unter Berücksichtigung der Verarbeitungs- bzw. Weiteneitungszeiten von Datenpaketen in dem jeweiligen Netzwerkgerät einschließlich der Übertragungszeiten auf dem Übertragungsmedium zwischen den einzelnen Netzwerkgeräten (drahtgebunden oder drahtlos) höchst präzise bestimmt werden.
-
Im letztgenannten Fall können die Netzwerkgeräte beispielsweise so konfiguriert werden, dass sie Datenpakete einer bestimmten Art oder mit einer bestimmten (Teil)Information quasi als Trigger interpretieren, sodass bei dem Ankommen eines solchen Datenpaketes aufgrund einer bestimmten Konfiguration auf einem Netzwerkgerät ein Eingangszeitstempel und/oder ein Ausgangszeitstempel genommen wird. In einer einfachen Konfiguration werden alle ankommenden Datenpakete als eine Art Trigger interpretiert, die die Bestimmung des Eingangszeitstempels und/oder des Ausgangszeitstempels auslösen. Je nach Konfiguration des Netzwerkgerätes können Datenpakete erster Art als eine Art Trigger interpretiert werden oder Datenpakete anderer Art herausgefiltert und trotzdem weitergeleitet werden, ohne dass ein Zeitstempel genommen wird. Beispielsweise können solche Datenpakete, die eine bestimmte VLAN- Priorität, eine bestimmte Ziel-MAC-Adresse oder dergleichen aufweisen, als eine Art Trigger von dem dementsprechend konfigurierten Netzwerkgerät angesehen werden.
-
Somit werden Triggerpakete auf dem Netzwerk übertragen, die in bevorzugter Weise für zumindest ein Netzwerkgerät, oder mehrere Netzwerkgeräte oder jedes Netzwerkgerät in dem Netzwerk den Zeitpunkt des Eintreffens des Triggerpaketes (Eingangszeitpunkt), und/oder den Zeitpunkt des Aussendens des Triggerpaketes (Aussendezeitpunkt) beinhalten. Dies hat den Vorteil, dass parallel dazu die Datenpakete, die ebenfalls auf dem Netzwerk übertragen werden und zum Beispiel von einem Switch weitergeleitet werden, bezüglich der Zeitstempel keine zusätzlichen Informationen aufnehmen müssen, sondern lediglich unverändert ihren Nutzsignalinhalt beinhalten. Alternativ oder ergänzend dazu ist es selbstverständlich möglich, einen erhobenen Zeitstempel auch in dem Datenpaket aufzuehmen, damit die während der Übertragung erhobenen und gesammelten Zeitstempel kumuliert werden können, um auf deren Basis die definierte Ende-zu-Ende-Latenz ermitteln zu können. Je nachdem, ob die Übertragung mittels eines Unicast-, eines Mutticast- oder eines Broadcast-Verfahrens stattfindet, werden zumindest ein Netzwerkgerät (oder eine Gruppe gleichartiger Netzwerkgeräte), mehrere Netzwerkgeräte unterschiedlicher Art oder alle Netzwerkgeräte in dem Netzwerk bzw. einem Teilsegment des Netzwerkes angesprochen.
-
Das vorstehend beschriebene erfindungsgemäße Verfahren ist auf beliebige Netzwerktopologien (wie zum Beispiel eine Ringtopologie oder eine Linientopologie) anwendbar, auch im Redundanzfall.
-
Das erfindungsgemäße Verfahren wird im Folgenden beschrieben und anhand der Figuren erläutert.
-
Es zeigen:
- 1 ein Netzwerk in Linientopologie,
- 2: ein Netzwerk in Linientopologie mit Triggerpaketen und einer Datenbank für einen Zugriff über ein Netzwerkmanagementsystem,
- 3: Einfügen eines Zeitstempels „Inline“ und in einer Datenbank des Netzwerkmanagementsystemes,
- 4: einen beispielhaften Aufbau eines Triggerpaketes,
- 5: ein Triggerpaket in einem Fehlerfall.
-
1 zeigt beispielhaft, soweit im Einzelnen dargestellt, ein Netzwerk in einer Linientopologie. Ein tatsächlicher Anfang des Netzwerkes ist durch das Netzwerkgerät ED1 und ein tatsächliches Ende des Netzwerkes durch das Netzwerkgerät ED2 bestimmt. Zwischen diesem tatsächlichen Ende und dem tatsächlichen Anfang des Netzwerkes sind in beliebiger Anzahl Netzwerkgeräte, wie zum Beispiel zwei Switche SW1 und SW2, vorhanden, die untereinander über geeignete Übertragungsmedien (wie zum Beispiel drahtgebunden über Kabel oder drahtlos, zum Beispiel über Funk, Infrarot oder dergleichen) miteinander verbunden sind und nicht näher dargestellte Datenpakete austauschen. Zusätzlich zu diesen Datenpaketen werden Triggerpakete TP übertragen. In 1 ist durch die Darstellung eines jeden Triggerpaketes links von dem Switch bzw. links von dem Netzwerkgerät angedeutet, dass immer dann, wenn ein solches Triggerpaket an dem Eingang des betroffenen Netzwerkgerät ankommt, der Zeitpunkt für das Eintreffen (der Empfang) festgestellt wird, also ein Zeitstempel erhoben wird. Alternativ oder ergänzend dazu kann auch der Zeitpunkt, wann ein Triggerpaket das jeweilige Netzwerkgerät verlässt, ermittelt werden. Um eine möglichst hohe präzise Auflösung bzw. Bestimmung der Übertragungszeit zu realisieren, werden sowohl der Empfangs-als auch der Aussendezeitpunkt ermittelt.
-
In 2 ist ein Netzwerk in Linientopologie mit Triggerpaketen und einer Datenbank für einen Zugriff über ein Netzwerk Management System dargestellt. Das Netzwerk gemäß 2 basiert auf der Funktionsweise des Netzwerkes, wie es in 1 dargestellt ist, jedoch mit dem Unterschied, dass ein Netzwerk Management System (NMS, network managementsystem) mit zumindest einem Netzwerkgerät (in diesem Beispielfall der Switch SW1) dauerhaft verbunden oder zeitweise verwendbar ist. Das Netzwerk Management System kann selbstverständlich auch mit mehr als einem Netzwerkgerät oder allen Netzwerkgeräten, die sich in dem Netzwerk befinden (unabhängig von seiner Topologie), dauerhaft verbunden oder verbindbar sein. In einer Speichereinheit des jeweiligen Netzwerkgerätes wird dann der Eingangszeitstempel und/oder der Ausgangszeitstempel des Triggerpaketes nach seiner Erfassung abgespeichert (zum Beispiel in einer Datenbank, Mgmnt DB). Das Netzwerk Management System kann auf diese Datenbank zugreifen und für jedes Triggerpaket, welches das jeweilige Netzwerkgerät erreicht bzw. verlassen hat, die Zeitstempel auslesen und daraus, in Verbindung mit den Zeitstempeln der anderen Netzwerkgeräte, die Ende-zu Ende-Latenz für das gesamte Netzwerk (also von ED1 bis ED2) oder auch für bestimmte frei wählbare Segmente des Netzwerkes (wie zum Beispiel von ED1 bis SW2 oder von SW2 bis ED2) ermitteln.
-
3 zeigt den Fall des Einfügens eines Zeitstempels „Inline“ und in einer Datenbank des Netzwerk Management Systemes. Der Zeitpunkt des Eintreffens des Triggerpaketes ist dabei mit TSin und der Zeitpunkt des Aussendens des Triggerpaketes mit TSout bezeichnet. Diese beiden Zeitpunkte und/oder die sich daraus ergebende Zeitspanne können in das Triggerpaket, welches von diesem Netzwerkgerät (hier als SWx, x = 1, 2, 3 usw. bezeichnet) eingefügt und weiter übertragen werden und/oder in der Management-Datenbank Mgmnt DB abgespeichert werden. Aus dieser Datenbank können die Zeitpunkte bzw. Zeitspannen ausgelesen und für die Latenzbestimmung herangezogen werden. Bei dem Aufbau des Triggerpaketes in 3 wird in der Figur selber der Begriff „Triggerframe“ verwendet, wobei grundsätzlich die Begriffe „Triggerframe“ und „Triggerpaket“ synonym zueinander verwendet werden können. Wird das erfindungsgemäße Verfahren auf Layer 2-Ebene realisiert, kann der Begriff „Triggerframe“ verwendet werden, wohingegen der Begriff „Triggerpaket“ verwendet werden kann, wenn das erfindungsgemäße Verfahren auf Layer 3-Ebene oder darüber durchgeführt wird.
-
4 zeigt einen beispielhaften Aufbau eines Triggerpaketes, wobei erkennbar ist, dass in dem Triggerpaket nicht nur die Eingangs- und Ausgangszeitstempel des jeweiligen Netzwerkgerät enthalten sind, sondern dass optional auch weitere Daten (zum Beispiel Metadaten) in dem Triggerpaket enthalten sein können und übertragen werden. Die Anzahl der Zeitstempel in diesem Triggerpaket richtet sich nach der Anzahl der Netzwerkgeräte, insbesondere nach der Anzahl der Endgeräte bzw. der zwischengeschalteten Geräte, wie zum Beispiel Switche. Ein solches Triggerpaket kann, muss aber nicht die Daten des tatsächlichen ersten Netzwerkgerätes (hier ED1) bzw. des tatsächlichen letzten Netzwerkgerätes (hier ED2) enthalten, sondern kann beispielsweise auch nur die Daten der zwischen diesen Endgeräten geschalteten Netzwerkgeräte enthalten.
-
5 zeigt, basierend auf dem Triggerpaket, wie es in 4 dargestellt ist, ein Triggerpaket in einem Fehlerfall mit beispielhaften Zeitangaben für den jeweiligen Eingangs- und aus Sendezeitpunkt in dem jeweiligen Netzwerkgerät.
-
Als Beispiel für die Ermittlung der Ende-zu-Ende-Latenz zwischen zwei Geräten kann eine Linientopologie mit zwei Endgeräten dienen (siehe 1, in der eine Linientopologie mit Triggerpaket dargestellt ist). Hierbei wird ein Triggerpaket TP von einem Netzwerkgerät ED1 ausgesendet und von einem anderen Netzwerkgerät ED2 empfangen. Nach Empfang des Triggerpakets durch das Netzwerkgerät ED2 kann die Ende-zu-Ende-Latenz dadurch bestimmt werden, dass der Sendezeitpunkt des Triggerpakets von dem Netzwerkgerät ED1 vom Empfangszeitpunkt des Triggerpakets in dem Netzwerkgerät ED2 (siehe hierzu 4, in der Aufbau des Triggerpaketes dargestellt ist) abgezogen wird. Hierdurch ist die genaue Ende-zu-Ende-Paketlaufzeit zwischen den Netzwerkgeräten ED1 und ED2 gegeben. Im Unterschied zu Verfahren zur Ermittlung der Ende-zu-Ende-Latenz, wie es zum Beispiel bei Path-delay-Messungen bei IEEE 1588 E2E TC erfolgt, liegen im hier beschriebenen Verfahren die Sende- und Empfangszeitpunkte des Triggerpakets auf dem jeweiligen Netzwerkgerät auf dem Vermittlungspfad (Übertragungsmedium) einzeln vor. Hierdurch ist es möglich, bei der Latenzermittlung genauere Rückschlüsse über das zeitliche Pfadverhalten zu ziehen. Weiterhin können die Triggerpakete unabhängig von der durch das Zeitsynchronisierungsprotokoll vorgegebenen Netzwerkpriorität auf einer frei gewählten Netzwerkpriorität versendet werden. Dadurch ist es möglich, die Vermittlung des Triggerpakets bei der Weiterleitung in verschiedenen Prioritätsklassen zu bewerten.
-
Falls nun das im obigen Beispiel genannte Triggerpaket von dem Netzwerkgerät ED1 zu dem Netzwerkgerät ED2 eine unerwartet hohe Verzögerung aufweist, wird es auf Basis der Erfindung möglich, die einzelnen Verzögerungen auf jedem Schritt des Übertragungspfads zu betrachten und dadurch eine präzise Eingrenzung der Fehlerquelle zu erreichen. In 5 liegt als Beispielfall im Netzwerkgerät SW2 ein Fehler vor. Die ermittelte Ende-zu-Ende-Latenz zwischen den Netzwerkgeräten ED1 und ED2 liegt mit 670ns stark über der erwarteten Latenz. Die Fehlerursache kann nun auf das Netzwerkgerät SW2 eingegrenzt werden, da die Verweildauer in dem Netzwerkgerät SW2 mit 430ns zum Beispiel von dem Netz Management Systems präzise ermittelt werden kann und die - angenommene beispielhafte - normale Verweildauer in einem Switch von 100ns deutlich übersteigt. Die vorgenannten Zahlenwerte sind rein beispielhaft und nicht einschränkend.
-
Bei den Figuren handelt es sich bei den dargestellten Meta-Daten um einen beispielhaften Paketaufbau.
-
Bezüglich der sowohl in dem Ausführungsbeispiel als auch allgemein erwähnten Netzwerkgeräte handelt es sich beispielsweise um sogenannte Endgeräte (wie beispielsweise Personal Computern, Sensoren, Aktoren, Industriesteuerungen und dergleichen), die einen tatsächlichen Beginn bzw. ein tatsächliches Ende eines Netzwerkes (zum Beispiel in Linien- oder auch in Ringtopologie) bilden. Diejenigen Netzwerkgeräte, die zwischen diesen Endgeräten angeordnet sind, dienen im Regelfall der eigentlichen Verteilung bzw. Vermittlung von Datenpaketen (mit Nutzsignalinhalt) und schicken, mit Ausnahme der erfindungsgemäß vorgesehenen Triggerpakete, keine neuen Datenpakete auf das Netzwerk bzw. verändern den Nutzsignalinhalt eines weitergeleiteten Datenpaketes nicht.
-
Im Folgenden wird die Erfindung noch einmal mit anderen Worten wiedergegeben:
- 1. Inline: Es wird ein „Triggerpaket“ versendet, welches dafür sorgt, dass einzelne Geräte, vorzugsweise jedes Gerät auf dem Übertragungspfad, welches das hier beschriebene Verfahren unterstützt, Zeitstempel nimmt (z.B. den jeweiligen Empfangs- und/oder Versandzeitpunkt) und die gemessenen Werte sowie optionale Metainformationen (z.B. eine GerätelD und/oder dergleichen) in das Triggerpaket einfügt. Hierdurch entsteht eine vollständige Aufzeichnung des Zeitverlaufs der Datenvermittlung auf einzelnen Vermittlungspfaden, vorzugsweise auf jedem Vermittlungspfad (inklusive das Verfahren unterstützende Endgeräte) innerhalb des Netzwerkes. Diese Aufzeichnung kann durch den zumindest einen Empfänger (Gerät) verarbeitet oder für die weitere Verarbeitung bereitgestellt werden (z.B. durch Weitergabe an ein Managementsystem oder durch Rückübertragung des Paketes an den Initiator der Messung).
- 2. Out-of-band: Wie 1., mit dem Unterschied, dass die Messwerte und Metainformationen nicht auf dem jeweiligen Gerät direkt in das Paket eingefügt werden, sondern auf dem Netzwerkteilnehmer, auf dem sie erhoben wurden, zwischengespeichert und zur Verfügung gestellt werden. Die gespeicherten Werte können z.B. über ein Managementprotokoll von einem Managementsystem abgefragt werden. In dieser zweiten Variante des Verfahrens können auch Mechanismen aus existierenden Protokollen zur Zeitsynchronisation (wie zum Beispiel IEEE 1588) als „Triggerpaket“ und zur Erhebung der Zeitstempel verwendet werden.
-
Die beiden vorstehend beschriebenen Verfahren können jeweils alleine oder in Kombination angewandt werden.
-
Weitere generelle Informationen:
- • Für die Messung der Zeitstempel sollte eine möglichst genaue, gemeinsame Zeitbasis im Netzwerk vorhanden sein (z.B. auf Basis von IEEE 1588).
- • Um eine möglichst präzise Zeitmessung zu erreichen sollte das Verfahren zur Zeitstempelung höchste Genauigkeit aufweisen (z.B. idealerweise hardwareunterstützt).
- • Das Messverfahren ist geeignet für die Verwendung mit Unicasts, Multicasts und Broadcasts.
- • Die Neuheit der Erfindung zeichnet sich dadurch aus, dass im Gegensatz zu existierenden Verfahren wie z.B. IEEE 1588 keine Aggregation der Gesamtdurchlaufzeiten im Triggerpaket erfolgt, sondern die gemessenen Werte für ein Paket während der Vermittlung separat aufgezeichnet und einzeln zur Verfügung gestellt werden. Dies ermöglicht zum Beispiel die Ermittlung der Latenzbeiträge, die unter anderem bei der Vermittlung durch einzelne Netzwerkteilnehmer verursacht werden. Außerdem kann hierdurch bei Zeitschlitzverfahren die Einhaltung der Zeitvorgaben für die Übertragung einzelner Pakete überwacht und Fehlerfälle diagnostiziert werden.
- • Die beschriebene Messung kann zum Beispiel auf Basis eines reservierten Zeitschlitzes im Rahmen des Zeitschlitzverfahrens erfolgen.