Breve storia di Internet L’Internet Protocol Suite Il WWW...

22
Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona Gianpaolo Cugola Dipartimento di Elettronica e Informazione [email protected] http://www.elet.polimi.it/~cugola Informatica A + B - Cugola 2 Sommario Le reti di calcolatori, una vista d’insieme Breve storia di Internet L’Internet Protocol Suite I protocolli applicativi Il WWW Schema di funzionamento URL Il linguaggio HTML La ricerca di informazioni su Internet Informatica A + B - Cugola 3 Il concetto di rete di calcolatori Con il termine “rete di calcolatori” intendiamo riferirci a un sistema informativo costituito da due o più calcolatori collegati attraverso un sistema di comunicazione Una “applicazione distribuita” è una applicazione composta da più elementi cooperanti posti in esecuzione su macchine diverse all’interno di una rete di calcolatori Informatica A + B - Cugola 4 Topologia di rete Con il termine “topologia di rete” si indica la disposizione fisica dei componenti che realizzano la rete... ... la loro tipologia... ... e la modalità con la quale sono connessi

Transcript of Breve storia di Internet L’Internet Protocol Suite Il WWW...

Page 1: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Le reti di calcolatori e Internet

Politecnico di MilanoSede di CremonaGianpaolo Cugola

Dipartimento di Elettronica e [email protected]

http://www.elet.polimi.it/~cugola

Informatica A + B - Cugola 2

Sommario

� Le reti di calcolatori, una vista d’ insieme

� Breve storia di Internet

� L’I nternet Protocol Suite

� I protocolli applicativi

� Il WWW– Schema di funzionamento– URL– Il li nguaggio HTML

� La ricerca di informazioni su Internet

Informatica A + B - Cugola 3

Il concetto di rete di calcolatori

� Con il termine “ rete di calcolatori” intendiamo riferirci a un sistema informativo costituito da due o più calcolatori collegati attraverso un sistema di comunicazione

� Una “applicazione distribuita” è una applicazione composta da più elementi cooperanti posti in esecuzione su macchine diverse all’ interno di una rete di calcolatori

Informatica A + B - Cugola 4

Topologia di rete� Con il termine “topologia di rete” si indica

la disposizione fisica dei componenti che realizzano la rete...

� ... la loro tipologia...

� ... e la modalità con la quale sono connessi

Page 2: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 5

Topologie standard

Rete ad anello Rete a stella

Rete a bus

Topologia irregolare

Informatica A + B - Cugola 6

Supporti fisici - 1

� Diversi mezzi trasmissivi possono essere adottati per costituire il supporto fisico sul quale viaggia la comunicazione in una rete di calcolatori

� I principali mezzi trasmissivi adottati sono:– Doppino ritorto (twisted pair):

• Costituito da due fini di rame ricoperti da una guaina e ritorti

• Tipicamente utili zzato per trasmissione telefonica

• Consente velocità di trasmissione medio alte (100 Mbssu rete locale)

• Su rete telefonica le velocità è più bassa (2 Mbpscon ADSL)

Informatica A + B - Cugola 7

Supporti fisici - 2

– Cavo coassiale:• Costituito da un filo centrale in rame rivestito da una guaina in

plastica a sua volta rivestita da una maglia in rame. Il tutto ricoperto da una guaina in plastica

• Per mette velocità di trasmissione medio alte (100Mbps)

– Fibra ottica:• Costituito da una fibra di vetro ricoperta, capace di trasportare

segnali l uminosi• La trasmissione avviene nel campo ottico sfruttando diodi

fotoelettrici alle estremità del cavo• Permette velocità di trasmissione molto elevate, dell ’ordine

delle decine di Gbps)

Informatica A + B - Cugola 8

Supporti fisici - 3

– Onde elettromagnetiche:• Usate per trasmissioni radio e via satellit e

• Consentono trasmissioni su lunghissime distanze con degrado minimo del segnale

• Permettono velocità di trasmissione medio alte e variabili a seconda della banda di frequenza utili zzata

Page 3: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 9

Segnalazione

� I dati binari scambiati da due calcolatori possono essere trasmessi direttamente sul canale o sfruttando la modulazione di un segnale portante

� Nel primo caso si parla di segnalazione in banda base– Esempio: il bit 1 viene trasmesso su un cavo come

presenza di tensione, il bit 0 come assenza

� Nel secondo si parla di segnalazione in modulazione

Informatica A + B - Cugola 10

Modulazione e demodulazione - 1

Il principio della modulazione si basa sull ’esistenza di un segnale portante che viene modulato per codificare i bit 1 e 0

Modulazione in frequenza

Portante Segnale 1 Segnale 0

Informatica A + B - Cugola 11

Modulazione e demodulazione 2

Modulazione di ampiezza

Modulazione di fase

Portante Segnale 1 Segnale 0

Portante Passaggio di fase

Informatica A + B - Cugola 12

Trasmissione�

La trasmissione può essere– Simplex

• Il senso di trasmissione è fisso (poco usata)

– Half-duplex• La trasmissione è possibile, alternativamente, nei

