Lucidi

Transcript

Lucidi
La posta
elettronica
Internet: tipologia dei servizi
Possiamo classificare i servizi offerti da Internet ai suoi
utenti "normali" in base al fatto che un servizio sia sincrono
o asincrono
Un servizio è sincrono se richiede l'interattività simultanea
tra i processi distribuiti su host della rete
è basato sulla nozione di sessione
Un servizio è asincrono se non richiede interattività
simultanea tra i processi coinvolti
02/03/06
2
Esempi
Servizi
tracciamento
comunicazione
asincroni
finger
sincroni
ping
e-mail
chat
navigazione
ftp, WWW
Napster
B2C
e-commerce
02/03/06
3
Comunicare in rete: E-mail
Un sistema di posta elettronica (e-mail) permette
comunicazione asincrona uno-a-uno o uno-a-molti
(mediante mailing list)
Per poter comunicare per posta elettronica su Internet
occorre avere un indirizzo di posta elettronica
Un indirizzo di posta elettronica di solito ha la forma
nome@indirizzo-dominio-di-internet
Esempio: [email protected]
02/03/06
4
Indirizzi e-mail
Il fornitore della connettività TCP/IP (Internet Service
Provider) fornisce anche un indirizzo di email
Si usa un indirizzo offerto da un altro fornitore (es.
hotmail.com)
Chi fornisce indirizzi di e-mail deve affrontare tre aspetti:
banda di comunicazione verso Internet e verso gli utenti
tempo di calcolo dei processi serventi le mailbox
spazio su disco per memorizzare i messaggi
02/03/06
5
E-mail: una piccola storia
Il primo sistema di posta elettronica si basava sul solo
trasferimento di file (FTP)
la prima linea di ogni msg conteneva l'indirizzo del
destinatario
02/03/06
6
Problemi
Inviare un messaggio ad un gruppo di persone era
scomodo.
I messaggi non avevano una struttura interna, rendendo
difficile l'elaborazione automatica.
Il mittente non sapeva mai se un messaggio era arrivato.
L'interfaccia utente era integrata in maniera primitiva con il
sistema di trasmissione, richiedendo agli utenti dapprima di
editare un file, quindi di lasciare l'editor per poi invocare il
programma di trasmissione.
02/03/06
7
Altri problemi
Non era possibile creare ed inviare messaggi che
contenessero contemporaneamente testo, grafica e suono
Nel 1982 furono pubblicate le proposte RFC 821 (protocollo
di trasmissione) e RFC 822 (formato dei messaggi).
Da allora queste sono lo standard Internet de facto
02/03/06
8
E-mail: Componenti
Per usare il servizio di posta elettronica di Internet occorre:
1. User agent per leggere o scrivere i messaggi
2. Server per trasmettere messaggi
3. Server per leggere la propria mailbox
02/03/06
9
SMTP
SMTP (Simple Mail Transfer Protocol) è il protocollo di
Internet per instradare la posta elettronica; anche i server
SMTP sono di solito protetti da password, ma non sempre
Protocolli per la lettura dei messaggi dalle mailbox: POP3 e
IMAP
02/03/06
10
Electronic Mail
outgoing
message queue
user mailbox
user
agent
Tre componenti:
1. user agent
2. mail server
3. simple mail transfer protocol:
smtp
User Agent
Funzionalità: per leggere,
editare ed inviare mail
Eudora, Outlook, mutt,
Netscape Messenger
Messaggi sono memorizzati
nel server
02/03/06
mail
server
user
agent
SMTP
SMTP
SMTP
mail
server
mail
server
user
agent
user
agent
user
agent
user
agent
11
E-Mail: mail server
outgoing
message queue
user mailbox
user
agent
Mail Server
mailbox contiene i msg
non ancora letti degli
utenti
message coda dei msg
da inviare
Smtp: protocollo di
comunicazione tra i mail
server
mail
server
user
agent
SMTP
SMTP
SMTP
mail
server
mail
server
user
agent
user
agent
user
agent
user
agent
02/03/06
12
E-Mail: smtp [RFC 821]
Basato su tcp per avere un trasferimento affidabile delle
mail, la porta 25 è la porta di default
Trasferimento diretto tra i server coinvolti effettuato in tre
passi denominati:
handshaking (greeting)
transfer
closure
Modalità di interazione: command/response
command: testo in formato ASCII
response: status code e testo
Messaggi sono codificati in 7-bit ASCII
02/03/06
13
Scenario: Alice e Bob
4) SMTP (lato cliente) trasmette
il messaggio di Alice sulla
connessione TCP
5) Il mailserver di Bob
memorizza il messaggio
nella mailbox di Bob
6) Bob legge il messaggio
tramite il suo user agent
1) Alice vuole inviare una e-mail
a [email protected]
2) Messsaggio è inserito nella
coda del mail server
3) SMTP (lato cliente) apre una
connessione TCP con il mail
server di Bob
1
user
agent
02/03/06
2
mail
server
3
mail
server
4
5
6
user
agent
14
Esempio di interazione smtp
S:
C:
S:
C:
S:
C:
S:
C:
S:
C:
C:
C:
S:
C:
S:
02/03/06
220 hamburger.edu
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
15
Piccola esercitazione
telnet server_di_posta 25
220 reply from server
Digitare i comandi HELO, MAIL FROM, RCPT TO,
DATA, QUIT
02/03/06
16
smtp
smtp utilizza connessioni
persistenti
Smtp: formato dei messaggi
(header & body) in 7-bit
ascii
Caratteri non permessi
(e.g., CRLF.CRLF). Codifica
dei messaggi (in base-64 o
quoted printable)
smtp server: utilizza
CRLF.CRLF per indicare la
fine del msg
02/03/06
Smtp vs http
http: pull
email: push
Interazione ASCII di tipo
command/response + status
codes
http: ogni oggetto è
incapsulato nella risposta
smtp: multipart message
con oggetti multipli (eg
attachment)
17
Mail: formato dei messaggi
smtp: RFC 822:
header lines
header
To:
From:
Subject:
Non sono i comandi smtp!
blank
line
body
body
Solo formato ASCII
02/03/06
18
Formato
To: Indirizzo per destinatario primario
Cc: Indirizzo per destinatario secondario
Bcc: Indirizzo "invisibile" agli altri ("blind cc")
From: Persona che ha creato il msg
Sender:Indirizzo elettronico del vero mittente
Received: Ogni entità sul routing si identifica
Return-Path: Individua un routing verso il mittente
Date: Data e ora in cui il msg è stato inviato
Reply-To: Indirizzo al quale inviare le risposte
Message-Id: Identificativo del messaggio
In-Reply-To: Message-Id del msg cui si sta rispondendo
References: Altri Message-Id importanti
Keywords: Parole chiave scelte dall'utente
Subject: Sommario del msg (su una sola linea)
02/03/06
19
MIME: multimedia extensions
MIME: multimedia mail extension, RFC 2045, 2056
Campi addizionali presenti per la dichiarazione dei MIME
content type
MIME version
Metodo di codifica
Dati multimediali
type, subtype,
parameter
Dati codificati
02/03/06
From: [email protected]
To: [email protected]
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
20
MIME types
Content-Type: type/subtype; parameters
Text
subtypes: plain,
html
Image
subtypes: jpeg, gif
Audio
subtypes: basic (8-bit
coding), 32kadpcm
(32 kbps coding)
02/03/06
Video
subtypes: mpeg,
quicktime
Applications
Invocate per rendere
“ viewable” questi tipi
subtypes: msword,
octet-stream
21
Multipart Type Message
From: [email protected]
To: [email protected]
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=98766789
--98766789
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain
Dear Bob,
Please find a picture of a crepe.
--98766789
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
--98766789--
02/03/06
22
E-Mail: protocolli di accesso
SMTP
SMTP
POP3 or
IMAP or
HTTP
user
agent
mail
server
user
agent
mail
server
Mail access protocol:
POP: Post Office Protocol [RFC 1939]
authorization (agent <-->server) and download
IMAP: Internet Mail Access Protocol [RFC 1730]
Maggiori funzionalità
Manipolazione dei msgs memorizzati nel server
HTTP: Hotmail , Yahoo! Mail, etc.
02/03/06
23
POP3
authorization phase
client:
user: username
pass: password
Server:
+OK
-ERR
transaction phase, client:
list: list (message
numbers)
retr: retrieve message
dele: delete
quit
02/03/06
S:
C:
S:
C:
S:
+OK POP3 server ready
user alice
+OK
pass hungry
+OK user successfully logged
S:
S:
S:
C:
S:
S:
C:
C:
S:
S:
C:
C:
S:
list
1 498
2 912
.
retr 1
<message 1 contents>
.
dele 1
retr 2
<message 1 contents>
.
dele 2
quit
+OK POP3 server signing off
C:
on
24
IMAP
Un protocollo più sofisticato di POP è IMAP (Interactive Mail
Access Protocol - RFC 1064), che è utile per chi vuole
gestire la posta da computer diversi (esempi: famiglia, o
utente "ubiquo")
In questo caso il mail server conserva un deposito centrale
accessibile da qualsiasi macchina cliente.
A differenza di POP3, IMAP non copia la posta sulla
macchina personale dell'utente perché questi può usarne
parecchie: la gestione è quindi on-line (più costosa)
02/03/06
25
Esempio d'uso
Client IMAP4
(es. Outlook a casa)
Client POP3
(es. Outlook a casa)
POP3
Server POP3
(lato provider)
02/03/06
IMAP4
SMTP
Server IMAP4
(lato provider)
26
POP3 vs IMAP
POP3
Standard: modalità
“ download and delete” .
L’ utente non puo’
leggere nuovamente i
msg se cambia il mail
reader
Modalità “ Downloadand-keep” : copie dei
msg su clienti diversi
POP3 è un protocollo
stateless
02/03/06
IMAP
I msg sono sempre sul
server
Utente puo’
organizzare i msg in
folder
IMAP è un protocollo
con stato (eg., nomi dei
folder, filtri)
27
E-mail: gestione
Uno strumento prezioso per molti utenti è la capacità di
impostare dei filtri. Un filtro è un insieme di regole che
vengono verificate dal cliente quando arriva un messaggio
Una regola (per TDB) potrebbe dire per esempio che
qualsiasi msg proveniente da [email protected] va salvato
in un file particolare (...oppure va eliminato
automaticamente!)
Esempio: if from contains [email protected] then save
mail/corsi/TBD
02/03/06
28
E-mail: gestione
Un filtro è un esempio di funzionalità lato client. In alcuni
casi è possibile attivare funzionalità lato server (cioè on line)
Una funzione utile di questo tipo è il forwarding, cioè la
capacità di reistradare la posta in arrivo ad un indirizzo
differente.
Un'altra funzione lato server è il demone di vacanza, che in
assenza del destinatario risponde a tutti i msg con un msg
predefinito
02/03/06
29
Mailing List
Una mailing list è un servizio di comunicazione uno-a-molti
che si basa sulla e-mail
A.Word.A.Day (www.wordsmith.org/awad) è una mailing list
(~550.000 persone in più di 200 nazioni) che spedisce un msg
al giorno. Il msg spiega la definizione e l'uso di una parola
inglese
Le mailing list possono essere gestite:
manualmente, da un moderatore che mantiene una lista di
indirizzi di posta elettronica (di solito lato client)
automaticamente, da un servizio (di solito listserv o
majordomo) che accetta iscrizioni via e-mail
02/03/06
30
Gestire la propria e-mail
Usare i nickname e gli alias
Usare i file di firma automatica (signature)
Evitare di far crescere troppo il file di mailbox
Usare le ricerche per header e per contenuto
Non usare lo stesso Subject per tutti i msg
Attenzione ai filtri automatici
Imparare a gestire la posta off line
02/03/06
31
Netiquette
T.Mandel and G.Van der Leun, Rules for the Net, 1996
(Trad It, Galateo Per Internet, Bompiani 1998)
Le regole di netiquette per email sono formalizzate in:
RFC 1855 Netiquette guidelines
RFC 2635 Set of guidelines for mass unsolicited mailings
Rispettivamente disponibili in
http://www.ietf.org/rfc/rfc1855.txt
http://www.ietf.org/rfc/rfc2635.txt
02/03/06
32
Netiquette
Quando si accede Internet da un ufficio, verificare con il
datore di lavoro la questione della proprietà dei messaggi,
perché le leggi al riguardo variano da luogo a luogo
A meno che non si usi un filtro di criptazione, conviene
assumere che la posta su Internet non è mai sicura
Rispettare il copyright sui materiali riprodotti (anche se ogni
paese ha una propria legislazione sul copyright)
02/03/06
33
Netiquette
In caso di inoltro di un messaggio ricevuto, non modificarne
il testo. Se si tratta di un messaggio personale e lo si vuole
re-inviare ad un gruppo, occorre chiedere preventiva
autorizzazione all'autore originale del messaggio
Non inviare mai per e-mail lettere a catena di Sant'Antonio.
Si sia rigorosi in quel che si spedisce e tolleranti in quel che
si riceve. Non inviare messaggi aggressivi (flames) anche
se provocati. Può capitare di diventare vittime di qualche
flame, e in tal caso è prudente non rispondere
02/03/06
34
Netiquette
È bene rendere le cose facili per chi riceve. Siccome molto
spesso non e' possibile risalire dall'indirizzo di posta del
mittente all'identità del mittente (gli indirizzi e i nickname
possono essere molto fantasiosi), assicurarsi di includere
nella "signature" a fine messaggio i dati rilevanti: non
mandare messaggi anonimi
02/03/06
35
Spamming
La email "spam", o comunque lo spamming, è un caso
classico di abuso di Internet
Consiste nel mandare parecchi (migliaia o milioni) di
messaggi non richiesti a liste di indirizzi acquisite
direttamente da Internet mediante spambot, ovvero robot
capaci di trovare indirizzi nelle pagine Web
02/03/06
36
Spamming
Come difendersi dallo spamming:
cancellando manualmente i msg dalla propria mailbox
reclamando col postmaster del dominio da cui proviene lo
spamming; se non si conosce l'indirizzo del PostMaster di un
dominio, mandare un msg a [email protected]: il reclamo
verrà inoltrato automaticamente al postmaster del dominio
attivando filtri nel vostro cliente di email che cancellano
automaticamente i msg di spamming
chiedendo a chi gestisce il vostro server di email di attivare
filtri a livello server
proteggendo il proprio indirizzo, per esempio pubblicandolo su
Web solo usando precauzioni contro gli spambot
visitando il sito della Coalition Against Unsolicited Commercial
Email (CAUCE, www.cauce.org)
02/03/06
37
Emoticon
Chi usa la posta elettronica o comunque la comunicazione
in rete di solito sviluppa uno stile di scrittura specifico,
veloce e informale quanto il mezzo che usa; tuttavia, non
bisogna mai dimenticare che un testo scritto non è una
comunicazione orale (scripta manent)
Uno dei problemi più difficili da risolvere per lo scrittore di
email è la gestione della ridondanza comunicativa. Per
comunicare emozioni e stati d'animo, ad esempio, la parola
scritta è uno strumento difficile e verboso; all'uopo sono
state sviluppate una serie di convenzioni che sfruttano
l'iconografia dei caratteri su schermo
02/03/06
38
Emoticon
Un emoticon, o smiley, è un'icona di espressione facciale
ottenuta con sequenze di caratteri
Vedere www.emoticon.com
:,(
:-(
:-)
:-0
:-@
:-X
02/03/06
Crying
Sad
Happy
Yelling
Screaming
A kiss
:-X
#-)
:-y
:-|
;-)
|-o
Lips are sealed
Oh, what a night
Said with a smile
Frowning
Winky
Bored
39
TLA's (Three Letter Acronyms)
BTW
IMHO
IMO
IOHO
LOL
ROFL
02/03/06
By the way
In my humble opinion
In my opinion
In our humble opinion
Laughing out load
Roling on the floor, laughing
40
Comunicare in rete
Un sistema di chat è un servizio di comunicazione sincrona
punto-a-punto (peer-to-peer): talk
broadcast (client-server): IRC
02/03/06
41
Talk
Un programma di talk (Unix: talk; Windows: Wintalk)
permette di aprire una sessione con un utente remoto per
effettuare una conversazione in forma testuale; entrambi i
corrispondenti devono possedere un cliente specifico, che
funziona in modalità peer-to-peer
Nota: alcune società offrono servizi di talk capaci di usare
come cliente una normale cornetta telefonica; in pratica ciò
vuol dire che si può usare Internet per telefonare
02/03/06
42
IRC
IRC (Internet Relay Chat www.irchelp.org) è un protocollo
client-server che permette il dialogo di più persone mediante
msg testuali
Per usare il servizio occorrono clienti IRC che si connettono
a server specifici. Quando ci si connette ad un IRC server si
sceglie un canale di discussione: per es., su www.efnet.net
ce ne sono più di 12000!
Le conversazioni possono essere pubbliche o private. IRC
non è un gioco!
02/03/06
43
Instant Messaging
Un servizio di Instant Messaging (Esempi: AOL Instant
Messager www.aim.com, ICQ web.icq.com, MSN
Messenger messenger.msn.com) permette di informare "la
rete" che ci si è connessi, e disponibili a conversazioni
Il servizio si basa su un server che registra una persona che
si connette; ad ogni utente è assegnato un numero
personale univoco che lo identifica in rete
È possibile istruire il server su chi sono i nostri
corrispondenti abituali, in modo che ci informi non appena si
collegano
ICQ (http://web.icq.com) è probabilmente il servizio di
messaging più popolare: a marzo 2004 ha circa
02/03/06
150.000.000 di iscritti
44