Comunicazione remota asincrona di gruppo Comunicazione remota asincrona di gruppo Messaggi (post) su argomenti (thread) a cui partecipano più persone Modello di comunicazione asincrona I messaggi sono accumulati centralmente e sono visibili a tutti i partecipanti Organizzazione ad albero dei thread e post Il mezzo principale è testuale è possibile comunque allegare documenti binari Tipologia di applicazioni Email e mailing list (lista di distribuzione) USENET (newsgroups) Sistemi di messaggistica strutturati Web forum 1
Email Componenti architetturali: agente utente (mail reader) agente di trasferimento (mail server) Formato dei messaggi: RFC822, MIME Protocolli di trasferimento messaggi: SMTP di accesso alla mailbox: POP, IMAP, HTTP SMTP Simple Mail Transfer Protocol Usa TCP: servizio disponibile alla porta 25 Trasferimento dal trasmittente (mail reader o mail server) al ricevente (mail server) Fasi per il trasferimento Handshaking (saluto) Trasferimento di messaggi Chiusura Interazione comando/risposta Comandi: testo ASCII Risposta: codice di stato ed espressione I messaggi devono essere nel formato ASCII a 7 bit 2
Comandi del trasmittente (client SMTP) Comando argomento Significato HELO Dominio del sender "sono di.uniba.it" MAIL FROM: userid Identifica il sender RCPT TO: userid Identica il receiver DATA Segue il testo <crlf>.<crlf> Fine del testo RESET Errore grave, fine trasmissione VERIFY userid E' valido l'userid? QUIT Il sender si disconette Risposte del ricevente (server SMTP) Reply number Significato 500 Errore sintattico, comando non riconosciuto 220 Pronto a ricevere 221 OK. Chiudo anch'io la connessione 250 OK. Comando completato 354 Inizia a spedirmi il testo 552 Interrompi trasmissione, mancanza di spazio per file 550 Azione non intrapresa, mailbox non disponibile 3
Scenario 1) Alice usa il suo agente utente per comporre il messaggio da inviare a bob@someschool.edub@ 2) L agente utente di Alice invia un messaggio al server di posta di Alice; il messaggio è posto nella coda di messaggi 3) Il lato client di SMTP apre una connessione TCP con il server di posta di Bob 4) Il client SMTP invia il messaggio di Alice sulla connessione TCP 5) Il server di posta di Bob pone il messaggio nella casella di posta di Bob 6) Bob invoca il suo agente utente per leggere il messaggio Sessione SMTP S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 rob@hamburger.edu... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection 4
SMTP Interazione comando/risposta in ASCII Codici di stato Push protocol Più oggetti in un unico messaggio HTTP Interazione comando/risposta in ASCII Codici di stato Pull protocol Ciascun oggetto incapsulato nel suo messaggio di risposta Formato dei messaggi: RFC 822 Intestazione t (header): informazioni i i per il trasporto t o di utilità To: lista di destinatari From: mittente Cc: lista di destinatari per conoscenza Bcc: lista nascosta di destinatari per conoscenza Date: data di spedizione Reply-to: indirizzo diverso dal mittente Subject: titolo del messaggio Keywords non previste sono comunque spedite e interpretate dagli agenti utente: es. Organization: Corpo (body): contenuto del messaggio ASCII a 7 bit 5
Formato dei messaggi: MIME Multipurpose Internet Mail Extensions Regole di codifica per messaggi non solo ASCII Compatibile con il formato RFC 822 Aggiunge nuove keywords all intestazione del messaggio Versione MIME metodo usato per codificare i dati Tipo di dati multimediali, sottotipo, dichiarazione dei parametri Dati codificati From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data.........base64 encoded data Protocolli di accesso alla mailbox SMTP assume che ci sia un SMTP server dalla parte del destinatario e che l agente utente del destinatario possa accedervi Ottenere i messaggi dal server POP, IMAP, HTTP 6
POP3 Post Office Protocol version 3 Modalità scarica e cancella L utente non può rileggere i messaggi da un altro client Modalità scarica e conserva Messaggi anche su più client Utile se l utente usa un solo computer per leggere i messaggi IMAP Interactive Mail Access Protocol L utente organizza i messaggi in cartelle direttamente sul server Possibilità di memorizzare informazioni di stato dei messaggi Utile se l utente legge i messaggi usando computer diversi Mailing list E possibile leggere le discussioni con un email client Realizzano la funzione di discussione in modalità push La mailbox è invasa da annunci e discussioni che non necessariamente interessano I messaggi possono essere archiviati e gli archivi possono essere acceduti via web http://it.groups.yahoo.com http://groups.google.com 7
Mailing list E possibile per il singolo utente iscriversi e ritirare la sottoscrizione con un messaggio di email E possibile per il moderatore filtrare le sottoscrizioni filtrare i messaggi disabilitare l invio di messaggi solo il moderatore può spedirli (newsletters) Newsgroup USENET: sistema distribuito di gruppi di interesse (newsgroup) Network News Transfer Protocol (NNTP): orientato alla connessione (porta 119) Client detto newsreader incluso nei software di email client Server organizzati con un meccanismo di replica dei newsgroup 8
Servizi di newsgroup Un utente può iscriversi a un gruppo e leggere tutti i messaggi scaricati Deve avere configurato il newsreader perchè acceda a un news server Può sottoscrivere automaticamente tramite pagina web con URL news: E possibile accedere mediante browser http://groups.google.com Un utente può anche scrivere un nuovo messaggio e spedirlo al gruppo Tutti coloro che hanno sottoscritto al gruppo possono leggerlo Gerarchia dei gruppi Gruppi pubblici alt. (alternative) rec. (recreation) comp. (computers) soc. (society) misc. (miscellaneous) Gruppi privati microsoft. Esempi alt.alcohol rec.autos.antique comp.databases soc.retirement misc.jobs microsoft.public.xml 9
From: "Frank Smith" Subject: Setting up news groups in Notes Date: 15 Jan 2001 00:00:00 GMT Message-ID: Formato di un articolo: header <9bx86.47832 ge4.18840017@news2.rdc2.tx.home.com> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 X-Complaints-To: abuse@home.net X-Trace: news2.rdc2.tx.home.com 979541829 24.11.188.196 (Sun, 14 Jan 2001 22:57:09 PST) Organization: Excite@Home - The Leader in Broadband http://home.com/faster X-MSMail-Priority: Normal NNTP-Posting-Date: Sun, 14 Jan 2001 22:57:09 PST Newsgroups: comp.groupware.lotus-notes,comp.groupware.lotusnotes.admin,comp.groupware.lotusnotes.apps,comp.groupware.lotusnotes.misc,comp.groupware.lotus- notes.programm,comp.groupware.lotus-notes.programmer News storiche 6 Aug 1991: Tim Berners-Lee annuncia il World Wide Web http://groups.google.com/group/alt.hypertext/msg/395f282a67a1916c 25 Aug 1991: Linus Torvalds annuncia il progetto Linux http://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b 15 Mar 1993: Marc Andreessen annuncia Mosaic http://groups.google.com/group/comp.windows.x/msg/7fde2f6d4d5dc4e7 10
Sistemi di messaggistica strutturati Messaggi come record di database Lotus Notes/Domino Notes è il client funzioni di email, calendario, pianificazione e altre applicazioni collaborative personalizzate Domino è il server Mail server, Application Server per applicazioni Lotus Notes, Web server Web Forum Accesso al servizio i di discussione i via browser ma anche possibilità di sottoscrivere discussioni con notifiche via email Funzionalità consuete come inserire messaggi in discussioni già aperte creare nuove discussioni Funzionalità peculiari come Leggi discussioni attive Nuovi messaggi dall ultimo accesso Leggi discussioni recenti Ultimi 10, 20, 30, messaggi 11