Rechnernetze
Home Nach oben

Das Timed-Token Rotation Protokoll

Das FDDI-Protokoll ist eine Kombination aus dem IEEE 805.5 16 Mbit/s Token Ring Protokoll, das um die Early Token Funktionalität erweitert wurde, und dem Token Bus Protokoll. Die Grundlage für die Durchführung der Hauptaufgabe der MAC Schicht – der Paketierung und Übertragung von Daten, die vom LLC bereitgestellt werden – bildet das Timed-Token RotationProtokoll, welches mit Hilfe der Token-PDU den Zugang zum Übertragungsmedium regelt.

Nach dem physikalischen Aufbau eines FDDI-Netzes befinden sich alle Stationen (MAC Schichten) des Rings in einem Zustand, in dem keine Datenübertragung zwischen den einzelnen Stationen möglich ist. Aus diesem Grund muss zunächst eine Initialisierung durchgeführt werden, die als Ergebnis eine Station bestimmt, die das Initiale Token aussenden darf und damit die Datenübertragung einleitet. Zu diesem Zweck senden alle Stationen im Ring permanent das sogenannte Claim Token an die jeweils nachfolgenden Stationen, in der sie dieser die von ihnen gewünschte Ringumlaufzeit (T_Bid_TX im Info Feld des Frames) mitteilen. Diese Zeitspanne wird als Target Token Rotation Time (TTRT) bezeichnet und beinhaltet einen Wert, der zwischen den beiden im FDDI-Protokoll definierten Werten T_Min (4 ms) und T_Max (165 ms) angesiedelt ist. Wird dieses Token nun von der nachfolgenden Station im Ring erkannt (FC = 1L00 0011), so vergleicht die Station die darin enthaltene TTRT mit der von ihr im T_Req Register gewünschten (gespeicherten) TTRT. Erkennt sie, dass ihre eigene TTRT einen größeren Wert als die in dem empfangenen Claim Token eingetragene TTRT aufweist, stellt sie die Übertragung ihres eigenen Claim Tokens ein, setzt das T_Neg Register auf den durch den TTRT bestimmten Wert und sendet das empfangene Claim Token (das erste Claim-Frame wird gestripped; die nachfolgenden Claim Tokens werden repeated) an ihre nachfolgende Station weiter (bei gleichen TTRTs gewinnt die numerische größere Sendeadresse). Dieses Verfahren wird solange durchgeführt, bis eine Station ein Claim Token empfängt, das ihre eigene Sendeadresse enthält. Der Ring ist zu diesem Zeitpunkt also nur mit dem Claim Token einer Station belegt, das von allen Stationen permanent gesendet und akzeptiert wird. Die Station, die den Claim Prozess gewonnen hat – das Token also am häufigsten für die Übertragung von Daten benötigt (von ihr wurde die kleinste Ringumlaufzeit gewünscht) – setzt das T_Opr Register auf den Wert von TTRT, initialisiert den TRT (Target Rotation Timer) neu und sendet danach ein einzelnes nonrestricted Token aus, mit dem sie die Initialisierung des Rings einleitet.

Zur Absicherung vor Fehlern bei der Initialisierung des Netzes unterliegt der Claim Prozess einer Zeitüberwachung, die sicherstellt, dass auch bei einer maximalen Ausdehnung eines FDDI-Rings (200 km) und einer maximalen Stationsanzahl (500 bzw. 1000 MAC Schichten) der Claim Prozess sicher beendet werden kann. Zu diesem Zweck initialisieren alle Stationen ihren Token Rotation Timer (TRT) mit dem Wert von T_Max (165 ms). Dieser ist so gewählt, dass der Claim Prozess bei einem physikalisch intakten Ring in jedem Fall beendet werden kann. Meldet die Zeitüberwachung dennoch während des Claim Prozesses einen Fehler, so wird der Claim Prozess abgebrochen und der Beacon Prozess gestartet. Dieser zeigt gewöhnlich einen schwerwiegenden Fehler im Ring an. Die Ursache hierfür kann z.B. im Abschalten einer Station während des Claim Prozesses liegen, die eine Rekonfigurierung des Rings erforderlich macht. Zur Durchführung dieses Prozesses, der als Beacon Prozess bezeichnet wird, sendet die Station, die den Fehler erkannt hat, kontinuierlich das Beacon Frame (FC 1L00 0010) an die nachfolgende Station, die das Frame unverzüglich weiterleitet. Dieser Vorgang wird solange fortgesetzt, bis der Ring rekonfiguriert ist, d.h. die Station, die ursprünglich die Rekonfiguration angestoßen hat, ihr eigenes Beacon Frame empfängt und wieder einen Claim Prozess anstarten kann.

