IrLAP
Auf der Sicherungsschicht wird zum Zugriff auf das Übertragungsmedium ein
Link Access Protokoll verwendet. Es bietet der LLC-Schicht sieben Dienste an:
| Sniffing |
| Stationserkennung (address discovery) |
| Adresskonfliktauflösung (address conflict resolution) |
| Verbindungsaufbau (connection establishment) |
| Datenübertragung (information transfer) |
| Zurücksetzen der Verbindung (Reset) |
| Verbindungsabbau (Disconnect) |
Das Verhalten einer Station kann durch einen Zustandsautomaten modelliert
werden: In jedem Augenblick befindet sich die Station in einem Zustand, aus dem
durch Aktionen oder Ereignisse in einen Folgezustand gewechselt wird.
Frame Format
Im IrLAP-Standard werden die Dateneinheiten als Frames bezeichnet. Ein Frame
ist ähnlich einem Block im HDLC-LAPB aufgebaut, wobei es zusätzliche oder
leicht geänderte Befehle gibt. Für die Steuerung während der Übertragung
wird ein zusätzlicher Befehl eingeführt:
| SREJ (Selective Reject) ermöglicht eine selektive
Wiederholung eines Informationsrahmens (d.h. Datenblocks). |
Für die Aufgaben der Verbindungskontrolle (U-Frames) werden die folgenden
Befehle verwendet.
| SNRM (Set Normal Response Mode) dient dem Aufbau einer
Verbindung oder der Zurücksetzung einer fehlerhaften Verbindung. Der
Verbindungsaufbau ist wie beim HDLC, d.h. der Empfänger antwortet mit einer
UA bzw. bei Ablehnung mit einem DISC. |
| FRMR (Frame Reject), falls ein nicht durch wiederholtes
Senden behebbare Fehler auftritt, z.B.
- undefinierter Befehl,
- maximale Datenlänge überschritten,
- inkorrekte Folgenummer,
- Steuerrahmen mit Datenfeld
- Frame außerhalb des Protokoll-Ablaufs |
| RNRM (Request Normal Response Mode) Verbindung
zurücksetzen. |
| XID (Exchange Station Identification) Dient der Stationserkennung,
Auflösung von Adresskonflikten sowie zum "Sniffing". |
| RD (Request Disconnect) Aufforderung eines sekundären
Station an die primäre Station, eine bestehende Verbindung zu beenden. |
| UI (Unnumbered Information) Da der IrLAP-Standard
verbindungslose und verbindungsorientierte Dienste unterstützt, kann mit
diesem Rahmen jeder Station, auch als Broadcast eine Nachricht maximaler
Länger geschickt werden; die Länge beträgt in der Regel 384 Bytes bei
nicht aktiven Station (die sich in Normal Disconnect Mode befinden), bei
Angabe einer Empfängeradresse für eine Station im aktiven Zustand (Normal
Response Mode) können Daten entsprechend der vereinbarten MTU (Maximum
Transmission Unit) übermittelt werden. |
| TEST (Test) Testen der Erreichbarkeit usw. anderer
Stationen. Es gibt entsprechend ein Informationsfeld (ähnlich dem
Unix-Befehl ping). |
Fehlererkennung und Fehlerkorrektur
Datenfehler werden mit einer Prüfsumme (CRC-16/32) erkannt und im Falle
eines erkannten Fehlers die Daten noch einmal übertragen. Das Verfahren läuft
analog dem HDLC-Protokoll ab.
Primär- und Sekundärstationen
Im IrLAP-Protokoll existiert stets genau eine Primärstation und eine oder
mehrere Sekundärstation. Die Sendeberechtigung bei mehreren Sekundärstationen
wird durch die Primärstation im Rahmen eines Polling-Verfahrens gegeben. Dazu
dienen die Polling-Bits (P/F-Bits) in den IrLAP-Rahmen.
Nach der Initialisierung durch das IrLAP-Protokoll befindet sich eine Station
stets in einem von zwei möglichen Zuständen:
| Normal-Response-Mode (NRM): Die Station ist im aktiven Zustand. Es
existiert eine Verbindung zu einer anderen Station und beim
Verbindungsaufbau wurde eine der Stationen zur Primärstation ernannt; die
andere ist dann die Sekundärstation. |
| Normal Disconnected Mode (NDM): Die Station ist im inaktiven Zustand. Es
können keine Nutzdaten übertragen werden. In diesem Zustand können
Stationserkennung und Adresskonfliktauflösung durchgeführt werden. Die Art
der ausgetauschten Information muss den MAC-Regeln entsprechen. |
Die IrLAP-Verbindung ist eine Halbduplex-Verbindung, d.h. eine Station kann
nicht gleichzeitig senden und empfangen. Die Sendeberechtigung wird daher von
der Primärstation durch Setzen des entsprechenden P/F-Bits gegeben. Wir ein U-
oder S-Frame gesendet, so wird durch das gesetzte Poll-Bit angezeigt, dass die
empfangende Station senden darf und antworten muss. Durch ein gesetzte F-Bit
zeigt die Sekundärstation an, dass sie das letzte Paket gesendet hat und die
Sendeberechtigung an die Primärstation zurückgibt.
Broadcast-Frames werden durch Verwendung einer spezielle Empfangsadresse (FFFFFFFFFFFF)
gekennzeichnet. Zur Quittierung muss der Empfänger der Primärstation einen
XID-Bestätigungsrahmen senden.
Sniffing
Mit dem Sniffing-Verfahren kann eine Station seine Bereitschaft zum
Datenaustausch den anderen Stationen mitteilen. Die Station wird in diesem Fall
auch als Sniffer bezeichnet. Die Prozedur läuft wie folgt ab:
- Eine sendewillige Station hört zunächst nach dem "Erwachen"
das Übertragungsmedium ab und geht in den Ruhezustand zurück, wenn sie
Datenverkehr entdeckt.
- Ist kein Datenverkehr entdeckt worden, so sendet die Station einen
XID-Rahmen mit der üblichen Broadcast-Adresse als Zieladresse, da sie die
Adresse der anderen Stationen noch nicht kennt. Die anderen Stationen
erkennen somit, dass die rufende Station einen Datenaustausch durchführen
kann und Sekundärstation werden möchte.
- Erhält die Station keine Antwort, so geht sie nach 2 bis 3 Sekunden in
den Ruhezustand zurück und versucht es dann noch einmal.
- Antwortet eine Station mit einem XID-Frame, so muss die rufende Station am
Stationserkennungsprozess teilnehmen. Antwortet eine Station mit einem
SNRM-Frame, so kann sie damit direkt eine Verbindung aufbauen.
MAC-Regeln
Der Zugriff auf das Übertragungsmedium wird über Bedingungen, die
sogenannten MAC-Regeln, festgelegt.
- Jeder Informationsaustausch geschieht über IrLAP-Pakete.
- Die Schnittstellengeschwindigkeit ist variabel. Zulässig sind die Raten:
2.400, 9.600, 38.400, 57.600, 115.200, 576.000, 1.152.000 sowie 4.000.000
Bits pro Sekunde.
- Um die Interoperabilität zwischen allen Geräten zu garantieren, werden
die grundlegenden Dienste bei einer kleinen Übertragungsrate, 9.600 bps,
ausgeführt.
- Stationserkennung
- Adreßkonfliktauflösung
- Verbindungsaufbau.
- Eine Primärstation überwacht den Verkehr. Sie spricht mindestens alle
500 ms eine Sekundärstation an und erteilt ihr eine Sendeberechtigung.
Diese muss die Sekundärstation innerhalb von 500 ms (maximale Sendezeit) an
die Primärstation zurückgeben. Bei mehreren Sekundärstationen kann die
Sendezeit von 500 ms unter allen Stationen aufgeteilt werden oder es kann
jede Sekundärstation 500 ms Sendezeit erhalten.
- Eine sendewillige Station muss das Medium mindestens 500 ms lang abhören
(560 - 600 ms). Wird kein Datenverkehr erkannt, wird in der Regel ein
XID-Discorvery-Frame gesendet.
- Sniffing-Regeln:
- Ehe eine Station einen XID-Frame sendet, muss sie mindestens 50 ms das
Medium abhören.
- In der Regel wird dann das Paket abgeschickt und danach noch einmal 50
ms das Medium auf eventuelle Kollisionen abgehört.
- Sollte beim Abhören ein anderer Datenverkehr erkannt werden, da die
Adressen nicht über einstimmen, wird erst nach 500 ms eine weiterer
Versuch gestartet. Ist das Medium dann wieder frei, wird wieder nur 50
ms gewartet.
- Abhängig vom gewählten Zeitintervall zum Sniffing setzt die Station
zwischen 2 und 3 Sekunden aus, ehe sie wieder senden darf: 2 s bei 400-560 ms Sendezeit, 2,5 s
bei 250-400 ms Sendezeit, 3 s bei 100-250 ms
Sendezeit.
- Time-Slot-Regeln:
Aufeinanderfolgende BOS-Frames (Beginning of Slot) müssen einen Abstand von mindestens 25 ms haben.
Nach 10 ms wird eine Quittung gesendet und nach 70 ms muss die Operation
abgeschlossen sein.
- Die Contention State Procedures dürfen in der Regel nur einmal wiederholt
werden, um bei einem Adresskonflikt nicht immer 500 ms warten zu müssen.
Außerdem kann eine Primärstation dadurch eine Punkt-zu-Mehrpunktverbindung
scheinbar gleichzeitig aufbauen.
- Nach einer Verzögerung von mehr als 10 ms interpretiert eine
Primärstation ein verspätetes Datenkpaket als ungültig. Diese Zeit wird
auch als Intercharacter-Timing bezeichnet und betrifft nur die
Primärstation, d.h. Sekundärstationen können auch nach mehr als 10 ms ein
Paket als korrekt empfangen.
Adressierung
Innerhalb der Verbindungsschicht werden zwei unterschiedliche Adressen
verwendet, eine 32-Bit-Stationsadresse und eine 7-Bit-Verbindungskennziffer.
Stationsadresse
Bei der Initialisierung der IrLAP-Schicht wird von jeder Station eine
32-Bit-Zahl zufällig gezogen. Diese dient der eindeutigen Identifikation der
angeschlossenen Station. Entdeckt die Primärstation beim Aufbau einer
Verbindung durch einen SNRM-Rahmen oder schon früher beim
Stationserkennungsprozess einen Adresskonflikt, so wird die sekundäre Station
aufgefordert, ihre Adresse zu ändern. Dieses geschieht durch Versenden eines
XID-Frames. Das XID-Frame-Format wird sowohl beim Sniffing als auch bei der
Stationserkennung verwendet.
Ist die sekundäre Station inaktiv (NDM), so wird von ihr einfach eine neue
Adresse generiert, die zusammen mit den anderen Verbindungsparametern and die
Primärstation übertragen wird. Eine aktive Station kann ihre Stationsadresse
natürlich nicht einfach ändern, so dass sie zunächst in den inaktiven Zustand
wechseln muss.
Verbindungskennziffer
Die 7-Bit-Verbindungskennziffer wird von der Primärstation generiert und zur
eindeutigen Identifikation einer Sekundärstation benutzt, falls mehrere offene
Verbindungen bestehen. Nach einem erfolgreichen Verbindungsaufbau wird analog
dem X.25-PLP nur noch diese Kennziffer zur Adressierung benutzt. Dadurch wird
der Frameoverhead reduziert, da nicht mehr 32-Bit-lange Stationsadressen
übertragen werden müssen. Konflikte können nicht auftreten, da die
Primärstation jeweils eine neue Nummer generieren kann.
Stationserkennung
Der Stationserkennungsprozess dient dazu, sämtliche Stationen innerhalb
einer IR-Zelle adressieren zu können. Dabei geben die ersten beiden Bits des
Discovery-Flag-Feldes die Anzahl N der Zeitschlitze (Slots) an, die eine
initiale Station zur Verfügung hat. Damit wird gleichzeitig die Zahl der
maximal möglichen Kommunikationspartner nach oben beschränkt. Laut
Spezifikation sind dieses sechzehn Stationen.
|