due sensi

– Full -duplex• La trasmissione è possibile, contemporaneamente,

nei due sensi

Page 4: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 13

Indirizzamento e commutazione

� Indirizzamento è un servizio fornito da una rete di comunicazione che consente di indirizza re un messaggio ad un singolo destinatario

� Commutazione indica la modalità con la quale la rete opera per fornire il servizio di indirizzamento– Commutazione di circuito

– Commutazione di pacchetto

Informatica A + B - Cugola 14

Commutazione

In generale una rete non è completa

Per collegare due nodi occorre stabili re un collegamento tra questi

Nel caso di reti a commutazione di circuito il collegamento è realizzato in maniera fisica

Nel caso di reti a commutazione di pacchetto il collegamento e “virtuale”

Informatica A + B - Cugola 15

Commutazione di circuito

� Quando un nodo A chiede un collegamento con un nodo B viene creato un circuito fisico che collega A a B

A

B

A

B

Commutazione

Informatica A + B - Cugola 16

Commutazione di pacchetto� In fase di trasmissione la rete non forma alcun

collegamento diretto tra due nodi...

� ... ma si limita a inviare i messaggi scambiati lungo i collegamenti della rete dal mittente al destinatario– Messaggi diversi possono prendere strade diverse

A

B

Page 5: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 17

Reti a commutazione di pacchetto: servizi forniti

� Le reti a commutazione di pacchetto forniscono due tipi di servizi– Servizi a datagramma

• Non viene creato alcun circuito tra mittente e destinatario• Il singolo messaggio viene gestito indipendentemente dai

precedenti e dai successivi

– Servizi a circuito virtuale• Viene stabilit o un circuito virtuale tra mittente e destinatario• Viene mantenuto l’ordinamento tra messaggi diversi inviati

lungo tale circuito virtuale• messaggi diversi inviati lungo lo stesso circuito virtuale possono

comunque compiere strade diverse lungo la rete per raggiungere il destinatario

Informatica A + B - Cugola 18

Protocollo di comunicazione

Con il termine “protocollo di comunicazione” si indica l’insieme di regole di comunicazione che debbono essere seguite da due interlocutori affinché essi possano comprendersi

Esempio: il protocollo alla base della comunicazione tra docente e alli evi durante una lezione– il docente parla in una lingua comprensibile agli alli evi– gli alli evi ascoltano (si spera)– quando vogliono intervenire gli alli evi alzano la mano ed

attendono il permesso del docente per iniziare a parlare– durante l’intervento degli alli evi il docente ascolta– al termine dell ’intervento il docente risponde

Informatica A + B - Cugola 19

Organizzazione a pila dei protocolli

I protocolli utili zzati dai calcolatori sono organizzati secondo una gerarchia

Ogni protocollo si appoggia ai protocolli di più basso livello per fornire un servizio di qualità superiore– Esempio: protocollo con correzione d’errore

costruito sulla base di un protocollo di puro trasporto

Informatica A + B - Cugola 20

Un esempio di rete di calcolatori: Internet e intranet

� Internet: una breve analisi storica

� Internet vs. intranet

� I protocolli di Internet– Protocolli fisici e di collegamento

• Ethernet, PPP

– Il protocollo TCP/IP• Descrizione del protocollo• Le primitive C per la programmazione di rete basata su TCP/IP

– Esempi di protocolli appli cativi:• Telnet, SMTP, POP3, IMAP, NNTP, FTP, HTTP

Page 6: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 21

Internet: “la rete delle reti”

� Internet: una rete aperta...

� ... logicamente formata da decine di milioni di calcolatori direttamente collegati tra loro...

� ... attraverso l’adozione di un unico insieme di protocolli per i l ivelli intermedi: il protocollo TCP/IP...

� I protocolli dei livelli più bassi possono essere diversi...

� ... e lo stesso vale per i protocoll i dei li velli superiori, anche se si sono venuti a formare degli standard di fatto

Informatica A + B - Cugola 22

Storia di Internet

Fine anni ’60:– la Advanced Research Project Agency (ARPA) sviluppa ARPANET con l’obiettivo

di connettere laboratori di ricerca, università e enti governativi

1970– L’università delle Hawaii, su commessa dell’ARPA sviluppa ALOHAn et, la prima

rete a commutazione di pacchetto

1971– ARPANET include 23 host

1973– ARPA diventa DARPA (Defence ...)– ARPANET collega per la prima volta un sito europeo (l’University College di

Londra)

Fineanni ’70: – DARPA finanzia lo sviluppo di protocoll i a commutazione di pacchetto– Nasce TCP/IP– Nel 1982 ARPANET si “converte” a TCP/IP

Informatica A + B - Cugola 23

Storia di Internet

Anni ’80– Nel 1983 la conversione a TCP/IP è completa– MILNET (rete governativa e militare) si separa da ARPANET (1983)– Nel 1984 nasce il primo DNS– DARPA finanzia lo sviluppo di Berkeley UNIX (implementazione di TCP/IP che

introduce l’astrazione dei socket)– ARPANET diventa un sottoinsieme di Internet– La National Science Foundation (NSF) realizza una rete di supercomputer

