DE19860120A1 - Routensuchschaltung und diese verwendende Kommunikationsvorrichtung - Google Patents
Routensuchschaltung und diese verwendende KommunikationsvorrichtungInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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 |
-
1997
- 1997-12-25 JP JP35677497A patent/JP3186681B2/ja not_active Expired - Fee Related
-
1998
- 1998-12-21 US US09/216,943 patent/US6452908B1/en not_active Expired - Fee Related
- 1998-12-23 DE DE1998160120 patent/DE19860120B4/de not_active Expired - Fee Related
Cited By (3)
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 |