• Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

XMPP - Real Time Communication

  • 4,018 views
Uploaded on

Vortrag in Deutsch: …

Vortrag in Deutsch:
Einführung und detaillierte Betrachtung von XMPP. XMPP (Jabber) als freie Alternative zu den properitären IM-Protokollen wie MSN, OSCAR (ICQ, AOL) und Yahoo.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,018
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
71
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • IM = sofortige Nachrichtenübermittlung
  • Alle wollen auf IM Zug aufspringe Merkt schnell, dass nicht alle am gleichen Ort sind Clients nur immer unter Windows
  • Versendete Informationen gehören den Firmen/Anbietern
  • erweiterbares Nachrichten- und Anwesenheitsprotokoll IRC erwähnen
  • Ziel eine freie Alternative zu damals aufstrebenden proprietären Instant Messaging-Lösungen zu schaffen. Internet Engeneering Task Force (IETF) Im Jahr 2007 wurde die Jabber Software Foundation in XMPP Standards Foundation (XSF) umbenannt XMPP core => RFC 3920 XMPP messaging & presence => RFC 3921
  • Single Point of Failure Logik ist meist auf dem Server Server to Server Communication Jede Domain kann Jabber Server sein, Identifikation über JID Skallierbarkeit
  • IM = sofortige Nachrichtenübermittlung
  • Bare Jabber ID Nicht Full Jabber ID
  • IM = sofortige Nachrichtenübermittlung
  • Alle in UTF-8
  • <presence> broadcast <message> point-to-point <iq> request-response (info/query) all basic message paradigms are covered
  • Transport Layer Security Siehe Slide 14 OSI Schicht TCP -> Transport
  • Transport Layer Security Siehe Slide 14 OSI Schicht TCP -> Transport XEP-0078: Non-SASL Authentication OTR -> inoffizielle; vertrauliche, nicht für die Öffentlichkeit bestimmte Nachrichtenvermittlung
  • IM = sofortige Nachrichtenübermittlung
  • <presence> broadcast <message> point-to-point <iq> request-response (info/query) all basic message paradigms are covered
  • Priorität setzen Beispiel Haus
  • Multi-Protokoll-Clients -> Logik bei Client Hier auf Server Durch einen Umstieg verliert man seine Kontakte nicht MSN wird meistens wegen rechtlichen Problemen nicht angeboten
  • Jingle -> VoIP von Google Talk (2005)

