Vorlesung Multimediakommunikation. 3. XMPP-Erweiterungen. Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Multimediakommunikation. 3. XMPP-Erweiterungen. Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze"

Transkript

1 Vorlesung Multimediakommunikation 3. XMPP-Erweiterungen Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze

2 Übersicht Publish Subscribe XMPP Ping Multimedia (Jingle) In-Band Registration Remote Commands File Transfer Chat State Notifications Components Privacy Lists / Blocking Internet of Things Stream Management Multi-User Chat XMPP Core connections, security, stanzas, roster, federation vcards Data Forms EXI Stream Compression Service Discovery HTTP Binding (BOSH) Serverless Messaging Rich Presence Entity Capabilities Personal Eventing Protocol XMPP over Websockets Extended Stanza Addressing Message Carbons Offline Messages 3. 2

3 1. Alternative Verbindungsmethoden pokergame.a.de Component XMPP-Server a.de S2S XMPP-Server b.de HTTP (BOSH) BOSH Connection Manager Serverless Messaging WebSocket + Stream Management WebSocket Module 3. 3

4 Serverless Messaging Idee: ad-hoc-verbindungsaufbau, z.b. um mit Personen oder Geräten im gleichen Raum zu kommunizieren Basis: zero-configuration networking (Apple Bonjour) à standardisiert als Serverless Messaging (XEP-0174) Nutzt mdns (Multicast DNS), um JID, IP-Adresse + Port im lokalen Netz zu verbreiten (Broadcast an alle Teilnehmer) Streams werden dann direkt zwischen den Teilnehmern aufgebaut (direkte TCP-Verbindung) _presence._tcp.local. PTR Presence-Announcement mit DNS PTR-Record SRV 5562 odyssey.local. odyssey.local. A DNS SRV und A-Record, um Rechnername und IP-Adresse bekannt zu geben 3. 4

5 Verbindungsaufbau Client-Client PTR presence? SRV A mac.local? Multicast 5562 mac.local <stream:stream> :5562 <stream:stream>... <message from= to= kein bind,... notwendig 3. 5

6 Serverless Messaging: Presence? Sicherheit? keine <presence>-nachrichten Presence wird über DNS TXT Records propagiert (Multicast): IN TXT txtvers=1 status=avail 1st=Alice TLS-Upgrade möglich - Client benötigt Zertifikat SASL möglich - ebenfalls Zertifikate benötigt oder Shared Secret in der Regel unverschlüsselt, nicht authentisiert Nutzung nur in lokalen Netzen (gesichertes WLAN) oder per ad-hoc WLAN empfohlen 3. 6

7 Server-Server-Kommunikation DNS SRV Request: _xmpp-server für Serverzu-Server-Kommunikation Bevorzugte Methode: TLS + SASL EXTERNAL = Authentisierung anhand der TLS-Zertifikate Verbindung kann nach Bedarf für weitere Stanzas genutzt werden 3. 7

8 XMPP-Komponenten XMPP XMPP-Server a.de XMPP XEP-0114 conference.a.de Jabber Component Protocol - XEP-0114 XMPP-Komponenten: bekommen Sub-Domain des Servers zugewiesen werden im Server speziell registriert sämtlicher Traffic für die Subdomain wird direkt an Komponente weitergeleitet Warum Komponenten? Service als XMPP-Client? - muss bei allen Nutzern im Roster sein Service als Server-PlugIn? - auf bestimmte Server- Implementierung festgelegt 3. 8

9 Verbindungsaufbau Component-Server conference.a.de XMPP-Server a.de <stream:stream xmlns="jabber:component:accept" xmlns:stream="http://etherx.jabber.org/streams" to="conference.a.de"> <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:component:accept" from="conference.a.de" id="3bf96d32"> <handshake>--hash von Shared Secret + Stream ID-- </handshake> <handshake/> 3. 9

10 BOSH: XMPP über HTTP Problem: permanente TCP-Verbindung in manchen Anwendungsfällen ungünstig mobile Netze: Netzabbrüche > XMPP- Reconnects Mobilgeräte: kürzere Akkulaufzeit, Verbindungsabbruch bei App Suspend Web-Anwendungen restriktive Firewall-Einstellungen Lösung: Long-Polling per HTTP BOSH Bi-directional Streams over Synchronous HTTP (XEP-0124) Connection Manager als Proxy = XMPP- Client und HTTP-Server XMPP-Server XMPP Connection Manager HTTP Web-Client 3. 10

11 BOSH: Verbindungsaufbau HTTP Connection Manager HTTP- Refresh alle 60 Sekunden POST /webclient HTTP/1.1 Host: bosh.a.de... <body hold= 1 secure= true rid= to= a.de wait= 60 xmpp:version= 1.0 xml:lang= en xmlns= xmlns:xmpp= urn:xmpp:xbosh /> HTTP/ OK... <body hold= 1 requests= 2 sid= 3m1ts1htd1s...> <stream:features>... </stream:features> </body> maximal 2 Requests gleichzeitig... SASL, restart stream, bind, request roster, initial presence Session-ID für Zuordnung der Nachrichten 3. 11

12 BOSH: Kommunikation Client: POST /webclient HTTP/1.1 Host: bosh.wonderland.lit Content-Type: text/xml; charset=utf-8 Content-Length: 205 <body rid=" " sid="3m1ts1htd1s" xmlns="http://jabber.org/protocol/ httpbind"> <message xmlns="jabber:client"> <body>help, I fell down the rabbit hole!</body> </message> </body> Server: HTTP/ OK Content-Type: text/xml; charset=utf-8 Content-Length: 163 <body sid="3m1ts1htd1s" xmlns="http://jabber.org/protocol/httpbind"> <message <body>oh my! How can I help?</body> </message> </body> 3. 12

13 BOSH: Long Polling 3. 13

14 BOSH: Long Polling - Request Pipelining HTTP POST <message> 200 OK (leer) 2. Request kommt an - 1. Request wird sofort beantwortet benötigt HTTP 1.1 Erweiterungen Connection keep alive und pipelining 3. 14

15 XMPP over Websocket RFC Oktober 2014 bereits in vielen XMPP-Clients und Servern verfügbar TCP BOSH Websocket Overhead sehr klein groß klein unzuverlässige Netze Stream Management stabile Verbindung Stream Management Verhalten bei Suspend Verbindung weg Verbindung bleibt Verbindung weg Komprimierung Stream Compression HTTP Compression Websocket Compression Firewall-freundlich mittel (single port) sehr gut (nur HTTP) gut (HTTP + Websocket) 3. 15

16 XMPP over Websocket Handshake XMPP Server + Websocket GET /xmpp-websocket HTTP/1.1 Host: xmpp.a.de Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dghlihnhbxbszsbub25jzq== Origin: Sec-WebSocket-Protocol: xmpp Sec-WebSocket-Version: 13 HTTP/ Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pplmbitxaq9kygzzhzrbk+xoo= Sec-WebSocket-Protocol: xmpp 3. 16

17 XMPP over Websocket Kommunikation [WSFH] = Websocket Frame Header 2-14 Byte XMPP Server + Websocket [WSFH]<open xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="xmpp.a.de" version="1.0" /> <open> und <close> statt <stream> und </stream> [WSFH]<open xmlns="urn:ietf:params:xml:ns:xmpp-framing" from="xmpp.a.de" id="++tr84sm6a3hnt3q065snabbk3y=" xml:lang="en" version="1.0" />... Stanza mit Namespace > keine Referenz auf [WSFH]<message xmlns="jabber:client" übergeordnetes <stream> xml:lang="en"> <body>every WebSocket message is parsable by itself.</body> </message> 1 Stanza = 1 Websocket- Message 3. 17

