-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung
für das
Routen von Datenpaketen in Kommunikationsnetzen.
-
HINTERGRUND DER ERFINDUNG
-
Das
Internetprotokoll (IP) hat verbindungslose Datagrammdienste in einem
weltweiten Informationsnetz, dem Internet, ermöglicht. Mittels dieses Protokolls
kann das Netz Nachrichten zu einer korrekten Zieladresse lenken.
Das Routing wird auf der Basis einer IP-Netzadresse und von Routingtabellen
ausgeführt.
Das IP-Protokoll ist verbindungslos und liefert keinen zuverlässigen Transfer,
wie er anderen Übertragungsprotokollen,
wie dem Übertragungssteuerprotokoll
(Transmission Control Protocol, TCP) zugeordnet ist. Jedes Endgerät, das mit
dem World Wide Web verbunden ist, weist eine spezifische IP-Adresse
auf. Der Verkehr von IP-Datenpaketen in den Telekommunikationsnetzen
auf der Basis des Internetprotokolls nimmt kontinuierlich zu. Als
ein Ergebnis des Wachstums expandieren die Kommunikationsnetze weiter,
und es kann sein, dass die Größe des Netzes
zu groß wird.
Die expandierenden Netze verursachen Probleme, die als eine Reduktion
der Datenübertragungsrate
und als unzuverlässige
Lieferung übertragener
Daten erscheinen. Typischerweise wurde das Wachstum durch das Unterteilen
eines übermäßig großen Netzes
in kleinere Abschnitte, das heißt
Unternetze, und das Wiederverbinden dieser Unternetze miteinander,
beschränkt.
Um dies zu erzielen, wird eine Brücke zwischen den Netzen verwendet,
und gleichzeitig dient diese Brücke
als ein Router für
den Datenfluss. Es gibt jedoch einen kleinen Unterschied zwischen
einer Brücke
und einem Router. Die Brücke
ist eine Operation der Datenverbindungsschicht und verbindet zwei
Netze desselben Typs unter Verwendung physikalischer Adressen. Das Routen
ist eine Operation der Netzschicht, die zwei oder mehr Netze verschiedener
Typen unter Verwendung von IP-Adressen verbindet. Zusätzlich zur
Beförderung
von Verkehr zwischen lokalen Netzen besteht die Aufgabe des Routers
also im allgemeinen darin, als ein Gateway zwischen einem lokalen
und einem externen Routernetz zu dienen.
-
Der
Datenfluss besteht aus Datenpaketsequenzen, die in gleicher Weise
von Routern zwischen den Quell- und Zieladressen behandelt werden.
Ein praktisches Beispiel einer Datenflussübertragung ist beispielsweise
die Übertragung
einer Datei über
das Netz zwischen zwei verschiedenen Computern. Die Datenübertragung
wird durch das Übertragungssteuerprotokoll
(Transmission Control Protocol, TCP) implementiert, das die Datei
in IP-Pakete aufteilt und sie nacheinander an das Netz sendet. Die
Pakete passieren eine Vielzahl von Routern, und jeder Router führt Routingoperationen
mit jedem Paket getrennt aus. Die Router geben die Pakete an einen
nächsten Router,
ohne zu wissen, ob das betroffene Paket sein Ziel erreicht oder
dies nicht der Fall ist.
-
Aktuell
wird mehr und mehr Information auf dem Internet übertragen, insbesondere in
Form von Internetgesprächen
und Videodaten. In der nahen Zukunft wird sich eine Notwendigkeit
für Router
ergeben, die eine kontinuierlich zunehmende Menge von Information
von einer Quelladresse zu einer Zieladresse so schnell und zuverlässig wie
möglich übertragen
können.
Eine vorgeschlagene Lösung
für das Problem
besteht beispielsweise darin, die Routerentscheidung zu dekonzentrieren,
sie von mehreren Prozessoren vornehmen zu lassen. Dies wird jedoch nicht
das Problem lösen,
dass jedes IP-Paket einzeln gelenkt werden muss. Eine andere Lösung ist
die Verwendung einer IP-Vermittlung
(IP-Switching), die einen Router und eine ATM-Vermittlungseinrichtung (ATM-Switch)
umfasst. Eine IP-Switch kann Datenpakete in derselben Weise wie
normale Router lenken, aber sie unterscheidet sich von ihnen dadurch, dass sie
eine Datenflussidentifikation ausführen kann und die Pakete, die
zu einem gegebenen Fluss gehören,
vermitteln kann, damit sie über
eine ATM-Verbindung laufen. Die IP-Switch macht andere IP-Switches erforderlich,
um ATM-Verbindungen
zu vermitteln, und zusätzlich
muss das Netz eine beträchtliche Anzahl
von IP-Switches umfassen, damit diese tatsächlich verwendet werden können. Die
Identifikation und die Steuerung des Flusses werden auf der Basis der
IP-Adresse beispielsweise des Senders oder des Empfängers, ausgeführt, wodurch
alle Pakete, die zum identifizierten Fluss gehören, über eine gegebene Route zur
Adresse des Empfängers
gelenkt werden.
-
In
Routernetzen bilden die Router Knoten, durch die eine Datenpaketübertragung
stattfindet. Die Datenpakete werden durch einen Router auf zwei verschiedenen
Wegen befördert.
Wenn ein Router ein Paket empfängt,
das an einen nächsten
Router adressiert ist, das heißt,
an einen zweiten Router, der eine direkte Verbindung zu diesem Router
hat, so lässt
er das Paket durch, ohne dessen Routen in irgend einer Weise zu
stören.
Wenn ein Router ein Paket empfängt,
das an einen Empfänger
adressiert ist, der keine direkte Verbindung mit diesem Router hat, muss
der Router das Routingproblem lösen,
um zu definieren, an welchen Router das Paket als nächstes gesendet
werden sollte, damit das Paket an eine korrekte Adresse gesandt
werden kann. Die Router übertragen
Datagramme an ein Ziel durch die Verwendung von Routingtabellen,
die mittels spezifischer Routingprotokolle unterhalten werden. Die Router
tauschen Daten auf möglichen
Routen mittels des Routingprotokolls aus, und zur selben Zeit werden
die Router über
die Routingtopologie des Netzes informiert. Die Topologieinformation
wird in einer Routingtabelle gesammelt, die Information über mögliche Zieladressen
und wie diese zu erreichen sind, enthält. Der Inhalt der Tabelle
hängt vom
verwendeten Routingalgorithmus ab. Im allgemeinen sind die Routen
vorbestimmt, und somit weiß jeder
Router im Voraus den nächsten
Standardrouter, zu dem das empfangende Paket übertragen werden wird. Das vordefinierte
Routen führt
allen Verkehr, große
als auch kleine Pakete, entlang derselben Route im Netz. Dies führt dazu,
dass gewisse Routen verstopft sind, wohingegen andere Routen weniger
Verkehr aufweisen, als ihn ihre Kapazitäten erlauben.
-
1 zeigt
beispielhaft eine typische Netzstruktur (wie sie beispielsweise
im Dokument XP002901869, "Associativity
Based Routing for Ad-Hoc Mobile Networks" offenbart ist), die einen Sender 1,
Router 2 bis 6 und einen Empfänger 7 umfasst. Zwischen
dem Startpunkt und dem Ziel befinden sich im allgemeinen eine Vielzahl
von Routern, wie das in 1 erscheint, und somit haben
Datenpakete eine Vielzahl von alternativen Routen vom Sender 1 zum
Empfänger 7.
Der Router 2 kann das Paket, das an das Ziel 7 adressiert
ist, entweder über den
Router 3 oder den Router 5 lenken. Die Datenpaketroutingauswahl
wird im Router 2 auf der Basis einer Routingtabelle und
eines Routingalgorithmus ausgeführt.
Für die
Datenübertragung
findet der Routingalgorithmus eine Route in der Routingtabelle,
wobei es über
diese Route möglich
ist, im Netz von der Quelladresse zur Zieladresse zu gelangen. Die
Router bilden eine Standardroute zwischen dem Sender 1 und
dem Empfänger 7,
die aus Standardrouten zwischen jedem Router besteht. Es werde angenommen,
dass die Standardroute vom Sender 1 über den Router 2 zum
Router 5 und weiter über
die Router 6 und 4 zum Empfänger 7 verläuft. Wenn
die ausgebildete Standardroute an irgend einem der Router wegen
zunehmendem Verkehr oder einem ähnlichen Grund
nicht mehr funktioniert, kann dieser Router eine Änderung
in der Route vornehmen und die Datenpakete an einen anderen Router
weitergeben. Diese Änderung,
die auf einer lokalen Ebene durch einen einzelnen Router vorgenommen
wird, kann andere Router beeinflussen, so dass der Verkehr bei einigen
Routern übermäßig zunimmt,
während
andere nicht bei ihrer maximalen Kapazität arbeiten. Dies führt dazu,
dass das Netz als Ganzes kein optimales Routing ausführt, wobei
jeder Router aber dazu neigt, sein eigenes Routen von seinem Standpunkt
aus in eine bessere Richtung zu ändern.
Somit ist das Netzrouting auf einer globaleren Ebene nicht optimiert, was
zu einer ungleichmäßigen Belastung
in verschiedenen Abschnitten des Netzes führt, da der Datenverkehr nur
auf gewissen Routen verläuft.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es
wurden nun ein Verfahren und eine Vorrichtung für das Optimieren des Lenkens
von Datenpaketen in Kommunikationsnetzen erfunden.
-
Die
Aufgabe der Erfindung besteht darin, einen dynamischen Rückmeldungsmechanismus
zwischen Routern zu liefern, um das Lenken eines gegebenen Datenflusses
durch ein Netz von einem Sender zu einem Empfänger zu optimieren. Die Rückmeldung
kann so gegeben werden, dass jeder nächste Router Rückmeldungsinformation
liefert durch das Antworten auf eine Anfrage eines vorhergehenden
Routers. Als ein Ergebnis erzeugt die Rückmeldung Information auf den
Routen, die die Erfordernis, die für das Routen aufgestellt sind,
erfüllen.
-
Im
Verfahren der Erfindung kann jeder Router das Senden einer rückmeldenden
Rückmeldeanfrage
unabhängig
von anderen Routern starten. Der erster Router, der eine direkte
Verbindung zu einem Datenflusssender hat, erfasst einen Datenfluss
für ein
spezielles Ziel und startet das Senden einer rückmeldenden Rückmeldeanfrage
an alle Router, die eine Route zu diesem Ziel bilden können. Alle
Router, die die Rückmeldeanfragenachricht
empfangen, geben sie an nachfolgende Router weiter. Nach dem Empfangen
der Rückmeldeanfrage
erzeugt der letzte Router, der eine direkte Verbindung zu diesem
Ziel hat, eine Rückmeldungsinformation
und sendet sie über
dieselbe(n) Route(n) auf der oder denen die Anfrage empfangen wurde,
zurück.
Die Rückmeldung kann
beispielsweise Information, wie zuverlässig oder mit welcher Rate
jeder Router Pakete befördert hat,
enthalten. Die Rückmeldungsinformation
verläuft somit
entlang derselben Route(n) zu den vorhergehenden Routern, die wiederum entsprechende
eigene Daten zur betreffenden Rückmeldung
hinzufügen. Der
erste Router empfängt
nun Rückmeldungsinformation
auf alle möglichen
Routern, die zu diesem Ziel führen.
Der erste Router kann nun seine eigene Entscheidung über die
Routenauswahl auf der Basis der Daten über die Zuverlässigkeit
und Geschwindigkeit der verschiedenen Routen und die Anwendbarkeit des
Flusses, der jede Route betrifft, fällen. Der erste Router kann
auch auf der Rückmeldung
basierende Ergänzungen
in seiner Routingtabelle in Bezug auf den betroffenen Datenfluss
vornehmen, wobei diese Ergänzungen
es dem Router erlauben, alle Pakete, die zum selben Fluss gehören, in
Zukunft über
dieselbe optimierte Route zu senden. Dadurch wird ein optimiertes
Routen für
alle Routen im Netz erzielt, wodurch beispielsweise große Pakete
zu anderen Routen als kleine Pakete gelenkt werden können, und wodurch
beispielsweise Pakete, die zu einem IP-Telefongespräch gehören zu schnelleren
Routen gelenkt werden können,
als Pakete, die keine hohe Übertragungsrate
benötigen.
-
Ein
erster Aspekt gemäß der Erfindung
implementiert ein Verfahren für
das Lenken von Datenpaketen in einem Kommunikationsnetz, das Router umfasst,
wobei in diesem Verfahren Datenpakete von einer Quelladresse in
einem ersten Router empfangen werden, die Datenpakete vom ersten
Router zu mindestens einem nächsten
Router gelenkt werden, das dadurch gekennzeichnet ist, dass eine
Zieladresse bei den Datenpaketen im ersten Router identifiziert
wird, eine Rückmeldungsanfrage
zu dem mindestens einen nächsten
Router in der Richtung der Zieladresse übertragen wird, um die Qualität der Verbindung
zwischen mindestens dem ersten und mindestens dem nächsten Router
herauszufinden, wobei in Erwiderung auf die Anfrage Information über die
Qualität
mindestens dieser Verbindung von dem mindestens einen nächsten Router
zu dem ersten Router übertragen
wird, eine Routingentscheidung in dem ersten Router auf der Basis
der empfangenen Verbindungsqualitätsdaten gefällt wird.
-
Ein
zweiter Aspekt gemäß der Erfindung
implementiert ein System für
das Lenken von Datenpaketen in einem Kommunikationsnetz, wobei das
System mindestens einen ersten Router für das Empfangen von Datenpaketen
von einer Quelladresse und für
das Weitergeben an mindestens einen zweiten Router umfasst, wobei
der mindestens eine zweite Router ausgelegt ist, um Datenpakete
zu empfangen und sie an eine Zieladresse zu übertragen, wobei der erste
und der mindestens eine zweite Router Routingmittel für das Lenken
der Datenpakete umfassen, wobei das System dadurch gekennzeichnet
ist, dass der erste Router auch mindestens Erfassungsmittel umfasst
für das
Erfassen von Kopfdaten bei den empfangenen Paketen, Rückmeldeanfrage-Erzeugungsmittel
für das
Erzeugen einer Verbindungsqualität-Rückmeldeanfrage,
Rückmeldeanfrage-Übertragungsmittel
für das Übertragen
der Rückmeldungsanfrage
an den mindestens einen zweiten Router, um die Verbindungsqualität zwischen
mindestens dem erster Router, der die Anfrage gesendet hat, und
dem mindestens zweiten Router herauszufinden, und wobei der mindestens
eine zweite Router auch mindestens Rückmeldungsanfrage-Empfangsmittel für das Empfangen
der Rückmeldungsanfrage
vom ersten Router umfasst, Rückmeldungsinformations-Erzeugungsmittel
für das
Erzeugen von Rückmeldungsinformation
in Erwiderung auf die empfangende Rückmeldungsanfrage, Rückmeldungsinformations-Übertragungsmittel
für das Übertragen
der Rückmeldungsinformation
an den ersten Router, und der erster Router weiter Rückmeldungsinformations-Empfangsmittel für das Empfangen
der Rückmeldungsinformation
von dem mindestens einen zweiten Router und Mittel für das Fällen einer
Routingentscheidung auf der Basis der empfangenen Rückmeldungsinformation
umfasst.
-
Ein
dritter Aspekt gemäß der Erfindung
implementiert eine Routingvorrichtung für das Lenken von Datenpaketen
in einem Kommunikationsnetz, wobei die Routingvorrichtung Empfangsmittel
für das Empfangen
von Datenpaketen, Übertragungsmittel für das Übertragen
der Datenpakete, Routingmittel für
das Lenken der Datenpakete umfasst und dadurch gekennzeichnet ist,
dass sie auch mindestens Erfassungsmittel für das Erfassen von Kopfdaten
der empfangenen Datenpakete, Rückmeldungsanfrage-Erzeugungsmittel
für das
Erzeugen einer Rückmeldungsanfrage
für die
Verbindungsqualität,
Rückmeldungsanfrage-Übertragungsmittel
für das Übertragen
der Rückmeldungsanfrage
an mindestens eine nächste
Routingvorrichtung in der Richtung der Zieladresse, Rückmeldungsanfrage-Empfangsmittel für das Empfangen
der Rückmeldungsanfrage
von der mindestens einen vorhergehenden Routingvorrichtung in Richtung
der Quelladresse, Rückmeldungsinformations-Erzeugungsmittel
für das
Erzeugen der Rückmeldungsinformation
in Erwiderung auf die empfangene Rückmeldungsanfrage, Rückmeldungsinformations-Übertragungsmittel für das Übertragen
der Rückmeldungsinformation
zu mindestens einer vorhergehenden Routingvorrichtung in der Richtung
der Quelladresse, Rückmeldungsinformations-Empfangsmittel
für das
Empfangen der Rückmeldungsinformation
von mindestens einer vorhergehenden Routingvorrichtung in der Richtung
der Zieladresse, Rückmeldungsinformations-Hinzufügungsmittel
für das
Hinzufügen
der erzeugten Rückmeldungsinformation
zur empfangenen Rückmeldungsinformation,
Mittel für
das Fällen
einer Routingentscheidung auf der Basis der empfangenen Rückmeldungsinformation
umfasst.
-
Ein
vierter Aspekt gemäß der Erfindung
implementiert ein Computerprogrammprodukt für das Lenken von Datenpaketen
in einem Kommunikationsnetz, wobei das Computerprogrammprodukt Computerprogrammmittel
für das
Empfangen der Datenpakete am Router, Computerprogrammmittel für das Lenken
der Datenpakete vom Router nach vorne umfasst, dadurch gekennzeichnet,
dass das Computerprogrammprodukt auch Computerprogrammmittel für das Erfassen
von Kopfdaten bei den empfangenen Datenpaketen, Computerprogrammmittel
für das Übertragen
einer Rückmeldungsanfrage
an mindestens einen nächsten
Router in der Richtung der Zieladresse, Computerprogrammmittel für das Empfangen
der Rückmeldungsanfrage
von mindestens einem vorhergehenden Router in der Richtung der Quelladresse,
Computerprogrammmittel für das
Erzeugen der Rückmeldungsanfrage
für mindestens
einen Verbindungsqualitätsparameter,
Computerprogrammmittel für
das Empfangen der Rückmeldungsinformation
von mindestens einem vorhergehenden Router in der Richtung der Zieladresse, Computerprogrammmittel
für das
Erzeugen der Rückmeldungsinformation
auf der Basis der empfangenen Rückmeldungsanfrage,
Computerprogrammmittel für
das Hinzufügen
der erzeugten Rückmeldung
zur empfangenen Rückmeldungsinformation, Computerprogrammmittel
für das Übertragen
der Rückmeldungsinformation
zu mindestens einem vorhergehenden Router in der Richtung der Quelladresse,
Computerprogrammmittel für
das Fällen
einer Routingentscheidung auf der Basis der empfangenen Rückmeldungsinformation
umfasst.
-
In
der Erfindung erfassen die Router den Datenfluss, erzeugen und übertragen
die Rückmeldungsanfrage
in Erwiderung auf den erfassten Datenfluss, empfangen die Rückmeldungsanfrage,
erzeugen und übertragen
die Rückmeldungsinformation
und fügen
der erzeugten Rückmeldungsinformation
eigene Information der empfangenen Rückmeldungsinformation hinzu.
Auf der Basis der Rückmeldungsinformation
kann jeder Router unabhängig
für seinen
eigenen Teil eine Optimierung ausführen. Die Optimierung des Routings
erfolgt nicht paketspezifisch sondern basiert auf einem speziellen
Datenfluss, und Pakete, die zu diesem gehören, können immer über dieselbe, einmal optimierte
Route übertragen
werden.
-
Nachfolgend
wird die Erfindung detaillierter unter Bezug auf die angefügten Zeichnungen
beschrieben.
-
1 zeigt
eine typische Beschreibung eines Netzes;
-
2 zeigt
ein allgemeines Blockdiagramm einer Betriebsumgebung gemäß der Erfindung;
-
3 zeigt
ein Blockdiagramm einer Routingvorrichtung gemäß der Erfindung;
-
4a zeigt
ein Blockdiagramm, das die Operation eines ersten Routers gemäß dem Verfahren
der Erfindung zeigt;
-
4b zeigt
ein Blockdiagramm, das die Operation eines Routers zwischen dem
ersten Router und dem letzten Router gemäß dem Verfahren der Erfindung
zeigt;
-
4c zeigt
ein Blockdiagramm, das die Operation des letzten Routers gemäß dem Verfahren der
Erfindung zeigt.
-
Der
Stand der Technik ist oben unter Bezug auf die 1 beschrieben
worden. Im Folgenden wird die Erfindung hauptsächlich unter Bezug auf die 2 bis 4 beschrieben.
-
2 zeigt
ein allgemeines Blockdiagramm einer Betriebsumgebung der Erfindung.
Der Router 201 ist der erste Router eines Hosts 207,
der Datenpakete 210, die vom Host 207 gesandt
werden, erfasst und lenkt, die Datenpakete als einen Datenfluss identifiziert,
eine Rückmeldungsanfrage 200 erzeugt und
sendet und Rückmeldungsinformation 209 empfängt und
eine Routingentscheidung auf der Basis der Rückmeldungsinformation fällt. Der
Router 201 ist auch der letzte Router des Hosts 207,
der die Datenpakete, die an diesen Host adressiert sind, befördert. Die
Router 202, 204 und 205 dienen als Zwischenrouter,
die Rückmeldungsanfragen
empfangen und senden, Rückmeldungsinformation
empfangen, selbst Rückmeldungsinformation
erzeugen und sie zur empfangenen Rückmeldungsinformation, die weiterzugeben
ist, hinzufügen,
die Rückmeldungsinformation über dieselbe
Route wie die angekommene Rückmeldungsanfrage übertragen.
Die Router 203 und 206 sind die letzten Router
des Hosts 208, die auf ankommende Rückmeldungsanfragen antworten,
indem sie selbst Rückmeldungsinformation erzeugen
und diese über dieselbe
Route, auf der die Rückmeldungsanfrage
bei ihnen angekommen ist, übertragen.
Die Router 203 und 206 können auch als die ersten Router
des Hosts 208 behandelt werden, wenn der Host 208 die
Datenpakete überträgt.
-
Der
erste Router 201 empfängt
Datenpakete 210 vom Host 207 und identifiziert
die Pakete als einen Datenfluss, der für den Host 208 bestimmt
ist. Zusätzlich
zur Erfassung der Quell- und Zieladressen werden zur gleichen Zeit
die Eigenschaften des Datenflusses erfasst. Die Erfassung der Eigenschaften des
Datenflusses erlaubt es, zwischen Datenflüssen verschiedener Medientypen
mit denselben Quell- und
Zieladressen zu unterscheiden. Beispielsweise können die Datenflüsse eines
IP-Telefongesprächs und
einer Bilddatei über
verschiedene Routen gelenkt werden, so dass der Datenfluss des IP-Telefongesprächs über eine
schnellere Route und der Datenfluss der Bilddatei über eine
langsamere Route gelenkt wird. Die Router übertragen eine Rückmeldungsanfrage 200 zu
den nächsten
Routern, das ist der Router 202 und der Router 204.
Die Rückmeldungsanfrage 200 kann
beispielsweise die folgenden Daten umfassen: ID, Q, Hip, R201ip.
ID ist die individuelle Identifikationsnummer der Rückmeldungsanfrage,
die als eine Kennung dieser Rückmeldungsanfrage
dient. In diesem Beispiel umfasst Q Parameter, die die Dienstgüte (QoS)
darstellen, wie die Zuverlässigkeit
oder die Geschwindigkeit der Verbindung, aber Q kann auch andere
Parameter umfassen. Hip ist die IP-Adresse des Datenflusssenders
und R201ip ist die IP-Adresse des Routers 201. Zur Rückmeldungsanfrage 200 wird
immer die IP-Adresse jedes Routers hinzugefügt, damit die übertragene Anfrage über dieselbe
Route zum Sender der Anfrage zurückkehren
kann. Die Router 202 und 204 geben die Rückmeldungsanfrage 200 an
die Router 203 und 206 und fügen ihre eigene IP-Adressen
der Rückmeldungsanfrage
hinzu. In diesem Beispiel sind die Router 203 und 206 die
letzten Router, die eine direkte Verbindung zum Adressaten haben.
Sie fügen
auch ihre eigenen IP-Adressen hinzu und erzeugen Rückmeldungsinformation 209 gemäß der Anfrage.
Für den
Router 203 könnte
die Rückmeldungsinformation 209 das
Folgende einschließen:
ID, Q, Hip, R201ip, R202ip, FB_R203, wobei FB_R203 die Rückmeldungsinformation
des Routers 203 des angefragten Parameters Q ist. Es ist
möglich,
in dieselbe Rückmeldungsanfrage
einen oder mehrere Parameter einzuschließen, wie im Fall dieses Beispiels die
Geschwindigkeit und die Zuverlässigkeit
dieses Routers in diesem Moment. Entsprechende Daten werden auch
in die Rückmeldungsinformation
für andere
Router eingeschlossen. Die Rückmeldungsinformation 209 des
Routers 202 zum Router 201 würde ID, Q, Hip, R202ip, FB_R202,
FB_203 einschließen,
die zusätzlich
zur Rückmeldung
des Routers 203 die Rückmeldung
FB_R202 des Routers 202 selbst umfasst. Die Rückmeldungsinformation,
die von den letzten Routern 203 und 206 übertragen wird,
kommt zum Router 201 über
dieselbe Route wie die Rückmeldungsanfrage,
die bei ihnen angekommen ist. Der Router 201 empfängt die
Rückmeldungsinformation
jeder möglichen
Route, die zum Host 208 führt. Auf der Basis der empfangenen
Rückmeldungsinformation
optimiert der Router 201 für den in Frage stehenden Datenfluss
eine Route zwischen dem Sender 207 und dem Empfänger 208.
-
Wenn
die Routingergebnisse vom Router 202 zum Router 201 die
gesetzten Kriterien erfüllten, so
erfüllt
der Pfad zwischen den Routern 201 und 202 die
Bedingungen, die für
das Ausbilden einer Route aufgestellt wurden. Eine entsprechende
Untersuchung wird auch zwischen anderen Routern vorgenommen. Wenn
beispielsweise die Routingergebnisse, die vom Router 202 an
den Router 201 über
den Pfad zwischen den Routern 202 und 206 zurückgegeben
werden, nicht die Bedingungen für
das Ausbilden der Route erfüllen,
so muss der Router 201 eine bessere Route über eine
anderen Router finden, was in diesem Fall durch den Router 203 dargestellt
wird. Der Router 201 kann, wenn möglich, das Anwendungsprogramm über nicht
adäquate
Ergebnisse für das
Ausbilden der Route, beispielsweise eine zu niedrige Dienstgüte, informieren.
-
Eine
Routenoptimierung für
einen gegebenen Datenfluss kann auch öfter als nur in Verbindung mit
der Flussidentifikation ausgeführt
werden. Die optimierte Route kann beispielsweise in gegebenen Zeitperioden
aktualisiert werden. Die Router können die Rückmeldungsanfrage unabhängig übertragen, was
insbesondere in einem Netz nützlich
ist, bei dem die Belastung zwischen verschiedenen Abschnitten oft
variiert. Jeder Router, der auf der Route angeordnet ist, kann eine
Rückmeldungsanfrage
erzeugen und sie an die nächsten
Router übertragen,
wenn sich der lokale Betrieb des Netzes aus irgend einem Grund beispielsweise
wegen einer Störung
oder einer plötzlichen Änderung
der Belastung ändert.
-
3 zeigt
ein Blockdiagramm einer Routingvorrichtung 30 gemäß der Erfindung.
Die Vorrichtung umfasst ein Sende- und Empfangselement 31, mit
damit verbundenen Eingängen
und Ausgängen 40 und 43,
wobei dieses Element Datenpakete entweder direkt von einem Sender 36 der
Pakete oder von einem anderen Router 37 empfängt und
die Datenpakete, die von Routingmitteln 32 gelenkt werden, auf
der Basis der Daten der Routingtabelle 33 an die nächsten Router 38 oder
direkt an einen Empfänger 39 der
Pakete überträgt. Die
Routingvorrichtung umfasst auch Erfassungsmittel 34 für einen
Datenfluss, eine Rückmeldungsanfrage
und Rückmeldungsinformation,
durch die bestimmt wird, ob die empfangenen Datenpakete zu einem
speziellen Datenfluss gehören,
oder ob sie eine Rückmeldungsanfrage
oder Rückmeldungsinformation
sind. Erzeugungsmittel 35 für eine Rückmeldungsanfrage erzeugen
eine Nachricht an andere Router, um die Werte eines speziellen Parameters
als Rückmeldungsinformation
zurückzugeben.
Eine Kennung wird der erzeugten Rückmeldungsanfrage hinzugefügt, so dass
andere Router die Rückmeldungsanfrage
von einem normalen Datenpaket unterscheiden können, da diese in der gleichen
Weise übertragen
werden. Zusätzlich
umfasst die Routingvorrichtung Erzeugungsmittel 44 für Rückmeldungsinformation,
durch die Rückmeldungsinformation
in Erwiderung auf die empfangene Rückmeldungsanfrage erzeugt wird,
und Empfangsmittel 45 für
Rückmeldungsinformation,
durch die Rückmeldungsinformation, die
von anderen Routern übertragen
wird, empfangen wird, wobei auf der Basis dieser Daten eine Routingentscheidung
gefällt
wird (Bezugszahl 46). Die gefällte Entscheidung basiert immer
auf der gesendeten Rückmeldungsanfrage
und der empfangenen Rückmeldungsinformation,
wobei auf der Basis dieser Entscheidung die Datenpakete, die zum
gegebenen Datenfluss gehören,
weitergeleitet werden. Beispielsweise steuert ein Mikroprozessor 47 Betriebsblöcke in einer
zentralisierten Weise, wodurch der Betrieb verschiedener Betriebsblöcke, wie
das Lenken von Datenpaketen in Block 32 und die Identifikation
eines Datenflusses in Block 34, parallel ausgeführt werden
können.
-
4a zeigt
in Form eines Flussdiagramms den Betrieb eines ersten Routers auf
der Basis des Verfahrens der Erfindung. Im Verfahren werden Datenpakete
von einer Quelladresse empfangen (Schritt 401), und das
Ziel besteht darin, zu identifizieren, ob die empfangenen Pakete
zu einem speziellen Fluss gehören
(Schritt 402). Der Fluss kann beispielsweise so identifiziert
werden, dass innerhalb einer gegebenen Zeitdauer der Router mehr
als ein Datenpaket empfängt,
das dieselben Quell- und Zieladressen aufweist, wobei auch andere
Verfahren für die
Flussidentifikation verwendet werden können. Wenn festgestellt wird,
dass die empfangenen Pakete nicht zu einem speziellen Fluss gehören, so
werden sie gemäß allgemeiner
Praxis unter Verwendung von Routingtabellen weiter zu einem nächsten Router
oder der Zieladresse, je nachdem was in Frage kommt, gelenkt (Schritt 403).
Wenn der Router erkennt, dass die empfangenen Datenpakete zu einem speziellen
Datenfluss gehören,
so überträgt er eine Rückmeldungsanfrage
(Schritt 404) zu mindestens einem nächsten Router, der entweder
eine direkte Verbindung zur Zieladresse oder eine Verbindung zu Routern,
die eine Verbindung zur Zieladresse haben, besitzt. Als nächstes empfängt der
Router die Rückmeldungsinformation
von allen Routern, an die er diese Rückmeldungsanfrage gesendet
hat (Schritt 405). Auf der Basis der Daten wählt der
Router einen nächsten
Router für
diesen Datenfluss und fällt
eine Routingentscheidung, die die beste Alternative im Moment des
Empfangs der Rückmeldungsparameter darstellt
(Schritt 406). von dieser Zeit an lenkt der Router alle
Pakete, die zu diesem Fluss gehören, über diese
Route an die Zieladresse. Als ein paralleles Verfahren zu den Schritten 401 bis 406 werden die
empfangenen Datenpakete entweder unter Verwendung von Routingtabellen
oder unter Verwendung vorheriger Routingdaten gelenkt (Schritte 401, 403),
bis neue Routingdaten verfügbar
sind, so dass die Datenpakete für
die Dauer dieser Schritte nicht am Router anhalten. Jeder Router
im Netz kann die Rückmeldungsanfrage
beispielsweise zu gegeben Zeitperioden oder zu einer Zeit, zu der
sich die Belastung, die Geschwindigkeit oder andere Faktoren einer
vorher ausgewählten
Route geändert
haben, so dass diese Route für
das Weiterleiten des Flusses nicht länger mehr optimal ist, senden.
-
4b zeigt
als ein Flussdiagramm den Betrieb eines Routers zwischen den ersten
und den letzten Routern gemäß dem Verfahren
der Erfindung. In diesem Verfahren werden Datenpakete von mindestens
einem vorhergehenden Router empfangen (Schritt 410), und
die Pakete werden identifiziert (Schritt 411). Wenn die
Pakete als einzelne Pakete identifiziert werden, die nicht zu irgend
einem speziellen Fluss gehören
(Schritt 412), werden sie gemäß einer allgemeinen Praxis
unter Verwendung von Routingtabellen zu einem nächsten Router oder der Zieladresse,
je nachdem was in Frage kommt, weitergegeben (Schritt 413).
Wohingegen wenn der Router eine Rückmeldungsanfrage empfängt (Schritt 414), er
die Anfrage an die nächsten
Router weitergibt (Schritt 415). Der Router erzeugt Rückmeldungsinformation
gemäß der Rückmeldungsanfrage
(Schritt 416), und nach dem Empfang der Rückmeldungsinformation,
die von den nächsten
Routern zurückkommt,
fügt er
eine eigene Rückmeldung
dieser Rückmeldungsinformation
hinzu (Schritt 418) und gibt dann die aktualisierte Rückmeldungsinformation an
den Router zurück,
von dem die Rückmeldungsanfrage
angekommen ist (Schritt 419). Auf der Basis der empfangenen
Rückmeldungsinformation
bildet der Router die Route für
Pakete, die zu einem speziellen Datenfluss gehören, zur Zieladresse (Schritt 420).
Nach dem Empfangen und Identifizieren der Pakete, die zum Datenfluss
gehören
(Schritt 421) und an den die Rückmeldungsanfrage gerichtet
war, gibt der Router die Pakete über
die Route, die am besten die Parameter der Rückmeldungsanfrage erfüllt, weiter.
Als ein paralleles Verfahren zu den Schritten 410 und 421
werden die empfangenen Datenpakete entweder unter Verwendung von
Routingtabellen oder unter Verwendung vorheriger Routingdaten gelenkt
(Schritte 410, 413), bis neue Routingdaten verfügbar sind,
so dass die Pakete während der
Dauer dieser Schritte nicht am Router anhalten.
-
4c zeigt
als ein Flussdiagramm den Betrieb des letzten Routers gemäß dem Verfahren
der Erfindung. Der Router empfängt
gemäß dem Verfahren
Datenpakete (Schritt 430) und identifiziert die Pakete
(Schritt 431) von mindestens einem vorhergehenden Router
und lenkt die Datenpakete an mindestens eine Zieladresse. Wenn die
Datenpakete als normale Pakete identifiziert werden (Schritt 432), werden
sie in normaler Weise unter Verwendung von Routingtabellen zu den
Zieladressen gelenkt (Schritt 433). Wenn eine Rückmeldungsanfrage
empfangen und identifiziert wird (Schritt 434), erzeugt
dieser Router, der der letzte Router auf der Route ist, Rückmeldungsinformation
gemäß der Rückmeldungsanfrage
(Schritt 435) durch das Zurücksenden der Rückmeldungsinformation über dieselbe
Route, über die
sie angekommen ist, an diesen Router (Schritt 436). Nach
dem Empfangen und Identifizieren der Pakete, die zum Datenfluss
gehören
und an die die Rückmeldungsanfrage
gerichtet war (Schritt 437), gibt der Router die Pakete
an die Zieladresse. Als ein paralleles Verfahren zu den Schritten 430 bis 437 werden
alle empfangenen Pakete entweder unter Verwendung von Routingtabellen
oder unter Verwendung vorheriger Routingdaten gelenkt (Schritte 430, 433),
bis neue Routingdaten verfügbar
sind, so dass die Datenpakete am Router nicht während der Dauer dieser Schritte
anhalten.
-
Physikalisch
kann der Router als ein Router, der beispielsweise ein System gemäß 3 umfasst,
implementiert werden, oder als ein Computer, wobei die Routingoperation
durch Software ausgeführt
wird. Es sollte verständlich
sein, dass der Router, um als ein Computer handeln zu können, einen Prozessor
für das
Ausführen
von Befehlen und einen Speicher für das Speichern von Daten gemäß den programmierten
Funktionen benötigt.
Entsprechend benötigt
der Computer, um als Router handeln zu können, beispielsweise physikalische
Komponenten, damit er mit dem Netz verbunden werden kann.
-
Eine
Erzeugung und ein Senden einer Rückmeldungsanfrage
in Erwiderung auf einen erfassten Datenfluss ist nicht auf den ersten
Router, den man aus der Richtung des Senders der Datenpakete sieht,
beschränkt.
Jeder Router im Netz kann als der erste Router fungieren, das heißt als Erzeuger
und Sender der Rückmeldungsanfrage.
Dies ist beispielsweise vorteilhaft, wenn die Netzbelastung lokal
mehr steigt, als dies erwartet wurde. Im allgemeinen ist jedoch
der erste Router, der einen Datenfluss bei den empfangenen Datenpaketen
erkennt und die Rückmeldungsanfrage
erzeugt, der Router, an den der Datenpaketsender die Pakete zuerst
sendet.
-
Oben
wurden die Implementierung und die Ausführungsformen der Erfindung
mittels Beispielen beschrieben. Es ist für einen Fachmann offensichtlich,
dass die Erfindung nicht auf Details der oben beschriebenen Ausführungsformen
beschränkt
ist, sondern dass die Erfindung auch anders implementiert werden
kann, ohne von den Eigenschaften der Erfindung abzuweichen. Die
beschriebenen Ausführungsformen
sollten als illustrierend und nicht als beschränkend angesehen werden. Die
Implementierungen und Anwendungen der Erfindung sind nur durch die
angefügten
Ansprüche
beschränkt.
Somit liegen Alternativen der Implementierung, die durch die Ansprüche definiert
sind, und auch äquivalente
Implementierungen im Umfang der Erfindung.