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.