Anwendungsorientierte Protokolle:

  • HTTP, FTP, Telnet, SMTP, DNS, SNMP, TFTP

Definition

  • Typ der verschickten Nachricht
  • Syntax des Nachrichtentypes
  • Semantik der Nachrichtentypen
  • Regeln zum Nachrichtenfluss

Entwicklung eigener Netwerkanwendungen

  • TCP/IP und UDP werden vom Betriebssystem zur Verfügung gestellt.
  • Beim entwickeln einer eigenen Anwendung wird direkt auf TCP/IP aufgebaut
  • Zugang zu TCP/IP und UDP über Sockets
    • Datentyp der Programmiersprache
    • Erstellt dann über das BS den Kommunikationskanal

Probleme

  • Heterogenität in verteilten Systemen
    • Betriebssystem, Software und Hardware
  • Heterogene Hardwarearchitektur
    • Little/Big Endian Speicherreihenfolge
    • ASCII/EBCDIC Kodierungen
  • Heterogene Programmiersprache
    • Unterschiedliche Darstellung von Datentypen

Ein "gemeinsames" Datenformat

  • Definierte Abstrakte Datentypen, mit festgelegter Bitfolge
  • Stelle Werkzeuge zur Übersetzung dieser Typen zur verfügung
  • Marshalling : Sende diese Daten durch Konvertierungsfunktion
  • Un-Marshalling : Dekodiere die Bitstrings in lokale Datentypen

Formate: ISO:ASN.1, Sun ONC, OSF, CORBA, XML/SOAP, Java

HTTP

  • Verwendet TCP auf Port 80
  • ASCII Protokoll
  • Gängige Kommandos: GET, HEAD, PUT, POST, DELETE
Ablauf
  1. Browser bestimmt URL
  2. Browser fragt DNS nach IP
  3. Browser öffnet TCP Socket zu Port der IP
  4. Browser sendet z.B. GET Befehl
  5. Server schickt html zurück
  6. Browser stellt html Datei dar
  7. Andere Objekte (z.B. Bilder) genau so nachladen
  8. Verbindung abbauen

E-Mail

  • User Agent
    • Empfang/Verwaltung etc. von Mails auf Clientrechner
  • Message Transfer Agent
    • Läuft 24/7 im Hintergrund
    • Zustellung von UA Emails
    • Zwischenspeicherung und Weiterleitung
SMTP
  • Versand über TCP Port 25
  • ASCII Protokoll
  • Ohne Prüfsumme, ohne Verschlüsselung
  • Server ist empfangende Machine
POP3
  • Abholes beim Server über TCP Port 110
  • Befehle zum An/Abmelden, Nachrichten kopieren/löschen
  • Kopiert lediglich Mails von Remote nach Lokal

Zusammenfassung

  • Anwendungsprotokolle
    • Einheitliche Kommunkationsdienste
    • Definierte Syntax/Semantik (Darstellungsschicht)
    • Meist einfaches Client/Server
  • Eigene Anwendungen
    • Umgang mit Sockets
    • Festlegen eines Dialoges
    • Verwenden von z.B. XML zur Definition einer Semantik