Tecnologie di Sviluppo per il Web
Introduzione alle Reti di
Calcolatori
versione 1.2
G. Mecca – [email protected] – Università della Basilicata
Introduzione alle Reti >> Sommario
Sommario dei Concetti
Elab. Client-Server
 Reti di Calcolatori

Commutazione di
pacchetto

La Rete Internet
Reti di reti e routing
Numeri IP
DNS
Servizi e porte
G. Mecca - Tecnologie di Sviluppo per il Web

Pile di Protocolli
La pila ISO/OSI

La Pila TCP/IP
Livello di applicazione
Livello di trasporto
(TCP)
Livello di rete (IP)
2
Introduzione alle Reti >> Elaborazione Client-Server
Architetture di Riferimento
 Basi
di Dati
Applicazione
Java
Rete
Applicazione
C
G. Mecca - Tecnologie di Sviluppo per il Web
DBMS
Base di Dati
3
Introduzione alle Reti >> Elaborazione Client-Server
Architetture di Riferimento

Sviluppo Web
browser
Internet
intranet
Server
HTTP
Sito
browser
G. Mecca - Tecnologie di Sviluppo per il Web
4
Introduzione alle Reti >> Elaborazione Client-Server
Architetture Generale

Architettura Client-Server
richiesta – risposta
elaborazione distribuita
Cliente
Rete
Servente
Servizio
Cliente
G. Mecca - Tecnologie di Sviluppo per il Web
infrastruttura complessa
5
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
Reti di Calcolatori
 Insieme
di calcolatori collegati fisicamente
condivisione di risorse e servizi
comunicazione (scambio di messaggi)
G. Mecca - Tecnologie di Sviluppo per il Web
6
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
Parametri Tecnologici
 Parametri
di classificazione delle reti
Collegamenti fisici
Livello di distribuzione
Modalità di connessione
Protocolli
G. Mecca - Tecnologie di Sviluppo per il Web
7
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
Collegamenti e Topologie
 Cavo
elettrico in rame (doppino)
10/100 Mbit/s fino a 100 mt
 Fibra
ottica
1 Gbit/s fino a 100 Km
 Ponti
radio
 Linee telefoniche (modem)
 Topologie parzialmente connesse
G. Mecca - Tecnologie di Sviluppo per il Web
8
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
Livello di Distribuzione
 Tradizionali
LAN – Local area network
(1 km)
MAN – Metrop. area network
(100 km)
WAN – Wide area network
(1000 km)
 Più
recenti
GAN – Global area network (10000 km)
PAN – Personal area network (10 mt)
G. Mecca - Tecnologie di Sviluppo per il Web
9
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
Modalità di Connessione
 Commutazione
di circuito (es: reti telef.)
 Commutazione di pacchetto (es: Internet)
G. Mecca - Tecnologie di Sviluppo per il Web
10
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
Architettura e Protocolli
 Protocollo
insieme di regole per la comunicazione
regolano lo scambio di bit tra i calcolatori
 Reti
tradizionali
tecnologia singola
 Reti
di Reti
molte tecnologie
“internetworking”
G. Mecca - Tecnologie di Sviluppo per il Web
11
Introduzione alle Reti >> La Rete Internet
Rete di Reti (internet)
 Tecnologie
multiple
 Gateway (o Router)
Rete 4
R3
Rete 1
Rete 3
R1
R2
Es: Internet
(ma anche IPX)
Rete 2
G. Mecca - Tecnologie di Sviluppo per il Web
12
Introduzione alle Reti >> La Rete Internet
Internet, una Classificazione
 Collegamenti
fisici
eterogenei (rete di reti)
 Livello
di distribuzione
Global Area Network
 Modalità
di connessione
commutazione di pacchetto
 Protocolli
TCP/IP, “Internetworking” (>>)
G. Mecca - Tecnologie di Sviluppo per il Web
13
Introduzione alle Reti >> La Rete Internet >> Numeri IP
Meccanismo di Indirizzamento
 Numeri
IP (IPv4)
10100000 01001110 00110000 00000010
byte 1
byte 2
byte 3
byte 4
160 . 78 . 48 . 2
G. Mecca - Tecnologie di Sviluppo per il Web
14
Introduzione alle Reti >> La Rete Internet >> Numeri IP
Meccanismo di Indirizzamento
 Struttura
del numero IP
due parti
identificatore della rete (net id)
identificatore del calcolatore nella rete (host)
 Esempio
193.204.22.24
net id: 193.204.22
host: 24
G. Mecca - Tecnologie di Sviluppo per il Web
15
Introduzione alle Reti >> La Rete Internet >> Numeri IP
Meccanismo di Indirizzamento
 Tipicamente
