DE19860120A1 - Routensuchschaltung und diese verwendende Kommunikationsvorrichtung - Google Patents

Routensuchschaltung und diese verwendende Kommunikationsvorrichtung

Info

Publication number
DE19860120A1
DE19860120A1 DE1998160120 DE19860120A DE19860120A1 DE 19860120 A1 DE19860120 A1 DE 19860120A1 DE 1998160120 DE1998160120 DE 1998160120 DE 19860120 A DE19860120 A DE 19860120A DE 19860120 A1 DE19860120 A1 DE 19860120A1
Authority
DE
Germany
Prior art keywords
data
node
route
address
subnode
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.)
Granted
Application number
DE1998160120
Other languages
English (en)
Other versions
DE19860120B4 (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
NEC Corp
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 NEC Corp filed Critical NEC Corp
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

Description

Die Erfindung betrifft eine Routensuchschaltung, um eine Vorrichtung, an die ein Paket zu übertragen ist, beruhend auf einer Bestimmungsadresse, welche eine Übertragungs­ bestimmung 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 be­ kannt. In einem Referenzmodell eines offenen Kommunika­ tionssystems, das durch die internationale Standard-Organi­ sation (ISO) festgelegt ist, führt die Brückenvorrichtung die Verbindung in einer Datenverknüpfungsschicht, insbeson­ dere in einer Mediumszugriffsunterschicht, durch. Die Rou­ tenvorrichtung führt die Verbindung in einer Netzwerk­ schicht durch, die die obere Schicht der Datenverknüpfungs­ schicht ist.
Eine Kommunikationssteuervorrichtung, die als Brückenvor­ richtung oder Router bezeichnet wird, muß beruhend auf Rou­ tentabellendaten, die im voraus der Kommunikationssteuer­ vorrichtung zugeführt wurden, bestimmen, an welche Vorrich­ tung das über das Netzwerk empfangene Empfangspaket als nächstes übertragen wird,.
Im Allgemeinen wird bei dieser Bestimmungsbearbeitung beru­ hend auf der in dem Adressenfeld des empfangenen Datenpa­ kets 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 physikalkisch 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 Internetar­ beitsadresse ist beispielsweise eine IP-Adresse mit 32 Bits in dem TCP/IP-Protokoll bekannt. Im folgenden wird zur Er­ lä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. Bei diesem Bestimmungsprozeß wird zuerst bestimmt, zu wel­ cher Netzwerkadresse die IP-Bestimmungsadresse des empfan­ genen Paketes gehört. Dann wird eine physikalische Adresse der Übertragungsbestimmung entsprechend der Netzwerkadresse bestimmt. Die Maskenlänge sind die Daten, die eine vorgege­ bene Zahl angeben, wie viele Bits der IP-Adresse vom signi­ fikantesten Bit an zu beachten sind.
Fig. 1 zeigt ein Beispiel der Netzwerkadresse. In Fig. 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 Mas­ kenadresse 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 Bestimmungs­ adresse 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 B Bits. Wenn die oberen Bits der IP-Adresse gleich "10" sind, betrifft die IP-Adresse eine Klasse B und die Masken­ länge ist gleich 16 Bits. Wenn die IP-Adresse gleich "100" ist, betrifft die IP-Adresse eine Klasse C und die Masken­ länge ist gleich 24 Bits.
Gegenwärtig wird das Konzept der Klassen aufgrund der Auf­ teilung in Unternetze und klassenlose Internet-Domain-Rou­ tings (CIDR, Classless Internet Domain Routing) aufgebro­ chen. Somit kann die Netzwerkadresse nicht einfach aus der IP-Bestimmungsadresse bestimmt werden. Es benötigt eine lange Verarbeitungszeit für die Bestimmung der Netz­ werkadresse. 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 zusam­ menfallen. In diesem Fall müssen die Routendaten der Netz­ werkadresse mit der größten Maskenlänge genommen werden.
Jedoch wird bei einer bekannten Routenvorrichtung in dem Internet die Routenlösungsverarbeitung zur Bestimmung beru­ hend auf der IP-Bestimmungsadresse, zu welcher Vorrichtung das Paket zu übertragen ist, durch Software verwirklicht.
Wie vorangehend beschrieben wurde, gibt es bei einer be­ kannten Kommunikationsvorrichtung, wie etwa einer Brücken­ vorrichtung 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 Pa­ ketü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übertra­ gungsverarbeitung der Paketübertragungsvorrichtung vermin­ dert. 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 Un­ terbaum (sub-tree). Wenn ein Kommunikationsrahmen oder Da­ tenblock empfangen wird, wird auf die Adressentabelle zu­ rückgegriffen. Wenn eine Bestimmungsadresse in der Adres­ sentabelle vorliegt, wird der Kommunikationsrahmen an einer Verbindung entsprechend der Bestimmungsadresse übertragen.
Auch in der japanischen Patentoffenlegungsschrift (JP-A-Hei­ sei 4-352534) ist ein Adressenvergleichssystem beschrie­ ben. 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 ge­ meinsamen Adressenabschnitt Acom wird mit dem Wert des Adressenregisters 2 verglichen. Genauer gesagt, ein Steuer­ register 4 ist mit Maskenbits ausgestattet, in denen die Anwesenheit oder Nichtanwesenheit der Vergleichsadresse in Einheiten von Bits gesetzt wird. Der Wert des Adressenregi­ sters 2 und die Empfangsadresse RA werden durch einen Ver­ gleichsabschnitt 3 beruhend auf den Maskenbits des Steuer­ registers 4 verglichen.
Ein Kommunikationsnetzwerksystem ist auch in der japani­ schen Patentoffenlegungsschrift (JP-A-Heisei 6-62029) be­ schrieben. Bei dem Kommunikationsnetzwerksystem wird ein Verteilungsbaum (distribution tree) beruhend auf den Bau­ madressen durch einen Baumlenker erzeugt. Eine Baumadres­ senkorrelation wird unter Verwendung eines Netzwerkidenti­ fizierers 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) beschrie­ ben. In der LAN-Verbindungsvorrichtung wird ein IP-Kopf 4 von einem Kommunikationspaket 5 und eine IP-Bestimmungs­ adresse 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 spei­ chert, um eine Übertragungsbestimmung LAN für jede IP-Adresse zu bezeichnen.
Ein Speicher ist in der japanischen Patentoffenlegungs­ schrift (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 Datenbank­ register in Einheiten von Bits verglichen. Wenn alle Bits miteinander in einem oder mehreren der M Register überein­ stimmt, wird ein Übereinstimmungssignal ausgegeben. Ein Da­ tenbankmaskenregister ist für jedes der M Datenbankregister vorgesehen, um zu bezeichnen, ob der Vergleichsvorgang in Einheiten von Bits auszuführen ist.
Eine Routenbestimmungsvorrichtung wird in der japanischen Patentoffenlegungsschrift (JP-A-Heisei 4-140948) beschrie­ ben. In der Routenbestimmungsvorrichtung gibt es ein Kno­ tenadressierregister zum Speichern einer Adresse zur Be­ stimmung 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 Bestimmungskno­ tenadresse 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 mas­ kierte Wert gleich 0 ist, wird das Ergebnis der Exklu­ siv-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 ausge­ wählt, die die Übertragungsanforderung veranlaßt.
Die Erfindung ist vorgesehen, um die oben genannten Pro­ bleme zu lösen. Deshalb ist es eine Aufgabe der Erfindung, eine Routensuchschaltung 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 Kommunika­ tionssteuervorrichtung zu schaffen, die eine Routensuch­ schaltung verwendet.
Erfindungsgemäß werden diese Aufgaben durch eine Kommunika­ tionssteuervorrichtung nach Anspruch 1 und ein Verfahren zur Bestimmung einer Route nach Anspruch 21 gelöst. Die weiteren Ansprüche betreffen vorteilhafte Aspekte der Er­ findung.
Um einen Aspekt der Erfindung zu verwirklichen, enthält eine Kommunikationssteuervorrichtung eine Ein­ gabe/Ausgabeeinheit, die von dem Empfang eines Pakets ab­ hängig ist, um eine Suchanfrage und eine Bestimmungsadresse des Pakets zum Empfang von Ergebnis-Routendaten zu erzeugen und das Paket beruhend auf den resultierenden Routendaten zu übertragen. Ein Speicher speichert eine Routenbaumta­ belle mit einer Baumstruktur mit einer Mehrzahl von Knoten, von denen jeder Knotendaten hat. Eine Routensuchschaltung nimmt Bezug auf die Routenbaumtabelle in Abhängigkeit von der Suchanfrage, um Routendaten von Endknotendaten als Er­ gebnis-Routendaten aus der Bestimmungsadresse zu bestimmen und gibt die Ergebnis-Route an die Eingabe/Ausgabeeinheit aus.
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 gewin­ nen, um wiederholt auf die Routenbaumtabelle unter Verwen­ dung einer Adresse und von Maskendaten von laufenden Kno­ tendaten 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 di­ chotome 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 Unter­ knoten 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 Auswahlschal­ tung für den nächsten Knoten auf die Routenbaumtabelle be­ ruhend auf einer Knotennummer zugreift, die Auswahlschal­ tung für den nächsten Knoten eine erste Auswahlvorrichtung zur Bestimmung eines Berechnungsbits beruhend auf den Mas­ kendaten und der Bestimmungsadresse, eine zweite Auswahl­ vorrichtung zur Auswahl einer Nummer des linken Unterkno­ tens oder einer Nummer des rechten Unterknotens beruhend auf dem Berechnungsbit, eine Speicherschaltung zum Spei­ chern einer Top-Knotennummer und eine dritte Auswahlvor­ richtung 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 zwei­ ten Nächst-Knotendaten Daten enthalten, die die Ungültig­ keit anzeigen.
Die Routensuchschaltung kann des weiteren eine Routenaktua­ lisierungsschaltung zum selektiven Aktualisieren gehaltener Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten enthalten. In diesem Fall kann die Rou­ tenaktualisierungsschaltung die gehaltenen Routendaten durch Routendaten des ersten oder zweiten Nächst-Knotenda­ ten aktualisieren, wenn ein logisches Produkt der Maskenda­ ten und die Bestimmungsadresse mit der Adresse der ersten oder der zweiten Nächst-Knotendaten übereinstimmen. Die Routenaktualisierungsschaltung kann auch eine Maskenschal­ tung 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 Ergeb­ nis-Routendaten-Aktualisierungsschaltung zum Aktualisieren der gehaltenen Routendaten durch Routendaten der ersten und zweiten Nächst-Knotendaten; wenn die Maskenbestimmungs­ adresse mit der Adresse der ersten oder zweiten Nächst-Kno­ tendaten ü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ül­ tig sind, enthalten.
Des weiteren enthält die Routensuchschaltung eine Auswahl­ schaltung für die nächste Maske zur Auswahl der rechten Un­ terknotenmaskendaten oder der linken Unterknotenmaskendaten der Routendaten als ausgewählte Unterknotenmaskendaten für einen nächsten Taktzyklus beruhend auf einem Berechnungs­ bit, das beruhend auf der Bestimmungsadresse und den ausge­ wählten Unterknotenmaskendaten für einen laufenden Taktzy­ klus bestimmt ist.
In diesem Fall kann die Routensuchschaltung eine Auswahl­ schaltung für einen nächsten Knoten für die Bezugnahme auf die Routenbaumtabelle unter Verwendung der Bestimmungs­ adresse und vorgegebener Maskendaten in Abhängigkeit von der Suchanfrage enthalten, um erste Nächst-Knotendaten wie­ der herzustellen, die die rechten Unterknotenmaskendaten und die linken Unterknotenmaskendaten enthalten, um wieder­ holt auf die Routenbaumtabelle unter Verwendung der Adresse laufender Knotendaten und der ausgewählten Unterknotenmas­ kendaten zuzugreifen, um zweite Nächst-Knotendaten wieder herzustellen, einschließlich der rechten Unterknotenmasken­ daten und der linken Unterknotenmaskendaten, während die ersten Nächst-Knotendaten oder die zweiten Nächst-Knotenda­ ten als laufende Knotendaten gesetzt werden, bis die End­ knotendaten erhalten werden.
Die Routenbaumtabelle kann eine halbdurchsichtige Baum­ struktur aufweisen und jede der Mehrzahl Knoten ist als Stammknoten mit einem linken Unterknoten und einem rechten Unterknoten verbunden. Die Auswahlschaltung für den näch­ sten Knoten wählt auch den linken Unterknoten oder den rechten Unterknoten beruhend auf einem Satz der Bestim­ mungsadresse und vorgegebener Maskendaten oder einem Satz der Adresse der laufenden Knotendaten und der ausgewählten Unterknotenmaskendaten aus, jedesmal wenn auf die Routen­ baumtabelle 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 Aus­ wahlschaltung des nächsten Knotens auf die Routenbaumta­ belle beruhend auf einer Knotennummer Bezug. Die Auswahl­ schaltung für den nächsten Knoten kann eine erste Auswahl­ vorrichtung zur Bestimmung eines Berechnungsbits beruhend auf den ausgewählten Unterknotenmaskendaten und der Bestim­ mungsadresse 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 Num­ mer des rechten Unterknotens beruhend auf dem Berechnungs­ bit in dem nächsten Taktzyklus, eine Speicherschaltung zum Speichern der Top-Knotennummer und eine dritte Auswahlvor­ richtung zur Auswahl der Top-Knotennummer oder der ausge­ wählten Unterknotennummer in dem nächsten Taktzyklus in Ab­ hä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 bestimmte die Such- und Be­ stimmungsschaltung, 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 aktua­ lisiert die Routenaktualisierungsschaltung die gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten, wenn ein logisches Produkt der ausge­ wä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 Bestimmungs­ adresse unter Verwendung der Maskendaten in dem laufenden Taktzyklus, eine Flipflop-Schaltung zum Halten der Masken­ bestimmungsadresse zur Ausgabe in dem nächsten Taktzyklus, eine Adressenvergleichsschaltung zum Vergleich der Masken­ bestimmungsadresse und der Adresse der ersten oder zweiten Nächst-Knotendaten in dem nächsten Taktzyklus und eine Ak­ tualisierungsschaltung der Ergebnis-Routendaten zum Aktua­ lisieren 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 überein­ stimmt und wenn die Gültigkeitsdaten der ersten oder zwei­ ten Nächst-Knotendaten anzeigen, daß die Routendaten der ersten und zweiten Nächst-Knotendaten gültig sind, enthal­ ten.
Um einen weiteren erfindungsgemäßen Aspekt zu verwirkli­ chen, enthält ein Verfahren zum Bestimmen einer Route zu einer Bestimmungseinheit beruhend auf einer Bestimmungs­ adresse eines Pakets in einer Kommunikationssteuervorrich­ tung die Schritte:
Erzeugen einer Suchanfrage und einer Bestimmungs­ adresse eines Pakets;
Zugreifen auf eine Routenbaumtabelle in Abhängigkeit von der Suchanfrage zur Bestimmung von Routendaten von End­ knotendaten als Ergebnis-Routendaten aus der Bestimmungs­ adresse, wobei die Routenbaumtabelle eine Baumstruktur mit einer Mehrzahl Knoten mit jeweiligen Knotendaten hat; und
Übertragen das Pakets an eine Bestimmungseinheit beru­ hend 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 er­ sten Nächst-Knotendaten oder die zweiten Nächst-Knotendaten als laufende Knotendaten gesetzt werden, bis die Endknoten­ daten 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.
Fig. 1A ist ein Diagramm, das ein Beispiel einer Netz­ werkadresse zeigt, und
Fig. 1B ist ein Diagramm, das die Bestimmungsadresse zeigt;
Fig. 2 ist ein Blockdiagramm, das die Struktur einer Kommunikationssteuervorrichtung unter Verwen­ dung einer Routensuchschaltung entsprechend ei­ ner ersten erfindungsgemäßen Ausführungsform zeigt;
Fig. 3 ist ein Diagramm, das ein Routenbaum entspre­ chend einer Routentabelle zeigt;
Fig. 4 ist ein Blockdiagramm, das die Struktur der Routensuchschaltung entsprechend einer ersten erfindungsgemäßen Ausführungsform zeigt;
Fig. 5 ist ein Blockdiagramm, das die Struktur der Auswahlschaltung für den nächsten Knoten, der in Fig. 4 gezeigt ist, darstellt;
Fig. 6 ist ein Blockdiagramm, das die Beispielsstruk­ tur einer Routenaktualisierungsschaltung aus Fig. 4 zeigt;
Fig. 7A bis 7N sind Zeitsteuerungstafeln zur Erläute­ rung des Betriebs der Routensuchschaltung aus Fig. 3;
Fig. 8 ist ein Blockdiagramm, das die Struktur der Routensuchschaltung entsprechend einer zweiten erfindungsgemäßen Ausführungsform zeigt;
Fig. 9 ist ein Blockdiagramm, das die Struktur der Auswahlschaltung des nächsten Knotens aus Fig. 8 zeigt; und
Fig. 10 ist ein Blockdiagramm, das die Struktur der Routenaktualisierungsschaltung aus Fig. 8 zeigt.
Eine Kommunikationssteuervorrichtung unter Verwendung einer Routensuchschaltung entsprechend der Erfindung wird im An­ schluß detailliert unter Bezug auf die beiliegenden Zeich­ nungen beschrieben.
Zunächst wird die Kommunikationssteuervorrichtung unter Verwendung der Routensuchschaltung entsprechend der ersten erfindungsgemäßen Ausführungsform im Anschluß beschrieben. Fig. 2 ist ein Blockdiagramm, das die Struktur der Kommuni­ kationssteuervorrichtung entsprechend der ersten erfin­ dungsgemäßen Ausführungsform zeigt.
Die Kommunikationssteuervorrichtung der ersten Ausführungs­ form ist beispielsweise eine Brückenvorrichtung oder ein Router. Die Kommunikationssteuervorrichtung ist mit einer Eingabe/Ausgabeeinheit 1, wie etwa einer zentralen Verar­ beitungseinheit (CPU), einer Routensuchschaltung 2 zur Durchführung eines Routensuchprozesses und einem Routen­ baumspeicher 3 zum Speichern der Routendaten in Form einer dichotomen Baumstruktur ausgestattet.
Die Eingabe/Ausgabeeinheit 1 ist eine Vorrichtung zur Ver­ arbeitung eines Empfangspakets. Die Eingabe/Ausgabeeinheit 1 veranlaßt ein Suchanfragesignal S der Routendaten an die Routensuchschaltung 2 zusammen mit einer IP-Bestimmungs­ adresse A. Die Eingabe/Ausgabeeinheit 1 bestimmt auch die Bestimmung des Empfangspakets beruhend auf den Ergeb­ nis-Routendaten R, die von der Routenschaltung 2 ausgegeben werden.
Die Routensuchschaltung 2 führt die Suche nach den Routen­ daten entsprechend der IP-Bestimmungsadresse A durch, wenn das Suchanfragesignal S und die IP-Bestimmungsadresse A von der Eingabe/Ausgabeeinheit 1 eingeht. Die Routensuchschal­ tung 2 gibt dann ein Suchendesignal E und die Ergebnis-Rou­ tendaten R an die Eingabe/Ausgabeeinheit 1 aus, nachdem die Suche beendet ist. Die Routensuchschaltung 2 liefert eine Knotennummer N an den Knotenbaumspeicher 3, 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-Schal­ tung (Large Scale Integrated Circuit) verwendet wird. Jedoch kann auch eine programmierbare Logikvorrichtung (PLD; Programmable Logic Device) wegen ihrer kurzen Ent­ wicklungszeitspanne 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 Routenbaum­ speicher 3 wünschenswerterweise in der LSI-Schaltung vorge­ sehen ist, in der die Routensuchschaltung 2 vorgesehen ist. Dies liegt daran, daß zusätzlich zu der geringen Schal­ tungsgröße die Verarbeitungsgeschwindigkeit in großem Aus­ maß erhöht werden kann.
Tabelle 1 zeigt ein Beispiel der Routentabelle, die in dem Routenbaumspeicher 3 gespeichert ist.
Tabelle 1
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 Routen­ eingang) 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 Kno­ ten 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 be­ stimmen, wohin das empfangene Paket mit der IP-Bestimmungs­ adresse A, die mit der Netzwerkadresse des Knotens überein­ stimmt, der die Routendaten Df hat, zu übertragen ist. Bei dieser Ausführungsform werden die Routendaten Df als Adresse verwendet, die speziell für eine Übertragungsbe­ stimmungsvorrichtung dient.
Fig. 3 ist ein Diagramm, das das Routenbaum entsprechend der in der Tabelle 1 gezeigten Routentabelle anzeigt. In Fig. 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 Ab­ schnitt 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 auf­ weist. 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 Be­ rechnungsbit "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 Un­ terknotennummer Dd. Somit wird die Verbindungsbeziehung zu den Unterknoten festgelegt.
Das oben erwähnte Berechnungsbit wird beruhend auf den Mas­ kendaten Db bestimmt. Genauer gesagt, wenn die Maskenlänge der Maskendaten Db gleich m ist, dann ist das Berechnungs­ bit 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 Fig. 3 gezeigten Routenbaums beschrie­ ben.
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 betrof­ fenen Knotens. Da als nächste von dem Top-Knoten ein Knoten mit der Knotennummer gleich "2" und ein Knoten mit der Kno­ tennummer "10" als die Knoten vorliegen, die kleinere Mas­ kendaten 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 Stammknotenangeordnet. 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 Kno­ tennummer "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äch­ ste Berechnungsbit das neunte Bit der IP-Adresse Da des be­ treffenden Knotens.
Da ein Knoten mit der Knotennummer gleich "11" und ein Kno­ ten 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 Kno­ tennummer "3" gleich "800A0000". Da der Wert des Berech­ nungsbits 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 das Routenbaum aus Fig. 3 auf die gleiche Art strukturiert werden. Die Routentabelle, die in Tabelle 1 gezeigt ist, kann beruhend auf der Struktur des Routen­ baums geschaffen werden.
Wenn die Routensuchschaltung 2 tatsächlich verwendet wird, müssen die Strukturier- und Aktualisierungsvorgänge dieses Routenbaums durchgeführt werden. Um das Routenbaum zu strukturieren, kann die ausschließliche Verwendung einer Hardwareschaltung für das Routenbaum anstelle der Software durch eine CPU verwendet werden.
Fig. 4 ist ein Blockdiagramm, das die Struktur der Routen­ suchschaltung 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 Routenaktualisierungs­ schaltung 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-Andauer­ signal W, ob der Suchvorgang ausgeführt wird. Das Suchaus­ fü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äm­ lich 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 syn­ chron mit der ansteigenden Flanke des Taktsignals aus. Auch wird das Suchausführungs-Andauersignal W dem Freischaltan­ schluß ena des EDFF 21 zugeführt. Das EDFF 21 aktualisiert die Ausgabe nur dann, wenn das Suchausführungs-Andauersi­ gnal W in dem Pegel ist, der die Ausführung des Suchprozes­ ses anzeigt.
Die Auswahlschaltung 22 für den nächsten Knoten wählt ent­ weder die rechte Unterknotennummer Dc oder die linke Unter­ knotennummer 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 Auswahlschal­ tung 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 beru­ hend auf der IP-Adresse Da und den Maskendaten Db ausgege­ benen IP-Bestimmungsadresse A und die Netzwerkadresse, um das das Vergleichsergebnis darstellende Übereinstimmungs-Anzei­ gesignal C auszugeben. Das Adressen-Übereinstimmungs-Anzei­ gesignal C hat einen das Übereinstimmen anzeigenden Pegel, nämlich den hohen Pegel (H) bei dieser Ausführungs­ form, wenn das Adressenvergleichsergebnis das Übereinstim­ men anzeigt, und einen Pegel, der die Nichtübereinstimmung anzeigt, nämlich einen niedrigen Pegel, wenn das Adressen­ vergleichsergebnis das Nichtübereinstimmen anzeigt.
Die Routenaktualisierungsschaltung 23 aktualisiert die Er­ gebnis-Routendaten R, wie sie von den Routendaten Df in den Knotendaten D ausgegeben werden, wenn das Adressenver­ gleichsergebnis die Übereinstimmung anzeigt und das Routen­ gültigkeitsflag De auf den Wert gesetzt ist, der die Gül­ tigkeit anzeigt. Die Routenaktualisierungsschaltung 23 hält auch die Ergebnis-Routendaten R, wenn das Adressenver­ gleichsergebnis die Nichtübereinstimmung anzeigt, oder wenn das Routengültigkeitsflag De so gesetzt ist, daß es die Un­ gültigkeit anzeigt.
Die Such- und Bestimmungsschaltung 24 erzeugt das Suchende­ signal E' mit dem hohen Pegel (H), wenn die von der Aus­ wahlschaltung 22 für den nächsten Knoten ausgegebene Kno­ tennummer N die eine Endbedingung erfüllende Adresse ist, oder wenn das Adressen-Übereinstimmungs-Anzeigesignal C auf den Wert gesetzt wird, der die Nichtübereinstimmung an­ zeigt.
Das DFF 25 gibt dieses Suchendesignal E' an die Ein­ gabe/Ausgabeeinheit 1 als Suchendesignal E, das synchron mit der ansteigenden Flanke des Taktsignals ist.
Fig. 5 ist ein Blockdiagramm, das die Struktur der Auswahl­ schaltung 22 für den nächsten Knoten zeigt. Die Auswahl­ schaltung 22 für den nächsten Knoten wird im folgenden un­ ter Bezug auf Fig. 5 beschrieben.
Die Auswahlschaltung 22 für den nächsten Knoten besteht aus einer 32-1-Auswahlvorrichtung 200, einer 2-1-Auswahlvor­ richtung 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 Masken­ daten Db aus. Genauer gesagt, wenn die Maskenlänge der Mas­ kendaten Db gleich m ist, wird das (m+1)-te Bit der IP-Bestim­ mungsadresse A entnommen und von dem oberen Bit aus­ gegeben. 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 Aus­ wahlsignal gleich "1" ist, und wählt und gibt die linke Un­ terknotennummer Dd der Knotendaten D aus, wenn das Auswahl­ signal gleich "0" ist.
Das Suchausführungs-Andauersignal W wird dem Steueranschluß sel der 2-1-Auswahlvorrichtung 201 als Auswahlsignal zuge­ führt. Die 2-1-Auswahlvorrichtung 201 wählt und gibt die Knotennummer, die von der 2-1-Auswahlschaltung 201 ausgege­ ben 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-Knotennum­ merspeicherschaltung 203 gespeichert ist, aus, wenn das Suchausführungs-Andauersignal W nicht so gesetzt ist, daß es den Pegel der Ausführung des Suchprozesses anzeigt.
Fig. 6 ist ein Blockdiagramm, das die Struktur der Routen­ aktualisierungsschaltung 23 zeigt. Die Routenaktualisie­ rungsschaltung 23 wird unter Bezug auf Fig. 6 beschrieben.
Die Routenaktualisierungsschaltung 23 bestehen aus einer Maskenverarbeitungsschaltung 210, einer Adressenvergleichs­ schaltung 211 und einer Ergebnis-Routendaten-Aktualisie­ rungsschaltung 212.
Die Maskenverarbeitungsschaltung 210 gibt einen Teil der IP-Bestimmungsadresse A entsprechend dem Gültigkeitsbit der Netzwerkadresse des Knotens durch einen Maskenprozeß beru­ hend 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 oben m Bits gleich "1" ist und in der jedes der unteren (32-m)-Bits gleich "0" ist. Ein logi­ sches Produkt der Maskenadresse und der IP-Bestimmungs­ adresse 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-Anzeigesi­ gnals 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 ak­ tualisiert die Ergebnis-Routendaten R als Ausgabe mit den Routendaten Df synchron mit dem Taktsignal, wenn das Adres­ sen-Ü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 Er­ gebnis-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 Kommunikationssteuer­ vorrichtung unter Verwendung der Routensuchschaltung 2 ent­ sprechend der ersten Ausführungsform der Erfindung im An­ schluß beschrieben. In diesem Fall sei angenommen, daß die Routentabelle entsprechend Tabelle 1 dem Routenbaum aus Fig. 3 entsprechend in dem Routenbaumspeicher 3 gespeichert ist. Auch wird der Betrieb unter Annahme des Falls be­ schrieben, in dem das Paket die IP-Bestimmungsadresse A gleich "800A9011" hat, als Beispiel empfangen wird.
Wenn das Paket empfangen wird, wird die IP-Bestimmungs­ adresse A von der Eingabe/Ausgabeeinheit 1 an die Routen­ suchschaltung 2 zusammen mit dem Suchanfragesignal S gelie­ fert. 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 Ein­ gabe/Ausgabeeinheit 1 zusammen mit dem Suchendesignal E ausgegeben.
Der detaillierte Betrieb der Routensuchschaltung 2 wird an­ hand der Zeitsteuerungstafeln der Fig. 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-Aus­ wahlvorrichtung 202 der Auswahlschaltung 22 für den nächsten Knoten die Ausgabe der obersten Knotennummerspei­ cherschaltung 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 ent­ spricht, wie es in Fig. 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 Fig. 7E gezeigt ist.
Wenn das Suchanfragesignal S auf dem hohen Pegel "H" von der Eingabe/Ausgabeeinheit 1 empfangen wird, setzt die Zu­ standssteuerschaltung 20 das Suchausführungs-Andauersignal W auf den hohen Pegel "H", wie es in Fig. 7C angezeigt ist. Wenn das Suchausführungs-Andauersignal W auf den hohen Pe­ gel "H" gesetzt ist, aktualisiert das EDFF 21 seine Ausgabe mit den zugeführten Knotendaten D synchron mit der anstei­ genden 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 Fig. 7). Genauer gesagt, die Knoten­ daten 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ültig­ keitsflag De ist gleich "1" (gültig) und die Routendaten Df sind gleich Df1.
Die Auswahlschaltung 22 für den nächsten Knoten 22 wählt die rechte Unterknotennummer Dc oder die linke Unterknoten­ nummer Dd zum Lesen, beruhend auf den Maskendaten Db der Knotendaten E und der IP-Bestimmungsadresse A. Genauer ge­ sagt, 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 Knoten­ verarbeitung 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 auszu­ lesende Knotennummer die rechte Unterknotennummer Dc. So­ mit wird ein Wert gleich "2", der die rechte Unterknoten­ nummer Dc anzeigt, von der Auswahlschaltung 22 für den nächsten Knoten als Knotennummer N ausgegeben, wie es in Fig. 7D gezeigt ist.
Der Routenbaumspeicher 3 gibt die Knotendaten D2 des Kno­ tens mit der Knotennummer gleich "2" aus, wenn die Knoten­ nummer gleich 2" zugeführt wird, wie es in Fig. 7E gezeigt ist. Die Knotendaten D2, die von dem Routenbaumspeicher 3 ausgegeben werden, werden durch das IDFF 21 mit der stei­ genden Flanke des nächsten Taktsignals genommen, das heißt zum Zeitpunkt t2 in Fig. 7. Somit endet die erste Knoten­ verarbeitung und beginnt die Verarbeitung des zweiten Kno­ tens.
Die Knotendaten D2 haben die IP-Adresse Da gleich "80000000", die Maskendaten gleich "8", die rechte Unter­ knotennummer gleich "11", die linke Unterknotennummer Dd gleich "3", das Routengültigkeitsflag gleich "0" und keine Routendaten.
Bei der zweiten Knotenverarbeitung wählt die Auswahlschal­ tung 22 für den nächsten Knoten die rechte Unterknotennum­ mer Dc oder die linke Unterknotennummer Dd als nächste aus­ zulesende, 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 Fig. 7D gezeigt ist, wird der Wert "3" der linken Unterknoten­ nummer Dd von der Auswahlschaltung 22 für den nächsten Kno­ ten als Nächst-Knotennummer N ausgegeben.
Der Routenbaumspeicher 3 gibt die Knotendaten D3 des Kno­ tens der Knotennummer gleich "3" aus, wenn die Knotennummer "3" zugeführt wird, wie es in Fig. 7E gezeigt ist. Wie vor­ angehend erwähnt wurde, wird die Knotennummer N des als nächstes zu verarbeitenden Knotens in dem nächsten Taktzy­ klus ausgegeben. Dann werden Knotendaten N aus dem Routen­ baumspeicher 3 ausgelesen.
Als nächstes wird der Betrieb der Routenaktualisierungs­ schaltung 23 und der Routensuchschaltung 2 unten beschrie­ ben.
Eine durch Maskieren der IP-Bestimmungsadresse A mit der Maskenverarbeitungsschaltung 210 unter Verwendung der Mas­ kendaten Db und der IP-Adresse Da der Knotendaten D erhal­ tene 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 Übereinstim­ mung führt.
Die Ergebnis-Routendaten-Aktualisierungsschaltung 212 ak­ tualisiert die Ergebnis-Routendaten R als ihre Ausgabe mit den Routendaten Df synchron mit dem Taktsignal, wenn das Adressen-Übereinstimmungs-Anzeigesignal C auf den hohen Pe­ gel "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 Fig. 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 aktuali­ siert die Ergebnis-Routen-Aktualisierungsschaltung 212 die Ergebnis-Routendaten R mit den Routendaten Df1 zu der Zeit­ steuerung der nächsten ansteigenden Flanke des Taktsignals, das heißt zu dem Zeitpunkt t2 in Fig. 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 zwei­ ten Knotenverarbeitung das Adressen-Übereinstimmungs-Anzei­ gesignal C auf den hohen Pegel "H" gesetzt, was die Über­ einstimmung anzeigt. Da jedoch in diesem Fall das Routen­ gü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 Fig. 7 zum Zeitpunkt t3 gezeigt ist. Im Ergebnis werden die Ergebnis-Routendaten R gehalten, wie es in Fig. 7N gezeigt ist.
Bei der dritten Knotenverarbeitung sind die Maskendaten Db auf den Wert "16" gesetzt. Dementsprechend werden die obe­ ren 16 Bit der IP-Bestimmungsadresse A "800A9011" entnom­ men, 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 Pe­ gel "H" gesetzt, was die Übereinstimmung anzeigt. Die Er­ gebnis-Routendaten-Aktualisierungsschaltung 212 aktuali­ siert die Ergebnis-Routendaten R mit den Routendaten Df3 zu dem Zeitpunkt der steigenden Kante des nächsten Taktsi­ gnals, wie es in Fig. 7N zum Zeitpunkt t4 gezeigt ist. Dies liegt daran, daß das Adressen-Übereinstimmungs-Anzeigesi­ gnal C auf den hohen Pegel "H" gesetzt wird, was die Über­ einstimmung anzeigt, und daß darüber hinaus das Routengül­ tigkeitsflag De auf den Wert "1" gesetzt ist, der die Gül­ tigkeit anzeigt.
Bei der vierten Knotenverarbeitung werden die Maskendaten auf den Wert "24" gesetzt. Dementsprechend werden die obe­ ren 24 Bit der IP-Bestimmungsadresse A "800A9011" entnom­ men, und die Ausgabe der Maskenverarbeitungsschaltung 210 wird auf den Wert gleich "800A9000" gesetzt. Dieser Wert stimmt nicht mit der IP-Adresse Da gleich "800AC000" über­ ein. Im Ergebnis wird infolge der vierten Knotenverarbei­ tung das Adressen-Übereinstimmungs-Anzeigesignal C auf den niedrigen Pegel "L" gesetzt, der die Nichtübereinstimmung anzeigt, wie in Fig. 7L gezeigt. Da das Adressen-Überein­ stimmungs-Anzeigesignal C auf den niedrigen Pegel "L" ge­ setzt 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 Fig. 7. Die Ergebnis-Routendaten R werden beibehalten, wie es in Fig. 7N gezeigt ist.
Als nächstes wird im Anschluß der Betrieb der Suchende-Be­ stimmungsschaltung 24 beschrieben.
Die Suchende-Bestimmungsschaltung 24 erzeugt ein Suchende­ signal 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 er­ füllt, oder wenn das Adressen-Übereinstimmungs-Anzeige­ signal C auf den Pegel gesetzt wird, der die Nichtüberein­ stimmung 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 auszu­ lesen ist.
In Fig. 7 wird bei der vierten Knotenverarbeitung aufgrund des auf den niedrigen Pegel "L" gesetzten Adressen-Überein­ stimmungs-Anzeigesignals C, das die Nichtübereinstimmung anzeigt, das Suchendesignal E' auf den hohen Pegel "H" ge­ setzt. Beim Empfang des Suchendesignals E' mit dem hohen Pegel "H" setzt die Zustandssteuerschaltung 20 das Suchaus­ führungs-Andauersignal W auf den niedrigen Pegel "L", wie es in Fig. 7C gezeigt ist. Das Suchausführungs-Andauer­ signal W wird auf den niedrigen Pegel "L" gesetzt, wobei das EDFF 21 die Aktualisierung der Ausgabe beendet. Im Er­ gebnis werden die Ergebnis-Routendaten R, die von der Rou­ tenaktualisierungsschaltung 23 ausgegeben werden, bei den Routendaten Df 3 gehalten. Dann, da das Suchendesignal E' auf den hohen Pegel "H" gesetzt ist, wird dieses Suchende­ signal E' von dem DFF 25 als das Suchendesignal E mit der steigenden Flanke des nächsten Taktsignals zu dem Zeitpunkt t5 in Fig. 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 Bestim­ mung des Empfangspakets beruhend auf den Routendaten R.
Die Kommunikationssteuervorrichtung entsprechend der zwei­ ten erfindungsgemäßen Ausführungsform wird im Anschluß be­ schrieben.
Fig. 8 ist ein Blockdiagramm, das die Struktur der Routen­ suchschaltung der Erfindung zeigt. Die Struktur der Kommu­ nikationssteuervorrichtung der zweiten Ausführungsform ist die gleiche wie jene der ersten Ausführungsform, die in Fig. 2 gezeigt ist. Jedoch wird in der zweiten Ausführungs­ form die Routensuchschaltung 2a anstelle der Routensuch­ schaltung 2, die in Fig. 2 gezeigt ist, verwendet.
Die Routensuchschaltungen bestehen aus einer Zustandssteu­ erschaltung 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 Aus­ wahlschaltung 26 für die nächste Maske ist neu als Einheit vorgesehen, die mit der Ausgabe des EDFF 21 in der Routen­ suchschaltung 2 gegenüber der ersten Ausführungsform vorge­ sehen 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äch­ ster 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 Unterknoten­ maske Dh sind Daten, die in jedem Knotendaten D in der Rou­ tentabelle als Teil der Knotendaten D neu hinzugefügt sind. Die rechten Unterknotenmasken Dg sind Maskendaten des rech­ ten Unterknotens des gegenwärtig ausgelesenen Knotens. Die linken Unterknotenmasken Dh sind Maskendaten des linken Un­ terknotens des gegenwärtig ausgelesenen Knotens.
Die Auswahlschaltung 26 für die nächste Maske wählt entwe­ der die rechte Unterknotenmaske Dg oder die linke Unterkno­ tenmaske Dh ins Übereinstimmung mit dem Nächst-Knotenbit B. Die Auswahlschaltung 26 für die nächste Maske gibt die aus­ gewählten Daten als nächste Maskendaten 9i an die Auswahl­ schaltung 22a für den nächsten Knoten und die Routenaktua­ lisierungsschaltung 23a. Anders gesagt, die Auswahlschal­ tung 26 für die nächste Maske wählt und gibt die linken Un­ terknotenmaske Dh, wenn das Nächst-Knotenbit B gleich "0" ist, aus und wählt und gibt die rechte Unterknotenmaske Dg, wenn der Nächst-Knotenbit B gleich "1" ist, aus.
Fig. 9 ist ein Blockdiagramm, das das Strukturbeispiel der Auswahlschaltung 22a für den nächsten Knoten in der zweiten Ausführungsform zeigt. In Fig. 9 besteht die Auswahlschal­ tung 22a für den nächsten Knoten aus der 32-1-Auswahlvor­ richtung 200, der 2-1-Auswahlvorrichtung 201, der 2-1-Aus­ wahlvorrichtung 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 vor­ gesehen.
Die der 32-1-Auswahlvorrichtung 200 zugeführten Maskendaten sind die nächsten Maskendaten 9i. Da diese nächsten Masken­ daten 9i 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 herge­ stellt 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 signifikanteste 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 Suchpro­ zesses ist. Der übrige Betrieb ist derselbe wie der ersten Ausführungsform.
Indem eine solche Struktur bei dieser Ausführungsform aus­ genommen wird, kann die Bitauswahlverarbeitung in der 32-1-Aus­ wahlvorrichtung 200 in dem Taktzyklus vor einem Taktzy­ klus ausgeführt werden, indem die Verarbeitungszeit zur Ausgabe der Knotennummer N verringert werden kann.
Fig. 10 ist ein Blockdiagramm, das das Strukturbeispiel der Routenaktualisierungsschaltung 23a der zweiten Ausführungs­ form zeigt. Die Routenaktualisierungsschaltung 23a besteht aus einer Maskenverarbeitungsschaltung 210, der Adressen­ vergleicherschaltung 211, der Ergebnis-Routendaten-Aktuali­ sierungsschaltung 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ührungs­ form vorgesehen.
Die Maskendaten, die der Maskenverarbeitungsschaltung 210 zugeführt werden, sind die nächsten Maskendaten 9i. Da die nächsten Maskendaten 9i 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 Syn­ chronisation hergestellt. Indem eine solche Struktur bei der zweiten Ausführungsform angenommen wird, kann die Mas­ kenverarbeitung durch die Maskenverarbeitungsschaltung 210 in dem Takt um 1 vor der Verarbeitungszeit durchgeführt werden, die zur Ausgabe des Adressen-Übereinstimmungs-An­ zeigesignals 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 Maskenda­ ten 9i als Maskendaten Db der im nächsten Taktzyklus auszu­ lesenden 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 ei­ ner höheren Frequenz erhöht werden kann, kann die Wieder­ herstellungszeit der Routensuchschaltung 22a kurz gemacht werden.
Als nächstes wird die Kommunikationssteuervorrichtung ent­ sprechend der dritten erfindungsgemäßen Ausführungsform im Anschluß beschrieben.
Bei 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 Routenbaumspei­ chers 3 verringert werden, da die Routenbaumtabelle nicht die Routendaten (Adressen) Df als Teil der Knotendaten D benötigt. Im Ergebnis kann der Schnittstellenteil der Rou­ tensuchschaltung 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 vor­ gesehen sein.
Es sei angemerkt, daß bei den oben beschriebenen Ausführungs­ formen die Beschreibung unter Verwendung der Routendaten­ wiederherstellung von der IP-Bestimmungsadresse als Bei­ spiel durchgeführt wurde. Jedoch ist die Erfindung nicht hierauf beschränkt. Die Erfindung kann auf Routensuchpro­ zesse 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 vorge­ sehen. Jedoch kann der Routenbaumspeicher in der Routen­ suchschaltung vorgesehen sein.
Wie vorangehend beschrieben wurde, kann erfindungsgemäß der Adressenauflöseprozeß mit hoher Geschwindigkeit durchge­ führt werden, um die Last der CPU zu verringern. Im Ergeb­ nis kann der Durchsatz der Verarbeitung in der Kommunikati­ onssteuervorrichtung erhöht werden. Dies liegt daran, daß der Adressenauflösungsprozeß durch den Auswahlprozeß durch­ gefü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 ausge­ staltet werden. Auch wenn die Zahl der Eingaben in die Rou­ tentabelle ansteigt, wird die Routensuchschaltung nicht groß in der Abmessung. Dies liegt daran, daß für die Rou­ tensuchschaltung immer nur ein Eingang gelesen und der Ver­ gleichsprozeß durchgeführt wird. Deshalb ist, auch wenn die Zahl der Eingaben in die Routentabelle ansteigt, es hinrei­ chend, die Kapazität des Routenbaumspeichers groß zu ma­ chen.
Auch wenn die Bestimmungsadresse mit der Netzwerkadresse einer Mehrzahl Routeneingänge in der Routentabelle überein­ stimmt, werden die Routendaten entsprechend der Netz­ werkadresse, 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 Routenda­ tenaktualisierungsprozeß beruhend auf dem Adressenvergleich parallel mit der Verarbeitung zur Bestimmung des nächsten Routeneingangs durchgeführt wird. Wenn der Adressenver­ gleich die Übereinstimmung anzeigt, werden die Ergebnis-Routen­ daten aktualisiert, und wenn der Adressenvergleich keine Übereinstimmung anzeigt, werden die Ergebnis-Routen­ daten 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 ent­ sprechend der Netzwerkadresse mit der längsten Netzwerk­ maske 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, um Ergebnis-Rou­ tendaten zu empfangen und um das Paket beruhend auf den Er­ gebnis-Routendaten zu übertragen;
einem Speicher (3) zum Speichern einer Routenbaum­ tabelle mit einer Baumstruktur aus einer Mehrzahl Knoten mit jeweiligen Knotendaten; und
einer 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 und um die Ergebnis-Route an die Eingabe/Ausgabeeinheit (1) auszuge­ ben.
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 Be­ stimmungsadresse und vorgegebener Maskendaten in Abhängig­ keit von der Suchanfrage zum Erhalt erster Nächst-Knotenda­ ten zuzugreifen,
um wiederholt auf die Routenbaumtabelle unter Verwen­ dung einer Adresse und von Maskendaten der laufenden Kno­ tendaten 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 ei­ nem linken Unterknoten und einem rechten Unterknoten ver­ bunden ist,
wobei die Auswahlschaltung (22) für den nächsten Kno­ ten den linken Unterknoten oder den rechten Unterknoten be­ ruhend auf einem Satz aus der Bestimmungsadresse und vorge­ gebener 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 2, 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 zu­ greift und die Auswahlschaltung (22) für den nächsten Kno­ ten enthält:
eine erste Auswahlvorrichtung (200) zur Bestimmung ei­ nes 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 (201) 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 Routensuchschaltung (2) des weiteren eine Routenak­ tualisierungsschaltung (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 der 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 Bestimmungs­ adresse unter Verwendung der Maskendaten;
eine Adressenvergleichsschaltung (211) zum Vergleich der maskierten Bestimmungsadresse und der Adresse der er­ sten 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-Kno­ tendaten anzeigen, daß die Routendaten der ersten oder zweiten Nächst-Knotendaten gültig sind.
11. Kommunikationssteuervorrichtung nach Anspruch 2, bei der die Routensuchschaltung (2) eine Auswahlschaltung (26) für eine eine nächste Maske enthält, um rechte Unterknoten­ maskendaten oder linke Unterknotenmaskendaten aus den Rou­ tendaten als ausgewählte Unterknotenmaskendaten für einen nächsten Taktzyklus beruhend auf einem Berechnungsbit aus­ zuwählen, das beruhend auf der Bestimmungsadresse und den ausgewählen Unterknotenmaskendaten eines laufenden Taktzy­ klus 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 Routenbaumta­ belle unter Verwendung der Bestimmungsadresse und vorgege­ bener Maskendaten in Abhängigkeit von der Suchanfrage ent­ hält,
um erste Nächst-Knotendaten, die rechte Unterknoten­ maskendaten und die linken Unterknotenmaskendaten enthal­ ten, zu gewinnen,
um wiederholt auf die Routenbaumtabelle unter Verwen­ dung einer Adresse laufender Knotendaten und der ausgewähl­ ten Unterknotenmaskendaten zuzugreifen,
um zweite Nächst-Knotendaten, die rechte Unterknoten­ maskendaten 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 (22) für den nächsten Kno­ ten den linken Unterknoten oder den rechten Unterknoten be­ ruhend auf einem Satz aus der Bestimmungsadresse und vorge­ gebener Maskendaten oder einem Satz aus der Adresse der laufenden Knotendaten und der ausgewählten Unterknotenmas­ kendaten jedesmal auswählt, wenn auf die Routenbaumtabelle zugegriffen wird.
14. Kommunikationssteuervorrichtung nach Anspruch 11, bei der die Auswahlschaltung (22) 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 Be­ rechnungsbits beruhend auf den ausgewählten Unterknotenmas­ kendaten und der Bestimmungsadresse in dem laufenden Takt­ zyklus;
eine Flipflop-Schaltung zum Halten des Berechnungsbits zur Ausgabe in dem nächsten Taktzyklus;
eine zweite Auswahlvorrichtung zur Auswahl einer Num­ mer des linken Unterknotens oder einer Nummer des rechten Unterknotens beruhend auf dem Berechnungsbit in dem näch­ sten Taktzyklus;
eine Speicherschaltung zum Speichern der Top-Knoten­ nummer; und
eine dritte Auswahlvorrichtung zur Auswahl der Top-Knoten­ nummer 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. Kommunikationssteuervorrichtung nach Anspruch 16, bei der die Suchende-Bestimmungsschaltung bestimmt, daß die Endknotendaten erhalten wurden, wenn kein Knoten mehr vor­ handen ist, auf den Bezug genommen werden kann, oder wenn die zweiten Nächst-Knotendaten Daten enthalten, die die Un­ gültigkeit anzeigen.
18. Kommunikationssteuervorrichtung nach Anspruch 11, bei der die Routensuchschaltung des weiteren eine Routenaktua­ lisierungsschaltung zum selektiven Aktualisieren von gehal­ tenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten enthält.
19. Kommunikationssteuervorrichtung nach Anspruch 18, bei der die Routenaktualisierungsschaltung die gehaltenen Rou­ tendaten durch Routendaten der ersten oder zweiten Nächst-Knoten­ daten aktualisiert, wenn ein logisches Produkt der ausgewählten Unterknotenmaskendaten und der Bestimmungs­ adresse mit der Adresse der ersten oder zweiten Nächst-Kno­ tendaten übereinstimmt.
20. Kommunikationssteuervorrichtung nach Anspruch 19, bei der die Routenaktualisierungsschaltung enthält:
eine Maskenschaltung zum Maskieren der Bestimmungs­ adresse unter Verwendung der Maskendaten in dem laufenden Taktzyklus;
einen Flipflop zum Halten der maskierten Bestimmungs­ adresse 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 überein­ stimmt und Gültigkeitsdaten der ersten oder zweiten Nächst-Knoten­ daten anzeigen, daß die Routendaten der ersten oder zweiten Nächst-Knotendaten gültig sind.
21. Verfahren zum Bestimmen einer Route zu einer Bestim­ mungseinheit in einer Kommunikationssteuervorrichtung beru­ hend auf einer Bestimmungsadresse eines Pakets, mit den Schritten:
Erzeugen einer Suchanfrage und einer Bestimmungs­ adresse eines Pakets;
Zugriff auf eine Routenbaumtabelle in Abhängigkeit von der Suchanfrage zur Bestimmung von Routendaten von Endkno­ tendaten als Ergebnis-Routendaten aus der Bestimmungs­ adresse, wobei die Routenbaumtabelle eine Baumstruktur mit einer Mehrzahl Knoten mit jeweiligen Knotendaten hat; und
Übertragen des Pakets an die Bestimmungseinheit beru­ hend auf den Ergebnis-Routendaten.
22. Verfahren nach Anspruch 21, bei dem der Zugriffs­ schritt umfaßt:
wiederholtes Zugreifen auf die Routenbaumtabelle unter Verwendung der Bestimmungsadresse und vorgegebener Masken­ daten oder Verwenden einer Adresse und Maskendaten laufen­ der Knotendaten zum Wiedergewinnen zweiter Nächst-Knotenda­ ten, 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 Routenbaumta­ belle eine dichotome Baumstruktur hat und jeder der Mehr­ zahl 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 beru­ hend auf einem Satz aus der Bestimmungsadresse und vorgebe­ ner Maskendaten oder einem Satz der Bestimmungsadresse und Maskendaten der laufenden Knotendaten enthält, jedesmal wenn auf die Routenbaumtabelle zugegriffen wird.
24. Verfahren nach Anspruch 22, bei dem der wiederholte Zugriffsschritt das Auswählen des linken Unterknotens oder des rechten Unterknotens beruhend auf einem (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 Mas­ kendaten und der Bestimmungsadresse;
Auswählen einer Nummer des linken Unterknotens oder einer Nummer des rechten Unterknotens beruhend auf dem Be­ rechnungsbit; und
Auswählen einer Oberknotennummer und der ausgewählten Unterknotennummer in Abhängigkeit von der Suchanfrage, wo­ bei auf die Routenbaumtabelle unter Verwendung der ausge­ wählten Knotennummer zugegriffen wird.
26. Verfahren nach Anspruch 22, bei der der wiederholte Zugriffsschritt das Bestimmen, ob die Endknotendaten erhal­ ten wurden, enthält.
27. Verfahren nach Anspruch 24, bei dem der Schritt der Bestimmung, ob die Endknotendaten erhalten wurden, das Be­ stimmen 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 Rou­ tendaten 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 Aktua­ lisieren der gehaltenen Routendaten durch Routendaten der ersten oder zweiten Nächst-Knotendaten enthält, wenn ein logisches Produkt der Maskendaten und der Bestimmungs­ adresse mit der Adresse des ersten oder zweiten Nächst-Kno­ tendaten übereinstimmt.
30. Verfahren nach Anspruch 28, bei dem der selektive Ak­ tualisierungsschritt enthält:
Maskieren der Bestimmungsadresse unter Verwendung der Maskendaten;
Vergleichen der maskierten Bestimmungsadresse mit der Adresse der ersten oder zweiten nächsten Knotendaten; und
Aktualisieren der gehaltenen Routendaten durch Routen­ daten 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 Un­ terknotenmaskendaten 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 Zugriffs­ schritt enthält:
wiederholtes Zugreifen auf die Routenbaumtabelle unter Verwendung der Bestimmungsadresse und vorgegebener Masken­ daten oder unter Verwendung einer Adresse von laufenden Knotendaten und der rechten Unterknotenmaskendaten oder der linken Unterknotenmaskendaten als ausgewählte Unterknoten­ maskendaten, um zweite Nächst-Knotendaten zu gewinnen, die die rechten Unterknotenmaskendaten und die linken Unterkno­ tenmaskendaten enthalten, während die ersten Nächst-Knoten­ daten oder die zweiten Nächst-Knotendaten als laufende Kno­ tendaten gesetzt werden, bis die Endknotendaten erhalten werden.
33. Verfahren nach Anspruch 32, bei dem die Routenbaumta­ belle eine dichotome Baumstruktur hat und wobei jede der Mehrzahl Knoten als Stammknoten mit einem linken Unterkno­ ten und einem rechten Unterknoten verbunden ist, und
wobei der wiederholte Zugriffsschritt das Auswählen des linken Unterknotens oder des rechten Unterknotens beru­ hend auf einem Satz der Bestimmungsadresse und vorgegebener Maskendaten oder einem Satz der Adresse der laufenden Kno­ tendaten und der ausgewählten Unterknotenmaskendaten, je­ desmal wenn auf die Routenbaumtabelle zugegriffen wird, enthält.
34. Verfahrene nach Anspruch 32, bei dem der Schritt zur Auswahl des linken Unterknotens oder des rechten Unterkno­ tens das Auswählen des linken Unterknotens oder des rechten Unterknotens beruhend auf einem (ausgewählte Unterknoten­ maskendaten +1)-ten der Bestimmungsadresse beruht.
35. Verfahren nach Anspruch 32, bei dem der wiederholte Zugriffsschritt enthält:
Bestimmen eines Berechnungsbits beruhend auf den aus­ gewählten Unterknotenmaskendaten und der Bestimmungsadresse des laufenden Taktzyklus;
Halten des Berechnungsbits zur Ausgabe im nächsten Taktzyklus;
Auswahl einer Nummer des linken Unterknotens oder ei­ ner Nummer des rechten Unterknotens beruhend auf dem Be­ rechnungsbit in dem nächsten Taktzyklus; und
Auswählen der Oberknotennummer oder der ausgewählten Unterknotennummer in dem nächsten Taktzyklus in Abhängig­ keit der Suchanfrage.
36. Verfahren nach Anspruch 32, in dem der wiederholte Zu­ griffsschritt 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 wur­ den, wenn kein Knoten vorliegt, auf den zugegriffen werden kann, oder wenn die zweiten Nächst-Knotendaten Daten ent­ halten, 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 Ak­ tualisierungsschritt das Aktualisieren der gehaltenen Rou­ tendaten durch Routendaten der ersten oder zweiten Nächst-Knoten­ daten, wenn ein logisches Produkt der ausgewählten Unterknotenmaskendaten und der Bestimmungsadresse mit der Adresse der ersten oder zweiten Nächst-Knotendaten überein­ stimmt, enthält.
40. Verfahren nach Anspruch 39, bei dem der Aktualisie­ rungsschritt 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 der Adresse der ersten oder zweiten Nächst-Knotendaten in dem nächsten Taktzyklus; und
Aktualisieren der gehaltenen Routendaten durch Routen­ daten 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ül­ tig 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
JP356774/1997 1997-12-25
JP35677497A JP3186681B2 (ja) 1997-12-25 1997-12-25 経路検索回路及び通信制御装置

Publications (2)

Publication Number Publication Date
DE19860120A1 true DE19860120A1 (de) 1999-07-01
DE19860120B4 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10244350B4 (de) * 2001-10-03 2005-06-16 Zarlink Semiconductor V.N. Inc., Irvine Verfahren zur Schrittsteuerung der Synchronisation von Routing-Information in einer Datenvermittlungsumgebung
DE10028563B4 (de) * 1999-06-09 2007-03-22 Nec Corp. Kommunikationssteuerungseinheit

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3735471B2 (ja) * 1998-10-05 2006-01-18 株式会社日立製作所 パケット中継装置およびlsi
JP2001060969A (ja) 1999-08-23 2001-03-06 Nec Corp 高速ip経路検索システム及び方法
JP2003516670A (ja) * 1999-12-10 2003-05-13 モサイド・テクノロジーズ・インコーポレイテッド 最長一致アドレスルックアップのための方法および装置
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
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
US7792158B1 (en) 2004-08-18 2010-09-07 Atheros Communications, Inc. Media streaming synchronization
US8149880B1 (en) * 2004-08-18 2012-04-03 Qualcomm Atheros, 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

Family Cites Families (11)

* 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
US6266706B1 (en) * 1997-09-15 2001-07-24 Effnet Group Ab Fast routing lookup system using complete prefix tree, bit vector, and pointers in a routing table for determining where to route IP datagrams

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10028563B4 (de) * 1999-06-09 2007-03-22 Nec Corp. Kommunikationssteuerungseinheit
DE10244350B4 (de) * 2001-10-03 2005-06-16 Zarlink Semiconductor V.N. Inc., Irvine Verfahren zur Schrittsteuerung der Synchronisation von Routing-Information in einer Datenvermittlungsumgebung
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

Also Published As

Publication number Publication date
JP3186681B2 (ja) 2001-07-11
DE19860120B4 (de) 2006-05-18
JPH11191781A (ja) 1999-07-13
US6452908B1 (en) 2002-09-17

Similar Documents

Publication Publication Date Title
DE19860120A1 (de) Routensuchschaltung und diese verwendende Kommunikationsvorrichtung
DE10028563B4 (de) Kommunikationssteuerungseinheit
DE60305035T2 (de) Anpassen des längsten präfix unter verwendung von baumartigen "bitmap" datenstrukturen
DE60131596T2 (de) Stapelbare Sucheinrichtung
DE69837872T2 (de) Vorrichtung und Verfahren zur Verbindungsvermittlung und -steuerung
DE10012123B4 (de) Verfahren zum Suchen einer MAC-Adresse in einem Netzwerk-Switch
DE60222622T2 (de) Verfahren und Vorrichtung zur Paketkopfteilverarbeitung
DE60216938T2 (de) Gleichzeitiges durchsuchen verschiedener tabellen in einem inhaltsadressierbaren speicher
DE69937248T2 (de) Routers und verfahren für optimale leitwegtabellenkomprimierung
DE4023527C2 (de) Brücke zur Netzwerkverbindung
DE10297269B4 (de) Kennzeichnung von Paketen mit einem Nachschlageschlüssel zur leichteren Verwendung eines gemeinsamen Paketweiterleitungs-Cache
DE60214670T2 (de) Verfahren und vorrichtung zur leitweglenkungstabellenverwaltung
DE69834122T2 (de) Verbindingsunterstützung in einer hochleistungsnetzwerkvorrichtung
DE10085387T5 (de) Verfahren und Vorrichtung zur Adresssuche längster Übereinstimmung
EP2882144B1 (de) Verfahren und Filteranordnung zum Filtern von über einen seriellen Datenbus eines Kommunikationsnetzwerks in einem Teilnehmer des Netzwerks eingehenden Nachrichten
DE69937185T2 (de) Verfahren und vorrichtung zum paketbeförderungsnachschlagen mit einer reduzierten anzahl von speicherzugriffen
EP0156339B1 (de) Verfahren und Anordnung zum Herstellen und Betreiben einer Zeitvielfach-Breitbandverbindung in einer Zeitvielfach-Vermittlungsstelle
DE102006001692A1 (de) Kommunikationssystem, Kommunikationsschaltkreis und Kommunikationsverfahren
DE60030930T2 (de) Vorrichtung und Verfahren zur Erhaltung einer Leitweglenkungstabelle
DE102021213414A1 (de) Routing mit einem switch mit festen zuordnungen
DE102016211189B4 (de) Weiterleitungsvorrichtung
DE60114299T2 (de) Verfahren und Vorrichtung zum Übersetzen von IP Telekommunikationsnetzwerkadressen mit einem gesteuerten undichten Speicher
DE602004006251T2 (de) Verfahren zur Sicherung der Kommunikation in einer Lokalnetz-Vermittlungsstelle
DE69919118T2 (de) Verfahren und Anordnung zur Verkehrsweglenkung von Nachrichtenpaketen mit durch numerische Ketten repräsentierten Adressen
DE69930493T2 (de) Aktualisierungsverfahren für einen inhaltsadressierbaren Trietypspeicher, und Router um solch ein Verfahren zu implementieren

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