Rechnernetze
Home Nach oben

MAC Frames und MAC-Kommandos

Zur Übertragung von Netzwerkkommandos und -antworten werden spezielle Datenblöcke, die MAC-Frames, verwendet. Sie werden durch FF=00 in den ersten beiden Bits des Frame Control-Feldes gekennzeichnet.

Ein MAC-Frame besteht aus einem Vektor (vector) und einem oder mehreren Subvektoren (subvector). Die gesamte Länge eines Vektors in Bytes wird mit den ersten beiden Bytes des Vektors angegeben; zusätzlich wird eine Vektoridentifikation (vector identifier) von zwei Bytes verwendet, der die Ziel- und Quellklasse sowie das jeweilige Kommando angeben kann. Zu den Kommandos gehören folgende Befehle:

Beacon (BCN) zur Ermittlung eines (angenommen) Fehlers durch eine Station;
Claim Token (CL_TK) zur Anzeige der Übernahme der Monitorfunktion;
Purge MAC Frames (PRG) nach der Übernahme der Monitorfunktion oder des Auftretens eines Fehlers;
Active Monitor Present (AMP) zur Anzeige, dass die Monitorstation arbeitet;
Standby Monitor Present (SMP) zur Anzeige, dass eine Standby-Monitorstation betriebsbereit ist;
Duplicate Address Test (DAT) zur Ermittlung von mehrfach vergebenen Adressen.

Fällt die Monitorstation (hier als aktive Monitorstation bezeichnet) aus, so übernimmt eine Standby-Monitorstation deren Funktion. Damit diese den Ausfall der aktiven Monitorstation erkennen kann, sendet die aktive Monitorstation mindestens alle sieben Sekunden ein AMP Frame. Kommt dieses nicht mehr an, so sendet die Standby-Monitorstation solange ein Claim Token bis eines der folgenden drei Ereignisse eintritt:

  1. Ein Claim-Token trifft bei dieser Station ein mit einer größeren Senderadresse;
  2. Ein Beacon Frame trifft ein;
  3. Ein Purge Frame trifft ein.

Kommt das gesendete Claim Token unverändert bei der Standby-Monitorstation an, so wird diese zur aktiven Monitorstation. Durch Senden des Purge MAC Frames teilt sie dieses den anderen Stationen mit. Das PRG Token wird auch gesendet, wenn der Ring neu initialisiert wird oder wenn ein Token verloren gegangen ist. Nach dem PRG Token wird immer sofort ein Freitoken gesendet. 

Die Standby-Monitorstation sendet ebenfalls regelmäßig ein SMP Token, um den anderen Stationen mitzuteilen, dass sie betriebsbereit ist.

Sobald eine Station nicht mehr Token empfängt, geht sie davon aus, dass ein Fehler vorliegt. Um festzustellen, ob es sich um einen Ringfehler handelt, sendet sie ein Beacon Token. Der Bereich zwischen der sendenden Station und der letzten Station, die dieses Token noch empfängt, wird als Fehlerdomäne bezeichnet. Kann die Station dieses dem Netzadministrator mitteilen, so kann diese u.U. einfacher einen Kabelbruch lokalisieren.

Kommt das Beacon Token jedoch unverändert bei der absendenden Station wieder an, so handelt es sich offenbar um einen Fehler innerhalb der Station, so dass diese sich vom Netz schaltet und einen intensiven Selbsttest ausführt. Daneben wird von den anderen Stationen der Fehlerdomäne eine Autokonfiguration angestoßen, um den Betrieb durch gezieltes Abschalten einzelner Stationen weiter aufrecht zu erhalten.

Wird eine Station neu in den Ring eingebracht, so hat sie eine Reihe von Prozessschritten zu durchlaufen. Zunächst wird im Lobe-Prozess mittels einer Reihe von Lobe Media Test-Frames überprüft, ob der Anschluss zur Media Access Unit (MAU) korrekt funktioniert. Danach wird durch Anlegen einer Spannung von 5 V das Relais zum Anschluss in den Ring eingeschaltet.

Im zweiten Schritt wartet die Station eine gewisse Zeit (Insert Time), innerhalb der sie ein AMP-, SMP- oder Purge Frame erwartet. Gibt es keinen solchen Frame in dieser Zeit, dann beginnt die Station einen Claim-Prozess. Ist die Station die erste im Ring, so wird sie zur Monitorstation.

Im dritten Schritt wird das Duplicate Address Token (DAT) gesendet um festzustellen, ob die Adresse dieser Station eindeutig ist. Ist das nicht der Fall, so kann die Station nicht in den Ring aufgenommen werden.

Ansonsten lernt die Station im vierten Schritte mit dem Neighbor Notification Process die Adressen ihrer Vorgängerstation kennenlernen. Dazu wird die erste Station, die ein AMP Token empfängt, deren A-Bits (address recognized) und C-Bits (frame-copied) setzen und die Adresse der Vorgängerstation als Nearest Active Upstream Neighbor speichern. Außerdem setzt diese Station einen Timer, nach dessen Ablauf sie ein SMP-Token mit ihrer eigenen Adresse sendet. Die nächste Station setzt wieder A- und C-Bits und merkt sich die Adresse als NAUN. Nach einer Zeit sendet sie ebenfalls ein SMP Token mit ihrer Adresse usw. Dadurch wird nach endlich vielen Schritten jeder Station ihre Vorgängerstation kennen.

Im letzten Schritt wird die Station von einem zentralen Ringserver mit Informationen über die Ringnummer, Fehlerparameter usw. versorgt. Dazu sendet die Station eine Request Initialization, die vom Server mit einem Initialize-Ring-Station Frame beantwortet wird.