(NSFNET) che agisce comebackbonedi Internet (1985)– Nel 1987 si stima che Internet connettesse oltre 10.000 computer– Due anni dopo (nel 1989) si stima che Internet connettesse oltre100.000 computer

Anni ’90:– Il 28 Febbraio 1990 ARPANET viene definitivamente abbandonata (la rete è

oramai “governata” dalla NSF)– Nel 1991 NSF decide di rimuovere i vincoli che impediscono attività commerciali

su NFSNET– Nello stesso anno il CERN di Ginevra sviluppa il www (html, http e url)– Internet esplode e cresce con ritmi velocissimi (dimensioni e traffico)

Informatica A + B - Cugola 24

Internet: architettura logica

Rete

Serverftp

Clientweb

Clientftp

Serverweb

Clientweb

Clientweb

Serverftp

Serverweb

Page 7: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 25

Internet: architettura fisica

Host

router

Internetprovider

Informatica A + B - Cugola 26

Internet vs. Intranet

Internet: rete globale caratterizzata dall ’uso dei protocolli TCP/IP

Intranet: rete locale caratterizzata dall ’uso dei medesimi protocolli di Internet

Il boom di Internet ha favorito lo sviluppo di centinaia di appli cazioni distribuite basate su TCP/IP

Ciò ha reso conveniente l’uso dei protocolli TCP/IP anche in ambito locale

Attualmente la maggior parte delle reti locali sfrutta TCP/IP come protocollo base

Informatica A + B - Cugola 27

Internet Protocol Suite

Application

Session

Presentation

Network

Transport

DataLink

ISO/OSI

PhysicalNon specificati

IP e Protocolli di routing

TCP e UDP

Telnet

FTP

SMTP

HTTP RPC

Web-NFS

NFS

Internet Protocol Suite

Informatica A + B - Cugola 28

Il protocollo Ethernet� Ethernet è il protocollo più diffuso per la

creazione di reti locali

� Copre i livelli 1 e 2 della pila OSI

� Sviluppato a metà degli anni ’70 nei laboratori dellaXerox ottiene la prima standardizzazione ad opera della IEEE nel 1980

� Nella forma attuale viene standardizzato nel 1983 (standard IEEE802.3)

Page 8: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 29

Ethernet: caratteristiche - 1

Il protocollo ethernet consente trasmissioni su rete locale alla velocità di 10Mbit/s

La connessione avviene secondo lo schema a bus– Ogni macchina è logicamente collegata ad un unico canale sul

quale trasmette le informazioni e dal quale riceve le informazioni immesse da tutte le altre macchine

I supporti adottati possono essere diversi :– Coassiale spesso (1 cm di diametro c.a.)– Coassiale sottile (5 mm di diametro c.a.)– Doppino ritorto

A seconda del supporto adottato varia la lunghezza massima del cavo e la distanza minima tra le macchine

Informatica A + B - Cugola 30

Ethernet: caratteristiche - 2

La trasmissione avviene adottando una codifica in banda base

L’accesso alla rete avviene secondo la politi ca CSMA/CD (Carrier Sense Multiple Access/Colli sion Detection)– Prima di iniziare a trasmettere si ascolta il canale per accertarsi che

non sia già in uso– Appena il canale e libero si inizia a trasmettere– Durante la trasmissione si ascolta il canale per sincerarsi che non

stiano avvenendo colli sioni– In caso di coll isioni:

• si continua a trasmettere fino al raggiungimento della dimensione minima del pacchetto (64 byte)

• si attende un tempo arbitrario e si ricomincia a trasmettere

Informatica A + B - Cugola 31

Ethernet: conseguenze dell ’uso della politi ca CSMA/CD

� La velocità di trasmissione effettiva dipende dal numero di collisioni...

� ... che a sua volta dipende dal numero di macchine in rete– In una situazione reale non si va oltre il 40%÷60% della

banda disponibile

� La rete non è adatta alla trasmissione di traff ico multimediale – Non è possibile assicurare una ben precisa quali tà del

servizio

Informatica A + B - Cugola 32

Ethernet: topologia logica e fisica

Topologia logica ≡≡topologia fisica usando coax

Topologia fisica(usando doppino)

HUB

Page 9: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 33

Ethernet: caratteristiche del protocollo

� Connectionless– Non viene instaurato alcun tipo di connessione tra

mittente e destinatario

� Assenza di supporto alla correzione d’errore– Il campo FCS permette solo di riconoscere eventuali

errori ma non esiste supporto alla loro correzione

� Best-effort– Il sottosistema di rete non assicura la consegna ma fa

solo “del proprio meglio” per consegnare il messaggio

Informatica A + B - Cugola 34

Il protocollo PPP

� Usato per il collegamento diretto (punto a punto) tra due macchine– Tipicamente attraverso l’uso di un modem

� Protocollo di li vello 2– Si appoggia ad un protocollo di più basso li vello quale

