SlideShare ist ein Scribd-Unternehmen logo
1 von 69
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
Agenda Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 2
Agenda Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 3
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
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
Eigenschaften von Kommunikationsprotokollen Anzahl der Kommunikationspartner ,[object Object]
>2 (Multicast/Broadcast)Synchronität ,[object Object]
AsynchronVerbindungsorientierung ,[object Object]
Verbindungsorientiert (Telefonat)Übertragungsrichtung ,[object Object]
Halbduplex (zu jedem Zeitpunkt nur eine Richtung)
Duplex (gleichzeitig in beide Richtungen)Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 6
Anwendungsgebiete Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 7
Schichtenarchitekturen Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 8
Verhältnisse zwischen den Schichten Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 9
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
Entwicklungsphasen TODO Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 11 nach [König, 2003]
Agenda Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 12
Botschaftsbeschreibung Allgemein ,[object Object]
Abstrakte Syntax
Beschreibung der zu übertragenden Botschaften
Transfersyntax (≙ konkrete Syntax)
Beschreibung der Abbildungen
Abstrakte Syntax -> Transfersyntax: Kodierung (Encoding, Serialisierung, Marshalling) ,[object Object],Dekodierung (Decoding, Deserialisierung, Unmarshalling, Parsen) Herangehensweisen ,[object Object]
Deklarative Ansätze (ASN.1, Protocol Buffers)
Algebraische Ansätze (ACT ONE)Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 13
Botschaftstypen Typ der Botschaften ,[object Object]
Beschreibung durch Grammatik
Kodierung manuell oder durch generierten Code
Dekodierung durch generierten Code (Parser-Generator)
XML
Beschreibung durch XML Schema
Kodierung/Dekodierung durch generierten Code (Binding-Technologien wie JAXB/JAXWS) oder XML-APIs wie DOM, SAX oder StAX
Binär
Beschreibung durch ASN.1 oder Protocol Buffers
Kodierung/Dekodierung manuell oder durch generierten CodeProtocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 14
ASN.1 (Allgemein) Allgemeines ,[object Object]
ASN.1 definiert abstrakte Syntax, also in Botschaften zu transportierende Daten unabhängig von ihrer konkreten Darstellung
Analogie zu IDLs
Encoding Rules
definieren Übersetzung in Transfersyntax
existieren für binäre, textuelle und XML-basierte Transfersyntax
Nachbildung nicht mit ASN.1 definierter Botschaften nur bedingt möglich
Keine Unterstützung für Berechnung abhängiger Teile der BotschaftenGeschichte ,[object Object]
Standardisierung als ISO 8824/8825 (1987)Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 15
ASN.1 (Syntax) Grundlegende Sprachmittel ,[object Object]
Parametrisierte Typen
Datentyperweiterbarkeit
MakrosElementare Typen ,[object Object],Operatoren auf Typen ,[object Object]
SEQUENCE/SEQUENCE OF
SET/SET OF
CHOICE
ENUMERATED
Default-Werte und Optionalität möglichTags ,[object Object],Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 16
Beispiel: TCP Segment Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 17
ASN.1 (Beispiel) Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 18
ASN.1 – Basic Encoding Rules Allgemein ,[object Object]
Metainformationen werden nahezu komplett übernommen
TLV : Type, Length, Value
Sehr gute Eignung als Transfersyntax
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
ASN.1 – Packed Encoding Rules Allgemein ,[object Object]
Metainformationen werden als dem Dekodierer bekannt vorausgesetzt
Abkehr von TLVBeispiel 	TCP Packet von Port 56237 zu Zielport 4444 Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen Folie 20 Value: 0x115c = 4444
Protocol Buffers (Allgemein) Allgemeines ,[object Object]
Typsystem definiert Typen aus Sicht der Transfersyntax
Werkzeugunterstützung
Definition von Abbildungen auf Typsysteme der Zielsprachen (C++, Java, Python)
Entworfen für die Codegenerierung
Platzsparende Kodierung

Weitere ähnliche Inhalte

Andere mochten auch

