DE19860120B4 - Routensuchschaltung und diese verwendende Kommunikationsvorrichtung - Google Patents

Routensuchschaltung und diese verwendende Kommunikationsvorrichtung Download PDF

Info

Publication number
DE19860120B4
DE19860120B4 DE1998160120 DE19860120A DE19860120B4 DE 19860120 B4 DE19860120 B4 DE 19860120B4 DE 1998160120 DE1998160120 DE 1998160120 DE 19860120 A DE19860120 A DE 19860120A DE 19860120 B4 DE19860120 B4 DE 19860120B4
Authority
DE
Germany
Prior art keywords
data
node
route
mask
address
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 - Fee Related
Application number
DE1998160120
Other languages
English (en)
Other versions
DE19860120A1 (de
Inventor
Kenshin Yamada
Motoo Nishihara
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.)
Juniper Networks Inc
Original Assignee
Juniper Networks 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 Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of DE19860120A1 publication Critical patent/DE19860120A1/de
Application granted granted Critical
Publication of DE19860120B4 publication Critical patent/DE19860120B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

Kommunikationssteuervorrichtung, mit:
einer Eingabe/Ausgabeeinheit (1), die abhängig vom Empfang eines Pakets ist, zur Erzeugung einer Suchanfrage und einer Bestimmungsadresse des Pakets, die Maskendaten enthält, um Ergebnis-Routendaten zu empfangen und um das Paket beruhend auf den Ergebnis-Routendaten zu übertragen, und einem Speicher (3) zum Speichern einer Routenbaumtabelle mit einer Baumstruktur aus einer Mehrzahl Knoten mit jeweiligen Knotendaten, und
eine Routensuchschaltung (2) für den Zugriff auf die Routenbaumtabelle in Abhängigkeit von der Suchanfrage, um die Routendaten von Endknotendaten als Ergebnis-Routendaten beruhend auf der Bestimmungsadresse zu bestimmen, wobei der Zugriff die Auswahl eines Knotens aus der Mehrzahl der Knoten beruhend auf einem (Maskendaten + 1)-ten Bit der Bestimmungsadresse enthält, und um die Ergebnis-Routendaten an die Eingabe/Ausgabeeinheit (1) auszugeben, um das Paket zu übertragen.