V.90

� Può essere utilizzato per convogliare protocolli di livello 3 diversi quali IP, IPX/SPX, ecc.

� Protocollo con connessione

Informatica A + B - Cugola 35

Switch e router

� Le sottoreti che formano Internet sono collegate da appositi nodi genericamente chiamati gateway– Si occupano di instradare i messaggi dalla macchina

sorgente alla macchina destinazione

� Distinguiamo tra due tipologie di gateway:– switch : operano a li vello 2 della pila OSI. Sono molto

veloci ed adatti a collegare segmenti ethernet diversi per ripartire il traff ico

– router : operano a li vello 3 e 4. Possono effettuare conversioni di protocollo

Informatica A + B - Cugola 36

Il protocollo IP�

Caratteristiche:– protocollo connectionless– si occupadell ’instradamento e della rilevazione d’errore (nessuna

correzione)

Non si assicura:– la consegna, – l’integrità, – la non-duplicazione– l’ordine di consegna

IP si può appoggiare ad una varietà di protocolli di più basso li vello, quali Ethernet, PPP, X.25, Frame Relay, ATM, ...

Page 10: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 37

Gli i ndirizzi IP

Ogni host possiede un indirizzo IP unico per ogni interfaccia di rete

Gli i ndirizzi IP sono formati da 32 bit, suddivisi in una parte che individua una sottorete ed in una porzione che identifica un nodo particolare della sottorete

La divisione dipende dalla classe della sottorete, definita nei primi bit dell ’indirizzo– Classe A (0): NetId = 7 bit (128 reti), HostId = 24 bit (16777216 host)– Classe B (10): NetId = 14 bit (16384 reti), HostId = 16 bit (65536host)– Classe C (110): NetId = 21 bit (2097152 reti), HostId = 8 bit (256 host)– Multicast (1110): indirizzo multicast

� I router hanno due o più indirizzi IP diversi ed una tabella di istradamento

Informatica A + B - Cugola 38

Gestione degli i ndirizzi

L’uso di assegnare reti di classe A o B a compagnie che usano un ridotto sottoinsieme degli i ndirizzi rischia, oggi, di portare all’esaurimento degli i ndirizzi disponibili

Sono state proposte diverse soluzioni ad hoc che consentono di “recuperare” parte degli i ndirizzi perduti...

... ma l’unica vera soluzione si avrà con il passaggio a IPv6 che userà 128 bit per gli i ndirizzi– 340282366920938463463374607431768211456 indirizzi distinti– Contando anche l’assegnazione di sottospazi di indirizzi si calcola

che saranno disponibili 1564 indirizzi IP per ogni metro quadrato di superficie terrestre

Informatica A + B - Cugola 39

Ancora sugli i ndirizzi IP

Gli i ndirizzi IP si scrivono come quattro interi separati da punti– Esempio: 131.175.5.25

L’indirizzo 127.0.0.1 rappresenta l’interfaccia di loopback– Indirizzo “fittizio” associato alla macchina

corrente

Informatica A + B - Cugola 40

Indirizzi privati�

Gli i ndirizzi IP vengono gestiti dalla Internet Assigned Numbers Authority che collabora con strutture regionali (Europa, America, Asia)

Alcune aziende non potendo/volendo chiedere un set di indirizzi IP scelgono indirizzi a caso– In questo caso tali indirizzi non dovranno essere visibili da reti

esterne (si usa il meccanismo dell ’IP masquerading)

L’RFC 1597 definisce quali siano i set di indirizzi da usare in questo caso. Questi indirizzi non verranno mai assegnati a nessuna azienda o organizzazione

Page 11: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 41

Instradamento - 1

I datagrammi IP vengono trasportati dal nodo mittente al nodo destinatario attraverso molteplici nodi intermedi (router)

Sottorete

Sottorete

Sottorete

Router

Router

Router

Informatica A + B - Cugola 42

Instradamento - 2

I nodi attraverso cui il pacchetto compie il suo percorso (route) vengono determinati usando le tabelle di routing– Le tabelle possono essere determinate staticamente– Le tabelle possono essere aggiornate dinamicamente dai protocoll i

di routing (ad es. RIP)

Se lo host destinatario è direttamente collegato allo hostmittente, il datagramma viene incapsulato in un pacchetto di più basso li vello e consegnato direttamente

Se lo host destinatario è locali zzato in un’altra rete, ildatagramma viene passato ad unrouter che si occuperà di consegnarlo, seguendo un processo analogo

Informatica A + B - Cugola 43

Gli indirizzi simbolici ed i DNS

Un indirizzo simbolico può sostituire un indirizzo IP

Un indirizzo simbolico è composto da un nome di dominio e da un nome di host

– esempio: morgana.elet.polimi.it

I nomi di dominio vengono assegnati da un’autorità nazionale, chiamato Network Information Center (per l’Italia gestito dal CN R) che coopera con altre autorità simili

Il filehosts:– esempio:

127.0.0.1 localhost131.175.21.8 www.polimi.it131.175.21.1 morgana morgana.elet.polimi.it

