architettura tcp/iparchitettura degli elaboratori - modulo b- a.memo 1 architettura tcp/ip...
Post on 01-May-2015
216 Views
Preview:
TRANSCRIPT
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
1
Architettura TCP/IP
• protocollo IP
• altri protocolli di rete: ICMP, ARP e RARP
• protocollo TCP
• altri protocolli di trasporto: UDP
• il sistema Domain Name Server
• i protocolli di posta elettronica
indice
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
2
Il protocollo IP
• IP è un protocollo datagram (non connesso e non affidabile) che ha il compito di:– ricevere il datagram o il segmento di dati dal
livello superiore e incapsularlo in pacchetti IP– instradare i pacchetti attraverso le varie sottoreti– in ricezione riassemblare i vari pacchetti e
passare al livello superiore il datagram o il segmento dati, secondo l’ordine d’arrivo
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
3
Obiettivi del protocollo IP
• incorpora i datagram (encapsulation datagram)
• frammenta i datagram (fragmentation datagram)
• gestisce la vita in rete dei datagram
• instrada i datagram
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
4
Gestione dei datagram
accetta in ingresso i datagram provenienti dalla rete o generati dal livello superiore, e li instrada verso la NIC o verso il livello superiore
processo IP
NIC 1 NIC 2
livello superiore
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
5
Funzioni svolte dal livello IP• genera e controlla l’intestazione (header validation)• calcola o verifica il checksum• determina l’instradamento (next hop)
• gestisce la redirezione• aggiunge i dati del mittente nei datagram
prodotti localmente(ICI)• frammenta e ricostruire i datagram• gestisce le comunicazioni broadcast
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
6
Caratteristiche del livello IP
unreliable: servizi non garantiti o inaffidabili, i pacchetti possono essere persi, duplicati o consegnati fuori ordine
connectionless: servizi non orientati alla connessione, i pacchetti sono tra loro indipendenti
best-effort: servizi del tipo trasmetti e spera
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
7
intestazione del pacchetto IP
version IHL tipo di servizio lunghezza totale
identificatore segmento DF
MF offset del frammento
time to live protocollo checksum dell’header
indirizzo del destinatario
indirizzo del mittente
campo opzioni
32 bit
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
8
campi dell’intestazione IPversione numero versione del protocollo (4)IHL lunghezza header in multipli di 32 bit (4)type of service affidabilità dei servizi richiesti (8)total length lunghezza totale del pacchetto (16)identification etichetta di tutti i frammenti di un dato pacchetto (16)DF Don't fragment (se a 1)(1)MF More fragments (se a 1) (1)fragmnent offset offset (in byte) del frammento nel pacchetto (13)time to live valore decrementato ad ogni salto o ad ogni secondo (8)protocol cod. del protocollo di trasporto a cui dare il pacchetto (8)header check ricalcolato ad ogni salto o ogni secondo (16)indirizzi (32+32)options in base al protocollo (N32)
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
9
Instradamento IP
• il livello Host-To-Network effettua l’instradamento fisico (switching), mentre IP quello logico (routing)
• il routing può essere diretto (se mittente e destinatario appartengono alla stessa rete fisica) o indiretto (su reti fisiche distinte)
• si decide in base agli indirizzi di mittente e destinatario
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
10
Instradamento diretto/indiretto
Host 1Net 2
rete fisica n°2
Host 1 Host 2 Host 3
rete fisica instradamento
diretto
Host 2Net 2
Host 3Net 2
Host 1Net 1
rete fisica n°1
Host 2Net 1
Host 3Net 1
Host 9Net 2
Host 9Net 1
router
instradamento indiretto
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
11
Indirizzi IP
• un indirizzo IP è costituito da 2 campi, per un totale di 32 bit:– network number (numero di una rete, una LAN
o una connessione punto-punto tra due router)– host number (numero caratteristico di ogni
stazione o scheda NIC all’interno di una rete)
• gli indirizzi IP sono suddivisi in classi, in base alle dimensioni dei due campi
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
12
Classi di indirizzi IP
0 network hostRete di classe A : 126 reti con 16.777.214 host
1 network hostRete di classe B : 16.382 reti con 65.534 host
0
1 network hostRete di classe C : 2.097.150 reti con 254 host
01
1 multicast address011
1 usi futuri0111
8 bit 8 bit 8 bit 8 bit
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
13
Subnetting mask
1 network host01
1 network host01 subnet
tutti 0tutti 1
Indirizzo di Classe C
maschera di sottorete (subnet mask)
Esempio: IP address = 193.207.121.240 subnet mask = 255.255.255.224 network = 193.207.121. subnet = 7 (o 224) host = 16 (o 240)
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
14
Indirizzi IP particolari
0.0.0.0 indirizzo dell’host ospite0.x.x.x l’host x.x.x della rete ospite255.255.255.255 broadcast sulla rete ospitex.255.255.255 broadcast alla rete x127.x.x.x loopback
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
15
00-80-2A-66-01-0300-80-2A-66-01-02
00-80-2A-6A-02-B0 00-80-2A-6A-02-B1
00-80-2A-33-4B-A2
00-80-2A-33-4B-A100-80-2A-33-4B-A0
00-80-2A-33-45-21 00-80-2A-33-45-22
Routing IP (1)
192.168.6.12 192.168.6.13
192.168.11.1 192.168.11.3
router 2
192.168.7.1
192.168.11.254
192.168.11. 1 link 1, 00-80-2A-33-45-21192.168.11. 3 link 1, 00-80-2A-33-45-22192.168.6. 0 link 2, 00-80-2A-6A-02-B1default 0 link 3, 00-80-2A-33-4B-32
link 1link 2
router 1
192.168.7.2
link 1 link 2192.168.6.254
link 3
192.168.17.1
verso lealtre reti
salto locale
salto remoto
00-80-2A-33-48-32192.168.17.2
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
16
Routing IP (2)
• un’entità di livello 4 (TCP o UDP) della stazione 192.168.11.1 vuole inviare un pacchetto all’analoga entità della stazione 192.168.6.12: per far questo passa al livello 3 (IP) il pacchetto e specifica tra l’altro l’indirizzo IP del mittente e quello del destinatario
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
17
Routing IP (3)
• l’entità di livello 3 del mittente confronta i campi network dei due indirizzi, e decide se– mittente e destinatario appartengono alla stessa
rete (salto locale);– appartengono a reti distinte (salto remoto)
• in base a ciò determina l’indirizzo di livello 2 a cui far pervenire il pacchetto, e lo passa al livello sottostante
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
18
Routing IP (4)
• nell’esempio il salto è remoto, per cui l’indirizzo di livello 2 da inserire nel pacchetto è quello di default dell’uscita dalla rete fisica (00-80-2A-33-4B-A0)
• il pacchetto arriva al livello 3 del router 1 attraverso il suo link1
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
19
Routing IP (5)
• il livello 3 del router controlla la sua tabella di instradamento, riconosce il destinatario come un salto remoto verso il link 2, e quindi rispedisce (relay) il pacchetto con lo stesso indirizzo IP di mittente, ma con l’indirizzo di livello 2 di quel link (00-80-2A-6A-02-B1)
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
20
Routing IP (6)
• il livello 3 del router 2 riceve il pacchetto,
riconosce il destinatario come un salto
locale verso il proprio link 1, e rispedisce il
pacchetto passandolo al livello 2 di quella
interfaccia di rete con indirizzo di livello 2
di destinazione 00-80-2A-66-01-02
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
21
indirizzi fisici ed indirizzi IP
mezzo fisico
livel
li 1 e
2
transceiver
scheda di rete
indirizzo IP di livello 3del destinatario192.168.11.37
segnali elettrici
indirizzo MAC di livello 2del prossimo nodo00-40-8A-91-B2-84
driver dellascheda di rete
livel
lo 3
livel
lo 4
transceiver
TCP UDP
IPsegmento
datagram
pacchetto
trama
indirizzo TSAP di livello 4del destinatario
porta 1080
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
22
altri protocolli di rete: ICMP
• Internet Control Message Protocol
• protocollo utilizzato dai router per scam-biarsi informazioni sullo stato della rete
destination unreachable si risponde al mittente che ildestinatario non è raggiungibile
time exceeded si risponde al mittente che ilpacchetto ha esaurito il tempo adisposizione
echo request chiede ad una stazione se è viva
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
23
altri protocolli di rete: ARP
• Address Resolution Protocol• restituisce l’indirizzo di livello 2 di una stazione
individuata dal suo indirizzo IP– viene inviata una richiesta broadcast del tipo “chi ha
questo indirizzo IP ?”
– solo l’host con quell’IP risponde, passandogli il suo indirizzo di livello 2
– se l’host è in un’altra rete, i router intermedi dovranno fungere da tramite nel protocollo
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
24
altri protocolli di rete: RARP
• Reverse Address Resolution Protocol
• svolge il compito inverso: dato un indirizzo di livello 2 restituisce il relativo indirizzo IP
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
25
il protocollo TCP
• Transmission Control Protocol
• fornisce un trasferimento full-duplex affida-bile orientato alla connessione tra mittente e destinatario, basandosi su una rete non affidabile
• mette in comunicazione diretta i due interlo-cutori finali, e quindi non è presente nei router
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
26
il protocollo TCP: generalità
• riceve il messaggio dal livello applicazione• lo suddivide in segmenti (TPDU) che passa al
livello rete• ne controlla il regolare trasferimento mediante
tecniche analoghe a sliding-windows• riceve dal livello rete i segmenti in arrivo• ricompone il messaggio originale e lo passa alla
opportuna applicazione di livello superiore
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
27
il protocollo TCP: il socket
• i servizi TCP stabiliscono una connessione tra due punti di accesso detti socket
• un socket è caratterizzato dalla coppiaIP_address : port_number
• vi sono 216 possibili port number: i primi 256 sono pre-assegnati a servizi standard (well-known port) [25=SMTP, 110 =POP3, 80=HTTP,…]
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
28
il protocollo TCP: il flusso dati
• una connessione TCP trasferisce un flusso di byte
• ogni byte del flusso è caratterizzato da un numero sequenziale a 32 bit
• il numero sequenziale di ogni byte viene utilizzato in una tecnica di controllo sliding-windows di tipo go-back-N e time-out per ogni emissione
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
29
intestazione TCP (1)
32 bit
source port destination port
sequence number
acknowledgement numberACK
TCPheaderlength
URG
PSH
RST
SYN
FIN
window size
checksum urgent pointer
options (0 - N•32bit)
data (opzionale)
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
30
intestazione TCP (2)source/dest. port numero della porta di accesso all'applicazione (216)sequence numb. numero sequenziale del primo byte del campo dati (32)ack. number numero sequenziale del prossimo byte aspettato (32)TCP header leng. lunghezza totale dell'header in gruppi da 32 bit (4)
sviluppi futuri (6)URG Urgent pointer attivato (se a 1)(1)ACK ACK attivato, è anche un riscontro (se a 1) (1)PSH Pushed data, dati da far analizzare subito (se a 1) (1)RST richiesta di Reset della connessione (se a 1) (1)SYN SYN=1 ACK=0 richiesta di connessione (1)
SYN=1 ACK=1 connessione accettataFIN il mittente non ha più dati da trasmettere(se a 1) (1)window size numero byte che possono essere ancora spediti (16)checksum somma di controllo di validità dei dati trasmessi (16)urgent pointer puntatore ai dati urgenti del campo dati (16)options in base al protocollo (N32)
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
31
attivazione della connessione
• il server lancia una listen() per porsi in ricezione e poi esegue una accept() in attesa di una richiesta di con-nessione in un dato port
• il client lancia una connect(host,port,...)• il server, quando riceve la richiesta, controlla se la
porta richiesta è attiva:– in caso affermativo, passa la richiesta all’applicazione rela-
tiva, e se accettata, conferma al richiedente la connessione– in caso negativo, la connesione viene rifiutata
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
32
attivazione della connessione
SYN=1, ACK=0, SEQ=x
SYN=1, ACK=x+1, SEQ=y
SYN=1, ACK=y+1, SEQ=x+1
serverclient
chiedo una con-nessione, il mioprimo byte avrà
numero (x)accetto la connessionemi aspetto di ricevere ilbyte numero (x+1) ed ilmio primo byte avrànumero (y)ti invio i miei dati
a partire dal byte(x+1), e mi aspetto
di ricevere il bytenumero (y+1)
listen()
accept()
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
33
trasferimento dati
• sliding windows di tipo go-back-N, dove le dimensioni delle finestre vengono comuni-cate esplicitamente: oltre al riscontro positivo viene passato il numero di byte ancora ricevibili
• ad ogni trasmissione si fa partire un timer per la ritrasmissione
• in caso di errore si riparte dal byte errato
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
34
trasferimento dati (1)
SEQ=0, dati(2K)
destinatariomittente
invio i primi 2K, a partireda 0, faccio partire il timer immagazzino 2K nel
buffer, comunico cheho ricevuto corretta-mente i byte 0-2047,aspetto i byte a partiredal 2048, e posso rice-vere ancora 2048 byte
invio altri 2K, a partiredal byte numero 2048,
faccio partire il timer
devo trasmettere 5KByte 4 KBbuffer vuoto
2 K2 K
ACK=2048, WIN=2048
SEQ=2048, dati(2K)
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
35
trasferimento dati (2)
destinatariomittente
immagazzino altri 2K nelbuffer, comunico che horicevuto correttamente ibyte 2048-4095, aspettoi byte a partire dal 4096,e posso ricevere ancora0 byte
non posso trasmetterealtri byte perché il buffer
in ricezione è pieno, equindi aspetto
il destinatario legge iprimi 2K dal buffer e lipassa all’applicazione
4 KBbuffer pieno
2 K2 K
ACK=4096, WIN=0
SEQ=2048, dati(2K)
2 K 2 KACK=4096, WIN=2048
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
36
trasferimento dati (3)
destinatariomittente
immagazzino 1K nelbuffer, comunico che horicevuto correttamente ibyte 4096-5019, aspettoi byte a partire dal 5020,e posso ricevere ancora1024 byte
ACK=4096, WIN=2048
invio l’ultimo 1K, apartire dal byte
numero 4096, efaccio partire il timer SEQ=4096, dati(1K)
2 K 2 K
1K 2 K1K
ACK=5020, WIN=1024
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
37
trasferimento dati (4)
• viene gestita anche una congestion windows per ridurre la possibilità di congestione, e in trasmissio-ne si sceglie il più piccolo tra il suo valore e quello del buffer del ricevitore
• la dimensione iniziale della congestion window è pari alla dimensione massima del segmento
• il valore di threshold viene fissato inizialmente pari alla dimensione massima del segmento
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
38
trasferimento dati (5)
• ad ogni ack ricevuto la congestion window– raddoppia se il suo valore è inferiore al threshold
– si allarga di 1 segmento se è superiore
• ad ogni time-out– threshold = ½ congestion window
– congestion window = max segmento
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
39
rilascio della connessione
• per evitare la perdita di dati determinata da una scon-nessione libera da parte di una stazione (rilascio asimmetrico) si adotta il rilascio simmetrico, dove ogni connessione full duplex è vista come una coppia di connessioni simplex
• A e B sono due stazioni che sanno comunicando in full-duplex: quando A ha finito invia un FIN a B, il quale accetta il rilascio e la connessione da A a B termina, mentre da B ad A possono ancora essere scambiati dati
• quando anche B termina, si avvia lo stesso procedi-mento e l’intera connessione viene chiusa
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
40
rilascio della connessione
utente Butente A
ora anche io non hoaltri dati da trasmetteree possiamo rilasciarela connessione
non ho altri dati datrasmettere, per me
la connessione sipuò rilasciare
FIN
FIN
ACK
ora rilascio laconnessione ...
… e ti avviso che misono sconnesso
ora mi sconnetto anch’io
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
41
altri protocolli di trasporto: UDP
• User Data Protocol
• offre un servizio di trasporto non connesso e non affidabile
• utilizzato per trasferire un basso numero di informazioni, tipo segnali di controllo di pochi byte nei collegamenti client/server
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
42
formato pacchetto UDP
32 bit
source port destination port
total length
dati
checksum
source/dest. port numero della porta di accesso all'applicazione (216)total length lunghezza del pacchetto, header + dati (16)checksum somma di controllo di validità dei dati trasmessi (=0 non usato) (16)
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
43
il sistema DNS
• l’uso diretto degli indirizzi IP (versione numerica) è scomo-do e poco mnemonico [193.207.118.131]
• ad ogni sistema può essere associato un indirizzo simbolico (versione logica) [www.rai.it]
• il sistema Domain Name System mette in relazione indiriz-zi numerici con indirizzi logici
• il DNS consiste di– uno schema gerarchico di attribuzione dei nomi basato sui domini
– un database distribuito che implementa questo schema
– un protocollo per l’interrogazione e l’aggiornamento dello schema
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
44
DNS: funzionamento
• per passare da indirizzo logico a indirizzo numerico un’applicazione invia una richiesta al DNS server locale
• se il DNS server locale ha nella sua tabella interna quell’indirizzo, lo restituisce subito
• altrimenti inoltra la richiesta ad un DNS server remoto di livello gerarchico superiore, ne aspetta la risposta e poi la passa all’applicazione richiedente
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
45
DNS: organizzazione dei dominiUSA il resto del mondo
subd
omai
n1
subd
omai
n2
top
leve
ldo
mai
n
comedu
govmil org
ucis mityale
csengphil
frit
ukch jp
univeunipd
lingmath
unimi
ing
host.subdomainN.___.subdomain2.subdomain1.topleveldomain
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
46
DNS: implementazione
• ogni dominio ha il compito di fornire e mantenere aggiornato il proprio DNS server (o più d’uno, gerarchicamente organizzati)
• per ogni host, il DNS ha il seguente record:
domain name www.unipd.it nome logico dell'hosttime to live 50000 secondi per cui questi dati possono rimanere in cacheclass IN classe del record (internet)type A tipo di record (address)value 193.200.3.1 indirizzo IP dell'host
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
47
posta elettronica: generalità
• un servizio di posta elettronica permette di– comporre un messaggio
– spedire un messaggio ad un destinatario
– spedire un messaggio (circolare) a più destinatari
– ricevere un messaggio
– leggere i messaggi ricevuti
– gestire un elenco di indirizzi di posta elettronica
– gestire l’insieme dei messaggi ricevuti
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
48
posta elettronica: il messaggio
• generalmente il messaggio è composto dalle seguenti informazioni (*=obbligatorie):
To * indirizzo del destinatario (o lista di destinatari)From * indirizzo del mittenteCc indirizzo del destinatario della possibile copia palese per
conoscenza (o lista dei destinatari)Bcc indirizzo del destinatario della possibile copia nascosta per
conoscenza (o lista dei destinatari)Attach nome degli eventuali file incorporati nel messaggioSubject oggetto del messaggioBody testo del messaggio in codice ASCII (a 7 bit)
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
49
posta elettronica: MUA
• in Internet lo scambio di posta elettronica utilizza due funzioni distinte: MUA ed MTA
• MUA (Mail User Agent) è l’interfaccia verso l’utente ed ha principalmente il compito di:– comporre il messaggio da spedire assemblando i vari campi– trasferire il messaggio da spedire all’MTA (del mittente) per la
sua trasmissione– ricevere dall’MTA locale (che ora funge da destinatario) e
passare all’utente i messaggi pervenuti– gestire la memorizzazione dei messaggi trasferiti
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
50
posta elettronica: MTA
• MTA (Mail Transport Agent) è il vero artefice del trasferimento dei messaggi ed ha principalmente il compito di:– trasferire il messaggio pervenuto fino all’MTA di
destinazione, che svolge funzioni di cassetta postale
– fornire all’MUA di destinazione, su sua esplicita richiesta, i messaggi ad esso indirizzati, verificandone il diritto di prelievo
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
51
MTA
MUA
posta elettronica: architettura
mittente
MTA
MTA
MTA
MUA
destinatario
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
52
protocollo SMTP (1)
• Simple Mail Transfer Protocol è il protocollo che implementa le funzionalità di trasferimento del MUA:– il mittente predispone, con la versione locale del MUA, il
messaggio da inviare, e lo spedisce (SEND)– il MUA, tramite DNS operante su spazi di nomi distinti dagli
altri servizi, traduce l’indirizzo logico del mittente in indirizzo fisico, coincidente con l’MTA del mittente
– il MUA stabilisce una connessione TCP con il suo MTA e tramite protocollo SMTP trasferisce il messaggio dal client SMTP dell’host del mittente al server SMTP dell’MTA del mittente, e poi rilascia la connessione
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
53
protocollo SMTP (2)
– il server SMTP dell’MTA del mittente, tramite DNS specifico, traduce l’indirizzo logico del destinatario in indirizzo fisico, coincidente con l’MTA del destinatario
– il server SMTP dell’MTA del mittente, ora operante in modalità client, stabilisce una connessione TCP con il server SMTP dell’MTA del destinatario (anche attraversando più server SMTP) e trasferisce il messaggio al server SMTP dell’MTA del destinatario, che lo trascrive nella relativa cassetta postale del destinatario, e poi rilascia la connessione
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
54
protocollo SMTP: esempioyyy.it client SMTP server SMTP xxx.it
il client instaura una connessioneaffidabile con il server
220 (xxx.it READY FOR MAIL)il server si rende dispo-nibile a ricevere posta
HELO (yyy.it)
il client specificail mittente
250 (xxx.it SAYS HELLO to yyy.it) il server si identifica
il client è pronto a tras-mettere un messaggio
MAIL FROM (pippo@yyy.it)
250 (SENDER OK)il server conferma ilmittente
RCPT TO (pluto@xxx.it)il client specifica
il destinatarioil server conferma ildestinatario250 (RECIPIENT OK)
DATAil client avvisa che è
pronto ad inviare i dati
354 (SEND MAIL)il server conferma cheè pronto a ricevere i dati
segue
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
55
protocollo SMTP: esempioyyy.it client SMTP server SMTP xxx.it
250 (MESSAGE ACCEPTED)
il server riceve il messaggiouna riga alla volta, fino all’ulrima riga contenentesolo un “.”
il server ha ricevuto tuttoil messaggio, e ne dariscontro positivo
il client trasmetteil messaggio
segue
From: pippo@yyy.itTo: pluto@xxx.itMIME-Version: 1.0Message-Id: <1234.AA78@yyy.it>Content-Type:multipart ...Subject: provaContent-Type: text/richtextCiao, è una prova..
QUIT
il client non ha altrimessaggi e vuole
rilasciare la connessione
221 (xxx.it CLOSING CONNECTION)il server accetta il rilasciodella connessione
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
56
protocollo POP3
• Post Office Protocol versione 3 è il protocollo che implementa le funzionalità di ricezione dell’MTA:– il destinatario manda in esecuzione la versione locale del MUA,
e richiede se gli è arrivata posta– il MUA, tramite DNS operante su spazi di nomi distinti dagli
altri servizi, traduce l’indirizzo logico del destinatario in indirizzo fisico, coincidente con l’MTA del destinatario
– il MUA stabilisce una connessione TCP con il suo MTA e tramite protocollo POP3 trasferisce i messaggi pervenuti, dal server POP3 dell’MTA del destinatario al client POP3 dell’MUA del destinatario, e poi rilascia la connessione
Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo
57
standard MIME
• Multipurpose Internet Mail Extension, estende le possibilità del formato dei messaggi, offre codici per le lettere accentate, permette di separare nel body parte codificate in ASCII a 7 bit da altre codificate ad 8 bit (file generici, audio, video, grafica, …) con lo standard BASE64, fornisce l’opportunità di attachment
top related