(reti di classe C)
i primi 3 ottetti sono il net id
l’ultimo è il numero dell’host
 Subnet
mask
numero che specifica quale parte dei numeri
IP di una rete contiene l’id della rete
es: rete di classe C
255.255.255.0
G. Mecca - Tecnologie di Sviluppo per il Web
16
Introduzione alle Reti >> La Rete Internet >> DNS
Numeri e Nomi
root

Domini Internet
com
yahoo
microsoft
www.microsoft.com
gov
org
it
jp
......
......
uniroma3
......
unibas
research
dia
fis
www.difa.unibas.it
mail.dia.uniroma3.it
G. Mecca - Tecnologie di Sviluppo per il Web
17
Introduzione alle Reti >> La Rete Internet >> DNS
DNS
 La
comunicazione avviene sempre tra IP
 Domain Name System: Servizio che
consente di associare un IP ad un nome
 Domain Name Server: macchina che offre
il servizio
 Ogni dominio ha il suo DNS
algoritmo di risoluzione gerarchico
G. Mecca - Tecnologie di Sviluppo per il Web
18
Introduzione alle Reti >> La Rete Internet >> DNS
Esempio
root
Una possibile risoluzione di
“mail.dia.uniroma3.it”
da parte di “www.microsoft.com”
com
yahoo
microsoft
gov
org
it
jp
......
......
uniroma3
......
unibas
dia
www.microsoft.com
fis
www.difa.unibas.it
mail.dia.uniroma3.it
G. Mecca - Tecnologie di Sviluppo per il Web
19
Introduzione alle Reti >> La Rete Internet >> DNS
Parametri di Connessione
 Ogni
calcolatore deve quindi avere:
numero IP
IP del router (gateway)
subnet mask
 In
aggiunta, può avere
uno o più IP di DNS da cui cominciare la
ricerca dei nomi
G. Mecca - Tecnologie di Sviluppo per il Web
20
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
Principali Servizi Internet
 telnet:
terminale remoto
 ftp: trasferimento file
 smtp: invio di posta elettronica
 pop: ricezione posta elettronica
 http: trasferimento di ipertesti (Web)
 molti altri…
G. Mecca - Tecnologie di Sviluppo per il Web
21
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
Porte
 Un
server, molti servizi
server
http + email
192.168.10.1
Client POP3
lettura posta
http
smtp
192.168.10.1
?
G. Mecca - Tecnologie di Sviluppo per il Web
pop
22
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
Porte e Connessioni
 Identificatore
numerico di un servizio
il servizio “ascolta” sulla porta
client
lettura posta
server
192.168.10.1
http
192.168.10.1, 110
smtp
pop
porta 80 porta 25 porta 110
G. Mecca - Tecnologie di Sviluppo per il Web
23
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
Porte
Numero di porta: 16 bit (0-65535)
 http://www.iana.org
 “Well Known”: 0-1024

porte riservate (servizi particolari o sistema)
Es: 80 http, 23 telnet

“Registered Ports”: 1024-49151
porte non riservate (ma di uso noto)
Es: 3306 MySQL, 5432 PostgreSQL, 8080

“Dynamic/Private”: le altre
G. Mecca - Tecnologie di Sviluppo per il Web
24
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
Porte
Linux: /etc/services
Windows: winnt/system32/drivers/etc/services
G. Mecca - Tecnologie di Sviluppo per il Web
25
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
Esempio di Connessione
Web server:
192.168.10.1, porta 80
 Web browser:
192.168.10.9, porta 32938
 Richiesta da 192.168.10.9 a 192.168.10.1

source port
destination port

32938
80
Risposta da 192.168.10.9 a 192.168.10.1
source port
destination port
80
32938
G. Mecca - Tecnologie di Sviluppo per il Web
26
Introduzione alle Reti >> Concetto di Pila di Protocolli
Protocolli e Pile di Protocolli
 Come
avviene la comunicazione ?
 Problemi da risolvere
Hardware (collegamenti)
Comunicazione (trasmissione)
Software (messaggi tra le applicazioni)
 Approccio
nelle reti di calcolatori
risolvere i diversi problemi a diversi livelli
attraverso protocolli specifici
G. Mecca - Tecnologie di Sviluppo per il Web
27
Introduzione alle Reti >> Concetto di Pila di Protocolli
I Due Santoni
 Due
santoni vogliono discutere del senso
della vita
uno vive in Tibet, l’altro in Italia
è necessaria una connessione
non dispongono di telefono
è necessario stabilire una forma di trasmissione
uno parla cinese, l’altro italiano
è necessario stabilire un linguaggio per la
comunicazione
G. Mecca - Tecnologie di Sviluppo per il Web
28
Introduzione alle Reti >> Concetto di Pila di Protocolli
I Due Santoni
 Regole