Description

  • Die Erfindung betrifft eine Routensuchschaltung, um eine Vorrichtung, an die ein Paket zu übertragen ist, beruhend auf einer Bestimmungsadresse, welche eine Übertragungsbestimmung des Pakets festlegt, zu bestimmen. Auch betrifft die Erfindung eine Kommunikationsvorrichtung, wie etwa eine Routenvorrichtung, die die Routensuchschaltung verwendet.
  • Eine Routensuchschaltung bestimmt eine Netzwerkadresse, die beruhend auf einer Adresse, wie etwa einer IP-Adresse im Internet, und auf einer Maskenlänge definiert ist.
  • Als eine Vorrichtung, um ein Datenpaket zwischen Netzwerken oder lokalen Bereichsnetzwerken (LANs; Local Area Networks), die miteinander verbunden sind, zu leiten, sind Vorrichtungen, wie etwa Brückenschaltungen und Router bekannt. In einem Referenzmodell eines offenen Kommunikationssystems, das durch die internationale Standard-Organisation (ISO) festgelegt ist, führt die Brückenvorrichtung die Verbindung in einer Datenverknüpfungsschicht, insbesondere in einer Mediumszugriffsunterschicht, durch. Die Routenvorrichtung führt die Verbindung in einer Netzwerkschicht durch, die die obere Schicht der Datenverknüpfungsschicht ist.
  • Eine Kommunikationssteuervorrichtung, die als Brückenvorrichtung oder Router bezeichnet wird, muß beruhend auf Routentabellendaten, die im voraus der Kommunikationssteuervorrichtung zugeführt wurden, bestimmen, an welche Vorrichtung das über das Netzwerk empfangene Empfangspaket als nächstes übertragen wird.
  • Im Allgemeinen wird bei dieser Bestimmungsbearbeitung beruhend auf der in dem Adressenfeld des empfangenen Datenpakets gespeicherten Adresse bestimmt, zu welcher Vorrichtung das empfangene Datenpaket übertragen werden soll.
  • Die in einem LAN verwendete Adresse wird anschließend kurz beschrieben.
  • Als in dem LAN verwendete Adressen sind bekannt, eine MAC-Adresse in einem Ethernet-Netzwerk und eine ATM-Adresse in einem ATM-Netzwerk, die physikalisch spezifisch für die Vorrichtung ist, eine Netzwerkzahl eines Netzwerks, mit dem die Vorrichtung verbunden ist, und eine Netzwerkadresse, die eine Zahl der Vorrichtung des Netzwerks anzeigt.
  • Die übertragenen Daten in dem LAN enthalten für gewöhnlich Netzwerkadressen für die Bestimmung und den Ursprung einer Übertragung in der Netzwerkschicht. Als Internetarbeitsadresse ist beispielsweise eine IP-Adresse mit 32 Bits in dem TCP/IP-Protokoll bekannt. Im folgenden wird zur Erläuterung die IP-Adresse verwendet.
  • Ein Router bezieht sich auf eine IP-Bestimmungsadresse des empfangenen Pakets, um zu bestimmen, an welchen Router oder Anschluß der Router das Paket als nächstes übertragen soll. Hei diesem Bestimmungsprozeß wird zuerst bestimmt, zu welcher Netzwerkadresse die IP-Bestimmungsadresse des empfangenen Paketes gehört. Dann wird eine physikalische Adresse der Übertragungsbestimmung entsprechend der Netzwerkadresse bestimmt. Die Maskenlänge sind die Daten, die eine vorgegebene Zahl angeben, wie viele Bits der IP-Adresse vom signifikantesten Bit an zu beachten sind.
  • 1 zeigt ein Beispiel der Netzwerkadresse. In 1 kann, da die Maskenlänge gleich "16" ist, gesehen werden, daß die oberen 16 Bits der IP-Adresse von "800A0000" als Netzwerkadresse gültig sind. Wenn die Maskenlänge gleich "16" ist, kann gesehen werden, daß die Adresse mit "FFFF0000" die oberen 16 Bits gleich "1" und die unteren 16 Bits gleich "0" festlegt.
  • Wenn ein Ergebnis des logischen Produkts der obigen Maskenadresse und der IP-Bestimmungsadresse des empfangenen Pakets mit der IP-Adresse gleich "800A0000" übereinstimmt, fallen die IP-Bestimmungsadresse und die Netzwerkadresse zusammen. Wenn beispielsweise die IP-Bestimmungsadresse gleich "800A40C8" ist, ist das logische Produkt aus der IP-Bestimmungsadresse "800A40C8" und den Maskendaten "FFFF0000" zu berechnen. Im Ergebnis wird die Adresse gleich "800A0000" erhalten. Diese ist mit der IP-Adresse gleich "800A0000" koinzident. Somit fällt die Bestimmungsadresse mit der Netzwerkadresse zusammen.
  • In einem bekannten Beispiel kann die Übereinstimmung der IP-Bestimmungsadresse und der Netzwerkadresse einfach unter dem Konzept der "Klassen" gelöst werden. Genauer gesagt, wenn jedes der oberen Bits der IP-Adresse gleich "0" ist, betrifft die IP-Adresse eine Klasse A und die Maskenlänge ist 8 Bits. Wenn die oberen Bits der IP-Adresse gleich "10" sind, betrifft die IP-Adresse eine Klasse B und die Maskenlänge ist gleich 16 Bits. Wenn die IP-Adresse gleich "100" ist, betrifft die IP-Adresse eine Klasse C und die Maskenlänge ist gleich 24 Bits.
  • Gegenwärtig wird das Konzept der Klassen aufgrund der Aufteilung in Unternetze und klassenlose Internet-Domain-Routings (CIDR, Classless Internet Domain Routing) aufgebrochen. Somit kann die Netzwerkadresse nicht einfach aus der IP-Bestimmungsadresse bestimmt werden. Es benötigt eine lange Verarbeitungszeit für die Bestimmung der Netzwerkadresse. Auch bei dem Netzwerk, das die CIDR annimmt, gibt es den Fall, in dem eine oder mehrere Netzwerkadressen in der Routentabelle mit der IP-Bestimmungsadresse zusammenfallen. In diesem Fall müssen die Routendaten der Netzwerkadresse mit der größten Maskenlänge genommen werden.
  • Jedoch wird bei einer bekannten Routenvorrichtung in dem Internet die Routenlösungsverarbeitung zur Bestimmung beruhend auf der IP-Bestimmungsadresse, zu welcher Vorrichtung das Paket zu übertragen ist, durch Software verwirklicht.
  • Wie vorangehend beschrieben wurde, gibt es bei einer bekannten Kommunikationsvorrichtung, wie etwa einer Brückenvorrichtung oder einem Router, ein Problem, daß es eine sehr lange Verarbeitungszeit für die Lösung der Routendaten für die Paketübertragung in dem Netzwerk benötigt, das viele Menge Routendaten aufweist. Insbesondere bei der Paketübertragung in dem Netzwerk, in dem eine oder mehrere Netzwerkadressen mit einer Adresse übereinstimmen, wird der Algorithmus zur Lösung der Netzwerkadresse kompliziert. Deshalb benötigt die Bestimmung der Routendaten längere Zeit. Aus diesem Grund ist der Durchsatz der Paketübertragungsverarbeitung der Paketübertragungsvorrichtung vermindert. Dies liegt daran, daß bestimmte Routendaten durch die Software entsprechend der Bestimmungsadresse aus einer Menge von Routendaten gesucht werden.
  • Zusätzlich zu den bekannten Beispielen ist ein Routensystem in der japanischen Patentoffenlegungsschrift (JP-A-Heisei 2-206237) bekannt. Bei diesem Routensystem enthält eine Verbindungsvorrichtung eine Adressentabelle für einen Unterbaum (sub-tree). Wenn ein Kommunikationsrahmen oder Datenblock empfangen wird, wird auf die Adressentabelle zurückgegriffen. Wenn eine Bestimmungsadresse in der Adressentabelle vorliegt, wird der Kommunikationsrahmen an einer Verbindung entsprechend der Bestimmungsadresse übertragen.
  • Auch in der japanischen Patentoffenlegungsschrift (JP-A-Heisei 4-352534) ist ein Adressenvergleichssystem beschrieben. Bei dem Adressenvergleichssystem sind ein gemeinsamer Adressenabschnitt Acom der Anschlußadressen A1 bis An, die für eine Mehrzahl Anschlußausstattungen 1-1 bis 1-n gesetzt sind, in einem Adressenregister 2 gespeichert. Ein Teil der Anschlußadresse der Empfangsadresse RA entsprechend dem gemeinsamen Adressenabschnitt Acom wird mit dem Wert des Adressenregisters 2 verglichen. Genauer gesagt, ein Steuerregister 4 ist mit Maskenbits ausgestattet, in denen die Anwesenheit oder Nichtanwesenheit der Vergleichsadresse in Einheiten von Bits gesetzt wird. Der Wert des Adressenregisters 2 und die Empfangsadresse RA werden durch einen Vergleichsabschnitt 3 beruhend auf den Maskenbits des Steuerregisters 4 verglichen.
  • Ein Kommunikationsnetzwerksystem ist auch in der japanischen Patentoffenlegungsschrift (JP-A-Heisei 6-62029) beschrieben. Bei dem Kommunikationsnetzwerksystem wird ein Verteilungsbaum (distribution tree) beruhend auf den Baumadressen durch einen Baumlenker erzeugt. Eine Baumadressenkorrelation wird unter Verwendung eines Netzwerkidentifizierers und eines Knotenidentifizierers erzeugt, und eine Liste von verbundenen Knoten wird für jedes Element des mehrschichtigen Baumsatzes erzeugt.
  • Eine LAN-Verbindungsvorrichtung ist auch in der japanischen Patentoffenlegungsschrift (JP-A-Heisei 7-254912) beschrieben. In der LAN-Verbindungsvorrichtung wird ein IP-Kopf 4 von einem Kommunikationspaket 5 und eine IP-Bestimmungsadresse von dem IP-Kopf 4 detektiert. Eine Ausgabeanschlußnummer und die IP-Zielbestimmungsadresse entsprechend der IP-Adresse werden aus der Routentabelle 11a gesucht, die die IP-Zieladressen und eine Ausgabenanschlußnummer speichert, um eine Übertragungsbestimmung LAN für jede IP-Adresse zu bezeichnen.
  • Ein Speicher ist in der japanischen Patentoffenlegungsschrift (JP-A-Heisei 7-143156) beschrieben. Der Speicher enthält ein Eingaberegister zum Speichern von L Bitdaten und M Datenbankregistern zum Speichern von X Bitdaten. Der Inhalt des Eingaberegisters wird mit jedem der M Datenbankregister in Einheiten von Bits verglichen. Wenn alle Bits miteinander in einem oder mehreren der M Register übereinstimmt, wird ein Übereinstimmungssignal ausgegeben. Ein Datenbankmaskenregister ist für jedes der M Datenbankregister vorgesehen, um zu bezeichnen, ob der Vergleichsvorgang in Einheiten von Bits auszuführen ist.
  • Die EP 1 016 245 A1 offenbart eine Kommunikationssteuervorrichtung mit einer Eingabeeinheit zur Erzeugung einer Suchanfrage, um Ergebnis-Routendaten zu empfangen, und um das Paket auf der Grundlage dieser Ergebnis-Routendaten zu übertragen. Der Speicher dieser Kommunikationssteuervorrichtung weist eine Routenbaumtabelle, bestehend aus einer Mehrzahl von Knoten mit Knotendaten, auf. Die Bestimmung, wohin IP-Daten zu schicken sind, umfasst das Speichern einer Repräsentation einer Routentabelle in Form eines vollständigen Prefix-Baums, der Repräsentation eines Bit-Vektors sowie eine Pointerarrays. Der Lookup erfolgt nach Teilen des Bit-Vektors in Bitmasken und Speichern einer Repräsentation dieser Masken in einer Map-Tabelle sowie von Codewörtern und von Basisadressen. Die Masken, in die jeweils der Bit-Vekor geteilt wird, sind von vorbestimmter Länge und aus dem gesamten Prefix-Baum generiert.
  • Eine Routenbestimmungsvorrichtung wird in der japanischen Patentoffenlegungsschrift (JP-A-Heisei 4-140948) beschrieben. In der Routenbestimmungsvorrichtung gibt es ein Knotenadressierregister zum Speichern einer Adresse zur Bestimmung einer Kommunikationsroute eines Knotens. Auch sind ein oberes Maschenregister, ein Gate-Wegadressenregister und ein Kanalbitregister vorgesehen. Das Exklusiv-ODER des Wertes des Knotenadressenregisters und der Bestimmungsknotenadreaae wird berechnet und das Berechnungsergebnis mit dem Wert des oberen Maschenregisters maskiert. Wenn der maskierte Wert ungleich 0 ist, wird eine Bestimmungseinheit aus dem Wert des Gate-Wegregisters bestimmt. Wenn der maskierte Wert gleich 0 ist, wird das Ergebnis der Exklusiv-ODER-Berechnung mit dem Wert des Kanalbitregisters für alle Kommunikationseinheiten maskiert. Wenn die maskierten Daten nicht gleich 0 sind, wird eine Kommunikationsanfrage veran laßt. Dann wird eine der Kommunikationseinheiten ausgewählt, die die Übertragungsanforderung veranlaßt.
  • Die Erfindung ist vorgesehen, um die oben genannten Probleme zu lösen. Deshalb ist es eine Aufgabe der Erfindung, eine Routensuchachaltung zu schaffen, bei der die Zeit zur Bestimmung einer Route verringert werden kann, so daß die Belastung einer CPU verringert werden kann.
  • Eine weitere Aufgabe der Erfindung ist es, eine Kommunikationssteuervorrichtung zu schaffen, die eine Routensuchschaltung verwendet.
  • Erfindungsgemäß werden diese Aufgaben durch eine Kommunikationssteuervorrichtung nach Anspruch 1 und ein Verfahren zur Bestimmung einer Route nach Anspruch 21 gelöst. Die weiteren Ansprüche betreffen vorteilhafte Aspekte der Erfindung.
  • Um einen Aspekt der Erfindung zu verwirklichen, enthält eine Kommunikationssteuervorrichtung eine Eingabe/Ausgabeeinheit, die abhängig vom Empfang eines Pakets ist, zur Erzeugung einer Suchanfrage und einer Bestimmungsadresse des Pakets, die Maskendaten enthält, um Ergebnis-Routendaten zu empfangen und um das Paket beruhend auf den Ergebnis-Routendaten zu übertragen, einen Speicher zum Speichern einer Routenbaumtabelle mit einer Baumstruktur aus einer Mehrzahl Knoten mit jeweiligen Knotendaten und eine Routensuchschaltung für den Zugriff auf die Routenbaumtabelle in Abhängigkeit von der Suchanfrage, um die Routendaten von Endknotendaten als Ergebnis-Routendaten beruhend auf der Bestimmungsadresse zu bestimmen, wobei der Zugriff die Auswahl eines Knotens aus der Mehrzahl der Knoten beruhend auf einem (Maskendaten + 1)-ten Bit der Bestimmungsadresse enthält, und um die Ergebnis-Routendaten an die Eingabe/Ausgabeeinheit auszugeben, um das Paket zu übertragen.
  • Die Routensuchschaltung enthält eine Auswahlschaltung für den nächsten Knoten zum Zugriff auf die Routenbaumtabelle unter Verwendung der Bestimmungsadresse und vorgegebener Maskendaten in Abhängigkeit von der Suchanfrage, um erste Nächst-Knotendaten (nächste Knotendaten) wieder zu gewinnen, um wiederholt auf die Routenbaumtabelle unter Verwendung einer Adresse und von Maskendaten von laufenden Knotendaten zur Wiedergewinnung zweiter Nächst-Knotendaten (übernächste Knotendaten) zuzugreifen, wobei die nächsten Knotendaten oder die übernächsten Knotendaten als laufende Knotendaten gesetzt werden, bis die Endknotendaten erhalten werden.
  • Die Routenbaumtabelle kann eine halbdurchsichtige oder dichotome Baumstruktur haben, und jeder der Mehrzahl Knoten ist als Stammknoten mit einem linken Unterknoten und einem rechten Unterknoten verbunden. In diesem Fall wählt die Auswahlschaltung für den nächsten Knoten den linken Unterknoten oder den rechten Unterknoten beruhend auf einem Satz der Bestimmungsadresse und vorgegebener Maskendaten oder einem Satz der Adresse und von Maskendaten der laufenden Knotendaten, jedesmal, wenn auf die Routenbaumtabelle Bezug genommen wird.
  • Auch kann die Auswahlschaltung für den nächsten Knoten den linken Unterknoten oder den rechten Unterknoten beruhend auf einem (Maskendaten + 1)-ten Bit der Bestimmungsadresse auswählen. In diesem Fall enthält, wenn die Auswahlschaltung für den nächsten Knoten auf die Routenbaumtabelle beruhend auf einer Knotennummer zugreift, die Auswahlschaltung für den nächsten Knoten eine erste Auswahlvorrichtung zur Bestimmung eines Berechnungsbits beruhend auf den Maskendaten und der Bestimmungsadresse, eine zweite Auswahlvorrichtung zur Auswahl einer Nummer des linken Unterknotens oder einer Nummer des rechten Unterknotens beruhend auf dem Berechnungsbit, eine Speicherschaltung zum Speichern einer Top-Knotennummer und eine dritte Auswahlvorrichtung zur Auswahl einer Top-Knotennummer oder der ausge wählten Unterknotennummer in Abhängigkeit von der Suchanfrage.
  • Die Routensuchschaltung kann des weiteren auch eine Such- und Bestimmungsschaltung enthalten, um zu bestimmen, ob die ersten Knotendaten erhalten wurden. In diesem Fall bestimmt wünschenswerterweise die Such- und Bestimmungsschaltung, daß die Endknotendaten erhalten werden, wenn kein Knoten vorliegt, auf den Bezug genommen wird, oder wenn die zweiten Nächst-Knotendaten Daten enthalten, die die Ungültigkeit anzeigen.
  • Die Routensuchschaltung kann des weiteren eine Routenaktualisierungsschaltung zum selektiven Aktualisieren gehaltener Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten enthalten. In diesem Fall kann die Routenaktualisierungsschaltung die gehaltenen Routendaten durch Routendaten des ersten oder zweiten Nächst-Knotendaten aktualisieren, wenn ein logisches Produkt der Maskendaten und die Bestimmungsadresse mit der Adresse der ersten oder der zweiten Nächst-Knotendaten übereinstimmen. Die Routenaktualisierungsschaltung kann auch eine Maskenschaltung zur Maskierung der Bestimmungsadresse unter Verwendung von den Maskendaten einer Adressenvergleichsschaltung zum Vergleich der maskierten Bestimmungsadresse und der Adresse der ersten und zweiten Nächst-Knotendaten und eine Ergebnis-Routendaten-Aktualisierungsschaltung zum Aktualisieren der gehaltenen Routendaten durch Routendaten der ersten und zweiten Nächst-Knotendaten, wenn die Maskenbestimmungsadresse mit der Adresse der ersten oder zweiten Nächst-Knotendaten übereinstimmt, und wenn die Gültigkeitsdaten der ersten und zweiten Nächst-Knotendaten anzeigen, daß die Routendaten der ersten und zweiten Nächst-Knotendaten gültig sind, enthalten.
  • Des weiteren enthält die Routensuchschaltung eine Auswahlschaltung für die nächste Maske zur Auswahl der rechten Unterknotenmaskendaten oder der linken Unterknotenmaskendaten der Routendaten als ausgewählte Unterknotenmaskendaten für einen nächsten Taktzyklus beruhend auf einem Berechnungsbit, das beruhend auf der Bestimmungsadresse und den ausgewählten Unterknotenmaskendaten für einen laufenden Taktzyklus bestimmt ist.
  • In diesem Fall kann die Routensuchschaltung eine Auswahlschaltung für einen nächsten Knoten für die Bezugnahme auf die Routenbaumtabelle unter Verwendung der Bestimmungsadresse und vorgegebener Maskendaten in Abhängigkeit von der Suchanfrage enthalten, um erste Nächst-Knotendaten wieder herzustellen, die die rechten Unterknotenmaskendaten und die linken Unterknotenmaskendaten enthalten, um wiederholt auf die Routenbaumtabelle unter Verwendung der Adresse laufender Knotendaten und der ausgewählten Unterknotenmaskendaten zuzugreifen, um zweite Nächst-Knotendaten wieder herzustellen, einschließlich der rechten Unterknotenmaskendaten und der linken Unterknotenmaskendaten, während die ersten Nächst-Knotendaten oder die zweiten Nächst-Knotendaten als laufende Knotendaten gesetzt werden, bis die Endknotendaten erhalten werden.
  • Die Routenbaumtabelle kann eine halbdurchsichtige Baumstruktur aufweisen und jede der Mehrzahl Knoten ist als Stammknoten mit einem linken Unterknoten und einem rechten Unterknoten verbunden. Die Auswahlschaltung für den nächsten Knoten wählt auch den linken Unterknoten oder den rechten Unterknoten beruhend auf einem Satz der Bestimmungsadresse und vorgegebener Maskendaten oder einem Satz der Adresse der laufenden Knotendaten und der ausgewählten Unterknotenmaskendaten aus, jedesmal wenn auf die Routenbaumtabelle zugegriffen wird.
  • Die Auswahlschaltung des nächsten Knotens kann auch den linken Unterknoten und den rechten Unterknoten beruhend auf einem (ausgewählte Unterknotenmaskendaten + 1)-ten Bit der Bestimmungsadresse auswählen. In diesem Fall nimmt die Auswahlschaltung des nächsten Knotens auf die Routenbaumtabelle beruhend auf einer Knotennummer Bezug. Die Auswahlschaltung für den nächsten Knoten kann eine erste Auswahlvorrichtung zur Bestimmung eines Berechnungsbits beruhend auf den ausgewählten Unterknotenmaskendaten und der Bestimmungsadresse in dem laufenden Taktzyklus, eine Flipflop-Schaltung zum Halten des Berechnungsbits zur Ausgabe im nächsten Taktzyklus, eine zweite Auswahlvorrichtung zur Auswahl einer Nummer des linken Unterknotens und einer Nummer des rechten Unterknotens beruhend auf dem Berechnungsbit in dem nächsten Taktzyklus, eine Speicherschaltung zum Speichern der Top-Knotennummer und eine dritte Auswahlvorrichtung zur Auswahl der Top-Knotennummer oder der ausgewählten Unterknotennummer in dem nächsten Taktzyklus in Abhängigkeit von der Suchanfrage enthalten.
  • Des weiteren enthält die Routensuchschaltung eine Such- und Bestimmungsschaltung zum Bestimmen, ob die Endknotendaten erhalten wurden. In diesem Fall bestimmt die Such- und Bestimmungsschaltung, daß die Endknotendaten erhalten werden, wenn kein Knoten vorliegt, auf den Bezug genommen wird oder wenn die zweiten Nächst-Knotendaten Daten enthalten, die die Ungültigkeit anzeigen.
  • Zusätzlich kann die Routensuchschaltung des weiteren eine Routenaktualisierungsschaltung zum selektiven Aktualisieren gehaltener Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten enthalten. In diesem Fall aktualisiert die Routenaktualisierungsschaltung die gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten, wenn ein logisches Produkt der ausgewählten Unterknotenmaskendaten und der Bestimmungsadresse mit der Adresse der ersten oder zweiten Nächst-Knotendaten übereinstimmt. Die Routenaktualisierungsschaltung kann auch eine Maskenschaltung für die Maskierung der Bestimmungsadresse unter Verwendung der Maskendaten in dem laufenden Taktzyklus, eine Flipflop-Schaltung zum Halten der Maskenbestimmungsadresse zur Ausgabe in dem nächsten Taktzyklus, eine Adressenvergleichsschaltung zum Vergleich der Maskenbestimmungsadresse und der Adresse der ersten oder zweiten Nächst-Knotendaten in dem nächsten Taktzyklus und eine Aktualisierungsschaltung der Ergebnis-Routendaten zum Aktualisieren der gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten in dem nächsten Taktzyklus, wenn die Maskenbestimmungsadresse mit der Adresse der ersten oder zweiten Nächst-Knotendaten übereinstimmt und wenn die Gültigkeitsdaten der ersten oder zweiten Nächst-Knotendaten anzeigen, daß die Routendaten der ersten und zweiten Nächst-Knotendaten gültig sind, enthalten.
  • Um einen weiteren erfindungsgemäßen Aspekt zu verwirklichen, enthält ein Verfahren zum Bestimmen einer Route zu einer Bestimmungseinheit in einer Kommunikationssteuervorrichtung beruhend auf einer Bestimmungsadresse eines Pakets in einer Kommunikationssteuervorrichtung die Schritte:
    Erzeugen einer Suchanfrage und einer Maskendaten enthaltenden Bestimmungsadresse abhängig vom Empfang eines Pakets,
    Zugreifen auf eine Routenbaumtabelle in Abhängigkeit von der Suchanfrage zur Bestimmung von Routendaten von Endknotendaten als Ergebnis-Routendaten aus der Bestimmungsadresse, wobei die Routenbaumtabelle eine Baumstruktur mit einer Mehrzahl Knoten mit jeweiligen Knotendaten hat, wobei der Zugriff die Auswahl eines Knotens aus der Mehrzahl der Knoten beruhend auf einem (Maskendaten + 1)-ten Bit der Bestimmungsadresse enthält; und
    Übertragen des Pakets an die Bestimmungseinheit beruhend auf den Ergebnis-Routendaten.
  • Der Zugriffsschritt kann das wiederholte Zugreifen auf die Routenbaumtabelle unter Verwendung der Bestimmungsadresse und vorgegebener Maskendaten oder unter Verwendung von Adressen und Maskendaten laufender Knotendaten aufweisen, um zweite Nächst-Knotendaten zu gewinnen, während die ersten Nächst-Knotendaten oder die zweiten Nächst-Knotendaten als laufende Knotendaten gesetzt werden, bis die Endknotendaten erhalten werden.
  • In diesem Fall kann der wiederholte Zugriffsschritt die Auswahl der Maskendaten des rechten Unterknotens oder der Maskendaten des linken Unterknotens der Routendaten als ausgewählte Maskendaten des Unterknotens für den nächsten Taktzyklus beruhend auf einem Berechnungsbit enthalten, das beruhend auf der Bestimmungsadresse und den ausgewählten Maskendaten des Unterknotens für einen laufenden Taktzyklus bestimmt ist.
  • 1A ist ein Diagramm, das ein Beispiel einer Netzwerkadresse zeigt, und
  • 1B ist ein Diagramm, das die Bestimmungsadresse zeigt;
  • 2 ist ein Blockdiagramm, das die Struktur einer Kommunikationssteuervorrichtung unter Verwendung einer Routensuchschaltung entsprechend einer ersten erfindungsgemäßen Ausführungsform zeigt;
  • 3 ist ein Diagramm, das einen Routenbaum entsprechend einer Routentabelle zeigt;
  • 4 ist ein Blockdiagramm, das die Struktur der Routensuchschaltung entsprechend einer ersten erfindungsgemäßen Ausführungsform zeigt;
  • 5 ist ein Blockdiagramm, das die Struktur der Auswahlschaltung für den nächsten Knoten, der in 4 gezeigt ist, darstellt;
  • 6 ist ein Blockdiagramm, das die Beispielsstruktur einer Routenaktualisierungsschaltung aus 4 zeigt;
  • 7A bis 7N sind Zeitsteuerungstafeln zur Erläuterung des Betriebs der Routensuchschaltung aus 3;
  • 8 ist ein Blockdiagramm, das die Struktur der Routensuchschaltung entsprechend einer zweiten erfindungsgemäßen Ausführungsform zeigt;
  • 9 ist ein Blockdiagramm, das die Struktur der Auswahlschaltung des nächsten Knotens aus 8 zeigt; und
  • 10 ist ein Blockdiagramm, das die Struktur der Routenaktualisierungsschaltung aus 8 zeigt.
  • Eine Kommunikationssteuervorrichtung unter Verwendung einer Routensuchschaltung entsprechend der Erfindung wird im Anschluß detailliert unter Bezug auf die beiliegenden Zeichnungen beschrieben.
  • Zunächst wird die Kommunikationssteuervorrichtung unter Verwendung der Routensuchschaltung entsprechend der ersten erfindungsgemäßen Ausführungsform im Anschluß beschrieben. 2 ist ein Blockdiagramm, das die Struktur der Kommunikationssteuervorrichtung entsprechend der ersten erfindungsgemäßen Ausführungsform zeigt.
  • Die Kommunikationssteuervorrichtung der ersten Ausführungsform ist beispielsweise eine Brückenvorrichtung oder ein Router. Die Kommunikationssteuervorrichtung ist mit einer Eingabe/Ausgabeeinheit 1, wie etwa einer zentralen Verarbeitungseinheit (CPU), einer Routensuchschaltung 2 zur Durchführung eines Routensuchprozesses und einem Routenbaumspeicher 3 zum Speichern der Routendaten in Form einer dichotomen Baumstruktur ausgestattet.
  • Die Eingabe/Ausgabeeinheit 1 ist eine Vorrichtung zur Verarbeitung eines Empfangspakets. Die Eingabe/Ausgabeeinheit 1 veranlaßt ein Suchanfragesignal S der Routendaten an die Routensuchachaltung 2 zusammen mit einer IP-Bestimmungsadresse A, Die Eingabe/Ausgabeeinheit 1 bestimmt auch die Bestimmung des Empfangspakets beruhend auf den Ergebnis-Routendaten R, die von der Routenschaltung 2 ausgegeben werden.
  • Die Routensuchachaltung 2 führt die Suche nach den Routendaten entsprechend der IP-Bestimmungsadresse A durch, wenn das Suchanfragesignal S und die IP-Bestimmungsadresse A von der Eingabe/Ausgabeeinheit 1 eingeht. Die Routensuchschaltung 2 gibt dann ein Suchendesignal E und die Ergebnis-Routendaten R an die Eingabe/Ausgabeeinheit 1 aus, nachdem die Suche beendet ist. Die Routensuchachaltung 2 liefert eine Knotennummer N an den Routenbaumspeicher, um Knotendaten D zu erhalten, und vergleicht die IP-Bestimmungsadresse A mit den Knotendaten D.
  • Für die Routensuchschaltung 2 ist es vorzuziehen, daß eine Hochgeschwindigkeitslogikschaltung, wie etwa eine LSI-Schaltung (Large Scale Integrated Circuit) verwendet wird. Jedoch kann auch eine programmierbare Logikvorrichtung (PLD; Programmable Logic Device) wegen ihrer kurzen Entwicklungszeitspanne und Verringerung der Herstellungskosten verwendet werden.
  • Der Routenbaumspeicher 3 ist wünschenswerterweise aus einem Hochgeschwindigkeits-SRAM (Static Random Access Memory; statischer Freizugriffsspeicher) gebildet. Jedoch ist es möglich, große Kapazitätshochgeschwindigkeitsspeicherblöcke in einer LSI-Schaltung vorzusehen, wobei der Routenbaumspeicher 3 wünschenswerterweise in der LSI-Schaltung vorgesehen ist, in der die Routensuchachaltung 2 vorgesehen ist. Dies liegt daran, daß zusätzlich zu der geringen Schaltungsgröße die Verarbeitungsgeschwindigkeit in großem Ausmaß erhöht werden kann.
  • Tabelle 1 zeigt ein Beispiel der Routentabelle, die in dem Routenbaumspeicher 3 gespeichert ist.
  • Tabelle 1
    Figure 00190001
  • Die Knotennummer N ist äquivalent zu einer Adresse eines Speichers. Wenn die Knotennummer N eingegeben wird, können die Knotendaten D als Information jedes Knotens (am Routeneingang) gelesen werden. Die Knotendaten D sind aus einer IP-Adresse Da, Maskendaten Db, rechter Unterknotennummer Dc, linker Unterknotennummer Dd, Routengültigkeitsflag De und Routendaten Df zusammengesetzt.
  • Jeder Knoten entspricht einer Netzwerkadresse, die durch die IP-Adresse Da und die Maskendaten Db bestimmt ist. Die IP-Adresse Da wird in hexadezimaler Schreibweise in Tabelle 1 angegeben.
  • Die Maskendaten Db beschreiben die Länge der effektiven Adresse einer Netzwerkadresse in der IP-Adresse Da mit 32 Bit, das heißt die Länge der Maske. Die Maskendaten nehmen einen Wert zwischen 0 und 32 Bit an.
  • Die rechte Unterknotennummer Dc ist eine Knotennummer des rechtsseitigen Unterknotens, der mit dem Knoten verbunden ist, dessen Knotennummer N als Stammknoten ist.
  • Die linke Unterknotennummer Dd ist eine Knotennummer des linksseitigen Unterknotens, der mit dem Knoten verbunden ist, dessen Knotennummer N als Stammknoten dient.
  • Das Routengültigkeitsflag De zeigt an, ob der Knoten die Routendaten hat oder nicht. Wenn der Knoten Routendaten hat, wird das Routengültigkeitsflag auf den Wert gesetzt, der die Gültigkeit anzeigt, nämlich auf "1". Wenn der Knoten keine Routendaten hat, wird das Routengültigkeitsflag De auf den Wert gesetzt, der die Ungültigkeit anzeigt, das heißt auf "0".
  • Die Routendaten Df sind Daten, die nötig sind, um zu bestimmen, wohin das empfangene Paket mit der IP-Bestimmungsadresse A, die mit der Netzwerkadresse des Knotens übereinstimmt, der die Routendaten Df hat, zu übertragen ist. Hei dieser Ausführungsform werden die Routendaten Df als Adresse verwendet, die speziell für eine Übertragungsbestimmungsvorrichtung dient.
  • 3 ist ein Diagramm, das den Routenbaum entsprechend der in der Tabelle 1 gezeigten Routentabelle anzeigt. In 3 zeigt "NOD1" den Knoten an, der die Routendaten Df hat, und "NOD2" zeigt den Knoten an, der die Routendaten Df nicht hat. Ein numerischer Wert des oberen Abschnitts in dem Block jedes Knotens ist eine Knotennummer N. Auch zeigt ein numerischer Wert vor dem Symbol "/" in dem unteren Abschnitt eine IP-Adresse Da und ein numerischer Wert nach dem Symbol "/" die Maskendaten Db an.
  • In dem Routenbaum dieser Ausführungsform wird angenommen, daß die IP-Adresse Da mit einem Knoten (ein Routeneingang) als ein zu strukturierender Gegenstand eine Bitfolge aufweist. Ein Knoten, dessen Berechnungsbit in der IP-Adresse gleich "0" ist, ist als Unterknoten auf der unteren linken Seite des Stammknotens angeordnet. Ein Knoten, der das Berechnungsbit "1" hat, ist als Unterknoten rechts unten vom Stammknoten angeordnet. Somit wird ein dichotomer Baum strukturiert. Unnötige Verzweigungen werden entfernt, um die Geschwindigkeit des Suchvorgangs zu erhöhen.
  • Jeder Knoten hat zwei Unterknotennummern als Knotendaten D, nämlich eine rechte Unterknotennummer Dc und eine linke Unterknotennummer Dd. Somit wird die Verbindungsbeziehung zu den Unterknoten festgelegt.
  • Das oben erwähnte Berechnungsbit wird beruhend auf den Maskendaten Db bestimmt. Genauer gesagt, wenn die Maskenlänge der Maskendaten Db gleich m ist, dann ist das Berechnungsbit das (m + 1)-te Bit der IP-Adresse Da beginnend mit dem obersten Bit.
  • Das Berechnungsbit wird von dem oberen Bit der IP-Adresse Da zu dem unteren Bit verschoben, während der Suchvorgang in dem Routenbaum in der unteren Richtung erfolgt. Deshalb wird der Wert der Maskendaten Db groß, wenn der Suchvorgang hin zu der unteren Richtung des Routenbaums durchgeführt wird.
  • Es sei angemerkt, daß, wenn unnötige Verzweigungen entfernt werden, um die Geschwindigkeit des Suchvorgangs zu erhöhen, das Berechnungsbit sich nicht kontinuierlich von dem ersten Bit der IP-Adresse Da, dem zweiten Bit, dem dritten Bit ... ändert, sondern direkt von dem ersten Bit der IP-Adresse Da zum neunten Bit, zum sechzehnten Bit ...
  • Als nächstes wird im Anschluß ein Bestimmungsverfahren zum Strukturieren des in 3 gezeigten Routenbaums beschrieben.
  • Zunächst sind die Maskendaten Db des Top-Knotens mit der Knotennummer "1" gleich "0". Dementsprechend ist das erste Berechnungsbit das erste Bit der IP-Adresse Da des betroffenen Knotens. Da als nächste von dem Top-Knoten ein Knoten mit der Knotennummer gleich "2" und ein Knoten mit der Knotennummer "10" als die Knoten vorliegen, die kleinere Maskendaten Db haben, werden diese Knoten als die betroffenen Knoten gesetzt.
  • Die IP-Adresse Da des Knotens mit der Knotennummer gleich "2" ist gleich "80000000". Da der Wert des Berechnungsbits dieser IP-Adresse Da gleich "1" ist, wird der Knoten mit der Knotennummer "2" rechts unten von dem Top-Knoten als Stammknoten angeordnet. Andererseits ist die IP-Adresse Da des Knotens mit der Knotennummer "10" gleich "40000000". Somit wird der Wert des Berechnungsbits für diese IP-Adresse Da gleich "0". Deshalb wird der Knoten mit der Knotennummer "10" unterhalb links von dem Top-Knoten als Stammknoten angeordnet.
  • Als nächstes sind die Maskendaten Db des Knotens mit der Knotennummer "2" gleich "8". Dementsprechend ist das nächste Berechnungsbit das neunte Bit der IP-Adresse Da des betreffenden Knotens.
  • Da ein Knoten mit der Knotennummer gleich "11" und ein Knoten mit der Knotennummer "3" als Knoten mit dem nächst kleineren Wert der Maskendaten Db vorliegen. Diese Knoten werden als betreffender Knoten gesetzt. Die IP-Adresse Da des Knotens mit der Knotennummer "11" ist gleich "80B80000". Da der Wert des Berechnungsbits dieser IP-Adresse Da gleich "1" ist, wird der Knoten mit der Knoten nummer "11" rechts unten in Bezug auf den Knoten mit der Knotennummer "2" als Stammknoten angeordnet.
  • Andererseits ist die IP-Adresse Da des Knotens mit der Knotennummer "3" gleich "800A0000". Da der Wert des Berechnungsbits für die IP-Adresse Da gleich "0" ist, wird der Knoten mit der Knotennummer "3" links unterhalb des Knotens mit der Knotennummer "2" als Stammknoten angeordnet.
  • Im folgenden kann der Routenbaum aus 3 auf die gleiche Art strukturiert werden. Die Routentabelle, die in Tabelle 1 gezeigt ist, kann beruhend auf der Struktur des Routenbaums geschaffen werden.
  • Wenn die Routensuchschaltung 2 tatsächlich verwendet wird, müssen die Strukturier- und Aktualisierungsvorgänge dieses Routenbaums durchgeführt werden. Um den Routenbaum zu strukturieren, kann die ausschließliche Verwendung einer Hardwareschaltung für den Routenbaum anstelle der Software durch eine CPU verwendet werden.
  • 4 ist ein Blockdiagramm, das die Struktur der Routensuchschaltung 2 zeigt. Die Routensuchschaltung 2 besteht aus einer Zustandssteuerschaltung 20, einem Flipflop 21 (EDFF) mit einem Freischaltanschluß, einer Auswahlschaltung für einen nächsten Knoten 22, einer Routenaktualisierungsschaltung 23, einer Suchende-Bestimmungsschaltung 24 und einem Flipflop 25 (DFF).
  • Die Zustandssteuerschaltung 20 erzeugt in Abhängigkeit von den zwei Eingabesignalen, nämlich des Suchanfragesignals S und des Suchendesignals E', ein Suchausführungs-Andauersignal W, ob der Suchvorgang ausgeführt wird. Das Suchausführungs-Andauersignal W wird auf einen Pegel gesetzt, der anzeigt, daß das Suchverfahren ausgeführt wird, das heißt auf einen hohen Pegel, wenn das Suchanfragesignal S empfan gen wird. Wenn andererseits das Suchendesignal E' empfangen wird, wird das Suchausführungs-Andauersignal W auf einen Pegel gesetzt, der das Ende des Suchprozesses anzeigt, nämlich auf einen niedrigen Pegel (L).
  • Die von dem Routenbaumspeicher 3 ausgegebenen Knotendaten D werden dem EDFF 21 zugeführt. Wie vorangehend erwähnt wurde, bestehen die Knotendaten D aus einer IP-Adresse Da, Maskendaten Db, einer rechten Unterknotennummer Dc, einer linken Unterknotennummer Dd, einem Routengültigkeitsflag De und Routendaten Df. Das EDFF 21 gibt die Knotendaten synchron mit der ansteigenden Flanke des Taktsignals aus. Auch wird das Suchausführungs-Andauersignal W dem Freischaltanschluß ena des EDFF 21 zugeführt. Das EDFF 21 aktualisiert die Ausgabe nur dann, wenn das Suchausführungs-Andauersignal W in dem Pegel ist, der die Ausführung des Suchprozesses anzeigt.
  • Die Auswahlschaltung 22 für den nächsten Knoten wählt entweder die rechte Unterknotennummer Dc oder die linke Unterknotennummer Dd beruhend auf den Maskendaten Db in der IP-Bestimmungsadresse A, die von der Eingabe/Ausgabeeinheit 1 ausgegeben wird, und auf den Knotendaten D, die von dem Routenbaumspeicher 3 ausgegeben werden. Die Auswahlschaltung 22 für den nächsten Knoten gibt die ausgewählte Nummer an den Routenbaumspeicher 3 als Knotennummer N aus.
  • Die Routenaktualisierungsschaltung 23 vergleicht die beruhend auf der IP-Adresse Da und den Maskendaten Db ausgegebenen IP-Bestimmungsadresse A und die Netzwerkadresse, um das das Vergleichsergebnis darstellende Übereinstimmungs-Anzeigesignal C auszugeben. Das Adressen-Übereinstimmungs-Anzeigesignal C hat einen das Übereinstimmen anzeigenden Pegel, nämlich den hohen Pegel (H) bei dieser Ausführungsform, wenn das Adressenvergleichsergebnis das Übereinstimmen anzeigt, und einen Pegel, der die Nichtübereinstimmung anzeigt, nämlich einen niedrigen Pegel, wenn das Adressenvergleichsergebnis das Nichtübereinstimmen anzeigt.
  • Die Routenaktualisierungsschaltung 23 aktualisiert die Ergebnis-Routendaten R, wie sie von den Routendaten Df in den Knotendaten D ausgegeben werden, wenn das Adressenvergleichsergebnis die Übereinstimmung anzeigt und das Routengültigkeitsflag De auf den Wert gesetzt ist, der die Gültigkeit anzeigt. Die Routenaktualisierungsschaltung 23 hält auch die Ergebnis-Routendaten R, wenn das Adressenvergleichsergebnis die Nichtübereinstimmung anzeigt, oder wenn das Routengültigkeitsflag De so gesetzt ist, daß es die Ungültigkeit anzeigt.
  • Die Such- und Bestimmungsschaltung 24 erzeugt das Suchendesignal E' mit dem hohen Pegel (H), wenn die von der Auswahlschaltung 22 für den nächsten Knoten ausgegebene Knotennummer N die eine Endbedingung erfüllende Adresse ist, oder wenn das Adressen-Übereinstimmungs-Anzeigesignal C auf den Wert gesetzt wird, der die Nichtübereinstimmung anzeigt.
  • Das DFF 25 gibt dieses Suchendesignal E' an die Eingabe/Ausgabeeinheit 1 als Suchendesignal E, das synchron mit der ansteigenden Flanke des Taktsignals ist.
  • 5 ist ein Blockdiagramm, das die Struktur der Auswahlschaltung 22 für den nächsten Knoten zeigt. Die Auswahlschaltung 22 für den nächsten Knoten wird im folgenden unter Bezug auf 5 beschrieben.
  • Die Auswahlschaltung 22 für den nächsten Knoten besteht aus einer 32-1-Auswahlvorrichtung 200, einer 2-1-Auswahlvorrichtung 201, einer 2-1-Auswahlvorrichtung 202 und einer Oberknotennummer-Speicherschaltung 203.
  • Die 32-1-Auswahlvorrichtung 200 entnimmt und gibt ein Bit der 32-Bit-IP-Bestimmungsadresse A beruhend auf den Maskendaten Db aus. Genauer gesagt, wenn die Maskenlänge der Maskendaten Db gleich m ist, wird das (m + 1)-te Bit der IP-Bestimmungsadresse A entnommen und von dem oberen Bit ausgegeben. Die Ausgabe der 32-1-Auswahlvorrichtung 200 wird dem Steueranschluß sel der 2-1-Auswahlvorrichtung 201 als Auswahlsignal zugeführt.
  • Die 2-1-Auswahlvorrichtung 201 wählt und gibt die rechte Unterknotennummer Dc der Knotendaten D aus, wenn das Auswahlsignal gleich "1" ist, und wählt und gibt die linke Unterknotennummer Dd der Knotendaten D aus, wenn das Auswahlsignal gleich "0" ist.
  • Das Suchausführungs-Andauersignal W wird dem Steueranschluß sel der 2-1-Auswahlvorrichtung 201 als Auswahlsignal zugeführt. Die 2-1-Auswahlvorrichtung 201 wählt und gibt die Knotennummer, die von der 2-1-Auswahlschaltung 201 ausgegeben wird, aus, wenn das Suchausführungs-Andauersignal W auf den Pegel gesetzt ist, der die Ausführung des Suchprozesses anzeigt. Die 2-1-Auswahlvorrichtung 201 wählt und gibt auch die Knotennummer des Top-Knotens, der in der Top-Knotennummerspeicherschaltung 203 gespeichert ist, aus, wenn das Suchausführungs-Andauersignal W nicht so gesetzt ist, daß es den Pegel der Ausführung des Suchprozesses anzeigt.
  • 6 ist ein Blockdiagramm, das die Struktur der Routenaktualisierungsschaltung 23 zeigt. Die Routenaktualisierungsschaltung 23 wird unter Bezug auf 6 beschrieben.
  • Die Routenaktualisierungsschaltung 23 besteht _ aus einer Maskenverarbeitungsschaltung 210, einer Adressenvergleichsschaltung 211 und einer Ergebnis-Routendaten-Aktualisierungsschaltung 212.
  • Die Maskenverarbeitungsschaltung 210 gibt einen Teil der IP-Bestimmungsadresse A entsprechend dem Gültigkeitsbit der Netzwerkadresse des Knotens durch einen Maskenprozeß beruhend auf der IP-Bestimmungsadresse und den Maskendaten Db der Knotendaten D aus. Genauer gesagt, wenn die Maskenlänge der Maskendaten Db gleich m ist, wird eine Maskenadresse erzeugt, in der jedes der oberen m Bits gleich "1" ist und in der jedes der unteren (32-m)-Bits gleich "0" ist. Ein logisches Produkt der Maskenadresse und der IP-Bestimmungsadresse A wird berechnet. Im Ergebnis wird eine Adresse ausgegeben, bei der ein Teil der Netzwerkadresse vorliegt, außer dem Teil entsprechend dem Gültigkeitsbit.
  • Die Adressenvergleichsschaltung 211 vergleicht die IP-Adresse Da und die Ausgabe der Maskenverarbeitungsschaltung 210 zur Ausgabe des Adressen-Übereinstimmungs-Anzeigesignals C, das das Vergleichsergebnis anzeigt. Das Adressen-Übereinstimmungs-Anzeigesignal C hat den Pegel, der die Übereinstimmung anzeigt, nämlich den hohen Pegel (H) bei dieser Ausführungsform, wenn das Adressenvergleichsergebnis die Übereinstimmung anzeigt und den Pegel, der die Nichtübereinstimmung anzeigt, das heißt den niedrigen Pegel (L) bei dieser Ausführungsform, wenn das Vergleichsergebnis die Nichtübereinstimmung anzeigt.
  • Die Ergebnis-Routendaten-Aktualisierungsschaltung 212 aktualisiert die Ergebnis-Routendaten R als Ausgabe mit den Routendaten Df synchron mit dem Taktsignal, wenn das Adressen-Übereinstimmungs-Anzeigesignal C die Übereinstimmung anzeigt und wenn das Routengültigkeitsflag De auf den Wert gesetzt ist, der die Gültigkeit anzeigt. Jedoch hält die Ergebnis-Routendaten-Aktualisierungsschaltung 212 die Ergebnis-Routendaten R, wenn das Routengültigkeitsflag De auf den Wert gesetzt ist, der die Ungültigkeit anzeigt, oder wenn das Adressen-Übereinstimmungs-Anzeigesignal C auf den Pegel gesetzt ist, der die Nichtübereinstimmung anzeigt.
  • Als nächstes wird der Betrieb der Kommunikationssteuervorrichtung unter Verwendung der Routensuchschaltung 2 entsprechend der ersten Ausführungsform der Erfindung im Anschluß beschrieben. In diesem Fall sei angenommen, daß die Routentabelle entsprechend Tabelle 1 dem Routenbaum aus 3 entsprechend in dem Routenbaumspeicher 3 gespeichert ist. Auch wird der Betrieb unter Annahme des Falls beschrieben, in dem das Paket die IP-Bestimmungsadresse A gleich "800A9011" hat, als Beispiel empfangen wird.
  • Wenn das Paket empfangen wird, wird die IP-Bestimmungsadresse A von der Eingabe/Ausgabeeinheit 1 and die Routensuchschaltung 2 zusammen mit dem Suchanfragesignal S geliefert. In der Routensuchschaltung 2 werden die Routendaten entsprechend der IP-Bestimmungsadresse A gesucht, während die Knotendaten als ein zu vergleichender Gegenstand aus dem Routenbaumspeicher 3 gelesen werden. Nach dem Ende des Suchvorgangs werden die Ergebnis-Routendaten R an die Eingabe/Ausgabeeinheit 1 zusammen mit dem Suchendesignal E ausgegeben.
  • Der detaillierte Betrieb der Routensuchschaltung 2 wird anhand der Zeitsteuerungstafeln der 7A bis 7N erläutert.
  • In dem Fall, in dem das Suchausführungs-Andauersignal W auf dem niedrigen Pegel L angesetzt ist, um anzuzeigen, daß der Suchprozeß nicht ausgeführt wird, wählt und gibt die 2-1-Auswahlvorrichtung 202 der Auswahlschaltung 22 für den nächsten Knoten die Ausgabe der obersten Knotennummerspeicherschaltung 203 aus. Deshalb wird der Ausgangswert der Knotennummer N, die von der Auswahlschaltung 22 für den nächsten Knoten ausgegeben wird, auf "1" gesetzt, was der Knotennummer des obersten Knotens in dem Routenbaum entspricht, wie es in 7D gezeigt ist. Auf diese Art wird der Anfangswert der Knotendaten D, die von dem Routenbaum speicher 3 ausgegeben werden, gleich den Knotendaten D1 des obersten Knotens mit der Knotennummer "1", wie es in 7E gezeigt ist.
  • Wenn das Suchanfragesignal S auf dem hohen Pegel "H" von der Eingabe/Ausgabeeinheit 1 empfangen wird, setzt die Zustandssteuerschaltung 20 das Suchausführungs-Andauersignal W auf den hohen Pegel "H", wie es in 7C angezeigt ist. Wenn das Suchausführungs-Andauersignal W auf den hohen Pegel "H" gesetzt ist, aktualisiert das EDFF 21 seine Ausgabe mit den zugeführten Knotendaten D synchron mit der ansteigenden Flanke des Taktsignals.
  • Deshalb gibt das EDFF 21 die Knotendaten D1 des Top-Knotens synchron mit der ansteigenden Flanke des Taktsignals aus, das zum Starten der ersten Knotenverarbeitung verwendet wird (Zeitpunkt t1 in 7). Genauer gesagt, die Knotendaten D1 des Top-Knotens sind wie folgt: die IP-Adresse Da ist gleich "00000000", die Maskendaten Db sind gleich "0", die rechte Unterknotennummer Dc ist gleich "2", die linke Unterknotennummer Dd ist gleich "10", das Routengültigkeitsflag De ist gleich "1" (gültig) und die Routendaten Df sind gleich Df1.
  • Die Auswahlschaltung 22 für den nächsten Knoten wählt die rechte Unterknotennummer Dc oder die linke Unterknotennummer Dd zum Lesen, beruhend auf den Maskendaten Db der Knotendaten E und der IP-Bestimmungsadresse A. Genauer gesagt, in dem Fall, in dem die Maskenlänge der Maskendaten Db gleich m ist, wenn das (m + 1)-te Bit beginnend von dem obersten Bit der IP-Bestimmungsadresse A gleich "1" ist, wird die rechte Unterknotennummer Dc als Ausgabe gewählt. Andererseits, wenn das gleiche Bit gleich "0" ist, wird die linke Unterknotennummer Dd gewählt und ausgegeben.
  • Wie vorangehend erwähnt wurde, sind bei der ersten Knotenverarbeitung die Maskendaten Db gleich "0". Da das (0 + 1)-te Bit vom obersten Bit der IP-Bestimmungsadresse A gleich "800A9011" gleich "1" ist, ist die als nächstes auszulesende Knotennummer die rechte Unterknotennummer Dc. Somit wird ein Wert gleich "2", der die rechte Unterknotennummer Dc anzeigt, von der Auswahlschaltung 22 für den nächsten Knoten als Knotennummer N ausgegeben, wie es in 7D gezeigt ist.
  • Der Routenbaumspeicher 3 gibt die Knotendaten D2 des Knotens mit der Knotennummer gleich "2" aus, wenn die Knotennummer gleich "2" zugeführt wird, wie es in 7E gezeigt ist. Die Knotendaten D2, die von dem Routenbaumspeicher 3 ausgegeben werden, werden durch das EDFF 21 mit der steigenden Flanke des nächsten Taktsignals genommen, das heißt zum Zeitpunkt t2 in 7. Somit endet die erste Knotenverarbeitung und beginnt die Verarbeitung des zweiten Knotens.
  • Die Knotendaten D2 haben die IP-Adresse Da gleich "80000000", die Maskendaten gleich "8", die rechte Unterknotennummer gleich "11", die linke Unterknotennummer Dd gleich "3", das Routengültigkeitsflag gleich "0" und keine Routendaten.
  • Hei der zweiten Knotenverarbeitung wählt die Auswahlschaltung 22 für den nächsten Knoten die rechte Unterknotennummer Dc oder die linke Unterknotennummer Dd als nächste auszulesende; wie bei der ersten Knotenverarbeitung. Bei der zweiten Knotenverarbeitung sind die Maskendaten Db gleich "8". Da das neunte (= 8 + 1) Bit beginnend mit dem obersten Bit der IP-Bestimmungsadresse "800A9011" gleich "0" ist, wird die Knotennummer, die als nächstes ausgelesen wird, jene des linken Unterknotens Dd sein. Somit, wie es in 7D gezeigt ist, wird der Wert "3" der linken Unterknoten nummer Dd von der Auswahlschaltung 22 für den nächsten Knoten als Nächst-Knotennummer N ausgegeben.
  • Der Routenbaumspeicher 3 gibt die Knotendaten D3 des Knotens der Knotennummer gleich "3" aus, wenn die Knotennummer "3" zugeführt wird, wie es in 7E gezeigt ist. Wie vorangehend erwähnt wurde, wird die Knotennummer N des als nächstes zu verarbeitenden Knotens in dem nächsten Taktzyklus ausgegeben. Dann werden Knotendaten N aus dem Routenbaumspeicher 3 ausgelesen.
  • Als nächstes wird der Betrieb der Routenaktualisierungsschaltung 23 und der Routensuchschaltung 2 unten beschrieben.
  • Eine durch Maskieren der IP-Bestimmungsadresse A mit der Maskenverarbeitungsschaltung 210 unter Verwendung der Maskendaten Db und der IP-Adresse Da der Knotendaten D erhaltene Adresse wird mittels der Adressenvergleichsschaltung 211 verglichen. Die Adressenvergleichsschaltung 211 setzt das Adressen-Übereinstimmungs-Anzeigesignal C auf den hohen Pegel "H", wenn der Adressenvergleich zu einer Übereinstimmung führt.
  • Die Ergebnis-Routendaten-Aktualisierungsschaltung 212 aktualisiert die Ergebnis-Routendaten R als ihre Ausgabe mit den Routendaten Df synchron mit dem Taktsignal, wenn das Adressen-Übereinstimmungs-Anzeigesignal C auf den hohen Pegel "H" gesetzt ist, was die Übereinstimmung anzeigt, und wenn das Routengültigkeitsflag De auf den Wert gesetzt ist, der die Gültigkeit anzeigt.
  • Bei der oben erwähnten ersten Knotenverarbeitung sind die Maskendaten Db gleich "0". Dementsprechend ist, auch wenn die IP-Bestimmungsadresse A irgendeinen Wert annimmt, die Ausgabe der Maskenverarbeitungsschaltung 210 gleich "00000000", was mit der IP-Adresse Da gleich "00000000" übereinstimmt. Im Ergebnis der ersten Knotenverarbeitung wird das Adressen-Übereinstimmungs-Anzeigesignal C auf den Pegel "H" gesetzt, was die Übereinstimmung anzeigt, wie es in 7L angezeigt ist.
  • Das Adressen-Übereinstimmungs-Anzeigesignal C wird auf den hohen Pegel "H" gesetzt, was das Übereinstimmen anzeigt- wird, und das Routengültigkeitsflag De wird auf den Wert "1" gesetzt, der die Gültigkeit anzeigt. Deshalb aktualisiert die Ergebnis-Routen-Aktualisierungsschaltung 212 die Ergebnis-Routendaten R mit den Routendaten Df1 zu der Zeitsteuerung der nächsten ansteigenden Flanke des Taktsignals, das heißt zu dem Zeitpunkt t2 in 7N.
  • Bei der zweiten Knotenverarbeitung sind die Maskendaten Db gleich "8". Dementsprechend werden die oberen acht Bits der IP-Bestimmungsadresse "800A9011" entnommen und die Ausgabe der Maskenverarbeitungsschaltung 210 wird auf "80000000" gesetzt. Dieser Wert stimmt mit der IP-Adresse Da gleich "80000000" überein. Im Ergebnis wird in dem Fall der zweiten Knotenverarbeitung das Adressen-Übereinstimmungs-Anzeigesignal C auf den hohen Pegel "H" gesetzt, was die Übereinstimmung anzeigt. Da jedoch in diesem Fall das Routengültigkeitsflag De auf den Wert gleich "0" gesetzt ist, der die Ungültigkeit anzeigt, werden die Ergebnis-Routendaten R nicht zu dem Zeitpunkt der ansteigenden Flanke des nächsten Taktsignals aktualisiert, wie es in 7 zum Zeitpunkt t3 gezeigt ist. Im Ergebnis werden die Ergebnis-Routendaten R gehalten, wie es in 7N gezeigt ist.
  • Bei der dritten Knotenverarbeitung sind die Maskendaten Db auf den Wert "16" gesetzt. Dementsprechend werden die oberen 16 Bit der IP-Bestimmungsadresse A "800A9011" entnommen, und die Ausgabe der Maskenverarbeitungsschaltung 210 wird auf den Wert gleich "800A0000" gesetzt. Dieser Wert stimmt mit der IP-Adresse Da gleich "800A0000" überein. Im Ergebnis wird infolge der dritten Knotenverarbeitung das Adressen-Übereinstimmungs-Anzeigesignal C auf den hohen Pegel "H" gesetzt, was die Übereinstimmung anzeigt. Die Ergebnis-Routendaten-Aktualisierungsschaltung 212 aktualisiert die Ergebnis-Routendaten R mit den Routendaten Df3 zu dem Zeitpunkt der steigenden Kante des nächsten Taktsignals, wie es in 7N zum Zeitpunkt t4 gezeigt ist. Dies liegt daran, daß das Adressen-Übereinstimmungs-Anzeigesignal C auf den hohen Pegel "H" gesetzt wird, was die Übereinstimmung anzeigt, und daß darüber hinaus das Routengültigkeitsflag De auf den Wert "1" gesetzt ist, der die Gültigkeit anzeigt.
  • Bei der vierten Knotenverarbeitung werden die Maskendaten auf den Wert "24" gesetzt. Dementsprechend werden die oberen 24 Bit der IP-Bestimmungsadresse A "800A9011" entnommen, und die Ausgabe der Maskenverarbeitungsschaltung 210 wird auf den Wert gleich "800A9000" gesetzt. Dieser Wert stimmt nicht mit der IP-Adresse Da gleich "800A0000" überein. Im Ergebnis wird infolge der vierten Knotenverarbeitung das Adressen-Übereinstimmungs-Anzeigesignal C auf den niedrigen Pegel "L" gesetzt, der die Nichtübereinstimmung anzeigt, wie in 7L gezeigt. Da das Adressen-Übereinstimmungs-Anzeigesignal C auf den niedrigen Pegel "L" gesetzt ist, was die Nichtübereinstimmung anzeigt, werden die Ergebnis-Routendaten R zu dem Zeitpunkt der ansteigenden Flanke des nächsten Taktsignals nicht aktualisiert, das heißt zum Zeitpunkt t5 aus 7. Die Ergebnis-Routendaten R werden beibehalten, wie es in 7N gezeigt ist.
  • Als nächstes wird im Anschluß der Betrieb der Suchende-Bestimmungsschaltung 24 beschrieben.
  • Die Suchende-Bestimmungsschaltung 24 erzeugt ein Suchendesignal E' mit dem hohen Pegel "H", wenn die Knotennummer N, die von der Auswahlschaltung 22 für den nächsten Knoten ausgegeben wird, die Adresse ist, die eine Endbedingung erfüllt, oder wenn das Adressen-Übereinstimmungs-Anzeigesignal C auf den Pegel gesetzt wird, der die Nichtübereinstimmung anzeigt. Genauer gesagt, wenn die Knotennummer N eine Endbedingung erfüllt, heißt das, daß es für die oben genannte Adresse keine Adresse gibt, die als nächste auszulesen ist.
  • In 7 wird bei der vierten Knotenverarbeitung aufgrund des auf den niedrigen Pegel "L" gesetzten Adressen-Übereinstimmungs-Anzeigesignals C, das die Nichtübereinstimmung anzeigt, das Suchendesignal E' auf den hohen Pegel "H" gesetzt. Beim Empfang des Suchendesignals E' mit dem hohen Pegel "H" setzt die Zustandssteuerschaltung 20 das Suchausführungs-Andauersignal W auf den niedrigen Pegel "L", wie es in 7C gezeigt ist. Das Suchausführungs-Andauersignal W wird auf den niedrigen Pegel "L" gesetzt, wobei das EDFF 21 die Aktualisierungs der Ausgabe beendet. Im Ergebnis werden die Ergebnis-Routendaten R, die von der Routenaktualisierungsschaltung 23 ausgegeben werden, bei den Routendaten Df3 gehalten. Dann, da das Suchendesignal E' auf den hohen Pegel "H" gesetzt ist, wird dieses Suchendesignal E' von dem DFF 25 als das Suchendesignal E mit der steigenden Flanke des nächsten Taktsignals zu dem Zeitpunkt t5 in 7 ausgegeben.
  • Bei Empfang des Suchendesignals E mit dem hohen Pegel "H" empfängt die Eingabe/Ausgabeeinheit 1 die Routendaten R zu diesem Zeitpunkt als Endergebnis für die Routendaten. Im Ergebnis bestimmt die Eingabe/Ausgabeeinheit 1 die Bestimmung des Empfangspakets beruhend auf den Routendaten R.
  • Die Kommunikationssteuervorrichtung entsprechend der zweiten erfindungsgemäßen Ausführungsform wird im Anschluß beschrieben.
  • 8 ist ein Blockdiagramm, das die Struktur der Routensuchschaltung der Erfindung zeigt. Die Struktur der Kommunikationssteuervorrichtung der zweiten Ausführungsform ist die gleiche wie jene der ersten Ausführungsform, die in 2 gezeigt ist. Jedoch wird in der zweiten Ausführungsform die Routensuchschaltung 2a anstelle der Routensuchschaltung 2, die in 2 gezeigt ist, verwendet.
  • Die Routensuchschaltungen bestehen aus einer Zustandssteuerschaltung 20, dem EDFF 21, einer Auswahlschaltung 22a für den nächsten Knoten, einer Routenaktualisierungsschaltung 23a, einer Suchende-Bestimmungsschaltung 24, dem DFF 25, einer Auswahlschaltung 26 für die nächste Maske. Die Auswahlschaltung 26 für die nächste Maske ist neu als Einheit vorgesehen, die mit der Ausgabe des EDFF 21 in der Routensuchschaltung 2 gegenüber der ersten Ausführungsform vorgesehen ist.
  • Ein Nächst-Knotenbit B, eine rechte Unterknotenmaske Dg und eine linke Unterknotenmaske Dh werden der Auswahlschaltung 26 für die nächste Maske zugeführt. Das Nächst-Knotenbit B ist ein Signal, das anzeigt, ob der Knoten, der als nächster zu lesen ist, ein rechter Unterknoten oder ein linker Unterknoten ist. Wenn das Nächst-Knotenbit B gleich "0" ist, so ist der nächste Knoten der linke Unterknoten. Wenn andererseits das Nächst-Knotenbit B gleich "1" ist, so ist der nächste Knoten der rechte Unterknoten.
  • Die rechte Unterknotenmaske Dg und die linke Unterknotenmaske Dh sind Daten, die in jedem Knotendaten D in der Routentabelle als Teil der Knotendaten D neu hinzugefügt sind. Die rechten Unterknotenmasken Dg sind Maskendaten des rechten Unterknotens des gegenwärtig ausgelesenen Knotens. Die linken Unterknotenmasken Dh sind Maskendaten des linken Unterknotens des gegenwärtig ausgelesenen Knotens.
  • Die Auswahlschaltung 26 für die nächste Maske wählt entweder die rechte Unterknotenmaske Dg oder die linke Unterknotenmaske Dh in Übereinstimmung mit dem Nächst-Knotenbit B. Die Auswahlschaltung 26 für die nächste Maske gibt die ausgewählten Daten als nächste Maskendaten Di an die Auswahlschaltung 22a für den nächsten Knoten und die Routenaktualisierungsschaltung 23a. Anders gesagt, die Auswahlschaltung 26 für die nächste Maske wählt und gibt die linken Unterknotenmaske Dh, wenn das Nächst-Knotenbit H gleich "0" ist, aus und wählt und gibt die rechte Unterknotenmaske Dg, wenn der Nächst-Knotenbit B gleich "1" ist, aus.
  • 9 ist ein Blockdiagramm, das das Strukturbeispiel der Auswahlschaltung 22a für den nächsten Knoten in der zweiten Ausführungsform zeigt. In 9 besteht die Auswahlschaltung 22a für den nächsten Knoten aus der 32-1-Auswahlvorrichtung 200, der 2-1-Auswahlvorrichtung 201, der 2-1-Auswahlvorrichtung 202, der Speicherschaltung 203 für die Top-Knotennummer und einem Flipflop (DFF) 204. Das Flipflop 204 ist neu zwischen der 32-1-Auswahlvorrichtung 200 und der 2-1-Auswahlvorrichtung 201 zusätzlich zu der Auswahlschaltung 22 für den nächsten Knoten der ersten Ausführungsform vorgesehen.
  • Die der 32-1-Auswahlvorrichtung 200 zugeführten Maskendaten sind die nächsten Maskendaten Di Da diese nächsten Maskendaten Di die Daten sind, die nötig sind in dem Fall der Knotenverarbeitung in dem nächsten Taktzyklus, wird die Ausgabe der 32-1-Auswahlvorrichtung um einen Takt durch das DFF 204 verzögert. Somit kann die Synchronisation hergestellt werden. Das Nächst-Knotenbit B ist die Ausgabe des DFF 204 und wird der 2-1-Auswahlvorrichtung 201 und der Auswahlschaltung 26 der nächsten Maske zugeführt.
  • Es sei angemerkt, daß das DFF 204 das nullte Bit beginnend mit dem obersten Bit der IP-Bestimmungsadresse A ausgibt, das heißt das signifianteste Bit als einen Anfangswert der Nächst-Knotenbits B, wenn das Suchausführungs-Andauersignal W auf den niedrigen Pegel "L" gesetzt wird, der anzeigt, daß der Betrieb nicht während der Ausführung des Suchprozesses ist. Der übrige Betrieb ist derselbe wie der ersten Ausführungsform.
  • Indem eine solche Struktur bei dieser Ausführungsform ausgenommen wird, kann die Bitauswahlverarbeitung in der 32-1-Auswahlvorrichtung 200 in dem Taktzyklus vor einem Taktzyklus ausgeführt werden, indem die Verarbeitungszeit zur Ausgabe der Knotennummer N verringert werden kann.
  • 10 ist ein Blockdiagramm, das das Strukturbeispiel der Routenaktualisierungsschaltung 23a der zweiten Ausführungsform zeigt. Die Routenaktualisierungsschaltung 23a besteht aus einer Maskenverarbeitungsschaltung 210, der Adressenvergleicherschaltung 211, der Ergebnis-Routendaten-Aktualisierungsschaltung 212 und einem Flipflop (DFF) 213. Das DFF 213 ist neu zwischen der Maskenverarbeitungsschaltung 210 und der Adressenvergleicherschaltung 211 zusätzlich zu der Routenaktualisierungsschaltung 23 der ersten Ausführungsform vorgesehen.
  • Die Maskendaten, die der Maskenverarbeitungsschaltung 210 zugeführt werden, sind die nächsten Maskendaten Di Da die nächsten Maskendaten Di die Daten sind, die nötig sind im Fall der Maskenverarbeitung in dem nächsten Taktzyklus, wird die Ausgabe der Maskenverarbeitungsschaltung 210 um einen Takt durch das DFF 213 verzögert. Somit wird die Synchronisation hergestellt. Indem eine solche Struktur bei der zweiten Ausführungsform angenommen wird, kann die Maskenverarbeitung durch die Maskenverarbeitungsschaltung 210 in dem Takt um 1 vor der Verarbeitungszeit durchgeführt werden, die zur Ausgabe des Adressen-Übereinstimmungs-Anzeigesignals C benötigt wird und die Zeit für die Ergebnis-Routendaten R kann verringert werden.
  • Wie vorangehend erwähnt wurde, sind die nächsten Maskendaten Di als Maskendaten Db der im nächsten Taktzyklus auszulesenden Knotendaten D von der Auswahlschaltung 26 für die nächste Maske vorher ausgegeben. Auf diese Art wird, da die Verarbeitung bezüglich der Maskendaten Db um einen Takt vorher ausgeführt wurde, die in der Auswahlschaltung 22a des nächsten Knotens und der Routenaktualisierungsschaltung 23a benötigte Zeit verringert. Auch kann die zum Betrieb der Routensuchschaltung 23a benötigte Taktfrequenz zu einer höheren Frequenz erhöht werden. Da die Taktfrequenz zu einer höheren Frequenz erhöht werden kann, kann die Wiederherstellungszeit der Routensuchschaltung 22a kurz gemacht werden.
  • Als nächstes wird die Kommunikationssteuervorrichtung entsprechend der dritten erfindungsgemäßen Ausführungsform im Anschluß beschrieben.
  • Sei den ersten und zweiten Ausführungsformen war angenommen worden, daß die Routendaten Df in der Routentabelle die Adressen sind, die der Übertragungsbestimmungsvorrichtung zugeordnet sind. Wenn diese Routendaten Df ein Zeiger zu den Daten sind, die zur Übertragung des Empfangspakets nötig sind, beispielsweise der Wert, der identisch mit der Knotennummer ist, kann die Kapazität des Routenbaumspeichers 3 verringert werden, da die Routenbaumtabelle nicht die Routendaten (Adressen) Df als Teil der Knotendaten D benötigt. Im Ergebnis kann der Schnittstellenteil der Routensuchschaltung in der Größe klein ausgebildet werden. In diesem Fall müssen jedoch Mittel zum Erhalten der nötigen Routendaten zur Übertragung eines Empfangspakets von dem oben genannten Zeiger für die Eingabe/Ausgabeeinheit 1 vorgesehen sein.
  • Es sei angemerkt, daß bei den oben beschrieben Ausführungsformen die Beschreibung unter Verwendung der Routendatenwiederherstellung von der IP-Bestimmungsadresse als Beispiel durchgeführt wurde. Jedoch ist die Erfindung nicht hierauf beschränkt. Die Erfindung kann auf Routensuchprozesse angewendet werden, bei denen die Vorrichtung für ein zunächst zu übertragendes Paket beruhend auf einer Adresse bestimmt wird, die eine Kommunikationsbestimmung festlegt.
  • Auch ist bei der oben beschriebenen Ausführungsform der Routenbaumspeicher außerhalb der Routensuchschaltung vorgesehen. Jedoch kann der Routenbaumspeicher in der Routensuchschaltung vorgesehen sein.
  • Wie vorangehend beschrieben wurde, kann erfindungsgemäß der Adressenauflöseprozeß mit hoher Geschwindigkeit durchgeführt werden, um die Last der CPU zu verringern. Im Ergebnis kann der Durchsatz der Verarbeitung in der Kommunikationssteuervorrichtung erhöht werden. Dies liegt daran, daß der Adressenauflösungsprozeß durch den Auswahlprozeß durchgeführt wird und daß der Routendatenbestimmungsprozeß durch die exklusive Verwendung von Hardware ausgeführt wird, so daß jeder Eingang innerhalb eines Taktzyklus erfolgt.
  • Auch kann die Routensuchschaltung klein in der Größe ausgestaltet werden. Auch wenn die Zahl der Eingaben in die Routentabelle ansteigt, wird die Routensuchschaltung nicht groß in der Abmessung. Dies liegt daran, daß für die Routensuchschaltung immer nur ein Eingang gelesen und der Vergleichsprozeß durchgeführt wird. Deshalb ist, auch wenn die Zahl der Eingaben in die Routentabelle ansteigt, es hinreichend, die Kapazität des Routenbaumspeichers groß zu machen.
  • Auch wenn die Bestimmungsadresse mit der Netzwerkadresse einer Mehrzahl Routeneingänge in der Routentabelle übereinstimmt, werden die Routendaten entsprechend der Netzwerkadresse, die die längste Netzwerkmaske hat, gesucht. Deshalb kann die Erfindung auch auf ein Netzwerk angewendet werden, in dem die Bestimmungsadresse die Möglichkeit hat, mit einer Mehrzahl Netzwerkadressen übereinzustimmen, etwa wie bei der IP-Adresse. Dies liegt daran, daß der Routendatenaktualisierungsprozeß beruhend auf dem Adressenvergleich parallel mit der Verarbeitung zur Bestimmung des nächsten Routeneingangs durchgeführt wird. Wenn der Adressenvergleich die Übereinstimmung anzeigt, werden die Ergebnis-Routendaten aktualisiert, und wenn der Adressenvergleich keine Übereinstimmung anzeigt, werden die Ergebnis-Routendaten beibehalten. In dem Routenbaum wird die Maskenlänge in der Reihenfolge der Leserouteneingänge groß. Deshalb werden die Routendaten des Routeneingangs, in dem das Adressenvergleichsergebnis letztendlich die Übereinstimmung anzeigt, beibehalten. Deshalb können die Routendaten entsprechend der Netzwerkadresse mit der längsten Netzwerkmaske gesucht werden.