Der Gewinner des Claim-Prozesses hat bei einem erfolgreichen Abschluss ein initiales Token auszusenden, welches als Information die ausgehandelte TTRT enthält, die alle anderen Stationen in ihr Register T_Neg übernehmen. Während der Initialisierungsphase sind in den Stationen verschiedene Variablen gesetzt, die den aktuellen Zustand des Rings beschreiben. Die boolesche Variable Ring_Operational zeigt an, ob sich der Ring gegenwärtig in einem arbeitsbereiten Zustand befindet. Sie wird gelöscht, falls eine Station ein Claim oder ein Beacon Frame empfängt, oder falls sie selbst nach der Aufforderung MAC_Reset vom Station-Management die Ringinitialisierung durchführen möchte. In den Phasen, in denen die Variable Ring_Operational nicht gesetzt ist, werden alle Anfragen nach einer Datenübertragung abgelehnt.

Empfängt eine Station das vom Gewinner des Claim Prozesses ausgesendete Token, so kopiert sie den Wert von T_Neg in das T_Opr Register, setzt den Wert von TRT zurück (Reset) und belegt das Late_Ct Register (Counter) mit 1. (Das Late_Ct Register zeigt gewöhnlich an, dass das Token spät empfangen wurde, verhindert jedoch in diesem Fall beim nächsten Umlauf des Tokens die Aussendung von asynchronen Daten.) Darüber hinaus erfolgt in der Initialisierungsphase die Gleichschaltung aller TTRT Werte im Ring.

Nachdem das initiale Token wieder die Station erreicht hat, die den Claim Prozeß gewonnen hat, kann die Übertragung von (synchronen) Nutzdaten – sofern diese beim Synchronous Bandwith Management Prozess (SBM) angemeldet sind – erfolgen. Der SBM-Prozeß ist Bestandteil des Station-Managements und vergibt die in Abhängigkeit von der TTRT noch freie synchrone Bandbreite an Stationen, die synchrone Bandbreite beantragen. Der zeitliche Anteil an der TTRT, der für synchrone Daten vom SBM zur Verfügung gestellt werden kann, unterliegt allerdings einer Beschränkung, da durch die Vergabe von synchroner Bandbreite die Tokenumlaufzeit verlängert wird und dadurch u.U. Anforderungen bestimmter Stationen nicht mehr erfüllt werden.

Solange jedoch synchrone Bandbreite verfügbar ist, kann von einer Station zusätzliche oder neue synchrone Bandbreite beim Station-Management (bzw. bei SBM) angefordert werden, ohne die zeitlichen Restriktionen für die Tokenumlaufzeit zu verletzen. Die Übertragung von asynchronen Daten kann prinzipiell erst (in Abhängigkeit von der Ankunftszeit des Tokens) mit dem dritten Umlauf des nonrestricted Tokens erfolgen.

