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