Claims (40)

  1. Kommunikationssteuervorrichtung, mit: einer Eingabe/Ausgabeeinheit (1), die abhängig vom Empfang eines Pakets ist, zur Erzeugung einer Suchanfrage und einer Bestimmungsadresse des Pakets, die Maskendaten enthält, um Ergebnis-Routendaten zu empfangen und um das Paket beruhend auf den Ergebnis-Routendaten zu übertragen, und einem Speicher (3) zum Speichern einer Routenbaumtabelle mit einer Baumstruktur aus einer Mehrzahl Knoten mit jeweiligen Knotendaten, und eine Routensuchschaltung (2) für den Zugriff auf die Routenbaumtabelle in Abhängigkeit von der Suchanfrage, um die Routendaten von Endknotendaten als Ergebnis-Routendaten beruhend auf der Bestimmungsadresse zu bestimmen, wobei der Zugriff die Auswahl eines Knotens aus der Mehrzahl der Knoten beruhend auf einem (Maskendaten + 1)-ten Bit der Bestimmungsadresse enthält, und um die Ergebnis-Routendaten an die Eingabe/Ausgabeeinheit (1) auszugeben, um das Paket zu übertragen.
  2. Kommunikationssteuervorrichtung nach Anspruch 1, bei der die Routensuchschaltung (2) enthält: eine Auswahlschaltung (22) für den nächsten Knoten, um auf die Routenbaumtabelle unter Verwendung der Bestimmungsadresse und vorgegebener Maskendaten in Abhängigkeit von der Suchanfrage zum Erhalt erster Nächst-Knotendaten zuzugreifen, um wiederholt auf die Routenbaumtabelle unter Verwendung einer Adresse und von Maskendaten der laufenden Knotendaten zum Erhalt zweiter Nächst-Knotendaten zuzugreifen, wobei die ersten Nächst-Knotendaten oder die zweiten Nächst-Knotendaten als laufende Knotendaten gesetzt sind, bis die Endknotendaten erhalten werden.
  3. Kommunikationssteuervorrichtung nach Anspruch 2, bei der die Routenbaumtabelle eine dichotome Baumstruktur hat und wobei jeder der Mehrzahl Knoten als Stammknoten mit einem linken Unterknoten und einem rechten Unterknoten verbunden ist, wobei die Auswahlschaltung (22) für den nächsten Knoten den linken Unterknoten oder den rechten Unterknoten beruhend auf einem Satz aus der Bestimmungsadresse und vorgegebener Maskendaten oder einem Satz aus der Adresse und Maskendaten der laufenden Knotendaten jedesmal auswählt, wenn auf die Routenbaumtabelle zugegriffen wird.
  4. Kommunikationssteuervorrichtung nach Anspruch 3, bei der die Auswahlschaltung (22) für den nächsten Knoten den linken Unterknoten oder den rechten Unterknoten beruhend auf dem (Maskendaten + 1)-ten Bit der Bestimmungsadresse auswählt.
  5. Kommunikationssteuervorrichtung nach Anspruch 4, bei der die Auswahlschaltung (22) für den nächsten Knoten auf die Routenbaumtabelle beruhend auf einer Knotennummer zugreift und die Auswahlschaltung (22) für den nächsten Knoten enthält: eine erste Auswahlvorrichtung (200) zur Bestimmung eines Berechnungsbits beruhend auf den Maskendaten und der Bestimmungsadresse; eine zweite Auswahlvorrichtung (201) zur Auswahl der Nummer des linken Unterknotens oder der Nummer des rechten Unterknotens beruhend auf dem Berechnungsbit; eine Speicherschaltung (203) zum Speichern der Top-Knotennummer; und eine dritte Auswahlvorrichtung (202) zur Auswahl der Top-Knotennummer oder der ausgewählten Unterknotennummer in Abhängigkeit von der Suchanfrage.
  6. Kommunikationssteuervorrichtung nach Anspruch 2, bei der die Routensuchschaltung (2) des weiteren eine Such- und Bestimmungsschaltung (24) enthält, um zu bestimmen, ob die Endknotendaten erhalten wurden.
  7. Kommunikationssteuervorrichtung nach Anspruch 6, bei der die Such- und Bestimmungsschaltung (24) bestimmt, daß die Endknotendaten erhalten wurden, wenn kein Knoten da ist, auf den zugegriffen werden kann, oder wenn die zweiten Nächst-Knotendaten Daten enthalten, die die Ungültigkeit anzeigen.
  8. Kommunikationssteuervorrichtung nach Anspruch 2, bei der die Routensuchachaltung (2) des weiteren eine Routenaktualisierungsschaltung (23) zum selektiven Aktualisieren gehaltener Routendaten durch Routendaten der erste oder zweiten Nächst-Knotendaten enthält.
  9. Kommunikationssteuervorrichtung nach Anspruch 8, bei der die Routenaktualisierungsschaltung (23) die gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten aktualisiert, wenn ein logisches Produkt der Maskendaten und der Bestimmungsadresse mit einer Adresse der ersten oder zweiten Nächst-Knotendaten konsistent ist.
  10. Kommunikationssteuervorrichtung nach Anspruch 9, bei der die Routenaktualisierungsschaltung (23) enthält: eine Maskenschaltung zur Maskierung der Bestimmungsadresse unter Verwendung der Maskendaten; eine Adressenvergleichsschaltung (211) zum Vergleich der maskierten Bestimmungsadresse und der Adresse der ersten oder zweiten Nächst-Knotendaten; und eine Ergebnis-Routendaten-Aktualisierungsschaltung (212) zur Aktualisierung der gehaltenen Routendaten durch Routendaten der ersten und der zweiten Nächst-Knotendaten, wenn die maskierte Bestimmungsadresse mit der Adresse der ersten oder zweiten Nächst-Knotendaten konsistent ist, und wenn Gültigkeitsdaten der ersten oder zweiten Nächst-Knotendaten anzeigen, daß die Routendaten der ersten oder zweiten Nächst-Knotendaten gültig sind.
  11. Kommunikationssteuervorrichtung nach Anspruch 1, bei der die Routensuchschaltung (2) eine Auswahlschaltung (26) für eine nächste Maske enthält, um rechte Unterknotenmaskendaten oder linke Unterknotenmaskendaten aus den Routendaten als ausgewählte Unterknotenmaskendaten für einen nächsten Taktzyklus beruhend auf einem Berechnungsbit auszuwählen, das beruhend auf der Bestimmungsadresse und den ausgewählten Unterknotenmaskendaten eines laufenden Taktzyklus bestimmt ist.
  12. Kommunikationssteuervorrichtung nach Anspruch 11, bei der die Routensuchschaltung (2) eine Auswahlschaltung (22a) für den nächsten Knoten zum Zugriff auf die Routenbaumtabelle unter Verwendung der Bestimmungsadresse und vorgegebener Maskendaten in Abhängigkeit von der Suchanfrage enthält, um erste Nächst-Knotendaten, die rechte Unterknotenmaskendaten und die linken Unterknotenmaskendaten enthalten, zu gewinnen, um wiederholt auf die Routenbaumtabelle unter Verwendung einer Adresse laufender Knotendaten und der ausgewählten Unterknotenmaskendaten zuzugreifen, um zweite Nächst-Knotendaten, die rechte Unterknotenmaskendaten und linke Unterknotenmaskendaten enthalten, zu gewinnen, während die ersten Nächst-Knotendaten oder die zweiten Nächst-Knotendaten als laufende Knotendaten gesetzt sind, bis die Endknotendaten erhalten werden.
  13. Kommunikationssteuervorrichtung nach Anspruch 12, bei der die Routenbaumtabelle eine dichotome Baumstruktur hat und jeder einer Mehrzahl Knoten als Stammknoten mit einem linken Unterknoten und einem rechten Unterknoten verbunden ist; und wobei die Auswahlschaltung (22a) für den nächsten Knoten den linken Unterknoten oder den rechten Unterknoten beruhend auf einem Satz aus der Bestimmungsadresse und vorgegebener Maskendaten oder einem Satz aus der Adresse der laufenden Knotendaten und der ausgewählten Unterknotenmaskendaten jedesmal auswählt, wenn auf die Routenbaumtabelle zugegriffen wird.
  14. Kommunikationssteuervorrichtung nach Anspruch 13, bei der die Auswahlschaltung (22a) für den nächsten Knoten den linken Unterknoten oder den rechten Unterknoten beruhend auf einem (ausgewählte Unterknotenmaskendaten + 1)-ten Bit der Bestimmungsadresse auswählt.
  15. Kommunikationssteuervorrichtung nach Anspruch 14, bei der die Auswahlschaltung für den nächsten Knoten auf die Routenbaumtabelle beruhend auf einer Knotennummer zugreift, und in der die Auswahlschaltung für den nächsten Knoten enthält: eine erste Auswahlvorrichtung zur Bestimmung eines Berechnungsbits beruhend auf den ausgewählten Unterknotenmaskendaten und der Bestimmungsadresse in dem laufenden Taktzyklus; eine Flipflop-Schaltung zum Halten des Berechnungsbits zur Ausgabe in dem nächsten Taktzyklus; eine zweite Auswahlvorrichtung zur Auswahl einer Nummer des linken Unterknotens oder einer Nummer des rechten Unterknotens beruhend auf dem Berechnungsbit in dem nächsten Taktzyklus; eine Speicherschaltung zum Speichern der Top-Knotennummer; und eine dritte Auswahlvorrichtung zur Auswahl der Top-Knotennummer oder der ausgewählten Unterknotennummer in dem nächsten Taktzyklus in Abhängigkeit von der Suchanfrage.
  16. Kommunikationssteuervorrichtung nach Anspruch 11, bei der die Routensuchschaltung (2) des weiteren eine Such- und Bestimmungsschaltung (24) enthält, um zu bestimmen, ob die Endknotendaten erhalten wurden.
  17. Kommunikationasteuervorrichtung nach Anspruch 16, bei der die Such- und Bestimmungsschaltung bestimmt, daß die Endknotendaten erhalten wurden, wenn kein Knoten mehr vorhanden ist, auf den Bezug genommen werden kann, oder wenn die zweiten Nächst-Knotendaten Daten enthalten, die die Ungültigkeit anzeigen.
  18. Kommunikationssteuervorrichtung nach Anspruch 11, bei der die Routensuchschaltung des weiteren eine Routenaktualisierungsschaltung zum selektiven Aktualisieren von gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten enthält.
  19. Kommunikationssteuervorrichtung nach Anspruch 18, bei der die Routenaktualisierungsschaltung die gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten aktualisiert, wenn ein logisches Produkt der ausgewählten Unterknotenmaskendaten und der Bestimmungsadresse mit einer Adresse der ersten oder zweiten Nächst-Knotendaten übereinstimmt.
  20. Kommunikationssteuervorrichtung nach Anspruch 19, bei der die Routenaktualisierungsschaltung enthält: eine Maskenschaltung zum Maskieren der Bestimmungsadresse unter Verwendung der Maskendaten in dem laufenden Taktzyklus; einen Flipflop zum Halten der maskierten Bestimmungsadresse zur Ausgabe in dem nächsten Taktzyklus; eine Adressenvergleichsschaltung zum Vergleich der maskierten Bestimmungsadresse und der Adresse der ersten oder zweiten Nächst-Knotendaten in dem nächsten Taktzyklus; eine Ergebnis-Routendaten-Aktualisierungsschaltung zum Aktualisieren der gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten in dem nächsten Taktzyklus, wenn die maskierte Bestimmungsadresse mit der Adresse der ersten oder zweiten Nächst-Knotendaten übereinstimmt und Gültigkeitsdaten der ersten oder zweiten Nächst-Knotendaten anzeigen, daß die Routendaten der ersten oder zweiten Nächst-Knotendaten gültig sind.
  21. Verfahren zum Bestimmen einer Route zu einer Bestimmungseinheit in einer Kommunikationssteuervorrichtung beruhend auf einer Bestimmungsadresse eines Pakets, umfassend: Erzeugen einer Suchanfrage und einer Maskendaten enthaltenden Bestimmungsadresse abhängig vom Empfang eines Pakets, Zugriff auf eine Routenbaumtabelle in Abhängigkeit von der Suchanfrage zur Bestimmung von Routendaten von Endknotendaten als Ergebnis-Routendaten aus der Bestimmungsadresse, wobei die Routenbaumtabelle eine Baumstruktur mit einer Mehrzahl Knoten mit jeweiligen Knotendaten hat, wobei der Zugriff die Auswahl eines Knotens aus der Mehrzahl der Knoten beruhend auf einem (Maskendaten + 1)-ten Bit der Bestimmungsadresse enthält; und Übertragen des Pakets an die Bestimmungseinheit beruhend auf den Ergebnis-Routendaten.
  22. Verfahren nach Anspruch 21, bei dem der Zugriffsschritt umfasst: wiederholtes Zugreifen auf die Routenbaumtabelle unter Verwendung der Bestimmungsadresse und vorgegebener Maskendaten oder Verwenden einer Adresse und Maskendaten laufender Knotendaten zum Wiedergewinnen zweiter Nächst-Knotendaten, während die ersten Nächst-Knotendaten oder die zweiten Nächst-Knotendaten als laufende Knotendaten gesetzt sind, bis die Endknotendaten erhalten werden.
  23. Verfahren nach Anspruch 22, bei dem die Routenbaumtabelle eine dichotome Baumstruktur hat und jeder der Mehrzahl Knoten als Stammknoten mit einem linken Unterknoten und einem rechten Unterknoten verbunden ist; und wobei der wiederholte Zugriffsschritt das Auswählen des linken Unterknotens oder des rechten Unterknotens beruhend auf einem Satz aus der Bestimmungsadresse und vorgegebener Maskendaten oder einem Satz der Bestimmungsadresse und Maskendaten der laufenden Knotendaten enthält, jedesmal wenn auf die Routenbaumtabelle zugegriffen wird.
  24. Verfahren nach Anspruch 23, bei dem der wiederholte Zugriffsschritt das Auswählen des linken Unterknotens oder des rechten Unterknotens beruhend auf dem (Maskendaten + 1)-ten Bit der Bestimmungsadresse enthält.
  25. Verfahren nach Anspruch 24, bei dem der wiederholte Zugriffsschritt enthält: Bestimmen eines Berechnungsbits beruhend auf den Maskendaten und der Bestimmungsadresse; Auswählen einer Nummer des linken Unterknotens oder einer Nummer des rechten Unterknotens beruhend auf dem Berechnungsbit; und Auswählen einer Oberknotennummer und der ausgewählten Unterknotennummer in Abhängigkeit von der Suchanfrage, wobei auf die Routenbaumtabelle unter Verwendung der ausgewählten Knotennummer zugegriffen wird.
  26. Verfahren nach Anspruch 22, bei der der wiederholte Zugriffsschritt das Bestimmen, ob die Endknotendaten erhalten wurden, enthält.
  27. Verfahren nach Anspruch 24, bei dem der Schritt der Bestimmung, ob die Endknotendaten erhalten wurden, das Bestimmen enthält, daß die Endknotendaten erhalten wurden, wenn kein Knoten mehr vorhanden ist, auf den zugegriffen werden kann, oder wenn die zweiten Nächst-Knotendaten Daten enthalten, die die Ungültigkeit anzeigen.
  28. Verfahren nach Anspruch 22, bei dem der wiederholte Zugriffsschritt des selektive Aktualisieren erhaltener Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten enthält.
  29. Verfahren nach Anspruch 28, bei dem der Schritt zum selektiven Aktualisieren gehaltener Routendaten das Aktualisieren der gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten enthält, wenn ein logisches Produkt der Maskendaten und der Bestimmungsadresse mit einer Adresse des ersten oder zweiten Nächst-Knotendaten übereinstimmt.
  30. Verfahren nach Anspruch 28, bei dem der selektive Aktualisierungsschritt enthält: Maskieren der Bestimmungsadresse unter Verwendung der Maskendaten; Vergleichen der maskierten Bestimmungsadresse mit einer Adresse der ersten oder zweiten nächsten Knotendaten; und Aktualisieren der gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten, wenn die maskierte Bestimmungsadresse mit der Adresse der ersten oder zweiten Nächst-Knotendaten übereinstimmt und wenn die Gültigkeit anzeigenden Daten der ersten oder zweiten Nächst-Knotendaten anzeigen, daß die Routendaten der ersten oder zweiten Nächst-Knotendaten gültig sind.
  31. Verfahren nach Anspruch nach Anspruch 22, bei dem der wiederholte Zugriffsschritt das Auswählen der rechten Unterknotenmaskendaten oder der linken Unterknotenmaskendaten der Routendaten als ausgewählte Unterknotenmaskendaten für einen nächsten Taktzyklus beruhend auf einem Berechnungsbit enthält, das beruhend auf der Bestimmungsadresse und den ausgewählten Unterknotenmaskendaten für einen laufenden Taktzyklus bestimmt ist.
  32. Verfahren nach Anspruch 21, bei dem der Zugriffsschritt enthält: wiederholtes Zugreifen auf die Routenbaumtabelle unter Verwendung der Bestimmungsadresse und vorgegebener Maskendaten oder unter Verwendung einer Adresse von laufenden Knotendaten und der rechten Unterknotenmaskendaten oder der linken Unterknotenmaskendaten als ausgewählte Unterknotenmaskendaten, um zweite Nächst-Knotendaten zu gewinnen, die die rechten Unterknotenmaskendaten und die linken Unterknotenmaskendaten enthalten, während die ersten Nächst-Knotendaten oder die zweiten Nächst-Knotendaten als laufende Knotendaten gesetzt werden, bis die Endknotendaten erhalten werden.
  33. Verfahren nach Anspruch 32, bei dem die Routenbaumtabelle eine dichotome Baumstruktur hat und wobei jede der Mehrzahl Knoten als Stammknoten mit einem linken Unterknoten und einem rechten Unterknoten verbunden ist, und wobei der wiederholte Zugriffsschritt das Auswählen des linken Unterknotens oder des rechten Unterknotens beruhend auf einem Satz der Bestimmungsadresse und vorgegebener Maskendaten oder einem Satz der Adresse der laufenden Knotendaten und der ausgewählten Unterknotenmaskendaten, je desmal wenn auf die Routenbaumtabelle zugegriffen wird, enthält.
  34. Verfahren nach Anspruch 33, bei dem der Schritt zur Auswahl des linken Unterknotens oder des rechten Unterknotens das Auswählen des linken Unterknotens oder des rechten Unterknotens beruhend auf einem (ausgewählte Unterknotenmaskendaten + 1)-ten Bit der Bestimmungsadresse beruht.
  35. Verfahren nach Anspruch 32, bei dem der wiederholte Zugriffsschritt enthält: Bestimmen eines Berechnungsbits beruhend auf den ausgewählten Unterknotenmaskendaten und der Bestimmungsadresse des laufenden Taktzyklus; Halten des Berechnungsbits zur Ausgabe im nächsten Taktzyklus; Auswahl einer Nummer des linken Unterknotens oder einer Nummer des rechten Unterknotens beruhend auf dem Berechnungsbit in dem nächsten Taktzyklus; und Auswählen der Oberknotennummer oder der ausgewählten Unterknotennummer in dem nächsten Taktzyklus in Abhängigkeit der Suchanfrage.
  36. Verfahren nach Anspruch 32, in dem der wiederholte Zugriffsschritt das Bestimmen enthält, ob die Endknotendaten erhalten wurden.
  37. Verfahren nach Anspruch 36, bei der Bestimmungsschritt das Bestimmen enthält, daß die Endknotendaten erhalten wurden, wenn kein Knoten vorliegt, auf den zugegriffen werden kann, oder wenn die zweiten Nächst-Knotendaten Daten enthalten, die die Ungültigkeit anzeigen.
  38. Verfahren nach Anspruch 32, bei dem der wiederholte Zugriffsschritt das selektive Aktualisieren gehaltener Rou tendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten enthält.
  39. Verfahren nach Anspruch 38, bei dem der selektive Aktualisierungsschritt das Aktualisieren der gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten, wenn ein logisches Produkt der ausgewählten Unterknotenmaskendaten und der Bestimmungsadresse mit der Adresse der ersten oder zweiten Nächst-Knotendaten übereinstimmt, enthält.
  40. Verfahren nach Anspruch 39, bei dem der Aktualisierungsschritt enthält: Maskieren der Bestimmungsadresse unter Verwendung der Maskendaten des laufenden Taktzyklus; Halten der maskierten Bestimmungsadresse zur Ausgabe im nächsten Taktzyklus; Vergleich der maskierten Bestimmungsadresse mit einer Adresse der ersten oder zweiten Nächst-Knotendaten in dem nächsten Taktzyklus; und Aktualisieren der gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten in dem nächsten Taktzyklus, wenn die maskierte Bestimmungsadresse mit der Adresse der ersten- oder zweiten Nächst-Knotendaten übereinstimmt und wenn die Gültigkeit anzeigenden Daten der ersten oder zweiten Nächst-Knotendaten anzeigen, daß die Routendaten der ersten oder zweiten Nächst-Knotendaten gültig sind.