linguaggio comune: inglese
formato di trasmissione: pagine dattiloscritte
canale di comunicazione: fax
 Infrastruttura
interprete
segretaria dattilografa
macchina per fax
G. Mecca - Tecnologie di Sviluppo per il Web
29
Introduzione alle Reti >> Concetto di Pila di Protocolli
C’è grossa crisi
我看一次严肃的危机
I see a
serious crisis
around
I see a
serious crisis
around
01001110
01001110
linea telefonica
G. Mecca - Tecnologie di Sviluppo per il Web
30
Introduzione alle Reti >> Concetto di Pila di Protocolli
Modulo
Software
(es: browser)
Modulo
Software
(es: server web)
Messaggio
Messaggio
Infrastruttura
Infrastruttura
Strato
Strato
regole
regole
regole
Strato
Strato
Strato
Strato
collegamento fisico
G. Mecca - Tecnologie di Sviluppo per il Web
31
Introduzione alle Reti >> Concetto di Pila di Protocolli
Strati Software e Pila di Protocolli
Applicativo Y
Applicativo X
Strato software
Strato software
Strato software
protocollo
protocollo
protocollo
Strato software
Strato software
Strato software
interfacce
protocollo
Strato fisico
collegamento
G. Mecca - Tecnologie di Sviluppo per il Web
Strato Fisico
32
Introduzione alle Reti >> Concetto di Pila di Protocolli >> La Pila ISO/OSI
La Pila ISO/OSI
Applicazione
Presentazione
protocollo
protocollo
Applicazione
Presentazione
protocollo
Sessione
Trasporto
Rete
Sessione
protocollo
protocollo
Trasporto
Rete
protocollo
Dati
Fisico
Dati
protocollo
collegamento
G. Mecca - Tecnologie di Sviluppo per il Web
Fisico
33
Introduzione alle Reti >> La Pila TCP/IP
La Pila TCP/IP
 La
pila di protocolli di Internet
 Due protocolli fondamentali: TCP e IP
Applicazione
Trasporto
Rete
Fisico
protocollo
POP, SMTP
HTTP …
protocollo
TCP, UDP
(ICMP)
protocollo
protocollo
collegamento
G. Mecca - Tecnologie di Sviluppo per il Web
IP
Fisico
34
Introduzione alle Reti >> La Pila TCP/IP
La Pila TCP/IP
 Idea
la comunicazione avviene al livello più alto
attraverso lo scambio di messaggi
(client e server, richieste e risposte)
nella trasmissione ogni strato si rivolge a
quello immediatamente inferiore
ogni strato modifica e aggiunge informazione
ai messaggi generati a livello più alto
nella ricezione avviene il contrario
G. Mecca - Tecnologie di Sviluppo per il Web
35
Introduzione alle Reti >> La Pila TCP/IP
Livello di Applicazione
 Numerosi
protocolli (client-server)
 Sintassi e semantica dei messaggi (ASCII)
 Esempio: SMTP
Appl. Java
192.168.10.111
Client SMTP
Server email
192.168.10.1
protocollo
di applicazione
220 192.168.10.1 SMTP Service
MAIL From:<[email protected]>
RCPT To:<[email protected]>
<testo del messaggio>
G. Mecca - Tecnologie di Sviluppo per il Web
Server SMTP
220
250
250
250
HELO 192.168.10.111
MAIL accepted
RECIPIENT accepted
OK
36
Introduzione alle Reti >> La Pila TCP/IP
Livello di Trasporto: TCP
 Orientato
alla connessione, affidabile
 Datagrammi (pacchetti)
Client SMTP
protocollo
di applicazione
Server SMTP
messaggio SMTP...... protocollo messaggio SMTP.......
di trasporto
TCP
TCP
porta dest., porta sorg.
porta dest., porta sorg.
dg1
dg1
dg500 dg1000
dg500 dg1000
intestazioni TCP
G. Mecca - Tecnologie di Sviluppo per il Web
37
Introduzione alle Reti >> La Pila TCP/IP
Livello di Rete: IP (Internet Protocol)
 Commutazione
pacchetto, non affidabile
 Instradamento (routing)
TCP
dg500
IP
protocollo
di trasporto
protocollo
di rete
IP dest., IP sorg.
dg500
R
TCP
dg500
IP
IP dest., IP sorg.
route
R
dg500
intestazioni IP
G. Mecca - Tecnologie di Sviluppo per il Web
38
Introduzione alle Reti >> La Pila TCP/IP
Livello Fisico
 Vari
protocolli (es: Ethernet)
 Stabilisce le regole per la trasmissione dei