I Domain Name Servers(DNS):– costituiscono un data base distribuito per i nomi simbolici– permettono l’associazione nome simbolico/indirizzo IP

Informatica A + B - Cugola 44

Il protocollo TCP�

Caratteristiche:– protocollo connection-oriented (indirizzo IP -

porta TCP)– fornisce un servizio full-duplex, con

acknowledgee correzione d’errore

Due host connessi su Internet possono scambiarsi messaggi attraverso socket TCP

TCP costituisce l’infrastruttura di comunicazione della maggior parte dei sistemi client-server su Internet

Page 12: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 45

Il protocollo UDP

� Caratteristiche:– protocollo connectionless(indirizzo IP - porta UDP)

– fornisce un servizio di ril evazione d’errore.

– Non assicura la consegna nè, tantomeno, l’ordine di invio (unreliable, best-effort protocol)

� Utili zzato nelle applicazioni client-server di tipo richiesta/risposta– Esempi:

NFS, DNS

Informatica A + B - Cugola 46

I protocolli applicativi

Telnet

FTP

SMTP

POP

NNTP

HTTP

Informatica A + B - Cugola 47

Telnet

� Permette ad un utente di collegarsi, attraverso il proprio elaboratore locale, come terminale remoto di un altro elaboratore connesso alla rete

� A connessione avvenuta tutti i caratteri battuti sulla tastiera locale vengono inviati all ’elaboratore remoto e le risposte da questo generate sono mostrate sullo schermo locale

� Sfrutta una connessione TCP (porta 23) tra elaboratore locale e remoto

Informatica A + B - Cugola 48

FTP (File Transfer Protocol)�

Permette il trasferimento di file tra elaboratori diversi connessi in rete

Vengono aperte due connessioni TCP per ogni sessione FTP:– una connessione di controllo (porta 20)

– una connessione dati (porta 21)

Il protocollo stabili sce il formato dei comandi e dei messaggi scambiati

FTP include un meccanismo di autenticazione basato su usernamee password passato dal client al server– lalogin anonymous

E’ possibile gestire trasferimenti ASCII (con conversione di for mato) o byte (image)

Page 13: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 49

SMTP (SimpleMail Transfer Protocol)

Gestisce l’invio di messaggi di posta elettronica attraverso la rete

La connessione tra i diversi server di posta avviene attraverso una connessione TCP (porta 25)

Ogni utente é identificato dall ’indirizzo:nomeutente@indirizzo_host

Il processo di invio ébatch

Informatica A + B - Cugola 50

POP (Post Off iceProtocol)

� Protocollo per la lettura della propria posta da un mail server

� Sfrutta una connessione TCP sulla porta 110

� Fornisce comandi per avere la lista dei propri messaggi, scaricare un messaggio dal server alclient, cancellare un messaggio dal server

� L’autenticazione è basata su una coppia “username-password” che viene scambiata in chiaro traclient e server

Informatica A + B - Cugola 51

SMTP e POP: il funzionamento della posta su Internet

Invio(smtp)

Invio(smtp)

Ricezione(pop)

Informatica A + B - Cugola 52

MIME� Multi-purposeInternet Mail Extension

� Definizione di un formato per i messaggi multimediali

� Superamento della RFC 822 che definisce lo standard per i messaggi testuali su Internet (linee brevi di caratteri ASCII a 7 bit)

� Progettato per essere facilmente estendibile

� Versione corrente 1.0– RFC 1521-1522

Page 14: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 53

Struttura di un messaggio MIME

Header– MIME- Ver s ion : specifica la versione dello standard MIME (ad

es. 1.0)– Content - Type : descrive il ti po dei dati contenuti nel body– Content - Transf er - Encoding : descrive il formato di

codifica del messaggio– Content - I D: identifica univocamente il messaggio– Content - Descri ption : descrive il contenuto in linguaggio

naturale

Body

Header e Body sono separati da un linea vuota

Informatica A + B - Cugola 54

Content-Type

Type: specifica il tipo generale dei dati

Subtype: specifica il tipo particolare

Attributi: parametri espressi con coppie attributo=valore dipendenti dal particolare tipo/sottotipo

È stato definito un insieme iniziale di tipi/sottotipi

Estensioni a questo set devono essere richieste all' IANA (Internet Assigned Numbers Authority)

Estensioni non-standard devono essere nominate con un prefisso "X- "

Informatica A + B - Cugola 55

Tipi predefiniti

text : testo

� Attributi:– charset : set di caratteri utili zzato

� Sottotipi:– plain : testo senza formattazione– richtext : testo con formattazione– html : testo HTML

� Esempio:Content - Type : t ext / pl ain ; charse t =us - ascii

Informatica A + B - Cugola 56

Tipi predefiniti�

message : messaggio incapsulato

Sottotipi– r fc 822: messaggio in formato

RFC 822– par t i al : porzioni di messaggi

RFC 822 (usato per frammentare messaggi lunghi). I messaggi vengono ricomposti grazie agli attributi id , number , t ota l