Die Unterteilung von Daten in asynchrone und synchrone Bestandteile ist ein wesentliches Merkmal des FDDI-Protokolls. Dabei bezeichnet man als synchrone Daten den Anteil am Datenverkehr, für den eine fest definierte Bandbreite mit garantierten Antwortzeiten vorhanden ist. Sie wird in erster Linie für Anwendungen im Bereich der Video- und Audiodatenübertragung genutzt, die nur durchgeführt werden kann, wenn bestimmte zeitliche Bedingungen eingehalten werden. Als asynchrone Bandbreite bezeichnet man die dynamisch, in Abhängigkeit von der Ankunftszeit des Tokens, vergebene Bandbreite. Sie wird für Anwendungen benutzt, deren mengenmäßiger wie auch zeitlicher Bedarf nicht vorhersehbar ist. Die Vergabe beider Arten von Bandbreite wird durch das Timed Token Rotation Protokoll und damit im wesentlichen durch den Inhalt des TRT Werts beim Empfang des Tokens bestimmt. Das Verhalten des Timed Token Rotation Protokolls soll in den folgenden Abschnitten für einen bereits initialisierten Ring beschrieben werden.

Jede MAC Schicht der Stationen in einem Ring verwendet den TRT zur Bestimmung der Zeit, die seit dem Aussenden des letzten Tokens vergangen ist, und setzt ihn bei jeder Ankunft des Tokens zurück. Wird der TRT zurückgesetzt, ehe dieser den Wert von T_Opr erreicht hat, signalisiert dies ein sogenanntes frühes Token bzw. ein nicht voll ausgelastetes Netzwerk. Eine Station, die ein frühes Token empfangen hat, wird damit die Erlaubnis erteilt, eine bestimmte Menge (abhängig vom Wert des TRT) asynchroner Daten zu übertragen. Dazu kopiert die Station den Wert des TRT in den THT (Token Hold Timer) und setzt den Wert von TRT auf seinen initialen Wert zurück. Die Differenz zwischen dem THT und dem TTRT bestimmt die Zeit, die für die Übertragung asynchroner Daten von dieser Station verwendet werden darf. Nachdem der THT den Wert von TTRT erreicht hat, muss das Token, das vor der Übertragung der Daten vom Ring entfernt worden ist, wieder freigelassen werden. Damit erhält die nächste Station die Sendeberechtigung für den Ring.

Optional kann die asynchrone Bandbreite jedoch noch zusätzlich in unterschiedliche Prioritätsklassen eingeteilt werden, die eine feinere Aufteilung der asynchronen Bandbreite in einem FDDI-Netzwerk erlaubt. Dazu werden zeitliche Schwellwerte für die einzelnen Prioritätsklassen (T_Pri[n]=Zeit]) definiert, die das Aussenden von asynchronen Daten einer bestimmten Klasse schon vor dem Ablauf des THT Timers verbieten. Mit dieser Einteilung kann die Menge der zur Verfügung stehenden asynchronen Bandbreite in einem FDDI-Netz auf mehrere Stationen verteilt werden. Andernfalls kann eine Station, die ein frühes Token erhält die gesamte asynchrone Bandbreite – unabhängig von der Priorität der Daten – für ihre Zwecke nutzen.

Das bisher beschriebene Verfahren zur Vergabe von asynchroner Bandbreite beruht auf der Entnahme eines nonrestricted Tokens vom Ring, und der im Anschluss daran, in Abhängigkeit vom THT, durchgeführten Übertragung. Das FDDI-Protokoll sieht jedoch noch eine weitere Möglichkeit zur Vergabe von asynchroner Bandbreite vor, welche die exklusive Zuteilung der in einem Ring verfügbaren asynchronen Bandbreite an eine Station erlaubt. Bei diesem Verfahren entnimmt eine Station, die eine exklusive Datenübertragung durchführen möchte, nach Abstimmung mit dem Station Mangement ein nonrestricted Token vom Ring und sendet im Anschluss ein sogenanntes Initiale Frame, das von einem restricted Token gefolgt wird. Der Empfänger des Initiale Frames führt einen Zustandswechsel in den restricted Mode durch und sendet für die Zeitspanne des exklusiven Dialogs, die ein Vielfaches der TTRT betragen kann, restricted Token aus.

