SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Destacado

Social Media – Chancen und Gefahren für KMU (Fokus Gewerbetreibende)
Social Media – Chancen und Gefahren für KMU (Fokus Gewerbetreibende)Social Media – Chancen und Gefahren für KMU (Fokus Gewerbetreibende)
Social Media – Chancen und Gefahren für KMU (Fokus Gewerbetreibende)Nicole Schnell
 
RijnWaal Verhaal - ppt
RijnWaal Verhaal - pptRijnWaal Verhaal - ppt
RijnWaal Verhaal - pptRijnWaalpad
 
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)Marcus Dapp
 
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)Marcus Dapp
 
SEARCHING FOR TOM: Poster
SEARCHING FOR TOM: PosterSEARCHING FOR TOM: Poster
SEARCHING FOR TOM: PosterDerek Weidl
 
Oracle Secure Patching Concept
Oracle Secure Patching ConceptOracle Secure Patching Concept
Oracle Secure Patching ConceptCarsten Muetzlitz
 
Statistik, Tätigkeitsbericht 2010
Statistik, Tätigkeitsbericht 2010Statistik, Tätigkeitsbericht 2010
Statistik, Tätigkeitsbericht 2010Johannes Pfeffer
 
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)Marcus Dapp
 
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)Marcus Dapp
 
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...Carsten Muetzlitz
 
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 profitierenMario Leupold
 
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...Xavi Jimenez Jima
 

Destacado (20)

Social Media – Chancen und Gefahren für KMU (Fokus Gewerbetreibende)
Social Media – Chancen und Gefahren für KMU (Fokus Gewerbetreibende)Social Media – Chancen und Gefahren für KMU (Fokus Gewerbetreibende)
Social Media – Chancen und Gefahren für KMU (Fokus Gewerbetreibende)
 
Leipzig sportrechtstag 11_11_12
Leipzig sportrechtstag 11_11_12Leipzig sportrechtstag 11_11_12
Leipzig sportrechtstag 11_11_12
 
FeWo 2011
FeWo 2011FeWo 2011
FeWo 2011
 
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...
 

Similar a Protocol Engineering: Beschreibung und Entwicklung von Kommunikationsprotokollen

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.Frank Müller
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Jürg Stuker
 
PM Perlen - Polygon fuer Prozessprojekte
PM Perlen - Polygon fuer ProzessprojektePM Perlen - Polygon fuer Prozessprojekte
PM Perlen - Polygon fuer ProzessprojekteTorsten Koerting
 

Similar a 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
 

Más de Falk Hartmann

Risikomanagement in der Softwareentwicklung
Risikomanagement in der SoftwareentwicklungRisikomanagement in der Softwareentwicklung
Risikomanagement in der SoftwareentwicklungFalk Hartmann
 
An Introduction to AngularJS
An Introduction to AngularJSAn Introduction to AngularJS
An Introduction to AngularJSFalk Hartmann
 
Risiko Management in der Softwareentwicklung
Risiko Management in der SoftwareentwicklungRisiko Management in der Softwareentwicklung
Risiko Management in der SoftwareentwicklungFalk Hartmann
 
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 AuthoringFalk Hartmann
 
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 ApplicationsFalk Hartmann
 
Drahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen SchrittDrahtwanderung: Wir machen den NeXTen Schritt
Drahtwanderung: Wir machen den NeXTen SchrittFalk Hartmann
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungFalk Hartmann
 
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-DokumentenFalk Hartmann
 

Más de 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