-
Die
vorliegende Erfindung bezieht sich auf ein Kommunikationsnetz und
auf Knoten eines solchen Netzes und in einem Aspekt insbesondere
auf ein optisches Kommunikationsnetz, das Paket-Routing verwendet,
um Daten im optischen Bereich mit sehr hohen Bitraten zu übertragen.
-
Die
zunehmende Verarbeitungsleistung und Speicherkapazität von Computern
hat zur Entwicklung etwa von Multimediaanwendungen geführt, die
Daten mit hoher Bandbreite erzeugen. Dies hat wiederum zu einem
Bedarf für
Breitbandnetze geführt,
die in der Lage sind, den durch solche Anwendungen erzeugten Verkehr
zu handhaben. Wünschenswerterweise
sollten solche Netze in der Lage sein, paketvermittelten Datenverkehr
mit hoher Bandbreite theoretisch unverzüglich auf Verlangen zu handhaben.
-
Photonennetze
wurden entwickelt, um den Bedarf an Breitband-Datenübertragungen zu erfüllen. Bei derzeitigen
Technologien besteht jedoch ein Fehlabgleich zwischen den Fähigkeiten
von optischen Netzen und den Arten von Diensten, die für Anwender
erforderlich sind. Typischerweise verwenden existierende optische Netze
durch die Wellenlänge
geleitete Schaltungsverbindungen, die für paketvermittelten Datenverkehr
und verbindungslose Anwendungen schlecht angepasst sind. Derzeit
wird dieser Fehlabgleich gehandhabt, indem das optische Netz mit
elektronischen Dienstebenen beispielsweise unter Verwendung von
IP-(Internetprotokoll), ATM-(asynchroner
Transportmodus), Frame-Relay- oder SDH-(synchrone digitale Hierarchie)Protokollen überlagert
wird. Solche Methoden werden zunehmend unangemessen, da die Computerverarbeitungsleistung und
die zugehörigen
Bandbreitenanforderungen immer weiter zunehmen, und da neue Anwendungen
beispielsweise unter Verwendung von intelligenten Agenten entwickelt
werden, die entfernte Informationen suchen und abrufen, die Informationen
verarbeiten und die Informationen an den Anwender über reiche
und intelligente Benutzerschnittstellen übergeben.
- Kamal A E "An algorithm for
the Efficient Utilization of Bandwidth in the Slotted Ring", IEEE Transactions
on Computers, Band 41, Nr. 12, 1. Dezember 1992, Seiten 1620–1627, offenbart
ein Verfahren zum Konfigurieren eines optischen Kommunikationssystems,
um einen Übertragungsweg
zwischen zwei Knoten bereitzustellen. Das Verfahren verwendet einen
Algorithmus, um eine effiziente Nutzung der Bandbreite eines lokalen
Netzes mit geschlitztem Ring zu ermöglichen.
- YENER B ET AL.: "TOPOLOGICAL
DESIGN OF LOSS-FREE SWITCH-BASED
LANS" PROCEEDINGS
OF INFOCOM '95 – CONFERENCE
ON COMPUTER COMMUNICATIONS, FOURTEENTH ANNUAL JOINT CONFERENCE OF
THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES, BOSTON, 2.–6. APR. 1995,
Band 3, NR. CONF. 14, 2. April 1995, Seiten 88–96, XP000580567, INSTITUTE
OF ELECTRICAL AND ELECTRONICS ENGINEERS, offenbart ein LAN auf Verteilungsbasis
mit mindestens einem virtuellen Ring zwischen irgendeinem Paar von
Knoten.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Betreiben eines optischen Kommunikationssystems mit den in Anspruch
1 definierten Merkmalen geschaffen.
-
Dieser
Aspekt der vorliegenden Erfindung schafft ein Verfahren zum Betreiben
eines Kommunikationsnetzes, das eine Paketübertragung unterstützt, während es
eine gute Zuverlässigkeit
und eine sehr geringe Wartezeit bietet. Die Erfindung macht auch
von der breiten Bandbreite effizienten Gebrauch, die in optischen Netzen
zur Verfügung
steht, und vermeidet auch die technologischen Probleme in diesem
Zusammenhang von Verfahren des Standes der Technik, die eine optische
Pufferung und komplexe Verarbeitung auf Bitebene erfordern. Eine
zuverlässige
Kommunikation erfordert im Allgemeinen einen Quittungsaustausch
zwischen absendenden und empfangenden Knoten. Die Erfindung verringert
die für
diesen Quittungsaustausch gebrauchte Zeit auf im Wesentlichen die
Umlaufzeit zwischen dem absendenden und dem empfangenden Knoten.
Dies wird mit einem Schleifensignalweg erreicht. Derselbe Zeitschlitz
auf dem Schleifensignalweg wird sowohl für die ausgehende Übertragung
eines Pakets als auch die Rückkehrübertragung
der Bestätigung
verwendet. Ebenso wie das Minimieren der Wartezeit hat dieses Verfahren
den weiteren Vorteil, dass der absendende Knoten genau vorhersagen
kann, wann das Bestätigungssignal
erwartet wird, und somit nützliche
Informationen aus der Abwesenheit des Bestätigungssignals zur erwarteten
Zeit entnehmen kann. Die Abwesenheit eines Bestätigungssignals zur erwarteten
Zeit kann ein Übertragungsfehlerereignis
auslösen,
das beispielsweise zur Rücksendung
des relevanten Pakets oder der Kette von Paketen führt.
-
Vorzugsweise
umfasst das Rückkehrsignal
eines von mehreren Paketen, die auf dem Schleifensignalweg vom absendenden
Knoten empfangen werden.
-
In
bevorzugten Implementierungen der Erfindung umfasst das zum empfangenden
Knoten gesandte Signal eine Kette von Paketen und der empfangende
Knoten streift die Nutzinformationspakete ab und führt auf
dem Übertragungsweg
z. B. ein Kopfpaket zurück.
Das zurückgeführte Paket
kann beispielsweise durch Überschreiben
von einem oder mehreren Bits eines Bestätigungs-Flags modifiziert werden.
Alternativ kann das Ziel ein neues Paket zur Übertragung zu rück zum absendenden
Knoten erzeugen. Das Rückkehrsignal ist
nicht notwendigerweise ein einfaches Bestätigungssignal, sondern kann
beispielsweise zum Quellenknoten in Reaktion auf ein Abfragesignal
zu sendende Daten umfassen. In diesem Fall kann das Verfah ren umfassen:
Senden
eines Abfragesignals vom Quellenknoten zum Zielknoten;
zeitliches
Planen eines Prozesses am Quellenknoten zur Ausführung zu einer Zeit nach dem
Senden des Abfragesignals, wobei die Zeit von der Rückkehrlaufzeit
zwischen dem Quellenknoten und dem Zielknoten abhängt;
Senden
von Daten vom Zielknoten zum Quellenknoten in dem vom Abfragesignal
belegten Zeitschlitz; und
anschließend Ausführen des Prozesses unter Verwendung
der Daten.
-
Vorzugsweise
besitzt das Netz eine Maschentopologie. Es kann vollständig vermascht
oder teilweise vermascht sein oder eine Hybridtopologie aufweisen.
Vorzugsweise umfasst das Netz eine Mehrzahl von Knoten und Verbindungen
und die Knoten und Verbindungen sind als Mehrzahl von gerichteten
Pfaden konfiguriert, wobei jeder gerichtete Pfad nur einige der
Mehrzahl von Knoten verbindet und die gerichteten Pfade in Kombination
jeden Knoten des Netzes überspannen,
und der Schleifensignalweg umfasst einen geschlossenen gerichteten
Pfad, der sowohl den absendenden Knoten als auch den empfangenden
Knoten umfasst.
-
Obwohl
die vorliegende Erfindung in ihren breiteren Aspekten keineswegs
auf die Verwendung mit irgendeiner Netztopologie und auch nicht
auf irgendein Routing-Schema begrenzt ist, ist es besonders vorteilhaft,
das Verfahren der Erfindung mit dem Routing-Verfahren mit gerichteten
Pfaden zu kombinieren, das in der gleichzeitigen internationalen
Anmeldung des vorliegenden Anmelders auch mit dem Titel "Communications Network", WO 98/09403, Bevollmächtigtenreferenz
A25265/WO, beschrieben und beansprucht ist. Das Netz ist dann als
Anzahl von gerichteten Pfaden konfiguriert und Pakete werden durch
den absendenden Knoten geleitet, der einen der Pfade auswählt, der
den absendenden und den empfangenden Knoten überspannt. Keine andere Verarbeitung
als eine einfache Adressenerkennung ist dann an den Zwischenknoten
erforderlich. Das Verfahren mit gerichteten Pfaden bietet eine niedrige
Wartezeit, eine gute Skalierbarkeit und sehr geringe Verarbeitungszusätze. In
Kombination mit dem Verfahren der vorliegenden Erfindung macht dies
es möglich,
dass der ganze Prozess des Leitens, des Empfangens und des Bestätigens mit
sehr hohen Geschwindigkeiten ausgeführt wird.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung wird ein Knoten mit den
in Anspruch 11 definierten Merkmalen geschaffen.
-
Systeme,
die die vorliegende Erfindung verkörpern, werden nun lediglich
beispielhaft mit Bezug auf die begleitenden Zeichnungen genauer
beschrieben, in denen:
-
1 ein
Ablaufdiagramm ist, das Paketschlitze zeigt;
-
2 ein
Diagramm ist, das ein Netz mit bidirektionalen Verbindungen zeigt;
-
3 ein
Diagramm ist, das ein Manhattan-Street-Netz unter Verwendung von
Routing mit gerichteten Pfaden zeigt;
-
4 ein
Blockdiagramm ist, das die funktionalen Komponenten eines Knotens
zur Verwendung bei der Implementierung der Erfindung zeigt;
-
5 ein
Diagramm ist, das eine mögliche
Konfiguration für
Komponenten zeigt, die zum Implementieren des Knotens von 4 verwendet
werden;
-
6 ein
Computernetz zeigt, das die vorliegende Erfindung verkörpert;
-
7 ein
Diagramm ist, das das Format eines Pakets zeigt, das in einem die
Erfindung verkörpernden Netz übertragen
wird;
-
8 ein
Diagramm ist, das ein Torusnetz zeigt;
-
9a, 9b Schalterzustände in einem
Torusnetz zeigen;
-
10 Schalterzustände in einem
Torusnetz genauer zeigt.
-
Wie
in 6 dargestellt, umfasst ein optisches Kommunikationsnetz
ein LAN (lokales Netz) 1, das eine Anzahl von Personalcomputer-Arbeitsplatzrechnern 3 verbindet.
Jeder Arbeitsplatzrechner ist mit dem LAN über eine Netzschnittstelle 3a verbunden.
Die Arbeitsplatzrechner und das LAN sehen zusammen eine verteilte
Rechenumge bung vor, die beispielsweise für die Visualisierung von komplexen
Daten verwendet werden kann. Jeder Arbeitsplatzrechner ist mit einem
jeweiligen Knoten 2 des Netzes verbunden. Pakete von Daten 4 werden
zwischen den Arbeitsplatzrechnern 3 über die Knoten 2 und
Verbindungen 5 übertragen.
In diesem Beispiel sind die Verbindungen 5 aus einer Lichtleitfaser
gebildet und übertragen
die Pakete 4 im optischen Bereich. Obwohl für eine leichte
Darstellung nur einige Knoten in der Fig. gezeigt sind, kann das
Netz in der Praxis viele Hunderte von Knoten umfassen. Obwohl in
diesem Beispiel das Netz ein LAN ist, ist die Erfindung auch gleichermaßen beispielsweise
auf Stadtbereichsnetze (MANs) oder auf ein globales Netz wie z.
B. das Internet oder auf nationale oder internationale Telekommunikationsnetze
anwendbar. Das Netz arbeitet in einer verbindungslosen Weise. Im
Gegensatz zu Netzen, in denen vor der Übertragung von Daten eine Leitung
aufgebaut wird, gibt im vorliegenden Netz ein Quellenknoten Daten,
die an das Ziel adressiert sind, aus, sobald Netzressourcen verfügbar werden,
ohne eine Stufe von Vorbereitungssignalisierung zwischen der Quelle
und dem Ziel durchlaufen zu müssen.
Die Daten werden als optisches Paket mit sehr hoher Bitrate beispielsweise
mit 100 GBit/s ausgegeben. Eine gewisse Menge an Signalisierung
ist erwünscht,
nachdem die Nachricht vom Ziel empfangen wurde, beispielsweise um
zu ermöglichen,
dass der empfangende Knoten die Quelle benachrichtigt, dass die
Nachricht empfangen wurde. Herkömmlich
hat eine solche Signalisierung eine weitere Verzögerung eingeführt, wenn
der Knoten, der die Nachricht empfängt, dann warten muss, bis
weitere Netzressourcen verfügbar
werden, bevor er sein Bestätigungssignal
senden kann. Das vorliegende Beispiel beseitigt diese Verzögerung durch
Aufgreifen einer Form von Signalisierung, die vom Erfinder Signalisierung "im Fluge" genannt wird. Wie
nachstehend weiter beschrieben wird, findet die Signalisierung dann
in der kürzestmöglichen
Zeit statt – die
nur durch die physikalische Flugzeit der Signale entlang des Übertragungsweges begrenzt
ist.
-
Das
in diesen Beispielen übernommene
Schema verwendet einen kontinuierlichen, unidirektionalen Übertragungsweg,
der von der Quelle zum Ziel und wieder zurück zur Quelle führt. Ein
Beispiel, das in 2 gezeigt ist, ist ein Netz,
das bidirektionale Verbindungen enthält. Ein drittes Beispiel, das
in 3 gezeigt ist, ist ein Manhattan-Street-Netz,
das das "Pfad-Routing"-Verfahren verwendet,
das in der vorstehend zitierten internationalen Patentanmeldung
des vorliegenden Anmelders beschrieben ist. Protokolle, die die
Erfindung implementieren und zur Verwendung in solchen Netzen geeignet
sind, werden nachstehend genau beschrieben. In diesen Beispielen
wird hier angenommen, dass Anlagenausfälle seltene Vorkommnisse sind,
die durch Protokolle einer höheren
Ebene erfasst und behoben werden. Das hier beschriebene Routing-Protokoll
betrifft die Bereitstellung einer Signalisierung mit ultraniedriger
Wartezeit im Normalfall, wobei solche Ausfälle nicht auftreten. Es wird
auch angenommen, dass eine übertragene
Nachricht aus einem einzelnen Paket oder einer Kette von Paketen
besteht und dass die Pakete in Zeitschlitze mit fester Länge eingefügt werden,
von denen jeder höchstens
ein Paket enthalten kann.
-
In
den hier beschriebenen Protokollen muss, wenn ein Quellenknoten
die Übertragung
einer Nachricht zu einem Zielknoten beginnen will, er warten, bis
eine freie Kapazität
auf dem Übertragungsweg
vorliegt (d. h. in einem geschlitzten System, bis mindestens ein
freier Zeitschlitz vorliegt). Wenn der Zielknoten die Nachricht empfängt und
eine Bestätigung
oder ein ähnliches
Signal zur Quelle zurückführen will,
tut er dies durch Übertragen
des Signals im ganzen oder einem Teil des Zeitraums, der von der
ursprünglichen
Nachricht belegt wird (d. h. im geschlitzten System unter Verwendung
von einem oder mehreren der Zeitschlitze, die von der Quelle verwendet
werden, um die ursprüngliche
Nachricht zu übertragen).
Dies hat den Vorteil, dass der Zielknoten nicht warten muss, bis
eine weitere freie Kapazität
auf dem Übertragungsweg
vorliegt, bevor das Paket gesandt werden kann, da er sofort einen
Zeitschlitz wieder verwendet, der bereits von der Quelle reserviert
ist. Dies stellt sicher, dass das Signal in der kürzestmöglichen
Zeit vom ursprünglichen
Nachrichtenziel gesendet und von der ursprünglichen Nachrichtenquelle
empfangen wird, die durch die Übertragungsflugzeit
mit der Lichtgeschwindigkeit begrenzt ist. Der Zielknoten muss nicht
warten, bis eine weitere freie Kapazität auf dem Übertragungsweg vorliegt, bevor
das Signal gesandt werden kann. Durch geeignete Wahl des Protokolls
und Paketformats kann das vom Zielknoten zur ursprünglichen
Quelle zurückgeführte Signal
aus einem oder mehreren der ursprünglichen Nachrichtenpakete
bestehen (wahlweise mit gewisser Modifikation, wie z. B. einem geänderten
Flag, oder sogar ohne überhaupt
eine Modifikation). Dann ist die Verarbeitung, die für den Zielknoten
erforderlich ist, um die Bestätigung
zu erzeugen, primitiv und minimal. In dieser Weise kann der Zielknoten seine
Signalisierungsentscheidungen mit hoher Geschwindigkeit treffen,
während
sich das Paket "auf
dem Flug" befindet,
ohne den Bedarf für
eine Pufferung.
-
Ein
weiterer Aspekt der Protokolle besteht darin, dass die Umlaufflugzeit
eines Pakets von einer Quelle zu einem Ziel und wieder zurück genau
bekannt sein kann, da sie nur einem physikalischen Abstand entspricht.
In dem Moment, in dem eine Quelle ein Paket sendet, weiß sie daher
genau, wann eine Antwort zu erwarten ist. Die Quelle kann die Ankunftszeit
eines Signalpakets verwenden, um die Nachricht und das Ziel, dem
sie zugeordnet ist, zu identifizieren. Wenn ein Signal nicht zur
erwarteten Zeit ankommt, kann die Quelle diese Abwesenheit eines
Signals auch in verschiedenen Weisen interpretieren (beispielsweise,
wie nachstehend dargestellt, um anzugeben, dass eine Nachricht ihr
beabsichtigtes Ziel nicht erreicht hat).
-
Unhöfliches Protokoll
-
Dieses
erste Protokoll wird als "unhöflich" bezeichnet, da es
Zwischenknoten im Netz gestattet ist, Pakete von anderen Knoten
zu verwerfen. In diesem Protokoll, wie in 7 gezeigt,
umfasst jedes Paket die folgenden Felder: Zieladresse, Quellenadresse,
binäres
ACK-Flag (Bestätigungs-Flag),
binäres
SOS-Flag (Kettenstart-Flag), binäres
EOS-Flag (Kettenende-Flag) und Nutzinformationsdaten, einschließlich Protokolldatenfeldern
einer höheren
Ebene. Bei der Übertragung
durch die Quelle gilt ACK = 0 für
alle Pakete in der Kette. Das erste Paket einer Kette wird mit SOS
= 1 bezeichnet. Ein Paket, weder das erste noch das letzte, in einer Kette
von 2 oder mehr Paketen wird mit SOS = 0 und EOS = 0 bezeichnet.
Das Endpaket einer Kette von 2 oder mehr Paketen wird mit SOS =
0 und EOS = 1 bezeichnet. Eine Kette, die aus einem einzelnen Paket
besteht, wird mit SOS = 1 und EOS = 1 bezeichnet. Der Quellenknoten,
der eine Kette von Paketen zu einem Zielknoten senden will, muss
warten, bis mindestens ein freier Zeitschlitz auf einem Übertragungsweg,
der zum Ziel führt,
vorhanden ist. Im Fall des unidirektionalen Ringnetzes, 1,
kann irgendein freier Zeitschlitz verwendet werden, da der Übertragungsweg
immer zum Ziel führt.
Im Fall des Manhattan-Street-Netzes
unter Verwendung des "Pfad-Routing"-Verfahrens, das
in unserer gleichzeitig anhängigen
internationalen Anmeldung be schrieben ist, muss die Quelle auf einen
freien Zeitschlitz in der korrekten Position im Rahmen warten, um
einen Übertragungsweg
zum Ziel zu schaffen. Die Quelle beginnt dann die Übertragung
mit dem ersten Paket, das in den ersten freien Zeitschlitz eingefügt wird.
Wenn die Kette aus zwei oder mehr Paketen besteht, überträgt die Quelle
weiterhin zum Zielknoten unter Verwendung der Folge von anschließenden geeigneten Zeitschlitzen
ungeachtet dessen, ob sie frei sind oder nicht. Sobald der Quellenknoten
die Übertragung
seiner eigenen Kette von Paketen begonnen hat, steht es ihm frei,
irgendeine fremde Kette von Paketen (d. h. eine nicht an den Quellenknoten
selbst adressierte Kette) zu verwerfen, die in Zeitschlitzen ankommt,
die er verwenden will. Sobald die Quelle begonnen hat, eine fremde
Kette von Paketen zu verwerfen, muss sie die ganze Kette (deren
Ende mit dem Flag EOS = 1 bezeichnet ist) verwerfen. Die Ausnahme
für diese
Regel besteht darin, dass kein Knoten ein Paket verwerfen kann,
das das Flag ACK = 1 trägt,
wenn nicht das Quellenadressenfeld im Paket der Adresse des Knotens
selbst entspricht. Das Protokoll kann eine Definition für die maximale
Länge irgendeiner
Kette von Paketen enthalten, um zu verhindern, dass ein Knoten die
Netzressourcen ungerecht an sich reißt.
-
In
diesem unhöflichen
Protokoll kann es der Kette von Paketen, die von der Quelle übertragen
werden, nicht gelingen, den Zielknoten zu erreichen, da sie auf
dem Weg von anderen Knoten, die bereits mit der Übertragung begonnen haben,
verworfen werden kann. Sollte die Kette von Paketen ihr Ziel erfolgreich
erreichen, muss der Zielknoten dies sofort bestätigen, indem er zur Quelle
ein Signal zurücksendet.
Dies kann durchgeführt
werden, indem ermöglicht
wird, dass das erste Paket in der Kette (SOS = 1) entlang seines
Weges zur Quelle zurück
fortfährt.
Dieses Paket ist vom Zielknoten unmodifiziert, außer dass
das ACK-Flag auf 1 gesetzt ist. Der Zielknoten muss alle anderen
Teile der Kette aus dem Netz entfernen (außer, wie nachstehend beschrieben,
das letzte Paket in der Kette). Die Quelle, die die Kette abgesandt
hat, erkennt, dass das ACK Signal an sie gerichtet ist, da sie ihre
eigene Adresse als Quellenadresse im Paket sieht. Wenn das Bestätigungssignal
nicht von der Quelle zu einer Zeit gleich der Umlaufausbreitungszeit
des Übertragungsweges
von der Quelle zurück
zur Quelle über
das Ziel empfangen wird, dann kann die Quelle annehmen, dass die
Kette von Paketen auf dem Weg verworfen wurde, und weiß somit,
dass sie die Kette sofort erneut senden sollte.
-
Eine
weitere Bestätigung
wird vom Zielknoten zur Kettenquelle zurückgesandt, um anzugeben, dass die
ganze Kette von Paketen erfolgreich geliefert wurde. Beispiele von
Gründen
für eine
erfolglose Lieferung sind Übertragungsfehler
und der Überlauf
des Empfängerpuffers.
Die Art von Übertragungsfehlern,
die in einem Netz "im
Fluge" erfasst werden
können,
hängt von
der Bitrate und von der zum Implementieren des Netzes verwendeten
Technologie ab. Bei sehr hohen Geschwindigkeiten (= 100 GBit/s)
könnte
anstelle der Ausführung
einer vollständigen
Bitfehlererfassung für
die ganze Kette von Paketen eine vereinfachte Fehlererfassung verwendet
werden. Diese kann die Erfassung von fehlenden Paketen oder schwer
verfälschten
Paketen umfassen. Unter der Annahme, dass die Kette als erfolgreich
geliefert erachtet wird, kann ein ähnliches Signalisierungsverfahren
für die
zweite Bestätigung
verwendet werden. Dies wird durchgeführt, indem ermöglicht wird,
dass das letzte Paket in der Kette (EOS = 1) entlang seines Weges
zur Quelle zurück
fortfährt.
Dieses Paket ist vom Zielknoten unmodifiziert, außer dass
das ACK-Flag auf
1 gesetzt ist. Wenn das zweite Bestätigungssignal nicht von der
Quelle zur erwarteten Zeit empfangen wird, dann kann die Quelle
wieder annehmen, dass die Kettenlieferung erfolglos war. Die Abwesenheit
des Bestätigungssignals
löst einen Übertragungsfehlerzustand
an der Quelle aus, was zur sofortigen erneuten Übertragung der Kette von Paketen
führt.
In einem Netz, das groß genug
ist, dass die Ausbreitungsumlaufzeit im Vergleich zur maximalen
Kettenlänge
lang ist, kann kein signifikanter Vorteil im Senden des ersten ACK-Signals bestehen
(entsprechend dem Paket SOS = 1 in der Kette); es kann ausreichen,
dass das Ziel nur ein ACK-Signal zurücksendet (entsprechend dem
Paket EOS = 1).
-
Regeln
zur Implementierung des Protokolls sind in der folgenden logischen
Beschreibung für
die Handlung irgendeines Knotens (Adresse N) in Reaktion auf ein
eingehendes Paket P zusammengefasst.
-
-
Das "unhöfliche" Protokoll ist sehr
einfach. Die erforderliche Logik ist ausreichend einfach, dass sie
mit hoher Geschwindigkeit in einer elektronischen Hardware unter
Verwendung einer schnellen Decodiererschaltung ausgeführt werden
kann. Die Menge an optischer Verarbeitung ist klein: der Zielknoten
muss ein einzelnes binäres
Flag in einem oder zwei Paketen jeder Kette ändern. 4 zeigt
eine Beispielblockanordnung eines Knotens.
-
Das "unhöfliche" Protokoll arbeitet
gut, wenn das Netz nicht stark belastet ist. Wenn jedoch die Belastung
zunimmt, besteht eine zunehmende Wahrscheinlichkeit, dass eine Kette
von Paketen verworfen wird, bevor sie ihr Ziel erreicht, so dass
keine ACK von der Quelle empfangen wird und daher der Quellenknoten
automatisch die Kette erneut überträgt. Dieser
Effekt ist akkumulativ, bis viele Knoten kontinuierlich erneut übertragen
und fast keine Ketten geliefert werden.
-
"Höfliches" Protokoll
-
Die
Leistungsbegrenzung des "unhöflichen" Protokolls unter
starker Belastung wird unter Verwendung eines "höflichen" Protokolls entfernt,
in dem Pakete nicht verworfen werden, während sie sich auf dem Weg
zu ihren Zielen befinden. Sobald eine Kette von Paketen von der
Quelle übertragen
wurde, wird ihre Ankunft am Ziel garantiert (z. B. auf der vom Protokoll
betrachteten Ebene, da wir hier das seltene Auftreten eines Anlagenfehlers
vernachlässigen).
Eine Konkurrenz tritt innerhalb des Netzes nicht auf; die Konkurrenzauflösung wird
nur an der Kante des Netzes durch die sendenden Knoten (unter Verwendung
von nur freien Zeitschlitzen) durchgeführt. Wenn ein Knoten N auf
einem gegebenen Kanal überträgt und eine
fremde Kette von Paketen, die nicht an N adressiert ist, auf demselben
Kanal ankommt, muss der Knoten N in diesem Fall die Übertragung stoppen
und der fremden Kette ermöglichen,
ununterbrochen weiterzugehen. Es gibt zwei Strategien, die dann übernommen
werden können,
um dieses Vorkommnis zu behandeln. In der ersten Strategie beginnt
der Knoten N die Übertragung
seiner Kette vom Beginn wieder erneut, sobald ein freier Zeitschlitz
verfügbar
wird. In der zweiten Strategie beginnt der Knoten N die Übertragung
seiner Kette ab dem Punkt erneut, an dem er unterbrochen wurde,
sobald ein freier Zeitschlitz verfügbar wird. In diesem Fall sollte
das Paket ein weiteres Flag COS (Fortsetzung der Kette) enthalten.
Wahlweise kann eine maximale Länge
irgendeiner Kette von Paketen festgelegt werden, um zu verhindern,
dass ein Knoten ungerecht die Netzressourcen an sich reißt.
-
Wenn
der Zielknoten beginnt, eine Kette von Paketen zu empfangen, bestätigt er
dies unmittelbar auch durch Zurücksenden
eines Signals zur Quelle. In dem Fall des unhöflichen Protokolls war dies
erforderlich, um anzugeben, dass die Kette das Ziel erfolgreich
erreicht hat. Im höflichen
Protokoll wird die Ankunft der Kette garantiert. Trotzdem muss der
Zielknoten der Quelle signalisieren, dass er bereit ist und die
verfügbaren
Ressourcen zum Empfangen der Nachricht hat. Wenn der Zielknoten
die Nachricht nicht empfangen kann, sollte die Quelle sobald wie
möglich
informiert werden, um die Übertragung
zu stoppen. Wenn der Zielknoten ein Bestätigungssignal zur Quelle senden
will, das angibt, dass er die verfügbaren Ressourcen zum Empfangen
der Nachricht hat, kann er dies tun, indem ermöglicht wird, dass das erste
Paket in der Kette (SOS = 1) entlang seines Weges zur Quelle zurück fortfährt. Dieses
Paket ist vom Zielknoten unmodifiziert und es fährt zum Quellenknoten zurück weiter
fort, wo es als Bestätigungssignal
fungiert. Der Zielknoten muss alle anderen Teile der Kette aus dem
Netz entfernen (außer,
wie nachstehend beschrieben, das letzte Paket in der Kette). Die
Quelle, die die Kette abgesendet hat, erkennt, dass das Bestätigungssignal
an sie selbst gerichtet ist, da sie ihre eigene Adresse als Quellenadresse
im Paket sieht. Wenn das Bestätigungssignal
nicht von der Quelle zu der Zeit gleich der Umlaufausbreitungszeit
des Übertragungsweges
von der Quelle zur Quelle zurück über das
Ziel empfangen wird, dann kann die Quelle annehmen, dass der Zielknoten
die Nachricht nicht empfangen kann, und somit weiß die Quelle,
dass sie die Übertragung
sofort stoppen sollte.
-
Eine
weitere Bestätigung
wird vom Zielknoten zur Kettenquelle zurückgesandt, um anzugeben, dass die
ganze Kette von Paketen erfolgreich geliefert wurde. Wie im Fall
des "unhöflichen" Protokolls sind
Beispiele von Gründen
für eine
erfolglose Lieferung Übertragungsfehler
und ein Überlauf
des Empfängerpuffers.
Wiederum unter der Annahme, dass die Kette als erfolgreich geliefert
erachtet wird, kann die zweite Bestätigung durchgeführt werden,
indem ermöglicht
wird, dass das Endpaket in der Kette (EOS = 1) entlang seines Weges zur
Quelle zurück
fortfährt.
Dieses Paket ist vom Zielknoten unmodifiziert und es fährt als
Bestätigungssignal zum
Quellenknoten zurück
weiter fort. Wenn das zweite Bestätigungssignal nicht von der
Quelle zur erwarteten Zeit empfangen wird, dann kann die Quelle
wieder annehmen, dass die Kettenlieferung erfolglos war, und somit
weiß sie,
dass sie die Kette von Paketen sofort erneut senden sollte.
-
Die
Regeln des "höflichen" Protokolls für die Handlung
irgendeines Knotens (Adresse N) in Reaktion auf ein eingehendes
Paket P sind folgendermaßen.
-
-
Die
in den obigen Beispielen beschriebenen Protokolle können mit
einer Vielfalt von verschiedenen Paket-Routing-Verfahren und in
Netzen mit verschiedenen Topologien verwendet werden, vorausgesetzt,
dass das Netz konfigurierbar ist, um einen Schleifenübertragungsweg
bereitzustellen. In den vorliegenden Beispielen wird jedoch ein
Routing-Verfahren mit gerichtetem Pfad verwendet. Dies nutzt die
Tatsache, dass ein Netz mit einer Topologie des nachstehend veranschaulichten
Typs in einen Satz von unterschiedlichen Pfaden unterteilt werden
kann, so dass kein einziger Pfad das ganze Netz überspannt, sondern immer ein
Pfad besteht, der von einem gegebenen Quellenknoten zu einem gegebenen
Zielknoten führt.
Das Routing kann dann einfach durch Auswählen des geeigneten Pfades,
der einen Quellenknoten mit dem gewünschten Zielknoten verbindet,
ausgeführt
werden. Sobald es sich auf dem Pfad befindet, kann das Paket in
einer quasi eindimensionalen Weise geleitet werden. Wie beim eindimensionalen
Routing wählt
der Quellenknoten den ganzen Pfad von der Quelle zum Ziel vor dem
Senden des Pakets aus. Es wird festgestellt, dass eine besonders
wirksame Weise zum Leiten eines Pakets entlang eines Pfades, der
aus einer Anzahl von gerichteten Zyklen gebildet ist, darin besteht,
den optischen Ausgang der Zwischenknoten zu erneut zeitlich geplanten
Zeiten, z. B. mit einer festen Periodizität, zu schalten, um einen Zyklus
mit einem anderen Zyklus zu verbinden. Der Quellenknoten bestimmt
dann den Pfad, der vom Paket verfolgt wird, durch Ausgeben des Pakets
zu einer Zeit, die in Bezug auf den Schaltzeitplan bestimmt wird,
so dass es an einem gewünschten
Knoten von einem Zyklus zum nächsten
Zyklus im Pfad vermittelt wird. Vorzugsweise geschieht das Schalten
an einem Verbindungspunkt zwischen Zyklen von einer Verbindungs-Trennungs-Zerlegung
des Netzes mit gerichtetem Zyklus. Vorzugsweise schalten die Knoten
synchron über
das ganze Netz zwischen zeitlich vorgeplanten vorbestimmten Schaltzuständen. Im
nachstehend beschriebenen 4×4-Torusnetz
ist beispielsweise jedem Knoten ein Kreuzschienenschalter zugeordnet.
Alle Kreuzschienenschalter sind normalerweise in den Kreuzzustand
gesetzt und die Kreuzschienenschalter werden in vorbestimmten Intervallen
in den Schienenzustand gesetzt.
-
Dieses
Routing-Verfahren wird nun mit Bezug auf 3 und 8 bis 10 beschrieben.
In dem Netz von 8 sind Knoten und Verbindungsfa sern
als n×n-Torusnetz
konfiguriert. Das n×n-Torusnetz
ist ein reguläres
Netz mit unidirektionalen Verbindungen und die Knoten weisen einen
Eingangsgrad und Ausgangsgrad von 2 auf. Logisch bilden die Verbindungen
ein Gitter auf der Oberfläche
eines Torus und alle Verbindungen in den n Zeilen oder n Spalten
sind codirektional. Ein Beispiel eines 4×4-Netzes ist in 8 gezeigt.
Jeder Knoten enthält
einen 2×2-"Kreuzschienen"-Schalter oder sein
logisches Äquivalent.
In der Kreuzkonfiguration verbindet der Schalter die Eingangsspalte
mit der Ausgangsspalte und die Eingangszeile mit der Ausgangszeile;
in der Schienenkonfiguration ist die Eingangsspalte mit der Ausgangszeile
verbunden und die Eingangszeile ist mit der Ausgangsspalte verbunden. 9(a) zeigt die Situation, in der alle Schalter
in die Kreuzposition gesetzt sind. In diesem Fall besteht das Netz
aus einem Satz von 2n Zyklen, jeweils mit der Länge n. In der Schreibweise
hier sind die n horizontalen Zyklen mit Cih bezeichnet,
wobei i = 0, 1, ..., n–1,
und die n vertikalen Zyklen sind mit Cjv bezeichnet,
wobei j = 0, 1, ..., n–1.
Diese Verbindungs-Trennungs-Zerlegung
des Netzgraphen mit gerichtetem Zyklus eignet sich gut für das Routing-Verfahren
mit gerichtetem Pfad. Das n×n-Torusnetz
enthält
n2 unterschiedliche geschlossene gerichtete
Pfade, die als Tij = Cih ∪ Cjv definiert sind, wobei i, j = 0, 1, ...
n–1. Der
Schnittpunkt des Pfades Tij tritt am Schnittpunkt
der Komponentenzyklen am Knoten (i, j) auf: mit anderen Worten,
jeder der n2 Knoten im Netz ist der Schnittpunkt
von exakt einem der geschlossenen gerichteten Pfade Tij.
Diese Zykluszerlegung des Netzes ist für das Routing-Verfahren mit
gerichtetem Pfad gut geeignet, da ein Paket von seiner Quelle zu
seinem Ziel, die sich beide irgendwo im Netz befinden, entlang eines
gerichteten Pfades geleitet werden kann, der aus einem vertikalen
oder horizontalen Zyklus oder der Vereinigung eines vertikalen und
eines horizontalen Zyklus besteht; daher muss das Paket zwischen
Zyklen maximal einmal umgeschaltet werden (an dem Schnittpunkt,
der der Verbindungspunkt zwischen dem vertikalen und dem horizontalen
Zyklus ist). Eine andere Zykluszerlegung des Netzes wird erhalten,
wenn alle Schalter in die Schienenposition gesetzt sind, wie in 9(b) gezeigt; in diesem Fall besteht das Netz
aus n Zyklen jeweils mit der Länge
2n. Diese Zykluszerlegung ist jedoch weniger gut für das Routing
mit gerichtetem Pfad geeignet, da ein gerichteter Pfad, der zwischen
einem Quellen-Ziel-Paar führt,
notwendigerweise die Vereinigung vieler Zyklen sein kann.
-
Die
Schaltoperationen, die ein Paket auf seinem ausgewählten Pfad
halten, der von seiner Quelle zu seinem Ziel führt, können in einer automatischen
Weise arbeiten, ohne zu erfordern, dass die Zwischenknoten die Paketzieladresse
abfragen oder irgendeine intelligente Leitwegauswahl durchführen. Das
Netz arbeitet in einer geschlitzten Weise, wobei Pakete auf eine
gewisse maximale Länge
eingeschränkt
werden, d. h. Zeit wird in regelmäßige Zeitschlitze unterteilt,
die so bemessen sind, dass sie ein Paket mit der maximalen zulässigen Größe zusammen
mit einem Schutzband enthalten. Die Kreuzschienenschalter in allen
Routing-Knoten im Netz sind so beschaffen, dass sie in einer regelmäßigen, kohärenten Weise
arbeiten, wobei sie mit einem globalen Netztakt mit der Zeitschlitzrate
synchronisiert sind. Wenn die Schalter die Konfiguration ändern, tun sie
dies während
des Schutzbandes, um die Pakete nicht zu verfälschen. 9 ist
ein Zeitdiagramm, das die Paketzeitschlitze jeweils mit der Länge T zeigt,
die in Rahmen mit der Länge
von n Zeitschlitzen angeordnet sind. In den ersten n – 1 Zeitschlitzen
in einem Rahmen sind die Kreuzschieneschalter alle in die Kreuzposition gesetzt
(mit c im Diagramm bezeichnet); im Endzeitschlitz des Rahmens werden
die Schalter alle in die Schienenposition gesetzt (mit b bezeichnet).
Die Länge
jeder Verbindung, die ein Paar von benachbarten Knoten im Netz verbindet,
wird so ausgewählt
und gesteuert, dass die Signalgruppen-Flugzeit gleich (qn + 1 – Δ)T ist, wobei
q irgendeine ganze Zahl ist und Δ die
Phasendifferenz zwischen den Taktsignalen an den zwei Knoten, ausgedrückt als
Bruchteil der Zeitschlitzperiode T, ist. Mit anderen Worten, abgesehen
von der Taktphasendifferenz ΔT
ist die Länge
jeder Verbindung im Netz gleich einer beliebigen ganzen Zahl von
Rahmen plus einem Zeitschlitz. Folglich kommt ein Paket, das von
einem Knoten im j-ten Zeitschlitz eines Rahmens austritt, am nächsten Knoten
im (j+1)-ten Zeitschlitz eines Rahmens an. Allgemeiner kann das
Paket um eine feste ganze Zahl von Zeitschlitzen vorgeschoben oder
verlangsamt werden. Das Paket kann um irgendeine feste ganze Zahl
von Schlitzen vorgeschoben/verlangsamt werden, die nicht ein Vielfaches
von n ist, wenn n ungerade ist, oder um eine Zahl, die ungerade
ist, wenn n gerade ist.
-
10 zeigt,
wie ein 4×4-Torusnetz
einigen der Pakete, die in ihm laufen, erscheinen könnte. In 10 wird
angenommen, dass der Knoten A ein Paket zum Knoten D senden will.
Der Quellenknoten A verwendet eine Nachschlagetabelle oder irgendeinen
andren Algorithmus, um festzustellen, dass er das Paket entlang
der Auswärtsverbindung
im horizontalen Zyklus C2h unter Verwendung
eines freien Zeitschlitzes in der dritten Position in einem Rahmen
(in diesem Beispiel enthält
jeder Rahmen 4 Schlitze) senden sollte. Bei der Ankunft am nächsten Knoten
B findet sich das Paket im vierten (d. h. letzten) Schlitz in einem
Rahmen und daher wird der Kreuzschienenschalter bei B in der Schienenposition
konfiguriert, wie in 10 gezeigt. Das Paket wird daher
in den vertikalen Zyklus C1v vermittelt
und schreitet weiter durch den Knoten C fort (wo es sich nun im
ersten Zeitschlitz eines Rahmens befindet, so dass der Schalter
bei C sich im Kreuzzustand befindet), wobei es schließlich seinen
Zielknoten D erreicht. In 10 ist
ein alternatives Routing nicht gezeigt; der Austritt von A entlang
des vertikalen Zyklus C0v im zweiten Zeitschlitz
eines Rahmens über
die Knoten E und F.
-
Im
Torusnetz ist das Routing mit gerichtetem Pfad unter Verwendung
der Pfade Tij = Cih ⋃ Cjv zu 100 % effizient; d. h. das Routing
mit gerichtetem Pfad gibt den kürzesten
Weg zwischen irgendeinem Quellen-Ziel-Paar. Es kann gezeigt werden,
dass der mittlere Abstand des kürzesten
Weges im n×n-Torusnetz gleich
n2/(n+1) Sprünge ist. Da der maximale stationäre Durchsatz
durch den Eingangsgrad der Knoten, dividiert durch den mittleren
genommenen Abstand, gegeben ist, ist er gleich 2(n+1)/n2.
Daher skaliert der Durchsatz mit O(1/√N), wobei N = n2 die Anzahl
von Knoten ist, im Gegensatz zum eindirektionalen Routing, wobei der
Durchsatz mit O(1/√N)
skaliert.
-
Wie
vorher angegeben, ist mit dem Routing mit gerichtetem Pfad die einzige
Verarbeitungsoperation, die mit dem Routing verbunden ist, die ein
Netzknoten an eingehenden Paketen durchführen muss, einfach; die Zieladresse
jedes eingehenden Pakets wird untersucht, und wenn sie der Adresse
des Knotens entspricht, wird das Paket aus dem Netz entfernt, ansonsten
wird es weitergeleitet. Der Prozess des Vergleichens der Paketadresse
und der Knotenadresse ist eine einfache Ein-Wort-Vergleichsoperation
und kann mit hoher Geschwindigkeit durchgeführt werden; eine optische Erkennung
von 6-Bit-Adressenworten
wurde beispielsweise kürzlich
mit einer Spitzenrate von 100 GBit/s demonstriert [Cotter, D., Lucek,
J.K., Shabeer, M., Smith, K., Rogers, D.C., Nesset, D. und Gunning,
P.: "Self-Routing
of 100 Gbit/s Packets Using 6-Bit "Keyword" Address Recognition, Electronics Letters,
31, S. 2201–2202
(1995)]. Da das Routing mit gerichtetem Pfad keinen Algorithmus
verwendet, der auf irgend einem speziellen sequentiellen Nummerierungssystem
für die
Netzknoten beruht, können
die Knoten in einer vollständig
willkürlichen
Weise bezeichnet werden. Dies kann die Aufgaben der Planung, Administration
und Entwicklung des Netzes vereinfachen.
-
Obwohl
die Beschreibung des Routing mit gerichtetem Pfad des Torusnetzes
bis jetzt angenommen hat, dass das Netz eine vollständige n×n-Struktur
ist, ist es auch möglich,
mit der Situation fertig zu werden, in der ein Knoten fehlt oder
ein Knoten oder eine Verbindung ausfällt. Wenn ein Knoten fehlt,
ist es nur erforderlich, dass die Verbindungen, die diese freie
Position umgehen, die korrekte Zeitsteuerbeziehung aufrechterhalten,
d. h. in diesem Fall sollte die Verbindung, die eine freie Knotenposition
umgeht, eine Signalgruppenlaufzeit von (qn + 2 – Δ)T (eine ganze Zahl von Rahmen
plus zwei Zeitschlitze minus der Phasenkorrektur ΔT) aufweisen.
Im Gegensatz zu eindimensionalen Routing-Verfahren wird die Operation
des ganzen Netzes nicht durch den Verlust einer Verbindung oder
eines Knotens gefährdet.
Dies liegt daran, dass zwei Wege mit gerichtetem Pfad zwischen einem
beliebigen Quellen-Ziel-Paar verfügbar sind, vorausgesetzt, dass
die Quelle und das Ziel nicht im gleichen horizontalen oder vertikalen
Zyklus angeordnet sind. Wenn ein gerichteter Pfad ausfällt, kann der
andere verfügbare
Pfad statt dessen verwendet werden. Wenn die Quelle und das Ziel
im gleichen vertikalen oder horizontalen Zyklus angeordnet sind,
besteht kein alternatives Routing mit gerichtetem Pfad, aber der
Zyklus kann geheilt werden, indem der fehlerhafte Knoten oder die
fehlerhafte Verbindung in der gerade im Fall eines fehlenden Knotens
beschriebenen Weise umgangen wird.
-
Es
ist auch nicht streng erforderlich, dass das Torusnetz quadratisch
ist; ein Routing mit gerichtetem Pfad kann beispielsweise in einem
rechteckigen Netz mit m Zeilen und n Spalten verwendet werden, wobei beispielsweise
m > n. Dann muss der
Rahmen die Anzahl von Zeitschlitzen entsprechend der größeren Dimension
(in diesem Fall m) enthalten und es liegen m – n fehlende oder "Phantom"-Spalten in einer
vollständigen
m×m-Struktur
vor. Pakete, die entlang einer Zeile in einem Zeitschlitz entsprechend
einem Phantomschnittpunkt laufen, können nur innerhalb der Zeile
bleiben. Dies verringert die Netzeffizienz, stellt jedoch sicher,
dass auf alle mit realen Knoten zugegriffen werden kann.
-
3 zeigt
ein Manhattan-Street-Netz (MSN). Das n×n MSN ist ein regelmäßiges Netz
mit unidirektionalen Verbindungen und die Knoten besitzen einen
Eingangsgrad und Ausgangsgrad von 2. Logisch bilden die Verbindungen
ein Gitter auf der Oberfläche
eines Torus. Das MSN unterscheidet sich vom Torusnetz darin, dass
die Verbindungen in benachbarten Zeilen oder Spalten in entgegengesetzten
Richtungen laufen und das MSN nur in dem Fall definiert ist, in
dem die Zahlen von Zeilen und Spalten gerade sind. Das Routing-Schema für das MSN
unter Verwendung von gerichteten Pfaden Tij =
Cih ⋃ Cjv ist stark ähnlich zum Torusnetz; der Hauptunterschied
besteht darin, dass abwechselnde horizontale oder vertikale Zyklen
eine entgegengesetzte Orientierung aufweisen. Anders als im Torusnetz
ist die relative Routing-Effizienz des Routing mit gerichteten Pfaden
im MSN (im Vergleich zum Routing mit kürzestem Weg) geringer als 100
%. Der mittlere Abstand des kürzesten
Weges im MSN ist jedoch geringer als im Torusnetz mit gleicher Größe (der
sich einem Faktor von 2 kürzer
für große Netze
nähert).
Die kürzesten
Abstände
von gerichteten Pfaden zwischen Quellen-Ziel-Paaren im MSN hängen von
den relativen Orientierungen der Einwärts- und Auswärtsverbindungen
an den Knoten ab und die Formeln sind in Tabelle 1 dargelegt. Unter
Verwendung dieser Formeln kann die relative Routing-Effizienz (relativ
zum Routing mit kürzestem
Weg) berechnet werden. Diese zeigen, dass das Routing mit gerichteten
Pfaden im MSN, obwohl es weniger effizient als ein Algorithmus des
kürzesten
Weges ist, wie z. B. die "erste
Regel" von "Maxemchuk (Maxemchuk,
N.F.: "Routing in
the Manhattan Street Network ",
IEEE Transactions on Communications, 35, S. 503–512 (1987)) oder das Dead-Reckoning-Verfahren,
das in der internationalen Patentanmeldung PCT/GB 96/01823 des vorliegenden
Anmelders beschrieben ist, immer noch gut ist. Insbesondere ist
die Routing-Effizienz für
Routing mit gerichteten Pfaden in großen MSN ungefähr 0,65.
-
-
TABELLE
1: Kürzeste
Abstände
von gerichteten Pfaden zwischen Quellen-Ziel-Paaren im n × n MSN. Nur
für die
Zwecke dieser Formeln sind die Zeilen und Spalten jeweils sequentiell
mit 0, 1, ..., n–1
nummeriert. Gerade nummerierte Zeilen sind nach "rechts" orientiert; ungerade nummerierte Zeilen
sind nach "links" orientiert. Gerade
nummerierte Spalten sind in der "Abwärts"-Richtung orientiert;
ungerade nummerierte Spalten sind in der "Aufwärts"-Richtung orientiert.
Die Quelle befindet sich am Schnittpunkt der Zeile sr und Spalte
sc; ebenso befindet sich das Ziel am Schnittpunkt der Zeile dr und
Spalte dc. Wenn beispielsweise sr gerade ist und sc ungerade ist,
wird die Quellenknotenorientierung "nach oben und rechts" genannt.
-
4 ist
ein Blockdiagramm, das die Elemente des Knotens zeigt, die erforderlich
sind, um die Bestätigungsprotokolle
zu implementieren, und 5 zeigt die Komponenten, die
verwendet werden, um dies in Verbindung mit einem Routing-Verfahren
mit gerichteten Pfaden zu implementieren. 5 zeigt
die Struktur eines 2-fach verbundenen Knotens, der zum Einfügen in das
in 3 gezeigte MSN geeignet ist. In einer Photonennetz-Implementierung
sind die in 3 gezeigten starken Linien Lichtleitfaserwege.
Die Verzögerungseinheiten
an den zwei Eingängen
zum Knoten sehen die erforderliche Einstellung an den Längen der
zwei eingehenden Verbindungen vor, um die vorher beschriebene Anforderung
zu erfüllen,
dass auf jeder Verbindung, die ein Paar von Knoten verbindet, die
Signalgruppen-Flugzeit entlang der Verbindung gleich (qn + 1 – Δ)T sein sollte,
wobei q irgendeine ganze Zahl ist und Δ die Phasendifferenz zwischen
den Taktsignalen an den zwei Knoten, als Bruchteil der Zeitschlitzperiode
T ausgedrückt,
ist. Durch Vorsehen von zwei Verzögerungsleitungen (eine an jedem
Eingang) mit unabhängiger
Kompensation von Phasendifferen zen ist es auch möglich sicherzustellen, dass
die Pakete auf den zwei eingehenden Verbindungen relativ zueinander
und zum Zeitschlitztakt am Knoten korrekt synchronisiert werden.
Jede Verzögerungseinheit
könnte
aus einer Kombination von Folgendem bestehen: i) einer Länge einer
auf eine geeignete Länge
geschnittenen Faser zum Schaffen einer groben Zeitsteuereinstellung;
ii) einer stufenweise einstellbaren Verzögerungsleitung, die aus einer
Kette von 2×2
Raumschaltern und Faserverzögerungen
besteht, um eine Zeitsteuereinstellung auf innerhalb einige hundert
Pikosekunden zu schaffen; und iii) einer einstellbaren optischen
Verzögerungsleitung
im freien Raum (wie z. B. einer optischen Verzögerungsleitung des Typs ODL-300-15-SMF,
die von Santec Corporation hergestellt wird), um eine Feineinstellung
auf innerhalb einige zehn Pikosekunden zu schaffen. Es kann auch
erforderlich sein, langsame Driften in der optischen Weglänge der
eingehenden Verbindungen zu kompensieren. Diese Driften können durch
einen Umgebungsfaktor verursacht werden, der auf die Faser wirkt – beispielsweise
eine Bewegung, die eine Dehnung verursacht, oder Temperaturänderungen.
Diese kontinuierliche Umgebungskompensation kann durch Erfassen
einer Veränderung
der relativen Zeitsteuerung von eingehenden Paketankünften und
des Zeitschlitztakts am Knoten und Liefern eines elektrischen Rückkopplungssteuersignals zu
den Einheiten der stufenweise einstellbaren Verzögerungsleitung und der einstellbaren
Verzögerungsleitung
im freien Raum erreicht werden.
-
Die
Kopfverarbeitungseinheiten führen
die folgenden Aufgaben durch: i) Erfassen der Anwesenheit oder Abwesenheit
eines Pakets in einem Zeitschlitz; (ii) Erfassen der Ankunftszeit
eines Pakets; iii) Feststellen, ob ein eingehendes Paket an den
Knoten adressiert ist oder nicht; und iv) Lesen von Kopf-Flags wie
z. B. des ACK-Flags. Für die
Aufgaben i) und ii) ist es ausreichend, einen Photodetektor mit
einer Bandbreite von ~ 1 GHz zu verwenden, um einen Bruchteil des
Paketsignals zu erfassen. Die Anwesenheit eines Signals von diesem
Photodetektor während
des Zeitschlitzes zeigt die Anwesenheit eines Pakets an. Die Phasenbeziehung zwischen
dem Zeitschlitztakt und der Komponente dieses Photodetektorsignals,
die auf der Zeitschlitzrate liegt, kann unter Verwendung einer elektronischen
Phasenerfassungsschaltung erfasst werden, und eine zu dieser Phasendifferenz
proportionale Spannung liefert das Steuersignal, das für die vorstehend
erwähnte Rückkopplungssteuerschaltung
erforderlich ist. Für
die Aufgabe iii) ist es erforderlich, die Adresse im Paketkopf mit
der Adresse des Knotens zu vergleichen. Für eine ultraschnelle Photonenimplementierung
kann dies unter Verwendung des Verfahrens der ultraschnellen Binärworterkennung
durchgeführt
werden, die in der internationalen Patentanmeldung PCT/GB94/00397
des vorliegenden Anmelders beschrieben ist, wobei weitere technische
Details in WO 95/33324 offenbart sind. Eine experimentelle Demonstration
dieses Verfahrens ist im vorstehend angeführten Dokument von Cotter et
al. beschrieben. Wie in den vorstehend angeführten Anmeldungen beschrieben,
werden Adressenworte für
Pakete aus den Teilmengen von Binärworten ausgewählt, für die die
folgende Bedingung für
beliebige zwei Worte A, B in der Teilmenge gilt:
A ⊗ B = 0,
nur wenn A = B.
und A ⊗ B
= 1 ansonsten,
wobei A ⊗ B
die Boolesche Operation ist
-
Die
Worterkennung wird dann unter Verwendung einer einfachen UND-Operation
zwischen einem Adressenwort von einem Paket und dem Komplement der
Knotenadresse ausgeführt.
Ein geeignetes UND-Gatter ist ein optischer Halbleiterverstärker, der
eine Vierwellenmischung (FWM) unterstützt.
-
Das
Verfahren der Worterkennung stellt ein binäres Ausgangssignal bereit,
das angibt, ob die Kopfzieladresse der Knotenadresse entspricht
oder nicht.
-
Die
grundlegende Raumschaltoperation wird durch fünf Kreuzschienenschalter durchgeführt. Die
Verwendung von vielmehr fünf
Schaltern als nur einem stellt erstens die zusätzlichen Signalwege bereit,
die erforderlich sind, um zum und vom lokalen Hauptrechnersystem
zu verbinden, und macht es zweitens möglich, dass ein Knoten gleichzeitig
ein Paket liest und ermöglicht,
dass ein Paket weiterhin auf dem Schleifensignalweg läuft. Die
Schalter S2 und S3 stellen die Verbindungen mit dem lokalen Hauptrechnersystem
bereit und die Schalter S4 und S5 ermöglichen, dass eine Kopie eines
optischen Pakets zum lokalen Hauptrechner übertragen wird, während das
ursprüngliche
Paket über
S2 (oder S3) und S1 zu einer ausgehenden Verbindung weiterlaufen
kann. Geeignete Raumschalter, die zum Betrieb in einer Zeit von
1 ns oder weniger in der Lage sind, sind Lithiumniobat-Vorrichtungen
wie z. B. der Typ Y-35-8772-02, der von GEC Advanced Components geliefert
wird.
-
Ein
Knoten wie z. B. der vorstehend beschriebene kann verwendet werden,
um ein neues Paket vom lokalen Hauptrechner am Zielknoten in einen
Zeitschlitz einzufügen,
der bereits für
die Quelle reserviert ist. In diesem Beispiel wird dies durch Umschalten
von S2 oder S3 in die Kreuzposition durchgeführt. Dies kann durchgeführt werden,
um ein Bestätigungssignal,
das am Zielknoten erzeugt wird, als Alternative zur Verwendung eines
Teils des eingehenden Signals als Bestätigungssignal zurückzusenden.
Dieser Mechanismus kann auch verwendet werden, um zu ermöglichen,
dass die Quelle die Lieferung von Daten vom Zielknoten zurück zur Quelle
zeitlich plant und daher auch Prozesse an der Quelle, die auf diesen
Daten beruhen, zeitlich plant. Die Quelle und das Ziel können anfänglich kommunizieren,
um eine Zeit, nach der die Daten zur Verfügung stehen, und die Menge
an Daten festzulegen. Die Quelle kann anschließend ein Abfragesignal zum
Ziel senden, das eine Anzahl von Paketen umfasst, die ausreicht,
um die Menge an Daten zu enthalten. Der Zielknoten schreibt Pakete
in die entsprechenden Zeitschlitze und die Daten kommen anschließend wieder
an der Quelle eine vorbestimmte Zeit nach der Übertragung der Anzahl von Paketen
durch die Quelle an.
-
Ein
optischer Verarbeitungsblock ist in jeder der Eingangsleitungen
in den Routing-Schalter S1 enthalten. Dieser Block überschreibt
das ACK-Flag in einem Paket, wenn es erforderlich ist. Der Block
kann beispielsweise unter Verwendung eines optischen Zeitteilungs-Add/Drop-Multiplexers
implementiert werden, wie z. B. der integrierten Photonen-Halbleiterschaltungsvorrichtung,
die im Heinrich-Hertz-Institut
hergestellt wird ("Monolithically
integrated asymmetric Mach-Zehnder interferometer as a robust add/drop
Multiplexer for OTDM Systems",
E. Jahn et al., Electronics Letters, Band 32, S.216–217, 1996).
Dies würde
in Verbindung mit einem Verfahren zum Erzeugen eines geeigneten
optischen Steuersignals zum Fungieren als Synchronisationsimpuls
verwendet werden, wie z. B. jenem, das in der internationalen Patentanmeldung
Nr. WO 95/32568, eingereicht am 23. Mai 1995 von den vorliegenden
Anmeldern (BT-Akte
Nr. A24884), beschrieben ist.
-
Das
Netz kann einen Zeitschlitztakt mit einer Rate von 155 MHz (Periode
von 6,45 ns) verwenden. Dies ist ein Standardtakt, der derzeit in
SDH-Netzen verwendet wird, und kann über weite (nationale) geographische
Bereiche mit einem Taktjitter von weniger als 500 ps verteilt werden.
Das Paket kann aus 53 Bytes mit 100 GBit/s (4,24 ns Dauer) bestehen.
Ein geeignetes Schaltband für
den Betrieb der elektrooptischen Raumschalter ist 1 ns und außerdem bestehen
zwei Zeitschutzbänder
jeweils mit einer Größe von 0,6
ns. Innerhalb des Knotens kann die Position des aktuellen Zeitschlitzes
im Rahmen durch einen elektronischen Modulo-n-Zähler (für einen Rahmen, der n Zeitschlitze
lang ist) verfolgt werden, der die Zeitschlitztaktimpulse zählt. Während der
anfänglichen
Hochfahrphase des Netzes und anschließend, wenn Zeitschlitze verfügbar sind, kann
ein Knoten im Netz (als Master-Knoten bezeichnet) Pakete in einer
festen Position im Rahmen (wie z. B. der ersten Position) senden,
so dass die Zähler
in anderen Knoten auf die korrekte Phase synchron mit dem Master-Knoten zurückgesetzt
werden können.
-
Die
Raumschalter im Knoten werden durch die elektronische Schaltersteuereinheit,
die in
5 gezeigt ist und die auf der Basis der folgenden
Informationen handelt, aktiviert: i) ob die Position des Zeitschlitzes im
Rahmen einer "Kreuz"- oder "Schienen"-Konfiguration im
Routing-Zyklus mit gerichteten Pfaden entspricht oder nicht (1 Bit);
ii) ob ein eingehendes Paket den aktuellen Zeitschlitz belegt oder
nicht (1 Bit pro Eingangsanschluss); iii) ob die Zieladresse für ein eingehendes
Paket der Adresse des Knotens entspricht oder nicht (1 Bit pro Eingangsanschluss);
Informationsverarbeitung)z ob ein Paket, das im Ausgangspuffer des
Hauptrechners wartet, auf einen Ausgangsanschluss im aktuellen Zeitschlitz
zugreifen will oder nicht (1 Bit pro Ausgangsanschluss). Auf der
Basis dieser Informationen (insgesamt 7 Bits) sendet die elektronisch
Schaltersteuereinheit elektrische Ansteuersignale zu den Raumschaltern
in korrekter Synchronität
mit den Zeitschutzbändern zwischen
den Paketen und führt
in dieser Weise die folgenden Aufgaben durch: i) Leiten von eingehenden
Paketen zum Hauptrechner oder zu einem der Ausganganschlüsse; ii)
Leiten von Paketen vom Hauptrechner zu einem der Ausgangsanschlüsse, wenn
der erforderliche Zeitschlitz frei ist. Ein Beispiel der Logik,
die zum Durchführen
dieser Aufgaben erforderlich ist, ist folgendermaßen:
-
Die
Routing-Logik, für
welche dies ein Beispiel ist, ist ausreichend einfach, dass sie
unter Verwendung einer Festverdrahtung zusammen mit einem schnellen
8-Bit-Decodiererchip ohne den Bedarf für Arithmetik, Register oder
Nachschlagetabellen ausgeführt
werden kann. Es handelt sich um eine rein logische Kombinationsschaltung
und daher hängt
die Entscheidungszeit nur von Gatterverzögerungen ab. Die Schaltersteuereinheit
kann daher mit hoher Geschwindigkeit arbeiten, die für das Leiten
von Pakten in Netzen mit mehreren GBit/s geeignet ist. Ebenso verwendet
die Logik für
die vorstehend erörterten
Signalisierungsprotokolle eine rein kombinatorische Logik und kann
in derselben Weise unter Verwendung von Festverdrahtung und eines schnellen
Decodiererchip implementiert werden.