Die Anwendungsschicht (Layer 7) ist die oberste Schicht im
OSI-Referenzmodell und im TCP/IP-Protokollstapel. Sie stellt die direkte
Schnittstelle zwischen den Netzwerkdiensten und den Anwendungen bereit,
mit denen die Benutzer interagieren. Während die unteren Schichten für
den Transport und die Weiterleitung von Daten zwischen Geräten sorgen,
definiert Layer 7 die Protokolle und Dienste, die von Anwendungen zur
Kommunikation genutzt werden.
11.2 Hauptaufgaben von Layer 7
Anwendungsdienste: Bereitstellung standardisierter
Dienste wie E-Mail, Dateiübertragung, Webzugriff
Benutzerschnittstelle: Interaktion mit dem Benutzer
über Anwendungen
Datenformatierung: Definition von Formaten für
Datenübertragung zwischen Anwendungen
Sitzungsmanagement: Verwaltung von
Benutzersitzungen und -kontexten
Authentifizierung: Identitätsprüfung und
Zugriffskontrolle
11.3 Wichtige
Anwendungsschichtprotokolle
11.3.1 Hypertext Transfer Protocol
(HTTP/HTTPS)
HTTP ist das Fundament des World Wide Web und ermöglicht den Zugriff
auf Webinhalte.
11.3.1.1 HTTP-Grundlagen
Port: 80 (HTTP), 443 (HTTPS)
Transportprotokoll: TCP
Funktionsweise: Request-Response-Modell
Zustandslos: Jede Anfrage ist unabhängig von
vorherigen Anfragen
11.3.1.2 HTTP-Anfragen
(Requests)
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
Wichtige HTTP-Methoden:
GET: Daten anfordern
POST: Daten an den Server senden
PUT: Ressource erstellen oder aktualisieren
DELETE: Ressource löschen
HEAD: Nur Header einer Ressource anfordern
OPTIONS: Verfügbare Methoden einer Ressource
abfragen
Funktion: Übertragung von E-Mails zwischen
Mail-Servern
11.3.3.2
E-Mail-Übertragungsprozess
Absenden: Mail-Client sendet E-Mail per SMTP an den
Ausgangsserver
Weiterleitung: Ausgangsserver sendet E-Mail per
SMTP an den Zielserver
Abruf: Empfänger holt E-Mail per POP3 oder IMAP vom
Zielserver ab
11.3.3.3
E-Mail-Zustellprotokolle
POP3 (Post Office Protocol):
Einfaches Protokoll zum Abholen von E-Mails
Port: 110 (unverschlüsselt), 995 (mit SSL/TLS)
Lädt E-Mails auf den Client und löscht sie normalerweise vom
Server
IMAP (Internet Message Access Protocol):
Fortschrittliches Protokoll zum E-Mail-Management
Port: 143 (unverschlüsselt), 993 (mit SSL/TLS)
E-Mails bleiben auf dem Server, Synchronisation zwischen
Geräten
11.3.3.4
SMTP-Kommunikationsbeispiel
C: telnet mail.example.com 25
S: 220 mail.example.com ESMTP Postfix
C: HELO client.example.org
S: 250 Hello client.example.org
C: MAIL FROM:<sender@example.org>
S: 250 Ok
C: RCPT TO:<recipient@example.com>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: Subject: Test E-Mail
C:
C: Dies ist eine Test-E-Mail.
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye
11.3.4 File Transfer Protocol
(FTP)
FTP ermöglicht die Übertragung von Dateien zwischen Client und
Server.
11.3.4.1 FTP-Grundlagen
Ports: 21 (Kommandokanal), 20 (Datenkanal im
aktiven Modus)
Transportprotokoll: TCP
Modi: Aktiver Modus (Server initiiert
Datenverbindung), Passiver Modus (Client initiiert Datenverbindung)
Authentifizierung: Benutzername/Passwort oder
anonym
11.3.4.2 FTP-Befehle
USER: Benutzername
PASS: Passwort
PWD: Aktuelles Verzeichnis anzeigen
CWD: Verzeichnis wechseln
LIST: Verzeichnisinhalt anzeigen
RETR: Datei herunterladen
STOR: Datei hochladen
QUIT: Verbindung beenden
11.3.4.3 SFTP und FTPS
SFTP (SSH File Transfer Protocol):
Sichere Alternative zu FTP über SSH
Port: 22 (gleicher Port wie SSH)
Vollständige Verschlüsselung aller Daten
FTPS (FTP Secure):
FTP mit SSL/TLS-Verschlüsselung
Ports: 990 (Kommando), 989 (Daten)
Expliziter Modus (STARTTLS) oder impliziter Modus
11.3.5 Secure Shell (SSH)
SSH ermöglicht sichere Fernzugriff und Kommandoausführung auf
entfernten Systemen.
11.3.5.1 SSH-Grundlagen
Port: 22
Transportprotokoll: TCP
Verschlüsselung: Asymmetrische und symmetrische
Kryptografie
$ ssh benutzer@server.example.comThe authenticity of host 'server.example.com' can't be established.ECDSA key fingerprint is SHA256:abcdef1234567890.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'server.example.com' (ECDSA) to the list of known hosts.benutzer@server.example.com's password: Last login: Wed Jul 12 14:23:45 2023 from 192.168.1.10server$
11.3.5.3
SSH-Schlüsselverwaltung
# Schlüsselpaar generieren$ ssh-keygen -t rsa -b 4096# Öffentlichen Schlüssel auf Server kopieren$ ssh-copy-id benutzer@server.example.com# SSH-Agent starten und Schlüssel hinzufügen$ eval $(ssh-agent)$ ssh-add ~/.ssh/id_rsa
11.3.6 Network Time Protocol
(NTP)
NTP synchronisiert die Uhren von Computersystemen über Netzwerke.
11.3.6.1 NTP-Grundlagen
Port: 123
Transportprotokoll: UDP
Hierarchie: Stratum-Level (Stratum 1 sind
Zeitserver mit direkter Anbindung an präzise Zeitquellen)
Genauigkeit: Typischerweise im
Millisekundenbereich, unter optimalen Bedingungen Mikrosekunden
11.3.6.2
NTP-Konfigurationsbeispiel
# NTP-Status abfragen$ ntpq -premote refid st t when poll reach delay offset jitter==============================================================================*ntp1.example.org .GPS. 1 u 17 64 377 0.371 0.033 0.038+ntp2.example.org .PPS. 1 u 14 64 377 0.625 0.037 0.035-ntp3.example.org .ATOM. 1 u 11 64 377 0.308 0.064 0.039
11.3.7 Simple Network Management
Protocol (SNMP)
SNMP ermöglicht die Überwachung und Verwaltung von
Netzwerkgeräten.
11.3.7.1 SNMP-Grundlagen
Ports: 161 (Agent), 162 (Trap)
Transportprotokoll: UDP
Versionen: SNMPv1, SNMPv2c, SNMPv3 (mit
Authentifizierung und Verschlüsselung)
Komponenten: Manager, Agent, MIB (Management
Information Base)
11.3.7.2 SNMP-Operationen
GET: Werte abfragen
SET: Werte setzen
TRAP: Asynchrone Benachrichtigungen vom Agent zum
Manager
INFORM: Bestätigte TRAPs (SNMPv2c, SNMPv3)
WALK: Durchlaufen einer Teilhierarchie
11.3.7.3 SNMP-Abfragebeispiel
# Systeminformationen abfragen$ snmpget -v2c-c public 192.168.1.1 sysDescr.0SNMPv2-MIB::sysDescr.0 = STRING: RouterOS RB3011# Mehrere Objekte durchlaufen$ snmpwalk -v2c-c public 192.168.1.1 ifDescrIF-MIB::ifDescr.1 = STRING: ether1IF-MIB::ifDescr.2 = STRING: ether2IF-MIB::ifDescr.3 = STRING: ether3
11.4 Anwendungsprotokolle und
Microservices
11.4.1 REST (Representational State
Transfer)
REST ist ein Architekturstil für verteilte Hypermedia-Systeme wie das
Web.
11.4.1.1 REST-Grundprinzipien
Zustandslosigkeit: Jede Anfrage enthält alle
notwendigen Informationen
Ressourcenorientiert: Alles ist eine Ressource,
identifiziert durch URIs
Einheitliche Schnittstelle: Standardmethoden (GET,
POST, PUT, DELETE)
Cacheable: Antworten können zwischengespeichert
werden
Client-Server-Architektur: Trennung von
Belangen
Mehrschichtige Systeme: Komponenten können über
mehrere Schichten verteilt sein
Moderne Anwendungen basieren oft auf REST, GraphQL oder gRPC für die
Kommunikation
Microservices-Architekturen nutzen APIs auf Anwendungsebene für die
Kommunikation
Linux bietet umfangreiche Tools zur Analyse und Überwachung von
Anwendungsprotokollen
Sicherheit auf Anwendungsebene ist entscheidend für den Schutz von
Daten und Systemen
Die Anwendungsschicht ist die sichtbarste Netzwerkschicht für
Endbenutzer und stellt alle Dienste bereit, die für die tägliche Arbeit
mit Netzwerken und dem Internet benötigt werden. Ein tiefes Verständnis
dieser Schicht ist daher essenziell für jeden IT-Professional.