Teil 3 - Aufbau und Entwurf von Protokollen

Download Report

Transcript Teil 3 - Aufbau und Entwurf von Protokollen

Rechnerkommuniaktion und Vernetzung
Teil 3 – Aufbau und Entwurf von Protokollen
Stephan Rupp
Nachrichtentechnik
www.dhbw-stuttgart.de
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
5. Semester, Nachrichtentechnik, 2013
Inhalt
Aufbau und Entwurf von Protokollen
•
Protokolle
•
Entwicklung und Test
•
Protokollanalysator
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
2
5. Semester, Nachrichtentechnik, 2013
Protokollschichten
Prinzip: Schichtung von Diensten
Schicht N + 1
nutzt …
… Dienst der
Schicht N
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
3
5. Semester, Nachrichtentechnik, 2013
Referenzmodell der ISO-OSI
Endsysteme und Übertragungssysteme
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
4
5. Semester, Nachrichtentechnik, 2013
ISO-OSI Referenzmodell
Funktionen der Protokollschichten
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
5
5. Semester, Nachrichtentechnik, 2013
Netzwerk
Anwendungen
OSI – Modell für Systeme
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
6
5. Semester, Nachrichtentechnik, 2013
Ebenen om OSI Referenzmodell
Management Plane:
Systemadministration
(OSS/NMS)
Control Plane: Steuerung
User Plane: Daten
OSS: Operation Support System, Betriebsführungssystem
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
NMS: Network Management System, Leitsystem
7
5. Semester, Nachrichtentechnik, 2013
Anfragen auf Dienstebene
Dienstanbieter (Service Provider) leitet Anfragen weiter
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
8
5. Semester, Nachrichtentechnik, 2013
Innerhalb der Anwendungsknoten
SDU: Service Date Unit
PDU: Protocol Data Unit
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
9
5. Semester, Nachrichtentechnik, 2013
Hierarchie der Nachrichten
Protocol Data Units als komplette Nachricht der Schicht
•
(N) PDU = (N) SDU + (N) PCI
SDU: Service Date Unit
•
PDU: Protocol Data Unit
(N) SDU = (N+1) PDU
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
PCI: Protocol Control Information
10
5. Semester, Nachrichtentechnik, 2013
Kommunikationsprozess
Nachrichten und Zustandsänderungen
PDU
Prozess: Zustandsautomat
(Finite State Machine)
Paketinhalt
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
Paketkopf
Quelle: Gerd Siegmund
11
5. Semester, Nachrichtentechnik, 2013
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)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
12
5. Semester, Nachrichtentechnik, 2013
Zustandsdiagramm
Nachrichten lösen Zustandsänderungen aus
•
Gleiches Konzept wie bei UML Zustandsdiagrammen (State Diagram)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
13
5. Semester, Nachrichtentechnik, 2013
Beispiel: Client-Server in SDL Notation
Zustand
Nachricht
empfangen
Nachricht
empfangen
(warten auf Benutzer)
Nachricht
senden
Zustand
SDL: Service Description Language (vergleichbar mit Aktivitätsdiagramm bei UML)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
14
5. Semester, Nachrichtentechnik, 2013
Beispiel: Sequenzdiagramm
Message Sequence Diagram entspricht Sequenzdiagramm bei UML (Nachricht senden = Methode aufrufen)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
15
5. Semester, Nachrichtentechnik, 2013
Formale Validierung
Formale Validierung
ist in sehr einfachen
Fällen durch
Berücksichtigung
globaler Zustände
möglich.
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
16
5. Semester, Nachrichtentechnik, 2013
Beispiel: Client-Server Kommunikation
Kriterien zur Validierung:
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
17
•
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)
5. Semester, Nachrichtentechnik, 2013
Inhalt
Aufbau und Entwurf von Protokollen
•
Protokolle
•
Entwicklung und Test
•
Protokollanalysator
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
18
5. Semester, Nachrichtentechnik, 2013
Planen und Bauen
Planung und Design:
Transformationen eines
Modells
Modell
Bottom-Up
Prozess
Top-Down
Prozess
Bauen: Transformationen
eines Codes
Code
(OpenSource: Code als Modell)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
19
5. Semester, Nachrichtentechnik, 2013
Implementierung und Tests
Systemtests
Funktionale
Tests
black box
white box
SoftwareEntwickler
V-Modell
Spezifikation und
Test
Systemanforderungen
Funktionale
Anforderungen
Integrationstests
Design
Anforderungen
Modultests
Implementierung
und Test
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
Implementierung
der Module
UnitTests
20
Implementierung
der Units
5. Semester, Nachrichtentechnik, 2013
Hardware Architektur
Controller
(Host)
Schnittstelle
(Communication Controller)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
21
5. Semester, Nachrichtentechnik, 2013
Software Architektur
Controller
(Host)
Schnittstelle
(Communication Controller)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
22
5. Semester, Nachrichtentechnik, 2013
Modell einer Protokollschicht
Schicht N als Dienstleister (Service
Provider) für Schicht N+1
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
23
5. Semester, Nachrichtentechnik, 2013
Protokolltests
Ereignisse und Statustabellen (Event State Tables)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
24
5. Semester, Nachrichtentechnik, 2013
Protokolltests
Referenz und Prüfling einer Protokollschicht
Referenz
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
Prüfling
25
5. Semester, Nachrichtentechnik, 2013
Konformitätstests
Mit externem Protokolltester
FSM: Finite State Machine, Zustandsautomat
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
ASP: Abstract Service Primitives
26
5. Semester, Nachrichtentechnik, 2013
Realer Testaufbau
Prüfling
Testsystem
(System under Test)
(Protokolltester)
Protokollschicht
Testfälle
(Test Cases)
PDU
Simulator
Trace
ASP
Emulation der
unteren Protokollschichten
Full Trace
PDU: Packet Data Unit
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
ASP: Abstract Service Primitives
27
5. Semester, Nachrichtentechnik, 2013
Anwendungstests
Editor
Testumgebung
Anwendung
record inputs
Skript
play back
Error
Input
Zielsystem
Events
situations
laden
Test Case
Entwicklungssystem &
Emulator
Test report
Screen shots
programmieren
und testen
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
28
5. Semester, Nachrichtentechnik, 2013
Inhalt
Aufbau und Entwurf von Protokollen
•
Protokolle
•
Entwicklung und Test
•
Protokollanalysator
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
29
5. Semester, Nachrichtentechnik, 2013
Protokollschichten
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
30
5. Semester, Nachrichtentechnik, 2013
Signalisierung und Verbindung
VoIP mit Session Initiation Protokoll (SIP)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
31
5. Semester, Nachrichtentechnik, 2013
Protokollanalysator einsetzen
Übungen mit Wireshark
•
Wireshark installieren und eigenen Verkehr mitschneiden
Siehe auch: SIP Labor
Aufzeichnung der Abläufe mit WireShark
Die Aktivitäten am Asterisk-Server können nun mit Wireshark (Ethereal) aufgezeichnet
werden. Vor Beginn der Aufzeichnungen muss die Ethernet-Schnittstelle selektiert werden.
Semester,
Nachrichtentechnik,
2013
Rechnerkommunikation und Vernetzung, S.
Rupp,
Teil 3mit 32
Ein
Notebook
einer Ethernet-Schnittstelle5.
und
einem WLAN-Zugang
hat dabei
bereits
zwei mögliche Interfaces. Unter „Capture“ und „Interfaces“ kann die Schnittstelle festgelegt
Protokollanalysator einsetzen
Aufbau einer SIP-Nachricht – Anfrage (Request)
SP: Leerzeichen (Space)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3 33
SIP unterscheidet die folgenden Grundtypen von Nachrichten (Methods):
5. Semester, Nachrichtentechnik, 2013
·
SIP-Version: Wie bei den Anfragen wird hiermit die für den Nachrichtenaufbau und
-ablauf verwendete Version von SIP übermittelt. Der SIP-Version folgt ein
Leerzeichen (Single Space).
Status-Code: Antwort auf die Anfrage im Request. > Verweis auf Tabelle mit StatusCodes>>
Reason Phrase: Nach einem weiteren Leerzeichen kommt dann der Status-Code in
Textform (Code: 200 – Text: OK, Code: 180 – Text: RINGING usw.). Die Zeile wird
dann mit einem CRLF abgeschlossen.
Protokollanalysator einsetzen
·
·
Aufbau einer SIP-Nachricht – Antwort (Response)
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
Transaktion, Dialog und Session
34
5. Semester, Nachrichtentechnik, 2013
Protokollanalysator einsetzen
Ablauf einer SIP-Transaktion
Verbindungsaufbau
Verbindung
Verbindungsabbau
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
35
5. Semester, Nachrichtentechnik, 2013
Statusinformationen
Protokollanalysator einsetzen
Mit „Stopp“ hält man die Aufzeichnung an und Wireshark stellt alle aufgezeichneten
Aufzeichnung mit Wireshark (Beispiel)
Nachrichten in einem Fenster dar:
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
36
5. Semester, Nachrichtentechnik, 2013
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
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
37
5. Semester, Nachrichtentechnik, 2013
Protokolle absichern
Fehlerfälle und Sicherheitsmaßnahmen
Maßnahme
Fehler
Unbeabsichtigte
Wiederholung
Verlust
Eingefügte Nachricht
Inkorrekte Sequenz
Verfälschung
Unakzeptable Verzögerung
Sequenz
Nummer
Watchdog
x
x
x
x
x
x
x
x
x
x
x
Maskerade
Memory Fehler in Switches
Connection ID CRC (Prüfsumme)
Berechnung
x
x
x
x
Inkorrekte Weiterleitung
zwischen Segmenten
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
x
38
5. Semester, Nachrichtentechnik, 2013
Funktionale Sicherheit (engl. Safety)
•
Ziel: Gefahren für Menschen und Umwelt durch Maschinen und
Anlagen vermeiden.
Maschinen und Anlagen sind derart auszulegen, dass Fehler
und Defekte keine Gefährdung nach sich ziehen.
•
Risiko = Schadenshäufigkeit * Schadensausmaß
Risiko ohne
Schutzmaßnahme
Risiko mit
Schutzmaßnahme
•
< akzeptables Risiko
Prinzip: Senkung des Risikos auf ein akzeptables Maß durch
Sicherheitsmaßnahmen.
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
39
5. Semester, Nachrichtentechnik, 2013
Kommunikationssysteme
ENDE Teil 3
Aufbau und Entwurf von Protokollen
Rechnerkommunikation und Vernetzung, S. Rupp, Teil 3
40
5. Semester, Nachrichtentechnik, 2013