18 Stream Management XEP-0198: Stream Management - kann mit TCP oder Websocket verwendet werden Funktionen Stanza Acknowledgements - Bestätigung, ob Stanzas wirklich gesendet/empfangen wurden > Resend Stream Resumption - beendeter Stream kann schnell wieder aufgebaut werden Annahmen Stanza-Duplikate können erkannt werden > id-attribut nutzen (bei message optional) Client und Server merken sich die Anzahl der bearbeiteten Stanzas Fast Reconnect <stream> > TLS > SASL > <resume> > resend stanzas kein Roster-Abruf, kein Binden an Ressource 3. 18

19 Stream Management: Ablauf erst, wenn der Stream authentisiert ist und an Ressource gebunden xmpp.a.de In Out <enable xmlns="urn:xmpp:sm:3"/> <enabled xmlns="urn:xmpp:sm:3"/> In Out <message id="m1"> In Out <body>hello!</body> In Out </message> r = request ack <r xmlns="urn:xmpp:sm:3"/> <a xmlns="urn:xmpp:sm:3" h="1"/> h = Anzahl bearbeiteter Stanzas (handled) 3. 19

20 Zusammenfassung Alternative Verbindungsmethoden pokergame.a.de Component XMPP-Server a.de S2S XMPP-Server b.de HTTP (BOSH) BOSH Connection Manager Serverless Messaging WebSocket + Stream Management WebSocket Module 3. 20

21 Übersicht Publish Subscribe XMPP Ping Multimedia (Jingle) In-Band Registration Remote Commands File Transfer Chat State Notifications Components Privacy Lists / Blocking Internet of Things Stream Management Multi-User Chat XMPP Core connections, security, stanzas, roster, federation vcards Data Forms EXI Stream Compression Service Discovery HTTP Binding (BOSH) Serverless Messaging Rich Presence Entity Capabilities Personal Eventing Protocol XMPP over Websockets Extended Stanza Addressing Message Carbons Offline Messages 3. 21

22 2. Multi-User Chat & Co. MUC - Multi-User Chat XEP-0045 Chaträume finden, Teilnehmer finden, Settings abfragen Alice Bob Charlie Alice (16:41): Jemand da? Bob (16:41): Hallo! Charlie (16:42): Ebenfalls Hallo! Service Discovery XEP-0030 Alice (16:42): :-) Entity Capabilities XEP

23 Multi-User Chat - XEP-0045 Multi-User Chatrooms für Sessions mit mehreren Teilnehmern eigene JID, z.b. Zutritt: <presence/> an Chatraum-JID (Directed Presence) eigene Teilnehmerliste für Chatraum häufig Message-History unterstützt Mechanismen für Zugangskontrolle (Passwort, Nutzer kicken oder auf Read-only setzen) MUC kann auch für eigene Protokolle (z.b. Mehrbenutzer-Spiele) verwendet werden <message type="groupchat"> <body>march Hare: There s PLENTY of room!</body> </message> 3. 23

24 Multi-User Chat: Ablauf Room JID Room JID Room JID 3. 24

25 Service Discovery XEP-0030 Multi-User Chat von Server unterstützt? Welche Chaträume? Welche Teilnehmer? -> Discovery benötigt allgemeiner: Service Discovery für XMPP Entities - Server, Client, Bot, Chat- Raum,... disco#items Welche Entities vorhanden? disco#info Welche Features unterstützt? 3. 25

26 Service Discovery - Beispiel disco#items Client <iq id="xl391n47" to="wonderland.lit" type="get"> <query xmlns="http://jabber.org/protocol/disco#items"/> </iq> <iq from="wonderland.lit" id="xl391n47" type="result"> <query xmlns="http://jabber.org/protocol/ disco#items"> <item jid="conference.wonderland.lit"/> <item jid="notify.wonderland.lit"/> </query> </iq> Server 3. 26

27 Service Discovery - Beispiel disco#info Client <iq id="gq02kb71" to="conference.wonderland.lit" type="get"> <query xmlns="http://jabber.org/protocol/ disco#info"/> </iq> <iq from="conference.wonderland.lit" id="gq02kb71" type="result"> <query xmlns="http://jabber.org/protocol/disco#info"> <identity category="conference" type="text" name="chatrooms"/> <feature var="http://jabber.org/protocol/muc"/> <feature var="jabber:iq:register"/> <feature var="vcard-temp"/> </query> </iq> Server 3. 27

28 Service Discovery mit Clients iphone <iq get disco#info> <iq get disco#info> <iq result muc, file-transfer> <iq result muc> init file transfer 3. 28

29 Beispiel: Feature-Liste <iq id='disco1' type='result'> <query xmlns='http://jabber.org/protocol/disco#info' node='http://code.google.com/p/exodus#qgaypkawpkpsdymwt/ WM94uAlu0='> <identity category='client' name='exodus 0.9.1' type='pc'/> <feature var='http://jabber.org/protocol/caps'/> <feature var='http://jabber.org/protocol/disco#info'/> <feature var='http://jabber.org/protocol/disco#items'/> <feature var='http://jabber.org/protocol/muc'/> </query> </iq> 3. 29

30 Entity Capabilities - XEP-0115 Problem: Feature-Listen können sehr lang sein sehr aufwendig, bei 100 Kontakten die unterstützten Features bei jedem Start abzufragen ändern sich nur selten - Caching möglich Entity Capabilities: Hash der Feature-Liste wird bei <presence> mitgeschickt wenn mit Version im Cache übereinstimmt nicht anfragen <presence <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.google.com/p/exodus" ver="qgaypkawpkpsdymwt/wm94ualu0="/> </presence> Hash von Feature- Liste des Clients 3. 30

31 Übersicht Publish Subscribe XMPP Ping Multimedia (Jingle) In-Band Registration Remote Commands File Transfer Chat State Notifications Components Privacy Lists / Blocking Internet of Things Stream Management Multi-User Chat XMPP Core connections, security, stanzas, roster, federation vcards Data Forms EXI Stream Compression Service Discovery HTTP Binding (BOSH) Serverless Messaging Rich Presence Entity Capabilities Personal Eventing Protocol XMPP over Websockets Extended Stanza Addressing Message Carbons Offline Messages 3. 31

32 3. Publish-Subscribe Themen-basiert Keywords für Themen / Gruppen Subscribe( temperature ) hierarchisch Hierarchie von Knoten Subscribe( de/sachsen/dresden/temperature ) Inhalts-basiert auf Inhalt bezogen Subscribe( temperature>30 ) 3. 32

33 Publish-Subscribe mit XMPP XEP-0060 Subscribe: <iq id="bnx2hd03" to="pubsub.holiday.lit type="set"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <subscribe node="are-we-there-yet" </pubsub> </iq> Subscription für Bare JID - alle Ressourcen werden benachrichtigt Bezeichnung des PubSub Nodes Subscribed: <iq from="pubsub.holiday.lit" id="bnx2hd03" type="result"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <subscription node="are-we-there-yet" subscription="subscribed"/> </pubsub> </iq> 3. 33

34 Publish-Subscribe mit XMPP XEP-0060 Publish: <iq id="wpd7x937" to="pubsub.holiday.lit type="set"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node="are-we-there-yet"> <item> <there xmlns="http://holiday.lit/there-yet" status="true"/> </item> </publish> </pubsub> </iq> selbstdefiniertes XML- Element als Payload 3. 34

35 Publish-Subscribe mit XMPP XEP-0060 Notify wird als Message verschickt Notify: <message from="pubsub.holiday.lit" <event xmlns="http://jabber.org/protocol/pubsub#event"> <items node="are-we-there-yet"> <item id="bc42su0a93"> <there xmlns="http://holiday.lit/there-yet" status="true"/> </item> </items> </event> </message> an Bare JID = Priority Routing 3. 35

