Rechnernetze
Home Nach oben

Anwendungsdienstelemente nach OSI

Die Anwendungsschicht setzt sich aus verschiedenen spezifischen Anwendungsdienstelementen (SASE=Specific Application Service Element) zusammen, welche spezielle Dienste (Dateiübertragung, Directory-Dienste, Nachrichtenübermittlung usw.) anbieten. Diese verwenden in der Regel gemeinsame Anwendungsdienstelemente (CASE=Ccommon Application Service Element). SASE wird auch als Anwendungseinheit (AE=Application Entity) bezeichnet.

Wir betrachten in diesem Abschnitt CASE etwas genauer und gehen in den folgenden Abschnitten auf die speziellen Anwendungsdienste ein. In CASE sind verschiedene Dienste zusammengefaßt, die von SASE benutzt werden. Die wichtigsten Beispiele für CASE sind

Der Verbindungskontrolldienst (ACSE=Association Control Service Element) baut Verbindung auf und ab. Solche Verbindungen werden auf dieser Schicht Associations genannt. Der Aufbau einer Verbindung durch A-ASSOCIATE.REQUEST wird von der Gegenseite bestätigt; der Abbau geschieht geordnet durch A-ASSOCIATE.REQUEST, bzw. ungeordnet durch A-ASSOCIATE.ABORT.
Die Dienste zur entfernten Operationskontrolle (ROSE=Remote Operation Service Element) rufen mit dem Dienstelement RO-INVOKE eine Operation auf. Ergebnisse werden mit FACE="Courier,Courier New" >RO-RESULT geliefert, und Fehler durch RO-ERROR gemeldet. Durch RO-REJECT-U bzw. RO-REJECT-P wird die Ausführung einer entfernten Operation abgewiesen; U steht für User, P für Provider.
Die RO-Dienste werden in der Regel über Makros aufgerufen mit Namen wie Bind, UNBIND, OPERATION und ERROR. Für den Verbindungsaufbau werden Dienstelemente des Association Controls und des Reliable Transfers verwendet.
Die Dienste zur zuverlässigen Übertragung von Daten (RTSE=Reliable Transfer Service Element) sorgen insbesondere bei einer Unterbrechung der Verbindung dafür, daß eine gesicherte Wiederaufnahme und Beendigung erfolgt. Es werden die Dienstelemente RT-OPEN und RT-CLOSE für die Verbindungseröffnung sowie RT-TRANSFER für die Datenübertragung verwendet.
Die Sendeberechtigung wird durch einen Token (TURN) geregelt, der durch RT-TURN–PLEASEangefordert und durch RT-TURN-GIVE überlassen wird. Dieser Dienst wird vorwiegend für die Nachrichtenübertragung (MHS) verwendet, bei dem ein Monolog-Modus ausreicht. Mit den Dienstelementen RT-U-ABORT und RT-P-ABORT werden die Verbindungen abgebrochen.
Dienste zur Synchronisation atomarer Aktionen (CCR=Commitment, Concurrence, and Recovery) leiten mit C-BEGIN eine Aktion ein, z.B. die Übertragung von Daten. Durch ein C-PREPARE wird der Empfänger aufgefordert, die Aktion zu beenden (die Daten zu speichern). Kann er diese Arbeit erfolgreich abschließen, so sendet er ein C-READY, ansonsten ein C-ROLLBACK, nach welchem Sender und Empfänger in ihren Anfangszustand übergehen; danach kann die Aktion durch ein C-RECOVER wieder von vorne aufgenommen werden. Durch ein C-COMMIT wird der erfolgreiche Abschluß der Aktion noch einmal ausdrücklich bestätigt.
CCR läßt sich auch verteilt in einem Netz ausführen; es wird dann eine Hierarchie von Aktionen aufgebaut, die nach einem genau festgelegten Schema bestätigt werden.
Ein Dienst zur Transaktionsbearbeitung (TP=Transaction Processing). Eine Transaktion besteht aus mehreren atomaren Aktionen, von denen entweder genau alle ausgeführt werden oder keine; dabei hat die Ausführung korrekt zu sein, im Fehlerfall dürfen keine falschen Zustände hinterlassen werden und Zwischenergebnisse werden nicht zur Verfügung gestellt. TP ist ähnlich wie die Sitzungsschicht strukturiert und stützt sich auf CCR ab.

Eine verfeinerte Struktur der Anwendungsschicht wird als Application Layer Structure (ALS) bezeichnet und definiert die Art der Referenzierung von Anwendungsdienstelementen (ASE) durch die Anwendungsprozesse (AP).

Ein Anwendungsprozeß initiiert eine Verbindung (association) über einen SASE (z.B. FTAM). SASE erzeugt eine Initialisierungs-PDU und verwendet ACSE von CASE, um eine Verbindung mit der korrespondierenden SASE der gerufenen Gegenstelle zu initiieren. Die Parameter, die beim Aufruf der SASE zu übergeben sind, enthalten neben der Initialisierungs-PDU noch Angaben über die Adressen, die SASE (z.B. FTAM), Steuerungsanforderungen (Marken), Darstellungskontext, usw.

Die ACSE kreiert sodann eine weitere PDU, welche die genannten Parameter enthält, und welche sie an die entsprechenden Dienstelemente der Darstellungsschicht weiterreicht.

Da Prozesse in der Regel nicht über absolute Adressen, sondern über Namen miteinander kommunizieren, werden zunächst die Adressen der beteiligten Anwendungseinheiten ermittelt, welche in den folgenden Dienstaufrufen gleichfalls mitgeteilt werden müssen. Die Adressen werden von einem speziellen Dienst, dem Verzeichnis-Dienst (DS= directory service), ermittelt.

Eine weitere Schnittstelle ergibt sich zwischen den Anwendungsdiensten (in der Anwendungsschicht: OSIE=OSI Environment) und der realen Welt (d.h. den Anwendungsprozessen, die auf dem jeweiligen Rechner laufen: RSE=Real System Environment). Letzteren sind die Dienste der Anwendungsschicht zugänglich zu machen.

Dazu wird jedem Anwendungsdienst ein virtuelles Gerät (virtual device) zugeordnet, welches der Anwendungsprozeß so benutzen kann, als hätte er es alleine zur Verfügung und als würde er nur mit einer lokalen Instanz kommunizieren. Diesem virtuellen Gerät werden Dienstelemente zugeordnet, welche Dienstelemente des Betriebssystems entsprechen, unter dem der Anwendungsprozeß läuft. Bei Aufruf der entsprechenden Betriebssystemfunktionen (UE=User Element) werden dann die jeweiligen Dienstprimitive der virtuellen Geräte angesprochen.