Jabber
Sistema di messaggistica istantanea


             Rosario Esposito1
         Francesco Maria Taurino1,2
             Gennaro Tortone1


                INFN - Napoli1
              INFM - UDR Napoli2



        Workshop CCR 2003 – Paestum
Messaggi istantanei

I sistemi di messaggistica istantanea (IM) permettono agli
utenti di determinare se un altro utente, amico o collega,
e' “on line”, e di scambiare con questo messaggi o file
istantaneamente.


Combinano quindi l'urgenza di una telefonata con le
funzionalita' della posta elettronica.



                         CCR 2003 – Paestum               2
Servizi di IM

Molti dei sistemi IM piu' popolari forniscono una vasta
serie di servizi:
   Instant messaging – spedizione e ricezione di messaggi
    istantanei
   Chat – creazione di chat room
   File – scambio di file fra gli utenti
   Talk – comunicazione vocale su Internet



                           CCR 2003 – Paestum                3
Jabber (1/2)

   Jabber e' una piattaforma indipendente              di
    messaggisitica basata su XML e con licenza GPL
   Jabber e' un sistema distribuito, in cui server Jabber
    indipendenti accettano messaggi dai client e li
    trasferiscono ad altri server
   Alcuni server Jabber possono diventare gateway
    verso altri sistemi IM (ICQ, AOL, M$ Messenger)



                         CCR 2003 – Paestum              4
Jabber (2/2)

Una tipica architettura Jabber consiste di 3
componenti

      Client Jabber
      Server Jabber
      Transports


                       CCR 2003 – Paestum      5
Client Jabber

   Un client puo' essere un qualunque applicativo
    capace di comunicazioni TCP/IP
   I client comunicano direttamente con i server
    scambiando messaggi in formato XML
   Sono disponibili client evoluti e ricchi di features
    per tutti i piu' diffusi sistemi operativi



                        CCR 2003 – Paestum             6
Server Jabber

   Permette la registrazione e l'autenticazione degli
    utenti
   Conserva i messaggi per gli utenti off-line
   Conserva le contact list e i settaggi degli utenti
    in oggetti XML chiamati “roster”
   Utilizza il DNS per localizzare gli altri server
    Jabber, oppure i “Transports” per i server di altri
    sistemi IM
                        CCR 2003 – Paestum            7
Jabber Transports

   I “Transports” di Jabber permettono le
    comunicazioni      verso server    non-jabber,
    permettendo agli utenti di ricevere e spedire
    messaggi da e verso i sistemi IM proprietari,
    come ICQ, Yahoo, AOL
   Trasformano i messaggi da XML nei formati
    proprietari e viceversa


                      CCR 2003 – Paestum         8
Jabber: Architettura                      (1/2)



       Ricalca la struttura del sistema di posta elettronica
            jabber.mydomain.it                                jabber.otherdomain.org




                                    INTERNET

me@jabber.mydomain.it                                         friend@jabber.otherdomain.org


                                 CCR 2003 – Paestum                                    9
Jabber: Architettura                     (2/2)



   L'utente Me@jabber.mydomain.it invia un IM a
    friend@jabber.otherdomain.org
   Il messaggio e' gestito dal server
    jabber.mydomain.it
   jabber.mydomain.it apre una connessione verso il
    server jabber.otherdomain.org e gli consegna il
    messaggio
   jabber.otherdomain.org consegna il messaggio
    all'utente friend@jabber.otherdomain.org
                         CCR 2003 – Paestum           10
Jabber ID

   Gli ID di Jabber sono molto simili agli indirizzi di
    posta elettronica e sono espressi nel formato
        user@jabber.mydomain.it
   Gli utenti dei sistemi IM non jabber possono essere
    raggiunti anteponendo il transport al nome del
    server
    Esempio:
        123456@ICQ.jabber.mydomain.it


                          CCR 2003 – Paestum               11
Presenza

   Gli utenti decidono la loro “presenza” sulla rete.
    Possono decidere se essere disponibili, occupati,
    lontani dal pc, invisibili
   E' possibile permettere o meno a determinati
    utenti di conoscere il proprio stato sulla rete
   E' possibile personalizzare lo stato della “presenza”
    con informazioni come la localita', l'attiviata'
    attuale, la disponibilita' alle chat


                         CCR 2003 – Paestum                 12
Roster

   I roster, che alcuni IM chiamano anche “buddy list”,
    sono le liste degli utenti e delle autorizzazioni che
    risiedono sui server Jabber
   Un utente puo' accedere al proprio roster da tutti
    i client
   Vengono salvati in file XML o in database SQL, ma
    resi disponibili SOLTANTO in XML



                         CCR 2003 – Paestum              13
