WEBSOCKETS DATUM AUTOR.

Slides:



Advertisements
Ähnliche Präsentationen
GWT - google Web Toolkit
Advertisements

Sicherheit in Netzwerken
HS-Projekt Friedrich Junge-Schule, Kl. 9c, 2011 Wie funktionieren Internet-Server? Web-Server auf eigener Domain und Game-Server für Internet-Spiele Teilnehmer:
Faxtechnologie in VoIP-Netzen.
Basis-Architekturen für Web-Anwendungen
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Die Firewall Was versteht man unter dem Begriff „Firewall“?
Secure Socket Layer SSL For a secure E-Business Thomas Muskalla
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
Geschichte und Funktion des Internets.
Umstellung von Lucane Groupware auf sichere Gruppenkommunikation mittels TGDH Von: Markus Diett Betreut durch: Mark Manulis Lehrstuhl für Netz- und Datensicherheit.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
JAVA RMI.
Projekt Web Engineering
Martin MauveUniversität Mannheim1 3.6 User Datagram Protocol (UDP) RFC 768. J. Postel. User Datagram Protocol unzuverlässiges Transportprotokoll.
Sicherheit von mobilem Code Hauptseminar: Sicherheit in vernetzten Systemen Sicherheit von mobilem Code Oliver Grassow.
Zukunft des Webs? Dennis Beer Christian Blinde
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Präsentation von Stefan Gimbel, Stefan Wurzer und Thomas Eschbach
von Julia Pfander und Katja Holzapfel E 12/2
Browser das Internet lesen.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
Client-Server Modell Advanced IT Basics Nicolas Frings.
Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol,
DFÜ => Daten-Fern-Übertragung
Referent: Kiron Mirdha Betreuer: Rene Hilden Juli 2012
HOB RD VPN HOB Remote Desktop Virtual Private Network
WAP = Wireless Application Protocol Protokollstack Ein Protokoll ...
Client-Server Systeme
Grundlagen: Client-Server-Modell
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Allgemeine Technologien I Sitzung am Mailserver
App-Entwicklung mit HTML5, CSS und JavaScript
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Internet-Protokolle und Sicherheitsaspekte
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
Referat von Markus Hertel
Beschreiben Sie eine Web Interaktion mittels Java Applets.
Präsentation von Lukas Sulzer
1 (C)2006, Hermann Knoll, HTW Chur, FHO teKRY407 Geheimhaltung, Authentikation, Anonymität Protokolle: Übersicht Referat Santos: Hash-Funktionen.
Web 2.0 & AJAX (A)sysnchrones (J)avaScript (A)nd (X)ML
Wissen praktisch ablegen
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Aufzeichnung von Usability-Daten im www. Client-Side Log : automatisch (maschinell) generiertes Protokoll Client : Rechner mit dem Browser des Users Server:
Meldungen über Ethernet mit FINS/UDP
Netzwerke.
W W W - World Wide Web. Das World Wide Web kommt aus dem Englischen und bedeutet ‚Weltweites Netz‘ ist ein über das Internet abrufbares Hypertext-System.
VPN – Virtual Private Network
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom ISO/OSI Referenzmodell.
->Prinzip ->Systeme ->Peer – to – Peer
FTP File Transfer Protocol. Geschichte Das File Transfer Protocol (engl. für „Dateiübertragungsverfahren“, kurz FTP) ist ein im RFC 959 von 1985 spezifiziertes.
Datenbanken im Web 1.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
 Sind Adresskomponenten (an der IP- Adresse angehängt, von ihr durch Doppelpunkt getrennt)  Werden in Netzwerkprotokollen eingesetzt um Datenpakete.
TCP/IP.
SNMP – Simple Network Management Protocol
Kirsten Kropmanns Allgemeine Technologien II 9. März 2009
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Lisa Huber DHBW Mannheim
Hypertext Transfer Protocol Secure (HTTPS) Seit August 1994 Entwickelt von Netscape Dient zur Verschlüsselung und zur Authentifizierung der Kommunikation.
Hypertext Transfer Protocol Secure (HTTPS) Wird in der Adressenleiste angezeigt.
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
ICMP Internet Control Message Protocol Michael Ziegler Universität Freiburg Michael Ziegler.
TCP/IP Transmission Control Protocol/Internet Protocol
 Präsentation transkript:

WEBSOCKETS DATUM AUTOR

Sockets Rückblick: Vorlesung Datenkommunikation 2 21.04.2017 WebSockets 2 Sockets Rückblick: Vorlesung Datenkommunikation 2

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

Agenda Das HTTP Protokoll Interaktivität und Echtzeitfähigkeit im Web 21.04.2017 WebSockets 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 4

Hypertext Transfer Protocol 21.04.2017 WebSockets 5 Hypertext Transfer Protocol Request-Response-Nachrichtenaustausch

Hypertext Transfer Protocol 21.04.2017 WebSockets 6 Hypertext Transfer Protocol Kommunikationsfluss des Protokolls

Hypertext Transfer Protocol 21.04.2017 WebSockets 7 Hypertext Transfer Protocol Kommunikationsfluss des Protokolls

