Cosa è Internet? - Dipartimento di Informatica

Transcript

Cosa è Internet? - Dipartimento di Informatica
Internet
router
• Milioni di dispositivi
computazionali connessi
in rete: hosts, end-systems
Cosa è Internet?
server
workstation
mobile
ISP: Milano
– Pc, workstation, server
– PDA, cellulari, frigoriferi
ISP: Catania
• Collegamenti
– Fibre ottiche, ponti radio,
satellite,
• router: compito di inoltrare
pezzi di dati lungo la rete
Rete di
Ateneo
Pisa
1
Internet
• Protocolli di comunicazione:
meccanismi per la
trasmissione dei messaggi
– TCP, IP, HTTP, FTP, PPP
2
Internet: una visione a servizi
router
server
workstation
mobile
ISP Milano
• Internet: “network of
networks”
ISP Catania
– gerarchica
• Internet: standard
• Infrastruttura di
comunicazione che
permette lesecuzione di
applicazioni distribuite:
– WWW, email, e-commerce,
Information Retrieval, sit,
P2P, e-goverment
– altro?
• Servizi:
– RFC: Request for comments
– IETF: Internet Engineering
Task Force
– connectionless
– connection-oriented
Rete di
Ateneo
Pisa
• cyberspazio
3
4
1
Protocolli di comunicazione?
Comunicazione tra
persone:
• “Che tempo fa?”
• “Mi consenta”
• Presentazione formale
… invio di determinati
msg
… azioni di risposta alla
recezione del msg
Protocolli di comunicazione
Comunicazione di rete:
• Scambio di
informazioni tra
dispositivi
computazionali
• Protocolli regolano il
flusso delle
comunicazioni
Ciao
TCP connection
req.
Ciao
TCP connection
reply.
Che ora è?
Get http://www.di.unipi.it/index.htm
2:30
Protocollo definisce:
Formato
Ordine dei msg
Azioni di risposta
<file>
tempo
Comunicazione tra persione vs comunicazione di rete:
5
La struttura di Internet:
6
• hosts:
Internet: Servizi
– Applicazioni e servizi di rete
– e.g., WWW, email
• Applicazioni e Host
• Nucleo della rete:
• Modello client/server
– Host (client) host rinvia una
richiesta di servizio, host
(server) fornisce il servizio
– e.g., WWW client (browser)/
server; email client/server
– router
– network of networks
• Collegamenti fisici:
• peer2peer:
– Non ci sono server dedicati
– Interazione è simmetrica
– e.g.: FreeNet, GNUTELLA
7
8
2
Servizi orientati alla
connessione
Servizi non orientati alla connessione
TCP [RFC 793]
Obiettivo: trasferimento
di dati tra host
• handshaking: fase
iniziale di
inizializzazione
– Servizio orientato alla
connessione di Internet
dati tra host
• UDP - User Datagram
Protocol [RFC 768]:
– Trasferimento non
affidabile
– Non sono previsti
meccanismi per il
controllo del flusso e
della congestione
– Ack+Ritrasmissione
• Controllo del flusso:
– Sender non deve
trasmettere troppo
velocemente
– “set up” dello stato
• TCP - Transmission
Control Protocol
Obiettivo: trasferimento di
• Trasferimento di dati
affidabile
• Controllo della
congestione control:
– Sender non deve
congestionare il traffico di
rete
TCP:
• HTTP (WWW), FTP
(file transfer), Telnet
(remote login),
SMTP (email)
UDP:
• Apps video/Audio,
teleconferenze,
telefonia su Internet
9
10
Nucleo della rete
•
•
Commutazione di circuito
Ragnatela di router
La domanda fondamentale:
Come avviene il trasferimento
dei dati nelle reti?
– Commutazione di circuito:
circuito dedicato per ogni
chiamata (rete telefonica)
– Commutazione di
pacchetto: i dati sono inviati
in rete scomponendoli in
“pezzi”
Allocazione delle
risorse per la
gestione della
chiamata
•
•
•
•
11
Banda di trasmissione
Risorse dedicate
Performance elevata
Fase di inizializzazione
12
3
Commutazione di circuito
Le risorse di
comunicazione di
rete (bandwidth)
sono suddivise in
“parti” allocate alle
Commutazione di circuito
Due soluzioni possibili
frequency division (FDM)
time division (TDM)
Banda di
trasmissione viene
suddivisa in parti”
– FDM: frequency
division
– TDM: time division
chiamate
• Una parte della risorsa
rimane inattiva ( idle) se
non viene utilizzata (no
sharing)
13
Packet Switching
FDM -- TDM
:
FDM
14
Dati sono suddivisi in packets
• Packet degli utenti A e B
condividono le risorse di
rete
• ogni packet utilizza la
banda al massimo della
sua capacità
• “resources used as
needed” . Non è
necessaria una allocazione
iniziale di tutte le risorse
4 users
frequency
time
TDM
Problematiche:
Richiesta di risorse può
essere superiore della
disponibilità
congestione: code
“store and forward”: packet
fanno un passo alla volta
Trasmissione su un link
Attesa al link successivo
frequency
time
15
16
4
Considerazioni finali
• Commutazione di pacchetto
– Condivisione delle risorse
– Non è necessaria la fase di inizializzazione
• Congestione: perdita dei pacchetti, ordine di
trasmissione
– Necessità di meccanismi per garantire
laffidabilità del trasferimento
• Cosa succede per le applicazioni video/audio?
– Ampiezza di banda elevata
Problema aperto!!
Routing
• Obiettivo: Inviare i pacchetti
• Reti datagram:
– Lindirizzo di destinazione determina il cammino tra
i router
– Router non hanno informazioni di stato
• Circuiti virtuali:
– Ogni pacchetto è caratterizzato di un identificatore
(virtual circuit ID),
– Cammino individuato nella fase di inizializzazione
– Router con informazioni di stato
17
Network Taxonomy
Come si accede alla rete?
Telecommunication
networks
Circuit-switched
networks
FDM
TDM
• Provider (eg tin.it)
• Company (e.g
SERRA)
• Reti mobili (wireless)
Packet-switched
networks
Networks
with VCs
18
Datagram
Networks
• Internet: connection-oriented (TCP) e
connectionless services (UDP) alle apps.
19
20
5
Provider
Residential access: cable modems
• Modem
– 56Kbps con accesso
diretto
• ISDN: intergrated services
digital network: 128Kbps
• ADSL: asymmetric digital
subscriber line
– 1 Mbps home-to-router
– 8 Mbps router-to-home
21
22
Diagram: http://www.cabledatacomnews.com/cmic/diagram.html
Cable Network Architecture: Overview
Cable Network Architecture: Overview
Typically 500 to 5,000 homes
cable headend
cable distribution
network (simplified)
cable headend
home
cable distribution
network (simplified)
23
home
24
6
Cable Network Architecture: Overview
Cable Network Architecture: Overview
FDM:
server(s)
V
I
D
E
O
V
I
D
E
O
V
I
D
E
O
V
I
D
E
O
V
I
D
E
O
V
I
D
E
O
D
A
T
A
C
O
N
D T
A R
T O
A L
1
2
3
4
5
6
7
8
9
Channels
cable headend
cable headend
cable distribution
network
home
cable distribution
network
home
25
Reti locali
26
Wireless
• Rete locale local area
network (LAN)
• Ethernet:
– 10 Mbs, 100Mbps,
Gigabit Ethernet
• Accesso tramite una
base
• LAN wireless:
– Comunicazioni radio
– e.g., Lucent Wavelan
10 Mbps, BlueTooth
router
base
station
• wider-area wireless
– Rete dei cellulari
– E.g. GPRS, UMTS
27
mobile
hosts
28
7
Home networks
Componenti di base:
• ADSL oppure cable modem
• router/firewall
• Ethernet
• wireless access
point
to/from
cable
headend
cable
modem
La struttura di Internet
wireless
laptops
router/
firewall
wireless
access
point
Ethernet
(switched)
Internet structure: network of
networks
• roughly hierarchical
• at center: “tier-1” ISPs (e.g., UUNet,
BBN/Genuity, Sprint, AT&T),
national/international coverage
– treat each other as equals
Tier-1
providers
interconnect
(peer)
privately
Tier 1 ISP
Tier 1 ISP
30
29
NAP
Tier-1 ISP: e.g., Sprint
Sprint US backbone network
Tier-1 providers
also interconnect
at public network
access points
(NAPs)
Tier 1 ISP
31
32
8
Internet structure: network of
networks
• “Tier-2” ISPs: smaller (often regional) ISPs
– Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs
Tier-2 ISP
Tier-2 ISP pays
tier-1 ISP for
connectivity to
rest of Internet
tier-2 ISP is
c ustomer of
tier-1 provider
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
NAP
Tier-2 ISPs
also peer
privately with
each other,
interconnect
at NAP
Tier-2 ISP
Tier-2 ISP
33
Internet structure: network of
networks
34
Internet structure: network of
networks
• “Tier-3” ISPs and local ISPs
• a packet passes through many networks!
– last hop (“access”) network (closest to end systems)
local
ISP
Local and tier3 ISPs are
customers of
higher tier
ISPs
connecting
them to rest
of Internet
Tier 3
ISP
Tier-2 ISP
local
ISP
local
ISP
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
local
local
ISP
ISP
local
ISP
local
ISP
local
ISP
local
ISP
local
ISP
Tier-2 ISP
Tier 1 ISP
NAP
Tier 1 ISP
Tier-2 ISP
local
ISP
Tier 3
ISP
Tier-2 ISP
Tier 1 ISP
Tier-2 ISP
local
ISP
35
Tier-2 ISP
local
local
ISP
ISP
NAP
Tier 1 ISP
Tier-2 ISP
local
ISP
Tier-2 ISP
local
ISP
36
9
37
Protocolli e servizi
Astrazione
Reti sono complicate!
• Numerose entità
– host
– router
– collegamenti
fisici diversi
– applicazioni
– servizi
– hardware,
software
38
• Soluzione informatica per affrontare il
problema della complesita
• Astrazione porta ad una gerarchia di
livelli funzionali
Domanda:
Siamo in grado di organizzare
e gestire in modo coerente
tutte queste entità?
…. perlomeno in questo corso?
39
– Livello insieme di servizi omogenei
– Un livello fornisce servizi al livello
superiore
40
10
Livelli: Perchè?
Protocolli
Stratificazione dei servizi: meccanismo
per la gestione della complessità
• Struttura di base dellarchitettura di rete
• Ogni entita del protocollo e caratterizzata da
due interfacce
– service interface: operations on this protocol
– peer-to-peer interface: messages exchanged with
peer
• Meccanismo esplicito di strutturazione
• Modello di riferimento
• Modularità: facilita le modifiche
– Modifica di un servizio è locale
41
42
Interfaces
Internet Architecture
Host 1
High-level
object
• Internet Engineering Task Force (IETF)
• Application vs Application Protocol (FTP,
HTTP)
Host 2
Service
interface
High-level
object
FTP
HTTP
NV
TCP
Protocol
TFTP
UDP
Protocol
Peer-to-peer
interface
IP
NET1
43
NET2
…
NETn
44
11
Stratificazione a livelli
Internet protocol stack
• application:
Ogni livello riceve i dati dal livello superiore
• Crea una nuova struttura dati (header)
• Invia i dati al livello inferiore
application
– ftp, smtp, http
• transport:
transport
– tcp, udp
• network: routing dei datagrams
– ip, routing protocols
• link: trasferimento dei dati
M
Ht M
Hn Ht M
Hl Hn Ht M
link
– ppp, ethernet
• physical: “on the wire”
source
network
physical
destination
application
transport
network
link
physical
application
transport
network
link
physical
M
message
Ht M
Hn Ht M
Hl Hn Ht M
segment
datagram
frame
45
Internet: comunicazione logica
Stratificazione a livelli
Caratteristiche:
• distribuito
• Componenti
su ogni nodo
che
realizzano le
funzionalità
previste
• Scambio
msg
Transport
application
transport
network
link
physical
network
application
transport
network
link
physical
46
link
physical
application
transport
network
link
physical
application
transport
network
link
physical
47
• Dati dalle Apps
• Crea il
“datagram” con
lindirizzo
• Invia il
datagram
• Attende il
riscontro di
ricezione (ack)
• Trasporto =
Ufficio Postale
data
application
transport
transport
network
link
physical
application
transport
network
link
physical
ack
data
network
link
physical
data
application
transport
network
link
physical
application
transport
transport
network
link
physical
48
12
Layering: physical communication
Web•
• Pagina Web:
– Insieme di “objects”
– Indirizzo tramite URL.
• URL: Unifor Resource
Locator è lindirizzo di rete di
una risorsa (Network
Reference)
– nome host + path:
– www.di.unipi.it/index.html
data
application
transport
network
link
physical
network
link
physical
application
transport
network
link
physical
data
application
transport
network
link
physical
application
transport
network
link
physical
User agent = browser:
– MS Internet Explorer
– Netscape Communicator
• Server = Web server:
– Apache (public domain)
– MS Internet Information
Server
49
50
HTTPhttp è senza memoria
HTTP
http: hypertext
transfer protocol
• Protocollo del WEB
• Modello client/server
– client: browser che
richiede oggetti WEB
– server: Web server
invia gli oggetti WEB
• http1.0: RFC 1945
• http1.1: RFC 2068
PC running
Explorer
http: basato su TCP:
htt
pr
equ
est
htt
pr
esp
ons
e
•
•
est
equ
e Server
pr
ons
htt
running
esp
pr
NCSA Web
htt
server
Mac running
Navigator
•
•
51
client attiva una connessione
TCP (crea il socket) verso il
server (porta 80)
server accetta la richiesta
TCP del client
Avviene lo scambio di msg
http (application-layer
protocol messages) tra il
browser (http client) e il Web
server (http server)
Si chiude la connessione
TCP.
“stateless”
•
server non ha
informazioni di stato sulle
richieste passate
problema
Protocolli con stato sono
complicati!
Gestione dello stato
Fallimenti
52
13
HTTP: Esempi
Connessioni HTTP
Non Persistenti
• Un oggetto viene
trasmesso su una
connessione TCP.
• HTTP/1.0:
nonpersistent HTTP
Supponiamo di voler aprire una pagina con indirizzo
www.someSchool.edu/someDepartment/home.index
(testo e riferimenti
a 10 oggetti JPEG)
Persistenti
• Un insieme di oggetti
possono essere
scambiati sulla stessa
connessione TCP
• HTTP/1.1: persistent
connections -- default
mode
1a. http (client) richiede una
connessione TCP con il WEB
server allindirizzo
www.someSchool.edu. La porta
80 è la porta di default per I
server http.
1b. http (server) all’indirizzo
www.someSchool.edu è in attesa
sulla porta 80. Accetta la richiesta di
connessione
2. http (client) invia un messaggio di
richiesta (con la URL) nella
connessione TCP
53
3. http (server) riceve la richiesta e
invia il messaggio di risposta con
l’informazione richiesta (la pagina
WEB
someDepartment/home.index),
sulla connessione TCP
time
54
Connessioni persistenti e nonpersistenti
Esempio (cont.)
Non-persistenti
• HTTP/1.0
• Server:
4. http (server) chiude la
connessione TCP.
5. http (client) riceve la risposta
con il file html. “Parsing” del
file html si trovano i 10
riferimenti agli oggetti jpeg
– valutare la richiesta,
– inviare la risposta,
– chiudere la
connessione TCP
• 2 RTT per scaricare
un oggetto
time 6. Si ripetono i passi 1-5 per
tutti gli oggetti JPEG
55
Persistenti
• default per la versione
HTTP/1.1
• Server utilizza la stessa
connessione TCP per
– valutare la richiesta,
– inviare la risposta,
– chiudere la connessione
•
Client invia le richieste
subito dopo aver
determinato lindirizzo
(minore RTT).
56
14
Connessioni HTTP
Nonpersistent HTTP:
• richiede 2 RTTs per oggetto
• Allocazione delle risorse per
ogni connessione TCP
– Ma spesso I brower aprono
connessioni parallele
Persistent HTTP
• server lascia le connessioni
aperte dopo aver inviato la
risposta
• Messaggi consecutivi
utilizzano la stessa
connessione
Persistent without pipelining:
• client effettua una richiesta
solamente dopo aver
ricevuto la risposta della
richieste precedente
Persistent with pipelining:
• default -- HTTP/1.1
• Il cliente invia una richiesta
non appena incontra un
riferimento
57
15