-
Querverweise auf verwandte
Anmeldungen
-
Der
Gegenstand dieser Anmeldung ist mit dem Gegenstand der folgenden
Anmeldungen verwandt:
- Anmeldung Seriennummer 08/605,677,
US-Patent 5 959 955, mit dem Titel "ASYNCHRONOUS PACKET SWITCHING", eingereicht am
22. Februar 1996 von Thomas M. Wicki, Patrick J. Helland, Takeshi
Shimizu, Wolf-Dietrich Weber und Winfried W. Wilcke;
- Anmeldung Seriennummer 08/603,926, US-Patent 5 838 684, mit
dem Titel "LOW LATENCY,
HIGH CLOCK FREQUENCY PLESIOASYNCHRONOUS PACKET-BASED CROSSBAR SWITCHING
CHIP SYSTEM AND METHOD",
eingereicht am 22. Februar 1996 von Thomas M. Wicki, Jeffrey D.
Larson, Albert Mu und Raghu Sastry;
- Anmeldung Seriennummer 08/603,880, US-Patent 5 892 766, mit
dem Titel "METHOD
AND APPARATUS FOR COORDINATION ACCESS TO AN OUTPUT OF A ROUTING
DEVICE IN A PACKET SWITCHING NETWORK", eingereicht am 22. Februar 1996 von Jeffrey
D. Larson, Albert Mu und Thomas M. Wicki;
- Anmeldung Seriennummer 08/604,920, US-Patent 5 991 296, mit
dem Titel "CROSSBAR
SWITCH AND METHOD WITH REDUCED VOLTAGE SWING AND NO INTERNAL BLOCKING
DATA PATH", eingereicht am
22. Februar 1996 von Albert Mu und Jeffrey D. Larson;
- Anmeldung Seriennummer 08/603,913, US-Patent 6 003 064, mit
dem Titel "A FLOW
CONTROL PROTOCOL SYSTEM AND METHOD", eingereicht am 22. Februar 1996 von
Thomas M. Wicki, Patrick J. Helland, Jeffrey D. Larson, Albert Mu
und Raghu Sastry; und Richard L. Schober, Jr.;
- Anmeldung Seriennummer 08/603,911, US-Patent 5 768 300, mit
dem Titel "INTERCONNECT
FAULT DETECTION AND LOCALIZATION METHOD AND APPARATUS", eingereicht am
22. Februar 1996 von Raghu Sastry, Jeffrey D. Larson, Albert Mu,
John R. Slice, Richard L. Schober, Jr., und Thomas M. Wicki;
- Anmeldung Seriennummer 08/603,923, US-Patent 5 931 967, mit
dem Titel "METHOD
AND APPARRTUS FOR DETECTION OF ERRORS IN MULTIPLE-WORD COMMUNICATIONS", eingereicht am
22. Februar 1996 von Thomas M. Wicki, Patrick J. Helland und Takeshi
Shimizu; und
- Anmeldung Seriennummer 08/603,882, US-Patent 5 615 161, mit
dem Titel "CLOCKED
SENSE AMPLIFIER WITH POSITIVE SOURCE FEEDBACK", eingereicht am 22. Februar 1996 von
Albert Mu.
-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich allgemein auf das Gebiet der
Netzanalyse, und insbesondere auf ein System und ein Verfahren zum
dynamischen Bestimmen einer Topologie eines Ursprungsknotenleitweg-Paketvermittlungsnetzes
während
eines Computer-Boot-Prozesses oder während eines Online-Betriebs.
-
2. Beschreibung der Hintergrundtechnik
-
Es
gibt viele Techniken, die von Computernetzen verwendet werden, um
Informationen zwischen Anschlüssen
(Knoten) eines Netzes effizient und zuverlässig zu transferieren. Eine
solche Technik ist die Paketvermittlung. Bei der Paketvermittlung sendet
ein Senderknoten einen Rahmen zu einem Empfängerknoten. Die Nachricht wird
in viele Abschnitte mit variabler Größe geteilt. Diese Abschnitte werden
Pakete genannt. Jedes Paket schließt einen Datenabschnitt, einen
Paketkopf und häufig
Fehlerdetektierinformationen, z. B. Parität, ein. Der Datenabschnitt
schließt
die Informationen in der Nachricht ein, die zusammen mit anderen
Protokollinformationen aus den höheren
Schichten in dem Netz, z. B. der Anwendungsschicht, Datendarstellungsschicht, Kommunikationssteuerungsschicht,
wie in einem OSI-Referenzmodell ausgeführt, zu senden sind. Der Paketkopf
schließt
Informationen ein, die sich, unter anderen Informationen, auf den
Ort des Pakets in der Paketsequenz beziehen.
-
Um
die Pakete zwischen Knoten des Netzes zu transportieren, sind zusätzliche
Informationen erforderlich. Diese zusätzlichen Informationen werden in
einem Rahmenkopf gespeichert. Ein Rahmenkopf wird zu den Paketen
hinzugefügt,
und die Kombination eines Pakets und eines Rahmenkopfs wird Rahmen
genannt. Jedes Netz begrenzt die Größe eines Rahmens, wenn daher
das Paket zu groß ist,
um in einen Einzelrahmen zu passen, wird das Paket in zwei oder
mehrere Rahmen getrennt. Die in dem Paket eingeschlossenen Informationen
schließen
Informationen ein, die den letztlichen Zielknoten für den Rahmen
identifizieren.
-
Der
Ursprungsknoten und der Zielknoten sind in einer Netzumgebung häufig nicht
direkt verbunden. Jeder Knoten ist mit zumindest einem Router durch
eine Verknüpfung
oder Signalleitung verbunden. Das Netz kann viele Router einschließen. Um
einen Rahmen von einem Ursprungsknoten zu einem Zielknoten zu senden,
durchquert der Rahmen typischerweise eine Vielzahl von Verknüpfungen
und Routern. Der Pfad des Rahmens durch das Netz wird Leitweg des
Rahmens genannt. Es gibt viele Techniken, die verwendet werden können, um
einen Rahmen durch das Netz zu lenken. Einige herkömmliche Leitwegtechniken
schließen
Flood Routing, zufälliges Routing,
Directory Routing und adaptives Directory Routing ein. Die Leitwegtechnik
durch Fluten sendet einen Rahmen über alle möglichen Pfade in dem Netz zwischen
dem Ursprungsknoten und dem Zielknoten. Die Technik des Flutens
stellt sicher, dass ein Rahmen erfolgreich gesendet und empfangen
wird, wenn irgendein gültiger
Pfad existiert. Der Verkehr auf dem Netz wird jedoch signifikant
erhöht,
da jeder Rahmen mehrfache Male gesendet wird. Bei der zufälligen Routing-Technik
wird ein Rahmen zufällig von
einem Ursprungsknoten zu einem Router gesendet, und der Prozess
wiederholt sich, bis das Ziel den Rahmen empfängt. Jeder Rahmen "durchwandert" das Netz und erreicht
letztendlich den Zielknoten. Die Wahrscheinlichkeit der Auswahl
einer bestimmten Signalleitung von einem Router kann auf der Basis
des Verkehrs, der Leitungskapazität und anderer Netzbedingungen
beeinflusst werden. Das Problem beim zufälligen Routing ist, dass die
Latenz eines Systems signifikant höher ist, wenn das Netz eine
große
Anzahl von Routern aufweist, da der Rahmen einen nicht direkten
Pfad von dem Ursprungsknoten zum Zielknoten nehmen kann.
-
Eine
dritte Leitwegtechnik wird Directory Routing oder Ursprungsknoten-Leitweglenkung
genannt. Beim Directory Routing schließt jeder Ursprungsknoten eine
Leitwegtabelle ein, die den Pfad durch das Netz anzeigt, der für einen
bestimmten Zielknoten ausgewählt
wird. Die Leitwegtabelle wird "offline" entwickelt und ist
nicht dynamisch modifizierbar. Wenn jedoch Speicherbeschränkungen
erfordern, dass nur ein Pfad für
jeden Zielknoten einzuschließen
ist, und eine Verknüpfung
auf dem Pfad unterbrochen ist, werden keine sich auf diesem unterbrochenen
Pfad bewegenden Rahmen erfolgreich gesendet. Eine vierte Leitwegtechnik
wird adaptives Directory Routing genannt. Beim adaptiven Directory Routing
hat jeder Router eine Leitwegtabelle im Speicher, die den besten
Leitweg durch das Netz für
einen benachbarten Router oder Knoten anzeigt. Die Einträge in der
Leitwegtabelle können
in Echtzeit modifiziert werden. Ein Problem bei den herkömmlichen adaptiven
Leitwegtechniken ist, dass der Router den effizientesten Leitweg
für den
Rahmen auf der Basis eines oder mehrerer Netzparameter, z. B. Rahmenverzögerung,
bestimmt. Da die Router die Rahmen dynamisch lenken, ist die Latenz
jedes Routers größer als
die Latenz jedes Routers bei der Directory Routing-Technik. Da der
Router des Rahmens vom Ursprungsknoten nicht vollständig bestimmt
wird, wird die adaptive Directory Routing-Technik von Ursprungsknoten-Leitwegnetzen nicht
genutzt.
-
Ein
Vorteil von Ursprungsknoten-Leitwegnetzen ist, dass die Router keine
Leitweginstruktionen schaffen müssen,
d. h. der Ursprungsknoten weist die Router an, wohin der Rahmen
zu lenken ist. Daher sind die Kosten solcher Router niedriger als
die Kosten von Routern, die eine dynamische Leitweglenkung vornehmen.
Ein zweiter Vorteil von Ursprungsknoten-Leitwegnetzen ist, dass die Latenz dieser
Netze reduziert ist. Das heißt,
die zur Lenkung eines Rahmens durch jeden Router erforderliche Zeit wird
verringert im Vergleich zu Netzen, die eine dynamische Leitweglenkung
nutzen, z. B. bei einer Flood Routing- oder zufälligen Routing-Technik. Die
Latenz in Ursprungsknoten-Leitwegnetzen sinkt, da der Router den
Pfad des Rahmens durch das Netz nicht dynamisch bestimmen muss,
stattdessen liest der Router nur den Rahmenkopf, um den nächsten Empfänger-Router
zu bestimmen, dies ist eine raschere Operation als die dynamische
Bestimmung der Leitweginformationen.
-
Da
der Leitweg des Rahmens durch das Netz in einem Ursprungsknoten-Leitwegnetz
bestimmt wird, wenn der Rahmen generiert wird, hat jeder Knoten
eine Leitwegtabelle, die zumindest einen Pfad durch das Netz zu
allen anderen Knoten identifiziert. Bei herkömmlichen Ursprungsknoten-Leitwegnetzen,
wie oben beschrieben, sind solche Leitwegtabellen vorherbestimmt
und statisch. Das heißt,
die Leitwegtabelle wird konstruiert, wenn das System offline ist.
Zusätzlich
treten auch Modifikationen der Leitwegtabelle auf, wenn der Knoten
offline ist. Bei einigen Ursprungsknoten-Leitwegnetzen wird eine Leitwegtabelle
in einem beliebigen Knoten nur modifiziert, wenn das gesamte Netz
nicht in Betrieb ist.
-
Eine
Modifikation der Leitwegtabelle kann während einer System-Boot-Zeit
auftreten, wenn eine Verknüpfung
inoperativ ist, eine andere Verknüpfung, ein anderer Router oder
ein anderer Knoten hinzugefügt
oder gelöscht
wird, oder in verkehrsstarken Situationen, um den Fluss des Rahmenverkehrs
an einem bestimmten Abschnitt des Netzes zu reduzieren. Gelegentlich
wird eine Netzverknüpfung zwischen
einem Knoten und einem Router oder zwischen zwei Routern inoperativ
(fällt
aus), und daher wird der Rahmenverkehr quer über diese ausgefallene Verknüpfung gestört. Da der
Rahmenpfad durch das Netz vorherbestimmt und statisch ist, werden
alle Rahmen, die durch diese ausgefallene Verknüpfung gelenkt werden, ihr Ziel
nicht erreichen und werden als verloren betrachtet. Wenn ein Knoten
A eine Leitwegtabelle hat, wo der in der Leitwegtabelle gespeicherte
einzige Leitweg vom Knoten A zum Knoten B erfordert, dass der Rahmen
durch die unterbrochene Verknüpfung
weitergeleitet wird, dann werden keine Rahmen erfolgreich vom Knoten
A gesendet und am Knoten B empfangen, obwohl andere Leitwege in dem
Netz verfügbar
sein können.
Wenn ein Knoten, ein Router oder eine Verknüpfung zum Netz hinzugefügt wird,
sollte die Leitwegtabelle ähnlich
modifiziert werden, um diese zusätzlichen
Netzelemente zu berücksichtigen.
Wenn ein Router betriebsunfähig
wird, dann geht der gesamte Verkehr verloren, der durch diesen Router
gelenkt wird. In den obigen Situationen muss die Leitwegtabelle
beispielsweise modifiziert werden, um die Änderung in der Netztopologie
zu reflektieren, z. B. ein zusätzlicher
Router, ein zusätzlicher
Knoten oder eine zusätzliche
Verknüpfung,
ein betriebsunfähiger
Router, ein betriebsunfähiger
Knoten oder eine betriebsunfähige
Verknüpfung.
Bei einigen herkömmlichen
Ursprungsknoten-Leitwegnetzen, wie oben beschrieben, kann jedoch
die Leitwegtabelle nur modifiziert werden, wenn der Knoten, in dem
die Leitwegtabelle vorliegt, oder das gesamte Netz nicht in Betrieb
ist.
-
Hinsichtlich
der Netzleistung und Knotenleistung ist es teuer, den Knoten für den Zweck
der Modifikation der Leitwegtabelle außer Betrieb zu setzen. Wenn
der Knoten ein hohes Volumen an Rahmenverkehr bearbeitet, ist es
möglich,
dass nur ein kleiner Prozentsatz an Rahmen von einer inoperativen
Verknüpfung
beeinträchtigt
wird, und durch das Ausschalten des Knotens wird der gesamte Verkehr
gestoppt, der zu dem und von dem Knoten fließt. Zusätzlich müssen auch alle Knoten, die
durch die inoperative Verknüpfung
lenken können,
den Betrieb stoppen, um ihre Leitwegtabellen zu modifizieren.
-
Auch
bei der adaptiven Directory Routing-Technik geht die Fähigkeit,
die Leitwegtabellen in Ursprungsknoten zu modifizieren, auf Kosten
einer verringerten Netzleistung und erhöhten Netzlatenz.
-
Was
benötigt
wird, ist ein System und ein Verfahren zum effizienten und dynamischen
Bestimmen der Topologie eines Ursprungsknoten-Leitwegnetzes, ohne
dass es erforderlich ist, den Betrieb des Netzes zu stoppen, oder
die Leistung des Netzes signifikant zu reduzieren. Das Verfahren
sollte einen minimalen Effekt auf die Netzleistung haben, ohne dass
teure Hardware erforderlich ist.
-
Die
US-5 485 578-A bezieht sich auf ein System zur Topologieentdeckung
in einem mehrfachen Ringnetz, wobei jeder Ring einen Brückenknoten
und beispielsweise eine Anzahl von Blattknoten hat. In dem System
gibt ein Ursprungsknoten PING-Symbole aus, die an spezifische, potentiell
existierende Zielknoten adressiert sind. Ein Echosymbol wird immer zurückgeführt. Der
Typ des Echosymbols identifiziert, ob der adressierte Knoten ein
Blattknoten, ein nicht existierender Knoten, ein operierender Brickenknoten
oder ein nicht operierender Brückenknoten
ist. PING auf Echotransformationen wird von den Brückenknoten
bearbeitet.
-
Die
DE-195 26 001-A bezieht sich auf ein Verfahren zur Netztopologieentdeckung
in einem ATM-Netz, das eine Vielzahl von ATM-Schaltern und ATM-Anschlüssen miteinander
verbindet, wobei die Schalter und Anschlüsse Ports aufweisen, die direkt mit
benachbarten Schaltern und Ports verbunden sind. U. a. wird für jeden
Port bestimmt, ob eine Netzknotenschnittstelle zur Verbindung von
zwei benachbarten Schaltern vorliegt, oder ob eine Benutzernetzschnittstelle
zur Verbindung eines Schalters und eines Anschlusses vorliegt, auf
welcher Basis das geeignete Datenkommunikationsprotokollformat entsprechend
der bestimmten Schnittstelle eingestellt wird.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren und ein System
zum dynamischen Bestimmen von Netztopologieinformationen eines Netzes
gemäß den Ansprüchen 1 und
9.
-
Die
vorliegende Erfindung ist ein System und ein Verfahren zum dynamischen
Bestimmen der Topologie eines Ursprungsknoten-Leitwegnetzes, wobei
es einen minimalen Effekt auf die Netzleistung ausübt, und
ohne dass teure Hardware zur Implementation erforderlich ist. In
der vorliegenden Erfindung generiert ein Ursprungsknoten einen PING-Rahmen.
Der PING-Rahmen schließt
einen speziellen Code in dem PING-Rahmenkopf ein, um einen PING-Rahmen
von einem Datenrahmen zu unterscheiden. Der Ursprungsknoten sendet
den PING-Rahmen zu einem ersten Router, der mit dem Ursprungsknoten
gekoppelt ist. Der erste Router identifiziert transparent den Rahmen
als PING-Rahmen und lenkt den PING-Rahmen zu einem internen Steuerrahmen-Handler.
Der Steuerrahmen-Handler schafft einen Echorahmen, der zum Ursprungsknoten
zurück
gesendet wird. Der erste Router identifiziert den Port, von dem
der PING-Rahmen
empfangen wird, und setzt diese Informationen in den Kopf des Echorahmens
zusammen mit einem Echorahmenidentifi kator. Der Körper des
Echorahmens schließt einen
ersten Routeridentifikationscode, die Identifikation des Ports,
von dem der PING-Rahmen empfangen wird, und Anschlussmöglichkeitsinformationen ein,
d. h. Informationen, die sich darauf beziehen, ob ein Netzelement
mit jedem Port des ersten Routers verbunden ist.
-
Der
Ursprungsknoten empfängt
den Echorahmen und identifiziert Router und Knoten, zu denen kein
PING-Rahmen gesendet wurde, auf der Basis der Anschlussmöglichkeitsinformationen
in dem empfangenen Echorahmen. Nach der Auswahl eines anderen Knotens
oder Routers, z. B. eines zweiten Routers, generiert der Ursprungsknoten
einen zweiten PING-Rahmen. Der zweite PING-Rahmen wird generiert
und operiert auf dieselbe Weise wie der erste PING-Rahmen. Der zweite
PING-Rahmen hat jedoch ein anderes Ziel, daher schließt der zweite
PING-Rahmen andere Informationen ein als der erste PING-Rahmen.
Dieser PING-Rahmen schließt
Leitweginformationen im Rahmenkopf ein, und schließt Rückweg-Leitweginformationen
im Rahmenkörper
ein, um die Leitwegentscheidungen zu minimieren, die von dem Router
getroffen werden müssen.
Der zweite PING-Rahmen
wird über
den ersten Router zum zweiten Router gesendet. Der zweite Router
bestimmt transparent, dass der Rahmen ein PING-Rahmen ist, und sendet
den Rahmen zu seinem Steuerrahmen-Handler. Der Steuerrahmen-Handler
zieht den PING-Rahmenkopf ab und schafft einen Echorahmenkopf aus
den Leitweginformationen in dem Körper des PING-Rahmens. Der zweite
Router identifiziert den Port, von dem der PING-Rahmen empfangen
wird, und setzt diese Informationen in den Kopf des Echorahmens
zusammen mit dem Echorahmenidentifikator. Der Körper des Echorahmens schließt einen
zweiten Routeridentifikationscode, die Portnummer dieses Routers, der
den PING-Rahmen empfangen hat, und Anschlussmöglichkeitsinformationen ein.
Dann sendet der zweite Router den Echorahmen zum Ursprungsknoten
zurück.
-
Der
Ursprungsknoten generiert und sendet weiterhin PING-Rahmen zu allen
Knoten und Routern im Netz. Der Ursprungsknoten identifiziert Schleifen
in der Topologie, um eine repetitive Prüfung zu vermeiden, und identifiziert
Verknüpfungs-
und Routerausfälle.
Die Topologieexplorationstechnik ist für die Router transparent. Die
Topologieexplorationstechnik kann während verkehrsschwachen Perioden
ohne Erhöhung
der Netzlatenz implementiert werden, oder die Technik kann während verkehrsstarken
Perioden implementiert werden und führt nur zu einer minimalen
Erhöhung
der Systemlatenz, da PING-Rahmen klein sind und transparent zum
Steuerrahmen-Handler des Zielrouters oder -knotens gesendet werden.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
1 ist
ein Beispiel einer Darstellung einer Ursprungsknoten-Leitwegnetztopologie,
die Knoten und Router einschließt,
gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung.
-
2 ist
eine detailliertere Darstellung eines Routers in einem Ursprungsknoten-Leitwegnetz
gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung.
-
3 ist
eine detailliertere Darstellung der Koppelpunktmatrix gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung.
-
4 ist
eine detailliertere Darstellung des Steuerrahmen-Handlers gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
5 ist
ein Flussdiagramm der Topologieexplorationstechnik gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung.
-
6 ist
ein Flussdiagramm einer PING-Rahmengene riertechnik gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung.
-
7 ist
ein Flussdiagramm einer Echorahmengeneriertechnik gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung.
-
8 ist
ein Flussdiagramm einer Topologieinformationsaktualisierungstechnik
gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung.
-
9(a) bis 9(g) sind
Beispiele der Topologieexplorationstechnik gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
10 ist
eine detailliertere Darstellung eines Knotens in einem Ursprungsknoten-Leitwegnetz gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Nun
wird eine bevorzugte Ausführungsform der
vorliegenden Erfindung mit Bezugnahme auf die Figuren beschrieben,
in denen ähnliche
Bezugszahlen identische oder funktionell ähnliche Elemente anzeigen.
In den Figuren entspricht/entsprechen auch die linkeste/n Ziffer/n
jeder Bezugszahl der Figur, in der die Bezugszahl zum ersten Mal
verwendet wird.
-
1 ist
ein Beispiel einer Darstellung einer Ursprungsknoten-Leitwegnetztopologie,
die Knoten und Router einschließt,
gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung. Das Netz in 1 schließt acht
Knoten 102, d. h. Knoten A–H 102A–H,
und sieben Router 104A–F ein.
Jeder Knoten 102 und jeder Router 104 hat einen
einzigartigen Identifikationscode, der von dem Ursprungsknoten verwendet
wird, um Router und Topologieschleifen in der Topologieexplorationstechnik
zu identifizieren. Der Identifikationscode für den ersten Router 104A ist
beispielsweise 20. Die Knoten und Router, zusammen mit den Netzelementen, sind
durch Verknüpfungen 106 verbunden.
Jede Verknüpfung 106 ist
eine Vollduplex-Kommunikationssignalleitung. Das heißt, jede
Verknüpfung
kann gleichzeitig zwei unabhängige
Signale in entgegengesetzte Richtungen tragen, d. h. ein Signal
wird durch den Router 104A von dem Ursprungsknoten 102A empfangen,
und ein Signal wird gleichzeitig durch den Router 104A zum
Ursprungsknoten 102A gesendet. Demgemäß kann jede Verknüpfung 106 als
zwei Halbduplex-Kommunikationssignalleitungen repräsentiert
werden, wie im Nachstehenden mit Bezugnahme auf 2 und 10 gezeigt
und beschrieben. Die vorliegende Erfindung ist, wie im Nachstehenden
beschrieben, ein System und ein Verfahren, das es jedem Knoten 102 ermöglicht,
die Topologie eines Netzes dynamisch zu bestimmen.
-
2 ist
eine detailliertere Darstellung eines Routers in einem Ursprungsknoten-Leitwegnetz
gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung. 2 schließt sechs
Ports 202A–F ein.
In alternativen Ausführungsformen schließt der Router
eine andere Anzahl von Ports ein, z. B. zwei Ports oder dreißig Ports.
Jeder Port, z. B. Port 1 202A, ist mit der Duplex-Kommunikationssignalleitung 106 gekoppelt.
Jeder Port 202 ist auch mit den Entscheidungseinheiten 204 verbunden.
Die Entscheidungseinheiten 204 werden im Nachstehenden
detaillierter beschrieben und mit Bezugnahme auf eine gleichzeitig
anhängige
Patentanmeldung mit dem Titel "METHOD
AND APPARATUS FOR COORDINATING ACCESS TO AN OUTPUT OF A ROUTING
DEVICE IN A PACKET SWITCHING NETWORK", eingereicht am 22. Februar 1996 von
Jeffrey D. Larson, Albert Mu und Thomas M. Wicki, die oben als Querverweis
angegeben wurde. Jeder Port ist mit einem Kreuzschienenschalter 206 über Puffersignalleitungen 210 verbunden.
Der Betrieb des Kreuzschienenschalters 206 wird im Nachstehenden
mit Bezugnahme auf 3 detaillierter beschrieben
und ist beschrieben, in einer geringfügig modifi zierten Form, in
der gleichzeitig anhängigen
Patentanmeldung mit dem Titel "CROSSBAR
SWITCH AND METHOD WITH REDUCED VOLTAGE SWING AND NO INTERNAL BLOCKING
DATA PATH", eingereicht
am 22. Februar 1996 von Albert Mu und Jeffrey D. Larson, die oben
als Querverweis angegeben wurde. In der bevorzugten Ausführungsform
schließt
jede Puffersignalleitung 210A sechs Verbindungssignalleitungen
zum Verbinden jedes Puffers, im Nachstehenden beschrieben, mit dem
Kreuzschienenschalter 206 ein. Der Betrieb des Routers 104 wird
im Nachstehenden mit Bezugnahme auf die 3 bis 9 detaillierter beschrieben.
-
10 ist
eine detailliertere Darstellung eines Knotens, z. B. Knoten A 102A,
in einem Ursprungsknoten-Leitwegnetz gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung. 10 enthält die Abschnitte
des Knotens A 102A, die in den Topologieexplorationsprozess
involviert sind. Der Knoten ist mit einer oben beschriebenen Duplex-Kommunikationssignalleitung 106A gekoppelt.
Ein Rahmen wird vom Port 1 1006 empfangen. Der Betrieb
des Ports 1 1006 ist ähnlich
dem Betrieb der im Nachstehenden beschriebenen Ports 202.
Der Port 1 1006 bestimmt, ob ein empfangener Rahmen ein
Datenrahmen, ein PING-Rahmen oder ein Echorahmen ist, wie im Nachstehenden
beschrieben. Wenn der Rahmen ein PING-Rahmen ist, wird der Rahmen
zum Steuerrahmen-Handler 310 gesendet. Der Steuerrahmen-Handler 310 wird
im Nachstehenden detaillierter beschrieben. Wenn der Rahmen ein
Datenrahmen ist, wird der Rahmen zu einer Dateneinheit 1002 gesendet.
Wenn der Rahmen ein Echorahmen ist, wird der Rahmen zur PING-Einheit 1004 gesendet.
Die PING-Einheit 1004 liest die in dem Echorahmen eingeschlossenen
Informationen und aktualisiert die Leitwegtabelle auf der Basis
dieser Informationen. Zusätzlich
generiert die PING-Einheit 1004 den PING-Rahmen. Der Steuerrahmen-Handler 310 und
die PING-Einheit 1004 können entweder
in Hardware oder Software implementiert werden. Der Betrieb der
PING-Einheit 1004 wird im Nachstehenden detaillierter beschrieben.
-
3 ist
eine detailliertere Darstellung des Routers 104 und der
Koppelpunktmatrix 206 gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung. Jeder Port 202 des Routers 104 schließt einen
Porteingang 302, z. B. Port 1-Eingang 302A, ein. Jeder Porteingang 302 schließt beispielsweise sechs
Puffer (nicht gezeigt) ein, die an dem Porteingang 302 empfangene
Rahmen speichern. Jeder Puffer ist mit dem Kreuzschienenschalter 206 gekoppelt.
Um die 3 zu vereinfachen, ist nur die Puffersignalleitung 210 gezeigt,
die jeden Port 302 mit dem Kreuzschienenschalter 206 koppelt.
Jeder Port hat, wie oben beschrieben, sechs Puffer, und jeder Puffer ist
mit dem Kreuzschienenschalter 206 über eine Puffersignalleitung 210 verbunden.
Demgemäß schließt jeder
der sechs Ports 202 sechs Verbindungen für insgesamt
36 Puffersignalleitungen 210 ein. Ähnlich ist jede der 36 Puffersignalleitungen 210 mit
sieben Koppelpunktschaltungen 306 verbunden. Um die 3 zu
vereinfachen, sind nur sieben der Koppelpunktschaltungen 306 für jeden
Port 202 gezeigt.
-
Der
Router 104 schließt
sieben Entscheidungseinheiten 304 ein. Sechs dieser Entscheidungseinheiten 304A–F sind
mit Ausgangssignalleitungen 212A–F über Kreuzschienenschalter-Ausgangssignalleitungen 312A–F gekoppelt.
Die siebente Entscheidungseinheit ist mit einem Steuerrahmen-Handler 310 über eine
Kreuzschienenschalter-Ausgangssignalleitung 312G gekoppelt.
Zusätzlich
ist die siebente Entscheidungseinheit 304G direkt mit dem
Steuerrahmen-Handler 310 über eine Steuerleitung 308 gekoppelt.
Die Kreuzschienenschalter-Ausgangssignalleitungen 312A–G sind
mit jeder Ausgangssignalleitung 212 über eine Koppelpunktschaltung 306 verbunden.
-
Nun
wird ein allgemeiner Überblick
des Betriebs des Routers 108 gegeben. Ein Rahmen wird in einem
Port 202 eines Routers 104 empfangen, z. B. Port
1 202A. Der Rahmen wird von einem Datensynchronisierer
(nicht gezeigt) empfangen, der auf der Basis von Informationen in
dem Rahmenkopf bestimmt, ob der empfangene Rahmen ein Datenrahmen
oder ein PING-Rahmen ist. Wenn der empfangene Rahmen ein Datenrahmen
ist, wird der Datenrahmen in einem Puffer in dem Port 1-Eingang 302A gespeichert.
Die Entscheidungseinheiten 304 bestimmen, ob die Daten
in jedem Puffer zu einem anderen Knoten oder Puffer durch einen
Port 202 gesendet werden können. Wenn ein Datenrahmen
am Port 1 202A empfangen wird, wird der Ausgangsport, zu
dem der Datenrahmen zu senden ist, von der Entscheidungseinheit 304 bestimmt.
Wenn die Entscheidungseinheit 304 anzeigt, dass ein Datenrahmen
am Ausgangsport gesendet werden kann, koppelt die Entscheidungseinheit
den Puffer, der den Datenrahmen aufweist, mit dem geeigneten Ausgangsport
unter Verwendung des Kreuzschienenschalters 206. Eine detailliertere
Beschreibung des Betriebs des Kreuzschienenschalters 206 ist
vorgesehen in der oben angegebenen Patentanmeldung mit dem Titel "CROSSBAR SWITCH AND
METHOD WITH REDUCED VOLTAGE SWING AND NO INTERNAL BLOCKING DATA
PATH", eingereicht
am 22. Februar 1996 von Albert Mu und Jeffrey D. Larson. Eine detailliertere
Beschreibung des Betriebs der Entscheidungseinheiten 304 ist
vorgesehen in der oben angegebenen Patentanmeldung mit dem Titel "METHOD AND APPARATUS
FOR COORDINATION ACCESS TO AN OUTPUT OF A ROUTING DEVICE IN A PACKET
SWITCHING NETWORK";
eingereicht am 22. Februar 1996 von Jeffrey D. Larson, Albert Mu
und Thomas M. Wicki.
-
Wenn
der empfangene Rahmen ein PING-Rahmen ist, wird der PING-Rahmen
in einem Puffer gespeichert, und die siebente Entscheidungseinheit 304G verbindet
den PING-Rahmen mit dem Steuerrahmen-Handler 310 über eine
Koppelpunktschaltung 306. Demgemäß bearbeitet der Kreuzschienenschalter 208 einen
PING-Rahmen transparent, da er auf die gleiche Weise wie Datenrahmen geschaltet
wird. Anstatt zu einem Ausgangsport geschaltet zu werden, wird der
PING-Rahmen jedoch zu einem Steuerrahmen-Handler 310 geschaltet,
und der Kreuzschienenschalter 208 kann gleichzeitig andere
Rahmen, die in anderen Puffern gespeichert sind, zur geeigneten
Ausgangssignalleitung 212 schalten. Der PING-Rahmen wird
von dem Steuerrahmen-Handler 310 empfangen. Der Steuerrahmen-Handler 310 schafft
einen Echorahmen, der Routerinformationen, Empfängerportinformationen und Verbindungsinformationen
einschließt.
Dann sendet der Steuerrahmen-Handler 310 den Echorahmen zum
Ursprungsknoten zurück.
Der Betrieb des Steuerrahmen-Handlers 310 und der Betrieb
des Routers beim Empfang eines PING-Rahmens und beim Senden eines
Echorahmens werden im Nachstehenden mit Bezugnahme auf die 4 bis 9 beschrieben.
-
4 ist
eine detailliertere Darstellung des Steuerrahmen-Handlers 310 gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung. Der Steuerrahmen-Handler 310 schließt ein Routerinformationsmodul 402,
ein Anschlussmöglichkeitsmodul 404,
ein Echorahmenkopfregister 406 und einen Echorahmengenerator 408 ein.
Das Anschlussmöglichkeitsmodul 404 schließt den Routeridentifikatiosncode
ein. Das Anschlussmöglichkeitsmodul 404 schließt Informationen
ein, die detailliert darlegen, wie jeder Port 202 angeschlossen
ist, d. h. ob ein Port 202 mit einem anderen Port oder
Knoten verbunden ist, oder ob der Port nicht verbunden (offen) ist.
Das Echorahmenkopfregister 406 speichert Echorahmenkopfinformationen.
Das Echorahmenkopfregister 406, wie im Nachstehenden beschrieben,
schließt die
ersten 8,5 Bytes an Informationen in dem PING-Rahmenkörper ein,
d. h. die ersten 8,5 Bytes nach dem PING-Rahmenkopf. Der Echorahmengenerator 408 generiert
den Echorahmen ansprechend auf einen PING-Rahmen. Das Echorahmenkopfregister 406 empfängt den
PING-Rahmen über
die Kreuzschienenschalter-Signalleitung 312G, und empfängt Informationen
von dem Routerinformationsmodul 402, dem Anschlussmöglichkeitsmodul 404 und
dem Echorahmenkopfregister 406. Zusätzlich empfängt der Echorahmengenerator 408 ein Steuersignal 308 von
der siebenten Entscheidungseinheit 304G, das einen Empfängerportidentifikator einschließt. Der
Empfängerportidentifikator
identifiziert den Port, von dem der PING-Rahmen empfangen wird.
Die siebente Entscheidungseinheit 304G sendet den Empfängerportidentifikator
zum Echorahmengenerator 408, der diese Informationen in
den Echorahmenkopf setzt, so wird der Rahmen unter Verwendung desselben
Leitwegs wie der PING-Rahmen zum Ursprungsknoten zurück gesendet.
Zusätzlich
wird der Empfängerportidentifikator
in dem Echorahmen gespeichert, der Empfängerportidentifikator wird
von dem Ursprungsknoten bei der Bestimmung zukünftiger Leitweginformationen
für Echoknoten
genutzt, wie in dem PING-Rahmenkörper
gespeichert. Der Betrieb des Echorahmengenerators wird im Nachstehenden
mit Bezugnahme auf die 5 bis 9 detaillierter
beschrieben.
-
5 ist
ein Flussdiagramm der Topologieexplorationstechnik der bevorzugten
Ausführungsform
der vorliegenden Erfindung. Die Technik wird mit Bezugnahme auf 1 und
die 9(a) bis 9(g) beschrieben.
Die 9(a) bis 9(g) sind Beispiele
der Topologieexplorationstechnik gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung. Die vorliegende Erfindung kann in Situationen
verwendet werden, wo eine Leitwegtabelle in einem Ursprungsknoten,
z. B. einem Ursprungsknoten 102A, zur Boot-Zeit des Systems
initialisiert werden muss oder nicht genau ist und modifiziert werden sollte.
Eine Modifikation der Leitwegta belle kann beispielsweise auftreten,
wie oben beschrieben, wenn eine Verknüpfung inoperativ ist, eine
weitere Verknüpfung,
ein weiterer Router oder ein weiterer Knoten zum Netz hinzugefügt wird
oder daraus gelöscht wird,
oder wenn eine oder mehrere Verknüpfungen eine Transmissionsverzögerung aufgrund
eines starken Verkehrsflusses verursachen. Gelegentlich wird, wie
oben beschrieben, eine Netzverknüpfung
zwischen einem Knoten und einem Router oder zwischen zwei Routern
inoperativ, und daher wird der Rahmenverkehr quer über diese
ausgefallene Verknüpfung
gestört.
Da der Rahmenpfad durch ein Ursprungsknoten-Leitwegnetz vorherbestimmt
und statisch ist, werden alle Rahmen, die durch diese ausgefallene
Verknüpfung
gelenkt werden, ihr Ziel nicht erreichen und als verloren betrachtet.
Wenn der Ursprungsknoten 102A eine Leitwegtabelle hat,
wo nur ein Leitweg von dem Ursprungsknoten 102A zu einem
Zielknoten, z. B. Knoten 102F, in der Leitwegtabelle gespeichert
ist, und eine Verknüpfung
auf diesem Leitweg ausfällt,
dann wird kein Verkehr erfolgreich von dem Ursprungsknoten 102A zum
Zielknoten 102F gesendet. Es kann jedoch alternative Leitwege
geben, die verwendet werden können,
und die zu einer erfolgreichen Transmission führen würden. In dieser Situation muss
die Leitwegtabelle modifiziert werden, um einen alternativen Leitweg
durch das Ursprungsknoten-Leitwegnetz zu identifizieren. Wenn ein
Knoten, ein Router oder eine Verknüpfung zum Netz hinzugefügt wird,
sollte ähnlich
die Leitwegtabelle modifiziert werden, um diese zusätzlichen Netzelemente
zu berücksichtigen.
Wenn ein Router inoperativ wird, dann geht der gesamte durch diesen Router
gelenkte Verkehr verloren. In den obigen Situationen sollte die
Leitwegtabelle modifiziert werden, um die Änderung in der Netztopologie
zu reflektieren.
-
In
einer Ausführungsform
der vorliegenden Erfindung werden das Topologieexplorationssystem und
Verfahren in einem Ursprungsknoten-Leitwegnetz in einem System verwendet,
das eine Architektur physisch verteilter, jedoch logisch gemeinsam
genutzter Speicher aufweist. Demgemäß kann ein Knoten, z. B. ein
Verarbeitungsknoten, einen Zugriff auf einen Speicherort anfordern,
der physisch an einem anderen Ort lokalisiert ist und mit einem
anderen Knoten gekoppelt ist. Der anfordernde Knoten oder Ursprungsknoten
identifiziert den Ort des Speichers, und das Netz fragt rasch die
Daten ab. Wenn eine Verknüpfung
inoperativ ist, wird die Datenanforderung nicht erfolgreich sein.
In einem solchen System ist es teuer, das gesamte System auszuschalten,
um die Leitwegtabellen in einem oder mehreren Knoten zu modifizieren,
wie es in herkömmlichen
Systemen erforderlich ist, oder die Leitwegtabellen unter Verwendung
einer Technik zu modifizieren, die die Latenz des Netzes erhöht, z. B.
in einem System, wo die Router 104 Leitwegentscheidungen
treffen. Die vorliegende Erfindung ist ein System und ein Verfahren
zum dynamischen Bestimmen der Topologie des Netzes und Aktualisieren
der Leitwegtabellen, ohne in die Ausführung und Latenz des Systems
signifikant einzugreifen.
-
Die
Topologieexplorationsprozedur der vorliegenden Erfindung kann auf
vielen Wegen ausgelöst
werden, einschließlich
zur System-Boot-Zeit, wobei eine vorherbestimmte Anzahl konsekutiv
gesendeter Rahmen "verloren" gehen, und der Vornahme der
Prozedur nach einer vorherbestimmten Zeitperiode. Mit Bezugnahme
auf 9(a) ist die Netztopologie gezeigt,
die dem Ursprungsknoten 102A vor dem Senden des ersten
PING-Rahmens bekannt
ist. Das heißt,
der Ursprungsknoten 102A weiß, dass er mit einem Schaltungselement,
z. B. einem Knoten oder einem Router, verbunden ist, er hat jedoch
keinerlei spezifische Informationen, die dieses Element beschreiben.
Der Ursprungsknoten beginnt den Topologieexplorationsprozess durch
das Generieren 502 eines PING-Rahmens. Die PING-Rah mengeneriertechnik
wird im Nachstehenden mit Bezugnahme auf 6 und 9(b) detaillierter beschrieben.
-
6 ist
ein Flussdiagramm einer PING-Rahmengeneriertechnik gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung. Der Ursprungsknoten 102A bestimmt 602 das
Zielelement. Bei der Generierung eines ersten PING-Rahmens 902A,
wie in 9(b) gezeigt, wählt ein
Ursprungsknoten 102A, der nur eine einzige Verbindung mit
den übrigen
Netzelementen aufweist, das einzige damit verbundene Element aus.
Der Ursprungsknoten 102A generiert 604 einen PING-Rahmenkopf 904A.
Der PING-Rahmenkopf 904A schließt Leitweginformationen und
einen PING-Rahmenidentifikationscode ein. In der bevorzugten Ausführungsform
ist der PING-Rahmenidentifikationscode eine Dreibit-Binärdarstellung
des Werts 7, d. h. 111, und er ist in den drei höchstwertigen Bits des Rahmenkopfs
lokalisiert, obwohl der genaue Ort dieser Bits in alternativen Ausführungsformen
verschieden sein kann. In der bevorzugten Ausführungsform identifizieren die
ersten drei Bits den Ausgangsport, dem ein Empfängerrouter den Rahmen senden
wird. Diese drei Bits identifizieren die Entscheidungseinheit 304,
um den Rahmen mit dem geeigneten Ausgangsport zu verbinden. Wenn
beispielsweise die drei Bits eine Binärdarstellung von 1 repräsentieren, dann
wird der ersten Entscheidungseinheit 304A gemeldet, dass
Daten in einem bestimmten Puffer gespeichert werden, die unter Verwendung
des Ausgangsports 1 ("O1" in 3)
auszugeben sind.
-
Wenn
die Leitweginformationen eine Binärdarstellung von 7 sind, identifizieren
diese drei Bits die siebente Entscheidungseinheit 304G.
Die siebente Entscheidungseinheit 304G veranlasst den Kreuzschienenschalter 206,
den Puffer mit dem Steuerrahmen-Handler 310 zu verbinden,
durch die Aktivierung einer geeigneten Koppelpunktschaltung 306,
wie im Nachstehenden beschrieben. Eine Dreibit-Binärdarstellung
von Null meldet dem Empfängerelement, dass
der empfangene Rahmen sein Ziel erreicht hat, wenn das Empfängerelement
ein Knoten ist, oder dass eine Fehlerbedingung aufgetreten ist,
z. B. ein Transmissionsfehler oder ein fehlerhafter Eintrag in der
Leitwegtabelle, wenn das Element ein Router ist. Demgemäß ist der
erste PING-Rahmenkopf 904A in 9(b) gezeigt
und hat die drei höchstwertigen
Bits gleich 111, und die nächsten
drei höchstwertigen
Bits gleich 000. Der Ursprungsknoten 102A generiert 606 einen
Rahmenkörper 906A,
der Leitweginformationen für
den Echorahmen einschließt,
wie im Nachstehenden beschrieben. Es sind jedoch keine solchen Leitweginformationen
für den
ersten PING-Rahmen erforderlich, da der erste Echorahmen direkt
zum Ursprungsknoten über
denselben Port gesendet wird, über
den er empfangen wird. Daher schließt der erste PING-Rahmenkörper 906A keinerlei
Leitweginformationen ein. Nach dem Generieren 502 des ersten PING-Rahmens
sendet 504 der Ursprungsknoten den PING-Rahmen.
-
Der
PING-Rahmen wird vom Zielelement, z. B. dem Router 104A,
empfangen 506. Der PING-Rahmenkopf 904A wird,
wie oben beschrieben, von dem Porteingang, z. B. dem Port 3-Eingang des
Routers 104A, gelesen, der der siebenten Entscheidungseinheit 304G meldet,
dass ein PING-Rahmen empfangen wird. Der Port 3-Eingang identifiziert den
Rahmen als PING-Rahmen durch den Wert von drei höchstwertigen Bits in dem Rahmenkopf 904A, d.
h. 111. Die siebente Entscheidungseinheit 304G weist die
Koppelpunktschaltung 306C an, die siebenten Kreuzschienenschalter-Ausgangssignalleitungen 312G und
den Eingangsport 302C zu verbinden, um den PING-Rahmen 902A zu
senden. Als Ergebnis wird der PING-Rahmen 902A von dem
Steuerrahmen-Handler 310 empfangen. Der Steuerrahmen-Handler 310 generiert 510 einen
ersten Echorahmen ansprechend auf den ersten PING-Rahmen. Die Echorahmengeneriertechnik wird
im Nachstehenden mit Bezugnahme auf 7 und die 9(b)–(c) beschrieben.
-
7 ist
ein Flussdiagramm einer Echorahmengeneriertechnik gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung. Der Steuerrahmen-Handler 310 empfängt von
der Entscheidungseinheit 304G über die Steuersignalleitung 308 den
Eingangsport 302, von dem der PING-Rahmen empfangen wurde.
Das Routerinformationsmodul 402 schließt den einzigartigen Identifikationscode des
Routers ein, z. B. ist der Routeridentifikationscode für den ersten
Router 104A 20. Der Steuerrahmen-Handler 310 zieht 702 den
PING-Rahmenkopf von dem PING-Rahmen ab und speichert die erste Zeile
des ersten PING-Rahmenkörpers 906A in
dem Echorahmenkopfregister 406. In der bevorzugten Ausführungsform
hat der Echorahmenkopf 8,5 Bytes. Der Steuerrahmen-Handler 310 fragt
die Anschlussmöglichkeitsinformationen
des Routers aus dem Anschlussmöglichkeitsmodul 404 ab.
Die Anschlussmöglichkeitsinformationen
identifizieren den Status jedes Ports, d. h. ob ein Netzelement
damit verbunden ist. Für
den ersten Router 104A sind beispielsweise die Ports 1,
2, 3 und 5 mit einem Netzelement verbunden, und die Ports 4 und
6 sind nicht verbunden. Der Steuerrahmen-Handler 310 empfängt auch ein
Steuersignal von der siebenten Entscheidungseinheit 304G auf
der Steuersignalleitung 308.
-
Nach
dem Empfang des Steuersignals schafft 704 der Echorahmengenerator 408 den Echorahmen 908A.
Die drei höchstwertigen
Bits des Echorahmenkopfs 910A sind gleich dem Port, von dem
der erste PING-Rahmen empfangen wurde, d. h. Port 3 oder binär 011. Da
der ersten Router 104A direkt mit dem Ursprungsknoten 102A über den
dritten Port verbunden ist, sind die nächsten drei höchstwertigen
Bits 000 und repräsentieren,
dass der Echorahmen sein Ziel erreicht hat. Der Echorahmenkopf 910 schließt auch
einen Flaggenidentifikator ein, der z. B. in dem niedrigstwertigen
Bit des Echorahmenkopfs lokalisiert ist, und der den Rahmen als Echorahmen
im Gegensatz zu einem Datenrahmen identifiziert. Dann schafft 706 der
Echorahmengenerator den Echorahmenkörper 912A. Der Echorahmenkörper schließt den Routeridentifikationscode,
z. B. 20, den Empfängerportidentifikator,
z. B. Port 3, und die Anschlussmöglichkeitsinformationen
ein. Der Echorahmengenerator 408 sendet 512 den
ersten Echorahmen 908A zum Ursprungsknoten über den Port
3, wie in dem Echorahmenkopf 910A identifiziert. Der erste
Echorahmen wird vom Ursprungsknoten 102A empfangen 514,
und der Ursprungsknoten 102A aktualisiert 516 seine
Netztopologieinformationen.
-
8 ist
ein Flussdiagramm der Topologieinformationsaktualisierungstechnik
gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung. Der Ursprungsknoten 102A identifiziert 802 beliebige
Topologieschleifen. Diese Identifikation wird durch das Vergleichen
von Netzelementidentifikationscodes erzielt. Dann modifiziert 804 der
Ursprungsknoten die Netztopologieinformationen unter Verwendung
des Routeridentifikationscodes und der Anschlussmöglichkeitsinformationen. 9(d) veranschaulicht die Netztopologie, die dem
Ursprungsknoten 102A nach dem Empfang des ersten Echorahmens
bekannt ist. Der Knoten A weiß,
dass er mit einem ersten Router 104A, der einen Identifikationscode
20 aufweist, über
den Port 3 des ersten Routers 104A verbunden ist. Die Ports
1, 2 und 5 des ersten Routers 104A sind mit anderen Netzelementen
verbunden, die Ports 4 und 6 des ersten Routers 104A sind
nicht verbunden, und der Port 3 ist mit dem Ursprungsknoten 102A verbunden.
Der Ursprungsknoten 102A untersucht die Topologieinformationen und
bestimmt 518, ob alle Netzelemente des Netzes exploriert
wurden. In dem vorliegenden Beispiel wurden die mit den Ports 1,
2 und 5 des ersten Routers 104A verbundenen Elemente nicht
exploriert. Daher wird eines dieser nicht explorierten Elemente
ausgewählt,
d. h. das Netzelement, das mit dem Port 1 des ersten Routers 104A verbunden
ist, und die Schritte 502–518 werden wiederholt,
wie im Nachstehenden beschrieben.
-
Da
nicht alle Netzelemente exploriert wurden, generiert 502 der
Ursprungsknoten 102A einen zweiten PING-Rahmen. Die Technik
zum Generieren eines zweiten PING-Rahmens ist dieselbe wie die Technik
zum Generieren des ersten PING-Rahmens, wie oben angegeben. Die
Unterschiede zwischen dem ersten PING-Rahmen und dem zweiten PING-Rahmen
schließen
die PING-Rahmen-Leitweginformationen in dem PING-Rahmenkopf und
die Echorahmen-Leitweginformationen in dem PING-Rahmenkörper ein.
Die Technik zum Generieren des zweiten PING-Rahmens wird im Nachstehenden
mit Bezugnahme auf 6 und 9(e) beschrieben.
Der Ursprungsknoten 102A bestimmt die Leitweginformationen
auf der Basis der aktualisierten Anschlussmöglichkeitstopologieinformationen.
Der Leitweg des PING-Rahmens vom Ursprungsknoten 102A zum
Zielelement ist vom Ursprungsknoten zum ersten Router 104A,
dann durch den Port 1 des ersten Routers 104A zum Zielelement,
das mit dem ersten Router 104A verbunden ist. Der Ursprungsknoten 102A generiert 604 den
zweiten PING-Rahmenkopf 904B auf der Basis dieser Leitweginformationen.
Spezifisch entsprechen die drei höchstwertigen Bits des zweiten
PING-Rahmenkopfs 904B dem Port in dem ersten Router 104A,
durch den der zweite PING-Rahmen 902B gesendet
wird, d. h. Port 1. Demgemäß sind diese
drei Bits eine Binärdarstellung von
1, d. h. 001. Die nächsten
drei höchstwertigen Bits,
d. h. die drei höchstwertigen
Bits, die in dem zweiten PING-Rahmenkopf 904B zurückbleiben, nachdem
die vorhergehenden drei Bits vom ersten Router 104A abgezogen
werden, sind eine Binärdarstellung
von 7, d. h. 111, da das zweite Netzelement diese Bits lesen wird,
und bestimmen wird, dass der empfangene Rahmen ein PING-Rahmen ist,
wie oben beschrieben. Der Ursprungsknoten 102A generiert 606 auch
einen zweiten PING-Rahmenkörper 906B.
Die erste Zeile des zweiten PING-Rahmenkörpers 906B schließt Leitweginformationen
für den Echorahmen
ein, wie oben beschrieben. Die Echorahmen-Leitweginformationen werden
von dem Ursprungsknoten 102A anstelle des Zielknotens bestimmt,
um die in dem Zielknoten notwendige Logik zu minimieren. Die ersten
drei Bits dieser Zeile sind der Port, durch den der zweite PING-Rahmen 902B in
dem zweiten Element empfangen wird. Dieser Port sendet auch den
zweiten Echorahmen von dem zweiten Element zum ersten Router 104A.
Der Ursprungsknoten 102A hat diese Portinformationen noch
nicht, diese drei Bits sind daher "irrelevante" Bits, und werden durch ein "X" repräsentiert. Die nächsten drei
höchstwertigen
Bits repräsentieren
jedoch den Leitweg, den der Echorahmen nehmen wird, wenn er von
dem ersten Router 104A empfangen wird. Der Echorahmen wird
von dem ersten Port des ersten Routers 104A empfangen und
wird zum Ursprungsknoten 102A durch den dritten Port gesendet.
Demgemäß repräsentieren
die nächsten
drei Bits eine Binärdarstellung
von 3, d. h. 011. Nachdem der ersten Router 104A den zweiten
Echorahmen durch den Port 3 lenkt, wird der Echorahmen von dem Ursprungsknoten 102A empfangen.
Der Ursprungsknoten interpretiert, dass eine Dreibit-Darstellung
von Null, d. h. 000, bedeutet, dass der Rahmen sein Ziel erreicht
hat, wie oben beschrieben. Daher ist der zweite PING-Rahmen 902B gleich
dem in 9(e) gezeigten Wert. Nach dem
Generieren des zweiten PING-Rahmens 902B sendet 504 der
Ursprungsknoten 102A diesen zweiten PING-Rahmen 902B zum
ersten Router 104A.
-
Der
erste Router 104A empfängt
den zweiten PING-Rahmen 902B und liest den zweiten PING-Rahmenkopf 904B.
Die ersten drei Bits des zweiten PING-Rahmenkopfs 904B identifizieren den Port,
durch den der zweite PING-Rahmen 902B gesendet werden soll.
Diese drei Bits sind gleich 001, wie oben beschrieben. Demgemäß zieht
der erste Router 104A diese drei Bits von dem PING-Rahmenkopf 904B ab,
nimmt Dreibit-Schiebeoperationen an den verbleibenden Leitwegbits
vor, und lenkt den modifizierten zweiten PING-Rahmen 902B zu
dem Netzelement, das mit dem Port 1 des ersten Routers 104A verbunden
ist. Dieses Netzelement ist ein zweiter Router 104D. Der
zweite Router 104D empfängt 506 den
modifizierten zweiten PING-Rahmen 902B und liest den zweiten
PING-Rahmenkopf 904B. Die ersten drei Bits sind nun gleich
111. Da diese Bits gleich 111 sind, wie oben beschrieben, wird der
zweite PING-Rahmen
zu einem Steuerrahmen-Handler 310 in dem zweiten Router 104D gelenkt.
Der zweite Router 104D generiert einen zweiten Echorahmen 908B unter
Verwendung der oben beschriebenen Technik. Nach dem Empfang eines
Steuersignals von der siebenten Entscheidungseinheit 304G in dem
zweiten Router 104D zieht 702 der Echorahmengenerator 408 spezifisch
den zweiten PING-Rahmenkopf 904B ab, und schafft einen
zweiten Echorahmenkopf 910B. Die drei höchstwertigen Bits des zweiten
Echorahmenkopfs repräsentieren den
Port, durch den der zweite Echorahmen 908B anfänglich gesendet
wird, d. h. den Port 5 oder binär 101.
Die nächsten
zwei Sätze
von Dreibit-Feldern sind gleich 011 und 000, wie von dem Ursprungsknoten 102A eingestellt,
wie oben beschrieben. Der zweite Echorahmenkopf 910B schließt auch
eine Flagge ein, die dem Ursprungsknoten 102A anzeigt, dass
der empfangene Rahmen ein Echorahmen im Gegensatz zu einem Datenrahmen
ist. Der zweite Router 104D schafft 706 auch einen
zweiten Echorahmenkörper 912B.
Der zweite Echorahmenkörper 912B schließt einen
Identifikationscode des zweiten Routers 104D, z. B. 23,
und den Eingangsportidentifikator, d. h. Port 5, ein. Der zweite
Echorahmenkörper 912B schließt auch
die Anschlussmög lichkeitsinformationen
für den
zweiten Router 104D ein. Spezifisch zeigen die Anschlussmöglichkeitsinformationen
an, dass alle sechs Ports des zweiten Routers 104D in Verwendung
stehen.
-
Der
zweite Router 104D sendet 512 den zweiten Echorahmen 908B zum
ersten Router 104A durch den Port 5 des zweiten Routers 104D.
Der erste Router 104A empfängt den zweiten Echorahmen 908B,
liest den Echorahmenkopf 910B, um den nächsten Port zu identifizieren,
zu dem der zweite Echorahmen 908B zu lenken ist, zieht
die ersten drei Bits des zweiten Echorahmenkopfs 908B ab,
und verschiebt die übrigen
Routerbits, wie oben beschrieben. Der zweite Router 104D identifiziert
den zweiten Echorahmen 908B nicht als Echorahmen. Stattdessen
wird der zweite Echorahmen 908B von dem ersten Router 104A behandelt,
als wäre
er ein Datenrahmen. Demgemäß muss der
erste Router 104A den zweiten PING-Rahmen 902B oder
zweiten Echorahmen 908B nicht anders behandeln als Datenrahmen. Dieses
Merkmal reduziert die Hardware-Komplexität und reduziert die Netzlatenz
verglichen mit Netzen, die zusätzliche
Logik für
die Vornahme dieser Funktionen erfordern. Der erste Router 104A sendet
den zweiten Echorahmen 908B zum Ursprungsknoten 102A über den
Port 3 des ersten Routers 104A, wie in dem zweiten Echorahmenkopf 910B angezeigt. Der
Ursprungsknoten 102A empfängt 514 den zweiten
Echorahmen 908B und aktualisiert 516 die Topologieinformationen.
Der Schritt der Aktualisierung 516 der Topologieinformationen
ist detaillierter in 8 beschrieben, wie oben beschrieben.
Der Ursprungsknoten identifiziert 802 beliebige Topologieschleifen.
In diesem Beispiel wurden keine Topologieschleifen identifiziert.
Wenn eine Topologieschleife existiert, identifiziert der Ursprungsknoten
diese Schleife durch das Vergleichen der Netzelementidentifikationscodes.
Wenn zwei Identifikationscodes überein stimmen,
dann setzt der Ursprungsknoten 102A diese beiden Elemente
gleich, wie im Nachstehenden beschrieben.
-
Dann
modifiziert der Ursprungsknoten 102A die Netztopologieinformationen
unter Verwendung des Routeridentifikationscodes und der Anschlussmöglichkeitsinformationen. 9(g) veranschaulicht die Netztopologieinformationen,
die dem Ursprungsknoten 102A nach dem Empfang des zweiten Echorahmen 908B bekannt
sind. Der Ursprungsknoten 102A ist mit dem ersten Router 104A verbunden, der
einen Identifikationscode gleich 20 aufweist. Der erste Router 104A ist
mit unbekannten Netzelementen über
die Ports 2 und 5 verbunden, ist an den Ports 4 und 6 nicht verbunden,
ist mit dem Ursprungsknoten 102A über den Port 3 verbunden, und
ist mit dem zweiten Router 104D über den Port 5 verbunden. Der zweite
Router 104D hat einen Identifikationscode gleich 23, und
ist mit fünf
unbekannten Netzelementen an den Ports 1, 2, 3, 4 und 6 verbunden,
und ist mit dem ersten Router 104A über den Port 5 verbunden. Der
Ursprungsknoten 102A realisiert nicht, dass das unbekannte
Netzelement 914A gleich ist wie das unbekannte Netzelement 914B.
Der Ursprungsknoten bestimmt, dass diese beiden Elemente gleich sind,
nach der Exploration des Pfads von Port 2 des ersten Routers 104A und
des Pfads von Port 4 des zweiten Routers 104D und nach
der Bestimmung, dass die Identifikationscodes dieser beiden unbekannten
Elemente 914A, 914B gleich sind. Nach dem Empfang
des zweiten Echorahmens 908B weiß ähnlich der Ursprungsknoten
nicht, dass unbekannte Elemente 9140 und 914D gleich
sind. Diese Bestimmung tritt auf, wenn der Ursprungsknoten 102A Schleifen
identifiziert, wie oben beschrieben.
-
Der
Prozess wird fortgesetzt, bis alle Ports untersucht wurden. Wenn
eine Verknüpfung
oder ein Element inoperativ ist, wird diese Verknüpfung oder dieses
Element identifiziert, da ein Echorahmen nicht ansprechend auf einen
PING- Rahmen empfangen wird.
Eine solche Verknüpfung
oder ein solches Element wird nicht in die aktualisierte Topologie
eingeschlossen. Dann generiert 520 der Ursprungsknoten 102A Leitwegtabellen
auf der Basis der aktualisierten Netztopologie. Die aktualisierten
Leitwegtabellen können
alternative Pfade zwischen Netzelementen liefern, beispielsweise
um inoperative Verknüpfungen
zu vermeiden, oder die Leitwegtabelle kann erschöpfend berechnet werden, um
eine optimale Lösung
zu erzielen, die alle potentiellen Schleifen vermeidet, und die
Möglichkeit
einer Überlastung
einer Verknüpfung
oder eines Routers mit Rahmenverkehr minimiert, und eine Netzblockierung
vermeidet. Einige Beispiele von Techniken zur Aktualisierung von Leitwegtabellen
sind angegeben in R. D. Rosner, Packet Switching, Tomorrow's Communications
Today (1982).
-
Das
obige Beispiel beschreibt, wenn von einem Router ein PING-Rahmen
empfangen wird und ein Echorahmen generiert wird. Die Technik zum Empfangen
eines PING-Rahmens und Generieren und Senden eines Echorahmens ist
gleich, wenn das Zielelement ein anderer Knoten ist.