Chat room

   Con alcune implementazioni di server Jabber e'
    possibile creare delle chat room
   Sono “stanze” simili ai canali IRC, in cui i messaggi
    fra gli utenti sono resi immediatamente visibili a
    tutti i presenti nella “stanza”
   E' una opzione disponibile per alcuni server
   Richiedono poca banda in piu' rispetto alle
    connessioni uno a uno

                          CCR 2003 – Paestum                14
Sicurezza

   Le connessioni verso i server Jabber sono
    tipicamente in chiaro
   E' possibile utilizzare SSL
   Le password possono essere spedite in chiaro
    oppure utilizzare MD5 o SHA1
   La connessione sempre attiva garantisce la sessione
    corrente con il server


                           CCR 2003 – Paestum         15
Il protocollo Jabber

   XMPP : Extensible Messaging and Presence Protocol
   E' una delle proposte fatte all' IETF per la
    standardizzazione dei protocolli di IM
   Definisce regole sugli stream XML, i tipi di dati, le
    registrazioni, la gestione dei roster, i trasferimenti di
    file, le chat multi user, le comunicazioni server to
    server, la presenza



                          CCR 2003 – Paestum               16
JabberD

   E' la prima implementazione open source di un
    server Jabber
   Le prime versioni risalgono al gennaio 1999
   La versione attuale 1.4.2 e' quella di riferimento
   La versione 2 e' attualmente in alfa
   Features aggiuntive, come chat, user directory,
    transports, NON fanno parte dello sviluppo del
    server

                         CCR 2003 – Paestum              17
JabberD - Requirements

   Linux, *BSD, AIX, Solaris, Mac OSX, Windows
   Per 500 utenti connessi contemporaneamente
    e' sufficiente un PII 400 con 512 MB di ram
   Una connessione tipica richiede 15 bps, quindi
    1000 utenti = 15 kbps
   Su router/firewall : porte 5222 e 5223 per le
    connessioni client to server e 5269 per quelle
    server to server

                        CCR 2003 – Paestum           18
JabberD – Add on

   Mu-conference – Multi User conference
   Jud – Jabberd User Directory (permette di cercare
    gli utenti registrati su un server)
   JIT – Jabber ICQ Transport
   MSN-tng – MSN Transport
   Sono disponibili altri transport per gli IM piu'
    diffusi, ma sono ancora molto instabili


                         CCR 2003 – Paestum             19
Alcuni Client

   Gabber – http://gabber.sf.net
   Gaim (multiprotocol) – http://gaim.sf.net
   Kopete (multiprotocol) – http://kopete.kde.org
   PSI (multiplatform) – http://psi.affinix.com
   TkAbber (multiplatform) – http://tkabber.jabber.ru
   Exodus (windows) – http://exodus.jabberstudio.org
   Yabber (windows) – http://www.yabber.org


                         CCR 2003 – Paestum          20
Screenshot


       Exodus



                     Kopete
                          JABBER

                            ICQ

                            MSN


             CCR 2003 – Paestum    21
Altre applicazioni di Jabber

   La piattaforma Jabber e' molto flessibile ed e'
    utilizzabile in ambienti diversi dall'IM
   E' possibile creare applicazioni che si registrano sui
    server Jabber e utilizzano questo protocollo basato
    su XML per scambiarsi messaggi relativi al loro stato
   Esempio : controllare lo stato di un apparato che
    invia messaggi di presenza verso un server Jabber



                         CCR 2003 – Paestum             22
Non solo PHONE

   L'utility phone del VMS permetteva di raggiungere
    “istantaneamente” i nostri colleghi delle altre sedi
   Jabber fornisce questa funzionalita', e non e' legato
    al login su macchine centrali
   Permette di “esserci”, di essere raggiungibili anche
    se si e' fuori in missione, magari aggiungendo al
    nostro stato di presenza la localita' in cui ci
    troviamo


                         CCR 2003 – Paestum                23
jabber.na.infn.it (1/2)

   E' un jabber server con iscrizione aperta, ed e' stato
    testato con diversi client su diverse piattaforme
   Attualmente e' configurato per utilizzare le
    connessioni in chiaro, ma verra' a breve reinstallato
    per utilizzare SSL
   Sono stati integrati gli add-on per la user directory
    e la multi-user conference



                         CCR 2003 – Paestum              24