Transcript

  • 1. XMPP – Real Time Communication Dominic Lüchinger
  • 2. XMPP IM Real Time Web AMQP Protokoll XML Bot Publish/Subscribe Roaster Jabber Cloud Push vs Polling BOSH XEP Webhooks PubSubHubbub eJabberd Client Server RFC 3920–3923 IETF Gtalk Facebook Google Wave
  • 3. Aufbau des Workshops
    • Geschichte
    • 4. Funktionen von XMPP
    • 5. Blick hinter Kullissen / Erweiterungen
    • 6. Anwendungsbeispiel und Refenzen
    • 7. Real Time Web mit XMPP
    • 8. Diskussion
  • 9. Kurze Geschichte von Instant Messaging
  • 10. Proprietäre Protokolle
  • 14. Störende Punkte
    • Nur Kommunikation zu Usern im gleichen System
    • 15. Zentralisierte, bevollmächtigte Server
    • 16. Client Software ist vorgegeben
    • 17. Kein offenes Protokoll/Schnittstelle
    • 18. Nette Nutzungsbedingungen
  • 19. e X tensible M essaging and P resence P rotocol
  • 20. Geschicht von XMPP
    • Erste Entwürfe von Jeremie Miller (1998)
    • 21. Erste offizielle Version des Jabber Server 'jabberd' (2000)
    • 22. Gründung Jabber Software Foundation (2001)
    • 23. Durch IETF als Internet-Standard verabschiedet (2004)
  • 24. Eigenschaften von XMPP
    • Dezentralisiert
    • 25. Offene Client-Server Architektur
    • 26. XML Stream über TCP/IP
    • 27. Sicherheit über TLS/SSL und SASL
    • 28. Systemunabhängigkeit
    • 29. Mehrfach-Anmeldung am Server
    • 30. Erweiterbar durch XEP
  • 31. Dezentralisiert
  • 32. Einschub JID <Jabber Identifier>
  • 33. user @ domain.ch [email_address] [email_address] [email_address] [email_address]
  • 34. Was? XMPP ist XML? Protokoll als Stream?
  • 35.  
  • 36. Start der Verbindung XML-Stream <stream:stream to = &quot;bar.com&quot; xmlns = &quot;jabber:client&quot; xmlns: stream = &quot;http://etherx.jabber.org/streams&quot; > ... </stream:stream> Verbindungsaufbau zu Server bar.com an Port 5222 oder 5223 (SSL)
  • 37. Daten im Stream <stream> <presence> <show/> </presence> <message to = &quot;foo&quot; > <body/> </message> <iq to = &quot;bar&quot; > <query/> </iq> </stream>
  • 38. <message to = &quot;romeo@shakespeare.com&quot; from = &quot;foo@bar.com/parl&quot; type = &quot;chat&quot; > <body> Wherefore art thou, Romeo? </body> </message>
  • 39. <presence type = &quot;available&quot; > <show> away </show> <status> At the Cornershop </status> </presence>
  • 40. <iq id = &quot;reg&quot; type = &quot;get&quot; > <query xmlns = &quot; jabber:iq:register &quot; /> </iq>
  • 41. <iq id = &quot;reg&quot; type = &quot; result &quot; > <query xmlns = &quot;jabber:iq:register&quot; > <password/> <instructions> Choose a username and password to register. </instructions> <name/> <email/> <username/> </query> </iq>
  • 42. Beispiele
  • 43. Kritischer Blick auf XML
    • War grad hip!
    • 44. Einfach zu lesen, parsen
    • 45. Overhead (bis zu 80%)
      • Komprimierbar
    • Weit verbreitet, viele Bibliotheken
  • 46. Sicherheit
    • Verbindung über TLS/SSL
    • 47. SASL (Simple Authentication and Security Layer)
      • Problem mit Unterstützung
    • End-to-End Signing and Object Encryption (RFC 3923)
    • 48. PGP/GPG und OTR (Off-the-Record)
    • 49. … durch Erweiterugen
  • 50. Problem Sicherheit
  • 51. Mehrfaches Anmelden
  • 52. user@domain.ch/ resource
  • 53. Mehrere Ressourcen
  • 54. Gateway / Transport zu anderen Diensten
  • 55. XEP XMPP Extension Protocol
  • 56. http://xmpp.org/extensions/
  • 57. Erwähnenswerte XEP's
    • Jingle -> Peer-to-Peer-Sitzungen
    • 58. Multi-User Chat („IRC”)
    • 59. BOSH (Bidirectional-streams Over Synchronous HTTP)
    • 60. Publish/Subscribe
    • 61. Datei-Transfer / XMPP XML-RPC
    • 62. Presence Obtained via Kinesthetic Excitation (POKE)
  • 63. Wer setzt auf XMPP?
    • Google Talk + Jingle
    • 64. Facebook Chat
    • 65. Google Wave (Federation Protocol)
    • 66. Apple iChat Server Snow Leopard
    • 67. Cisco (Nachrichtenaustausch)
    • 68. Oracle Beehive Collaboration
  • 69. Was kann ich damit machen?
    • Chatten
    • 70. Telefonieren
    • 71. Dateien austauschen
    • 72. Im Gruppen-Chat (MUJ) diskutieren
    • 73. Mit einem Bot kommunizieren
    • 74. Mich erinnern lassen
    • 75. Geräte ansteuern
  • 76. Beispiele
  • 77. Client
  • 78. Bot
  • 79. Verfügbare Software
    • Server
    • Client-Bibliotheken
  • 83. Verfügbare Software
    • Server
    • Client-Bibliotheken
  • 87. Real Time Web
  • 88. Push vs Polling
  • 89.  
  • 90.  
  • 91.  
  • 92. Diskussion
  • 93.