3. Die OSI-Anwendungsschichten
3.1. Die Kommunikationssteuerungsschicht (Schicht 5)
Die Kommunikationssteuerungsschicht dient zur Steuerung des Dialogs zwischen den Teilnehmern und der Synchronisation des Datentransfers. Die Schichte 5, 6, 7 bilden das Anwendungssystem. Die allgemeinen Aufgaben der Schicht 5 (session layer) sind
Funktionseinheit | Diensprimitiv | Token |
Kernel | S-CONNECT S-DATA S-RELEASE S-U-ABORT S-P-ABORT |
|
Halbduplex | S-TOKEN-PLEASE S-TOKEN-GIVE |
Data Token |
Duplex | keine zusätzlichen | |
Negoitiated Release | S-RELEASE S-TOKEN-PLEASE S-TOKEN-GIVE |
Release Token |
Expedited Data | S-EXPEDITED-DATA | |
Minor Synchronize | S-SYNC-MINOR S-TOKEN-PLEASE S-TOKEN-GIVE |
Sync-Minor Token |
Major Synchronize | S-SYNC-MAJOR S-TOKEN-PLEASE S-TOKEN-GIVE |
Major/Activity Token |
Resynchronize | S-RESYNCHRONIZE | |
Activity Management | S-ACTIVITY-START S-ACTIVITY-RESUME S-ACTIVITY-INTERRUPT S-ACTIVITY-DISCARD S-ACTIVITY-END S-TOKEN-PLEASE S-TOKEN-GIVE |
Major/Activity Token |
Die Funktionseinheiten werden beim Aufbau einer Sitzung ausgehandelt. Zur Vermeidung von Inkompatibilitäten durch Funktionseinheiten, die beim Partner nicht implementiert sind, wurden 3 Teilgruppen eingeführt:
Basic Combined Subset (BCS): kernel, half-duplex, duplex,
Basic Synchronized Subset (BSS): kernel, half-duplex, negotiated
release, typed data, minor synchronize, major synchronize, resynchronize
Basic Activity Subset (BAS): kernel, half-duplex, typed
data, capability data exchange, minor sychronize, execptions, activity management.
Protokollmechanismen der Session Layer
Durch die Token (Berechtigungsmarken) wird die Berechtigung zur ausschließlichen Initiierung von bestimmten Diensten durch einen der beiden Teilnehmer geregelt, z.B. data token, release token, synchronize-minor-token, major/activity token.
Überprüfung der Kommunikation durch setzen von Sychronisationspunkten (Wiederaufsetzungspunkten)
Setzen von Wiederaufsetzungspunkten (als Synchronisation)
Zurücksetzen auf einen Wiederaufsetzungspunkt (als Resynchronisation)
Herstellung der Kommunikationsübereinstimmung durch Rücksetzen von Synchronisationsnummern.
Eine Aktivität besteht aus einer oder mehreren Dialogeinheiten. In einer Sitzung können mehrere Aktivitäten aufeinanderfolgen. Eine Aktivität kann unterbrochen und später in derselben oder einer anderen Sitzung fortgesetzt werden. Das Gedächtnis für eine solche Aktivität bleibt über das Ende der Sitzung erhalten.
Die Aufgabe der Darstellungsschicht (Presentation Layer) ist die Gewährleistung einer einheitlichen Interpretation der Daten in den verschiedenen Teilnehmerrechnern.
Lokale Syntax:
Die Daten werden in den Teilnehmerrechnern verschieden dargestellt. Diese Darstellung wird als lokale Syntax bezeichnet.Die kommunizierenden Anwendungsinstanzen einigen sich zuerst über die zu verwendende abstrakte Transfersyntax (unter Nutzung der P-Dienste).
Abstrakte (Transfer-) Syntax:
Menge aller Datentypdefinitionen die für das Anwendungsprotokoll (A-Prozesse) verwendet werden. (Festlegung in A-Schicht)Transfersyntax:
eine der lokalen Syntax (1/2) oder allgemeine konkrete Syntax wird zur Übertragung ausgewählt durch die P-PartnerPresentation Context:
Paar aus abstrakter Syntax und Transfersyntax, bestimmt die Übersetzungsregeln für die Encoder/DecoderASN.1
Für die Beschreibung der abstrakten Syntax wird bevorzugt die ASN.1-Notation verwendet (ASN.1 - Abstract Syntax Notation One) (ISO IS 8824).
ASN.1 unterteilt Datentypen in UNIVERSAL (elementare bzw. zusammengesetzte vordefinierte Typen als internationaler Standard), APPLICATION (zusammengesetzte selbstdefinierte einiger Orgnisationen) und PRIVATE (zusammengesetzte selbstdefinierte einer Organisation).
Das folgende Beispiel spezifiziert einen Personaldatensatz in ASN.1.
P.-Stammsatz | ::= SEQUENCE { |
kennung | Personalnummer, |
ps-name | Name, |
adresse | Adresse, |
familienstand | Familienstand, |
ehegatte | Name OPTIONAL |
kinder | SEQUENCE OF Kinder-Info DEFAULT { } |
} | |
Kinder-Info | ::= SET { |
kindname | Name, |
geboren | Datum |
} | |
Name | ::= SEQUENCE { |
titel | VisibleString OPTIONAL, |
vornamen | SET OF VisibleString, |
familienName | VisibleString |
} | |
Adresse | ::= SEQUENCE { |
straße | VisibleString, |
hausnummer | VisibleString, |
plz | INTEGER, |
ort | VisibleString, |
land | VisibleString DEFAULT "D" |
} | |
Personalnummer | ::= ANY |
Datum | ::= IA5String |
Familienstand | ::= INTEGER { |
ledig | (0), |
verheiratet | (1), |
geschieden | (2), |
verwitwet | (3) |
} |
In der P-Schicht haben die Entities die Funktion eines Protokollautomaten (gemäß der gül-tigen Dienstprimitive) mit den Teilkomponenten des Context-Managers und einer Menge von Encoder/Decoder.
3.3. Die Anwendungsschicht (Schicht 7)
Die Aufgabe der Anwendungsschicht (Application Layer) sind die eigentlichen Kommunikationsdienste, die vom Kommunikationssystem im Verbund aller Schichten erbracht werden. Die A-Schicht enthält nicht die End-Nutzer-Anwendung selbst, sondern sie stellt nur Elemente zur Realisierung der Kommunikation bereit.
Eine in diesem Sinne verteilte Anwendung besteht aus einer Kooperation von Anwendungsprozessen. Jeder der A-Prozesse enthält einen individuellen Teil den ALU (Application Layer User) und verwendet Dienste der Schicht 7. Ein A-Prozeß unterteilt sich in ALU (außerhalb von OSI) und eine Anwendungsinstanz (AE) der Schicht 7.
Diese Anwendungsinstanz (application entity, AE) ist der Partner des Anwendungsprozesses in der OSI-Architektur. Sie hat die nachfolgend dargestellte Struktur.
Die Grundelemente der Anwendungsschicht sind die Application Service Elements (ASE), sowie eine Control Function (CF), die das Zusammnewirken der ASE's koordiniert. Das Konglomerat aus ASE's und CF heißt ASO - Application Service Object. Unter den ASE's gibt es eine Reihe von Grunddiensten, die in vielen Anwendungskontexten auftreten. (Diese Dienste werden in früheren Versionen auch als CASE (Common Application Service Elements) bezeichnet.) Dazu gehören:
Höhere Dienstelemente (früher auch als SASE (Special ASE) bezeichnet) sind:
Association Control Service Element (ACSE)
Der Anwendungskontext muß vor der Nutzung von ACSE öffentlich oder privat vereinbart werden. Er muß allen Partnern bekannt sein (Eingeschränkte Verhandlungsmöglichkeiten sind auch in der Aufbauphase möglich). Es ist möglich, innerhalb einer bestehenden Assoziation einen Kontextwechsel vorzunehmen.
Es werden folgende Dienste angeboten (keine Dienstprimitive !!):
Reliable Transfer Service Element (RTSE)
Es werden folgende Dienste angeboten:
Commitment, Concurrency and Recovery Service Element (CCRSE oder CCR)
Das CCR nutzt eine 2-Phasen-Commitment-Operation (commitment-Verbindlichkeit):
Remote Operations Service Element RO/ RDA/RPC
Unterstützung und Entwicklung von Client-Server-Applikationen
RDA (Remote Databank Access) und RPC (Remote Procedure Call) liegen oberhalb von RO, und können RO verwenden
File Transfer Access and Management (FTAM)
Das virtuelle Datenspeichermodell selbst hat die folgende Struktur.
FTAM-Dienste werden nach dem jeweiligen Anwendungskontext in Regime gegliedert:
Message Handling System (MHS)
CCITT X.400 1984, 1988
MHS ist für den Bereich der elektronischen Post zuständig. Der Nachrichtenaustausch im MHS erfolgt nach dem sogenannten Store-and-Forward-Prinzip (Speichervermittlung). Dem MHS liegt das folgende Modell zugrunde.
UA - User Agent
MTA - Message Transfer Agent
MS - Message Storage
AU - Access Unit
MHS unterscheidet zwei prinzipielle Arten von Nachrichtendiensten für Endnutzer:
Arten von MHS-Informationen:
Zugangsarten:
Einfachterminalzugang:
PC- bzw. WS-Zugang:
Zugang für lokale Netze (s. u.):
MHS-Management-Domänen:
MHS unterscheidet zwei Domänen-Arten: die öffentlichen und die privaten (siehe Bild oben). Die öffentlichen Domänen werden von einer Organisation der öffentlichen Hand, z.B. der Bundespost betrieben. Sie werden als ADMD (administration management domain) bezeichnet. Die PRMD (private management domain) unterstehen einem privaten Betreiber.
Die Domain-Unterteilung bildet auch die Grundlage für den
Aufbau der Adressen, z.B. für die elektronische Post (e-mail).
Die X.400-Adresse besteht aus folgenden Komponenten:
c=de; a=dbp; p=uni-magdeburg; ou=cs; s=mueller
Domain-Adresse (Internet (s. u.)):
user@hostname[.subdomain[.subdomain]. . . ].domainBeispiel:
für Universität Magdeburg, Institut für Verteilte Systeme:name@ivs.cs.uni-magdeburg.de