– ext er nal - body : riferimento ad una sorgente esterna di dati. Il modo di accesso è definito dall’attributo access- ty pe(f t p, anon- ft p, tf t p,afs , l ocal - f i l e, ma i l -ser ver )

Fr om: pi ppo

To: t opol i no

MI ME- Ver s i on : 1 . 0

Cont ent - Type: messa ge/ exte r nal - body

name=“s t andar d. ps”

si t e=“f t p. wal t di sney. com”

access - t ype=ANON- FTP

di r ecto r y=“p ub”

mode=“ i mage”

Cont ent - Type: appli cat i on/ posts cr i pt

Cont ent - I D: <i dd6673662882>

Page 15: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 57

Tipi predefiniti

multipart : oggetto costituito da diversi componenti (body part).

Ogni componente possiede uno header e un body separati da una linea vuota, e può essere a sua volta di tipomulti part

Attributi:– boundary : specifica la stringa usata per separare i diversi componenti

Sottotipi:– mixed : diversi sottotipi indipendenti

– alterna t ive : lo stesso dato viene rappresentato in formati diversi

– parallel : le diverse componenti devono essere visualizzate contemporaneamente

– digest : ogni sottoparte è del tipomessage

Informatica A + B - Cugola 58

Tipi predefiniti

image : immagini– Sottotipi

• jpeg : immagini JPEG• gif : immagini GIF• X- <form ato> : estensione

audio : suoni– Sottotipi

• basic• X- <form ato> : estensione

video : filmati– Sottotipi

• mpeg: filmato MPEG• X- <form ato> : estensione

Informatica A + B - Cugola 59

Tipi predefiniti

appl i cat i on : dati dipendenti dall ' applicazione

Sottotipi– octet - str eam: dati binari

– posts cript : filePostScript

– X- <ty pe>: estensione• application /X - java - applet

• application /X - SafeTcl

Informatica A + B - Cugola 60

Content-Transfer-Encoding�

Formato di codifica dei messaggi

7bit

quoted - printable

base64

8bit

binary

x- <codifica> : estensione

EsempioContent - Type : t ext / pl ain ; charse t =ISO- 8859- 1Content - Transf er - Encoding : base64

Page 16: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 61

Content-ID eContent-Description

Content-ID

– Etichetta unica che identif ica il messaggio

– Usato nei messaggi message/external-body

– Usato per il caching dei messaggi

Content-Description

– Testo in linguaggio naturale

Informatica A + B - Cugola 62

NNTP

I server di news costituiscono un data base distribuito e repli cato di “articoli ”

Il protocollo gestisce lo scambio di articoli t ra server e server (ai fini della repli cazione) e tra server e client

Il protocollo utili zza connessioni TCP (porta 119)

Le news sono organizzate in un insieme di newsgroup

I newsgroupsono organizzati secondo una struttura ad albero– Esempio:

comp.os.linux.announcecomp.os.ms-windows.miscalt.music.prince

Informatica A + B - Cugola 63

WWW: funzionamento

L’utente richiede una risorsa (solitamente un documento) identif icata da un URL

Lo user agent (browser) interpreta l’URL e inoltra una richiesta al server opportuno (ftp, http, gopher...)

Il server fornisce la risorsa richiesta o un messaggio di errore

Lo user agent interpreta i contenuti del messaggio di risposta

Se il messaggio è un documento HTML il browser si occupa automaticamente di reperire le sottoparti referenziate nel documento (immagini, applet java...)

La risorsa viene presentato all ’utente, eventualmente con l’ausi lio di programmi esterni (mpeg player, audio player)

Informatica A + B - Cugola 64

Il www come esempio di applicazione C/S

Richiesta

Risposta

Page 17: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 65

Uniform Resource Locator

Gli URL definiscono una sintassi e una semantica per l’identificazione e l’accesso a risorse su Internet

Un URL definisce:– quale protocollo (schema) usare per accedere alla risorsa (cioè quale

server contattare)– una coppia <username,password> opzionali (da usare ad esempio nel

caso di FTP)– il nome del server e la porta presso cui è disponibile il servizio– il path della risorsa– il nome della risorsa– eventuali parametri da passare alla risorsa

Esempio:http://www.elet.polimi.it:80/people/index.html

Informatica A + B - Cugola 66

URL: protocoll i supportati

http Hypertext Transfer Protocol

ftp File Transfer Protocol

gopher Gopher Protocol

mailto Indirizzo di posta elettronica

news Usenet news

nntp Usenet news con solo accesso locale

telnet, rlogin, tn3270 Riferimento a sessioni interattive

wais Wide AreaInformation Server

Informatica A + B - Cugola 67

Esempi di URL

� ftp://guest:[email protected]/pub/guest/dist101.tar.gz;type=I

� http://www.w3.org/

� http://www.ms.com/cgi-bin/prog.tcl/pathinfo?mychoice=yes&options=rrf

� mail to:[email protected]

� telnet://ipese3.elet.polimi.it

� news:comp.os.linux

Informatica A + B - Cugola 68