jabber.na.infn.it (2/2)

   Potrebbe essere un utile strumento di
    collaborazione, con la possibilita' di conoscere lo
    stato dei nostri colleghi e di scambiare con loro
    messaggi, porzioni di codice, file, richieste e/o
    consigli, con una efficienza a volte superiore alla
    posta elettronica




                         CCR 2003 – Paestum               25

More Related Content

PDF
zeroconf
PDF
6 Dns Parte1
PPT
2 Protocolli Applicativi
PDF
9 Ftp Telnet Email
PPT
9 Intranetting
PDF
1 Reti E Protocolli
PDF
5 Trasporto Affidabile Teoria
PPT
11 Evoluzione
zeroconf
6 Dns Parte1
2 Protocolli Applicativi
9 Ftp Telnet Email
9 Intranetting
1 Reti E Protocolli
5 Trasporto Affidabile Teoria
11 Evoluzione

What's hot (6)

PPTX
Le reti - Come il nostro PC è connesso con la Internet.
PDF
MPLS nelle (grandi) reti Enterprise
PDF
Meccanismi per la cooperazione e la prelazione dell'I/O nel kernel Linux
PDF
Sistemi distribuiti
PDF
5 Protocolli Trasporto Parte2
PPT
10 Reti Accesso
Le reti - Come il nostro PC è connesso con la Internet.
MPLS nelle (grandi) reti Enterprise
Meccanismi per la cooperazione e la prelazione dell'I/O nel kernel Linux
Sistemi distribuiti
5 Protocolli Trasporto Parte2
10 Reti Accesso
Ad

Viewers also liked (9)

PDF
APT per RPM
PPT
Design and implementation of a reliable and cost-effective cloud computing in...
PDF
AAI Locale
PPT
Unattended
PDF
Open Security
PDF
Proposte (informatiche) per il comune di Santa Maria Capua Vetere
PDF
Excelsior 2009
PDF
AAI Nazionale
PDF
ClearOS - Linux Small Business Server
APT per RPM
Design and implementation of a reliable and cost-effective cloud computing in...
AAI Locale
Unattended
Open Security
Proposte (informatiche) per il comune di Santa Maria Capua Vetere
Excelsior 2009
AAI Nazionale
ClearOS - Linux Small Business Server
Ad

Similar to Jabber (20)