Hypertext Transfer Protocol 21.04.2017 WebSockets 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

21.04.2017 WebSockets 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

21.04.2017 WebSockets 10 Lösungsansätze - SSE Request Response

Lösungsansätze? Nachteile der Implementierungen 21.04.2017 WebSockets 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

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

HTML5 WebSockets Verbindungsaufbau (Opening Handshake) 13 21.04.2017

HTML5 WebSockets Der „Sec WebSocket Accept“ Mechanismus 14 21.04.2017

HTML5 WebSockets Der „Sec WebSocket Accept“ Mechanismus 15 21.04.2017

21.04.2017 WebSockets 16 HTML5 WebSockets Das Protokoll (Frame)

21.04.2017 WebSockets 17 HTML5 WebSockets Das Protokoll (Frame)

HTML5 WebSockets Operation Codes Code Frame 0x0 Fortsetzung Frame 0x1 21.04.2017 WebSockets 18 HTML5 WebSockets Operation Codes Code Frame 0x0 Fortsetzung Frame 0x1 Textframe 0x2 Binärframe 0x3 bis 0x7 Reserviert für weitere Non-Control-Frames 0x8 Connection Close Frame 0x9 Ping Frame 0xA Pong Frame 0xB bis 0xF Reserviert für weitere Control Frames

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

21.04.2017 WebSockets 20 HTML5 WebSockets Maskierung (mittels XOR)

HTML5 WebSockets - Datenframes 21.04.2017 WebSockets 21 HTML5 WebSockets - Datenframes Server  Client Client  Server

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

HTML5 WebSockets - Close 21.04.2017 WebSockets 23 HTML5 WebSockets - Close Server beendet Client beendet

HTML5 WebSockets Beispiel Kommunikation (Traffic Analyse) 24 21.04.2017 WebSockets 24 HTML5 WebSockets Beispiel Kommunikation (Traffic Analyse)

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

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

Die Client API Grundlegendes Namensschema Bestandteil Bedeutung 21.04.2017 WebSockets 27 Die Client API Grundlegendes Namensschema Bestandteil Bedeutung ws oder wss Protokoll host Server port Beliebiger Port (auch 80 grundsätzlich möglich) path Pfad auf Dateisystem query Optionale Parameter

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

Die Client API Objektzustände Intern Zustand Beschreibung CONNECTING 21.04.2017 WebSockets 29 Die Client API Objektzustände Intern Zustand Beschreibung CONNECTING Verbindungsaufbau läuft 1 OPEN Verbindung hergestellt 2 CLOSING Abbau läuft derzeit 3 CLOSED Verbindung geschlossen (oder konnte nicht aufgebaut werden)

Die Client API Eventhandler Handler Event Wird getriggert, wenn … 21.04.2017 WebSockets 30 Die Client API Eventhandler Handler Event Wird getriggert, wenn … onopen open WS-Objekt in den Zustand OPEN wechselt onerror error Verbindungsfehler Übertragungsfehler onmessage message Nachricht empfangen wurde onclose close Verbindung geschlossen wird Verbindung nicht aufgebaut werden konnte

Die Client API Weitere Attribute eines WS-Objektes Attribut 21.04.2017 WebSockets 31 Die Client API Weitere Attribute eines WS-Objektes Attribut Beschreibung binaryType:DOMString Typ der Binärdaten (Blob oder ArrayBuffer) bufferedAmoung:long Anzahl der Bytes in der Warteschlange extensions:DOMString Erweiterungen, die vom Server ausgesucht wurden protocol:DOMString Aktuell genutztes Subprotokoll url:DOMString URL der Verbindung

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

Die Client API Verbindung schließen Attribut Beschreibung code:long 21.04.2017 WebSockets 33 Die Client API Verbindung schließen Attribut Beschreibung code:long Close Status Code reason:DOMString Textnachricht als Grund für die Beendigung der Verbindung wasClean:boolean Bestimmt, ob die Verbindung ordnungsgemäß geschlossen wurde

Die Client API Beispiel Anwendung „Chatserver“ 34 21.04.2017 WebSockets 34 Die Client API Beispiel Anwendung „Chatserver“

Server Implementierungen 21.04.2017 WebSockets 35 Server Implementierungen Übersicht Name Sprache SuperWebSocket .NET libwebsockets C++ Vert.x CoffeScrip, Groovy, Java, JavaScript, Python, Ruby jWebSocket Java, JavaScript Socket.IO Node.js phpwebsocket PHP Autobahn Python …

Server Implementierungen 21.04.2017 WebSockets 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

Server Implementierungen 21.04.2017 WebSockets 37 Server Implementierungen Beispiel Anwendung „Chatserver“

WebSockets in der Praxis 21.04.2017 WebSockets 38 WebSockets in der Praxis Performance im Web

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

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

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

Fazit Verbesserungen die WebSockets bringen Nachteile Performance 21.04.2017 WebSockets 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“

Ausblick Große Veränderungen im heutigen Web Komplexere Webseiten 21.04.2017 WebSockets 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 Vielen Danke für Ihre Aufmerksamkeit Quellen http://websockets101.org http://websockets.org https://github.com/ghedipunk/PHP-WebSockets