DE1998160120 1997-12-25 1998-12-23 Routensuchschaltung und diese verwendende Kommunikationsvorrichtung Expired - Fee Related DE19860120B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP35677497A JP3186681B2 (ja) 1997-12-25 1997-12-25 経路検索回路及び通信制御装置
JP356774/1997 1997-12-25

Publications (2)

Publication Number Publication Date
DE19860120A1 DE19860120A1 (de) 1999-07-01
DE19860120B4 true DE19860120B4 (de) 2006-05-18

Family

ID=18450706

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1998160120 Expired - Fee Related DE19860120B4 (de) 1997-12-25 1998-12-23 Routensuchschaltung und diese verwendende Kommunikationsvorrichtung

Country Status (3)

Country Link
US (1) US6452908B1 (de)
JP (1) JP3186681B2 (de)
DE (1) DE19860120B4 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3735471B2 (ja) * 1998-10-05 2006-01-18 株式会社日立製作所 パケット中継装置およびlsi
JP3216630B2 (ja) * 1999-06-09 2001-10-09 日本電気株式会社 通信制御装置
JP2001060969A (ja) 1999-08-23 2001-03-06 Nec Corp 高速ip経路検索システム及び方法
CN101510839B (zh) * 1999-12-10 2014-07-09 赛泰克集团Ab有限责任公司 最长匹配地址查询的方法和装置
US6711153B1 (en) * 1999-12-13 2004-03-23 Ascend Communications, Inc. Route lookup engine
US7966421B2 (en) 2000-06-21 2011-06-21 SAtech Group, A.B. Limited Liability Company Method and apparatus for logically expanding the length of a search key
US6680916B2 (en) * 2001-01-22 2004-01-20 Tut Systems, Inc. Method for using a balanced tree as a base for a routing table
US20020112145A1 (en) * 2001-02-14 2002-08-15 Bigbee Bryant E. Method and apparatus for providing software compatibility in a processor architecture
US7257134B2 (en) 2001-10-03 2007-08-14 Zarlink Semiconductor V.N. Inc. Method of pacing the synchronization of routing information in a data switching environment
JP4048861B2 (ja) 2002-07-23 2008-02-20 日本電気株式会社 アドレス検索装置
US7362744B2 (en) * 2002-08-15 2008-04-22 International Business Machines Corporation Database management system and method of using it to transmit packets
US8149880B1 (en) * 2004-08-18 2012-04-03 Qualcomm Atheros, Inc. Media streaming synchronization
US7792158B1 (en) 2004-08-18 2010-09-07 Atheros Communications, Inc. Media streaming synchronization
US7720827B2 (en) * 2004-08-24 2010-05-18 Alcatel-Lucent Usa Inc. Network meta-data libraries and related methods
KR100703732B1 (ko) * 2005-01-19 2007-04-05 삼성전자주식회사 식별 모듈의 레코드 정보를 저장하여 데이터 처리 속도를향상시키는 방법 및 장치
US8027271B2 (en) * 2006-05-30 2011-09-27 Panasonic Corporation Communicating apparatus and controlling method of thereof
JP2008293197A (ja) * 2007-05-23 2008-12-04 Brother Ind Ltd 情報配信システム、同システムに用いる端末装置及びプログラム、並びに情報処理方法
WO2009082832A1 (fr) * 2007-12-26 2009-07-09 Zte Corporation Procédé destiné à réaliser des associations d'adresses ip sur la base d'un réseau de portes programmable par l'utilisateur
US10455298B2 (en) 2012-10-05 2019-10-22 Honeywell International Inc. Systems and methods of fast wireless output device activation in a mesh network system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999014906A1 (en) * 1997-09-15 1999-03-25 Effnet Group Ab Method and system for fast routing lookups

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355371A (en) 1982-06-18 1994-10-11 International Business Machines Corp. Multicast communication tree creation and control method and apparatus
JP2946517B2 (ja) 1989-02-03 1999-09-06 日本電気株式会社 ルーティング方式およびルーティング表更新方式
JPH04140948A (ja) 1990-10-01 1992-05-14 Nec Corp 通信経路決定装置
JPH04352534A (ja) 1991-05-30 1992-12-07 Fujitsu Ltd 通信制御装置のアドレス比較方式
CA2094409C (en) 1992-06-18 1998-07-14 Joshua Seth Auerbach Multicast communication tree creation and control method and apparatus
JP3454884B2 (ja) 1993-11-18 2003-10-06 株式会社日立製作所 メモリおよびその応用装置
JPH07254912A (ja) 1994-03-16 1995-10-03 Toshiba Corp Lan間接続装置
US6065064A (en) 1995-10-04 2000-05-16 Kawasaki Steel Corporation Inter-network connecting device
JP3638742B2 (ja) * 1996-11-29 2005-04-13 アンリツ株式会社 ルータ
US6128666A (en) * 1997-06-30 2000-10-03 Sun Microsystems, Inc. Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999014906A1 (en) * 1997-09-15 1999-03-25 Effnet Group Ab Method and system for fast routing lookups
EP1016245A1 (de) * 1997-09-15 2000-07-05 Effnet Group AB Verfahren und system zum schnellen nachschlagen der leitweglenkung

