le reti di calcolatori e internet: una breve...
TRANSCRIPT
1
Le reti di calcolatori e Internet: una breve panoramica
Gianpaolo Cugolahttp://www.elet.polimi.it/~cugola
2
SommarioLe reti di calcolatori, una vista d’insiemeBreve storia di InternetL’Internet Protocol SuiteI protocolli applicativiIl WWW– Schema di funzionamento– URL– Il linguaggio HTML
La ricerca di informazioni su Internet
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 comunicazioneUna “applicazione distribuita” è una applicazione composta da più elementi cooperanti posti in esecuzione su macchine diverse all’interno di una rete di calcolatori– Esempio, il web: il browser si collega ad un server
remoto per chiedere una pagina che poi visualizza
4
Protocollo di comunicazioneCon il termine “protocollo di comunicazione” si indica l’insieme di regole di comunicazione che debbono essere seguite da due interlocutori affinché essi possano comprendersiEsempio: il protocollo alla base della comunicazione tra docente e allievi durante una lezione– il docente parla in una lingua comprensibile agli allievi– gli allievi ascoltano (si spera)– quando vogliono intervenire gli allievi alzano la mano ed
attendono il permesso del docente per iniziare a parlare– durante l’intervento degli allievi il docente ascolta– al termine dell’intervento il docente risponde
5
Protocollo di comunicazione
In una rete di calcolatori il protocollo di comunicazione stabilisce tutti gli aspetti della comunicazione– dagli aspetti fisici...
• Esempio: supporto fisico, meccanismo di segnalazione)
– ... agli aspetti più eminentemente logici• Esempio: meccanismo di commutazione, regole di
codifica dell’informazione, ecc.
6
Organizzazione a pila dei protocolli
Data la loro complessità i protocolli utilizzati 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: il protocollo che stabilisce le regole di
codifica dell’informazione si appoggia ad un protocollo di trasporto che stabilisce come debbano essere trasportati i dati
7
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 livelli intermedi: il protocollo TCP/IP...I protocolli dei livelli più bassi possono essere diversi...... e lo stesso vale per i protocolli dei livelli superiori, anche se si sono venuti a formare degli standard di fatto
8
Storia di Internet
Fine anni ’60:– la Defence Advanced Research Project Agency (DARPA) sviluppa
ARPANET che connette laboratori di ricerca, università e reti governative
Fine anni ’70: – DARPA finanzia lo sviluppo di protocolli a commutazione di
pacchetto– Nasce TCP/IP– Nel 1980 ARPANET si “converte” a TCP/IP
9
Storia di InternetAnni ’80– Nel 1983 la conversione a TCP/IP è completa, l’ufficio del Segretario
della Difesa US ordina che tutti i computer connessi a reti a lunga distanza usino TCP/IP
– MILNET (rete governativa e militare) si separa da ARPANET (1983)– 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 come backbone di Internet (1985)– Nel 1986 si stima che Internet connettesse circa 20.000 computer
Anni ’90:– Internet esplode e cresce con ritmi velocissimi (dimensioni e traffico)
10
Internet: architettura logica
Rete
Serverftp
Clientweb
Clientftp
Serverweb
Clientweb
Clientweb
Serverftp
Serverweb
11
Internet: architettura fisica
Host
router
Internetprovider
12
Internet vs. Intranet
Internet: rete globale caratterizzata dall’uso dei protocolli TCP/IPIntranet: rete locale caratterizzata dall’uso dei medesimi protocolli di InternetIl boom di Internet ha favorito lo sviluppo di centinaia di applicazioni distribuite basate su TCP/IPCiò ha reso conveniente l’uso dei protocolli TCP/IP anche in ambito localeAttualmente la maggior parte delle reti locali sfrutta TCP/IP come protocollo base
13
Internet Protocol Suite
Application
Session
Presentation
Network
Transport
Data Link
ISO/OSI
PhysicalNon specificati
IP e Protocolli di routing
TCP e UDP
Telnet
FTP
SMTP
HTTP RPC
Web-NFS
NFS
Internet Protocol Suite
14
Il protocollo IPCaratteristiche:– protocollo connectionless– si occupa dell’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 livello, quali Ethernet, PPP, X.25, Frame Relay, ATM, ...
15
Gli indirizzi IPOgni host possiede un indirizzo IP unico per ogni interfaccia di reteGli indirizzi IP sono formati da 32 bit, suddivisi in una parte che individua una sottorete ed in una porzione che identifica un nodo particolare della sottoreteLa 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 (65536 host)– Classe C (110): NetId = 21 bit (2097152 reti), HostId = 8 bit (256 host)– Multicast (1110): indirizzo multicast
I router hanno due o piu’ indirizzi IP diversi ed una tabella di instradamento
16
Gestione degli indirizziL’uso di assegnare reti di classe A o B a compagnie che usano un ridotto sottoinsieme degli indirizzi rischia, oggi, di portare all’esaurimento degli indirizzi disponibiliSono state proposte diverse soluzioni ad hoc che consentono di “recuperare” parte degli indirizzi perduti...... ma l’unica vera soluzione si avrà con il passaggio a IPv6 che userà 128 bit per gli indirizzi– 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
17
Ancora sugli indirizzi IP
Gli indirizzi 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
18
Indirizzi privati
Gli indirizzi IP vengono assegnati da un’autorità nazionale, chiamato Network Information Center (GARR in Italia) che coopera con altre autorità similiAlcune 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
19
Instradamento - 1
I datagrammi IP vengono trasportati dal nodo mittente al nodo destinatario attraverso molteplici nodi intermedi (router)
Sottorete
Sottorete
Sottorete
Router
Router
Router
20
Instradamento - 2I 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 protocolli
di routing (ad es. RIP)Se lo host destinatario è direttamente collegato allo hostmittente, il datagramma viene incapsulato in un pacchetto di più basso livello e consegnato direttamenteSe lo host destinatario è localizzato in un’altra rete, ildatagramma viene passato ad un router che si occuperà di consegnarlo, seguendo un processo analogo
21
Gli indirizzi simbolici ed i DNSUn indirizzo simbolico può sostituire un indirizzo IPUn indirizzo simbolico è composto da un nome di dominio e da un nome di host– esempio: morgana.elet.polimi.it
Il file hosts:– 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
22
Il protocollo TCPCaratteristiche:– protocollo connection-oriented (indirizzo IP -
porta TCP)– fornisce un servizio full-duplex, con
acknowledge e correzione d’erroreDue host connessi su Internet possono scambiarsi messaggi attraverso socket TCPTCP costituisce l’infrastruttura di comunicazione della maggior parte dei sistemi client-server su Internet
23
Il protocollo UDP
Caratteristiche:– protocollo connectionless (indirizzo IP - porta UDP)– fornisce un servizio di correzione d’errore.– Non assicura la consegna nè, tantomeno, l’ordine di
invio (unreliable, best-effort protocol)
Utilizzato nelle applicazioni client-server di tipo richiesta/risposta– Esempi:
NFS, DNS
24
I protocolli applicativi
TelnetFTPSMTPPOPNNTPHTTP
25
Telnet
Permette ad un utente di collegarsi, attraverso il proprio elaboratore locale, come terminale remoto di un altro elaboratore connesso alla reteA connessione avvenuta tutti i caratteri battuti sulla tastiera locale vengono inviati all’elaboratore remoto e le risposte da questo generate sono mostrate sullo schermo localeSfrutta una connessione TCP (porta 23) tra elaboratore locale e remoto
26
FTP (File Transfer Protocol)Permette il trasferimento di file tra elaboratori diversi connessi in reteVengono aperte due connessioni TCP per ogni sessione FTP:– una connessione di controllo (porta 20)– una connessione dati (porta 21)
Il protocollo stabilisce il formato dei comandi e dei messaggi scambiatiFTP include un meccanismo di autenticazione basato su username e password passato dal client al server– la login anonymous
E’ possibile gestire trasferimenti ASCII (con conversione di formato) o byte (image)
27
SMTP (Simple Mail Transfer Protocol)
Gestisce l’invio di messaggi di posta elettronica attraverso la reteLa connessione tra i diversi server di posta avviene attraverso una connessione TCP (porta 25)Ogni utente é identificato dall’indirizzo:
nomeutente@indirizzo_hostIl processo di invio é batch
28
POP (Post Office Protocol)
Protocollo per la lettura della propria posta da un mail serverSfrutta una connessione TCP sulla porta 110Fornisce comandi per avere la lista dei propri messaggi, scaricare un messaggio dal server alclient, cancellare un messaggio dal serverL’autenticazione è basata su una coppia “username-password” che viene scambiata in chiaro tra client e server
29
SMTP e POP: il funzionamento della posta su Internet
Invio(smtp)
Invio(smtp)
Ricezione(pop)
30
NNTPI server di news costituiscono un data base distribuito e replicato di “articoli”Il protocollo gestisce lo scambio di articoli tra server e server (ai fini della replicazione) e tra server e clientIl protocollo utilizza connessioni TCP (porta 119)Le news sono organizzate in un insieme di newsgroupI newsgroup sono organizzati secondo una struttura ad albero– Esempio:
comp.os.linux.announcecomp.os.ms-windows.miscalt.music.prince
31
WWW: funzionamentoL’utente richiede una risorsa (solitamente un documento) identificata da un URLLo 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 erroreLo user agent interpreta i contenuti del messaggio di rispostaSe 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’ausilio di programmi esterni (mpeg player, audio player)
32
Il www come esempio di applicazione C/S
Richiesta
Risposta
33
Uniform Resource LocatorGli URL definiscono una sintassi e una semantica per l’identificazione e l’accesso a risorse su InternetUn 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
34
URL: protocolli supportati
http Hypertext Transfer Protocolftp File Transfer Protocolgopher Gopher Protocolmailto Indirizzo di posta elettronicanews Usenet newsnntp Usenet news con solo accesso localetelnet, rlogin, tn3270 Riferimento a sessioni interattivewais Wide Area Information Server
35
Esempi di URL
ftp://guest:[email protected]/pub/guest/dist101.tar.gz;type=Ihttp://www.w3.org/http://www.ms.com/cgi-bin/prog.tcl/pathinfo?mychoice=yes&options=rrfmailto:[email protected]://ipese3.elet.polimi.itnews:comp.os.linux
36
HTTP (HyperText Transfer Protocol)
Protocollo per il trasferimento di informazioni tra client e server WWWSfrutta connessioni TCP (porta 80)Caratteristiche:– ogni connessione permette una singola
transazione– il trasferimento dati è binario
37
Il linguaggio HTMLHyperText Markup Language permette di creare semplici documenti ipertestuali platform-independentVersione corrente: 4Un documento HTML è costituito da testo e da un insieme di TAGI TAG HTML specificano:– il formato del testo (grassetto, titolo, ecc.)– connessioni ipertestuali con altri documenti– tabelle, applet, ...
38
<H1 ALIGN=center>La verità</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 attributiI tag e i nomi degli attributi sono case-insensitiveAlcuni caratteri speciali (<,>,&,”,à) vanno codificati con una sequenza di escape &#xxx;
39
Struttura di un documento HTML
Un documento HTML è delimitato dal tagHTML ed è composto da:– Head: delimitato dal tag HEAD contiene le
metainformazioni del documento: come minimo il titolo (tag TITLE)
– Body: delimitato dal tag BODY contiene il corpo del testo
40
Head: Elementi fondamentali
TITLE definisce il titolo del documento e viene usato dal browser come nome di riferimento del documento all’interno deibookmarkBASE definisce un URL di riferimento per gli URL relativi (attributo HREF)
41
Body: Elementi fondamentaliIl body contiene il testo della pagina formattato utilizzando i diversi tag disponibiliTra questi vi sono (HTML 4)– Commenti: <!-- commento -->– Heading: H1,…, Hn– Markup– Liste– Immagini– Link ipertestuali– Applet– Forms– Tabelle– Frames
42
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
43
I cascading style sheetI 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 tag H1 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 paginaE’ possibile associare “stili” diversi a diversi supporti (video, carta, ecc.)
44
I motori di ricerca per il WWWDirectory based:– Mantengono un data base di URL organizzati attraverso un indice di
argomenti– Esempio:
http://www.yahoo.comText 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.comArchivi universali:– Permettono ricerche su più motori in parallelo– Esempio:
http://www.mamma.com/