36 XEP-0060: Weitere Funktionen Anlegen und Löschen von Nodes Konfiguration von Nodes enthält Payload?, History wird gespeichert?, Titel, Discovery von Nodes disco#items-query an die Adresse des PubSub-Service disco#info-query an Nodes Zugriffskontrolle für Nodes z.b. nur Nutzer vom Roster des Node Owners Collection Nodes type = collection können mehrere Collection Nodes und Leaf Nodes enthalten à hierarchisches PubSub 3. 36

37 XEP-0163: Personal Eventing Protocol Profil von XEP-0060 für Informationen über Personen (Aktivitäten, Stimmung, ) = Rich Presence Subscription erfolgt mit der Presence-Subscription Filterung über Client Features des Empfängers welche Informationen möchte ich empfangen? z.b. feature PEP-Profile: User Tune (XEP-0118) Musik, die man gerade hört User Location (XEP-0080) Aufenthaltsort (Land, Stadt, Geo- Koordinaten) User Activity (XEP-0108) Aktivität des Nutzers (eating, working, relaxing) User Mood (XEP-0107) Stimmung (happy, hungry, proud) User Nickname (XEP-0172) Anzeigename User Avatar (XEP-0084) Nutzer-Avatar 3. 37

38 PEP - Beispiel (1) <iq type='set' id='pub1'> <pubsub xmlns='http://jabber.org/protocol/pubsub'> <publish node='http://jabber.org/protocol/tune'> <item> <tune xmlns='http://jabber.org/protocol/tune'> <artist>gerald Finzi</artist> <length>255</length> <source>music for "Love's Labors Lost" (Suite for small orchestra)</source> <title>introduction (Allegro vigoroso)</title> <track>1</track> </tune> </item> </publish> </pubsub> </iq> 3. 38

39 PEP - Beispiel (2) <message type='headline' id='tunefoo1'> <event xmlns='http://jabber.org/protocol/pubsub#event'> <items node='http://jabber.org/protocol/tune'> <item> <tune xmlns='http://jabber.org/protocol/tune'> <artist>gerald Finzi</artist> <length>255</length> <source>music for "Love's Labors Lost" (Suite for small orchestra)</source> <title>introduction (Allegro vigoroso)</title> <track>1</track> </tune> </item> </items> </event> </message> 3. 39

40 Übersicht Publish Subscribe XMPP Ping Multimedia (Jingle) In-Band Registration Remote Commands File Transfer Chat State Notifications Components Privacy Lists / Blocking Internet of Things Stream Management Multi-User Chat XMPP Core connections, security, stanzas, roster, federation vcards Data Forms EXI Stream Compression Service Discovery HTTP Binding (BOSH) Serverless Messaging Rich Presence Entity Capabilities Personal Eventing Protocol XMPP over Websockets Extended Stanza Addressing Message Carbons Offline Messages 3. 40

41 4. Audio/Video und File Transfer mit XMPP Jingle XMPP XMPP-Server a.de XMPP XMPP-Server b.de XMPP Audio/Video über RTP/UDP Entstehung: Voice und Videochat in Google Talk (basierend auf XMPP) später zu Jingle XEP-0166 weiterentwickelt Aushandlung direkter Sessions mit beliebigen Medieninhalten (meist Audio oder Video) es werden Codecs, Parameter, IP-Adressen und Ports abgestimmt à in IQs Übertragung der Medien erfolgt dann direkt, z.b. mit RTP (Real-time Transport Protocol) Funktionalität ähnlich SIP (Session Initiation Protocol) 3. 41

42 Jingle - Kommunikation Offer für eine Session: Session ID, Application type (z.b. VoIP), Transport method (z.b. RTP) Empfang wird bestätigt ggf. weitere Verhandlung von Parametern Accept-Nachricht - Session kann aufgebaut werden Daten werden in der Session direkt zwischen den Teilnehmern verschickt Nachverhandlung (z.b. Codec wechseln) ist möglich Abbau der Session 3. 42

43 Jingle - Beispielnachricht <iq id="v73hwcx9" type="set"> <jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" sid="a73sjjvkla37jfea"> <content creator="initiator" name="voice"> <description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio"> <payload-type id="96" name="speex" clockrate="16000"/> <payload-type id="97" name="speex" clockrate="8000"/> <payload-type id="0" name="pcmu"/> <payload-type id="8" name="pcma"/> </description> <transport xmlns="urn:xmpp:jingle:transports:raw-udp:1"> <candidate candidate="1" generation="0"id="a9j3mnbtu1" ip=" " port="13540"/> </transport> </content> </jingle> </iq> 3. 43

44 Accept-Nachricht <iq id="ikw71b54" type="set"> <jingle xmlns="urn:xmpp:jingle:1" action="session-accept" sid="a73sjjvkla37jfea"> <content creator="initiator" name="voice"> <description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio"> <payload-type id="97" name="speex" clockrate="8000"/> </description> <transport xmlns="urn:xmpp:jingle:transports:raw-udp:1"> <candidate candidate="1" generation="0" id="z7sdjb01hf" ip=" " port="9876"/> </transport> </content> </jingle> </iq> :13540 Speex 8000 Hz RTP UDP :

45 File Transfer (small) In-Band BOB Bits of Binary XEP-0231 Transfer von sehr kleinen Files (z.b. Emoticons) In-Band Hash der Datei wird in <message> übertragen Hash wird per IQ-get angefordert und im IQ-result übertragen (Base64-codiert - 33% Overhead) <iq id="vh39akj2" type="result"> <data xmlns="urn:xmpp:bob" type="image/png"> ivborw0kggoaaaansuheugaaadiaaaaycayaaaaep4ixaaaabmjlr0qa/wd/... mojs3aaaaabjru5erkjggg== </data> </iq> 3. 45

46 File Transfer (medium) - In-Band Bytestreams maximale Größe für Stanzas: KB Transfer von Files mittlerer Größe (z.b. 400 KB)? Lösung: In-Band Bytestreams - XEP-0047 File wird in Chunks aufgeteilt (immer noch Base64 codiert) iq set ibb/open block-size=4096 sid=xx iq result (OK) message ibb/data sid=xx seq=0 --data0-- message ibb/data sid=xx seq=1 --data iq set ibb/close iq result (OK) 3. 46

47 File Transfer (large) Out-of-Band SI File Transfer XEP-0096, SOCKS5 Bytestreams XEP-0065 Transfer von größeren Files über direkte TCP-Verbindung Sender gibt IP und Port in IQ-set an, Empfänger baut direkte TCP-Verbindung auf und bestätigt per IQ-result Sender sendet Datei binär über TCP <iq id="p9735fg1" type="set"> <query xmlns="http://jabber.org/protocol/bytestreams" sid="dv917fb4" mode="tcp"> <streamhost host=" " port="5086"/> </query> </iq> 3. 47

48 Aushandlung File Transfer - Stream Initiation (XEP-0050) vs. Jingle SI iq set si/file stream-method=bytestreams,ibb iq result stream-method=bytestreams Jingle iq set jingle/session-initiate transport=bytestreams,ibb iq result iq set jingle/session-accept transport=bytestreams iq result mehr Round- Trips aber moderneres, erweiterbares Daten-Format 3. 48

49 Übersicht Publish Subscribe XMPP Ping Multimedia (Jingle) In-Band Registration Remote Commands File Transfer Chat State Notifications Components Privacy Lists / Blocking Internet of Things Stream Management Multi-User Chat XMPP Core connections, security, stanzas, roster, federation vcards Data Forms EXI Stream Compression Service Discovery HTTP Binding (BOSH) Serverless Messaging Rich Presence Entity Capabilities Personal Eventing Protocol XMPP over Websockets Extended Stanza Addressing Message Carbons Offline Messages 3. 49