HTTP (HyperText Transfer Protocol)�

Protocollo per il trasferimento di informazioni traclient e server WWW

Sfrutta connessioni TCP (porta 80)

Caratteristiche:– ogni connessione permette una singola

transazione

– il trasferimento dati è binario

Page 18: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 69

Il linguaggio HTML

� HyperText Markup Languagepermette di creare semplici documenti ipertestuali platform-independent

� Versione corrente: 4

� Un documento HTML è costituito da testo e da un insieme di TAG

� I TAG HTML specificano:– il formato del testo (grassetto, titolo, ecc.)– connessioni ipertestuali con altri documenti– tabelle, applet, ...

Informatica A + B - Cugola 70

<H1 ALIGN=center>La verit&#224;</H1>

Start-tag Attributo Carattere codificato End-tag

Elementi base dei TAG

A volte è possibile omettere gli end-tag (ad es. <P>)

A volte è possibile omettere i valori degli attributi

I tag e i nomi degli attributi sono case-insensiti ve

Alcuni caratteri speciali (<,>,&,”,à) vanno codificati con una sequenza di escape &#xxx;

Informatica A + B - Cugola 71

Struttura di un documento HTML

Un documento HTML è delimitato dal tagHTML ed è composto da:– Head: delimitato dal tagHEAD contiene le

metainformazioni del documento: come minimo il titolo (tagTITLE)

– Body: delimitato dal tagBODY contiene il corpo del testo

Informatica A + B - Cugola 72

Head: Elementi fondamentali� TITLE definisce il tit olo del documento e

viene usato dal browser come nome di riferimento del documento all ’interno deibookmark

� BASE definisce un URL di riferimento per gli URL relativi (attributo HREF)

Page 19: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 73

Body: Elementi fondamentali

Il body contiene il testo della pagina formattato utili zzando i diversi tag disponibili

Tra questi vi sono (HTML 4)– Commenti: <!-- commento -->– Heading: H1,…, Hn

– Markup– Liste– Immagini– Link ipertestuali– Applet– Forms– Tabelle– Frames

Informatica A + B - Cugola 74

Pregi e difetti di HTML

Pregi– Semplice

– Standard

– Indipendente dalla piattaforma (un file html è un file di puro testo)

Difetti– All ’interno di una pagina html è impossibile mantenere separati gli

aspetti di contenuto da quelli di formattazione

– E’ quasi impossibile ottenere pagine che siano contemporaneamente facili da consultare a video e su carta

Soluzione: i CSS

Informatica A + B - Cugola 75

I cascading style sheet

I CSS permettono una agevole separazione tra forma e contenuto– Per ogni pagina html è possibile specificare le caratteristiche di

formattazione di ogni tag• Ad esempio è possibile dire che il tagH1 deve apparire in bold, 20pt,

blu

– Tale specifica può essere inserita nello header della pagina…– … o può apparire in un file distinto

• In tal modo è possibile centralizzare in un unico punto gli aspetti di formattazione relativi a tutte le pagine di un certo sito

Il meccanismo del cascading permette di differenziare in maniera agevole tra caratteristiche generali e caratteristiche specifiche di una singola pagina

E’ possibile associare “stili ” diversi a diversi supporti (video, carta, ecc.)

Informatica A + B - Cugola 76

XML: un linguaggio a markupestensibile

L’Extensible Markup Language (XML) è uno standard del W3C nato nel febbraio del 1998

Si tratta di un li nguaggio a markup estensibile– Un sottoinsieme di SGML– Con il quale è possibile creare nuovi tag

Tale li nguaggio può essere usato per descrivere, in forma testuale, informazioni strutturateEs. – Descrivere un prodotto avente un codice, un colore, una

descrizione testuale– Descrivere un prodotto composto da parti ognuna delle quali

caratterizzata da informazioni specifiche

Il suo ambito naturale di utilizzo è quindi nel supporto alle attività di business-to-business

Page 20: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 77

XML: un linguaggio a markupestensibile

Come tutte le specifiche W3C, XML è uno standard aperto e indipendente dalla piattaforma

Un documento XML è un documento di puro testo composto da dati e tag– In tal senso un documento XML assomiglia ad

un documento HTML• L’intero li nguaggio HTML può essere definito

usando XML

Informatica A + B - Cugola 78

XML: un esempio<?xml version="1.0" standalone="yes"?><person>

<name><title>Ing.</title><first-name>Mario</first-name><last-name>Rossi</last-name>

</name><address type=“work”>

<street>P.zza Leonardo da Vinci</street><number>1</number><city>Milano</city><country>Italia</country><zipcode>20133</zipcode>

</address>

</person>

Informatica A + B - Cugola 79

XML vs. HTML

HTML è un linguaggio di descrizione di pagina– I tag HTML permettono di descrivere come certe informazioni

dovranno apparire a video

– HTML fornisce informazioni legate all ’aspetto dei dati

XML è un linguaggio di descrizione di dati– I tag XML nascono per definire informazioni riguardanti il ti po del

dato, come esso sia strutturato e cosa le diverse parti rappresentino

