Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

WEBSOCKETS DATUM AUTOR. Sockets Rückblick: Vorlesung Datenkommunikation 22.08.2015WebSockets 2.

Ähnliche Präsentationen


Präsentation zum Thema: "WEBSOCKETS DATUM AUTOR. Sockets Rückblick: Vorlesung Datenkommunikation 22.08.2015WebSockets 2."—  Präsentation transkript:

1 WEBSOCKETS DATUM AUTOR

2 Sockets Rückblick: Vorlesung Datenkommunikation WebSockets 2

3 Sockets Die wichtigsten Eigenschaften reservierter Bereich im Arbeitsspeicher Kommunikationsendpunkt Austausch von Daten In Rechnernetzten Zwischen Prozesse (Interprozesskommunikation) Bidirektional seit 1983 Standard WebSockets 3

4 Agenda Das HTTP Protokoll Interaktivität und Echtzeitfähigkeit im Web HTML5 WebSockets Die Client API Server Implementierungen WebSockets in der Praxis Ausblick und Fazit WebSockets 4

5 Hypertext Transfer Protocol Request-Response-Nachrichtenaustausch WebSockets 5

6 Hypertext Transfer Protocol Kommunikationsfluss des Protokolls WebSockets 6

7 Hypertext Transfer Protocol Kommunikationsfluss des Protokolls WebSockets 7

8 Hypertext Transfer Protocol Einschränkungen Kommunikation kann nur vom Client aus initiiert werden Keine native Unterstützungen für bidirektionale Kommunikation Codierung der Protokollelemente erfolgt als Text Großer Overhead „Zustandslosigkeit“ bzw. „Gedächtnislos“  Keine Interaktivität und Echtzeitfähigkeit (nativ) möglich WebSockets 8

9 Lösungsansätze Wie kann Interaktivität und „Echtzeitfähigkeit“ erreicht werden? Plug-in basierte Ansätze (Browser) XmlHttpRequest Polling und Long-Polling Comet Server-Sent Events WebSockets 9

10 Lösungsansätze - SSE WebSockets 10 RequestResponse

11 Lösungsansätze? Nachteile der Implementierungen (noch) Hoher Overhead / Datenmengen nur „konstruierte“ Lösungsansätze oft nur „scheinbare“ Verbindung von Server zu Client (Quasiinteraktivität) Schwächen bei der Kommunikationskontrolle Fehlerbehandlung Fehlende Spezifikationen WebSockets 11

12 HTML5 WebSockets Ursprünglich von Google vorgeschlagen (2009) Standard RFC 6455 (2011) besteht aus Protokollspezifikation JavaScript Webbrowser API WebSockets 12

13 HTML5 WebSockets Verbindungsaufbau (Opening Handshake) WebSockets 13

14 HTML5 WebSockets Der „Sec WebSocket Accept“ Mechanismus WebSockets 14

15 HTML5 WebSockets Der „Sec WebSocket Accept“ Mechanismus WebSockets 15

16 HTML5 WebSockets Das Protokoll (Frame) WebSockets 16

17 HTML5 WebSockets Das Protokoll (Frame) WebSockets 17

18 HTML5 WebSockets Operation Codes WebSockets 18 CodeFrame 0x0Fortsetzung Frame 0x1Textframe 0x2Binärframe 0x3 bis 0x7Reserviert für weitere Non-Control-Frames 0x8Connection Close Frame 0x9Ping Frame 0xAPong Frame 0xB bis 0xFReserviert für weitere Control Frames

19 HTML5 WebSockets Fragmentierung (Stückweise Übertragung der Nutzdaten) WebSockets 19

20 HTML5 WebSockets Maskierung (mittels XOR) WebSockets 20

21 HTML5 WebSockets - Datenframes WebSockets 21 Server  ClientClient  Server

22 HTML5 WebSockets Der Verbindungsabbau (Statuscodes) WebSockets 22 CodeBedeutung 1000Normal Closure 1001Going Away 1002Protocol Error 1003Unsupported Data 1004Reserved 1005No Status Recieved 1006Abnormal Closure 1007Invalid Frame Payload Data 1008Policy Violation 1009Message Too Big

23 HTML5 WebSockets - Close WebSockets 23 Server beendetClient beendet

24 HTML5 WebSockets Beispiel Kommunikation (Traffic Analyse) WebSockets 24

25 WebSockets - Implementierungen Client JavaScript Webbrowser API (Bestandteil des Standards) Server Socket.IO Websocket-PHP Vert.x … WebSockets 25