PDF
Introduzione ai Web Services
PPT
Confronto fra web services framework (open source)
PPT
Presentazione Wap Vs I Mode
PPT
Posta Elettronica E Www
PPT
J2Me Il Micro Mondo Java
PPT
$Rzgejzw
PDF
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...
PDF
Corso web services
PPTX
Reti di computer
PDF
Elaborato WebRTC
PDF
Il web e la sua evoluzione
PPTX
Introduzione ai protocolli tcp/ip ed al Domain Name System
PDF
Aspetto sociale del p2p
PDF
Web services
PPTX
Dot net framework 2
PDF
[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...
PDF
Networking Hand Vocabulary Book
PDF
Network essentials
PDF
Sistemi Middleware - Communications
Introduzione ai Web Services
Confronto fra web services framework (open source)
Presentazione Wap Vs I Mode
Posta Elettronica E Www
J2Me Il Micro Mondo Java
$Rzgejzw
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...
Corso web services
Reti di computer
Elaborato WebRTC
Il web e la sua evoluzione
Introduzione ai protocolli tcp/ip ed al Domain Name System
Aspetto sociale del p2p
Web services
Dot net framework 2
[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over...
Networking Hand Vocabulary Book
Network essentials
Sistemi Middleware - Communications

More from Francesco Taurino (20)

ODP
La mia nuvola in azienda o a casa
PDF
Da 0 all'open per PA e PMI
PDF
LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...
PDF
Francesco M. Taurino - Relazione tecnica e pubblicazioni
PDF
Presentazione del nuovo sito web del Comune di Santa Maria Capua Vetere
PDF
Open Source
PDF
Applicazioni open source
PDF
Una rete aziendale con Linux
PDF
Xen e OpenVirtuozzo
PDF
Back to Mainframe
PPT
PDF
Redhat RHCE Certification
PDF
PfSense Cluster
PDF
Monitoraggio ambientale a basso costo - 2
La mia nuvola in azienda o a casa
Da 0 all'open per PA e PMI
LPPP - Linux Per le PMI (piccole e medie imprese) e la PA (Pubblica Amministr...
Francesco M. Taurino - Relazione tecnica e pubblicazioni
Presentazione del nuovo sito web del Comune di Santa Maria Capua Vetere
Open Source
Applicazioni open source
Una rete aziendale con Linux
Xen e OpenVirtuozzo
Back to Mainframe
Redhat RHCE Certification
PfSense Cluster
Monitoraggio ambientale a basso costo - 2

Jabber

  • 1. Jabber Sistema di messaggistica istantanea Rosario Esposito1 Francesco Maria Taurino1,2 Gennaro Tortone1 INFN - Napoli1 INFM - UDR Napoli2 Workshop CCR 2003 – Paestum
  • 2. Messaggi istantanei I sistemi di messaggistica istantanea (IM) permettono agli utenti di determinare se un altro utente, amico o collega, e' “on line”, e di scambiare con questo messaggi o file istantaneamente. Combinano quindi l'urgenza di una telefonata con le funzionalita' della posta elettronica. CCR 2003 – Paestum 2
  • 3. Servizi di IM Molti dei sistemi IM piu' popolari forniscono una vasta serie di servizi:  Instant messaging – spedizione e ricezione di messaggi istantanei  Chat – creazione di chat room  File – scambio di file fra gli utenti  Talk – comunicazione vocale su Internet CCR 2003 – Paestum 3
  • 4. Jabber (1/2)  Jabber e' una piattaforma indipendente di messaggisitica basata su XML e con licenza GPL  Jabber e' un sistema distribuito, in cui server Jabber indipendenti accettano messaggi dai client e li trasferiscono ad altri server  Alcuni server Jabber possono diventare gateway verso altri sistemi IM (ICQ, AOL, M$ Messenger) CCR 2003 – Paestum 4
  • 5. Jabber (2/2) Una tipica architettura Jabber consiste di 3 componenti  Client Jabber  Server Jabber  Transports CCR 2003 – Paestum 5
  • 6. Client Jabber  Un client puo' essere un qualunque applicativo capace di comunicazioni TCP/IP  I client comunicano direttamente con i server scambiando messaggi in formato XML  Sono disponibili client evoluti e ricchi di features per tutti i piu' diffusi sistemi operativi CCR 2003 – Paestum 6
  • 7. Server Jabber  Permette la registrazione e l'autenticazione degli utenti  Conserva i messaggi per gli utenti off-line  Conserva le contact list e i settaggi degli utenti in oggetti XML chiamati “roster”  Utilizza il DNS per localizzare gli altri server Jabber, oppure i “Transports” per i server di altri sistemi IM CCR 2003 – Paestum 7
  • 8. Jabber Transports  I “Transports” di Jabber permettono le comunicazioni verso server non-jabber, permettendo agli utenti di ricevere e spedire messaggi da e verso i sistemi IM proprietari, come ICQ, Yahoo, AOL  Trasformano i messaggi da XML nei formati proprietari e viceversa CCR 2003 – Paestum 8
  • 9. Jabber: Architettura (1/2) Ricalca la struttura del sistema di posta elettronica jabber.mydomain.it jabber.otherdomain.org INTERNET me@jabber.mydomain.it friend@jabber.otherdomain.org CCR 2003 – Paestum 9
  • 10. Jabber: Architettura (2/2)  L'utente Me@jabber.mydomain.it invia un IM a friend@jabber.otherdomain.org  Il messaggio e' gestito dal server jabber.mydomain.it  jabber.mydomain.it apre una connessione verso il server jabber.otherdomain.org e gli consegna il messaggio  jabber.otherdomain.org consegna il messaggio all'utente friend@jabber.otherdomain.org CCR 2003 – Paestum 10
  • 11. Jabber ID  Gli ID di Jabber sono molto simili agli indirizzi di posta elettronica e sono espressi nel formato user@jabber.mydomain.it  Gli utenti dei sistemi IM non jabber possono essere raggiunti anteponendo il transport al nome del server Esempio: 123456@ICQ.jabber.mydomain.it CCR 2003 – Paestum 11
  • 12. Presenza  Gli utenti decidono la loro “presenza” sulla rete. Possono decidere se essere disponibili, occupati, lontani dal pc, invisibili  E' possibile permettere o meno a determinati utenti di conoscere il proprio stato sulla rete  E' possibile personalizzare lo stato della “presenza” con informazioni come la localita', l'attiviata' attuale, la disponibilita' alle chat CCR 2003 – Paestum 12
  • 13. Roster  I roster, che alcuni IM chiamano anche “buddy list”, sono le liste degli utenti e delle autorizzazioni che risiedono sui server Jabber  Un utente puo' accedere al proprio roster da tutti i client  Vengono salvati in file XML o in database SQL, ma resi disponibili SOLTANTO in XML CCR 2003 – Paestum 13
  • 14. Chat room  Con alcune implementazioni di server Jabber e' possibile creare delle chat room  Sono “stanze” simili ai canali IRC, in cui i messaggi fra gli utenti sono resi immediatamente visibili a tutti i presenti nella “stanza”  E' una opzione disponibile per alcuni server  Richiedono poca banda in piu' rispetto alle connessioni uno a uno CCR 2003 – Paestum 14
  • 15. Sicurezza  Le connessioni verso i server Jabber sono tipicamente in chiaro  E' possibile utilizzare SSL  Le password possono essere spedite in chiaro oppure utilizzare MD5 o SHA1  La connessione sempre attiva garantisce la sessione corrente con il server CCR 2003 – Paestum 15
  • 16. Il protocollo Jabber  XMPP : Extensible Messaging and Presence Protocol  E' una delle proposte fatte all' IETF per la standardizzazione dei protocolli di IM  Definisce regole sugli stream XML, i tipi di dati, le registrazioni, la gestione dei roster, i trasferimenti di file, le chat multi user, le comunicazioni server to server, la presenza CCR 2003 – Paestum 16
  • 17. JabberD  E' la prima implementazione open source di un server Jabber  Le prime versioni risalgono al gennaio 1999  La versione attuale 1.4.2 e' quella di riferimento  La versione 2 e' attualmente in alfa  Features aggiuntive, come chat, user directory, transports, NON fanno parte dello sviluppo del server CCR 2003 – Paestum 17
  • 18. JabberD - Requirements  Linux, *BSD, AIX, Solaris, Mac OSX, Windows  Per 500 utenti connessi contemporaneamente e' sufficiente un PII 400 con 512 MB di ram  Una connessione tipica richiede 15 bps, quindi 1000 utenti = 15 kbps  Su router/firewall : porte 5222 e 5223 per le connessioni client to server e 5269 per quelle server to server CCR 2003 – Paestum 18
  • 19. JabberD – Add on  Mu-conference – Multi User conference  Jud – Jabberd User Directory (permette di cercare gli utenti registrati su un server)  JIT – Jabber ICQ Transport  MSN-tng – MSN Transport  Sono disponibili altri transport per gli IM piu' diffusi, ma sono ancora molto instabili CCR 2003 – Paestum 19
  • 20. Alcuni Client  Gabber – http://gabber.sf.net  Gaim (multiprotocol) – http://gaim.sf.net  Kopete (multiprotocol) – http://kopete.kde.org  PSI (multiplatform) – http://psi.affinix.com  TkAbber (multiplatform) – http://tkabber.jabber.ru  Exodus (windows) – http://exodus.jabberstudio.org  Yabber (windows) – http://www.yabber.org CCR 2003 – Paestum 20
  • 21. Screenshot Exodus Kopete JABBER ICQ MSN CCR 2003 – Paestum 21
  • 22. Altre applicazioni di Jabber  La piattaforma Jabber e' molto flessibile ed e' utilizzabile in ambienti diversi dall'IM  E' possibile creare applicazioni che si registrano sui server Jabber e utilizzano questo protocollo basato su XML per scambiarsi messaggi relativi al loro stato  Esempio : controllare lo stato di un apparato che invia messaggi di presenza verso un server Jabber CCR 2003 – Paestum 22
  • 23. Non solo PHONE  L'utility phone del VMS permetteva di raggiungere “istantaneamente” i nostri colleghi delle altre sedi  Jabber fornisce questa funzionalita', e non e' legato al login su macchine centrali  Permette di “esserci”, di essere raggiungibili anche se si e' fuori in missione, magari aggiungendo al nostro stato di presenza la localita' in cui ci troviamo CCR 2003 – Paestum 23
  • 24. jabber.na.infn.it (1/2)  E' un jabber server con iscrizione aperta, ed e' stato testato con diversi client su diverse piattaforme  Attualmente e' configurato per utilizzare le connessioni in chiaro, ma verra' a breve reinstallato per utilizzare SSL  Sono stati integrati gli add-on per la user directory e la multi-user conference CCR 2003 – Paestum 24
  • 25. jabber.na.infn.it (2/2)  Potrebbe essere un utile strumento di collaborazione, con la possibilita' di conoscere lo stato dei nostri colleghi e di scambiare con loro messaggi, porzioni di codice, file, richieste e/o consigli, con una efficienza a volte superiore alla posta elettronica CCR 2003 – Paestum 25