Rechnernetze
Home Nach oben

Technischer Aufbau

In den vorherigen Abschnitten wurde gezeigt, welche Symbole der PHY-Layer des FDDI-Protokolls für den Datenaustausch mit dem PMD-Layer verwendet. Im folgenden soll nun die Funktionsweise des PHY Layers, getrennt nach dem Sende- und Empfangspfad, genauer betrachtet werden.

Wie bereits bei der Beschreibung der PMD Schicht erwähnt, wandelt der PMD-Layer die vom Übertragungsmedium eingehenden optischen Signale in einen kontinuierlichen elektrischen Datenstrom um, und überträgt diesen an den PHY-Layer. Die erste Aufgabe der Empfangsfunktion im PHY-Layer (des Receivers) besteht darin, eine Dekodierung des eingehenden NRZI Datenstroms in eine NRZ-Darstellung vorzunehmen und ihn den weiteren Funktionen den PHY-Einheit zur Verfügung zu stellen (NRZI bedeutet im FDDI-Protokoll NRZI on ones, d.h. eine Signaltransition repräsentiert eine logische 1). Da der eingehende Datenstrom neben den reinen Nutzdaten auch die 125 MHz Taktinformation enthält, die zur Synchronisation zwischen dem Sender und dem Empfänger einer Nachricht verwendet wird, kann parallel mit der Entgegennahme der Daten der Sendetakt gewonnen werden, der für die weitere Übertragung des Datenstroms benötigt wird. Die Komponente, die diese Aufgabe erfüllt wird als Clock/Data Separator bezeichnet. Der Separator erhält hierfür von einem lokalen Taktgeber ein 125 MHz Signal – mit einer Toleranz ±50/1.000.000 Hz – und stellt somit sicher, dass jedes Bit des eingehenden Signals sicher erkannt werden kann. Im zweiten Schritt erfolgt dann die Übertragung der Nutzdaten – in serieller Form – an den Elasticity-Buffer, der für die Angleichung der mit dem Sendetakt eingehenden Daten an den lokalen Takt verantwortlich ist. Die Übertragung der Nutzdaten an den Elasticity-Buffer erfolgt weiterhin mit dem Sendetakt.

Wie bereits erwähnt, erfolgt die Übertragung zum Elasticity-Buffer mit Hilfe des aus den einkommenden Daten gewonnenen Takts, der innerhalb einer bestimmten Bandbreite Schwankungen unterliegt. Das eingehende Datensignal kann somit zum nominalen Takt (125 MHz) eine höhere oder eine niedrigere Frequenz aufweisen. Aus diesem Grund wird in jeder Station ein Elasticity-Buffer (ein nach dem FIFO Prinzip arbeitender Speicher) benötigt, der den Takt der einkommenden Daten an den lokalen Takt angleicht. Die Taktdifferenz zwischen den beiden an der Übertragung beteiligten Stationen darf – dies ist im Standard festgelegt – maximal 0,01% des nominalen Taktes (125 MHz) betragen. Damit ist sichergestellt, dass während der Synchronisation für die Pufferung der Daten nur eine bestimmte Anzahl von Speicherplätzen zur Verfügung gestellt werden muss. Der benötigte Speicherbedarf berechnet sich aus der Größe eines FDDI-Rahmens (4.500 Bytes) und der maximalen Abweichung von 1/10.000 (0,01%) zu 4,5 Bit (45.000 / 10.000). Um die Elastizität des Speichers von 4,5 Bit in beide Richtungen zu gewährleisten, ist ein minimaler Pufferspeicher von 10 Bit vorzusehen. Die Daten werden vom Empfänger erst dann aus dem Puffer entnommen, wenn dieser halb gefüllt ist. Damit ist sichergestellt, dass während der Übertragung eines Rahmens, auch bei einer maximalen Differenz zwischen dem Sende- und Empfangstakt für den Sender genügend Speicherplatz und für den Empfänger stets Daten zur Verfügung stehen. Die heute am Markt existierenden FDDI-Interface-Karten verfügen jedoch in der Regel über eine Speicherkapazität von 3 bis 10 Bytes.

