Cryptography Reference
In-Depth Information
darum geht, einen Ablauf zu veranschaulichen oder grobe Mängel darin zu ent-
decken. Als Grundlage für die Implementierung einer Software sind sie dagegen
nicht geeignet.
20.1.2
Netzwerkprotokolle
Soll ein Protokoll implementiert werden, dann benötigt man eine sehr genaue Pro-
tokollspezifikation. Eine solche muss Bit für Bit festlegen, welche Daten unter wel-
chen Umständen übertragen werden und welche Bedeutung diese jeweils haben.
Dabei müssen auch Ausnahmesituationen und Fehlerfälle berücksichtigt werden,
damit Alice beispielsweise nicht stundenlang auf eine Antwort von Bob wartet,
während Bob längst die Kommunikation abgebrochen hat. Darüber hinaus muss
eine gute Protokollspezifikation auch Dinge wie Kompatibilität zu älteren Versio-
nen, Unterstützung von Standardformaten und vieles mehr vorsehen. Ein Proto-
koll, das so genau spezifiziert ist, dass es implementiert werden kann, heißt Netz-
werkprotokoll . Durch die genannten Anforderungen kann die Beschreibung eines
Netzwerkprotokolls schnell mehrere Dutzend Seiten füllen. Netzwerkprotokolle
werden Ihnen in diesem Buch noch viele begegnen. Beispiele dafür sind etwa die
im Internet gebräuchlichen Protokolle HTTP, IP, TCP und FTP.
Bei der Entwicklung eines Netzwerkprotokolls muss erst einmal eine Reihe
von erlaubten Nachrichtentypen (sogenannte Protokollnachrichten ) festgelegt
werden. Eine Protokollnachricht ähnelt einem Befehl in einer Programmierspra-
che und kann gegebenenfalls mit einem Argument versehen werden. Beim obigen
Protokoll könnte man etwa die Protokollnachrichten Name(<Vorname>,<Nach-
name>) , Begrüßung(<Vorname>) , Frage(<Fragennummer>,<Uhrzeit>) , Antwort
(<ja/nein>) und Abschied(<Vorname>) festlegen. Protokollnachrichten haben in
der Praxis stets noch einen Bestandteil, in dem Zusatzinformationen wie die
Adresse des Absenders und des Empfängers, ein Hinweis auf die Länge der Nach-
richt oder Ähnliches gespeichert sind. Dieser Bestandteil wird als Header bezeich-
net. Der für die Abarbeitung des Protokolls relevante Inhalt (etwa Name(<Vor-
name>,<Nachname>) wird dagegen Nutzlast (oder auch Payload ) genannt. In der
Regel steht der Header vor der Nutzlast.
20.1.3
Eigenschaften von Netzwerkprotokollen
Da Protokolle ein weites Feld sind, fragen wir uns erst einmal, welche Eigenschaf-
ten diese haben können bzw. müssen. Dabei beschränken wir uns auf Netzwerk-
protokolle, da diese im Vergleich zu Konzeptprotokollen anspruchsvoller sind.
Die vielleicht wichtigste Methode zur Klassifizierung von Netzwerkprotokollen
ist das sogenannte OSI-Modell, das in Abschnitt 31.1 erläutert wird. In diesem
Kapitel will ich Ihnen jedoch zunächst einmal einige Eigenschaften vorstellen, die
von diesem Modell unabhängig sind.
Search WWH ::




Custom Search