bit sul canale fisico
IP
dg500
R
Ethernet
protocollo
di rete
route
0100100110
IP
R
dg500
Ethernet
collegamento fisico
G. Mecca - Tecnologie di Sviluppo per il Web
39
Introduzione alle Reti >> La Pila TCP/IP
Appl. Java
Server email
e-mail
Client SMTP
messaggio SMTP....
TCP
HTdg1
HTdg500 H dg1000
T
IP
HIPHTdg500
R
Ethernet
e-mail
protocollo
di applicazione
protocollo
di trasporto
protocollo
di rete
Server SMTP
messaggio SMTP....
TCP
HTdg1
route
0100100110
HTdg500
HTdg1000
IP
R
HIPHTdg500
Ethernet
collegamento fisico
G. Mecca - Tecnologie di Sviluppo per il Web
40
Introduzione alle Reti >> Sommario
Sommario
Elab. Client-Server
 Reti di Calcolatori

Commutazione di
pacchetto

La Rete Internet
Reti di reti e routing
Numeri IP
DNS
Servizi e Porte
G. Mecca - Tecnologie di Sviluppo per il Web

Pile di Protocolli
La pila ISO/OSI

La Pila TCP/IP
Livello di applicazione
Livello di trasporto
(TCP)
Livello di rete (IP)
41
Introduzione alle Reti >> La Rete Internet
Internet, Qualche Dato
 ARPANET
 1969:
4
 1972: 34
 1990: 200.000
 1992: 1M
1200000
1000000
800000
600000
400000
200000
0
1968
1978
1988
Oggi: 2x all’anno
G. Mecca - Tecnologie di Sviluppo per il Web
42
Introduzione alle Reti >> La Rete Internet >> Numeri IP
Rete e Host
bit 1
byte 1
CLASSE A 0
CLASSE B 1 0
CLASSE C 1 1 0
byte 2
netid
bit 32
byte 4
byte 3
hostid
netid
hostid
netid
hostid
subnet mask es: 255.255.255.0
G. Mecca - Tecnologie di Sviluppo per il Web
43
Introduzione alle Reti >> La Rete Internet >> Numeri IP
Classi di Reti

Classe A
1.0.0.1 - 126.255.255.254 (es. 10.1.23.19)
 126 reti, 16.777.214 host per rete (es: ARPANET)

Classe B
128.0.0.0 - 191.255.255.254 (es. 172.16.19.48)
 16.384 reti, 65.534 host per rete (es: grandi università)

Classe C
192.0.0.0 - 223.255.255.254 (es. 193.18.9.10)
 2.097.152 reti, 254 host per rete (la maggior parte)
G. Mecca - Tecnologie di Sviluppo per il Web
44
Introduzione alle Reti >> La Rete Internet >> Numeri IP
Reti Non Connesse
 Reti
disconnesse da Internet
I numeri IP possono essere utilizzati nelle reti
locali
 Classe
A (una rete)
10.0.0.0
 Classe
B (16 reti)
172.16.0.0 - 172.31.0.0
 Classe
C (256 reti)
192.168.0.0 - 192.168.255.0
G. Mecca - Tecnologie di Sviluppo per il Web
45
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
Porte e Socket
 Socket:
IP, porta, stream
originariamente in UNIX
API fondamentale per la prog. client/server
 Connessione:
2 socket
client verso il server
server verso il client
G. Mecca - Tecnologie di Sviluppo per il Web
46
Introduzione alle Reti >> La Pila TCP/IP
Datagramma TCP
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Source Port
|
Destination Port
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Sequence Number
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Acknowledgment Number
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data |
|U|A|P|R|S|F|
|
| Offset| Reserved |R|C|S|S|Y|I|
Window
|
|
|
|G|K|H|T|N|N|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Checksum
|
Urgent Pointer
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
your data ... next 500 octets
|
|
......
|
G. Mecca - Tecnologie di Sviluppo per il Web
47
Introduzione alle Reti >> La Pila TCP/IP
Datagramma IP
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service|
Total Length
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Identification
|Flags|
Fragment Offset
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |
Protocol
|
Header Checksum
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Source Address
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Destination Address
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TCP header, then your data ......
|
|
|
G. Mecca - Tecnologie di Sviluppo per il Web
48
Introduzione alle Reti >> La Pila TCP/IP
Altri Protocolli
 UDP
(Unix Datagram Protocol)
non orientato alle connessioni, non affidabile
utile per richieste di un solo pacchetto
 ICMP
(Internet Control Message Protocol)
scambio di messaggi di controllo
G. Mecca - Tecnologie di Sviluppo per il Web
49
Scarica

ppt - Corso di Laurea in Informatica