-
Die vorliegende Erfindung betrifft
Vorrichtungen zum Routen von Paketen und Verfahren zum Routen von
Paketen.
-
Ein Router für Pakete des Internet-Protokolls (Datagramme)
nimmt Eingangspakete von vielen Quellen an, die für viele
Ziele bestimmt sind. Jedes Paket enthält einen Kopfteil, der eine
Zieladresse enthält.
Da viele der Ziele häufig
in vielen Paketen angetroffen werden, führt ein Router für eine Liste häufig verwendeter
Zieladressen die Identität
des Ausgangsports des Routers, der gerade zum Routen von Paketen
in Richtung dieses Ziels verwendet wird. Bei vorbekannten Paketroutern
wird ein inhaltsadressierbarer Speicher zum Speichern des den am
häufigsten
angetroffenen Zieladressen entsprechenden Ausgangsports verwendet.
Wenn auf diesen inhaltsadressierbaren Speicher mit der Identität einer
Zieladresse zugegriffen wird, liefert der inhaltsadressierbare Speicher,
wenn er eine Übereinstimmung
zwischen dieser Adresse und einer seiner Einträge findet, direkt oder indirekt
die Identität
des Ports, zu dem das Paket geroutet werden soll. Bei etwas weniger
häufig
verwendeten Adressen wird ein Speicher der zweiten Ebene bereitgestellt,
der diese Zieladressen und entsprechende Portidentifikationen speichert.
Der Speicher der zweiten Ebene kann mit Techniken wie zum Beispiel
Hash-Zugriff zum Finden eines bestimmten Eintrags durchsucht werden.
-
Wenn weder in dem inhaltsadressierbaren Speicher
noch in dem Speicher der zweiten Ebene ein Eintrag gefunden wird,
wird eine Anfrage zu benachbarten Internet-Protokoll-Routern gesendet, um zu sehen,
ob sie diese Zieladresse gespeichert haben, und, wenn dies der Fall
ist, bestimmte Informationen darüber
zu erhalten, wie ein Paket zu dieser Zieladresse geroutet werden
soll. Wenn diese Anfrage erfolglos bleibt, wird das Paket zu einem
Backbone-Router gesendet, der Zugriff auf eine noch größere Menge
von Zieladressen hat. Wenn schließlich alles andere erfolglos
bleibt, wird das Paket einfach verworfen. Die große Zeitvariation,
die erforderlich ist, um verschiedene Pakete zu verarbeiten, führt zu einer
Variation der Verzögerung
beim Durchlaufen eines Routers. Außerdem wird der Gesamtdurchsatz eines
Routers durch das gelegentliche, schwierig zu routende Paket signifikant
vermindert.
-
Der Entwurf von Internet-Protokoll-Paket-Routern
bringt deshalb zwei Arten von Problemen mit sich. Erstens besteht
ein einfaches technologisches Problem darin, die große Anzahl
von Paketen, die jede Sekunde in jedem Modul eines Routers eintrifft,
zu verarbeiten. Zweitens besteht ein großer Unterschied zwischen dem
Verarbeitungsaufwand, der für
Pakete erforderlich ist, deren Identität in dem inhaltsadressierbaren
Speicher gespeichert ist, die deshalb sehr schnell verarbeitet werden
können,
und den Paketen, die eine wesentlich extensivere Datenverarbeitung
erfordern. Sobald das technologische Problem der Handhabung einer
angemessenen Anzahl von Paketen, deren Zieladressen bekannt sind, gelöst wurde,
ist das verbleibende Problem, die verbleibenden Pakete zu verarbeiten.
Ein Problem des Stands der Technik besteht darin, daß es keine
vernünftige
wirtschaftliche Lösung
für das
Problem der Verarbeitung solcher Pakete in einem Internet-Protokoll-Router
oder in jedem beliebigen anderen Router gibt, der Datenpakete mit
einer großen
Anzahl verschiedener Zieladressen verarbeitet.
-
Aus US-A-6069895 sind Anordnungen
für eine
große
Paketvermittlung bekannt. Die Paketvermittlung enthält mehrere
intelligente Leitungsanschlußkarten
zum Routen von Paketen, deren Routing-Informationen in der Leitungsanschlußkarte gespeichert
sind. Die Routing-Tabellen
jeder Leitungsanschlußkarte
werden unter der Kontrolle einer zentralen Steuerung aktualisiert.
-
Gemäß einem Aspekt der vorliegenden
Erfindung wird eine Vorrichtung nach Anspruch 1 bereitgestellt.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung wird ein Verfahren nach Anspruch 12 bereitgestellt.
-
Bei einer Ausführungsform der Erfindung weist
ein Paketrouter, wie zum Beispiel ein Internet-Protokoll-Paketrouter, zwei
Arten von Routing-Modulen auf: ein einfaches Routing-Modul, das Pakete
routen kann, deren Adressen in einem schnell zugänglichen Speicher gespeichert
sind, und das deshalb solche Pakete auf der Basis des Ergebnisses
dieser schnellen Speichersuche routen kann, und ein Vorgabe-Routermodul,
das alle anderen Pakete aus der ersten Art von Routing-Modulen empfängt und
diese Pakete verarbeitet. Vorteilhafterweise kann das Vorgabe-Routermodul
einen sehr großen
Speicher, einen komplizierten Verarbeitungskomplex zur Verarbeitung
solcher Pakete und zum Abwickeln von allgemeinen Routerfunktionen
wie zum Beispiel Steuerung des Aktualisierens der Routing-Tabellen
der einfacheren Routing-Module, und einen großen Puffer zum Speichern der
Pakete, die es verarbeitet, während
der Zeit, in der Anfragen an andere Router durchgeführt werden,
aufweisen.
-
Vorteilhafterweise können die
einfachen Routing-Module so ausgelegt werden, daß sie eine sehr große Anzahl
von Paketen handhaben können, ohne
sich darum sorgen zu müssen,
daß eine
Flut von Paketen, für
die sie keine Routing-Informationen haben, ihre Fähigkeit überschwemmen
könnte,
den Großteil
ihrer Pakete abzuwickeln; Pakete, für die sie keine Routing-Informationen haben,
werden einfach zu dem Vorgabe-Routermodul
gesendet, um von diesem Modul verarbeitet zu werden. Vorteilhafterweise wird
die Überlauflast
von allen einfachen Routing-Modulen so zu dem Vorgabe-Routing-Modul gelenkt,
da, wenn eines der einfachen Module eine ungewöhnlich große Anzahl von Paketen aufweist,
die es nicht verarbeiten kann (d. h. Pakete, für die kein Zielport in dem
Router-Modul gespeichert wurde), der Vorgaberouter den Umstand ausnutzen
kann, daß nicht
alle der einfachen Module gleichzeitig eine große Last senden.
-
Da es nur eines oder höchstens
eine kleine Anzahl von Vorgabemodulen gibt, können die Kosten des Vorgabemoduls
wesentlich höher
sein, und es kann ein komplizierterer Verarbeitungskomplex für dieses
Vorgabemodul bereitgestellt werden, ohne daß der gesamte Router zu teuer
wird.
-
Gemäß der bevorzugten Ausführungsform steuern
die Vorgabemodul e) das Aktualisieren der Weiterleitungstabellen
der einfachen Module.
-
Kurze Beschreibung der
Zeichnung(en)
-
1 ist
ein Blockschaltbild eines Routing-Knotens gemäß dem Stand der Technik;
-
2 ist
ein Blockschaltbild eines Routing-Knotens, der die Erfindung realisiert;
-
3 ist
ein Blockschaltbild eines Prozessors für ein Vorgabe-Routing-Modul;
-
4 ist
ein Flußdiagramm
von Aktionen, die durch die einfachen Routing-Module durchgeführt werden;
und
-
5 ist
ein Flußdiagramm
von Operationen, die von dem Vorgabe-Routing-Modul durchgeführt werden.
-
Ausführliche
Beschreibung
-
1 zeigt
einen vorbekannten Backbone-Router mit Leitungsanschlußkarten 100 und 120,
die mit einem Koppelfeld 110 verbunden sind. Die Leitungsanschluß karte 100 besteht
aus einer Eingangsfunktion 101, die aus einer Empfangsleitungsanschlußschnittstelle 103 besteht,
einer Koppelfeldschnittstelle 105 und Hardwareschaltkreisen, die
die IP-Routing-Engine 107 implementieren. Die Leitungsanschlußkarte 100 enthält außerdem eine Ausgangsfunktion
(102), die eine Koppelfeldschnittstellenfunktion 106 aufweist,
und einen Ausgangspuffer 108 und eine Leitungsanschlußschnittstelle 104.
Die andere gezeigte Leitungsanschlußkarte weist ebenfalls eine
Eingangsfunktion 121 und eine Ausgangsfunktion 122 auf.
Zusätzlich
würde der Router
einen (nicht gezeigten) OAM&P-Prozeß (Operations,
Administration, Maintenance und Provisioning) aufweisen, aber es
gibt keinen zentralisierten Routing-Prozessor. Da die IP-Routing-Engine in Hardware
implementiert wird, enthält
sie keine große Bibliothek
von Support-Routinen, die in einem typischen Router auf Softwarebasis
anzutreffen ist. Die IP-Routing-Engine verwendet Daten, die in dem
Leitungsanschlußkartenspeicher
gespeichert und von dem OAM&P-Prozessor
geführt
werden. Das Koppelfeld 110 verbindet jede beliebige Eingangsfunktion
mit jeder beliebigen Ausgangsfunktion, und das Koppelfeld wird bei
einer bevorzugten Ausführungsform
alle 200 ns konfiguriert. In 1 wird
die Eingangsfunktion 101 durch den Weg 111 mit
der Ausgangsfunktion 122 verbunden. Wenn das Koppelfeld konfiguriert
wird, wird das gerade in der IP-Engine 107 verarbeitete
Paket zu dem Ausgangspuffer 128 transferiert.
-
In 2 wurde
eine der Leitungsanschlußkarten
durch eine spezielle Leitungsanschlußkarte 220 ersetzt,
die eine Anzahl spezieller Routing-Funktionen, darunter die Vorgabe-Route-Funktion
bereitstellt. Die Leitungsanschlußkarte 220 weist keinerlei externe
Leitungsanschlußschnittstellen
auf und erhält
und beseitigt ihren Verkehr über
das Koppelfeld 210. Das Koppelfeld 210 vermittelt
die Ausgabe der Koppelfeldschnittstellen 205 und 232 des
einfachen Routing-Moduls 200 und des Vorgabe-Routing-Moduls 220 zu
den Koppelfeldschnittstellen 206 und 231 des einfachen
Routing-Moduls 200 (oder eines nicht gezeigten anderen
solchen einfachen Routing-Moduls) und des Vorgabe-Routing-Moduls 220.
Die spezielle Leitungsanschlußkarte 220 enthält einen
großen
Paketpuffer (228) und einen Vielzweckprozessor (229),
mit dem viele der in 1 nicht
bereitgestellten Unterstützungsprotokolle
ausgeführt
werden. Zusätzlich
hat der Vielzweckprozessor die Kontrolle über die in dem Speicher 226 gespeicherten
Nachschlagelisten. Die IP-Engine
kann auf die gleiche Weise, wie in der Leitungsanschlußkarte 200 verwendet
wird, auf diesen Speicher zugreifen. Zusätzlich ist eine Engine (227)
vorgesehen, um das BGP (Border Gateway Protocol) abzuwickeln, das
häufig verwendet
wird, damit sich Router und Netzwerke Routing-Tabellen teilen können. Die
spezielle Leitungsanschlußkarte
enthält
außerdem
eine Tabellenaktualisierungsfunktion (223), die periodische
Aktualisierungen zu der Routing-Tabelle in den anderen Leitungsanschlußkarten
sendet, so wie es das Protokoll erfordert.
-
Bei dieser bevorzugten Ausführungsform führt jedes
einfache Modul Informationen bezüglich der
Benutzung und der Zeit der Benutzung von Einträgen in seiner Routing-Tabelle.
Aktualisierungsinformationen ersetzen dann vorhandene Einträge oder
im Fall neuer Einträge
den ältesten
bzw. am wenigsten benutzten der vorhandenen Einträge in dem einfachen
Modul.
-
Wenn ein unbestimmtes Paket an der
Leitungsanschlußkarte 200 ankommt,
kann dieses Paket nicht von der IP-Engine 207 geroutet
werden und wird deshalb über
den Weg 211 in dem Koppelfeld 210 zu dem Vorgaberouter 220 geroutet
und dort zu der Koppelfeldschnittstelle 231 der Ausgangsfunktion 222 der
speziellen Leitungsanschlußkarte 220,
in der es in dem Ausgangspuffer 228 abgelegt wird. Der Prozessor 229 untersucht
das Paket. Wenn das Paket ein Routing-Tabellen-Aktualisierungspaket ist, aktualisiert
er den Speicher 226. Wenn das Paket ein IP-Datenpaket ist,
bestimmt er die Endroute, aktualisiert den Speicher 226,
sendet das Paket über
den Datenweg 233 zu der Eingangsfunktion 221 und plant
das Paket dann für
ein Routen durch die IP-Engine 224 über die Koppelfeldschnittstelle 232 und über das
Netzwerkkoppelfeld 210 des vermittelten Weges 211 ein.
Außerdem
werden Aktualisierungsinformationen zu der Leitungsanschlußkarte 200 gesendet,
um so den Speicher der Routing-Engine 207 zu aktualisieren.
Wenn der Prozessor die Route nicht bestimmen kann, bereitet er eine
Anfrage an andere Router nach Informationen über die Adresse vor und plant
diese für
das Routen durch die BGP-Engine ein. Wenn die Anfrage erfolgreich
ist, aktualisiert der Prozessor 229 den Speicher 226 und
plant das Paket für die
Verarbeitung durch die IP-Engine 224 ein.
Wenn der Prozessor 229 das Paket immer noch nicht routen
kann, wird es fallengelassen.
-
Periodisch (alle 10 bis 20 Sekunden)
weist der Prozessor 229 die Tabellenaktualisierungsfunktion
(223) an, die Änderungen
an dem Speicher 226 zu den anderen Leitungsanschlußkarten
zu senden. Wenn die Leitungsanschlußkarte 200 die Aktualisierung
für die
Adresse, die sie zuvor nicht routen konnte, empfängt, beginnt sie mit dem Routen
zukünftiger Pakete
mit dieser Adresse ohne Hilfe der speziellen Leitungsanschlußkarte 220.
-
Als Alternative kann die in der Leitungsanschlußkarte 200 aktualisierte
Tabelle in Echtzeit gestartet werden, um die Last an der Leitungsanschlußkarte 220 zu
begrenzen. Die Entscheidung, eine periodische Tabellenaktualisierung
oder ein Echtzeitaktualisierung zu verwenden, kann auf Überwachungsvorgängen der
Belegung des Prozessors 229 oder der Benutzung des Puffers 228 auf
der Leitungsanschlußkarte 220 basieren.
-
Außerdem kann die Entscheidung
für eine Echtzeifaktualisierung
selektiv sein, wobei die Entscheidung auf der Anzahl von Leitungsanschlußkarten
basiert, die Verkehr für
eine bestimmte Adresse senden, oder auf der Menge an Verkehr zu
einer bestimmten Adresse. Diese selektive Aktualisierung kann durch
ein selektives Löschen
ergänzt
werden, das es ermöglicht,
Verkehr zu einer spezifischen Adresse für eine spezielle Studie oder
für Datenabhörzwecke
zu der speziellen Leitungsanschlußkarte 220 zu routen.
Das Abhören
oder anderweitige Überwachen
kann implementiert werden, indem die einfachen Router angewiesen
werden, zu Abhörgeräten zu routen;
indem die einfachen Router angewiesen werden, für ein Multicasting zu Abhörgeräten und dem
Ziel zu dem Vorgaberouter zu routen; und zur Prüfung und Analyse in einer der „anderen
Engines" 225 zu
dem Vorgaberouter zu routen.
-
3 ist
ein ausführliches
Diagramm einer Ausführungsform
des Prozessors 229. Das Vorgabe-Routing-Modul der Erfindung der Anmelder
führt alle
Suchen nach Paketen durch, deren Zieladressen nicht in einer Routing-Tabelle
eines der einfachen Router gefunden werden, und sucht deshalb dauernd über eine
große
Tabelle hinweg, deren Inhalt nicht in einem inhaltsadressierbaren
Speicher oder einem Speicher des Cache-Typs gespeichert werden kann. Da
es sich um einen speziellen Router handelt, kann man ihn eine sehr
große
Routing-Tabelle speichern lassen und er kann in bezug auf seine
Benutzung von Betriebsmitteln teurer als die einfachen Router sein. Der
Prozessor 229 empfängt
Eingaben von dem Ausgangspuffer 228 (der über die
Koppelfeldschnittstelle 231 ein Paket von einem der einfachen
Routing-Module empfangen hat. Der Ausgangspuffer wird in einen IO-Prozessor 240 geleitet,
der mit einem zentralen Steuerprozessor 242 kommuniziert.
Der zentrale Steuerprozessor hat Zugang zu zwei Versionen der Routing-Tabelle.
Eine erste Version, die die gesamte Routing-Tabelle im Speicher
244 enthält, dient
für die Zwecke
der Aktualisierung der Routing-Tabelle, die in dem Suchvorgang verwendet
wird. Damit der Suchvorgang so effizient wie möglich wird, kommuniziert jeweils
eine Gruppe von N Speichersteuerprozessoren 250, ..., 252 mit
einer Teilmenge 260, ..., 262 der Routing-Tabelle.
Die Suche erfolgt somit parallel durch jedes Paar von Speichersteuerprozessoren, wie
zum Beispiel 250, und entsprechenden Routing-Tabellen-Teilmengen
wie zum Beispiel 260. Die Ergebnisse der Suche werden zu
dem zentralen Steuerprozessor 242 übermittelt, der über den IO-Prozessor 240 mit
dem Ausgangspuffer 228 kommuniziert. Das Ergebnis der Suche
wird dann entweder zum Weiterleiten des Pakets zu dem Ausgangsteil
eines einfachen Routing-Moduls, wie zum Beispiel 202, verwendet,
um es zu dem nächsten
Paketknoten auf dem Weg zum Ziel zu senden, oder zu einem Vorgabeknoten
zur weiteren Suche gesendet oder wird verworfen. Zusätzlich veranlaßt der zentrale
Steuerprozessor 242 das Senden eines Steuerpakets zu dem
einfachen Routingmodul, das angefordert hatte, daß das Paket
durch das Vorgabe-Routing-Modul
geroutet werden soll, um die Routing-Tabelle dieses einfachen Routing-Moduls
zu aktualisieren.
-
Periodisch oder kontinuierlich zwischen
Suchen wird der Inhalt der gesamten Routing-Tabelle 244 zu
den verschiedenen Routing-Tabellen-Teilmengenspeichern 260,
..., 262 gesendet.
-
Die Speichersteuerprozessoren 250,
..., 252 können
zu einem beliebigen bestimmten Zeitpunkt Suchen nach verschiedenen
Zielen durchführen. Wenn
eine der Routing-Tabellen-Teilmengen besonders stark benutzt wird,
kann also ihr Steuerprozessor während
eines bestimmten Zeitraums eine kleinere Anzahl von Adressensuchen
verarbeiten. Während
der Aktualisierung der Routing-Tabellen-Teilmengen kann der zentrale
Steuerprozessor 242 folglich bewirken, daß eine überlastete
Routing-Tabellen-Teilmenge mit weniger häufig gesuchten Routing-Tabellenadressen
angefüllt
wird. Wenn ein Paketadressenziel in einer der Routing-Tabellen-Teilmengeneinträge gefunden
wird, wird die Adressenrouting-Tabelle des einfachen Routers, der
das Paket gesendet hat, aktualisiert. Dies geschieht durch Senden
eines Steuerpakets von dem Vorgaberouter zu dem einfachen Router.
Das Paket wird über
einen der (nicht gezeigten) Wege zwischen einem Ausgangsteil 202 eines
einfachen Routers und dem Eingangsteil 201 des einfachen
Routers, der das Paket zu dem komplexen Router gesendet hatte, gesendet.
-
Viele verschiedene Such- und Speicheralgorithmen
sind in der Technik wohlbekannt. Die Auswahl aus diesen Algorithmen
erfordert eine Simulation oder Prüfung.
-
Im Fall von Paketen, deren Zieladresse
keine entsprechende Portidentität
in der Routing-Tabelle des komplexen Routers aufweist, kann der
komplexe Router Routing-Informationen von anderen Routing-Knoten
des Paketnetzwerks anfordern. Diese Anforderung wird als ein von
dem Vorgaberouter 220 zu einem oder mehreren anderen Routing-Knoten gesendetes
Paket erzeugt. Antworten von diesen anderen Routing-Knoten werden
zu dem Vorgaberouter dieses Knotens geroutet.
-
4 zeigt
die in einem einfachen Routing-Modul durchgeführten Aktionen.
-
Das Routing-Modul empfängt ein
Paket (Aktionsblock 301). Das Modul sucht nach einer Übereinstimmung
der Zieladresse des Pakets in seinem inhaltsadressierbaren Speicher
(Aktionsblock 303). Zum Beispiel könnte dies eine Suche gemäß IPV6 sein
(Internet-Protokoll Version 6). „Flow Field". Die Prüfung 305 prüft, ob eine Übereinstimmung
gefunden wurde. Wenn dies der Fall ist, wird das Paket zu dem Port
geroutet, der in den Informationen vorgeschrieben ist, die der Übereinstimmung
des inhaltsadressierbaren Speichers zugeordnet sind (Aktionsblock 307).
Die Prüfung 309 stellt
eine Prüfung
dar, ob die einfachen Module auch einen Speicher der zweiten Ebene
enthalten, wie zum Beispiel einen Cache-Speicher oder Direktzugriffsspeicher.
Die technische Entscheidung, ob diese Module auch einen Speicher
der zweiten Ebene durchsuchen sollten, ist eine komplizierte Entscheidung
und wird wahrscheinlich erst nach extensiver Simulation oder Prüfung, möglicherweise
ergänzt
durch Erfahrungen am Einsatzort, bestimmt. Es kann sich ohne weiteres
zeigen, daß die
Nettoleistungsfähigkeit
des Gesamtrouters beeinträchtigt
wird, wenn in jedem der einfachen Module ein Speicher der zweiten
Ebene vorhanden ist. Wenn das der Fall ist, wird kein Speicher der zweiten
Ebene bereitgestellt und das Ergebnis der Prüfung 309 ist negativ;
das Paket wird dann zur weiteren Verarbeitung gemäß dem Flußdiagramm
von 4 zu dem Vorgabe-Routing-Modul
gesendet. Wenn in den einfachen Routing-Modulen ein Speicher der
zweiten Ebene vorgesehen ist, dann wird der Speicher der zweiten
Ebene durchsucht, um zu sehen, ob es eine Übereinstimmung mit der Zieladresse
gibt (Aktionsblock 313). Die Suche kann unter Verwendung
wohlbekannter Techniken erfolgen (z. B. Hash-Zugriff oder binäre Bäume) und
muß natürlich nicht
dadurch erfolgen, daß jeder
Eintrag in dem Backup-Speicher untersucht wird. Die Prüfung 315 prüft, ob eine Übereinstimmung
gefunden wurde. Wenn nicht, wird das Paket zu dem Vorgabe-Routing-Modul gesendet
(Aktionsblock 311) wie zuvor beschrieben. Wenn eine Übereinstimmung
gefunden wird, wird das Paket dann zu dem vorgeschriebenen Port
geroutet (Aktionsblock 317).
-
5 zeigt
die Aktionen, die in dem Vorgabe-Routing-Modul als Reaktion auf den Empfang eines
Pakets aus einem der einfachen Routing-Module durchgeführt werden.
Das Vorgabe-Routing-Modul empfängt
das Paket (Aktionsblock 401). Das Modul sucht über seine
eigene erweiterte Zieladressentabelle hinweg (Aktionsblock 403).
Mit der Prüfung 405 wird
bestimmt, ob in der Suche eine Übereinstimmung
gefunden wurde. Wenn eine Übereinstimmung gefunden
wurde, wird das Paket dann zu dem vorgeschriebenen Port geroutet
(Aktionsblock 407) und das Adressenaktualisierungsprogramm
wird über diese Übereinstimmung
informiert (Aktionsblock 409). Wenn innerhalb einer relativ
kurzen Zeit genug Übereinstimmungen
mit einer bestimmten Adresse gefunden werden, können die Routing-Tabellen eines
oder mehrerer der einfachen Module aktualisiert werden.
-
Wenn keine Übereinstimmung gefunden wurde,
wird eine Anfrage zu benachbarten Routing-Modulen gesendet (Aktionsblock 421).
Die Prüfung 423 bestimmt,
ob eine erfolgreiche Antwort auf die Anfrage empfangen wurde. Wenn
dies der Fall ist, wird die erweiterte Tabelle aktualisiert (Aktionsblock 425),
und der zuvor beschriebene Aktionsblock 407 wird durchgeführt, um
das Paket zu routen und danach das Adressenaktualisierungsprogramm
zu benachrichtigen.
-
Wenn keine Antwort für die Anfrage
empfangen wurde, bestimmt die Prüfung 427,
ob ein Paket zu einem anderen Router gesendet werden kann. Dies
ist möglich,
wenn es einen anderen Router auf derselben oder einer höheren Ebene
in der Hierarchie der Router gibt und wenn dieser Router nicht zuvor
eine Nachricht gesendet hat, die anzeigt, daß keine weiteren Pakete zu
diesem Router gesendet werden sollen. Wenn das Paket gesendet werden
kann (positives Ergebnis der Prüfung 427),
wird das Paket zu diesem anderen Knoten geroutet (Aktionsblock 429).
Wenn schließlich
das Ergebnis der Prüfung 427 negativ
ist, wird das Paket einfach verworfen (Aktionsblock 431).
-
Kurz gefaßt routen die einfachen Routing-Module
(200) die meisten Pakete sehr schnell und routen jegliche
Pakete, die sie nicht ohne weiteres routen können, zu einem komplexen Routing-Modul
(220). Das komplexe Routing-Modul 220 enthält eine
große
Adressentabelle und implementiert die BGP-Funktion zum Erhalten
von Adresseninformationen von anderen Routing-Systemen. Das komplexe Routing-Modul
findet entweder eine Adresse und sendet das Paket zur Übertragung
zu dem Netzwerk zu einem einfachen Routing-Modul oder sendet das Paket
zu einem Vorgabe-Routing-Knoten des Paketnetzes oder verwirft das
Paket. Bei der bevorzugten Ausführungsform
der Anmelder führt
das komplexe Routing-Modul Verkehrszählwerte für Adressen von zu diesem Modul
gerouteten Paketen zur Aktualisierung der Routing-Tabellen der einfachen
Module. Die einfachen Module führen
Zählwerte
der Paketadressenbenutzung, so daß Adressen, die selten angetroffen
werden, zugunsten neuer Adressen, die durch das komplexe Routing-Modul
bereitgestellt werden, gelöscht
werden können.
-
Die obige Beschreibung ist eine Beschreibung
einer bevorzugten Ausführungsform
der Erfindung der Anmelder. Durchschnittsfachleuten werden viele
andere Ausführungsformen
ersichtlich sein, ohne vom Schutzumfang der Erfindung abzuweichen.
Die Erfindung der Anmelder wird folglich nur durch die angefügten Ansprüche begrenzt.