RijnWaal Verhaal - ppt
RijnWaal Verhaal - pptRijnWaal Verhaal - ppt
RijnWaal Verhaal - ppt
RijnWaalpad
 
SEARCHING FOR TOM: Poster
SEARCHING FOR TOM: PosterSEARCHING FOR TOM: Poster
SEARCHING FOR TOM: Poster
Derek Weidl
 
Aufbau Gemeinsamer Datendienste 6. E-Government Symposium 13.11.2012:
Aufbau Gemeinsamer Datendienste 6. E-Government Symposium 13.11.2012:Aufbau Gemeinsamer Datendienste 6. E-Government Symposium 13.11.2012:
Aufbau Gemeinsamer Datendienste 6. E-Government Symposium 13.11.2012:
geoportal of the federal authorities of the Swiss Confederation
 

Andere mochten auch (20)

RijnWaal Verhaal - ppt
RijnWaal Verhaal - pptRijnWaal Verhaal - ppt
RijnWaal Verhaal - ppt
 
Groups 2010.06: Offenheit von Geodaten (Digital Sustainability)
Groups 2010.06: Offenheit von Geodaten (Digital Sustainability)Groups 2010.06: Offenheit von Geodaten (Digital Sustainability)
Groups 2010.06: Offenheit von Geodaten (Digital Sustainability)
 
Tourismustag der Metropolregion Rhein-Neckar: Medienarbeit für Touristiker in...
Tourismustag der Metropolregion Rhein-Neckar: Medienarbeit für Touristiker in...Tourismustag der Metropolregion Rhein-Neckar: Medienarbeit für Touristiker in...
Tourismustag der Metropolregion Rhein-Neckar: Medienarbeit für Touristiker in...
 
Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)
Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)
Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)
 
SEARCHING FOR TOM: Poster
SEARCHING FOR TOM: PosterSEARCHING FOR TOM: Poster
SEARCHING FOR TOM: Poster
 
Tesco Case Study
Tesco Case StudyTesco Case Study
Tesco Case Study
 
Oracle Secure Patching Concept
Oracle Secure Patching ConceptOracle Secure Patching Concept
Oracle Secure Patching Concept
 
Statistik, Tätigkeitsbericht 2010
Statistik, Tätigkeitsbericht 2010Statistik, Tätigkeitsbericht 2010
Statistik, Tätigkeitsbericht 2010
 
DJ HERO 2
DJ HERO 2DJ HERO 2
DJ HERO 2
 
Neue Wege im Marketing: Psychoanalyse - Projektpräsentation Marketing-Club Br...
Neue Wege im Marketing: Psychoanalyse - Projektpräsentation Marketing-Club Br...Neue Wege im Marketing: Psychoanalyse - Projektpräsentation Marketing-Club Br...
Neue Wege im Marketing: Psychoanalyse - Projektpräsentation Marketing-Club Br...
 
Aufbau Gemeinsamer Datendienste 6. E-Government Symposium 13.11.2012:
Aufbau Gemeinsamer Datendienste 6. E-Government Symposium 13.11.2012:Aufbau Gemeinsamer Datendienste 6. E-Government Symposium 13.11.2012:
Aufbau Gemeinsamer Datendienste 6. E-Government Symposium 13.11.2012:
 
Groups 2010.01: Software-Freiheit vs. Verbot (Digital Sustainability)
Groups 2010.01: Software-Freiheit vs. Verbot (Digital Sustainability)Groups 2010.01: Software-Freiheit vs. Verbot (Digital Sustainability)
Groups 2010.01: Software-Freiheit vs. Verbot (Digital Sustainability)
 
Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)
Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)
Groups 2010.12: Geht die 'beste' Demokratie nur online? (Digital Sustainability)
 
Security by Design - von der Single Instanz über DWH, In-Memory, Big Data mit...
Security by Design - von der Single Instanz über DWH, In-Memory, Big Data mit...Security by Design - von der Single Instanz über DWH, In-Memory, Big Data mit...
Security by Design - von der Single Instanz über DWH, In-Memory, Big Data mit...
 
Rau innsbruck gut_informiert
Rau innsbruck gut_informiertRau innsbruck gut_informiert
Rau innsbruck gut_informiert
 
