Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Jabber/XMPP

1.828 Aufrufe

Veröffentlicht am

27. 04. 2005: Proseminar Uni Ulm: Virtuelle Präsenz: Jabber – Proseminarvortrag “Virtuelle Präsenz“, Prof. Schulthess, Uni Ulm

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Jabber/XMPP

  1. 1. Jabber / XMPPProseminar Uni Ulm 27. April 2005 <page="1" max="22"/>
  2. 2. Warum?• Grosse Messenger: • AIM/ICQ (AOL) • MSN (Microsoft) • Yahoo• Windows (+Mac) Only, Werbung, Closed Source• Keine Protokoll-Infos, inoffizielle Clients funktionieren nur durch Protokoll-Reversing• Protokolländerungen = Warten..• Single Point of Failure• Privacy meist nur Simulation <page="2" max="22"/>
  3. 3. Jabber/XMPP - Geschichte• 1998: Entwicklung durch Jeremie Miller• Jan 1999: Slashdot• März 2000: Jabber, Inc• Mai 2000: jabberd 1.0• August 2001: Gründung JSF • Jabber Board (3 Personen) – Business Affairs • Jabber Council (6 Personen) – Technical Affairs • JSF (~60 Personen)• Oktober 2004: RFC 3920-3924 <page="3" max="22"/>
  4. 4. Neu an Jabber?• Abwärtskompatibel mit beliebigem Inhalt erweiterbar• Dezentral• Dokumentiert und Standardisiert• Privacy sehr wichtig• Clients für nahezu jede obskure Plattform• „eXtensible Messaging and Presence Protocol“• Dynamisches Netz – s2s wird nach Bedarf aufgebaut <page="4" max="22"/>
  5. 5. Probleme• Relativ jung• Techniker programmieren: • Unverständlich, Featureoverkill, „staubig“ • Wozu Doku wenn es Source gibt? • Unterschiedlichste Begriffe – Supportalptraum• Semiprofessionelle Server, keine QS • DynIP-Server • „jeder darf alles“ - Bug und Feature gleichzeitig • Protokolle nicht immer verstanden• Kein Client kann „alles“• Multi-Protocol-Clients <page="5" max="22"/>
  6. 6. Jabber ist schick, weil:• Authorisation muss sein• Contact List Serverseitig gespeichert• Filter auf Serverseite möglich• Einfach und schnell scriptbar• Mehrere Clients parallel online• Mailadresse = Jabber-Id• Sehr gut für Unternehmen/Gruppen • shared/dynamic Roster Management• GPG, OTR und Co (End2End Verschlüsselung)• „Do it yourself“ <page="6" max="22"/>
  7. 7. Technik: Jid• Jabber-ID (jid) „fh@jabber.ccc.de/somewhere“ • fh: Benutzer • jabber.ccc.de: Server • somewhere: Resource • Benutzer und Resource sind nicht immer angegeben• Zusätzlich: Priority • „Wichtigkeit des Clients“ • Meist dargestellt als fh@jabber.ccc.de/somewhere (5) <page="7" max="22"/>
  8. 8. Jid Interpretation fh@zwoop.de/home (5) to=“fh@zwoop.de/home“ to=“fh@zwoop.de“ to=“zwoop.de/echo“fh@zwoop.de/laptop (9) <page="8" max="22"/>
  9. 9. Serverübergreifend bla@jabber.i-pobox.net jabber.i-pobox.net zwoop.de to=“bla@jabber.i-pobox.net“ to=“someuser@amessage.info“ amessage.infosomeuser@amessage.info <page="9" max="22"/>
  10. 10. Server-Kommunikation• Verbindungsaufbau nicht statisch, sondern dynamisch und upon request (vgl. Email)• TLS-Support bei neuen Serverversionen• Load-Balancing einfach möglich• Drei-Wege Handshake <page="10" max="22"/>
  11. 11. Servertechnik sessions some.jabberd.com dns Port 5269 _xmpp-server._tcp.some.jabberd.com s2s*@zwoop.de Andere Netze AIM/ICQ/MSN/Yahoo SMS/eMail/IRC/RSS... router transports c2s Ports 5222 und 5223fh@zwoop.de <page="11" max="22"/>
  12. 12. Transports?• Umsetzung beliebiger Dienste nach Jabber • ICQ-Uin wird zu 12345@icq.zwoop.de • Transparent für Jabberclients• Oft auch Gateways oder „Dienst“ genannt• Gateways anderer Server nutzbar • user@zwoop.de kann icq.amessage.de nutzen• Gateways zu ICQ/MSN/AIM/Y! gern überlastet <page="12" max="22"/>
  13. 13. Dienste• Registrierung und Bedienung über „Service Discovery“ <page="13" max="22"/>
  14. 14. XMPP |--------------------| | <stream> | • eXtensible Messaging |--------------------| and Presence Protocol | <presence> | <show/> | | • Streaming XML | </presence> | |--------------------| • XML-Pakete | <message to=foo> | eingebettet in einem | <body/> | | </message> | <stream /> |--------------------| | <iq to=bar> | | <query/> | | </iq> | |--------------------| | ... | |--------------------| | </stream> | |--------------------|Alle Protokollauszüge stammen aus den XMPP-RFCs <page="14" max="22"/>
  15. 15. Protokoll-Spezifikation• Basis: RFC 3920 – 3924• Erweitert durch JEPs, Jabber Enhancement Proposals • Ca 150 Stück • Struktur ähnlich RFCs (Draft, Deprecated, ..) • Validierung durch JSF <page="15" max="22"/>
  16. 16. Jabber vs. XMPP• XMPP ist der Teil von Jabber, der in den RFC- Dokumenten spezifiziert ist• Jabber lässt einiges zu, was nach XMPP nicht ok ist• „XMPP ist die kleinliche Variante von Jabber“ <page="16" max="22"/>
  17. 17. Ausblick: Pubsub• Publish – Subscribe für nahezu Beliebigen Content • User „subscribed“ eine Element • Wenn sich das Element ändert, bekommt User eine Nachricht• Vergleich: RSS • Bandbreitenfreundlicher • Schneller • Beliebiger Content <page="17" max="22"/>
  18. 18. Protokoll-Zukunft• Shared / Dynamic Roster• Remote Controlling Client (JEP146)• Whiteboard/ Audio/ Video Support• HTTP Binding (Jep 124)• Servergespeicherte History• Filter auf dem Server• Erweiterte Nachrichtenattribute (Jep 79) <page="18" max="22"/>
  19. 19. Lluna• Collaborative Browsing • Kommunikation mit anderen Besuchern der gleichen Website über Avatare • Idee: Beratung/Support „im Browser“ <page="19" max="22"/>
  20. 20. Trakm8• Monitoring von Fahrzeugbewegungen über GSM/GPS• Flottenmanagement• Mietwagenüberwachung• Infrastruktur Jabber• Trackingsoftware, SMS-Alerts, ... <page="20" max="22"/>
  21. 21. Sip/Simple• Ziel: Sip durch Jabber ersetzen• Es existieren mehrere Gateways• „Wenn Client DND klingelt das Telefon nicht“• JEP 0111 <page="21" max="22"/>
  22. 22. • </vortrag> Florian Holzhauer jid: fh@jabber.ccc.de mail: fh-jabber@fholzhauer.deStand: 14.4.2005 <page="22" max="22"/>

×