DE60100927T2 - Verbesserter Internet Protocolpaketrouter - Google Patents

Verbesserter Internet Protocolpaketrouter Download PDF

Info

Publication number
DE60100927T2
DE60100927T2 DE60100927T DE60100927T DE60100927T2 DE 60100927 T2 DE60100927 T2 DE 60100927T2 DE 60100927 T DE60100927 T DE 60100927T DE 60100927 T DE60100927 T DE 60100927T DE 60100927 T2 DE60100927 T2 DE 60100927T2
Authority
DE
Germany
Prior art keywords
routing
routing module
packets
modules
default
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60100927T
Other languages
English (en)
Other versions
DE60100927D1 (de
Inventor
Bohdan Lew Park Ridge Bodnar
Charles Calvin Byers
James Patrick Sandwich Dunn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of DE60100927D1 publication Critical patent/DE60100927D1/de
Application granted granted Critical
Publication of DE60100927T2 publication Critical patent/DE60100927T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Description

  • 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.

Claims (22)

  1. Vorrichtung zum Routen von Paketen, umfassend: mindestens ein einfaches Routing-Modul (200) mit begrenzten Routing-Fähigkeiten; und ein Netzwerk-Koppelfeld (210) zum Herstellen von Verbindungen zwischen Modulen; wobei jedes der einfachen Routing-Module mit Einrichtungen (OC 48) zum Empfangen und Senden von Datenpaketen verbunden ist; dadurch gekennzeichnet, daß die Vorrichtung mindestens ein Vorgabe-Routing-Modul (220) zum Routen von Paketen, die nicht durch ein einfaches Routing-Modul geroutet werden können, umfaßt; und das Netzwerk-Koppelfeld so ausgelegt ist, daß es das mindestens eine einfache Routing-Modul und das mindestens eine Vorgabe-Routing-Modul verbindet; wobei das mindestens eine einfache Routing-Modul so ausgelegt ist, daß es Pakete, die es nicht alleine routen kann, zu einem des mindestens einen Vorgabe-Routing-Moduls sendet.
  2. Vorrichtung nach Anspruch 1, wobei mindestens eines der einfachen Module Pakete nur dann routen kann, wenn ihre Zieladresse in einem inhaltsadressierbaren Speicher (303) gespeichert ist.
  3. Vorrichtung nach Anspruch 1, wobei mindestens eines der einfachen Routing-Module nur solche Pakete routen kann, deren Zieladresse in einem Direktzugriffsspeicher RAM eines das Paket empfangenden einfachen Routing-Moduls gespeichert ist.
  4. Vorrichtung nach Anspruch 1, wobei mindestens eines der einfachen Routing-Module Pakete routen kann, deren Zieladresse in einem inhaltsadressierbaren Speicher, einem Cache-Speicher oder einem Direktzugriffsspeicher RAM eines das Paket empfangenden einfachen Moduls gespeichert ist.
  5. Vorrichtung nach Anspruch 1, wobei das Vorgabe-Routing-Modul so ausgelegt ist, daß es andere Routing-Knoten anfragt, um zu versuchen, Informationen für das Routen eines Pakets zu finden.
  6. Vorrichtung nach Anspruch 1, wobei jedes der Routing-Module ein Router von Paketen des Internetprotokolls (IP) ist.
  7. Vorrichtung nach Anspruch 1, wobei das mindestens eine Vorgabe-Routing-Modul so ausgelegt ist, daß es ein Aktualisieren von Routing-Informationen in den einfachen Modulen steuert.
  8. Vorrichtung nach Anspruch 7, wobei das Aktualisieren auf der Grundlage der Last des mindestens einen Vorgabe-Routing-Moduls eingeplant wird.
  9. Vorrichtung nach Anspruch 1, wobei das mindestens eine einfache Routing-Modul mit Übertragungseinrichtungen zum Führen von Paketen zwischen Knoten eines Paketnetzwerks verbunden ist; und das mindestens eine komplexe Vorgabe-Routing-Modul umschaltbar mit dem mindestens einen einfachen Routing-Modul, aber nicht mit den Übertragungseinrichtungen verbunden ist.
  10. Vorrichtung nach Anspruch 1, wobei das Vorgabe-Routing-Modul Vorrichtungen zum Abhören oder Überwachen gewählter Quellen und/oder Ziele umfaßt und aus einem einfachen Routing-Modul von einer gewählten Quelle und/oder zu einem gewählten Ziel empfangene Pakete zum Abhören zu den Vorrichtungen geroutet werden.
  11. Vorrichtung nach Anspruch 1, wobei das Vorgabe-Routing-Modul so ausgelegt ist, daß es gewählte Quellen- und/oder Zieladressen erkennt und Pakete von einer gewählten Quelle und/oder zu einem gewählten Ziel zu Abhör- oder Überwachungsvorrichtungen und zu einer Zieladresse des überwachten oder abgehörten Pakets routet.
  12. Verfahren zum Routen von Paketen, das in einem Routing-Knoten eines Paketnetzwerks ausgeführt wird, mit den folgenden Schritten: Bereitstellen mindestens eines einfachen Routing-Moduls (200) mit begrenzten Routing-Fähigkeiten; gekennzeichnet durch Bereitstellen mindestens eines Vorgabe-Routing-Moduls (220) zum Routen von Paketen, die nicht durch ein einfaches Routing-Modul geroutet werden können; wobei das mindestens eine einfache Routing-Modul Pakete, die es nicht alleine über ein Netzwerk-Koppelfeld (210) routen kann, zu dem mindestens einen Vorgabe-Routing-Moduls sendet; und Senden von Paketen von dem mindestens einen Vorgabe-Routing-Modul über das Netzwerk-Koppelfeld zu mit Einrichtungen (OC 48) zum Übertragen von Datenpaketen verbundenen einfachen Routing-Modulen.
  13. Verfahren nach Anspruch 12, mit dem folgenden Schritt: mindestens eines der einfachen Module routet Pakete nur dann in Richtung eines Ziels, wenn ihre Zieladresse in einem inhaltsadressierbaren Speicher des mindestens einen der einfachen Module gespeichert ist.
  14. Verfahren nach Anspruch 12, mit dem folgenden Schritt: mindestens eines der einfachen Module routet nur solche Pakete, deren Zieladresse in einem Direktzugriffsspeicher RAM eines das Paket empfangenden einfachen Routing-Moduls gespeichert ist.
  15. Verfahren nach Anspruch 12, mit dem folgenden Schritt: mindestens eines der einfachen Module routet Pakete, deren Zieladresse in einem inhaltsadressierbaren Speicher, einem Cache-Speicher oder einem Direktzugriffsspeicher RAM eines das Paket empfangenden einfachen Moduls gespeichert ist.
  16. Verfahren nach Anspruch 12, mit dem folgenden Schritt: das Routing-Modul verarbeitet ein Anfragen anderer Routing-Knoten, um zu versuchen, Informationen für das Routen eines Pakets zu finden.
  17. Verfahren nach Anspruch 12, mit dem folgenden Schritt: jedes der Routing-Module routet Pakete des Internetprotokolls (IP).
  18. Verfahren nach Anspruch 12, mit dem folgenden Schritt: das mindestens eine Vorgabe-Routing-Modul steuert ein Aktualisieren von Routing-Informationen in den einfachen Modulen.
  19. Verfahren nach Anspruch 18, wobei der Schritt des Aktualisierens auf der Grundlage der Last des mindestens einen Vorgabe-Routing-Moduls eingeplant wird.
  20. Verfahren nach Anspruch 12, wobei das mindestens eine einfache Routing-Modul mit Übertragungseinrichtungen zum Führen von Paketen zwischen Knoten eines Paketnetzwerks verbunden ist; und das mindestens eine Vorgabe-Routing-Modul umschaltbar mit dem mindestens einen einfachen Routing-Modul, aber nicht mit den Übertragungseinrichtungen verbunden ist.
  21. Verfahren nach Anspruch 12, mit den folgenden Schritten: Erkennen, in dem Vorgabe-Routing-Modul, daß ein Paket abgehört oder überwacht werden soll; und als Reaktion auf das Erkennen, Routen des Pakets zu Vorrichtungen zum Abhören oder Überwachen des Pakets.
  22. Verfahren nach Anspruch 21, mit dem folgenden Schritt: Routen das Pakets zu einer Zieladresse des Pakets.
DE60100927T 2000-07-11 2001-05-22 Verbesserter Internet Protocolpaketrouter Expired - Lifetime DE60100927T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US613672 2000-07-11
US09/613,672 US6801525B1 (en) 2000-07-11 2000-07-11 Internet protocol packet router

Publications (2)

Publication Number Publication Date
DE60100927D1 DE60100927D1 (de) 2003-11-13
DE60100927T2 true DE60100927T2 (de) 2004-08-12

Family

ID=24458239

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60100927T Expired - Lifetime DE60100927T2 (de) 2000-07-11 2001-05-22 Verbesserter Internet Protocolpaketrouter

Country Status (5)

Country Link
US (1) US6801525B1 (de)
EP (1) EP1172973B1 (de)
JP (1) JP3875521B2 (de)
CA (1) CA2347998C (de)
DE (1) DE60100927T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020089983A1 (en) * 2000-12-18 2002-07-11 Zarlink Semiconductor V.N. Inc. Switching database cache management system
US7200107B2 (en) * 2001-01-06 2007-04-03 Mindspeed Technologies, Inc. Method and apparatus for lossless switchover in a redundant switch fabric
TWI276336B (en) * 2001-05-02 2007-03-11 Acute Technology Corp Internet address pre-lookup method
US20020168014A1 (en) * 2001-05-04 2002-11-14 Dunn James Patrick Communications with minimized propagation delay
US20030084186A1 (en) * 2001-10-04 2003-05-01 Satoshi Yoshizawa Method and apparatus for programmable network router and switch
US7035256B1 (en) * 2001-10-31 2006-04-25 Redback Networks Inc. Method and apparatus for a routing information base
US7209449B2 (en) * 2002-03-27 2007-04-24 Intel Corporation Systems and methods for updating routing and forwarding information
US7688823B2 (en) * 2002-06-04 2010-03-30 Alcatel-Lucent Usa Inc. Efficient mechanism for wire-tapping network traffic
US7565399B1 (en) * 2002-08-26 2009-07-21 Netapp, Inc. Caching web objects transformed by a pipeline of adaptation services
ES2253067B1 (es) * 2004-04-06 2007-07-16 Colaboradores En Tecnologia Para La Empresa, S.L Metodo para la utilizacion como mando a distancia de un telefono movil o agenda electronica.
US8966551B2 (en) 2007-11-01 2015-02-24 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
US9197857B2 (en) 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
FR2877797B1 (fr) * 2004-11-10 2006-12-15 Cit Alcatel Dispositif de selection d'informations de routage pour un routeur d'un reseau de communication
US8352590B2 (en) * 2006-02-21 2013-01-08 Cisco Technology, Inc. Method and system for network management using wire tapping
US7936695B2 (en) * 2007-05-14 2011-05-03 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
US8023419B2 (en) * 2007-05-14 2011-09-20 Cisco Technology, Inc. Remote monitoring of real-time internet protocol media streams
US7835406B2 (en) * 2007-06-18 2010-11-16 Cisco Technology, Inc. Surrogate stream for monitoring realtime media
US7817546B2 (en) * 2007-07-06 2010-10-19 Cisco Technology, Inc. Quasi RTP metrics for non-RTP media flows
US8301982B2 (en) 2009-11-18 2012-10-30 Cisco Technology, Inc. RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows
US8379522B2 (en) * 2010-01-15 2013-02-19 Alcatel Lucent Link aggregation flood control
US8819714B2 (en) 2010-05-19 2014-08-26 Cisco Technology, Inc. Ratings and quality measurements for digital broadcast viewers
US8654652B2 (en) * 2011-05-30 2014-02-18 Hewlett-Packard Development Company, L.P. System for managing the size of a hardware routing table
CN103458479A (zh) * 2013-09-17 2013-12-18 清华大学 Wsn中基于内容的路由表的数据路由方法及系统
CN104468398A (zh) * 2014-11-11 2015-03-25 上海斐讯数据通信技术有限公司 路由信息快速写入交换芯片的方法
JP6743771B2 (ja) 2017-06-23 2020-08-19 株式会社デンソー ネットワークスイッチ

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740175A (en) * 1995-10-03 1998-04-14 National Semiconductor Corporation Forwarding database cache for integrated switch controller
US5938736A (en) * 1997-06-30 1999-08-17 Sun Microsystems, Inc. Search engine architecture for a high performance multi-layer switch element
US6069895A (en) * 1997-08-29 2000-05-30 Nortel Networks Corporation Distributed route server
US6157644A (en) * 1997-10-07 2000-12-05 Northern Telecom Limited Method and apparatus for accelerating OSI layer 3 routers
US6396833B1 (en) * 1998-12-02 2002-05-28 Cisco Technology, Inc. Per user and network routing tables

Also Published As

Publication number Publication date
CA2347998C (en) 2005-12-06
EP1172973B1 (de) 2003-10-08
US6801525B1 (en) 2004-10-05
DE60100927D1 (de) 2003-11-13
EP1172973A1 (de) 2002-01-16
JP2002057716A (ja) 2002-02-22
JP3875521B2 (ja) 2007-01-31
CA2347998A1 (en) 2002-01-11

Similar Documents

Publication Publication Date Title
DE60100927T2 (de) Verbesserter Internet Protocolpaketrouter
DE69927457T2 (de) Verfahren und Vorrichtung zur Cache-Speicherung von Informationen im Netzwerk
DE69433126T2 (de) Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen
DE60200466T2 (de) Ein adaptiver Pfad-Erkennungs-Prozess zum Routen von Datenpaketen in einem Mehrknotennetzwerk
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
DE69628724T2 (de) Netzknotenvorrichtung und Verbindungsaufbauverfahren zum Aufbauen von Durchgangsverbindungen
DE69634928T2 (de) Netzwerkverwaltungssystem mit verbesserter Knotenerkennung und -überwachung
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE60108166T2 (de) Untergruppen-multicasting in einem kommunikationsnetz
DE69934192T2 (de) Verfahren und Einrichtung zur Netzverbindung mittels Brücken
DE69835809T2 (de) Kommunikationssteuereinheit und Kommunikationssteuerungsverfahren angewendet für ein Mehrfachsende-unterstützendes LAN
DE60316745T2 (de) Erleichterung der beschleunigten Verarbeitung von Nachrichten des Internet Group Management Protokolls
DE69917555T2 (de) Vermittlungseinrichtung mit mehrstufiger Warteschlangeschema
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE60204031T2 (de) Hierarchische cachespeicherung in telekommunikationsnetzen
DE102015102871A1 (de) Technologien für verteilten Leitweglenkungstabellennachschlag
DE10297269T5 (de) Kennzeichnung von Paketen mit einem Nachschlageschlüssel zur leichteren Verwendung eines gemeinsamen Paketweiterleitungs-Cache
EP0700224A2 (de) Verfahren zur adaptiven Wegesuche in einem Kommunikationsnetz
DE112016002952T5 (de) Systeme und Verfahren zum Verarbeiten von Paketen in einem Computernetz
DE60208955T2 (de) System zur Bandbreitegewährleistung, Relaisvorrichtung und Netzwerkmanagement-Server
DE60130844T2 (de) Autonomes OSPF-System mit einem in zwei Teilbereiche getrennten Hauptnetz
DE60208990T2 (de) Verfahren zur Unterscheidung von Teilnehmer eines Kommunikationssystems, Kommunikationssystem und Kommunikationsgerät
DE69812574T2 (de) Verfahren und System zur Leitweglenkung von Agent-Programmen in einem Kommunikationsnetz
DE60127871T2 (de) Einrichtung, verfahren und system für verbessertes routing bei der mobil-ip-vernetzung
DE60313026T2 (de) Verfahren und gerät zur verteilung von datenpaketen von einem computer zu einem clustersystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition