-
Die Erfindung betrifft eine Lösung zur verbindungslosen Ende-zu-Ende-Übertragung von Daten in Netzwerken. Sie bezieht sich auf die paketvermittelte Übertragung von Daten von einem Endpunkt eines solchen Netzwerks zu einem anderen Endpunkt des betreffenden Netzwerks. Hierbei bezieht sich die Erfindung insbesondere auf die Datenübertragung in IP-basierten Netzwerken, in welchen Daten anhand ihrer Ziel- beziehungsweise Empfängeradresse, das heißt insbesondere anhand einer IP-Adresse, vermittels in dem Netzwerk angeordneter Router in Form von Datenpaketen durch das Netzwerk hindurch zu dem für sie bestimmten Ziel geleitet werden. Gegenstand der Erfindung sind ein Verfahren und eine Anordnung für eine solche verbindungslose, paketvermittelte Datenübertragung.
-
In Bezug auf die Übertragung von Daten in Netzwerken wird insbesondere zwischen verbindungsorientierten und verbindungslosen Netzen unterschieden. Beispiele für verbindungsorientierte Netze sind unter anderem das ISDN-Telefonnetz und das ATM-Netz. In derartigen Netzwerken wird zwischen einem Daten aussendenden ersten Endpunkt des Netzwerkes und einem zweiten, für den Empfang der Daten bestimmten Endpunkt für die Dauer der Datenübertragung eine feste Verbindung aufgebaut. Über diese Verbindung werden die entsprechenden Daten, bei welchen es sich auch um digitalisierte Gesprächsdaten handeln kann, übertragen und danach die Verbindung wieder abgebaut. Der gesamte, gegebenenfalls auch in Pakete unterteilte Datenstrom der von dem ersten Endpunkt zum zweiten Endpunkt übertragenen Daten wird dabei über ein und denselben, durch die aufgebaute Verbindung bestimmten Weg durch das Netz übertragen.
-
Hiervon unterscheiden sich verbindungslose, paketorientierte Netze beziehungsweise Netzwerke dadurch, dass bei ihrer Nutzung auf einen Verbindungsaufbau und einen Verbindungsabbau verzichtet wird. Vielmehr wird hierbei der zu übertragende Datenstrom in jedem Falle in Pakete unterteilt, wobei jedes Paket eine Headerinformation erhält, deren Bestandteil unter anderem die Empfängeradresse für die zu übertragenden Daten ist. Über in dem Netzwerk angeordnete Router werden die einzelnen Datenpakete anhand der Empfängeradresse dem bestimmungsgemäßen Endpunkt zugeführt. Ein klassisches Beispiel für ein derartiges verbindungsloses Netzwerk ist zum Beispiel das Internet, bei welchem die Adressierung eines jeweiligen, für den Empfang von Daten bestimmten Endpunkts mittels einer in den Datenpaketen beziehungsweise in deren Header enthaltenen IP-Adresse erfolgt. Theoretisch könnten bei Anwendung dieser Übertragungsmethode Datenpakete mit derselben Empfangs- beziehungsweise IP-Adresse in dem Netzwerk über unterschiedliche Wege dem bestimmungsgemäßen Endpunkt beziehungsweise Empfänger zugeführt werden. Soweit sich die Übertragungsdauer einzelner Datenpakete aufgrund unterschiedlicher genutzter Übertragungswege unterscheidet, so dass die Datenpakete nicht in der Reihenfolge beim Empfänger eintreffen, in welcher sie ausgesendet wurden, stellt es dabei technisch kein Problem dar, die ursprüngliche Reihenfolge der Datenpakete anhand entsprechender Merkmale im Header empfängerseitig wieder herzustellen.
-
Allerdings treten aufgrund der heute üblichen hohen Datenübertragungsraten im Zuge einer solchen paketweisen Datenübertragung erhebliche Probleme auf, sofern für jedes der Datenpakete ein durch das Netzwerk hindurch zu wählender Weg während des Übertragungsvorgangs gesondert berechnet werden soll. In der Praxis werden daher in der Regel auch in verbindungslosen Netzen alle Datenpakete eines eine Datensendung repräsentierenden Datenstroms über den gleichen Weg beziehungsweise die gleiche Route durch das Netz zum empfangenden Endpunkt übertragen. Hierbei wird ausgehend von der in dem ersten bei einem Router eintreffenden Datenpaket beziehungsweise von der in dessen Header enthaltenen Empfängeradresse (IP-Adresse) ein Übertragungsweg durch das Netzwerk bestimmt und in einer Tabelle, der sogenannten Forwarding Information Base (FIB), eine Weiterleitungs- beziehungsweise Forwarding-Information vermerkt, welche angibt, zu welchem nachfolgenden Router das betreffende Datenpaket und auch die ihm folgenden, zum selben Datenstrom der Datensendung gehörenden Datenpakete weitergeleitet werden. Der nachfolgende und gegebenenfalls weitere Router verfahren in entsprechender Weise. Nur ausnahmsweise, wenn sich beispielsweise aufgrund veränderter Netzwerkauslastung ergibt, dass der insoweit gewählte Übertragungsweg im Hinblick auf eine sich ergebende zu lange Übertragungsdauer überlastet ist, wird gegebenenfalls in der zuvor beschriebenen Weise ein neuer Übertragungsweg für die weiteren Datenpakete genutzt.
-
Darüber hinaus ist ein als Multipath-TCP bezeichnetes Verfahren bekannt geworden. Hierbei werden für eine bessere Netzwerkauslastung die Datenpakete einer Datensendung beziehungsweise eines Datenstroms über mehrere Wege vom sendenden Endpunkt zum empfangenden Endpunkt übertragen. Allerdings setzen dieses Verfahren und das zu seiner Implementierung auf der Transportschicht des OSI-Schichtenmodells dienende Übertragungsprotokoll MPTCP voraus, dass an dem empfangenden Endpunkt mehrere IP-Adressen existieren. Dies ist jedoch bei der üblichen Internetnutzung in der Regel nicht gegeben.
-
Aufgabe der Erfindung ist es, eine alternative Lösung für die verbindungslose, paketvermittelte Datenübertragung zwischen Endpunkten eines Netzwerks anzugeben, durch welche eine effektive Ausnutzung der Netzwerkressourcen ermöglicht und eine möglichst schnelle Übertragung der Daten Ende-zu-Ende gewährleistet ist, ohne dass hierfür am empfangenden Endpunkt besondere Maßnahmen, wie das Einrichten mehrerer IP-Adressen, getroffen werden müssen. Hierzu sind ein Verfahren und eine Anordnung anzugeben.
-
Die Aufgabe wird durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst. Eine die Aufgabe lösende, zur Durchführung des Verfahrens geeignete Anordnung wird durch den ersten Sachanspruch charakterisiert. Vorteilhafte Ausund Weiterbildungen der Erfindung sind durch die jeweiligen Unteransprüche gegeben.
-
Das zur Lösung der Aufgabe vorgeschlagene Verfahren zur verbindungslosen, paketvermittelten Datenübertragung zwischen zwei Endpunkten eines Netzwerks geht davon aus, dass üblicherweise in einem solchen Netzwerk, wie beispielsweise dem Internet, mehrere Übertragungswege für zwischen den Endpunkten zu übertragende Daten zur Verfügung stehen. Zur Lösung der Aufgabe wird vorgeschlagen, dass für einen Datenstrom, der von einem Endpunkt des Netzwerks zu einem anderen Endpunkt ausgesendet wird, in mindestens einem der Router des Netzwerks mehrere als sinnvoll zu erachtende Übertragungswege berechnet und auch gleichzeitig zur Übertragung des Datenstroms genutzt werden. Unter einem Datenstrom soll in diesem Zusammenhang und im Kontext der Erläuterungen zur Erfindung jede während einer zwischen Endgeräten an zwei Endpunkten des Netzwerks bestehenden Session, von einem Endgerät eines der Endpunkte an ein Endgerät am jeweils anderen Endpunkt im Rahmen eines Sendevorgangs übertragene, eine Mehrzahl von Datenpaketen umfassende Datensendung verstanden werden.
-
Die Berechnung als sinnvoll zu erachtender Übertragungswege erfolgt anhand der in den Datenpaketen, vorzugsweise in dem ersten bei dem Router eintreffenden Datenpaket enthaltenen Empfängeradresse nach üblichen, bereits aus dem Stand der Technik bekannten Verfahren. Dabei können beispielsweise nur solche Übertragungswege als sinnvoll erachtet und zur Übertragung der Datenpakete eines Datenstroms genutzt werden, welche nicht über mehr als eine vorgegebene maximale Anzahl von Vermittlungsknoten beziehungsweise Routern zum Ziel, das heißt zu dem für ihren Empfang bestimmten Endpunkt des Netzwerks führen. Oder es kann festgelegt werden, dass zur Übertragung von Datenpaketen eines Datenstroms, also von Datenpaketen mit einem hinsichtlich der Empfängeradresse gleichen Datenpaketheader, nur solche Übertragungswege berücksichtigt werden, die beispielsweise höchstens 50 % länger sind als der kürzestes Übertragungsweg. Die Berechnung der insoweit als sinnvoll erachteten Übertragungswege kann dabei zum Beispiel nach den bekannten Prinzipien des IP-Fast-Reroute erfolgen, wie sie beispielsweise durch die IETF (Internet Engineering Task Force) gemäß RFC 5714 oder RFC 5286 standardisiert sind.
-
Nach dem erfindungsgemäßen Verfahren werden die Datenpakete eines Datenstroms, gesteuert durch eine Steuereinrichtung des mindestens einen, die mehreren als sinnvoll erachteten Übertragungswege berechnenden Routers, wechselweise über diese unterschiedlichen (sinnvollen) Übertragungswege zu dem anderen, den Datenstrom empfangenden Endpunkt übertragen. Dabei erfolgen erfindungsgemäß sowohl die Bestimmung der für die Übertragung des Datenstroms als sinnvoll erachteten Übertragungswege als auch die wechselweise Auswahl dieser Übertragungswege zur Übertragung der einzelnen Datenpakete des Datenstroms aufgrund von Routingentscheidungen, welche von der Steuereinrichtung des Routers durch die Anwendung jeweils mindestens einer dazu in der Steuereinrichtung hinterlegten Vorschrift getroffen werden. Bei der jeweiligen Vorschrift kann es sich sowohl um eine einfache Regel als auch um einen in der Steuereinrichtung hinterlegten komplexeren Algorithmus handeln.
-
Der entscheidende Unterschied zum Stand der Technik besteht demgemäß darin, dass alle Datenpakete eines eine Datensendung repräsentierenden Datenstroms, wechselweise – und zwar wann immer dies möglich ist – über unterschiedliche Übertragungswege durch das Netz übertragen werden, obwohl die Header der Datenpakete dieses Datenstroms die selbe Empfängeradresse enthalten. Mithin erfolgt die Auswahl und Nutzung eines oder mehrerer anderer, alternativer Übertragungswege nicht erst oder nur dann, wenn Probleme bei der Datenübertragung über einen als priorisiert angesehenen Übertragungsweg auftreten. Zudem erfolgt die Berechnung möglicher (sinnvoller) Übertragungswege, über welche die Datenpakete eines Datenstroms übertragen werden, (abgesehen von dem ersten Datenpaket des Datenstroms oder dem ersten Datenpaket, für dessen Übertragung eventuelle Veränderungen der Netzwerkbelastung durch die Berechnung neuer Übertragungswege Berücksichtigung finden – Ausführungen zu Letzterem werden nachfolgend gegeben) nicht erst beim Eingang eines jeweiligen Datenpakets bei dem Router.
-
Selbstverständlich sind die Zustände in einem Netzwerk, insbesondere was die Netzwerkbelastung anbelangt, in der Praxis nicht statisch. Vielmehr ist die Netzwerkbelastung und damit die Belastung der durch das Netzwerk gegebenen und als sinnvoll zu erachtenden Übertragungswege dynamisch und daher gegebenenfalls starken Schwankungen unterworfen. Um dem Rechnung zu tragen, ist es entsprechend einer bevorzugten Ausbildung der Erfindung vorgesehen, dass eine neue Routingentscheidung in Bezug auf die für die Übertragung der Datenpakete eines Datenstroms als sinnvoll erachteten Übertragungswege erfolgt, sofern ein derartige Routingentscheidungen treffender Router Informationen von benachbarten Routern beziehungsweise Netzwerkknoten erhält, wonach ein oder mehrere der entsprechend der vorausgegangenen Routingentscheidung als sinnvoll erachteten Übertragungswege überlastet oder unterbrochen sind.
-
Da die Datenpakete eines nach dem zuvor erläuterten Verfahren übertragenen Datenstroms auf unterschiedlichen Übertragungswegen durch das Netzwerk geleitet werden, kann sich die Übertragungsdauer der einzelnen Datenpakete durch das Netzwerk gegebenenfalls stark unterscheiden. Dies kann zum Beispiel auftreten, wenn ein Teil der Datenpakete abschnittsweise über eine Kupferdoppelader oder über Funk übertragen wird, wohingegen andere Datenpakete desselben Datenstroms ausschließlich über Glasfaserkabel übertragen werden. Hierdurch können von einem ersten Endpunkt ausgesendete Datenpakete unter Umständen früher von ihm ausgesendete Datenpakete auf dem Weg durch das Netzwerk gewissermaßen überholen. Beim empfangenden Endpunkt treffen demnach die Datenpakete eines Datenstroms gegebenenfalls in veränderter Reihenfolge ein. Im Allgemeinen, insbesondere im Zusammenhang mit der Übertragung von Daten für die meisten Computeranwendungen, stellt dies kein Problem dar, da die Einrichtungen (Endgeräte und Software) am empfangenden Endpunkt anhand der Header der Datenpakete deren ursprüngliche Reihenfolge wieder herstellen können.
-
Allerdings gibt es auch Anwendungen, wie beispielsweise die Sprachtelefonie (in digitalen Netzwerken stellt bekanntermaßen auch die Sprachtelefonie eine Übertragung von Daten, nämlich von digitalen Sprachdaten dar), welche derartige Laufzeitunterschiede bei der Übertragung der einzelnen Datenpakete nur teilweise oder gar nicht tolerieren. Um hier Unzuträglichkeiten zu vermeiden, ist in Weiterbildung des Verfahrens die Möglichkeit vorgesehen, dass durch die das Routing steuernde Steuereinrichtung des Routers Datenpakete eines Datenstroms, für die in ihrem Header eine bestimmte QoS-Klasse (QoS = Quality of Service) vermerkt ist, ausnahmsweise und gegebenenfalls auch nur temporär nicht über die unterschiedlichen, durch die Steuereinrichtung als sinnvoll berechneten Übertragungswege übertragen werden, sondern ausschließlich über einen dieser berechneten Übertragungswege. Derartige QoS-Klassen sind beispielsweise im Rahmen des EU-Projektes Muse (Multi Service Access Everywhere) bereits definiert worden.
-
Wie bereits ausgeführt wurde, wird auch die Routingentscheidung darüber, wie die einzelnen Datenpakete eines Datenstroms wechselweise über die als sinnvoll berechneten Übertragungswege zum Empfänger weitergeleitet werden, durch die Anwendung mindestens einer in der Steuereinrichtung des Routers hinterlegten Vorschrift (Regel oder durch die Steuereinheit abzuarbeitender Algorithmus) getroffen. Erfindungsgemäß erfolgt diese wechselweise Pfadauswahl beziehungsweise wechselweise Auswahl des Übertragungsweges entsprechend einer dafür gegebenen Möglichkeit zufällig, das heißt stochastisch.
-
Eine andere Möglichkeit besteht in einer innerhalb der entsprechenden Vorschrift für die Routingentscheidung abgebildeten festen Reihenfolge der wechselweise auszuwählenden Übertragungswege. Sollen dabei die Datenpakete des Datenstroms ungleichmäßig auf die einzelnen möglichen, das heißt als sinnvoll angesehenen Übertragungswege aufgeteilt werden, so kann dies beispielsweise durch die mehrfache Angabe desselben Übertragungsweges innerhalb einer solchen Reihenfolge realisiert werden. Soweit zum Beispiel drei mögliche Übertragungswege (Weg 1, Weg 2 und Weg 3) als sinnvoll berechnet wurden, könnte gemäß einer solchen, im Hinblick auf die ungleichmäßige Auslastung der Übertragungswege gewichteten Reihenfolge die Übertragung aufeinanderfolgend beim Router eintreffender Datenpakete nach dem Schema Weg 1, Weg 2, Weg 2, Weg 3 erfolgen.
-
Ein anderer Ansatzpunkt besteht in der Hinterlegung einer zählerbasierten Regel in der Steuereinrichtung des Routers. Demgemäß können aufeinanderfolgend bei dem Router eintreffende Datenpakete entsprechend einer vorgegebenen Anzahl zunächst über einen ersten sinnvollen Übertragungsweg geführt, nachfolgende Datenpakete in entsprechender (gegebenenfalls von der für den ersten Übertragungsweg festgelegten Anzahl abweichender) Anzahl auf einem zweiten Übertragungsweg übertragen und schließlich wiederum weitere Datenpakete entsprechend einer vorgegebenen Anzahl über einen dritten Übertragungsweg – und so weiter – geleitet werden.
-
In ähnlicher Weise kann allerdings auch zeitbasiert verfahren werden. So ist es denkbar, zur Übertragung der Datenpakete eines Datenstroms für eine vorgegebene Zeitdauer zunächst einen ersten der berechneten Übertragungswege, dann wiederum für eine bestimmte Zeitdauer einen zweiten Übertragungsweg zu nutzen – und so weiter und so weiter.
-
Im Hinblick auf die beiden letztgenannten Varianten für Vorschriften beziehungsweise Regeln zur wechselweisen Auswahl von sinnvollen Übertragungswegen kann es zudem vorgesehen sein, dass die Zählerwerte für die zählerbasierte Auswahl der Übertragungswege oder die Zeitdauer für die zeitbasierte Auswahl der Übertragungswege entsprechend der Auslastung der einzelnen Übertragungswege fortwährend dynamisch angepasst wird.
-
Bei der die Aufgabe lösenden, zur Durchführung des zuvor erläuterten Verfahrens geeigneten Anordnung zur verbindungslosen, paketvermittelten Datenübertragung in einem Netzwerk handelt es sich um einen speziell ausgebildeten Router, dem eine zusätzliche Einheit, nämlich eine Wegesteuerung, als integraler Bestandteil hinzugefügt ist oder um einen Router dem die vorgenannte, hinsichtlich ihrer Funktion noch zu erläuternde Wegesteuerung gewissermaßen als vorgeschaltete oder beigestellte Einheit zugeordnet ist. Da die genannte Wegesteuerung, wie ausgeführt, nicht zwingend integraler Bestandteil des betreffenden Routers ist, sind die entsprechenden, die Erfindung charakterisierenden Sachansprüche auf eine Anordnung gerichtet, selbst, wenn es sich dabei je nach Ausführungsform gegebenenfalls lediglich um einen Router mit entsprechender Wegesteuerung als integralem Bestandteil und damit gewissermaßen nur um eine einzelne Einrichtung handelt.
-
Der Router der vorgeschlagenen Anordnung verfügt, wie bekannt, über mehrere Eingangsports und mehrere Ausgangsports und umfasst darüber hinaus mindestens einen Switch, das heißt ein mehrere Eingangsports und mehrere Ausgangsports aufweisendes Netzwerkkopplungselement, eine Routingtabelle und einen Controller. Im Hinblick darauf, dass der Router die zuvor und auch im Patentanspruch genannten Einheiten und Baugruppen mindestens umfasst, können darüber hinaus weitere im Rahmen der Darstellung der Erfindung nicht näher betrachtete Baugruppen und Einheiten Bestandteile des Routers sein. Hierdurch wird aber auch zum Ausdruck gebracht, dass der Router die angegebenen Einheiten beziehungsweise Baugruppen jeweils mindestens einmal umfasst. Demnach können die betreffenden Baugruppen oder Einheiten gegebenenfalls auch mehrmals in dem Router vorhanden sein. Soweit in den nachfolgenden Darstellungen nicht ausdrücklich etwas anderes angegeben ist, ist insoweit die Möglichkeit, dass eine jeweils genannte Baugruppe oder Einheit gegebenenfalls mehrfach in dem Router angeordnet ist, immer mit eingeschlossen, selbst wenn aus Gründen der sprachlichen Vereinfachung im Allgemeinen die Einzahl für die entsprechende Einheit beziehungsweise Baugruppe gebraucht wird.
-
In an sich bekannter Weise steuert der genannte Controller den Router im Hinblick auf die Auswahl von Übertragungswegen für bei dem Router eingehende Datenpakete, wobei jedes Datenpaket eines bei dem Router eingehenden Datenstroms einem Ausgangsport des Routers und damit einem bestimmten Übertragungsweg durch das Netzwerk zugeleitet wird. Ein einen Übertragungsweg für Datenpakete bestimmender Routingeintrag wird, wie bekannt, anhand der Empfängeradresse für den Datenstrom berechnet.
-
Erfindungsgemäß ist die eine oder sind die mehreren Routingtabellen des Routers so ausgebildet, dass in ihr beziehungsweise in ihnen für voneinander verschiedene Datenpakete ein und desselben Datenstroms Routingeinträge ablegbar beziehungsweise abgelegt sind, welche auf unterschiedliche Ausgangsports des Routers und damit auf unterschiedliche Übertragungswege durch das Netzwerk verweisen. Abweichend vom Stand der Technik werden demgemäß bei der erfindungsgemäßen Anordnung beziehungsweise dem Router, als dem wesentlichen Element dieser Anordnung, die Datenpakete eines Datenstroms unterschiedlichen Ausgangsports des Routers zugeleitet.
-
Dies ist nach dem Stand der Technik nicht der Fall, da hier die Datenpakete eines Datenstroms trotz der paketvermittelten Übertragung, wie eingangs dargestellt, regelmäßig über denselben Weg durch das Netzwerk übertragen werden. Da der Ausgangsport eines Routers den Übertragungsweg für Daten durch das Netzwerk zumindest im Hinblick auf den nachfolgenden Übertragungsabschnitt bis zum nächsten Netzwerkknoten oder Router bestimmt, werden demgemäß nach dem Stand der Technik alle Datenpakete eines Datenstroms regelmäßig demselben Ausgangsport des Routers zugeleitet. Etwas anderes gilt nur, wenn aufgrund einer Unterbrechung oder Überlastung des ausgewählten Übertragungswegs durch den Router ein alternativer Übertragungsweg ausgewählt wird, über den dann jedoch vorzugsweise bis auf Weiteres alle nachfolgenden Datenpakete eines Datenstroms übertragen werden.
-
Um gleichzeitig mehrere für einen Datenstrom in der oder den Routingtabellen abgelegte Routingeinträge und damit mehrere Übertragungswege für die Datenpakete ein und desselben Datenstroms nutzen zu können, ist bei der erfindungsgemäßen Anordnung als Bestandteil des Routers oder diesem zugeordnet die bereits genannte Wegesteuerung vorgesehen. Diese Wegesteuerung bildet zusammen mit dem Controller für den mindestens einen Switch eine gemeinsame Steuereinrichtung aus. Als Bestandteil dieser Steuereinrichtung interagiert die Wegesteuerung mit dem Controller zur Erstellung der Routingeinträge in der oder den Routingtabellen gemäß mindestens einer in der Steuereinrichtung hinterlegten Vorschrift sowie zur wechselweisen Zuleitung der Datenpakete eines Datenstroms zu verschiedenen Ausgangsports des Routers entsprechend diesen Routingeinträgen.
-
Gemäß einer möglichen Ausbildungsform der erfindungsgemäßen Anordnung weist deren Router mehrere Switches auf, wobei deren Anzahl der maximalen Anzahl unterschiedlicher Übertragungswege entspricht, welche zur Übertragung der Datenpakete eines Datenstroms als sinnvoll in der oder den Routingtabellen in Form von Routingeinträgen hinterlegbar sind. Die Datenpakete eines Datenstroms werden dabei den betreffenden Switches, gesteuert durch die aus dem Controller und der Wegesteuerung gebildete Steuereinrichtung, wechselweise zugeführt. Infolgedessen werden die Datenpakete schließlich über jeweils einen Ausgangsport dieser Switches unterschiedlichen Ausgangsports des Routers und somit unterschiedlichen Übertragungswegen zugeleitet.
-
Entsprechend einer anderen möglichen Ausbildungsform weist der zu der Anordnung gehörende oder sie ausbildende Router nur einen Switch auf, dessen Ausgangsports die Ausgangsports des Routers ausbilden. Hierbei ist die Wegesteuerung der diesen Switch steuernden, außerdem noch den Controller umfassenden Steuereinrichtung so ausgebildet, dass sie nach mindestens einer dafür in der Steuereinrichtung hinterlegten Vorschrift (Regel oder Algorithmus) für die an einem Port des Routers und damit bei der Wegesteuerung eingehenden Datenpakete eines Datenstroms aus der oder den Routingtabellen wechselweise Routingeinträge abruft, die unterschiedliche Übertragungswege bezeichnen. Die betreffenden Routingeinträge unterscheiden sich dabei dadurch, dass sie auf unterschiedliche Ausgangsports des Switches und damit des Routers verweisen, so dass die diesen unterschiedlichen Ausgangsports jeweils zugeleiteten Datenpakete eines Datenstroms schließlich über unterschiedliche Übertragungswege durch das Netzwerk weitergeleitet werden. Die Wegesteuerung nimmt ebenfalls wieder die Datenpakete von den Eingangsports des Routers entgegen, wählt für ein jeweiliges Datenpaket einen Übertragungsweg aus und holt sich dafür aus der entsprechenden Routingtabelle, das heißt aus der entsprechenden FIB, den Routingeintrag mit der Nummer des für den gewählten Übertragungsweg zu verwendenden Ausgangsports. Anschließend gibt die Wegesteuerung das Datenpaket einschließlich der Nummer des Ausgangsports an den Switch weiter.
-
Neben den zuvor dargestellten Ausbildungsformen ist eine weitere vorteilhafte Ausbildungsform dadurch gegeben, dass die Wegesteuerung nicht integraler Bestandteil des zu der Anordnung gehörenden Routers ist, sondern diesem lediglich zugeordnet, das heißt vorgeschaltet ist. Diese Ausbildungsform ermöglicht es insbesondere, in einem Netzwerk bereits eingesetzte und entsprechend dem Stand der Technik ausgebildete Router durch Zuordnung der Wegesteuerung zu der erfindungsgemäßen Anordnung zu ergänzen. Allerdings setzt dies voraus, dass der betreffende Router hinsichtlich des Zusammenwirkens seines Controllers mit dem durch ihn gesteuerten Switch so ausgebildet ist beziehungsweise insbesondere softwarebasiert so eingerichtet wird, dass er berücksichtigt, welchem seiner Eingangsports ein Datenpaket zugeführt wird und dass er an unterschiedlichen Eingangsports eingehende Datenpakete auf unterschiedliche Ausgangsports des Switches und damit des Routers leitet. In der Praxis sollte dies gegebenenfalls durch ein Software-Update, also durch ein Update der Betriebssoftware des Routers zu bewerkstelligen sein.
-
Die dem Router zugeordnete und mit dessen Controller eine Steuereinrichtung ausbildende Wegesteuerung weist bei dieser Ausbildungsform mehr Ausgangsports als Eingangsports auf. Vorzugsweise ist das Verhältnis zwischen der Anzahl der Ausgangsports und der Anzahl der Eingangsports der Wegesteuerung so gewählt, dass diese der Anzahl der maximal als sinnvoll berechneten Übertragungswege für die Datenpakete eines Datenstroms entspricht.
-
Als Vorteile der Erfindung sind insbesondere anzusehen:
- – Fehlertoleranz:
Sofern die Netztopologie es zulässt, werden mehrere Übertragungswege parallel benutzt. Bei Unterbrechung eines Übertragungsweges läuft die Datenübertragung auf dem / den anderen Übertragungsweg(en) weiter; es tritt keine Unterbrechung des Datenflusses insgesamt auf.
- – Transparenz für Applikationen:
Das erfindungsgemäße Verfahren ist vollständig in der Netzwerkschicht realisiert. Im Gegensatz zu Multipath-TCP werden keine parallelen Ende-zu-Ende-Verbindungen auf einer höheren Protokollschicht benutzt.
Dadurch ist das Verfahren für Applikationen völlig transparent und erfordert keine Veränderungen in den Endgeräten.
- – Rückwärtskompatibilität:
Bei einer Nutzung der vorgeschlagenen Lösung lassen sich konventionelle und erfindungsgemäße Router in einem gemeinsamen Netz betreiben, ohne dafür Anpassungen vornehmen zu müssen.
- – Einseitige Implementierbarkeit:
Bei der vorgeschlagenen Lösung kann ein einzelner Router Verkehrsflüsse auf mehrere Übertragungswege aufspalten. Um die verschiedenen Teilflüsse später wieder zusammenzuführen, ist keine neue Funktionalität erforderlich, denn diese ist bereits in konventionellen Routern und anderen üblichen Netzwerkkomponenten enthalten.
Da zur Implementierung des vorgeschlagenen Verfahrens nur ein Netzelement statt zwei korrespondierender Netzelemente angepasst werden müssen, sind die Komplexität und der Aufwand bei der Implementierung vergleichsweise gering.
-
Nachfolgend sollen anhand von Zeichnungen Ausführungsbeispiele für die Erfindung gegeben und Unterschiede zum Stand der Technik nochmals verdeutlicht werden. Die Zeichnungen zeigen im Einzelnen:
-
1–3: mögliche Ausbildungsformen der erfindungsgemäßen Anordnung,
-
4: die Grundstruktur eines Routers nach dem Stand der Technik.
-
In der 4 ist die Grundstruktur eines Routers nach dem Stand der Technik in einer stark vereinfachten schematischen Darstellung gezeigt. Die wesentlichen Elemente eines solchen, der paketvermittelten Weiterleitung von Datenströmen durch ein Netzwerk, wie das Internet, dienenden Routers 1 sind ein Switch 2, eine Routingtabelle 3, die sogenannte FIB (Forwarding Information Base), und ein den Router 1, das heißt dessen Einheiten, insbesondere den Switch 2, steuernder Controller 4. Bei dem Switch 2 handelt es sich um ein Netzwerkkopplungselement mit einer Mehrzahl von Eingangsports und Ausgangsports, welches durch den Controller auf der Grundlage von Einträgen in der Routingtabelle gesteuert wird. Die Eingangs- und Ausgangsports des Switches 2 bilden gleichzeitig die Eingangsports In_1–In_n und die Ausgangsports Out_1–Out_m des Routers 1 aus.
-
An den Eingangsports In_1–In_n kommen Datenpakete von über das Netzwerk zu übertragenden Datenströmen bei dem Router 1 beziehungsweise Switch 2 an. Bestandteil derartiger Datenpakete ist ein Header mit Steuerinformationen, welcher unter anderem die IP-Adresse des für den Empfang eines jeweiligen Datenstroms bestimmten Endpunktes enthält. Beim Eingang eines Datenpakets liest der Controller 4 dessen Header aus und überprüft, ob zu der darin enthaltenen Empfängeradresse bereits ein Routingeintrag in der Routingtabelle 3 vermerkt ist. Ist dies der Fall, leitet er das betreffende Datenpaket dem durch den Routingeintrag für Datenpakete mit dieser Empfängeradresse bestimmten Ausgangsport des Switches und damit dem betreffenden Ausgangsport Out_1–Out_m des Routers 1 zu. Durch den Ausgangsport Out_1–Out_m ist festgelegt, über welchen Übertragungsweg das Datenpaket hinsichtlich des nächsten Netzwerkabschnitts, das heißt des Abschnitts bis zum nächsten Netzwerkknoten oder Router, über das Netzwerk übertragen wird.
-
Findet sich zu einer durch den Header eines Datenpakets bezeichneten Empfängeradresse für die Daten eines Datenstroms noch kein Eintrag in der Routingtabelle 3, so wird durch den Controller 4 des Routers 1 ein möglicher, das heißt sinnvoller Übertragungsweg für das Datenpaket berechnet und hierzu ein Routingeintrag in der Routingtabelle 3 erstellt. Ein solcher möglicher Übertragungsweg wird beispielsweise nach dem Prinzip des IP-Fast-Reroute berechnet.
-
Nach dem Stand der Technik werden alle nach der Erstellung des Routingeintrags bei dem Router 1 eingehenden, zum selben Datenstrom gehörenden Datenpakete entsprechend diesem Eintrag über denselben Übertragungsweg weitergeleitet, das heißt dem jeweils selben Ausgangsport Out_1–Out_m des Routers 1 zugeleitet. Zwar werden in der Praxis für die Datenpakete eines Datenstroms zumindest zwei mögliche Übertragungswege durch den Router 1 berechnet und in der Routingtabelle 3 vermerkt, jedoch werden die Datenpakete regelmäßig nur über einen dieser Übertragungswege weitergeleitet und es erfolgt allenfalls bei Störungen, wie beispielsweise einer Unterbrechung oder Überlastung des für die Übertragung ausgewählten (primären) Datenweges, eine Nutzung eines oder des alternativ berechneten Übertragungsweges. Im letztgenannten Falle werden dann wiederum die nachfolgenden Datenpakete, soweit sich nicht wieder eine Änderung der Situation ergibt, über diesen alternativen Übertragungsweg geführt.
-
Die nachfolgend dargestellten Ausführungsbeispiele der Erfindung gehen von einer Konstellation aus, bei welcher für die Übertragung eines Datenstroms zwei als sinnvoll erachtete Übertragungswege durch das Netzwerk berechnet werden. In der Praxis wird möglicherweise für die Übertragung eines Datenstroms eine deutlich größere Zahl von Übertragungswegen Berücksichtigung finden. Dementsprechend wird die Anordnung, insbesondere der Router 1, im Einzelfalle eine entsprechend größere Anzahl von Switches 2, 2´ und/oder Routingtabellen 3, 3´ aufweisen und erheblich komplexer ausgebildet sein. Letzteres gilt, zumal der Router 1 auch noch andere Baugruppen und Einheiten umfassen kann als die zur Erläuterung der Erfindung in den Zeichnungen dargestellten wesentlichen Grundelemente. Zur Veranschaulichung des Grundgedankens der Erfindung und aus Gründen der Übersichtlichkeit der Darstellung werden jedoch, wie ausgeführt, die Ausführungsbeispiele auf Konstellationen mit zwei möglichen (sinnvollen) Übertragungswegen durch das Netzwerk bezogen.
-
Die 1 zeigt in einer mit der 4 vergleichbaren schematischen Darstellung ein erstes Ausführungsbeispiel der Erfindung, das heißt eine erste mögliche Implementierung des zur Lösung der Aufgabe vorgeschlagenen Verfahrens in einer Anordnung. In dem gezeigten Beispiel ist die erfindungsgemäß vorgesehene Wegesteuerung 5 ein integraler Bestandteil des dargestellten Routers 1, so dass die Anordnung durch den entsprechend ausgebildeten Router 1 als solches realisiert ist. Der betreffende Router 1, bei dem es sich um einen von mehreren in einem Netzwerk beziehungsweise im Internet angeordneten Routern handelt, umfasst demnach neben der schon erwähnten Wegesteuerung 5 zwei Switches 2, 2´, zwei Routingtabellen 3, 3´ (FIB) zur Aufnahme von auf der Grundlage entsprechender Routingentscheidungen erstellten Routingeinträgen und einen Controller 4. Die weiteren hier nicht gezeigten, in einem mit der erfindungsgemäßen Anordnung ausgestatteten Netzwerk angeordneten Router 1 können wahlweise nach dem Stand der Technik ausgebildet oder entsprechend dem in der 1 dargestellten Router 1 um eine intergierte oder vorgeschaltete (siehe hierzu das Ausführungsbeispiel gemäß 3) Wegesteuerung erweitert sein.
-
Für jede in einem Datenpaketheader enthaltene Empfängeradresse eines Datenstroms berechnet der Controller 4 des Routers 1 zwei mögliche, das heißt als sinnvoll angesehene Übertragungswege durch das Netzwerk. Wie beim Stand der Technik prüft er dabei für ein bei ihm eingehendes Datenpaket, ob zu der in dessen Header enthaltenen Empfängeradresse entsprechende Übertragungswege bereits berechnet wurden. Ist dies nicht der Fall, berechnet er zwei sinnvolle Übertragungswege entsprechend mindestens einer, in einem hier nicht gezeigten Speicher der aus dem Controller 4 und der Wegesteuerung 5 bestehenden Steuereinrichtung gehaltenen Vorschrift. Bei der besagten Vorschrift kann es sich, wie bereits ausgeführt, um eine einfache Regel oder um einen komplexen Algorithmus handeln. Die Berechnung der beiden als sinnvoll anzusehenden Übertragungswege kann dabei zum Beispiel unter Berücksichtigung von Randbedingungen erfolgen, wonach die über die wenigsten nachfolgenden Netzwerkknoten oder Router zum empfangenden Endpunkt führenden Übertragungswege und/oder Übertragungswege mit der kürzesten zu überbrückenden Distanz als sinnvolle Übertragungswege bestimmt werden. Auch erfindungsgemäß kann in diesem Zusammenhang beispielsweise das Prinzip des IP-Fast-Reroute genutzt werden.
-
Die zur Übertragung der Datenpakete eines Datenstroms als sinnvoll berechneten Übertragungswege werden in Form eines entsprechenden Routingeintrags in den Routingtabellen 3, 3‘, und zwar so, dass der erste als sinnvoll berechnete Übertragungsweg in der ersten Routingtabelle 3 und der zweite als sinnvoll erachtete Übertragungsweg in der zweiten Routingtabelle 3´ vermerkt wird. Das erste bei dem Router 1 eintreffende Datenpaket eines Datenstroms, dessen Datenpaketheader beziehungsweise die darin enthaltene Empfängeradresse zur Berechnung der möglichen (sinnvollen) Übertragungswege bereits verwendet wurde, wird dann entsprechend einer in der Steuereinrichtung aus Controller 4 und Wegesteuerung 5 gehaltenen Vorschrift beispielsweise dem ersten Switch 2 zugeführt. Durch den Switch 2 wird das bei ihm eingehende Datenpaket entsprechend dem für seine Empfängeradresse in der ersten Routingtabelle 3 enthaltenen Routingeintrag einem seiner Ausgangsports und damit einem Ausgangsport Out_1–Out_m des Routers zugeleitet. Das nächste beim Router eingehende Datenpaket desselben Datenstroms wird hingegen beispielsweise durch die Wegesteuerung 5 dem zweiten Switch 2´ zugeführt und von diesem entsprechend dem in der zweiten Routingtabelle 3´ enthaltenen Routingeintrag einem anderen, mit einem entsprechenden Ausgangsport des zweiten Switches 2´ verbundenen Ausgangsport Out_1–Out_m des Routers 1 zugeleitet.
-
In diesem Zusammenhang ist darauf hinzuweisen, dass die Wegesteuerung 5 die gleichzeitig an den verschiedenen Eingangsports In_1–In_n des Routers 1 beziehungsweise an ihren Eingängen eintreffenden Datenpakete individuell behandelt. Es werden also (abgesehen beispielsweise von Ausnahmen zur Berücksichtigung von QoS-Klassen) keineswegs alle gleichzeitig eintreffenden Datenpakete entweder an den ersten Switch 2 oder an den zweiten Switch 2´ weitergeleitet.
-
An welchen Switch 2, 2´ ein Datenpaket eines Datenstroms jeweils weitergeleitet wird, ist vielmehr durch mindestens eine von der durch den Controller 4 und die Wegesteuerung 5 gebildeten Steuereinrichtung gehaltene Vorschrift (Regel oder Algorithmus) bestimmt. Für die Auswahl des Switches 2, 2´ und damit eines Ausgangsports Out_1–Out_m des Routers 1, das heißt für die Gestaltung einer entsprechenden Vorschrift, kommen dabei folgende Möglichkeiten in Betracht:
- – Stochastisch:
Einer der Ausgangsports Out_1–Out_m wird zufällig aus den möglichen Ausgangsports Out_1–Out_m ausgewählt.
- – Feste Reihenfolge:
Für die zu einem Datenpaketheader gehörenden möglichen Ausgangsports Out_1–Out_m wird eine Reihenfolge festgelegt. Eintreffende Pakete mit derselben Empfängeradresse im Datenpaketheader werden entsprechend dieser Reihenfolge über die möglichen Ausgangsports Out_1–Out_m weitergeleitet. Soll der Strom von Paketen mit gleicher Empfängeradresse im Datenpaketheader ungleichmäßig auf mehrere Ausgangsports Out_1–Out_m aufgeteilt werden (zum Beispiel 1:2:1 auf drei Ports Out_1, Out_2, Out_3), können einzelne der Ausgangsports auch mehrfach in diese Reihenfolge aufgenommen, das heißt, es kann beispielsweise eine Reihenfolge der Form Out_1–Out_2–Out_3–Out_2 festgelegt werden.
- – Zählerbasiert:
Die möglichen Ausgangsports Out_1–Out_m und damit die möglichen, das heißt sinnvollen Übertragungswege für Datenpakete mit gleicher Empfängeradresse im Datenpaketheader werden abwechselnd jeweils für eine festgelegte Anzahl aufeinanderfolgender Datenpakete mit gleicher Empfängeradresse genutzt.
- – Timerbasiert:
Die möglichen Ausgangsports Out_1–Out_m für Datenpakete mit gleicher Empfängeradresse im Datenpaketheader werden abwechselnd jeweils für eine festgelegte Zeitdauer benutzt. Die Zeitdauer wäre typischerweise sehr kurz (vorzugsweise << 1 Sekunde) und könnte sich auch bezüglich der für Datenpakete mit gleicher Empfängeradresse möglichen Ausgangsports Out_1–Out_m also bezüglich der genutzten sinnvollen Übertragungswege unterscheiden.
- – Ähnlich wie in 3GPP für S1-Flex:
S1-Flex ist ein Verfahren aus dem Mobilfunkbereich, bei dem eine LTE-Basisstation parallele Verbindungen zu mehreren Serving Gateways unterhält und die so genannten PDP-Kontexte der von ihr versorgten Endgeräte gleichmäßig auf diese Verbindungen verteilt. Nach den gleichen Prinzipien kann auch ein Router 1 Datenpakete auf Ausgangsports Out_1–Out_m verteilen.
- – Basierend auf Netztopologie und Auslastung:
Ausnahmsweise und/oder eventuell nur temporär werden gegebenenfalls alternative Routen nur genutzt, wenn die primäre Route beziehungsweise der primäre Übertragungsweg unterbrochen oder zumindest überlastet ist.
-
Die zuvor aufgezeigten Möglichkeiten für die Auswahl eines Ausgangsports Out_1–Out_m des Routers 1 und damit eines der als sinnvoll berechneten Übertragungswege gelten auch für die beiden nachfolgen erläuterten Ausführungsbeispiele.
-
Die 2 zeigt ein weiteres Ausführungsbeispiel der erfindungsgemäßen Anordnung. Auch bei dieser ist die Wegesteuerung 5 integraler Bestandteil eines entsprechend ausgebildeten Routers 1. Der Unterschied zu dem Ausführungsbeispiel gemäß der 1 besteht darin, dass der betreffende Router 1 lediglich einen Switch 2 aufweist. Die Berechnung der (gemäß dem vereinfachten Beispiel) beiden für die Datenpakete eines Datenstroms möglichen, das heißt sinnvollen Übertragungswege erfolgt wie zu dem Ausführungsbeispiel der 1 erläutert. Gleiches gilt für die Erstellung entsprechender Routingeinträge zu diesen möglichen Übertragungswegen in den beiden Routingtabellen 3, 3´ (FIB) des Routers 1.
-
Geht nun ein Datenpaket eines Datenstroms, für dessen Empfängeradresse bereits die beiden als sinnvoll zu erachtenden Übertragungswege berechnet wurden, bei dem Router 1 ein, so greift die Wegesteuerung 5 entsprechend einer der zuvor erläuterten Vorschriften auf eine der beiden Routingtabellen 3, 3´ zu und leitet das betreffende Datenpaket unter Angabe einer in dem Routingeintrag enthaltenen Nummer des Ausgangsports Out_1–Out_m, welchem dieses Datenpaket zuzuleiten ist, an den Switch 2 weiter. Das nächstfolgende Datenpaket wird dann beispielsweise an einen anderen, durch die jeweils andere Routingtabelle 3, 3´ bestimmten Ausgangsport Out_1–Out_m des Routers 1 weitergeleitet. Der Vorteil dieser Ausbildungsform besteht darin, dass nur ein einzelner Switch 2 benötigt wird. In einem weiteren Schritt können zudem die beiden Routingtabellen 3, 3´ zu einer Routingtabelle zusammengefasst werden, in welcher für die Datenpakete eines Datenstroms jeweils zwei Routingeinträge mit möglichen Übertragungswegen vermerkt werden. Die Wegesteuerung 5 greift dann wechselweise immer auf einen dieser beiden Routingeinträge der gemeinsamen Routingtabelle zu und verteilt die Datenpakete entsprechend den darin zugeordneten Portnummern an die Ausgangsports Out_1–Out_m des Routers 1.
-
Eine dritte beispielhaft in der 3 gezeigte Ausbildungsform der Erfindung betrifft eine Anordnung, bei welcher die Wegesteuerung 5, anders als bei den beiden zuvor erläuterten Ausführungsbeispielen, nicht integraler Bestandteil des Routers 1, sondern diesem lediglich zugeordnet, das heißt vorgeschaltet ist. Diese Implementierungsvariante setzt dabei einen Router 1 voraus, bei dem Datenpakete durch den Controller 4 und den Switch 2 in Abhängigkeit davon, an welchem Eingangsport In_1–In_n des Switches 2 und damit des Routers 1 sie eingehen, unterschiedlichen Ausgangsports Out_1–Out_m des Switches 2 und damit des Routers 1 zugeleitet werden.
-
Wie ersichtlich, weist die Wegesteuerung 5 eine gegenüber dem Router 1 beziehungsweise dessen Switch 2 geringere Anzahl von Eingangsports P_1–P_n/2 auf. Im Hinblick darauf, dass auch bei diesem Ausbildungsbeispiel von zwei möglichen sinnvollen Übertragungswegen ausgegangen wird, weist die Wegesteuerung 5 eine Anzahl von Eingangsports P_1–P_n/2 auf, welche der Hälfte der Anzahl der Eingangsports In_1–In_n des Switches 2 entspricht. Entsprechend mindestens einer in der aus dem Controller 1 und der Wegesteuerung 5 bestehenden Steuereinrichtung hinterlegten Vorschrift werden die Datenpakete ein und desselben Datenstroms, welche bei der Wegesteuerung 5 eingehen, von dieser wechselweise zwei unterschiedlichen Eingangsports In_1–In_n des Switches 2 zugeführt. Je nach Eingangsport In_1–In_n des Switches 2, an dem die Datenpakete eingehen, werden diese dann entsprechend den in der Routingtabelle (FIB) enthaltenen Routingeinträgen unterschiedlichen Ausgangsports Out_1–Out_m des Switches 2 und damit des Routers 1 zugeleitet.
-
Der Vorteil dieser Ausbildungsform besteht darin, dass bei ihr zur Realisierung der erfindungsgemäßen Anordnung dem Grunde nach ein konventioneller Router 1 verwendet werden kann, welcher durch eine Wegesteuerung 5 ergänzt wird. Darüber hinaus muss der betreffende Router 1 lediglich dahingehend modifiziert werden, dass Datenpakete durch ihn in Abhängigkeit von dem Eingangsport In_1–In_n, an welchem sie eingehen, unterschiedlichen Ausgangsports Out_1–Out_m zugeleitet werden. Dieses ist jedoch eine softwaremäßig zu bewerkstelligende Anpassung.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- RFC 5714 [0009]
- RFC 5286 [0009]