Jedem FDDI-Rahmen geht ein Vorspann (Präambel) von Idle-Symbolen voraus, die sicherstellen, dass ein Einschwingvorgang zwischen dem Sender und dem Empfänger stattfinden kann. Dieser Vorspann hat eine minimale Länge von 16 Idle-Symbolen und dient der Abgrenzung zweier Übertragungsrahmen. Durch den unterschiedlichen Takt zwischen Sender und Empfänger einer Nachricht kann es nach der Übertragung eines Rahmens innerhalb des Elasticity-Buffer zu einem Löschen oder Einfügen von Idle-Symbolen kommen. Daten, die mit einer maximal erlaubten Taktrate eingehen und mit einer minimal erlaubten Taktrate ausgehen, haben den Puffer nach der Übertragung von 9.000 Symbolen (4.500 Bytes) vollständig gefüllt. Die nachfolgenden Idle-Symbole, die dem nächsten Übertragungsrahmen vorangestellt sind, können nicht mehr in den Puffer aufgenommen werden. Um jedoch weiterhin Daten mit dem Sendetakt übernehmen zu können und insbesondere keine Nutzdaten zu verlieren, werden einzelne Bits aus der Präambel gelöscht und erst die nachfolgenden Daten wieder in den Puffer übernommen. Im gegensätzlichen Fall ist der Puffer nach dem Auslesen des Übertragungsrahmens vollständig geleert und es kommt zum Einfügen von einzelnen Bits bevor der nächste Übertragungsrahmen mit vorangestellter Präambel in den Puffer übernommen werden kann. Die genaue Anzahl der Bits, die aus der Präambel gelöscht werden können, ist im Standard nicht festgelegt. Ein Löschen von Bits aus der Präambel kann jedoch frühestens nach dem Empfang von 9 Bits aus einer kontinuierlichen Idle-Symbolfolge geschehen. Das Einfügen von Bits in die Folge von Idle-Symbolen ist so durchzuführen, dass nur vollständige Idle-Symbole den Puffer verlassen.

Nach dem Verlassen des Elasticity-Buffers werden die Daten an den Decoder übertragen. Dessen erste Aufgabe besteht darin, den jetzt mit der lokalen Taktfrequenz eingehenden Datenstrom in einem seriell/parallel Register zu speichern, und ihn bitweise nach einer JK-Symbolfolge oder einem Line State Symbol zu durchsuchen. Eine gefundene JK-Folge oder ein Line State Symbol dient der Erkennung von Symbolgrenzen und im Fall einer JK-Folge zusätzlich der Identifizierung eines Datenblocks. Nachdem eine JK-Folge gefunden wurde, kann das byteweise bzw. das halbbyteweise (abhängig von der Implementierung) Auslesen der Daten aus dem Shift-Register erfolgen und die Dekodierung der Daten von der NRZ-Darstellung in die vom MAC-Layer benötigte Kodierung vorgenommen werden. Wird während der Übertragung von Nutzdaten innerhalb eines schon erkannten Rahmens erneut eine JK-Folge gefunden, wird diese sofort akzeptiert und die Übertragung des unvollständigen Rahmens eingestellt. Das letzte Byte bzw. Halbbyte des unvollständigen Rahmens wird ergänzt, wobei für das Ergänzen von Zeichen im Decoder die gleichen Regeln wie für den Elasticity-Buffer gelten. Das Ergänzen des Rahmens stellt sicher, dass der Rahmen ordnungsgemäß vom Ring entfernt werden kann (ganze Bytes bzw. Halbbytes). Abschließend werden die Daten 4 Bit parallel an den Smoother übertragen.

PHY-LAYER.WMF (10748 Byte)

Durch die beschriebene Arbeitsweise des Elasticity-Buffers kann es bei der Übertragung von mehreren FDDI-Datenpaketen zu einer Verschiebung in der Länge der Präambel kommen. Das heißt der ursprüngliche Abstand von 16 Idle-Symbolen zwischen den Rahmen kann durch die Arbeitsweise des Elasticity-Buffers oder des Decoders verändert werden, so dass einige Rahmen durch einen Vorspann mit mehr als 16 Idle-Symbolen und andere durch einen Vorspann mit weniger als 16 Idle-Symbolen eingeleitet werden. Mehr als 16 Symbole bereiten beim sicheren Erkennen von Übertragungsrahmen keine Probleme; erhöhen aber die im Ring befindliche Datenmenge. Weniger als 16 Symbole zwischen zwei Rahmen können jedoch dazu führen, dass ein Datenpaket nicht mehr sicher erkannt werden kann. Des weiteren benötigt der MAC-Layer eine bestimmte Anzahl von Idle-Symbolen, um die ihm zugeordneten Funktionen (Kopieren des Rahmens und Einfügen von Kontrollzeichen) durchzuführen. Aus diesem Grund wird in jeder PHY-Einheit eine sogenannte Smoothing Function integriert, die durch das Einfügen oder Löschen von Idle-Symbolen sicherstellt, dass ein Abstand von ca. 16 Idle-Symbolen zwischen zwei Übertragungsrahmen eingehalten wird. Zu diesem Zweck absorbiert der Smoother Idle-Symbole aus den Präambeln, die mehr als 16 Idle-Symbole enthalten und fügt Idle-Symbole in kürzere Präambeln ein. Der Smoother darf jedoch nicht beliebig Idle-Symbole einfügen, sondern muss sich hierbei aus einem Vorrat von zuvor entfernten Symbolen bedienen. Neben den Idle-Symbolen stehen hierfür Symbole zur Verfügung, die zuvor aus Rahmen gewonnen worden sind, deren Übertragung durch das Auftreten eines Fehlers abgebrochen wurde. Die letzte Funktion innerhalb des Empfangspfads besteht nach Abschluss der Aufgaben des Smoothers in der Übertragung der Daten an den MAC-Layer.

