+ All Categories
Home > Technology > Jabber/XMPP

Jabber/XMPP

Date post: 29-Nov-2014
Category:
Upload: florian-holzhauer
View: 1,711 times
Download: 1 times
Share this document with a friend
Description:
27. 04. 2005: Proseminar Uni Ulm: Virtuelle Präsenz: Jabber – Proseminarvortrag “Virtuelle Präsenz“, Prof. Schulthess, Uni Ulm
22
<page="1" max="22"/> Jabber / XMPP Proseminar Uni Ulm 27. April 2005
Transcript
Page 1: Jabber/XMPP

<page="1" max="22"/>

Jabber / XMPP

Proseminar Uni Ulm

27. April 2005

Page 2: Jabber/XMPP

<page="2" max="22"/>

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 3: Jabber/XMPP

<page="3" max="22"/>

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 4: Jabber/XMPP

<page="4" max="22"/>

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 5: Jabber/XMPP

<page="5" max="22"/>

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 6: Jabber/XMPP

<page="6" max="22"/>

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 7: Jabber/XMPP

<page="7" max="22"/>

Technik: Jid

• Jabber-ID (jid) „[email protected]/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 [email protected]/somewhere (5)

Page 8: Jabber/XMPP

<page="8" max="22"/>

Jid Interpretation

[email protected]/home (5)

[email protected]/laptop (9)

to=“[email protected]“to=“[email protected]/home“

to=“zwoop.de/echo“

Page 9: Jabber/XMPP

<page="9" max="22"/>

Serverübergreifend

[email protected]

[email protected]

to=“[email protected]

to=“[email protected]“zwoop.de

jabber.i-pobox.net

amessage.info

Page 10: Jabber/XMPP

<page="10" max="22"/>

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 11: Jabber/XMPP

<page="11" max="22"/>

Servertechnik

[email protected]

router

c2sPorts 5222 und 5223

dns sessions

s2s

transports

sessions

Andere NetzeAIM/ICQ/MSN/YahooSMS/eMail/IRC/RSS...

some.jabberd.comPort 5269_xmpp-server._tcp.some.jabberd.com

*@zwoop.de

Page 12: Jabber/XMPP

<page="12" max="22"/>

Transports?

• Umsetzung beliebiger Dienste nach Jabber• ICQ-Uin wird zu [email protected]• Transparent für Jabberclients

• Oft auch Gateways oder „Dienst“ genannt• Gateways anderer Server nutzbar

[email protected] kann icq.amessage.de nutzen• Gateways zu ICQ/MSN/AIM/Y! gern überlastet

Page 13: Jabber/XMPP

<page="13" max="22"/>

Dienste

• Registrierung und Bedienung über „Service Discovery“

Page 14: Jabber/XMPP

<page="14" max="22"/>

XMPP

• eXtensible Messaging and Presence Protocol

• Streaming XML• XML-Pakete

eingebettet in einem <stream />

Alle Protokollauszüge stammen aus den XMPP-RFCs

|--------------------|| <stream> ||--------------------|| <presence> || <show/> || </presence> ||--------------------|| <message to='foo'> || <body/> || </message> ||--------------------|| <iq to='bar'> || <query/> || </iq> ||--------------------|| ... ||--------------------|| </stream> ||--------------------|

Page 15: Jabber/XMPP

<page="15" max="22"/>

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 16: Jabber/XMPP

<page="16" max="22"/>

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 17: Jabber/XMPP

<page="17" max="22"/>

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 18: Jabber/XMPP

<page="18" max="22"/>

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 19: Jabber/XMPP

<page="19" max="22"/>

Lluna

• Collaborative Browsing• Kommunikation mit anderen Besuchern der gleichen

Website über Avatare• Idee: Beratung/Support „im Browser“

Page 20: Jabber/XMPP

<page="20" max="22"/>

Trakm8

• Monitoring von Fahrzeugbewegungen über GSM/GPS

• Flottenmanagement• Mietwagenüberwachung• Infrastruktur Jabber• Trackingsoftware, SMS-Alerts, ...

Page 21: Jabber/XMPP

<page="21" max="22"/>

Sip/Simple

• Ziel: Sip durch Jabber ersetzen• Es existieren mehrere Gateways• „Wenn Client DND klingelt das Telefon nicht“• JEP 0111

Page 22: Jabber/XMPP

<page="22" max="22"/>

• </vortrag>

Florian Holzhauerjid: [email protected]

mail: [email protected]

Stand: 14.4.2005


Recommended