50 5. XMPP-Entwicklung - Beispielszenarien XMPP-Client XMPP-Server Bot Java Lib Android App Android Lib XMPP-Server ios App ios Lib Web-Client JS Lib XMPP-Server BOSH CM Web-Client JS Lib Android App Android Lib Desktop App C Lib 3. 50

51 Beispiel für Java: Smack API Java-API für XMPP stellt einfache Java-Objekte für XMPP-Kommunikation zur Verfügung Open Source (Apache-Lizenz) Bestandteile smack.jar Kernfunktionalität (obligatorisch) smackx.jar Unterstützung von einigen XEPs (optional) smackx-debug.jar grafischer Debugger für den Protokoll- Traffic 3. 51

52 Smack Beispiele XMPPConnection connection = new XMPPConnection("jabber.org"); connection.connect(); connection.login("mtucker", "password"); Chat chat = new MessageListener() { public void processmessage(chat chat, Message message) { System.out.println("Received message: " + message); } }); chat.sendmessage("howdy!"); // Create a new presence. Pass in false to indicate we're // unavailable. Send the packet (con = XMPPConnection instance) Presence presence = new Presence(Presence.Type.unavailable); presence.setstatus("gone fishing"); con.sendpacket(presence); 3. 52

53 Web-Entwicklung mit XMPP strophe.js JavaScript-Bibliothek verbindet sich via BOSH oder Websocket zu einem XMPP- Server stanza.io JavaScript - BOSH / Websocket JSON-API - XML-Handling verborgen XMPP-FTW XMPP for the Web ähnlicher Ansatz wie stanza.io (JSON-API) function onmessage(msg) { var to = msg.getattribute('to'); var from = msg.getattribute('from'); var type = msg.getattribute('type'); var elems = msg.getelementsbytagname('body'); if (type == "chat" && elems.length > 0) { var body = elems[0]; var reply = $msg({to: from, from: to, type: 'chat'}).cnode(body); connection.send(reply.tree()); } } return true; client.on('chat', function (msg) { client.sendmessage({ to: msg.from, body: 'You sent: ' + msg.body }); 3. 53

54 Buchempfehlungen 3. 54

55 Zusammenfassung / Ausblick Publish Subscribe XMPP Ping Multimedia (Jingle) In-Band Registration Remote Commands File Transfer Chat State Notifications Components Privacy Lists / Blocking Internet of Things Stream Management Multi-User Chat XMPP Core connections, security, stanzas, roster, federation vcards Data Forms EXI Stream Compression Service Discovery HTTP Binding (BOSH) Serverless Messaging Rich Presence Entity Capabilities Personal Eventing Protocol XMPP over Websockets Extended Stanza Addressing Message Carbons Offline Messages 3. 55

56 Navigator 1. Einführung 2. XMPP 3. XMPP-Erweiterungen 4. Codierung und Transport 5. Internettelefonie 6. Videokonferenzen 7. Streaming 8. SIP 9. SIP-Erweiterungen 10.Data Sharing 11.Shared Editing 12.Pervasive Social Computing 3. 56

57 Literatur XMPP: The Definitive Guide, Building Real-Time Applications with Jabber Technologies, By Peter Saint-Andre, Kevin Smith, Remko Tronçon (Kap. 5-12) IETF RFC An Extensible Messaging and Presence Protocol (XMPP) Subprotocol for WebSocket Data Forms - XEP-0004 Privacy Lists - XEP-0016 Service Discovery - XEP-0030 Multi-User Chat - XEP-0045 In-Band Bytestreams - XEP-0047 Stream Initiation - XEP-0050 Publish-Subscribe - XEP-0060 SOCKS5 Bytestreams - XEP-0065 SI File Transfer - XEP-0096 Jabber Component Protocol - XEP-0114 Entity Capabilites - XEP-0115 Bi-directional Streams over Synchronous HTTP - XEP-0124 Personal Eventing Protocol - XEP-0163 Jingle - XEP-0166 Serverless Messaging - XEP-0174 Simple Communications Blocking - XEP-0191 Stream Management - XEP-0198 Bits of Binary - XEP

XMPP: Extensible Messaging and Presence Protocol

XMPP: Extensible Messaging and Presence Protocol XMPP: Extensible Messaging and Presence Protocol (aka Jabber) 5. Dezember 2005 Einleitung Was ist XMPP? Architektur Allgemeines Kommunikation via XMPP: Streams, Stanzas Beispielanwendung

Mehr

Instant Messaging mit XMPP

Instant Messaging mit XMPP Instant Messaging mit XMPP Norbert Tretkowski Email: norbert@tretkowski.de XMPP: norbert@tretkowski.de Linux User Schwabach 07. April 2016 Agenda Grundlagen Features Clients Erweiterungen Sicherheit Messenger

Mehr

Geschichte Core protocol Messaging Extensions. XMPP/Jabber. The Extensible Messaging and Presence Protocol. Stefan Andonie and Niklaus Hofer

Geschichte Core protocol Messaging Extensions. XMPP/Jabber. The Extensible Messaging and Presence Protocol. Stefan Andonie and Niklaus Hofer The Extensible Messaging and Presence Protocol 14. Juni 2015 Table of Contents I 1 Geschichte Frühe Entwicklung Standartisierung durch die IETF 2 Core protocol XMPP Verbindungen Verteilte Infrastruktur

Mehr

Websockets: Leichtgewichtige Verbindungen für Web-Applikationen

Websockets: Leichtgewichtige Verbindungen für Web-Applikationen Websockets: Leichtgewichtige Verbindungen für Web-Applikationen Seite: 1 / 16 Über mich Stefan Neufeind Mit-Geschäftsführer der SpeedPartner GmbH aus Neuss ein Internet-Service-Provider (ISP) Individuelle

Mehr

Jabber. Florian Holzhauer. Proseminar Uni Ulm, 27. April 2005.

Jabber. Florian Holzhauer. Proseminar Uni Ulm, 27. April 2005. <page=1 max=22/> Jabber Florian Holzhauer Proseminar Uni Ulm, 27. April 2005 Idee, Geschichte Nachrichtentechnik Ausblick, Zukunft Gründe / Intention Grosse

Mehr

Verbesserung einer XMPP-Bibliothek für den Einsatz in verteilter Paarprogrammierung

Verbesserung einer XMPP-Bibliothek für den Einsatz in verteilter Paarprogrammierung Verbesserung einer XMPP-Bibliothek für den Einsatz in verteilter Paarprogrammierung Diplomarbeit Henning Staib Tutor: Karl Beecher und Stephan Salinger Inhalt - Ausgangssituation - Aufgabenstellung - Lösungsansätze

Mehr

Vorlesung Multimediakommunikation 2. XMPP. Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze

Vorlesung Multimediakommunikation 2. XMPP. Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze Vorlesung Multimediakommunikation 2. Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze Grundprinzip Instant Messaging und Presence Presence = Verfügbarkeit der Teilnehmer kommunizieren

Mehr

Ich XMPP 101: Basics XMPP 102: Sicherheit Fragen XMPP. Florian Florob Zeitz 2012-09-27

Ich XMPP 101: Basics XMPP 102: Sicherheit Fragen XMPP. Florian Florob Zeitz 2012-09-27 XMPP Florian Florob Zeitz 2012-09-27 Gliederung 1 Ich 2 XMPP 101: Basics Geschichte Netzstruktur JID Stanzas 3 XMPP 102: Sicherheit SSL/TLS Dialback SASL End-to-End Encryption Gliederung 1 Ich 2 XMPP 101:

Mehr

Internet Protokolle für Multimedia - Anwendungen

Internet Protokolle für Multimedia - Anwendungen Internet Protokolle für Multimedia - Anwendungen Kapitel 5.7 Streaming im Web (RTSP) 1 Streaming Media (1) Streaming Media Strom ist kontinuierlich wird unmittelbar während des Empfangs wiedergegeben wird

Mehr

Chatten mit der Glühbirne

Chatten mit der Glühbirne Chatten mit der Glühbirne Eine Einführung in Jabber und XMPP für normale User Tim Weber Chaostreff Mannheim 25. Mai 2007 Inhalt Worum geht's? Terminologie, Unterschiede, Vor- und Nachteile gegenüber anderen

Mehr

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL TCP/IP: Standard Protokolle Konrad Rosenbaum, 2006/7 DNS - Domain Name System hierarchische, global verteilte Datenbank löst Namen in IP-Adressen auf Host hat einen primären Nameserver, der Fragen selbst

Mehr

C.45 C.46 C.48. 3.7 Registrierung der Teilnehmer. 3.7 Registrierung der Teilnehmer (2) 3.7 Registrierung der Teilnehmer (3)

C.45 C.46 C.48. 3.7 Registrierung der Teilnehmer. 3.7 Registrierung der Teilnehmer (2) 3.7 Registrierung der Teilnehmer (3) 3.7 Registrierung der Teilnehmer 3.7 Registrierung der Teilnehmer (2) Registrarknoten z.b. von einer administrativen Domäne verwaltet initiale SIP REGISTER-Transaktion zum Registrar der Domäne alice@a.com

Mehr

Internet Security: Verfahren & Protokolle

Internet Security: Verfahren & Protokolle Internet Security: Verfahren & Protokolle 39 20 13 Vorlesung im Grundstudium NWI (auch MGS) im Sommersemester 2003 2 SWS, Freitag 10-12, H10 Peter Koch pk@techfak.uni-bielefeld.de 20.06.2003 Internet Security:

Mehr

Rechnernetze Übung 12

Rechnernetze Übung 12 Rechnernetze Übung 12 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Sie kennen sicherlich sogenannte Web-Mailer, also WWW-Oberflächen über die Sie Emails lesen und vielleicht

Mehr

Digitale Sprache und Video im Internet

Digitale Sprache und Video im Internet Digitale Sprache und Video im Internet Kapitel 6.4 SIP 1 SIP (1) SIP (Session Initiation Protocol), dient als reines Steuerungsprotokoll (RFC 3261-3265) für MM-Kommunikation Weiterentwicklung des MBONE-SIP.

Mehr

Streaming Protokolle Jonas Hartmann

Streaming Protokolle Jonas Hartmann Streaming Protokolle Jonas Hartmann 1 Streaming Protokolle Inhaltsverzeichnis 1. Definition / Anwendungsfälle 2. Offizielle RFC Streaming Protokolle 3. Ein wichtiges proprietäres Protokoll 4. Konkreter

Mehr

Jabber für Fortgeschrittene XMPP-Server für Anfänger*innen

Jabber für Fortgeschrittene XMPP-Server für Anfänger*innen Jabber für Fortgeschrittene XMPP-Server für Anfänger*innen Mathias Ertl (jabber.at, jabber.fsinf.at) 2014-04-26 Verbreitung und Modifikation dieser Präsentation ist ausdrücklich gestattet (und erwünscht),

Mehr

Rechnernetze I. Rechnernetze I. 9 Anwendungsprotokolle SS 2014

Rechnernetze I. Rechnernetze I. 9 Anwendungsprotokolle SS 2014 Rechnernetze I SS 2014 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 10. August 2015 Betriebssysteme / verteilte Systeme Rechnernetze I (1/13) i Rechnernetze

Mehr

Mehr als Voice over IP Integrierte Sprach- und SIP. =====!" ==Systems= Wolfgang Mandok T-Systems Nova, Technologiezentrum

Mehr als Voice over IP Integrierte Sprach- und SIP. =====! ==Systems= Wolfgang Mandok T-Systems Nova, Technologiezentrum Mehr als Voice over IP Integrierte Sprach- und IP-Kommunikationslösungen basierend auf SIP Wolfgang Mandok T-Systems Nova, Technologiezentrum Mehr als Voice over IP Übersicht 1. Einleitung 2. SIP Architektur

Mehr

Vorwort zur fünften Auflage

Vorwort zur fünften Auflage Inhalt Vorwort zur fünften Auflage XIII 1 Anforderungen an die Telekommunikationsinfrastruktur der Zukunft 1 1.1 Telekommunikationsinfrastruktur 3 1.2 Kommunikationsdienste und Nutzerverhalten 6 1.3 Applikationen

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Rechnernetze I. Rechnernetze I. 11 Anwendungsprotokolle SS 2012

Rechnernetze I. Rechnernetze I. 11 Anwendungsprotokolle SS 2012 Rechnernetze I SS 2012 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 23. März 2012 Betriebssysteme / verteilte Systeme Rechnernetze I (1/12) i Rechnernetze

Mehr

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

SIP - Session Initiation Protocol

SIP - Session Initiation Protocol SIP - Session Initiation Protocol PPS VoIP 5. Oktober 2009 Lernziele Sie kennen die Position und Aufgabe von SIP im Protokollmodell Sie kennen die wesentlichen Elemente eines SIP Netzes Sie wissen wie

Mehr

Forschungsseminar Web Engineering @ VSR Betreuer Michael Krug

Forschungsseminar Web Engineering @ VSR Betreuer Michael Krug Forschungsseminar Web Engineering @ VSR Betreuer Michael Krug Unter Echtzeit versteht man den Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind,

Mehr

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

Mehr

XMPP - Jabber. Noch ein IM. 2010-05-11 (v. 1273584047) Thomas Merkel (tm@core.io)

XMPP - Jabber. Noch ein IM. 2010-05-11 (v. 1273584047) Thomas Merkel (tm@core.io) XMPP - Jabber Noch ein IM 2010-05-11 (v. 1273584047) Thomas Merkel (tm@core.io) Agenda Motivation Das Kaffee Problem Andere... AGBs Was ist Jabber? Warum ist Jabber cool? Beispiel Architektur Features

Mehr

SIRTCP/IP und Telekommunikations netze

SIRTCP/IP und Telekommunikations netze SIRTCP/IP und Telekommunikations netze Anforderungen - Protokolle -Architekturen Von Ulrich Trick und Frank Weber Oldenbourg Verlag München Wien Inhalt Vorwort IX 1 Anforderungen an die Telekommunikationsinfrastruktur

Mehr

Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN

Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN Android VPN Am Beispiel eines Netzwerktunnels für das Domain Name System () 1 Inhalt VPN Framework in Android Übersicht zu Iodine Funktionsweise Demonstration 2 VPN und Android Verfügbar seit Android 4.0

Mehr

Rechnernetze I SS 2014. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 9.

Rechnernetze I SS 2014. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 9. echnernetze I SS 2014 oland Wismüller Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 9. Mai 2014 oland Wismüller Betriebssysteme / verteilte Systeme

Mehr

Auswirkungen von Sicherungsmechanismen auf Entwicklung und Anwendung von Testverfahren am Beispiel von Voice over IP

Auswirkungen von Sicherungsmechanismen auf Entwicklung und Anwendung von Testverfahren am Beispiel von Voice over IP Auswirkungen von Sicherungsmechanismen auf Entwicklung und Anwendung von Testverfahren am Beispiel von Voice over IP 15. ITG-Fachtagung Mobilkommunikation Annika Renz Daniel Hartmann Diederich Wermser

Mehr

disruptive!.? Wesentliche Innovationen & Hypes n*megatrends mit hohem Impact auf Enterprise PBX/UCC

disruptive!.? Wesentliche Innovationen & Hypes n*megatrends mit hohem Impact auf Enterprise PBX/UCC UPI Open Forum 2015 Einführung disruptive!.? Wesentliche Innovationen & Hypes n*megatrends mit hohem Impact auf Enterprise PBX/UCC Frank Schmidberger (UPI Consulting) [Hinweis: einige -aus Google Bilder

Mehr

Mobility Support by HIP

Mobility Support by HIP Mobile Systems Seminar Mobility Support by HIP Universität Zürich Institut für Informatik Professor Dr. Burkhard Stiller Betreuer Peter Racz 8 Mai 2008 Svetlana Gerster 01-728-880 1 Gliederung OSI und

Mehr

Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.

Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1. Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.0 1. IGMP Multicast - Video Streaming 1.1 Einleitung Im Folgenden

Mehr

iphone Push bei den VZ Netzwerken

iphone Push bei den VZ Netzwerken iphone Push bei den VZ Netzwerken Max Horváth, Steffen Irrgang 1 Vorstellung der Speaker 2 Was sind Push Notifications?? 3 Was sind Push Notifications? Eine Möglichkeit, eine Nachricht an individuelle

Mehr

D r e ISP S P i m K l K as a s s e s n e r n au a m H.Funk, BBS II Leer

D r e ISP S P i m K l K as a s s e s n e r n au a m H.Funk, BBS II Leer Der ISP im Klassenraum H.Funk, BBS II Leer Überblick Agenda: Ziel des Workshops Grundlagen PPPoE Realisierung eines lokalen PPPoE Servers Port-Forwarding DNS / DDNS Ziel des Workshops Ein Netzwerk vergleichbar

Mehr

Anwendungsprotokolle: HTTP, POP, SMTP

Anwendungsprotokolle: HTTP, POP, SMTP Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort

Mehr

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de Web Sockets mit HTML5 Quelle: www.html5rocks.com/de Intensive Client-Server-Kommunikation: Beispiele Online-Spiele mit mehreren Mitspielern Chat-Anwendungen Live-Sport-Ticker Echtzeit-Aktualisierungen

Mehr

Rechnernetze I SS 2012. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 23.

Rechnernetze I SS 2012. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 23. echnernetze I SS 2012 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 23. März 2012 Betriebssysteme / verteilte Systeme echnernetze I (1/12) i echnernetze

Mehr

Vertrauliche Videokonferenzen im Internet

Vertrauliche Videokonferenzen im Internet Vertrauliche Videokonferenzen im Internet Luigi Lo Iacono, Christoph Ruland Institut für Digitale Kommunikationssysteme, Förderung DFG-Projekt (Ru 600/8-1) Internet Security System für Voice over IP unter

Mehr

Diplomanden- und Doktorandenseminar. Implementierung eines Gnutella-Clients für IPv6

Diplomanden- und Doktorandenseminar. Implementierung eines Gnutella-Clients für IPv6 Diplomanden- und Doktorandenseminar Implementierung eines Gnutella-Clients für IPv6 1. Motivation 2. IPv6 3. Gnutella 4. Portierung Frank Sowinski 17.12.2002 Motivation Gute Gründe für IPv6 Das Anwachsen

Mehr

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL 1 TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL Kleine Auswahl bekannter Sicherheitsprotokolle X.509 Zertifikate / PKIX Standardisierte, häufig verwendete Datenstruktur zur Bindung von kryptographischen

Mehr

Proseminar IP-Telefonie. Timo Uhlmann. Einleitung 1 2 3 4 5

Proseminar IP-Telefonie. Timo Uhlmann. Einleitung 1 2 3 4 5 Proseminar IP-Telefonie Timo Uhlmann Einleitung 1 2 3 4 5 Inhalt 1. Motivation 2. Protokolle H.323 3. Kosten/Angebote 4. Fazit Einleitung 1 2 3 4 5 2/24 Motivation Telefonieren kostet Geld (noch) zeitabhängig

Mehr

Behandlung von Netzwerk- und Sicherheitsaspekten in einem Werkzeug zur verteilten Paarprogrammierung

Behandlung von Netzwerk- und Sicherheitsaspekten in einem Werkzeug zur verteilten Paarprogrammierung Behandlung von Netzwerk- und Sicherheitsaspekten in einem Werkzeug zur verteilten Paarprogrammierung Institut Mathematik und Informatik - 15. April 2010 Agenda 1 Einleitung 2 Saros Architektur Daten senden

Mehr

Vorlesung SS 2001: Sicherheit in offenen Netzen

Vorlesung SS 2001: Sicherheit in offenen Netzen Vorlesung SS 2001: Sicherheit in offenen Netzen 2.13 File Transfer Protocol - FTP Prof. Dr. Christoph Meinel Informatik, Universität Trier & Institut für Telematik, Trier Prof. Dr. sc. nat. Christoph Meinel,

Mehr

SIRTCP/IP und Telekommunikations netze

SIRTCP/IP und Telekommunikations netze SIRTCP/IP und Telekommunikations netze Next Generation Networks und VolP - konkret von Ulrich Trick und Frank Weber 2., erweiterte und aktualisierte Auflage Oldenbourg Verlag München Wien Inhalt Inhalt

Mehr

Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG

Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG 01.06.2016 Autoren: Sascha Hellermann (Geschäftsführer COCUS NEXT GmbH) Simon Probst (Solution

Mehr

14. Fachtagung Mobilkommunikation Osnabrück

14. Fachtagung Mobilkommunikation Osnabrück SOA-basierte Peer-to-Peer-Mehrwertdienstebereitstellung 14. Fachtagung Mobilkommunikation Osnabrück 13. - 14. Mai 2009 Dipl.-Ing. Armin Lehmann, Prof. Dr.-Ing. Ulrich Trick Fachhochschule Frankfurt am

Mehr

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Mobilität in IP (IPv4 und IPv6)

Mobilität in IP (IPv4 und IPv6) Mobilität in IP (IPv4 und IPv6) Prof. B. Plattner ETH Zürich IP Next Generation - Mobilität (1) Uebersicht Formen der Mobilitätsunterstützung 1 Echt mobile Benutzer (drahtlos erschlossene Laptops)» Handover

Mehr

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling Open-Xchange Authentication & Sessionhandling Version Date Author Changes 1.0 28.08.2006 Stephan Martin Initiale Version 1.1 29.08.2006 Marcus Klein Details Authentication via JSON 1.2 04.09.2006 Stephan

Mehr

F Session Initiation Protocol

F Session Initiation Protocol F Session Initiation Protocol F.1 1 Instant Messaging Definition Instant Message: Textmitteilung Instant Messaging: Dienst zur sofortigen Übermittlung von Instant Messages Chat Instant Messenger: Software

Mehr

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen?

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen? E-Mail Nachrichtenübertragung 1 Wie werden Nachrichten Übertragen? Über Protokolle: SMTP (Simple Mail Transfer Protocol) POP3 (Post Office Protocol Version 3) IMAP (Internet Message Access Protocol) 2

Mehr

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Übersicht Internetsicherheit Protokoll Sitzungen Schlüssel und Algorithmen vereinbaren Exportversionen Public Keys Protokollnachrichten 29.10.2003 Prof.

Mehr

Seminar Moderne Konzepte für weitverteilte Systeme SS 02

Seminar Moderne Konzepte für weitverteilte Systeme SS 02 Seminar Moderne Konzepte für weitverteilte Systeme SS 02 Filesharing mit Gnutella: Skalierungsprobleme eines populären P2P-Systems Torsten Ehlers 10.06.2002 1 Übersicht Gnutella: Eigenschaften des Systems

Mehr

... relevante Ports für Streaming bzw. Remote Control!

... relevante Ports für Streaming bzw. Remote Control! ... relevante Ports für Streaming bzw. Remote Control! Wenn Sie mit der Installation des IO [io] 8000 / 8001 beginnen, ist es am sinnvollsten mit einem minilan zu beginnen, da dies mögliche Fehlrequellen

Mehr

Multicast & Anycast. Jens Link FFG2012. jenslink@quux.de. Jens Link (jenslink@quux.de) Multicast & Anycast 1 / 29

Multicast & Anycast. Jens Link FFG2012. jenslink@quux.de. Jens Link (jenslink@quux.de) Multicast & Anycast 1 / 29 Multicast & Anycast Jens Link jenslink@quux.de FFG2012 Jens Link (jenslink@quux.de) Multicast & Anycast 1 / 29 Übersicht 1 Multicast 2 Anycast Jens Link (jenslink@quux.de) Multicast & Anycast 2 / 29 Wer

Mehr

Informationstechnik für Ingenieure

Informationstechnik für Ingenieure Informationstechnik für Ingenieure Computernetze und Internet Teil 2: Anwendungsschicht Wintersemester 2004/2005 Prof. Dr. Thomas Wieland Übersicht Teil 2 2.1 Internet-Anwendungen 2.2 Protokolle der Anwendungsschicht

Mehr

Jabber - mehr als Chat, Filetransfer und Co. Chemnitzer Linux-Tage 2005 6. März 2005 info@jabber-fanatix.org

Jabber - mehr als Chat, Filetransfer und Co. Chemnitzer Linux-Tage 2005 6. März 2005 info@jabber-fanatix.org Jabber - mehr als Chat, Filetransfer und Co. Chemnitzer Linux-Tage 2005 6. März 2005 info@jabber-fanatix.org Agenda Fallbeispiel Was ist Jabber? Aufbau Netzarchitektur Grundbegriffe Programmieren mit Jabber

Mehr

UDP-, MTU- und IP- Fragmentierung

UDP-, MTU- und IP- Fragmentierung UDP-, MTU- und IP- Fragmentierung Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung

Mehr

VoIP - Protokolle. Somala Mang Christian Signer Jonas Baer

VoIP - Protokolle. Somala Mang Christian Signer Jonas Baer VoIP - Protokolle Somala Mang Christian Signer Jonas Baer Inhalt Motivation Protokolle SIP IAX2 Skype Vergleich Diskussion Seite 2 Motivation Schweizer CRM integriert Skype und Twixtel (http://www.inside-it.ch)

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Internet - Grundzüge der Funktionsweise. Kira Duwe

Internet - Grundzüge der Funktionsweise. Kira Duwe Internet - Grundzüge der Funktionsweise Kira Duwe Gliederung Historische Entwicklung Funktionsweise: -Anwendungen -Rechnernetze -Netzwerkschichten -Datenkapselung -RFC -Verschiedene Protokolle (Ethernet,

Mehr

TCP/IP-Protokollfamilie

TCP/IP-Protokollfamilie TCP/IP-Protokollfamilie Internet-Protokolle Mit den Internet-Protokollen kann man via LAN- oder WAN kommunizieren. Die bekanntesten Internet-Protokolle sind das Transmission Control Protokoll (TCP) und

Mehr

Seminar Mobile Systems. The Session Initiation Protocol in Mobile Environment

Seminar Mobile Systems. The Session Initiation Protocol in Mobile Environment Seminar Mobile Systems The Session Initiation Protocol in Mobile Environment 1 Lorenz Fischer, Ruben Meier Mobile Systems Seminar 13. Juni 2005 Übersicht Einführung Protokolle (SIP, SDP, RTP) Komponenten

Mehr

Einführung. Übersicht

Einführung. Übersicht Einführung Erik Wilde TIK ETH Zürich Sommersemester 2001 Übersicht Durchführung der Veranstaltung Termine (Vorlesung und Übung) Bereitstellung von Informationen Einführung Internet Internet als Transportinfrastruktur

Mehr

VoIP. Gliederung. 1. Einführung. 3.2Anforderungen 3.3Stand Dinge. 3.3Wie geht es Dinge weiter?

VoIP. Gliederung. 1. Einführung. 3.2Anforderungen 3.3Stand Dinge. 3.3Wie geht es Dinge weiter? Sicherheit Ruhr-Universität Voice over IP Thomas WS Seminar (VoIP 2004/2005 VoIP) Eisenbarth ITS Bochum 1. Einführung 1.1 1.2 1.3 Was Bisherige Die Zukunft ist VoIP? Telefonie Gliederung 10.02.2005 - Folie

Mehr

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Konzept zur Push Notification/GCM für das LP System (vormals BDS System) Konzept zur Push Notification/GCM für das LP System (vormals BDS System) Wir Push Autor: Michael Fritzsch Version: 1.0 Stand: 04. Februar 2015 Inhalt 1. Was ist eine Push Notification? 2. Wofür steht GCM?

Mehr

Transport Layer Security Nachtrag Angriffe

Transport Layer Security Nachtrag Angriffe Transport Layer Security Nachtrag Angriffe TLS Replay Attack TLS Replay Angriff Annahme Server sendet keine Nonce, oder immer gleiche Client generiert Pre-Master Secret, Schlüsselmaterial über KDF (deterministisch!)

Mehr

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen 2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen Dienste des Internets Das Internet bietet als riesiges Rechnernetz viele Nutzungsmöglichkeiten, wie etwa das World

Mehr

Softwareentwicklung in verteilten Umgebungen, Teil 6 Discovery (Coulouris et al., Kapitel 16) Dieter Schmalstieg. Dieter Schmalstieg SVU Discovery

Softwareentwicklung in verteilten Umgebungen, Teil 6 Discovery (Coulouris et al., Kapitel 16) Dieter Schmalstieg. Dieter Schmalstieg SVU Discovery Softwareentwicklung in verteilten Umgebungen, Teil 6 Discovery (Coulouris et al., Kapitel 16) Dieter Schmalstieg Ubiquitous Computing Idee: Physische Umgebung mit eingebetteten Diensten Verknüpfung stationäre-mobile

Mehr

11 Peer-to-Peer-Netzwerke

11 Peer-to-Peer-Netzwerke 11 Peer-to-Peer-Netzwerke Überblick Gnutella Freenet Chord CAN Pastry 11.1 11.1Überblick Grundform des Internet (1969-1995) Informationsanbieter Informationskonsument 11.2 11.1 Überblick Web-dominiertes

Mehr

IP Adressen & Subnetzmasken

IP Adressen & Subnetzmasken IP Adressen & Subnetzmasken Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April

Mehr

Socket-Programmierung (3)

Socket-Programmierung (3) Socket-Programmierung (3) E-Mails versenden Aufgabe: ein Programm schreiben, das E-Mails versenden kann Lernziele: - SMTP Kommandos - Authentifizierung - Passworteingabe (wxwidgets) - SMTP Ergebniscodes

Mehr

Sicheres HTTP. 8. Juni 2004. Proseminar Electronic Commerce und digitale Unterschriften

Sicheres HTTP. 8. Juni 2004. Proseminar Electronic Commerce und digitale Unterschriften Sicheres HTTP 8. Juni 2004 Proseminar Electronic Commerce und digitale Unterschriften Sicheres HTTP HTTP über SSL = sicheres HTTP Überblick HTTP: Protokoll zur Datenübertragung im Internet Klartextprotokoll

Mehr

!"# $ % Internet Protokolle: HTTP 1/38

!# $ % Internet Protokolle: HTTP 1/38 !"# $ % Internet Protokolle: HTTP 1/38 1 Themenübersicht Schichtenmodell Gopher /FTP Statistik URL Einleitung Anwendungsablauf Beispiel mit Telnet Request, Response Anfragemethoden header Negotiation Proxyserver

Mehr

The Second Generation Onion Router. Stefan Hasenauer, Christof Kauba, Stefan Mayer

The Second Generation Onion Router. Stefan Hasenauer, Christof Kauba, Stefan Mayer The Second Generation Onion Router Übersicht Einleitung Verfahren zur Anonymisierung Allgemeines über Tor Funktionsweise von Tor Hidden Services Mögliche Angriffe 2 Einleitung Identifizierung im Internet

Mehr

Internet und WWW Übungen

Internet und WWW Übungen Internet und WWW Übungen 6 Rechnernetze und Datenübertragung [WEB6] Rolf Dornberger 1 06-11-07 6 Rechnernetze und Datenübertragung Aufgaben: 1. Begriffe 2. IP-Adressen 3. Rechnernetze und Datenübertragung

Mehr

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie

Mehr

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 Adressauflösung IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 IP Adresse Physikalische Adresse 128.96.34.15??? 128.96.34.16 85:48:A4:28:AA:18 128.96.34.15

Mehr

New Features Oracle Forms 11g Nichts Neu für Forms?

New Features Oracle Forms 11g Nichts Neu für Forms? New Features Oracle Forms 11g Nichts Neu für Forms? Perry Pakull Technology Manager perry.pakull@trivadis.com Zürich, 20.04.2010 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br.

Mehr

Vorlesung Multimediakommunikation. 12. WebRTC. Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze

Vorlesung Multimediakommunikation. 12. WebRTC. Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze Vorlesung Multimediakommunikation 12. WebRTC Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze 1. Einführung WebRTC = Web Real-time Communications Messaging, Voice over IP, Video Conferencing,

Mehr

Video Streaming aus der Cloud

Video Streaming aus der Cloud Video Streaming aus der Cloud Stand der Technik von HTTP Video Streaming (DASH) 22. Oktober 2012 Björn Wendland c 2012 Björn Wendland/FH Aachen Video Streaming aus der Cloud 1 Inhalt Stand der Technik

Mehr

Anleitung. Integration von Kentix Geräten in den OpManager

Anleitung. Integration von Kentix Geräten in den OpManager Anleitung Integration von Kentix Geräten in den OpManager Integration von Kentix Geräten in den OpManager Inhalt 1 Über diese Anleitung... 3 2 Initial Setup... 3 3 Importieren der Device Templates... 3

Mehr

GecMeGUI. Eine SSO-enabled Cloud WebGUI mit clientseitiger Schlüsselgenerierung

GecMeGUI. Eine SSO-enabled Cloud WebGUI mit clientseitiger Schlüsselgenerierung GecMeGUI Eine SSO-enabled WebGUI mit clientseitiger Schlüsselgenerierung Hochschule Furtwangen Frank Dölitzscher 04.04.2011 Agenda Web GUI 1. Einführung 2. Absicherung des Service Zugangs 3. Web GUI Sicherung

Mehr

Der studentische Jabber-Server. Instant Messaging an der RWTH Aachen. Andreas Kelle-Emden, Martin Weusten. 1. Oktober 2009. JUNe

Der studentische Jabber-Server. Instant Messaging an der RWTH Aachen. Andreas Kelle-Emden, Martin Weusten. 1. Oktober 2009. JUNe Der studentische Jabber-Server Instant Messaging an der RWTH Aachen Andreas Kelle-Emden, Martin Weusten 1. Oktober 2009 JUNe Jabber University Network Lizenz: Creative Commons BY-NC-SA 3.0 http://jabber.rwth-aachen.de/wiki/copyright

Mehr

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik SOA Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik Laderampen müssen passen Modularisieren Softwarearchitektur Modul A Modul B Modul C Modul D Große Anwendung im Unternehmen Modul

Mehr

Internetprotokoll TCP / IP

Internetprotokoll TCP / IP Internetprotokoll TCP / IP Inhaltsverzeichnis TCP / IP - ALLGEMEIN... 2 TRANSPORTPROTOKOLLE IM VERGLEICH... 2 TCP / IP EIGENSCHAFTEN... 2 DARPA MODELL... 3 DIE AUFGABEN DER EINZELNEN DIENSTE / PROTOKOLLE...

Mehr

Handbuch Notruf. Notrufe über Voice over IP: Grundlagen und Praxis. www.handbuch-notruf.at. Karl Heinz Wolf nic.at GmbH. Ausschnitt aus dem

Handbuch Notruf. Notrufe über Voice over IP: Grundlagen und Praxis. www.handbuch-notruf.at. Karl Heinz Wolf nic.at GmbH. Ausschnitt aus dem Karl Heinz Wolf nic.at GmbH Ausschnitt aus dem Handbuch Notruf Notrufe über Voice over IP: Grundlagen und Praxis www.handbuch-notruf.at Handbuch Notruf 3 4 IETF-Notrufarchitektur Bei der IETF wird derzeit

Mehr

Untersuchung von Kommunikationsprotokollen für Dienstumgebungen in mobilen Anwendungen auf Basis von Android

Untersuchung von Kommunikationsprotokollen für Dienstumgebungen in mobilen Anwendungen auf Basis von Android Fakultät Informatik Institut für Systemarchitektur Lehrstuhl Rechnernetze Diplomarbeit Untersuchung von Kommunikationsprotokollen für Dienstumgebungen in mobilen Anwendungen auf Basis von Android Christian

Mehr

Service Discovery in Ad-hoc Netzen

Service Discovery in Ad-hoc Netzen Service Discovery in Ad-hoc Netzen KM-/VS-Seminar Wintersemester 2002/2003 Betreuer: M. Bechler Inhalt Warum brauchen wir Service Discovery Protocols (SDPs)? Service Location Protocol Universal Plug and

Mehr

2006-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-D-VoD.fm, 2006-11-22 08.08] http://www-vs.informatik.uni-ulm.

2006-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-D-VoD.fm, 2006-11-22 08.08] http://www-vs.informatik.uni-ulm. D Video on Demand D.1 1 RTSP Real-Time Streaming Protocol (RTSP) IETF Standard definiert in RFC 2326 (1998) Zielsetzung Signalisierung und Kontrolle von multimedialen Datenströmen Aufbau, Abbruch von Sitzungen

Mehr

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

ARCHITEKTUR VON INFORMATIONSSYSTEMEN ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll

Mehr

GeoEvent Processor und Feeds

GeoEvent Processor und Feeds 2013 Europe, Middle East, and Africa User Conference October 23-25 Munich, Germany GeoEvent Processor und Feeds Dr. Peter Saiger-Bonnas Raum-Zeitliche Daten Gruppierung nach Zeit Gruppierung nach Attributen

Mehr

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol CCNA Exploration Network Fundamentals ARP Address Resolution Protocol ARP: Address resolution protocol 1. Eigenschaften ARP-Cache Aufbau 2. Ablauf Beispiel Flussschema 3. ARP-Arten 4. Sicherheit Man-In-The-Middle-Attacke

Mehr

DynDNS für Strato Domains im Eigenbau

DynDNS für Strato Domains im Eigenbau home.meinedomain.de DynDNS für Strato Domains im Eigenbau Hubert Feyrer Hubert Feyrer 1 Intro homerouter$ ifconfig pppoe0 pppoe0: flags=8851...

Mehr

y Hypertext braucht Ressourcen-Identifikation y Unterschied zwischen Link und Identifier

y Hypertext braucht Ressourcen-Identifikation y Unterschied zwischen Link und Identifier +\SHUWH[W7UDQVIHU3URWRFRO +773 (ULN:LOGH 7,.² (7+= ULFK 6RPPHUVHPHVWHU hehuvlfkw y Hypertext braucht Ressourcen-Identifikation y Unterschied zwischen Link und Identifier y Universal Resource Identifier

Mehr