IrDA Link Management Protocol (IrLMP)
| IrDA Link Management Protocol (IrLMP) |
| setzt auf der durch IrLAP
bereitgestellten zuverlässigen Verbindung auf |
| ist ein notwendiger IrDA-Layer. |
| Funktionen von IrLMP sind u.a.
| Multiplexing,
mehrere IrLMP-Verbindungen können gleichen IrDA-Link
benutzen ; |
| Auflösung von Adresskonflikten
wenn zwei Geräte gleiche IrDA-Adresse
anmelden;
beide Geräte werden dann aufgefordert, jeweils neue Adresse
zu generieren; |
| Information Access Service
Art "Yellow Service", welcher auf jeweiligem Gerät verfügbare
Dienste beschreibt
kann auch als
separater Dienst aufgefasst werden,
wenngleich sehr eng mit IrLMP
verbunden |
|
| IrLMP spezifiziert LSAP-Dienste als Finite State Machine (FSM)
| beschreibt nur minimale Anforderungen an LSAP-Dienste
| DEVICE
DISCOVERY ermittelt zusätzliche Informationen über 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 |
|
|
| IrLMP Frame Format verwendet zwei zusätzliche Bytes,
| Sende-
und Empfangsadresse (jeweils 7 Bit) sowie |
| Unterscheidung zwischen
Kontroll- und Datenfeldern |
|
Multiplexing
| mehrere Verbindungen sollen gleichzeitig auf einem IrDA-Link senden können,
| Modell für Adressierung auf höheren Schichten |
|
IrLMP verwendet hierfür
| Logical Service Access Point (LSAP) und
| spricht Service oder Anwendung
innerhalb IrLMP an
z.B. ein Druckservice |
|
|
LSAP-Selector (LSAP-SEL).
| verweist
durch Zeiger der Länge 1 Byte auf einen LSAP,
| 0x00 IAS
adressiert Server |
| 0x01 bis 0x6F stellt LMP Verbindungen dar |
|
|
|
|
IAS - Yellow Pages für Dienste und Anwendungen
| IrDA definiert Informationsdienst,
| beschreibt die in einer Station
vorhandenen Dienste und Anwendungen |
| im
Information Access Service (LM-IAS) eingetragen |
| Zugriff erfolgt durch Client-Server-Modell.
| Client sendet seine Anforderungen an
andere Geräte
| gemäß
Information Access Protocols IAP |
| IAP wird nur innerhalb IAS verwendet |
|
| angesprochener IAS-Server antwortet auf Anfragen eines
Clients,
| liest Inhalte seiner Datenbank aus |
| Solche Anfragen
betreffen beispielsweise
| Namen des Geräts, |
| optionale Dienste oder |
|
unterstützte Version von IrDA |
|
|
|
|
| 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
Schnittstelle API bei Registrierung
und
De-Registrierung gesetzt werden,
| z.B. bei einem PAD. |
|
| IAS Information Base (IAS-IB) ist
Sammlung von Objekten,
| beschreiben verfügbaren Services für eingehende
Anforderungen |
|
| Information Base besteht aus
| einem Class Name und |
|
einem oder mehrere Attributen. |
|
| 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 |
| Informationen der IAS-IB werden mittels GetValueByClass ausgelesen. |
| angesprochenr Teilnehmer gibt an
| Class Name (z.B. Drucker) und |
| Namen des
gewünschten Attributes (z.B. LSAP-SEL) |
|
| Über entsprechende Return Codes
wird Erfolg bzw. Status der jeweiligen Operation mitgeteilt |
|