(Prof. Dr. C. Vogt, Nachrichtentechnik, FH Köln - mit Dank an Daniel Steeg für die Erstellung dieser Visualisierung und an die Zentrale Arbeitsstelle Multimedia für die finanzielle Unterstützung)
Der Token Ring basiert auf dem Standard IEEE 802.5 aus dem Jahre 1985. Er ist ein LAN (Local Area Network),
bei dem die einzelnen Stationen zu einem logischen Ring zusammengeschaltet sind.
Die Datenübertragungsrate beträgt typischerweise entweder 4 MBit/s oder 16 MBit/s;
ein Standard mit 100 MBit/s ist in Arbeit.
Zur Verkabelung wird hauptsächlich abgeschirmtes Koaxial-Kabel, aber auch Twisted Pair und Glasfaser-Kabel
verwendet.
Eine Station fungiert im Ring als sogenannte "Monitor"-Station, die ein "Token" erzeugt,
das auf dem Ring rotiert. Dieses Token besteht aus einem sogenannten "Starting Delimiter (SD)", einem
"Access Control (AC)"- und einem "Frame Control (FC)"Feld, die jeweils eine Größe
von einem Byte haben:
Will eine Station senden, muß sie das (freie) Token erhalten. Sie ändert dann den Zustand des Tokens von "frei" auf "besetzt", hängt ihre Daten an das Token an und schickt dieses Datenpaket wieder auf den Ring. Jedes Paket enthält neben den eigentlichen Daten die Adresse des Absenders (SA) und die Zieladresse (DA) sowie einen "End Delimiter (ED)" und eine "Frame Checking Sequence (FCS)", die zur Fehlerkorrektur dient:
Jede Station liest nun das vorbeikommende Paket. Stimmt die Zieladresse mit der eigenen überein, so kopiert
die Station die angekommenen Daten in ihren lokalen Speicher und schickt das Paket auf dem Ring weiter.
Erhält eine Station ein von ihr gesendetes Paket, so entfernt sie dieses wieder vom Netz und markiert das Token
wieder als "frei".
Der "Starting Delimiter" hat folgendes Format:
Hierbei steht "J" für eine sogenannte positive Code-Violation, "K" für eine negative
(Stichwort: "Differentieller Manchester-Code").
Damit ein Token als gültig angesehen wird, muß es mit exakt dieser Bitfolge beginnen.
Das "Access Control Field" setzt sich folgendermaßen zusammen:
Priorität: In diesen 3 Bits wird die Priorität des Tokens gespeichert.
Ein freies Token mit einer bestimmten Priorität darf nur von solchen Stationen
belegt werden, die Verkehr mit dieser oder einer höheren Priorität zu senden haben.
"T" steht für "Token"-Bit und ist "0", wenn das Token frei ist, und "1",
wenn das Token besetzt ist, d.h. wenn Daten an ihm hängen. Man spricht in letzterem Fall von einem "Frame".
"M" steht für "Monitor"-Bit, bei normalen Datenpaketen steht hier eine "0".
Reservation: Die Reservierung-Bits ermöglichen es einer Station, in einem vorbeikommenden belegten Token
Verkehr mit einer bestimmten Priorität anzumelden. Bei der Rückwandlung in ein freies Token wird diese
reservierte Priorität in die Token-Priorität (siehe oben) übernommen, so daß Stationen,
die eine niedrigere Priorität haben, auf dieses Token nicht zugreifen können und die höherpriore
Station zum Zuge kommt.
Die Prioritätsklassen beim Token Ring sind in der folgenden Tabelle dargestellt:
Priorität | Beschreibung |
---|---|
0 | normaler Datentransfer |
1-3 | Datentransfer mit höherer Priorität |
4 | Bridges |
5-6 | reserviert |
7 | vom Stationsmanagement benutzt |
Das "Frame Control Field" sieht folgendermaßen aus:
"F" steht für "Frame Type Bits". Hier wird angegeben, um welchen Frametyp es sich handelt;
gültige Werte sind "00" für einen MAC-Frame und "01" für einen LLC-Frame.
"r" sind reservierte Bits, die zur Zeit noch nicht genutzt werden, immer "0" sind und von den
Ringstationen nicht beachtet werden.
"Z" sind Kontroll-Bits, die bei einem MAC-Frame angeben, wie der Frame von den Ringstationen zwischengespeichert
werden soll. Man unterscheidet zwischen "normal buffering" und "express buffering".
Der "Ending Delimiter" hat folgendes Format:
Wie schon beim "Starting Delimiter" bedeuten hier "J" und "K" sogenannte Code-Violations.
Bei einem gültigen "Ending Delimiter" müssen die ersten 6 Bits exakt den hier gezeigten Aufbau haben.
"I" steht für "Intermediate Frame Bit" und ist in einem "freien" Token sowie in einer nur
aus einem Frame bestehenden Datenübertragung "0".
Handelt es sich bei den zu sendenden Daten um eine Übertragung, die aus mehreren Frames besteht, wird dieses Bit für den
ersten und alle folgenden Frames auf "1" gesetzt. Nur beim letzten Frame wird es auf "0" gesetzt, um zu
zeigen, daß die Datenübertragung mit diesem Frame beendet ist.
"E" bedeutet "Error-Detected Bit" und wird von einer Station auf "1" gesetzt, wenn sie in
dem gerade von ihr gelesenen Frame einen Fehler (z.B. eine Code-Violation zwischen Starting und Ending Delimiter) entdeckt
hat.
Im folgenden Beispielapplet rotiert ein Token auf einem Ring mit vier Stationen. Die Stationen wollen von Zeit zu Zeit
ein Datenpaket an eine bestimmte andere Station senden und versuchen, ein freies Token zu bekommen und ggf. ein belegtes
Token für sich zu reservieren, wenn sie Verkehr mit einer höheren Priorität haben.
Unter dem Ring wird dargestellt, wie das Datenpaket auf dem Ring jeweils aussieht und welche Werte
die Prioritäts- und Reservierungsbits haben.
Hinweis: Bei Wiedergabe mit dem Internet Explorer von Microsoft kann es zu Problemen kommen. In diesem Fall bitte einen Netscape-Browser verwenden.
© 28.8.2000 Prof. Dr. Carsten Vogt - Kommentare sind willkommen.