Neben den bereits beschriebenen Komponenten besitzt der PHY-Layer noch einen Line State Decoder, der permanent den Zustand der eingehenden Leitung (Link) überwacht und an das Station-Management (SMT) weiterleitet. Die Information über den Zustand der Leitung bezieht der Line State Decoder zum einen aus dem PMD Layer direkt und zum anderen vom Receiver, dem Elasticity-Buffer und dem Decoder. Sobald sich der Zustand auf dem Link verändert (z.B. durch den Übergang vom Idle_Line_State in den Active_Line_State), wird dies den SMT mitgeteilt. Das Station-Management leitet dann die erforderlichen Maßnahmen ein (die ausführliche Erläuterung der einzelnen Maßnahmen erfolgt im SMT-Abschnitt). Tritt ein Fehler innerhalb des Datenstroms auf, der diesen unbrauchbar macht, erfolgt zusätzlich eine Meldung an die MAC-Einheit.

Beim Senden werden die Überbrückung des MAC-Layers und das Senden von Daten durch den MAC-Layer unterschieden. In einigen Situationen ist es erforderlich, dass der PHY-Layer in der Lage ist, einen eingehenden Datenstrom direkt auf den Ausgang weiterzuleiten. Dies kann beispielsweise der Fall sein, wenn Daten über den B Port in den PHY-Layer gelangen und keine MAC-Schicht zur Bearbeitung dieser Daten zur Verfügung steht (z.B. bei Single MAC - Dual Attachment Stations). Die Funktion des Repeat-Filters besteht dann in der Überbrückung des MAC Layers, indem die Daten direkt auf den Ausgangsport weitergeleitet werden. Er dient in diesem Fall somit als Brücke zwischen den an der Übertragung beteiligten PHY Einheiten und kann insbesondere bei Konfigurationen, die durch eine Fehlersituation im Netzwerk entstehen, die Funktionalität des Rings aufrechterhalten. Neben dieser Aufgabe erfüllt der Repeat-Filter allerdings noch eine wichtige Filterfunktion. Der Repeat-Filter untersucht bei der Überbrückung der MAC Einheit die eingehenden Signale auf Fehler und verhindert die Weiterleitung von Information, deren Inhalt nicht aus Daten oder Idle-Symbolen besteht. In diesem Fall sendet der Repeat-Filter genau vier Halt Symbole, die von Idle-Symbolen gefolgt werden, an die nächste Station. Diese entfernt die Halt Symbole vom Ring und ersetzt sie durch Idle-Symbole. Darüber hinaus unterstützt der Repeat-Filter jedoch die Übertragung von beschädigten Datenrahmen (Fehler in der Checksumme), um der nachfolgenden Station die Fehlersituation anzuzeigen.

Normalerweise wird eine Übertragung jedoch durch die MAC Schicht direkt angestoßen, indem sie ein PH_UNITDATA.request an den Encoder sendet. Der Encoder führt dann zunächst eine Kodierung der Daten von der hexadezimalen Darstellung in die NRZ-Darstellung durch, wobei die Länge eines Halb-Oktetts auf 5 Bit erweitert wird (4B/5B Kodierung). Im Anschluss daran werden die Daten, die noch in einer parallelen Darstellung vorliegen, serialisiert und an den Transmitter übergeben. Dieser wandelt die Daten in die NRZI-Darstellung um und überträgt sie an den PMD-Layer. Die Übertragung von Daten, die vom Station-Management angestoßen wird, erfolgt in analoger Weise.