Sichere templategestützte Verarbeitung von XML-Dokumenten
Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen
1. Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Falk HartmannWissenschaftlicher Vortrag im Rahmen des Promotionsverfahrens Dresden, 1. Juli 2011
4. Kommunikationsprotokoll (1) Basically, a protocol is an agreement between the communicating parties on how communication is to proceed. [Tanenbaum und Wetherall, 2010] A well-defined set of messages […] each of which carries a defined meaning (semantics), together with the rules governing when a particular message can be sent. [Larmouth, 2000] Ein Kommunikationsprotokoll ist eine Verhaltenskonvention, die die zeitliche Abfolge der Interaktionen zwischen den diensterbringenden Instanzen vorschreibt und die Formate (Syntax und Semantik) der auszutauschenden Nachrichten definiert. [König, 2003] Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 4
5. Kommunikationsprotokoll (2) Ein Kommunikationsprotokoll beschreibt die Abläufe bei der Kommunikation zwischen zwei (oder mehr) Kommunikationspartnern und die Syntax und Semantik der zwischen den Kommunikationspartnern ausgetauschten Botschaften. Typische Merkmale - Zeitabhängiges Verhalten Timeouts - Nichtdeterminismus Gleichzeitigkeit mehrerer Ereignisse (Botschaften, Timeouts...) Mehrere Folgereaktionen auf ein Ereignis Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 5
14. Verhältnisse zwischen den Schichten Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 9
15. Dienstprimitive Benennung nach ISO/OSI-Notation [<Schicht>]<Name> <Typ>([<Parameter>{,<Parameter>}]) Typen request – Anfordern eines Dienstes an Dienstzugangspunkt A indication – Anzeige am Partner-Dienstzugangspunkt B response – Antwort am Partner-Dienstzugangspunkt B confirm – Bestätigung der Diensterbringung an Dienstzugangspunkt A Beispiele TCONNECT request(remoteHost, remotePort, localHost, localPort) Vereinfachungen TCONNECTrequ(...) – übliche Verkürzung CONNECTrequ(...) – wenn Schicht eindeutig Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 10
16. Entwicklungsphasen TODO Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 11 nach [König, 2003]
60. Encoding erzeugt in der Regel relativ große PDUs ->Packed Encoding RulesBeispiel TCP Packet von Port 56237 zu Zielport 4444 Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 19 Type: 02 = Integer, Length: 02 = 2 Byte, Value: 0x115c = 4444
63. Abkehr von TLVBeispiel TCP Packet von Port 56237 zu Zielport 4444 Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 20 Value: 0x115c = 4444
107. Übergänge können Uhren setzen bzw. vom Wert der Uhren abhängenProtocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 30
129. Prozessalgebren (Beispiel) Prüfung von Safety und Progress-Eigenschaft - Naive Implementierung des TCP-Zustandsübergangsdiagramms Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 38 Problem 1: Aktionen, die nur sendend auftreten! Problem 2: Namensgleichheit zwischen ACK für SYN und FIN. Problem 3: Kanalmodellierung für simultanes Schließen nötig!
146. Erweiterung um Grafische Variante GLOTOS als ISO 8807/AM1Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 41
170. Neue Einsatzbereiche, z.B. Medical Device Encoding Rules (ISO/IEEE 11073) zum Vitaldatenaustausch im medizinischen Gerätebau [Schrenker und Cooper, 2001]
179. Garantiert Übertragung der verifizierten Eigenschaften der Spezifikation in die Implementierung Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 46
199. Lösung: Read- und Send-Alignment zur Resynchronisation der verfügbaren InformationProtocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 49
219. Standardisiert als Anhang zur Spezifikation ISO 8807 (LOTOS)Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 62
220. ACT ONE (Beispiel) Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 63
224. Weiterentwicklung und Standardisierung als Message Sequence ChartsProtocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 64
226. Zustandsübergangsdiagramm (Beispiel) Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 66 Ausschnitt zeigt Übergänge aus der Sicht des Initiators, welcher die Verbindung auch aktiv schließt. nach [Stevens, 1993]