Non-Patent Citations (14)

* Cited by examiner, † Cited by third party
Title
EP 10 16 245 A1 (mit Auszug aus dem europäischen Patentregister, Stand vom 17.2.2005) (Prioritäts- tag: 15.09.1997)
EP 1016245 A1 (mit Auszug aus dem europäischen Patentregister, Stand vom 17.2.2005) (Prioritäts- tag: 15.09.1997) *
Patent abstract of Japan & JP 06062029 A *
Patent abstract of Japan, 6-62029, JP 06-62029 A
Patent abstracts of Japan & JP 02206237 A, 1990 *
Patent abstracts of Japan & JP 04140948 A, 1992 *
Patent abstracts of Japan & JP 04352534 A, 1992 *
Patent abstracts of Japan & JP 07143156 A, 1995 *
Patent abstracts of Japan & JP 07254912 A, 1995 *
Patent abstracts of Japan, 2-206237, 1990, JP 02-206237 A
Patent abstracts of Japan, 4-140948, 1992, JP 04-140948 A
Patent abstracts of Japan, 4-352534, 1992, JP 04-352534 A
Patent abstracts of Japan, 7-143156, 1995, JP 07-142156 A
Patent abstracts of Japan, 7-254912, 1995, JP 07-254912 A

Also Published As

