informatik master, pm2100.1, 2013kommunikationssysteme, teil 2.2, s. rupp kommunikationssysteme teil...
Post on 05-Apr-2015
114 Views
Preview:
TRANSCRIPT
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp
KommunikationssystemeTeil 2.2 – Aufbau und Entwurf von Protokollen
Stephan Rupp
Informatik Masterstudium
www.dhbw-stuttgart.de
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 2
Inhalt
Aufbau und Entwurf von Protokollen
• Protokolle
• Entwicklung und Test
• Protokollanalysator
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 3
Protokollschichten
Prinzip: Schichtung von Diensten
Schicht N + 1
nutzt …
… Dienst der
Schicht N
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 4
Referenzmodell der ISO-OSI
Endsysteme und Übertragungssysteme
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 5
ISO-OSI Referenzmodell
Funktionen der Protokollschichten
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 6
OSI – Modell für Systeme
Anw
endu
ngen
Net
zwer
k
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 7
Ebenen om OSI Referenzmodell
Management Plane:
Systemadministration
(OSS/NMS)
Control Plane: Steuerung
User Plane: Daten
OSS: Operation Support System, Betriebsführungssystem NMS: Network Management System, Leitsystem
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 8
Anfragen auf Dienstebene
Dienstanbieter (Service Provider) leitet Anfragen weiter
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 9
Innerhalb der Anwendungsknoten
SDU: Service Date Unit
PDU: Protocol Data Unit
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 10
Hierarchie der Nachrichten
Protocol Data Units als komplette Nachricht der Schicht
• (N) PDU = (N) SDU + (N) PCI
• (N) SDU = (N+1) PDU
SDU: Service Date Unit
PDU: Protocol Data Unit
PCI: Protocol Control Information
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 11
Kommunikationsprozess
Nachrichten und Zustandsänderungen
PaketkopfPaketinhaltQuelle: Gerd Siegmund
Prozess: Zustandsautomat
(Finite State Machine)
PDU
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 12
Beispiel: Client - Server Kommunikation
Client und Server als Zustandsautomaten
Zustände (States):
0: Disconnected (DISC)
1: Waiting (WAIT)
2: Connected (CONN)
Zustandsübergänge (Transitions):
+/-1: send/receive Connect Request (Creq)
+/-2: send/receive Connect Acknowledge (Cack)
+/-3: send/receive Disconnect Request (Dreq)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 13
Zustandsdiagramm
Nachrichten lösen Zustandsänderungen aus
• Gleiches Konzept wie bei UML Zustandsdiagrammen (State Diagram)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 14
Beispiel: Client-Server in SDL Notation
SDL: Service Description Language (vergleichbar mit Aktivitätsdiagramm bei UML)
Zustand
Nachricht empfangen
Nachricht senden
Nachricht empfangen(warten auf Benutzer)
Zustand
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 15
Beispiel: Sequenzdiagramm
Message Sequence Diagram entspricht Sequenzdiagramm bei UML (Nachricht senden = Methode aufrufen)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 16
Formale Validierung
Formale Validierung
ist in sehr einfachen
Fällen durch
Berücksichtigung
globaler Zustände
möglich.
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 17
Beispiel: Client-Server Kommunikation
Kriterien zur Validierung:
• gegenseitige Blockierung (Deadlock): Pfade ohne Ausgang
• unspezifizierte Signale (ohne Empfang)
• Nicht auführbare Zustände (Zustand ist nicht erreichbar)
• Mehrdeutige Zustände (Zustand wird durch unterschiedliche Ereignisse erreicht)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 18
Inhalt
Aufbau und Entwurf von Protokollen
• Protokolle
• Entwicklung und Test
• Protokollanalysator
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 19
Planen und Bauen
Top-Down Prozess
Bottom-Up
Prozess
Modell
Code
Planung und Design: Transformationen eines Modells
Bauen: Transformationen eines Codes
(OpenSource: Code als Modell)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 20
Implementierung und Tests
System-
anforderungen
Funktionale
Anforderungen
Design
Anforderungen
Implementierung
der Module
Implementierung der Units
white box
black box
Software-
Entwickler
Unit-
Tests
Modul- tests
Integrations- tests
Funktionale
Tests
System-
tests
Implementierung
und Test
V-ModellSpezifikation und Test
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 21
Hardware Architektur
Controller
(Host)
Schnittstelle
(Communication Controller)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 22
Software Architektur
Controller
(Host)
Schnittstelle
(Communication Controller)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 23
Modell einer Protokollschicht
Schicht N als Dienstleister (Service Provider) für Schicht N+1
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 24
Protokolltests
Ereignisse und Statustabellen (Event State Tables)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 25
Protokolltests
Referenz und Prüfling einer Protokollschicht
Referenz Prüfling
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 26
Konformitätstests
Mit externem Protokolltester
FSM: Finite State Machine, Zustandsautomat ASP: Abstract Service Primitives
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 27
Realer Testaufbau
Protokollschicht Testfälle (Test Cases)
Emulation der unteren Protokoll-
schichten
Prüfling(System under Test)
Testsystem(Protokolltester)
PDU
ASP
PDU: Packet Data Unit ASP: Abstract Service Primitives
Simulator Trace
Full Trace
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 28
Anwendungstests
Editor
AnwendungSkript
Testumgebung
Entwicklungs-system & Emulator
Zielsystem
Test Case
Input
record inputs
play backError
situations
Events
Test report
Screen shots
laden
programmieren und testen
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 29
Inhalt
Aufbau und Entwurf von Protokollen
• Protokolle
• Entwicklung und Test
• Protokollanalysator
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 30
Protokollschichten
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 31
Signalisierung und Verbindung
VoIP mit Session Initiation Protokoll (SIP)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 32
Protokollanalysator einsetzen
Übungen mit Wireshark
• Wireshark installieren und eigenen Verkehr mitschneiden
Siehe auch: SIP Labor
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 33
Protokollanalysator einsetzen
Aufbau einer SIP-Nachricht – Anfrage (Request)
SP: Leerzeichen (Space)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 34
Protokollanalysator einsetzen
Aufbau einer SIP-Nachricht – Antwort (Response)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 35
Protokollanalysator einsetzen
Ablauf einer SIP-Transaktion
Verbindungsaufbau
Verbindungsabbau
Verbindung
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 36
Protokollanalysator einsetzen
Aufzeichnung mit Wireshark (Beispiel)
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 37
Protokolle manipulieren
Beispiel: ARP Poisoning
• Sicherheitslücke: zustandsloses Protokoll
• Beschreibung des Szenarios siehe:
http://www.oxid.it/downloads/apr-intro.swf
• Protokollwerkzeug Cain & Abel, siehe:
http://www.oxid.it/downloads/cain20.exe
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 38
Protokolle absichern
Fehlerfälle und Sicherheitsmaßnahmen
Maßnahme Fehler
Sequenz Nummer
Watchdog Connection ID CRC (Prüfsumme) Berechnung
Unbeabsichtigte Wiederholung x xVerlust x x xEingefügte Nachricht x xInkorrekte Sequenz x xVerfälschung xUnakzeptable Verzögerung x
Maskerade x x
Memory Fehler in Switches x x
Inkorrekte Weiterleitung zwischen Segmenten x
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 39
Funktionale Sicherheit (engl. Safety)
• Ziel: Gefahren für Menschen und Umwelt durch Maschinen und Anlagen vermeiden.
• Risiko = Schadenshäufigkeit * Schadensausmaß
• Prinzip: Senkung des Risikos auf ein akzeptables Maß durch Sicherheitsmaßnahmen.
Maschinen und Anlagen sind derart auszulegen, dass Fehler und Defekte keine Gefährdung nach sich ziehen.
Risiko ohne Schutzmaßnahme
< akzeptables Risiko
Risiko mit Schutzmaßnahme
Informatik Master, PM2100.1, 2013Kommunikationssysteme, Teil 2.2, S. Rupp 40
Kommunikationssysteme
ENDE Teil 2.2
Aufbau und Entwurf von Protokollen
top related