Offen für Innovationen: Wie KMU von Kooperationen profitieren
Offen für Innovationen: Wie KMU von Kooperationen profitierenOffen für Innovationen: Wie KMU von Kooperationen profitieren
Offen für Innovationen: Wie KMU von Kooperationen profitieren
 
FUNCIONES DE LOS DOCENTES Y EL USO DE LAS TICS EN EL PROCESO ENSEÑANZA-APREND...
FUNCIONES DE LOS DOCENTES Y EL USO DE LAS TICS EN EL PROCESO ENSEÑANZA-APREND...FUNCIONES DE LOS DOCENTES Y EL USO DE LAS TICS EN EL PROCESO ENSEÑANZA-APREND...
FUNCIONES DE LOS DOCENTES Y EL USO DE LAS TICS EN EL PROCESO ENSEÑANZA-APREND...
 
geo.admin.ch: das Geoportal des Bundes egovernment-wettbewerb FinalistenTag
geo.admin.ch: das Geoportal des Bundes egovernment-wettbewerb FinalistenTaggeo.admin.ch: das Geoportal des Bundes egovernment-wettbewerb FinalistenTag
geo.admin.ch: das Geoportal des Bundes egovernment-wettbewerb FinalistenTag
 
Groups 2010.14: FOSS-Strategien - Red Hat vs. Oracle vs. SAP (Digital Sustain...
Groups 2010.14: FOSS-Strategien - Red Hat vs. Oracle vs. SAP (Digital Sustain...Groups 2010.14: FOSS-Strategien - Red Hat vs. Oracle vs. SAP (Digital Sustain...
Groups 2010.14: FOSS-Strategien - Red Hat vs. Oracle vs. SAP (Digital Sustain...
 
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
 

Ähnlich wie Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen (6)

[18] Nu P 13 1
[18] Nu P 13 1[18] Nu P 13 1
[18] Nu P 13 1
 
Google Go - Good artists borrow, great artists steal.
Google Go - Good artists borrow, great artists steal.Google Go - Good artists borrow, great artists steal.
Google Go - Good artists borrow, great artists steal.
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001
 
VIT 2-2014
VIT 2-2014VIT 2-2014
VIT 2-2014
 
PM Perlen - Polygon fuer Prozessprojekte
PM Perlen - Polygon fuer ProzessprojektePM Perlen - Polygon fuer Prozessprojekte
PM Perlen - Polygon fuer Prozessprojekte
 
VIT 1-2014
VIT 1-2014VIT 1-2014
VIT 1-2014
 

Mehr von Falk Hartmann (9)

Risikomanagement in der Softwareentwicklung
Risikomanagement in der SoftwareentwicklungRisikomanagement in der Softwareentwicklung
Risikomanagement in der Softwareentwicklung
 
An Introduction to AngularJS
An Introduction to AngularJSAn Introduction to AngularJS
An Introduction to AngularJS
 
Risiko Management in der Softwareentwicklung
Risiko Management in der SoftwareentwicklungRisiko Management in der Softwareentwicklung
Risiko Management in der Softwareentwicklung
 
D3ML Session
D3ML SessionD3ML Session
D3ML Session
 
An Architecture for an XML-Template Engine enabling Safe Authoring
An Architecture for an XML-Template Engine enabling Safe AuthoringAn Architecture for an XML-Template Engine enabling Safe Authoring
An Architecture for an XML-Template Engine enabling Safe Authoring
 
A Distributed Staged Architecture for Multimodal Applications
A Distributed Staged Architecture for Multimodal ApplicationsA Distributed Staged Architecture for Multimodal Applications
A Distributed Staged Architecture for Multimodal Applications
 
Drahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen SchrittDrahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen Schritt
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende Programmierung
 
Sichere templategestützte Verarbeitung von XML-Dokumenten
Sichere templategestützte Verarbeitung von XML-DokumentenSichere templategestützte Verarbeitung von XML-Dokumenten
Sichere templategestützte Verarbeitung von XML-Dokumenten
 

Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen