Rechnernetze
Home Nach oben Stichworte

IrDA Link Management Protocol (IrLMP)

Das IrDA Link Management Protocol (IrLMP) setzt auf der durch IrLAP bereitgestellten zuverlässigen Verbindung auf und ist ein notwendiger IrDA-Layer. Die Funktionen von IrLMP sind u.a. 

Multiplexing, so dass mehrere IrLMP-Verbindungen den gleichen IrDA-Link benutzen können;
Auflösung von Adresskonflikten, wenn zwei Geräte die gleiche IrDA-Adresse anmelden; beide Geräte werden dann aufgefordert, jeweils eine neue Adresse zu generieren; 
Information Access Service: Eine Art "Yellow Service", welcher die auf dem jeweiligen Gerät verfügbaren Services beschreibt. Dieses kann auch als separater Dienst aufgefasst werden, wenngleich er sehr eng mit dem IrLMP verbunden ist. 

IrLMP spezifiziert die LSAP-Dienste als Finite State Machine (FSM), wobei nur die minimalen Anforderungen an die LSAP-Dienste beschrieben werden. DEVICE DISCOVERY ermittelt zusätzliche Informationen über die anderen Teilnehmer bzw. IR Geräte. CONNECT verbindet Servicedienste des IrLMP miteinander. DATA überträgt Daten in beide Richtungen, und DISCONNECT trennt eine bestimmte IrLMP Verbindungen wieder auf, während andere IrLMP und IrLAP Verbindungen auch weiterhin bestehen bleiben können.

Das IrLMP Frame Format verwendet zwei zusätzliche Bytes, welche die Sende- und Empfangsadresse (jeweils 7 Bit) enthalten sowie eine Unterscheidung zwischen Kontroll- und Datenfeldern. 

Multiplexing

Damit mehrere Verbindungen gleichzeitig auf einem IrDA-Link senden können, muss ein Modell für die Adressierung auf den höheren Schichten vorhanden sein. IrLMP verwendet hierfür den Logical Service Access Point (LSAP) und den LSAP-Selector (LSAP-SEL). Über den LSAP wird ein Service oder eine Anwendung innerhalb des IrLMP (z.B. ein Druckservice) angesprochen. Der LSAP-SEL verweist durch einen Zeiger der Länge 1 Byte auf einen LSAP, wobei 0x00 den IAS Server adressiert und 0x01 bis 0x6F erlaubte LMP Verbindungen darstellen.

IAS - Yellow Pages für Dienste und Anwendungen

IrDA definiert einen Informationsdienst, welcher die in einer Station vorhandenen Dienste und Anwendungen beschreibt; dazu müssen diese im Information Access Service (LM-IAS) eingetragen werden. Der Zugriff erfolgt durch ein Client-Server-Modell. Dazu sendet der Client seine Anforderungen gemäß dem Information Access Protocols IAP (IAP wird nur innerhalb IAS verwendet) an andere Geräte. Der angesprochene IAS-Server antwortet auf die Anfragen eines Clients, indem er die Inhalte seiner Datenbank ausliest. Solche Anfragen betreffen beispielsweise den Namen des Geräts, optionale Dienste oder die unterstützte Version von IrDA. 

Der Server verwendet lokale Informationen (IAS-IB), ähnlich denen einer MIB bei SNMP. Diese Informationen können fest abgelegt sein (z.B. bei einem embedded System wie einer Armbanduhr) oder sie können über eine Schnittstelle API bei der Registrierung und De-Registrierung gesetzt werden, wie z.B. bei einem PAD.

Die IAS Information Base (IAS-IB) ist eine Sammlung von Objekten, welche die verfügbaren Services für eingehende Anforderungen beschreiben. Die Information Base besteht aus einem Class Name und einem oder mehrere Attributen. Ein IAS Objekt hat den folgenden Aufbau:

Class Name ( bis zu 60 Oktets)
Attributnamen (bis zu 60 Oktets)
bis zu 256 Attribute
Attributwerte
ein Anwender String (bis 256 Oktets)
Oktet Sequenz (bis 1024 Oktets)

Beispiel einer Information Base für Device Class:

Attributname  Attributtype  Wert  Beschreibung 
Name des Gerätes  ID String  "PDA Außendienst"  Gerätebeschreibung 
IrLMP Support  Oktet  0x01, 0x37, 0x00 IrLMP Version , IAS 
IrDA:IrLMP:LsapSel  Integer  0x03 LSAP Selektor für IrLMP 
IrDA:TinyTP:LsapSel  Integer  0x04 LSAP Selektor für TinyTP

Die Informationen der IAS-IB werden mittels GetValueByClass ausgelesen. Der angesprochene Teilnehmer gibt den Class Name (z.B. Drucker) und den Namen des gewünschten Attributes (z.B. LSAP-SEL) an. Über entsprechende Return Codes wird der Erfolg bzw. Status der jeweiligen Operation mitgeteilt.