6.3 Application Layer
Die Anwendungsschicht ist Schicht 7 und damit die oberste Schicht des OSI-Referenzmodells. Sie stellt Netzwerkfunktionen für Anwendungsprozesse bereit und definiert die Nachrichten, mit denen Dienste wie Web, E-Mail, Dateiübertragung, Fernadministration und Netzwerküberwachung genutzt werden. Eine Benutzeranwendung ist dabei nicht automatisch selbst ein Protokoll, und ein Anwendungsprotokoll ist nicht mit dem bereitgestellten Dienst gleichzusetzen.
Anwendung, Anwendungsprotokoll und Netzwerkdienst
Eine Benutzeranwendung ist beispielsweise ein Browser, Mailprogramm oder Administrationswerkzeug. Sie nutzt ein Anwendungsprotokoll mit festgelegten Nachrichtentypen, Feldern, Reihenfolgen und Fehlerantworten. Der Netzwerkdienst ist die auf einem System bereitgestellte Funktion, etwa eine Website, ein Postfach oder eine entfernte Kommandozeile.
Die Anwendungsschicht existiert logisch zwischen den beteiligten Anwendungsprozessen. Tatsächlich werden ihre Nachrichten über Transport, IP und Linktechnik übertragen. Router im Pfad müssen für die gewöhnliche Weiterleitung nicht verstehen, ob ein IP-Paket eine HTTP-Anfrage oder eine SSH-Sitzung enthält.
| Begriff | Beispiel | Aufgabe |
|---|---|---|
| Benutzeranwendung | Browser | stellt Bedienoberfläche und Fachfunktion bereit |
| Anwendungsprotokoll | HTTP | definiert Anfrage, Antwort, Methoden, Felder und Statuscodes |
| Netzwerkdienst | Webdienst | verarbeitet Anfragen und stellt Ressourcen oder Funktionen bereit |
| Transportendpunkt | TCP- oder UDP-Port | ordnet Daten dem passenden Prozess beziehungsweise Socket zu |
Zentrale Aufgaben der Anwendungsschicht
Anwendungsprotokolle bestimmen, wie Kommunikationspartner identifiziert und angesprochen, Fähigkeiten ausgehandelt, Anfragen gestellt, Antworten interpretiert und Fehler gemeldet werden. Sie können außerdem Authentisierung, Autorisierung, Zustandsverwaltung, Datenvalidierung und Anforderungen an Antwortzeit oder Zuverlässigkeit beschreiben.
Die Anwendungsschicht kann Dienstqualität anfordern, messen oder darauf reagieren, garantiert aber nicht allein Durchsatz, Antwortzeit und Fehlerrate des gesamten Netzes. Diese Werte hängen zusätzlich von Anwendung, Endsystemen, Transport, Routing, Warteschlangen und Übertragungsmedien ab.
- Kommunikationspartner und gewünschte Ressource benennen
- Erreichbarkeit und Fähigkeiten eines Dienstes ermitteln
- Nachrichtenablauf und erlaubte Operationen festlegen
- Zugriff kontrollieren und unberechtigte Nutzung verhindern
- Syntax, Pflichtfelder und zulässige Werte prüfen
- Anwendungsprozesse und gemeinsam genutzte Ressourcen koordinieren
- Fehler, Status und Wiederholbarkeit von Operationen beschreiben
- Antwortzeit, Verfügbarkeit und Fehlerraten überwachen
Dienst finden und Kommunikationspartner identifizieren
Ein Benutzer arbeitet meist mit Namen und Ressourcenbezeichnern statt direkt mit IP-Adressen. Eine Anwendung kann einen Hostnamen auflösen, einen Dienstport bestimmen, einen Proxy oder Load Balancer verwenden und anschließend einen Transportendpunkt kontaktieren. DNS wird auf der folgenden Lernseite detailliert behandelt.
Technische Erreichbarkeit bedeutet noch nicht, dass der gewünschte Dienst vorhanden oder fachlich nutzbar ist. Ein erreichbarer Host kann auf dem erwarteten Port keinen Listener besitzen, eine Anwendung kann einen anderen Pfad verlangen oder ein Dienst kann zwar antworten, aber wegen Wartung oder fehlender Berechtigung nicht verfügbar sein.
| Ebene der Erreichbarkeit | Prüffrage |
|---|---|
| Namensauflösung | Lässt sich der Dienstname in geeignete Zielinformationen auflösen? |
| Netzwerk | Existiert ein erreichbarer IP-Pfad zum Ziel? |
| Transport | Ist der benötigte Port erreichbar und nimmt ein Prozess Verbindungen oder Datagramme an? |
| Anwendung | Spricht die Gegenstelle das erwartete Protokoll und akzeptiert die Anfrage? |
| Fachfunktion | Darf der angemeldete Benutzer die gewünschte Aktion durchführen? |
Authentisierung, Autorisierung und Integrität
Authentisierung prüft die behauptete Identität eines Benutzers, Dienstes oder Systems. Autorisierung entscheidet anschließend, welche Aktionen diese Identität ausführen darf. Beides ist von der Integrität zu unterscheiden, die unbemerkte Veränderungen an Daten oder Nachrichten verhindern beziehungsweise erkennbar machen soll.
Ein erfolgreicher Netzwerkzugriff ist keine Berechtigung. Anwendungen müssen Zugriffsentscheidungen für jede schützenswerte Operation serverseitig prüfen. Passwörter, Schlüssel, Token und Sitzungskennungen dürfen nicht ungeschützt übertragen oder protokolliert werden. Transportverschlüsselung wie TLS schützt den Übertragungsweg, ersetzt aber keine fachliche Rechteprüfung.
| Begriff | Frage | Beispiel |
|---|---|---|
| Identifikation | Welche Identität wird behauptet? | Benutzername oder Zertifikatsname |
| Authentisierung | Ist die behauptete Identität nachgewiesen? | Passwort plus zweiter Faktor oder Schlüssel |
| Autorisierung | Welche Ressource oder Aktion ist erlaubt? | Lesen erlaubt, Administration verweigert |
| Accounting / Protokollierung | Wer hat wann welche Aktion durchgeführt? | Audit-Log mit Vorgangskennung |
Wichtige Anwendungsprotokolle
Ein Port ist nur eine übliche Zuordnung und kein sicherer Protokollnachweis. Dienste können abweichende Ports nutzen, und auf demselben Port können je nach Aushandlung unterschiedliche Protokollvarianten vorkommen. Unverschlüsselte historische Varianten sollten nicht ohne Schutz in nicht vertrauenswürdigen Netzen eingesetzt werden.
| Aufgabe | Protokoll | Typische Ports / Transport | Heutige Einordnung |
|---|---|---|---|
| Web | HTTP / HTTPS / HTTP/3 | 80 TCP; 443 TCP oder UDP | HTTPS schützt HTTP mit TLS; HTTP/3 verwendet QUIC über UDP |
| E-Mail übertragen | SMTP | 25, 465 oder 587 TCP | Port und TLS-Nutzung hängen von Server-zu-Server- oder Client-Einlieferung ab |
| E-Mail abrufen | IMAP | 143 oder 993 TCP | 993 verwendet TLS von Beginn an |
| Datei übertragen | FTP / FTPS / SFTP | 21 TCP; FTPS abhängig vom Modus; SFTP meist 22 TCP | SFTP ist ein SSH-Subsystem und nicht FTP mit Verschlüsselung |
| Fernadministration | SSH | 22 TCP | verschlüsselte Anmeldung, Kommandozeile, Tunneling und weitere Subsysteme |
| Netzwerkmanagement | SNMP | 161 und 162 meist UDP | SNMPv3 kann Authentisierung und Vertraulichkeit bereitstellen |
| Zeit synchronisieren | NTP | 123 UDP | Zeitbasis für Protokolle, Zertifikatsprüfung und Protokollauswertung |
| Namen auflösen | DNS | 53 UDP und TCP; weitere geschützte Varianten | wird in 6.4 ausführlich behandelt |
Anfrage, Antwort, Ereignis und Datenstrom
Nicht jedes Anwendungsprotokoll folgt einem einfachen Anfrage-Antwort-Muster. Manche Protokolle übertragen kontinuierliche Datenströme, senden Ereignisse ohne vorherige Einzelanfrage oder halten eine bidirektionale Kommunikation offen. Das Nachrichtenmodell muss daher zur Fachfunktion passen.
| Muster | Beschreibung | Beispielhafte Nutzung |
|---|---|---|
| Request/Response | Client fragt an, Server antwortet. | HTTP-Anfrage und HTTP-Antwort |
| Publish/Subscribe | Teilnehmer abonnieren Themen und erhalten veröffentlichte Ereignisse. | Messaging und IoT-Telemetrie |
| Streaming | Daten werden fortlaufend oder in Segmenten übertragen. | Audio, Video oder Protokolldaten |
| bidirektionaler Dialog | beide Seiten senden unabhängig Nachrichten. | Chat, Fernsteuerung oder WebSocket-basierte Anwendung |
| Store-and-Forward | Zwischensystem nimmt Nachricht an und leitet sie später weiter. | E-Mail-Transport zwischen Mailservern |
System-Management und Application-Management
Ältere OSI-Lehrdarstellungen teilen die Anwendungsschicht teils in Standardanwendungsdienste und Netzverwaltung sowie in eine anwendungsnahe Teilschicht auf. Auch die Begriffe System-Management und Application-Management werden verwendet. Diese Unterteilungen sind keine übliche Schichtdarstellung moderner TCP/IP-Architekturen, die enthaltenen Betriebsaufgaben sind jedoch weiterhin wichtig.
| Bereich | Aufgaben aus der klassischen Darstellung | Heutige Beispiele |
|---|---|---|
| System-Management | Ressourcen aktivieren, konfigurieren, überwachen und Fehler behandeln | Konfigurationsmanagement, SNMP, Telemetrie, Logging und automatische Wiederherstellung |
| Application-Management | Anwendungsprozesse initialisieren, betreiben, beenden und mit Ressourcen versorgen | Service Manager, Container-Orchestrierung, Health Checks und Anwendungsmetriken |
| Konflikt- und Integritätssteuerung | Ressourcenkonflikte verhindern und konsistente Zustände erhalten | Transaktionen, Locks, Idempotenz und verteilte Koordination |
| Wiederanlauf | Anwendungsprozess nach Fehler erneut starten | Restart-Policy, Failover und Wiederaufnahme anhand gespeicherten Zustands |
Anwendungsprotokolle bei der Fehlersuche
Eine erfolgreiche Ping-Antwort beweist nur eine begrenzte IP-Erreichbarkeit. Für die Fehlersuche muss jede Stufe vom Namen bis zur Fachfunktion getrennt geprüft werden. Verschlüsselte Anwendungsdaten lassen sich im Mitschnitt ohne passende Schlüssel normalerweise nicht inhaltlich lesen; Metadaten und Endpunktprotokolle bleiben dann besonders wichtig.
| Beobachtung | Mögliche Ursache | Nächster Schritt |
|---|---|---|
| Name funktioniert nicht | DNS- oder Konfigurationsfehler | Namensauflösung und verwendeten Resolver prüfen |
| Verbindung wird abgewiesen | kein Listener oder aktives Reject | Dienststatus, Bind-Adresse und Port prüfen |
| Timeout | Paketverlust, Filter oder nicht antwortende Anwendung | Pfad, Firewall und Serverprotokolle vergleichen |
| HTTP 401 | Authentisierung fehlt oder ist ungültig | Anmeldedaten und Authentisierungsschema prüfen |
| HTTP 403 | Identität erkannt, Aktion nicht erlaubt | Rollen, Richtlinien und Ressourcenberechtigung prüfen |
| HTTP 5xx | Server oder vorgelagerter Dienst meldet Fehler | Vorgangs-ID, Serverlogs, Abhängigkeiten und Kapazität untersuchen |
| Daten formal korrekt, Inhalt falsch | semantischer oder fachlicher Fehler | Schema, Version und Anwendungslogik prüfen |
Quellen zur fachlichen Prüfung
- RFC Editor: RFC 1123 - Requirements for Internet Hosts - Application and Support
- RFC Editor: RFC 9110 - HTTP Semantics
- RFC Editor: RFC 4251 - The Secure Shell Protocol Architecture
- RFC Editor: RFC 3411 - Architecture for SNMP Management Frameworks
- RFC Editor: RFC 5321 - Simple Mail Transfer Protocol
- RFC Editor: RFC 9114 - HTTP/3
PDF-Download nach Anmeldung
Zum Schutz der Unterrichtsunterlagen steht der PDF-Download ausschließlich angemeldeten Nutzern zur Verfügung.