26 Die Client API Browsersupport Beispiele: Chrome ab V. 16, FF ab V. 11, IE ab V WebSockets 26

27 Die Client API Grundlegendes Namensschema WebSockets 27 BestandteilBedeutung ws oder wssProtokoll hostServer portBeliebiger Port (auch 80 grundsätzlich möglich) pathPfad auf Dateisystem queryOptionale Parameter

28 Die Client API WebSocket-Objekt Erzeugung Notation Beispiel WebSockets 28

29 Die Client API Objektzustände WebSockets 29 InternZustandBeschreibung 0CONNECTINGVerbindungsaufbau läuft 1OPENVerbindung hergestellt 2CLOSINGAbbau läuft derzeit 3CLOSEDVerbindung geschlossen (oder konnte nicht aufgebaut werden)

30 Die Client API Eventhandler WebSockets 30 HandlerEventWird getriggert, wenn … onopenopenWS-Objekt in den Zustand OPEN wechselt onerrorerror-Verbindungsfehler -Übertragungsfehler onmessagemessageNachricht empfangen wurde oncloseclose-Verbindung geschlossen wird -Verbindung nicht aufgebaut werden konnte

31 Die Client API Weitere Attribute eines WS-Objektes WebSockets 31 AttributBeschreibung binaryType:DOMStringTyp der Binärdaten (Blob oder ArrayBuffer) bufferedAmoung:longAnzahl der Bytes in der Warteschlange extensions:DOMStringErweiterungen, die vom Server ausgesucht wurden protocol:DOMStringAktuell genutztes Subprotokoll url:DOMStringURL der Verbindung

32 Die Client API Die send(…) Methode zur Datenübertragung Parameter: Text Parameter: Binär (Blob) Parameter: Binär (ArrayBuffer) WebSockets 32

33 Die Client API Verbindung schließen WebSockets 33 AttributBeschreibung code:longClose Status Code reason:DOMStringTextnachricht als Grund für die Beendigung der Verbindung wasClean:booleanBestimmt, ob die Verbindung ordnungsgemäß geschlossen wurde

34 Die Client API Beispiel Anwendung „Chatserver“ WebSockets 34

35 Server Implementierungen Übersicht WebSockets 35 NameSprache SuperWebSocket.NET libwebsocketsC++ Vert.xCoffeScrip, Groovy, Java, JavaScript, Python, Ruby jWebSocketJava, JavaScript Socket.IONode.js phpwebsocketPHP AutobahnPython ……

36 Server Implementierungen Beispiel anhand des Frameworks WebSockets-PHP Open Source Eine Hauptklasse „WebSocketServer“ (588 LoC) einfache Klasse „User“ bereits integriert Eigene WS-Klasse einfach von Vorgabe ableiten WebSockets 36

37 Server Implementierungen Beispiel Anwendung „Chatserver“ WebSockets 37

38 WebSockets in der Praxis Performance im Web WebSockets 38

39 WebSockets in der Praxis Performance und Overhead Vergleich mit Polling WebSockets 39

40 WebSockets in der Praxis Aspekte der IT Sicherheit Same Origin Policy SSL bzw. TLS Authentifizierung WebSockets 40

41 WebSockets in der Praxis Verhalten gegenüber den „gängigen“ Attacken Denail-of-Service Man-in-the-Middle Network Scan Port Scanner WebSockets 41

42 Fazit Verbesserungen die WebSockets bringen Performance Echte Interaktivität zwischen Server und Client „Echtzeitfähigkeit“ gelten allgemein als „sicher“ einfache Verwendung Nachteile Mögliche Probleme bei Verwendung eines Proxys im System Cache Anonymisierung oder Filtern Überwachung „Browsersupport“ WebSockets 42

43 Ausblick Große Veränderungen im heutigen Web Komplexere Webseiten Größere Datenmengen und Traffic Mobile Endgeräte  HTTP 2.0  SPDY („Speedy“, von Google)  Stream Control Transmission Protocol WebSockets 43

44 WEBSOCKETS Vielen Danke für Ihre Aufmerksamkeit Quellen https://github.com/ghedipunk/PHP-WebSockets


Herunterladen ppt "WEBSOCKETS DATUM AUTOR. Sockets Rückblick: Vorlesung Datenkommunikation 22.08.2015WebSockets 2."

Ähnliche Präsentationen


Google-Anzeigen