Im Restricted Mode besitzt nur eine Station das Recht, asynchrone Daten zu übertragen; allen anderen Stationen ist die Übertragung von asynchronen Daten untersagt, da für den asynchronen Zugriff auf den Ring stets ein nonrestricted Token empfangen werden muss. Da dies auch für die Initiierung eines exklusiven asynchronen Datenverkehrs gilt, kann während der Phase, in der restricted Token auf dem Ring verwendet werden, keine andere Station exklusive Bandbreite beantragen. Synchrone Daten werden hingegen unabhängig von solchen Phasen übertragen, in denen einer bestimmten Station die gesamte asynchrone Bandbreite exklusiv zugeordnet ist, da für die synchrone Übertragung beide Tokenarten verwendet werden können. Der restricted mode wird beendet, wenn die Station, die die exklusive Bandbreite angefordert hat, diese wieder freigibt und ein Finale Frame an die Zielstation aussendet.

Global wird die Verwendung des exklusiven asynchronen Datenverkehrs durch das Station-Management kontrolliert, welches die maximal zur Verfügung stehende Zeit für diese Art des Datenverkehrs bestimmt und überwacht. Nach Ablauf der vereinbarten Zeit veranlaßt das Station-Management den Abbruch der Verbindung über das SMT Protokoll. Die Unterstützung des exklusiven asynchronen Datenverkehrs und dessen Überwachung mit Hilfe des THTs ist optional und wird für die Funktionsfähigkeit des FDDI-Rings nicht benötigt. Voraussetzung für die Übertragung von asynchronen Daten ist jedoch in jedem Fall der Empfang des Tokens bevor der TRT den Wert von T_Opr erreicht hat. Dies gilt für die normale asynchrone, die in Prioritätsklassen eingeteilte asynchrone und für die exklusive asynchrone Bandbreite. Wird diese Voraussetzung nicht erfüllt, ist lediglich die Übertragung synchroner Daten möglich. Durch diesen Mechanismus wird verhindert, daß die während des Claim Prozesses ausgehandelte TRT überschritten wird und Stationen, die eine zeitkritische Datenübertragung durchführen möchten, das Token nicht rechtzeitig erhalten.

Jede MAC Schicht führt permanent eine Überwachung (Monitoring) des Rings durch, indem sie ständig die Ringumlaufzeit des Tokens kontrolliert und die Aktivitäten des Rings beaufsichtigt. Sie benutzt dazu den sogenannten Valid-Transmission Timer (TVX), der den Schwellwert für die Zeit angibt, in der kein Übertragungsrahmen empfangen wurde, jedoch von einer korrekten Funktion des Rings ausgegangen werden kann. Der hierfür benötigte Wert bestimmt sich aus dem Wert von D_Max, der die maximale Laufzeit für einen Starting Delimiter (SD) in einem 200 km langen Ring und den dabei entstehenden Verzögerungen in den Stationen, bei einem maximal ausgebauten Ring (1000 MAC Einheiten), ergibt. Dieser Wert beträgt 1,617 ms. Zusätzlich muss jedoch noch die Zeit berücksichtigt werden, die für die Übertragung eines Tokens (0,00088 ms = 6 Symbole und 16 Präambel Symbole) sowie eines Frames maximaler Länge (0,361 ms = 9.000 Frame und 16 Präambel Symbole) aufgewendet werden muss.

Fehlerhafte Aktionen innerhalb des Rings – z.B. Protokollstörungen – werden durch das mehrfache Ablaufen des TVX oder durch die Überwachungsfunktionen des Station-Managements festgestellt. Zur Behebung dieser Fehler sind verschiedene Mechanismen im Protokoll implementiert (Claim- oder Beacon Prozesse), die bereits beschrieben wurden. Die verteilte Überwachung des Rings in jeder MAC Schicht ist ein wichtiges Unterscheidungsmerkmal zum IEEE 802.5.