I tag HTML sono predefiniti– Nuove versioni di HTML aggiungono sempre nuovi tag

XML permette la definizione di nuovi tag

Informatica A + B - Cugola 80

Possibili utilizzi di XML�

In generale XML facilit a lo scambio di dati tra applicazioni– Per applicazioni di business-to-business– Per permettere l’interoperabilit à tra applicazioni diverse

• Es. Database

– Per creare formati standard che superino i vincoli dei formati proprietari (es. file word vs. XML)

Miglioramento delle tecnologie di ricerca– Es. ricerca di informazioni commerciali (prezzo migliore per un

certo tipo di prodotto)

Scambio di informazioni tra agenti o tra agenti e siti

Se HTML è il li nguaggio per il “ rendering” di informazioni sotto forma di pagine web, XML è il li nguaggio per lo scambio dati su web

Page 21: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 81

Caratteristiche di un documento XML

Ogni documento XML inizia con una dichiarazione nella forma:– <?xml version="1.0" standalone="yes"?>

Un documento XML può essere:– Ben formato

– Valido

Un documento ben formato soddisfa le regole generali di XML– Per ogni tag aperto ne esiste uno chiuso

– Vengono rispettate le regole di inclusione

– ...

Un documento valido è un documento ben formato al quale è associato un document type definition (DTD)– Il DTD definisce quali tag possano essere utili zzati e come

Informatica A + B - Cugola 82

Documenti ben formati

Un documento XML è “ben formato” se:– Ha uno ed un solo elemento radice

• Che non è contenuto all ’interno di nessun altro elemento

– Viene rispettata la regola di corretto annidamento tra elementi• Per ogni start-tag interno ad un elemento X esiste un end-tag posto

prima della fine di X

– Vengono rispettate le regole sulla sintassi dei tag• Uso di soli caratteri alfanumerici nel nome del

tag, …

Un documento ben formato può essere utili zzato per descrivere un qualsiasi tipo di dato

Ad esso non è espli citamente associato alcun descrittore del tipo

Informatica A + B - Cugola 83

I DTD

Un DTD definisce le regole che un documento XML deve soddisfare per essere considerato valido rispetto a quel DTD

Tali regole definiscono nome e tipo del contenuto di ogni elemento che può apparire nel documento

Nonché le regole che definiscono dove tale elemento può o deve apparire all ’interno del documento

Un DTD rappresenta la definizione della grammatica di un li nguaggio– Il li nguaggio che deve essere usato per definire tutti i documenti

validi rispetto a quel DTD

Informatica A + B - Cugola 84

I DTD: Un esempio

<!ELEMENT MEMO (TO,FROM,SUBJECT,BODY,SIGN)>

<!ATTLIST MEMO importance (HIGH|MEDIUM|LOW) "LOW">

<!ELEMENT TO (#PCDATA)>

<!ELEMENT FROM (#PCDATA)>

<!ELEMENT SUBJECT (#PCDATA)>

<!ELEMENT BODY (P+)>

<!ELEMENT P (#PCDATA)>

<!ELEMENT SIGN (#PCDATA)>

<!ATTLIST SIGN signatureFile CDATA #IMPLIED

email CDATA #REQUIRED>

Page 22: Breve storia di Internet L’Internet Protocol Suite Il WWW ...home.deib.polimi.it/cugola/pub/infoA-Reti.pdf · Le reti di calcolatori e Internet Politecnico di Milano Sede di Cremona

Informatica A + B - Cugola 85

Documenti validi

Un documento XML è “valido” se:– E’ ben formato– Ha un DTD associato– E’ conforme al DTD associato

• Rispetta le regole sintattiche ivi definite

Un documento XML valido inizia con la dichiarazione:– <?xml ve r sion =" 1.0" s tanda l one=“ no"?>

L’associazione “documento XML” – DTD si ottiene tramite l’uso del tag DOCTYPE nel documento XML:– <!DOCTYPE MEMO SYSTEM " memo. dtd ">

oppure<!DOCTYPE MEMO [ … ]

Informatica A + B - Cugola 86

XML: un insieme di tecnologie

CSS

XSL

XSLT

XPath

DOM

Informatica A + B - Cugola 87

XML: Quali strumenti

� Strumenti di editing

� Browser

� Strumenti per la verifica di correttezza– Verifica che un documento sia ben formato– Verifica che un documento sia valido

� Strumenti per il parsing– Creano un albero di oggetti che descrive il documento

XML– Tipicamente disponibili per Java e C++– Generalmente consentono anche il passaggio inverso

Informatica A + B - Cugola 88

I motori di ricerca per il WWW�

Directory based:– Mantengono un data base di URL organizzati attraverso un indice di

argomenti– Esempio:

http://www.yahoo.com

Text based:– Mantengono un data base di URL indicizzati attraverso un insieme di

parole chiave automaticamente estratte dal documento a cui l ’URL punta– Esempio:

http://www.google.com

Archivi universali:– Permettono ricerche su più motori in parallelo– Esempio:

http://www.mamma.com/