Comunicazione remota asincrona Comunicazione remota asincrona

Transcript

Comunicazione remota asincrona Comunicazione remota asincrona
Comunicazione remota asincrona
di gruppo
Prof. Filippo Lanubile
Comunicazione remota
asincrona di gruppo
• M
Messaggii ((post)
t) su argomenti
ti (thread)
(th d) a cuii partecipano
t i
più
iù
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
Prof. Filippo Lanubile
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
Prof. Filippo Lanubile
SMTP
Simple
Si
l Mail
M il T
Transfer
f Protocol
P t
l
• 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
Prof. Filippo Lanubile
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
grave, fine
trasmissione
E' valido l'userid?
VERIFY
userid
QUIT
Il sender si
disconette
Prof. Filippo Lanubile
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
Prof. Filippo Lanubile
3
Scenario
1) Alice usa il suo agente utente
per comporre il messaggio da
inviare “a”
b b@
[email protected]
h l d
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
Prof. Filippo Lanubile
Sessione SMTP
S:
S
C:
S:
C:
S:
C:
S:
C:
S:
C:
C:
C:
S:
C:
S:
220 h
hamburger.edu
b
d
HELO crepes.fr
250 Hello crepes.fr, pleased to meet you
MAIL FROM: <[email protected]>
250 [email protected]... Sender ok
RCPT TO: <[email protected]>
250 [email protected] ... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Do you like ketchup?
How about pickles?
.
250 Message accepted for delivery
QUIT
221 hamburger.edu closing connection
Prof. Filippo Lanubile
4
SMTP
HTTP
• Interazione
comando/risposta
in ASCII
• Codici di stato
• Interazione
comando/risposta
in ASCII
• Codici di stato
• Push protocol
• Più oggetti
tti in
i un unico
i
messaggio
• Pull protocol
• Ciascun
Ci
oggetto
tt
incapsulato nel suo
messaggio di risposta
Prof. Filippo Lanubile
Formato dei messaggi: RFC 822
• Intestazione
I t t i
(header):
(h d ) iinformazioni
f
i i per il ttrasporto
t o di utilità
tilità
– 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
Prof. Filippo Lanubile
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
From: [email protected]
To: [email protected]
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content Transfer Encoding: base64
Content-Transfer-Encoding:
Content-Type: image/jpeg
Versione MIME
metodo usato
per codificare i dati
Tipo di dati
multimediali, sottotipo,
dichiarazione
dei parametri
Dati codificati
base64 encoded data .....
.........................
......base64 encoded data
Prof. Filippo Lanubile
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
Prof. Filippo Lanubile
6
POP3
IMAP
• Post Office Protocol version
3
• Modalità scarica e cancella
• 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
– 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
Prof. Filippo Lanubile
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
Prof. Filippo Lanubile
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)
Prof. Filippo Lanubile
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
Prof. Filippo Lanubile
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
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
Prof. Filippo Lanubile
Gerarchia dei gruppi
• Gruppi pubblici
–
–
–
–
–
–
alt. (alternative)
rec. (recreation)
comp. (computers)
soc. (society)
misc. (miscellaneous)
…
• Esempi
–
–
–
–
–
–
alt.alcohol
rec.autos.antique
comp.databases
soc.retirement
misc.jobs
…
• Gruppi privati
– microsoft.
– microsoft.public.xml
Prof. Filippo Lanubile
9
From: "Frank Smith"
Formato di
Subject: Setting up news groups in Notes
un articolo:
Date: 15 Jan 2001 00:00:00 GMT
Message-ID:
header
9bx86.47832§[email protected]
<9bx86.47832§[email protected]>
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
X-Complaints-To: [email protected]
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
p
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.lotusProf. Filippo Lanubile
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
Prof. Filippo Lanubile
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
Prof. Filippo Lanubile
Web Forum
• A
Accesso all servizio
i i di di
discussione
i
via
i b
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
Prof. Filippo Lanubile
11