Publication number Publication date
US6452908B1 (en) 2002-09-17
DE19860120A1 (de) 1999-07-01
JP3186681B2 (ja) 2001-07-11
JPH11191781A (ja) 1999-07-13

Similar Documents

Publication Publication Date Title
DE19860120B4 (de) Routensuchschaltung und diese verwendende Kommunikationsvorrichtung
DE60131596T2 (de) Stapelbare Sucheinrichtung
DE10012123B4 (de) Verfahren zum Suchen einer MAC-Adresse in einem Netzwerk-Switch
DE10028563B4 (de) Kommunikationssteuerungseinheit
DE60313371T2 (de) Verwendung von baumartigen "Bitmap" Datenstrukturen
DE60214670T2 (de) Verfahren und vorrichtung zur leitweglenkungstabellenverwaltung
DE69330675T2 (de) Verbesserte Paketstruktur für Netzschicht
DE68925557T2 (de) Verfahren zum Zugriff von Daten in einer Tabelle und seine Anwendung zum Lenken von Daten zwischen entfernten Stationen
DE69331672T2 (de) Adressenerkennungsvorrichtung
DE69927109T2 (de) Speicher zur Informationssuche durch Präfixanalyse für Knoten von Hochgeschwindigkeitsnetzen
DE69934644T2 (de) Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken
DE69414934T2 (de) Verfahren und Vorrichtung zur Auswertung von Datenstrukturinformationen
DE69419534T2 (de) Multi-Protokoll Paketvermittlungsnetz
DE69318928T2 (de) Verfahren zur Leitweglenkung von elektronischen Nachrichten
DE69123149T2 (de) Nachrichtweglenking-Apparat
DE69233194T2 (de) Verfahren und vorrichtung für simultane paketbus.
DE102005035201B4 (de) Netzknoteneinheit und Verfahren zur Weiterleitung von Datenpaketen
DE69937185T2 (de) Verfahren und vorrichtung zum paketbeförderungsnachschlagen mit einer reduzierten anzahl von speicherzugriffen
DE69424315T2 (de) Vorrichtung und verfahren zum abbilden von bits
DE102005046702B4 (de) Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten
DE60015186T2 (de) Verfahren und system für rahmen- und protokollklassifikation
DE69813657T2 (de) Architektur eines virtuellen Netzes
DE102019114309A1 (de) Verfahren zum Routen von Telegrammen in einem Automatisierungsnetzwerk, Datenstruktur, Automatisierungsnetzwerk und Netzwerkverteiler
DE602005006035T2 (de) Vorrichtung und Verfahren zur Bearbeitung von Rahmen mit multiprotokollverwendungsfeldern für ein Kommunikationsnetzwerk
DE60031712T2 (de) Tabellen-nachschlage-mechanismus zur adressauflösung in einer paket-netzwerkvermittlung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: JUNIPER NETWORKS, INC. (N.D.GES.D. STAATES DELAWAR

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012753000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012753000

Effective date: 20140820

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140701