vuoi
o PayPal
tutte le volte che vuoi
FTP FTPclient serverTCP Data Connection(port 20)
I comandi e le risposte vengono inviati come testo ASCII sulla Control Connection:
Comandi | State | Code |
---|---|---|
USER username | 331 | Username OK, password required |
PASS password | 125 | Data Connection already open; transfer starting |
LIST | 425 | Can't open Data Connection |
GET filename | 452 | Error writing file |
PUT filename | Non è possibile stabilire una connessione FTP verso un host qualsiasi: il paradigma adottato (client-server) prevede che il secondo sia configurato per accettare connessioni: Win98, WinXP, Win2000Pro devono essere opportunamente configurati mentre Linux e Win2000Server spesso hanno FTP già attivo. |
Squall – http://www.quellidiinformatica.org – La community di Ingegneria Informatica a Napoli
POSTA ELETTRONICA
Come la posta cartacea è un mezzo di comunicazione asincrono: l'utente manda e riceve messaggi quando gli fa comodo. Ci sono 3 entità in gioco:
- User agent: composizione, modifica, lettura
msgØ Mail servers: formano il nucleo dell'infrastruttura per l'e-mailØ SMTP: il protocollo principale dello strato Applicazione per l'e-mail
Ciascun destinatario ha una mailbox situate in uno dei server.
SMTPUsa il TCP (port 25), connessione persistente, e messaggi codificati in ASCII a 7 bit.
Un esempio di dialogo SMTP:
C: HELO vick.it
S: 250 Hello vick.it!
inizia composizione mail
C: MAIL FROM <vick007@virgilio.it>
S: 250 < vick007@virgilio.it> Sender ok
assegno il destinatario
C: RCPT TO <annuariodellamusica@tin.it>
Recipient ok
S: 250 <annuariodellamusica@tin.it>
comincio la trasmissione dei dati
C: DATA
S: 354 Enter mail, end with "." On a line by itself
C: Spettabile Annuario della Musica,
C: blablabla
C: .
S: 250 Msg accepted for delivery
C: QUIT
S: 221 closing connection
MIMEPer i msg multimediali l'user agent del mittente deve incorporare intestazioni aggiuntive, definite nell'estensione MIME (Multipurpose Internet
Mail Extensions).Intestazioni chiave MIME sono Content-Type e Content-Transfer-Encoding: il primo permette all’user agent del destinatario di scegliere l’azione da compiere sul corpo del msg ed il secondo per convertire il corpo nella sua forma originale non-ASCII. Un MIME importante è il multipart: proprio come una pagina Web può contenere molti oggetti così lo può una mail. Se un msg contiene più di un oggetto (più image o testo ASCII ed alcune images) tipicamente si ha Content-Type: multipart mixed. L’user agent del destinatario ha bisogno di un mezzo per determinare: Ø Dove comincia e finisce l’oggetto Ø Come ciascun oggetto non-ASCII è codificato Ø Il Content-Type di ciascun oggetto Lo si può fare sistemando Boundary characters fra ciascun oggetto, facendolo seguire dalle intestazioni già viste. --Startofnextpart Ciao Ciao, gustati questo! --Startofnextpart Content-Transfer-Encoding:Il testo formattato con i tag HTML è il seguente:
<img src="data:image/jpeg;base64,DATA BASE-64 DATA BASE-64 DATA BASE-64DATA BASE-64 DATA BASE-64 DATA BASE-64" alt="Immagine" />
<p>Squall – http://www.quellidiinformatica.org – La community di Ingegneria Informatica a Napoli 7</p>
<p>POP3, IMAP, HTTP</p>
<p>Non abbiamo considerato ancora però la fase di prelievo (SMPT è per il push): si usa sempre un protocollo client-server, ed il ruolo di client lo gioca sempre l’user agent.</p>
<p>Mail server Mail server POP3</p>
<p>SMTP SMTP</p>
<p>User agent User agent(mittente) (destinatario) IMAPPOP3</p>
<p>Estremamente semplice, tanto che le sue funzioni sono piuttosto limitate. Esordisce quando il client apre una TCP al mail server (port 110). Con la TCP in atto procede attraverso le 3 fasi:</p>
<ul>
<li>Autorizzazione: l’agente invia username e password</li>
<li>Transizioni: l’agente ottiene i msg</li>
<li>Aggiornamento: il client invia il comando quit concludendo la sessione</li>
</ul>
<p>Dopo la Autorizzazione l’agente usa solo 4 comandi: list, retr, dele, quit.</p>
<p>Esempio</p>
di dialogo POP3:
S: OK POP3 server ready C: user vick S: OK C: pass musicbox S: OK logged-on C: list S: 1 498 S: 2 202 S: . C: retr 1 S: <msg1 contents> S: . C: dele 1 C: retr 2 S: <msg2 contents> S: . C: dele 2 C: quitIMAP:
Visto che il POP3 non dà la possibilità all’utente di creare cartelle remote ed assegnarvi i msg a risolvere questo ed altri problemi ci pensa l’Internet Mail Agent Protocol. Offre molte più possibilità ma è significativamente più complesso.HTTP:
Serpe più utenti accedono alla loro e-mail attraverso i loro browser (che funge nel caso da user agent). Come con IMAP si possono organizzare i msg in una gerarchia di cartelle sul server remoto.Mail server HTTP SMTP Browser (destinatario) Web server POP3 Squall – http://www.quellidiinformatica.org – La community di Ingegneria Informatica a Napoli 8DNS Siamo abituati a raggiungere un host mediante nomi simbolici di facile memorizzazione. Ma gli host sono identificati
Dal cosiddetto indirizzo IP: 4 byte, ciascun punto separa un byte espresso in decimale (0,255) dall'altro, ha una struttura rigidamente gerarchica che fornisce informazioni sulla dislocazione sul territorio (da sinistra a destra si ottengono informazioni più dettagliate circa la rete di appartenenza).
Non volendo rinunciare alla comodità di lavorare con nomi simbolici è stato necessario progettare un servizio di risoluzione di questi in IP address: il Domain Name System è un database distribuito implementato in una gerarchia di server di nomi ed un protocollo dello strato applicazione che permette agli host di comunicare con questi server; funziona attraverso lo scambio di UDP sul porto 53.
Il DNS, oltre alla traduzione degli hostname, fornisce altri servizi:
- Alias degli hostname: un hostname complicato può avere uno o più alias
- Alias dei server di posta: un hostname canonico potrebbe essere del tipo relay1.west-coast.hotmail.com
Distribuzione del carico: per effettuare la distribuzione degli accessi (richieste) fra le repliche di un server (i siti affollati sono replicati su diversi server con relativi differenti IP)
Dal punto di vista dell'applicazione richiedente che gira sull'host dell'utente il DNS è una scatola nera che fornisce un semplice servizio di traduzione: questa consiste in realtà in una moltitudine di server dei nomi distribuiti sul pianeta, organizzati in modo gerarchico. Possiamo considerarne 3 tipologie:
- Ciascun ente ne installa uno nel proprio dominio, e tutti gli host del dominio LOCAL inviano a questo le proprie richieste di risoluzione.
- Ad essi si riferiscono i LOCAL che non possono soddisfare una richiesta ROOT AUTHORITATIVE risolve tutti i nomi all'interno di un dominio.
Un'importante caratteristica del DNS è il caching: quando un server dei nomi riceve una richiesta la deposita nella memoria locale per qualche giorno, riducendo il traffico DNS sulla rete.
Record DNSI server dei nomi immagazzinano Resource Records contenenti le correlazioni.
RR è un quartetto del tipo: (NAME, VALUE, TYPE, TTL),ove NAME e VALUE dipendono dal TYPE.
TYPE NAME VALUE
- A Hostname IP dell'Hostname
- NS Dominio Hostname di un AUTHORUTATIVE
- Hostname canonico per l'alias NAME
- CNAME "Alias"
- MX "Alias" Hostname di un server di posta che ha per alias NAME
Se un server dei nomi è Assoluto per un particolare hostname allora deve contenere un RR di tipo A per l'hostname; se non è Assoluto conterrà un NS per il dominio che comprende l'hostname, ed un A che fornisca l'IP del server dei nomi nel campo Value dell'NS.
Squall – http://www.quellidiinformatica.org – La community di Ingegneria Informatica a Napoli 9
Distribuzione di Contenuti
L'espressione si riferisce ai meccanismi per replicare un contenuto su una molteplicità di server e fornire ai terminali richiedenti un mezzo
Per determinare i server che possano servire più velocemente, li possiamo dividere in 3 categorie:
- Web Caching: i Proxy Server soddisfano le richieste HTTP attraverso un server di origine che conserva copie degli oggetti richiesti di recente. Il browser di un utente può essere configurato in modo che tutte le richieste HTTP siano prima dirette alla cache. Tipicamente viene comprata ed installata da un ISP: per esempio una università potrebbe installare una cache nella rete del suo campus e configurare tutti i browser a puntare su questa.
- Reti per la Distribuzione: gli ISP, universitari, aziendali, della Backbone, installano cache per fornire ai clienti a valle un servizio migliore. Le Content Distribution Networks usano un "modello affaristico": gli utenti paganti non sono più gli ISP ma i fornitori di contributi. Un fornitore, come Yahoo, paga una ditta fornitrice di CDN per far arrivare i propri contenuti agli utenti richiedenti con
oggetti che rende disponibili per la condivisione: il server raccoglie queste info da ogni pari che si attiva creando così un DB centralizzato dinamico che mette in corrispondenza ogni filename con una serie di IP.
Per determinare quando un pari si disconnette manda periodicamente dei msg ai pari e controlla se rispondono; se si accerta che un pari è off-line ne rimuove l'IP dal DB.
Gli svantaggi sono notevoli:
- Single Point of Failure
- Collo di bottiglia: grava sul solo Server DIR il compito di tenere aggiornato un enorme DB e di colloquiare con migliaia di host al secondo
- Copyright: se un'azienda o un individuo mette a disposizione un file protetto da copyright, il server non può fare nulla per impedirne la condivisione