Instant Messaging mit Jabber - pi4

Transcription

Instant Messaging mit Jabber - pi4
Instant Messaging mit Jabber
Seminararbeit von
Myrjam Stotz
aus Mannheim
vorgelegt am
Lehrstuhl für Praktische Informatik IV
Prof. Dr. W. Effelsberg
Fakultät für Mathematik und Informatik
Universität Mannheim
15. November 2006
Instant Messaging mit Jabber
1
Inhaltsverzeichnis
Inhaltsverzeichnis ........................................................................... 1
Abbildungsverzeichnis.................................................................... 2
1. Instant Messaging ....................................................................... 3
1.1 Herkunft und Zweck ........................................................................................................3
1.2 Verbreitung ......................................................................................................................4
1.3 Abgrenzung zu Email.......................................................................................................5
2. Übertragungsprotokolle beim Instant Messaging.................... 6
2.1 Die Rolle von Übertragungsprotokollen bei Instant Messaging Systemen .....................6
2.2 Das Übertragungsprotokoll SIMPLE...............................................................................8
2.3 Das Übertragungsprotokoll XMPP ................................................................................10
2.3 Vergleich von SIMPLE und XMPP...............................................................................11
3. Das Instant Messaging System Jabber.................................... 12
3.1 Jabber - Clients...............................................................................................................13
3.2 Jabber - Server ...............................................................................................................14
3.3 Gateways – Kommunikation mit anderen IM-Systemen ...............................................15
3.4 Kritische Würdigung von Jabber ...................................................................................16
4. Fazit und Ausblick .................................................................... 17
Literaturverzeichnis ..................................................................... 19
Instant Messaging mit Jabber
2
Abbildungsverzeichnis
Abbildung 1: Anzahl an Nutzern der Instant Messaging Anbieter ........................................5
Abbildung 2: Struktur von Instant Messaging Systemen.......................................................7
Abbildung 3: Nachricht mittels SIMPLE...............................................................................9
Abbildung 4: Komponenten von SIMPLE...........................................................................10
Abbildung 5: Nachricht mit XMPP .....................................................................................11
Abbildung 6: Die Jabber - Architektur ................................................................................13
Abbildung 7: Gateways bei Jabber ......................................................................................16
Instant Messaging mit Jabber
3
1. Instant Messaging
1.1 Herkunft und Zweck
Wie bereits „Instant Messaging“ (IM), auf Deutsch „sofortige Nachrichtenübermittlung“,
suggeriert, ermöglicht es den sofortigen Austausch von Nachrichten über ein Netzwerk,
beispielsweise das Internet. Instant Messaging Systeme ermöglichen den Anwendern, über
aktuelle Zustandsinformationen von Nutzern (auch Presence genannt) festzustellen, welche
anderen Anwender momentan anwesend sind und ermöglichen diesen gleichzeitig den
Austausch von kurzen Nachrichten.1 Bei diesen Mitteilungen ist zwischen zwei Varianten
zu unterscheiden: erstens, das Instant Messaging als private Kommunikation über ein
Netzwerk zwischen zwei Nutzern, und zweitens, die Kommunikation zwischen zwei oder
mehreren Nutzern als „Chat Session“.2
Es existieren eine Reihe von IM-Systemen am Markt, die alle ähnliche Dienste anbieten:
Kommunikation mittels privater Nachrichten oder in so genannten „Chat Rooms“. Des
weiteren ermöglichen einige IM-Systeme auch weitere Anwendungen, wie beispielsweise
Datentransfer, Kommunikation mit Web - Cams, Kontaktlisten (Buddy Lists) und Voice
Chat Sessions.3
Wahrscheinlich geht der Begriff auf Science-Fiction Geschichten der 60er zurück. In diesen war es möglich, Nachrichten mit Überlichtgeschwindigkeiten über extreme Distanzen
hinweg zu verschicken. Diese Nachrichtenübertragung galt jedoch als sehr teuer und fast
unerschwinglich. Später wurde der Newsletter der New England Science Fiction Association nach diesen Nachrichten benannt. Dies ist wahrscheinlich der Ursprung des Begriffes
„Instant Messaging“ im heutigen Gebrauch.4
1
2
3
4
Vgl. Day, Mark, Jonathan Rosenberg und Hiroyasu Sugano: A Model for Presence and Instant Messaging,
in: IETF RFC 2778 (2000), S. 1.
Vgl. Jennings, Raymond B., Erich M. Nahum, David P. Oldhefski, Debanjan Saha, Zon-Yin Shae und
Chris Waters: A Study of Internet Instant Messaging and Chat Protocols, in: IEEE Network, 20. Jg.
(2006), Nr. 4, S. 16–21 .
Vgl. Jennings: A Study of Internet Instant Messaging and Chat Protocols, S. 16.
Vgl. o.V.: Instant Messaging, eingesehen am 17. 10. 2006:
http://de.wikipedia.org/wiki/Instant_Messaging.
Instant Messaging mit Jabber
4
Geschichtlich begann die Nutzung von Instant Messaging mit der Einführung des UNIX
Betriebssystems. Anwender konnten sofortige Nachrichten mittels den „Finger“ und
„Talk“ Befehlen in der UNIX Umgebung versenden und empfangen. 1988 wurde dann der
so genannte Internet Relay Chat (IRC) eingeführt, welcher Benutzern eines öffentlichen
Netzwerkes weltweite Kommunikation in Echtzeit ermöglichte. Hier war es den Anwendern zusätzlich möglich, jederzeit einen Chat Room zu betreten, dort mit anderen Anwendern zu kommunizieren und ihn wieder zu verlassen. 1996 wurde schließlich ICQ (“I Seek
You”) auf den Markt gebracht. ICQ ermöglichte es, mit mehreren Anwendern gleichzeitig
über das Internet zu chatten, ohne einen Chat Room zu betreten. Hiermit begann der Boom
des Instant Messaging.
Mitte 1998 kaufte America Online (AOL) ICQ auf, ICQ und AIM, der Instant Messenger
von AOL, bestehen seitdem nebeneinander. Im Laufe des folgenden Jahres traten dann der
Microsoft Messenger (MSN) und der Yahoo Messenger (YMSG) auf den Markt, welche
sich 2006 zusammenschlossen. All diese Anbieter basieren jedoch heute noch auf geschützten, so genannten proprietären Protokollen. D.h., die IM-Systeme sind bis heute
nicht miteinander kompatibel (ausgenommen MSN und YMSG oder AIM und ICQ). Aus
dieser Motivation heraus wurde 1998 das Jabber Projekt gegründet. Hiermit sollte dieser
Unvereinbarkeit entgegen gewirkt werden. Es wurden IM Clients und Server entwickelt,
die auch mit den geschützten Systemen kommunizieren können.5
1.2 Verbreitung
Aus den oben beschriebenen IM-Systemen haben sich auch die heute vier bekanntesten
Systeme herausgebildet. Dies sind der AOL Instant Messenger (AIM), Microsoft Messenger (MSN), ICQ („I seek you“) und Yahoo! Messenger (YMSG).6 Aktuelle Angaben der
Anzahl an Nutzern der unterschiedlichen IM-Systeme sind schwer zu finden. Um einen
Überblick über die Anzahl der Nutzer je IM-System zu erhalten, sind im folgenden Abbild
die Nutzerzahlen von AIM, MSN, ICQ, YMSG und Jabber dargestellt. Es ist jedoch davon
auszugehen, dass die Nutzerzahlen seitdem noch erheblich gestiegen sind. Außerdem ist zu
beachten, dass ein Nutzer mit großer Wahrscheinlichkeit bei mehreren Diensten gleichzei5
6
Vgl. Tyson, Jeff: How Instant Messaging Works, eingesehen am 5.11.2006:
http://computer.howstuffworks.com/instant-messaging.htm; o.V.: Instant Messaging: Yahoo und Microsoft verbinden sich, eingesehen am 5.11.2006: http://www.golem.de/0609/48056.html; o.V.: Jabber, eingesehen am 30.10.2006: http://de.wikipedia.org/wiki/jabber.
Vgl. eda., S. 16; Chatterjee, Samir, Tarun Abhichandani, Haiqing Li, Bengisu Tulu und Jongbok Byun:
Instant Messaging and Presence Technologies for College Campuses, in: IEEE Network, May/June 2005,
S. 4–13 .
5
Instant Messaging mit Jabber
tig registriert ist, da die unterschiedlichen Systeme meist nicht untereinander kompatibel
sind.7 Einer Befragung von 2000 Internetnutzern im Jahre 2006 zufolge, nutzen etwa 48%
der Internetnutzer einen Messenger Dienst, von denen knapp die Hälfte (43%) täglich persönliche Nachrichten per Instant Messages austauscht. 24 % dieser Anwender wiederum
haben mehr als einen Messenger - Dienst auf ihren Rechnern installiert.8
Mio. registrierte Nutzer
Anzahl an Nutzern der Instant Messaging Anbieter
200
180
160
140
120
100
80
60
40
20
0
195
155
140
19,1
AIM (2003)
MSN (2005)
ICQ (2003)
4
YMSG (2002) Jabber (2003)
Abbildung 1: Anzahl an Nutzern der Instant Messaging Anbieter
1.3 Abgrenzung zu Email
Nach der obigen Beschreibung von Instant Messaging, stellt sich die Frage, wie sich Instant Messaging von Emails differenziert. Einerseits unterscheidet die Eigenschaft der
Echtzeitübertragung Instant Messaging von Emails. Die Möglichkeit, ohne wesentliche
Verzögerungen Informationen zu übertragen, ermöglicht dem Nutzer, die aktuelle Verfügbarkeit anderer Nutzer sofort festzustellen und dann mit ihnen in Echtzeit zu kommunizieren. Wenn beispielsweise sofort eine Antwort von einem anderen Nutzer benötigt wird, so
muss nicht erst eine Mail geschickt werden und gewartet werden, ob und wann er antwortet. Ist die Person in einer Buddy-Liste festgehalten, kann auf einen Blick festgestellt werden, ob jemand gerade anwesend ist und antworten kann oder nicht.9
7
8
9
Vgl. o.V.: Instant Messaging
Vgl. o.V.: Instant Messaging: Yahoo und Microsoft verbinden sich.
Vgl. Chatterjee: Instant Messaging and Presence Technologies for College Campuses.
Instant Messaging mit Jabber
6
Des Weiteren gilt die Kommunikation mittels Instant Messaging durch verschiedene Verschlüsselungsmöglichkeiten und Adressprüfung als sicherer als das Versenden von Emails
und die Verbreitung von Spam und Viren ist erschwert.10
2. Übertragungsprotokolle beim Instant Messaging
2.1 Die Rolle von Übertragungsprotokollen bei Instant Messaging Systemen
Wie oben bereits beschrieben, ermöglichen IM-Systeme den Austausch von aktuellen Zustandsinformationen der Anwender und von Instant Messages: „A presence and instant
messaging system allows users to subscribe to each other and be notified of changes in
state, and for users to send each other short instant messages.”11 Um dies zu ermöglichen,
kann natürlich jedes IM-System unterschiedlich implementiert sein. Day et al. geben jedoch einen Überblick, welche grundsätzliche Struktur solchen Systemen zugrunde liegt.
Generell unterscheiden Day et al. zwei verschiedene Dienste, die in einem IM-System benötigt werden. Zum einen sollte ein Presence Service existieren, der Informationen zum
aktuellen Zustand der Anwender annimmt, speichert und verteilt. Für diesen Austausch ist
ein Presence Protokoll verantwortlich. Es bestimmt die Interaktion zwischen dem Presence
Service, Presentities (Clients, die Presence Informationen speichern und verteilen) und
Watchers (Clients, die Presence Informationen empfangen). Informationen, die hier ausgetauscht werden, sind beispielsweise, ob ein Anwender momentan anwesend ist und bereit
ist Nachrichten zu empfangen oder nicht.
Zum anderen beschreiben Day et al. den Instant Messages Service, der dazu dient, Instant
Messages anzunehmen und diese an Instant Inboxes weiterzuleiten. Wie dies geschieht, ist
in einem Instant Messaging Protokoll festgehalten. Dieses Protokoll bestimmt die Interaktion zwischen IM-Service, Senders (Clients, die Instant Messages dem IM-Service zum
Versenden zustellen) und Instant Inboxes (Clients, welche die an sie adressierten Instant
Messages empfangen).
Der Nutzer des IM-Systems wird in dieser Darstellung als Principal beschrieben. Er interagiert mit dem System über User Agents (Inbox User Agent, Sender User Agent, Presence
10
Vgl. Meijer, Ralph und Peter Saint-Andre: Jabber, E-mail and Beyond, eingesehen am 4.11.2005:
http://ralphm.net/publications/nluug_vj05-paper.pdf, S. 2.
11
Day: A Model for Presence and Instant Messaging, S. 1.
Instant Messaging mit Jabber
7
User Agent und Watcher User Agent). Diese User Agents vermitteln zwischen den beschriebenen Clients und den Principals. Auch wenn in diesem Modell die User Agents getrennt dargestellt werden, sind in den meisten Implementierungen von IM-Systemen zumindest einige, wenn nicht sogar alle, als ein User Agent repräsentiert.
Der Ablauf eines Instant Message Versandes in einem IM-System könnten sich dann wie
folgt abspielen: auf der einen Seite signalisiert beispielsweise ein Nutzer, dass er aktiv ist
und bereit ist, Nachrichten zu empfangen. Ein anderer Nutzer sieht, dass der erste Nutzer
im Moment anwesend ist, nutzt die Gelegenheit und sendet eine Instant Message, die sofort bei diesem Nutzer ankommt und von ihm sofort beantwortet werden kann.12 Die folgende Abbildung stellt nochmals die Struktur von IM-Systemen mit den benötigten Protokollen dar:
Abbildung 2: Struktur von Instant Messaging Systemen
Wie bereits erwähnt, sind durch die unterschiedlichen und geschützten IM-Systeme der
verschiedenen Anbieter auch die Protokolle der IM-Systeme bis heute nicht standardisiert.
Die involvierten Unternehmen sehen darin Möglichkeiten zur Kontrolle sowie zur Kundenbindung und –gewinnung. Oft können Anwender anderer Systeme nicht mit den Kun12
Vgl. Day: A Model for Presence and Instant Messaging, S. 2.
Instant Messaging mit Jabber
8
den des betrachteten IM-Systems kommunizieren und müssen sich hierfür ebenfalls in dem
System registrieren. Somit steigt die Zahl der registrierten Nutzer des IM-Systems. Mit der
Konkurrenz von IM-Systemen, die Kommunikation zu anderen Systemen ermöglichen,
wird dies auf Dauer keinen Wettbewerbsvorteil darstellen. Es ist zu erwarten, dass auch
diese Systeme früher oder später auf Standards zurückgreifen. Die proprietären Protokolle
werden dabei langfristig wohl kaum eine Rolle spielen.13
In den letzten Jahren bildeten sich zwei offene IETF - Standards heraus: das „Session Initiation Protocol“ (SIP) mit dem darauf aufbauenden Protokoll SIMPLE („Session Initiation
Protocol Extension for Instant Messaging“) und das „Extensible Messaging and Presence
Protocol“ (XMPP). Im Folgenden werden die zwei Standards SIMPLE und XMPP genauer
beschrieben. Eines oder beide dieser Protokolle werden sich wohl durchsetzen.14
2.2 Das Übertragungsprotokoll SIMPLE
SIMPLE basiert auf SIP, dem „Session Initiation Protocol“. Dies ist ein „Signaling“ Protokoll zum Aufbauen, Verändern oder Beenden interaktiver Nutzersitzungen, wie sie bei
synchroner Kommunikation, wie beispielsweise bei IM, Internet - Konferenzen oder - Telephonie auftreten. Während die SIP Mechanismen „Session“ - orientierte Kommunikation
ermöglichen, kommen durch SIMPLE die notwendigen Features für IM hinzu. Durch die
Einführung der MESSAGE, SUBSCRIBE und NOTIFY Methode kann SIP auch Presence
Information und Instant Messages ermöglichen. Mit Hilfe von SIMPLE können somit
„Call Setups”, Routing, Authentifizierung und andere Dienste zwischen Servern und
Clients für Instant Messaging angewendet werden. Die folgende Abbildung stellt beispielhaft eine Nachricht mittels SIMPLE dar:15
13
Vgl. Hildebrand, Joe: Nine IM Accounts and Counting, in: Queue, November 2003. Jg. (2003), S. 44–50,
Jennings: A Study of Internet Instant Messaging and Chat Protocols, S. 16.
14
Vgl. Vaughan-Nichols, Steven J.: Presence Technology: More than Just Instant Messaging, in: Computer,
October 2003, S. 11–13 ; Hildebrand: Nine IM Accounts and Counting, Jennings: A Study of Internet Instant Messaging and Chat Protocols, S. 16.
15
Siehe Chatterjee: Instant Messaging and Presence Technologies for College Campuses, S. 6, 8.
9
Instant Messaging mit Jabber
Frame – Ankunftszeit des Pakets, Paketgröße in Bytes (446 Bytes)
Ethernet (14 bytes)
Internet Protocol
(20 bytes)
User Datagram
Protocol
(8 bytes)
Session Initiation Protocol
(404 bytes)
MAC Adressen des
Ziels und der Quelle
IP - Version, Protokolltyp
Quell - Port, Ziel Port, Prüfsumme
Request Line:
MESSAGE sip:10.1.1.2:5060;transport =
udp SIP/2.0
Message Header:
From:<sip: Myrjam@beispiel.com>
To:<sip: steffi@beispiel.com>
Content-Type: text/plain; charset=UTF-8
Message Body:
Line-based text data: text/plain
Guten Morgen!
Abbildung 3: Nachricht mittels SIMPLE
Das Protokoll spürt Nutzer ähnlich wie beim Simple Mail Transport Protocol auf. Jedem
Nutzer ist eine ortsunabhängige Adresse zugeordnet. Diese einzige Adresse erleichtert es,
Nutzer aufzuspüren. Als Kennung eines Anwenders dient hier der so genannte Presence
User Agent (PUA). Wenn jemand über SIMPLE einen anderen Nutzer erreichen möchte,
wie beispielsweise beim Anklicken eines Namens in einem Email-Adressbuch, kontaktiert
das System die gewünschte PUA des Empfängers. Die PUA wiederum kontaktiert einen
Netzwerkverzeichnisservice, der Nutzer aufgrund ihrer Adresse findet und gibt mehrere
Kontaktmöglichkeiten wie z.B. Festnetz oder Handynummer, oder private und dienstliche
Email-Adresse an. Das System verwendet dann Informationen von Aktivitäten des Nutzers
auf Presence - fähigen Diensten oder Anwendungen, um herauszufinden, wo der Empfänger gerade ist und baut eine Verbindung zu ihm über SIP auf. Da SIMPLE auf IP basiert,
kann dieses Protokoll auch mit weiteren netzwerkfähigen Anwendungen wie Videokonferenzen und Telefon via IP arbeiten.16
Da SIMPLE hauptsächlich von einflussreichen Unternehmen wie IBM und Microsoft unterstützt wird, ist davon auszugehen, dass die Entwicklung des Standards auch in Zukunft
immer weiter voran getrieben wird.17
Die folgende Abbildung stellt nochmals die Funktionsweise von SIMPLE dar18:
16
Vgl. Vaughan-Nichols: Presence Technology: More than Just Instant Messaging, S. 13.
Vgl. eda. S. 12; Hildebrand: Nine IM Accounts and Counting, S. 49.
18
Chatterjee: Instant Messaging and Presence Technologies for College Campuses, S. 6.
17
Instant Messaging mit Jabber
10
Abbildung 4: Komponenten von SIMPLE
2.3 Das Übertragungsprotokoll XMPP
XMPP wird bereits wesentlich länger als SIMPLE angewendet und hat sich bereits vor
dem Standardisierungsprozess der IETF seit mehreren Jahren in der Praxis bewährt. Es ist
ein Protokoll für Real - Time Messaging und Presence und wird durch die Jabber Software
Foundation (JSF) gefördert. Es wurde hauptsächlich für das IM-System Jabber entwickelt
und wird dort seit Jahren verwendet.19 Zur Weiterentwicklung des Jabber - Protokolls veröffentlicht die JSF Jabber Enhancement Proposals als Erweiterungsvorschläge für das Protokoll. In der Jabber - Community sind diese als Standard anerkannt. Weitere Unternehmen, die XMPP unterstützen, sind beispielsweise France Telecom, Hewlett-Packard und
Intel Capital. Im Gegensatz zu SIMPLE ist die Grundlage für XMPP XML. Aufgrund der
Basis XML ist XMPP durch neu hinzu fügbare XML Prozesse sehr gut erweiterbar und
Nachrichten können außerdem relativ leicht verschlüsselt werden.
Im Gegensatz zu SIMPLE wird XMPP meist über einen Server hinweg und nicht Peer to - Peer eingesetzt.20 XMPP enthält XML Streams, welche von Clients verwendet werden
können, um über eine TCP Verbindung auf Dienste des Servers zuzugreifen. Die XML
Streams dienen beispielsweise dazu, eine persistente Verbindung zwischen Clients und
Servern aufzubauen und anschließend XML Daten oder so genannte XML Stanzas auszu19
20
Jabber Software Foundation, eingesehen am 30.10.2006: www.jabber.org.
Vgl. Vaughan-Nichols: Presence Technology: More than Just Instant Messaging, S. 13.
11
Instant Messaging mit Jabber
tauschen. XML Stanzas sind abgeschlossene Einheiten strukturierter Information mit einem Anfang und einem Ende.21 Drei Stanzas sind bereits in der Spezifikation von XMPP
(RFC 3921) vordefiniert: „Messages“ (zum Austausch der Nachrichten), „Presence“ (zum
Informieren von Clients über den Status eines anderen Clients) und „iq“ (Info/Query verwendet für Request - Response - Interaktionen zwischen Einheiten). Die Stanzas beinhalten zudem immer die Attribute to, from, id, type und xml:lang.22
Eine Message „Guten Morgen!“ von myrjam@beispiel.com an steffi@beispiel.com wird
beispielsweise wie folgt dargestellt:23
Frame – Ankunftszeit des Pakets, Paketgröße in Bytes (311 Bytes)
Ethernet
(14 bytes)
Internet Protocol
(20 bytes)
MAC Adressen
des Ziels und der
Quelle
IP - Version, Protokolltyp
Transmission
Control Protocol
(20 bytes)
Quell - Port, Ziel Port, Fenstergröße,
Prüfsumme
Jabber XML Messaging (257 bytes)
<message type = ‘chat’ to =
‘steffi@beispiel.com’> <xmlns = ‘jabber:x:event’> <composing/> </xmlns>
<body> Guten Morgen!</body> <html
xmlns=’http://jabber.org/protocol/xhtmlim’><body xmlns = ‘http://www.w3.org/
1999/xhtml’>Guten Morgen! </body>
</html> </message>
Abbildung 5: Nachricht mit XMPP
Bei Instant Messaging mit Jabber und somit mit XMPP fordert ein Client also zunächst
eine Session mit einem Server an und auf die der Server mit dem Eröffnen der Session
reagiert. Anschließend tauschen die Einheiten Nachrichten und Presence Information mittels XLM Stanzas aus.24 Wie ein auf XMPP basierendes IM-System genau aufgebaut ist,
wird später in Kapitel 3 bei der Beschreibung von Jabber näher erläutert.
2.3 Vergleich von SIMPLE und XMPP
Die folgende Tabelle hebt nochmals die Unterschiede zwischen SIMPLE und XMPP hervor, die sich aus der Beschreibung der beiden Protokolle in 2.2 und 2.3 ergeben.
21
Vgl. Meijer: Jabber, E-mail and Beyond, S. 2.
Die grundlegenden IM und Presence Erweiterungen sind spezifiziert in: Saint-Andre, Peter: Extensible
Messaging and Presence Protocol (XMPP): Instant Messaging and Presence, in: IETF RFC 3921 (2004).
23
Siehe Chatterjee: Instant Messaging and Presence Technologies for College Campuses, S. 8.
24
Die grundlegenden IM und Presence Erweiterungen sind spezifiziert in: Saint-Andre: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence.
22
12
Instant Messaging mit Jabber
SIMPLE
XMPP
Basis Technologie
Signaling
Methode des Instant
Peer-to-Peer
Datentransport (Ursprung in der
„open source community“)
Client / Server
Messaging
Message - Format
Technischer
Textbasierte übertragbare Formate für IM, XML für Attribute
zur Beschreibung der Anwesenheit der Nutzer („Presence“)
In Entwicklung
XML
Anwendung in der Praxis seit 1999
Entwicklungsstand
Einbinden anderer Medienarten
Lobby
Vorteile
Nachteile
Erweiterbar auf andere Medien
wie Telephonie und Video
Microsoft, IBM, Sun, 3GPP,
Open Mobile Alliance
• Bietet konvergiertes und
vereinheitlichtes Messaging
• Clients können in andere
Anwendungen integriert
werden
• „Smarte“ Clients, einfacher
Kern
• Nahtlose Verbindung zu SIP
und VoIP
• Starke Unterstützung von
Microsoft (Windows XP
Messenger)
• Noch nicht ausgereift
• Komplexe Architektur mit
vielen verschiedenen Servern
• Sicherheitsverfahren sind
schwer anzuwenden, da die
Server den Nachrichteninhalt nicht überprüfen können
Aufgrund des XML – basierten
Datenaustauschs Integration in
andere Anwendungen und Systeme möglich
HP, Intel, Sony, Hitachi, Oracle
•
•
•
•
•
•
Stabile Technologie
Kleine Nachrichtengröße im
Vergleich zu SIMPLE
Standardisierte Technologie
XML kann mit anderen
Technologien verbunden
werden
Transparenter
Nachrichtenaustausch (Sicherheitsverfahren
möglich)
Asynchroner Transport von
XML Inhalten
Server könnte je nach Implementierung mit Presence und
Instant Messaging überlastet
werden
Tabelle 1: Vergleich von SIMPLE und XMPP
3. Das Instant Messaging System Jabber
Jabber (englisch: „daherplappern“) ist ein IM-System, das nicht mit proprietären Protokollen arbeitet und auch die Kommunikation zu anderen IM-Systemen ermöglicht. Wie auch
bei den meisten anderen Systemen ist es möglich, Nachrichten zu übermitteln, Konferenzen mit anderen Benutzern abzuhalten, deren Online-Status einzusehen, Dateien zu über-
Instant Messaging mit Jabber
13
mitteln und vieles mehr.25 Wie bereits beschrieben, basiert das IM-System Jabber auf dem
Protokoll XMPP. Die gesamte Steuerung des Systems und der Nachrichtenaustausch werden mittels XMPP geregelt.
Die Struktur von Jabber basiert auf einer Client - Server - Architektur. Sie ist ähnlich wie
bei der Email Übertragung (SMTP): Jeder Betreiber eines Jabber - Servers kann Nachrichten mit anderen Servern, und somit auch über andere Anbieter hinweg, austauschen. Die
Nachrichtenübermittlung läuft somit vom Anwender zum eigenen Server, dann zum fremden Server und schließlich zum Empfänger. Auch isolierte Netzwerke, wie Intranets, sind
durch Betreiben eines eigenen Servers in einem lokalen Netzwerk möglich.26 Die folgende
Abbildung stellt die typische Jabber Architektur dar.27 Sie wird im Folgenden näher beschrieben.
Abbildung 6: Die Jabber - Architektur
3.1 Jabber - Clients
Es existieren Jabber - Clients für fast alle Betriebssysteme (z.B. Exodus für Windows oder
Gabber für Linux, aber auch weitere für Unix, Palm, Mac,...). Eine komplette Liste mit
25
Vgl. o.V.: Jabber.
Vgl. o.V.: Jabber.
27
Chatterjee: Instant Messaging and Presence Technologies for College Campuses, S. 7.
26
14
Instant Messaging mit Jabber
Clients
ist
an
folgender
Adresse
hinterlegt:
http://www.jabber.org/software/
clients.php.
Als Anwender von Jabber ist zunächst eine Registrierung bei einem Jabber - Server notwendig. Ein möglicher Server, bei dem man sich als Nutzer registrieren kann, wird direkt
bei http://www.Jabber.org angeboten, unter http://www.jabber.org/user/publicservers.php
finden sich jedoch noch weitere Möglichkeiten.
Ein Benutzer wird, ebenfalls ähnlich wie bei Email, mit einem Benutzernamen und dem
Server, bei dem er registriert ist, identifiziert. myrjam@example.com sagt aus, dass der
Benutzername „myrjam“ und der Server „example.com“ heißt.28 Zum Austausch von Instant Messages meldet sich der Nutzer bei jeder Sitzung mit seiner ID an, und kann nach
erfolgreicher Anmeldung mit anderen Nutzern Nachrichten austauschen. Da Jabber die
Kommunikation stets über mindestens einen Server durchführt, bleibt die IP - Adresse des
Nutzers anderen Nutzern unbekannt.
Für die Übertragung der Daten können drei verschiedene Sicherheitsfunktionen angewendet werden, da aufgrund des textbasierten Protokolls bei unverschlüsselter Kommunikation
Nachrichten abgehört werden könnten:29
a) SSL/TLS - Verschlüsselung zwischen dem Client und dem angemeldeten Server
b) Server - zu - Server-Verschlüsselung mittels SSL
c) Ende - zu - Ende- Verschlüsselung (Verschlüsselung der Verbindung zwischen den
Jabber - Benutzern selbst, z.B. mittels OpenPGP oder Off-the-Record Messaging)
3.2 Jabber - Server
Die Hauptaufgaben des Servers sind, mit den Clients zu kommunizieren, interne Anweisungen zu verarbeiten und mit anderen Servern zu kommunizieren. Links zu Serversoftware werden von der JSF unter http://www.jabber.org/soft-ware/servers.html bereit gestellt.
28
29
Vgl. Chatterjee: Instant Messaging and Presence Technologies for College Campuses.
Vgl. Eda.
Instant Messaging mit Jabber
15
Wie Abbildung 6 zu entnehmen ist, findet meist eine klare Trennung einzelner Komponenten des Servers statt, die als unabhängige Prozesse agieren. Die Kommunikation der Prozesse erfolgt über TCP Verbindungen und wird von einem Router gesteuert. Dieser öffnet
einen TCP Port, über den die anderen Komponenten miteinander kommunizieren können.
Der Informationsaustausch und die gesamte Steuerung des Servers erfolgt mittels XMPP.
Die Komponente Client - to - Server wird beispielsweise bei einer Authentifizierung angesprochen. Bei Anmeldung eines Nutzers werden z.B. die Nutzerdaten (myrjam@beispiel.com und das zugehörige Passwort) mit den gespeicherten Informationen im
Authentification Data Store (Teil der Client - to - Server Komponente) verglichen. Ist die
Authentifizierung erfolgreich, wird dies dem Router mitgeteilt. Der Router gibt diese Information an die Komponente Session Manager weiter, der die eigentlichen IM Funktionalitäten umsetzt. Dieser Veranlasst dann wiederum über den Router die Bearbeitung und
Weiterleitung von Nachrichten und Zustandsinformationen über die Client - to - Client
oder Client - to - Server Komponente. Die Pflege von Kontaktlisten und –infos ist ebenfalls Bestandteil der Session Manager Komponente, bzw. dem darin enthaltenen Application Data Store.30
3.3 Gateways – Kommunikation mit anderen IM-Systemen
Zu anderen IM- und Chat - Systemen existieren Übergänge, so dass auch Kommunikation
mit Nutzern aus anderen oben genannten IM-Diensten möglich ist. Über „Gateways“ erlaubt Jabber die Kommunikation mit Benutzern, die beispielsweise in Systemen wie ICQ
oder YMSG angemeldet sind. Die Verbindung zu den Fremdnetzen ist deshalb möglich, da
die Kommunikation zwischen den Clients durch die Jabber - Server und nicht durch die
Unterstützung der notwendigen Protokolle auf der Clientseite selbst erfolgt.31 Der Anwender sendet demnach seine Nachricht an einen Jabber - Server, von dort aus wird die Nachricht zum Jabber - Gateway weitergeleitet, der die Nachricht letztlich zum Empfänger (z.B.
30
Vgl. Jabber Software Foundation: Jabber - Technical Overview, eingesehen am 4.11.2006:
http://www.jabber.org/about/techover.shtml#clientserver; Chatterjee: Instant Messaging and Presence
Technologies for College Campuses, S. 7.
31
Vgl. o.V.: Jabber; Wimmer, Matthias: Jabber! - Wieso Jabber?, eingesehen am 29.10.2006:
http://matthias.wimmer.name/jabber.xml.
16
Instant Messaging mit Jabber
mittels dem Protokoll OSCAR zu ICQ) übermittelt. Die folgende Grafik veranschaulicht
diesen Übermittlungsweg:32
Abbildung 7: Gateways bei Jabber
3.4 Kritische Würdigung von Jabber
Ein großer Vorteil von Jabber ist, dass es seit Beginn auf einem für die Öffentlichkeit zugänglichem Protokoll, XMPP, basiert. Dass dieses Protokoll zudem auch noch als Standard
der IETF deklariert wurde, ist weiterhin als positiv zu werten. Da neben diesem Protokoll
nur noch SIMPLE als weiterer Standard von der IEFT akzeptiert ist, hat hier Jabber gegenüber allen anderen IM-Systemen bereits einen Vorsprung. Es ist anzunehmen, dass in der
Zukunft die proprietären Protokolle anderer Anbieter, wie ICQ, MSN, YMSG oder AIM,
nicht isoliert fortbestehen können. Es wird, ähnlich wie vor einigen Jahren bei Email, von
den größten Anbietern Druck auf Partner, Zulieferer und Kunden ausgehen, Interoperationalität zu ermöglichen. Dies erfüllt Jabber bereits von Anfang an, da es von Anfang an
möglich war, mit anderen IM-Systemen zu kommunizieren.33 Ob nun SIMPLE oder
XMPP das Rennen machen werden, wird jedoch von vielen verschiedenen weiteren Faktoren abhängen. Eine große Einflussgröße ist hier sicher auch die Lobby, die hinter den verschiedenen Protokollen steht. Da insbesondere Microsoft und IBM hinter SIMPLE stehen,
wird dieses Protokoll wohl trotz seiner späteren Standardisierung auch in Zukunft weiterentwickelt werden, fortbestehen und sich weiter ausbreiten. Als wahrscheinlich gilt, dass
XMPP und SIMPLE nebeneinander existieren werden und Kommunikation untereinander
32
33
o.V.: Jabber.
Vgl. Hildebrand: Nine IM Accounts and Counting, S. 49.
Instant Messaging mit Jabber
17
über Gateways möglich ist.34 Somit hat auch Jabber sehr gute Chancen, sich in dem immer
weiter wachsenden Markt des Instant Messaging und Presence durchzusetzen.
Ein weiterer Vorteil von Jabber ist die relativ hohe Sicherheit. Zum einen bieten die Verschlüsselungen mittels SSL und TLS oder auch die direkte Ende - zu - Ende Verschlüsselung mit OpenPGP Sicherheit bei der Übermittelung der Instant Messages. Zum anderen
ist es aber auch durch die Client-Server Struktur, die bei Jabber meist vorliegt, möglich,
lokale, private Netzwerke (z.B. innerhalb eines Unternehmens) aufzubauen. So können
auch vertrauliche Informationen, ohne dass diese das Netz verlassen, geschützt übertragen
werden.
Durch die Basis XMPP ist Jabber zudem leicht erweiterbar. Der Inhalt der XML - Stanzas
ist reines XML und so können mittels XMPP alle Daten, die in XML repräsentiert werden
können, ausgetauscht werden. Auf diese Weise können eine Vielzahl an Anwendungen
weiterentwickelt werden.35 Eine wichtige Erweiterung, die im Moment jedoch noch getestet wird, ist die Jingle Erweiterung. Sie soll auch Peer - to - Peer Verbindungen und somit
beispielsweise VoIP mittels XMPP ermöglichen.36
All diesen Vorteilen steht jedoch ein Nachteil entgegen: Die Anzahl der Nutzer ist im Gegensatz zu anderen IM-Systemen relativ gering. Gerade die Verbreitung des IM-Systems
(beispielsweise im Freundeskreis) spielt aber für Anwender eine große Rolle, welches System sie selbst präferieren. Diese Tatsache fällt jedoch nicht so sehr ins Gewicht, da bei
Jabber Interoperabilität durch die Gateways zu anderen IM-Systemen gewährleistet ist.
4. Fazit und Ausblick
Diese Arbeit liefert einen Überblick, was Instant Messaging ist und welche unterschiedlichen Instant Messaging Systeme am Markt existieren. Anschließend wird aufgezeigt, wie
diese Systeme von ihrer grundsätzlichen Struktur aufgebaut sind. Übertragungsprotokolle
stellen sich hier als wesentlicher Bestandteil heraus. Sie bestimmen, ob beispielsweise aus
dem IM-System heraus auch mit Anwendern anderer IM-Systeme kommuniziert werden
kann. Die meisten Anbieter am Markt, Jabber ausgenommen, arbeiten mit proprietären
34
Vgl. Eda., S. 49.
Vgl. Meijer: Jabber, E-mail and Beyond, S. 2.
36
Vgl. Ludwig, Scott, Joe Beda, Peter Saint-Andre, Joe Hildebrand, Sean Egan und Robert McQueen: XEP0166: Jingle, eingesehen am 4.11.2006: http://www.xmpp.org/extensions/xep-0166.html.
35
Instant Messaging mit Jabber
18
Protokollen. Diese werden jedoch wohl zukünftig von offenen Protokollen, wie es
SIMPLE und XMPP sind, abgelöst. Daher werden im Folgenden die Protokolle SIMPLE
und XMPP beschrieben und miteinander verglichen. Ein IM-System, das sich bereits mit
einem dieser Protokolle, XMPP, bewährt hat, wird anschließend dargestellt. Dabei werden
insbesondere Clients, Server und Gateways zu anderen IM-Systemen beleuchtet. Die kritische Würdigung von Jabber ergibt, dass der Einsatz dieses IM-Systems kaum Nachteile
mit sich zieht. Es ist davon auszugehen, dass Anwenderzahlen von Jabber weiterhin wachsen werden. Der Trend wird immer deutlicher zu IM-Systemen gehen, die erstens, auf offenen, standardisierten Protokollen basieren und zweitens, dem Benutzer die Kommunikation mit anderen IM-Systemen ermöglichen. Beide Bedingungen erfüllt Jabber.
Auch Instant Messaging generell scheint sich immer weiter zu verbreiten. Die Vorteile der
direkteren Kommunikation zwischen den Anwendern, der aktuellen Informationsübertragung und spamfreien Kommunikation sind wohl die Haupttreiber dafür. Zwar wird IM nie
Emails komplett vom Markt verdrängen, jedoch in einigen Bereichen ablösen.37
Zudem ist davon auszugehen, dass es nicht bei der reinen Kommunikation mit Text zwischen zwei Benutzern bleibt. Die oben erwähnten Entwicklungen in Richtung VoIP zeigen,
dass weitere Anwendungen zu erwarten sind, die über Textübertragung hinausgehen und
sich nicht nur auf die Kommunikation zwischen zwei Personen beziehen. Z.B. könnte es in
Zukunft möglich sein, dass ein Auto seine aktuelle geografische Position an das Garagentor übermittelt, welches sich beim Eintreffen des Autos rechtzeitig öffnet.38
37
38
Vgl. Meijer: Jabber, E-mail and Beyond, S. 4; Hildebrand: Nine IM Accounts and Counting, S.49.
Vgl. Hildebrand: Nine IM Accounts and Counting, S. 50.
Instant Messaging mit Jabber
19
Literaturverzeichnis
Chatterjee, Samir, Tarun Abhichandani, Haiqing Li, Bengisu Tulu und Jongbok Byun:
Instant Messaging and Presence Technologies for College Campuses, in: IEEE
Network, May/June 2005, S. 4–13.
Day, Mark, Jonathan Rosenberg und Hiroyasu Sugano: A Model for Presence and Instant
Messaging, in: IETF RFC 2778 (2000).
Hildebrand, Joe: Nine IM Accounts and Counting, in: Queue, November 2003, S. 44–50.
Jabber Software Foundation: Jabber - Technical Overview, eingesehen am 4.11.2006:
http://www.jabber.org/about/techover.shtml#clientserver.
Jabber Software Foundation, eingesehen am 30.10.2006: www.jabber.org.
Jennings, Raymond B., Erich M. Nahum, David P. Oldhefski, Debanjan Saha, Zon-Yin
Shae und Chris Waters: A Study of Internet Instant Messaging and Chat Protocols,
in: IEEE Network, 20. Jg. (2006), Nr. 4, S. 16–21.
Ludwig, Scott, Joe Beda, Peter Saint-Andre, Joe Hildebrand, Sean Egan und Robert
McQueen: XEP-0166: Jingle, eingesehen am 4.11.2006:
http://www.xmpp.org/extensions/xep-0166.html.
Meijer, Ralph und Peter Saint-Andre: Jabber, E-mail and Beyond, eingesehen am
4.11.2005: http://ralphm.net/publications/nluug_vj05-paper.pdf.
o.V.: Instant Messaging: Yahoo und Microsoft verbinden sich, eingesehen am 5.11.2006:
http://www.golem.de/0609/48056.html.
o.V.: Jabber, eingesehen am 30.10.2006: http://de.wikipedia.org/wiki/jabber.
o.V.: Instant Messaging, eingesehen am 17. 10. 2006:
http://de.wikipedia.org/wiki/Instant_Messaging.
Saint-Andre, Peter: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence, in: IETF RFC 3921 (2004).
Tyson, Jeff: How Instant Messaging Works, eingesehen am 5.11.2006:
http://computer.howstuffworks.com/instant-messaging.htm.
Vaughan-Nichols, Steven J.: Presence Technology: More than Just Instant Messaging, in:
Computer (2003), Nr. October 2003, S. 11–13.
Wimmer, Matthias: Jabber! - Wieso Jabber?, eingesehen am 29.10.2006:
http://matthias.wimmer.name/jabber.xml.