Indirizzi Internet

Transcript

Indirizzi Internet
Indirizzi Internet e
Protocolli
I livelli di trasporto delle informazioni
Comunicazione e naming
in Internet
Tre nuovi standard
Sistema Client – Server
Sistema di indirizzamento delle risorse (URL)
Linguaggio HTML
Protocollo HTTP
Client (Browser)
Server Web
Meccanismi di comunicazione e naming
di Internet
TCP / IP
DNS
Come rintracciare un nodo
Internet, è un vasto insieme di reti (collegate tra loro dai router)
diffuse in tutto il mondo, sul quale sono state sviluppate
numerose applicazioni, tra cui il WWW.
Si è visto che per rintracciare una risorsa Web si ricorre all’URL,
ma in realtà che cosa accade fisicamente (a livello macchina)
quando si ricerca un nodo della rete?
La chiave del problema sono gli indirizzi
internet, detti indirizzi IP.
(IP=Internet Protocol)
Indirizzi Internet
Per fornire un servizio di comunicazione universale
(ogni nodo della rete può comunicare con ciascun
altro) occorre un metodo che identifichi
univocamente ciascun nodo o host.
Ad ogni nodo è assegnato un unico indirizzo
internet (indirizzo IP) rappresentato da un
numero (in base 2) a 32 bit, quindi per esempio:
00101011 01101001 11010101 11011010
ci possono essere 232 ≈ 4,3 miliardi di indirizzi
diversi
Netid – Hostid
L’indirizzo IP è suddiviso in 4 campi, ciascuno dei
quali è formato da 8 bit, separati da un punto
(dotted notation):
00101011 . 01101001 . 11010101 . 11011010
che in base 10 è: 43.105.213.218
Ogni indirizzo è formato dalla coppia ordinata
(netid,hostid), dove:
netid identifica la rete
hostid identifica un host di quella rete
Quindi tutti i nodi appartenenti ad una stessa rete
condividono lo stesso netid, cioè il prefisso di rete.
Classi di indirizzi
Esistono 4 classi di indirizzi IP:
Classe
Classe
Classe
Classe
A:
B:
C:
D:
da
da
da
da
0.1.0.0 a
128.0.0.0
192.0.0.0
240.0.0.0
126.0.0.0
a 191.255.0.0
a 239.255.255.0
a 247.255.255.255
Schema delle classi di
indirizzi IP
Comunicazioni e Protocolli
Tutte le comunicazioni in Internet sono
regolate mediante protocolli
I protocolli definiscono:
Formato dei messaggi
Ordine dei messaggi inviati e ricevuti tra
dispositivi di Internet
Azioni da effettuare al momento della
trasmissione e della ricezione dei messaggi
I protocolli utilizzati in Internet si basano
sulla suite di protocolli TCP / IP
Esempi di protocolli
Packet Switching
In Internet le informazioni non vengono di norma trasmesse per intero, ma vengono
suddivise in pacchetti, che a seconda delle disponibilità della rete seguono tipicamente
percorsi diversi: questa operazione si chiama packet switching.
Analogia del Ristorante:
Circuit switching = con prenotazione del tavolo
Packet switching = senza prenotazione
Pila di protocolli Internet
(TCP/IP)
Applicativo: supporta le applicazioni
di rete: FTP, HTTP, SMTP…
Trasporto: supporta i trasferimenti
da host a host: TCP.
Rete: trasferisce i pacchetti dal nodo
del mittente al destinatario: IP.
Link: effettua i trasferimenti dei dati
tra componenti delle reti confinanti.
Fisico: trasferisce i bit “su cavo”
IP: Internet Protocol
Protocollo per la consegna dei pacchetti da
un host mittente ad un host destinatario.
Caratteristiche
Privo di connessione: ogni pacchetto è trattato
in modo indipendente da tutti gli altri
Non affidabile: la consegna non è garantita (i
pacchetti possono essere persi, duplicati, ritardati,
o consegnati senza l’ordine di invio)
Consegna con impegno: tentativo di
consegnare ogni pacchetto (l’inaffidabilità deriva
dalle possibili congestioni della rete o guasti ai
nodi/router)
TCP: Transmission Control
Protocol (livello trasporto)
Protocollo che fornisce un livello di trasporto
dell’informazione affidabile.
Caratteristiche principali:
Orientato al flusso dei dati: considera il flusso dei dati
dall’host mittente fino al destinatario
Orientato alla connessione: comprende l’instaurazione,
l’utilizzo e la chiusura della connessione
Trasferimento con buffer: i dati sono memorizzati in un
buffer e poi inseriti in un pacchetto quando il buffer è pieno
Connessione full duplex (bidirezionale): è possibile il
trasferimento contemporaneo in entrambe le direzioni della
connessione.
Schema protocolli TCP/IP
Flusso del traffico TCP:
esempio
“Identificatori” in Internet
Le persone hanno molteplici “identificatori”:
nome, numero di passaporto, codice fiscale …
I telefoni sono denotati da un unico numero
I disposirivi collegati a internet (host, router)
hanno due identificatori:
Indirizzo IP (numero di 32 bit): utilizzato per
indirizzare e instradare i pacchetti nella rete
Hostname (stringa alfanumerica): nome logico
utilizzato dalle persone
Hostname
Dato lo scopo rivolto verso l’utente,
all’hostname si preferiscono attribuire nomi
mnemonici.
DOMINIO
Es.: nome del computer e posizione
sun11.dsi.unimo.it
Nome del
computer
Italia
Dipartimento di
Scienze dell’Ingegneria
Università
di Modena
DNS: Domain Name
System
Realizza uno spazio di nomi gerarchico e permette la
traduzione del nome mnemonico di un host in un
indirizzo IP. Es:
Hostname:
sun11.dsi.unimo.it
Indirizzo IP:
134.56.26.68
(10000110.00111000.00011010.01000100)
Implementa un meccanismo efficiente (mediante
name servers), distribuito su scala geografica, per
convertire un hostname in un indirizzo IP e viceversa.
Schema dei domini
maggiori
Sistema DNS: Meccanismo
di risoluzione
Nessun Name Server ha tutte le
corrispondenze tra Hostname e Indirizzo IP
Esistono
Name server locali: ogni ISP e organizzazione gestisce
uno o più name server locali, che vengono invocati per primi
dagli host dell’organizzazione stessa
Name server autoritativi: relativamente ad un host, sono
i name server che hanno la corrispondenza
(hostname)(indirizzo IP) più aggiornata e corretta
Name server radice(root name server): contattati dai
name server locali quando non riescono a risolvere un
indirizzo, contattano i name server autoritativi per
quell’indirizzo.
Sistema DNS: Esempio di
risoluzione
1.
2.
3.
L’host sun11.dsi.unimo.it
vuole conoscere l’indirizzo IP
dell’host star.dis.uniroma2.it
Contatta il suo DNS locale
Se necessario il suo DNS
locale contatta il root DNS
Se necessario, il root DNS
contatta il DNS autoritativo
per quell’indirizzo (o un DNS
intermedio nel caso in cui
non conosca un DNS
autoritativo per
quell’indirizzo)
Approfondimenti sul
WWW
Confronto: naming di
Internet e del Web
INTERNET
WORLD WIDE WEB
DNS
URL
Host
Risorsa Web
Hostname
Valore URL
Azioni di un browser (1)
Fase di lookup
Il browser acquisisce dall’utente l’URL da richiedere
Il browser invoca il name server per conoscere, tramite il
sistema DNS, l’indirizzo IP dell’URL cercato
Se esistente, il DNS restituisce l’indirizzo IP
Fase di richiesta
Il browser attiva una connessione TCP con l’host che ha
l’indirizzo IP individuato
Sfruttando questa connessione, il browser richiede mediante il
protocollo HTTP la risorsa specificata nell’URL.
Il server Web invia la pagina richiesta
Se vi sono oggetti allegati alla pagina, il browser
effettua una richiesta per ciascuno di essi
Fasi di una richiesta HTTP
Azioni di un browser (2)
Fase di visualizzazione
Una volta inviati tutti gli oggetti il server chiude la
connessione TCP
Non appena riceve il primo file, il browser analizza
come visualizzare sul monitor il testo contenuto nella
pagina
Il browser carica e mostra gli eventuali oggetti
allegati alla pagina
Nel caso in cui l’oggetto ricevuto è in qualche formato
non direttamente interpretabile dal browser, questi
può attivare un apposito programma plug-in che
ne consente la visualizzazione.
Richiesta di un oggetto
statico
Richiesta di un oggetto
dinamico
Ottimizzazioni
Mirroring
Proxy caching
Sistemi Web paralleli (distribuiti localmente)
Sistemi Web distribuiti (geograficamente)
Server Proxy
Nel caso più semplice la comunicazione tra
client e server avviene direttamente
Più in generale, ove non sia possibile o non
conveniente che il client contatti direttamente
il server,vengono utilizzati degli intermediari
che possono essere di vari tipi, ma tra cui il
più diffuso è il server proxy.
Richiesta tramite server
proxy
Il server proxy agisce sia da server nei confronti del client
Web, sia da client nei confronti del server Web
Caching dell’Informazione
I server proxy, nati come intermediari per consentire
la comunicazione tra client all’interno di Intranet con
server Web esterni, sono anche utilizzati come
strumenti di caching (memorizzazione temporanea)
dell’informazione
MOTIVO: è elevata la probabilità che i client della
stessa organizzazione possono essere interessati alle
medesime informazioni Web
Nel momento in cui tale informazione viene reperita
per la prima volta da un server web, può essere
conveniente memorizzarla nel server proxy, in
modo che successive richieste per la stessa pagina
provenienti dalla stessa rete possono essere
soddisfatte localmente
Proxy caching
Ottimizzazioni dal lato
server Web
Sistemi Web Paralleli
Sito Web distribuito
geograficamente