tecnologie di sviluppo per il web
Post on 11-Jan-2016
32 Views
Preview:
DESCRIPTION
TRANSCRIPT
G. Mecca – mecca@unibas.it – Università della Basilicata G. Mecca – mecca@unibas.it – Università della Basilicata
Tecnologie di Sviluppo per il Web
Introduzione alle Reti di Calcolatori
versione 1.2
2G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Sommario dei Concetti
Elab. Client-Server Reti di Calcolatori
Commutazione di pacchetto
La Rete InternetReti di reti e routingNumeri IPDNSServizi e porte
Pile di ProtocolliLa pila ISO/OSI
La Pila TCP/IPLivello di applicazioneLivello di trasporto
(TCP)Livello di rete (IP)
Introduzione alle Reti >> Sommario
3G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architetture di Riferimento
Basi di Dati
Introduzione alle Reti >> Elaborazione Client-Server
ApplicazioneC
ApplicazioneJava
Base di Dati
DBMSRete
4G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architetture di Riferimento
Sviluppo Web
Introduzione alle Reti >> Elaborazione Client-Server
Sito
ServerHTTP
Internetintranet
browser
browser
5G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architetture Generale
Architettura Client-Server
Introduzione alle Reti >> Elaborazione Client-Server
Cliente
Cliente
Rete
Servizio
Servente
richiesta – rispostaelaborazione distribuita
infrastruttura complessa
6G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Reti di Calcolatori
Insieme di calcolatori collegati fisicamentecondivisione di risorse e servizicomunicazione (scambio di messaggi)
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
7G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Parametri Tecnologici
Parametri di classificazione delle retiCollegamenti fisiciLivello di distribuzioneModalità di connessioneProtocolli
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
8G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Collegamenti e Topologie
Cavo elettrico in rame (doppino)10/100 Mbit/s fino a 100 mt
Fibra ottica1 Gbit/s fino a 100 Km
Ponti radio Linee telefoniche (modem) Topologie parzialmente connesse
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
9G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Livello di Distribuzione
TradizionaliLAN – Local area network (1 km)MAN – Metrop. area network (100 km)WAN – Wide area network (1000 km)
Più recentiGAN – Global area network (10000 km)PAN – Personal area network (10 mt)
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
10G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Modalità di Connessione
Commutazione di circuito (es: reti telef.)
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
Commutazione di pacchetto (es: Internet)
11G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Architettura e Protocolli
Protocolloinsieme di regole per la comunicazioneregolano lo scambio di bit tra i calcolatori
Reti tradizionalitecnologia singola
Reti di Retimolte tecnologie“internetworking”
Introduzione alle Reti >> Reti di Calcolatori: Terminologia
12G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Rete di Reti (internet)
Tecnologie multiple Gateway (o Router)
Introduzione alle Reti >> La Rete Internet
Rete 1Rete 1
Rete 2Rete 2
R1R1 R2R2
R3R3
Es: Internet(ma anche IPX)
Rete 4Rete 4
Rete 3Rete 3
13G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Internet, una Classificazione
Collegamenti fisicieterogenei (rete di reti)
Livello di distribuzioneGlobal Area Network
Modalità di connessionecommutazione di pacchetto
ProtocolliTCP/IP, “Internetworking” (>>)
Introduzione alle Reti >> La Rete Internet
14G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Meccanismo di Indirizzamento
Numeri IP (IPv4)
Introduzione alle Reti >> La Rete Internet >> Numeri IP
byte 1 byte 4byte 3byte 2
10100000 01001110 00110000 00000010
160160160160 78787878.... 48484848.... 2222....
15G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Meccanismo di Indirizzamento
Struttura del numero IPdue partiidentificatore della rete (net id)identificatore del calcolatore nella rete (host)
Esempio193.204.22.24net id: 193.204.22host: 24
Introduzione alle Reti >> La Rete Internet >> Numeri IP
16G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Meccanismo di Indirizzamento
Tipicamente (reti di classe C)i primi 3 ottetti sono il net idl’ultimo è il numero dell’host
Subnet masknumero che specifica quale parte dei numeri
IP di una rete contiene l’id della retees: rete di classe C
255.255.255.0
Introduzione alle Reti >> La Rete Internet >> Numeri IP
17G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Numeri e Nomi
Domini Internet
Introduzione alle Reti >> La Rete Internet >> DNS
com gov org it jp
uniroma3 unibas
dia fis
yahoo......
microsoft
research
...... ......
www.microsoft.com
mail.dia.uniroma3.it
www.difa.unibas.it
root
18G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
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
Introduzione alle Reti >> La Rete Internet >> DNS
19G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
EsempioUna possibile risoluzione di
“mail.dia.uniroma3.it”da parte di “www.microsoft.com”
Introduzione alle Reti >> La Rete Internet >> DNS
com gov org it jp
uniroma3 unibas
dia fis
yahoo......
microsoft
...... ......
www.microsoft.com
mail.dia.uniroma3.it
www.difa.unibas.it
root
20G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Parametri di Connessione
Ogni calcolatore deve quindi avere:numero IPIP del router (gateway)subnet mask
In aggiunta, può avereuno o più IP di DNS da cui cominciare la
ricerca dei nomi
Introduzione alle Reti >> La Rete Internet >> DNS
21G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
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…
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
22G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Porte
Un server, molti servizi
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
serverhttp + email
192.168.10.1http
smtp
pop192.168.10.1
?
Client POP3 lettura posta
23G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Porte e Connessioni
Identificatore numerico di un servizioil servizio “ascolta” sulla porta
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
server192.168.10.1
http smtp pop
192.168.10.1, 110
clientlettura posta
porta 80 porta 25 porta 110
24G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
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-49151porte non riservate (ma di uso noto)Es: 3306 MySQL, 5432 PostgreSQL, 8080
“Dynamic/Private”: le altre
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
25G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Porte
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
Linux: /etc/servicesWindows: winnt/system32/drivers/etc/services
26G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
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 32938destination port 80
Risposta da 192.168.10.9 a 192.168.10.1source port 80destination port 32938
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
27G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
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 calcolatoririsolvere i diversi problemi a diversi livelliattraverso protocolli specifici
Introduzione alle Reti >> Concetto di Pila di Protocolli
28G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
I Due Santoni
Due santoni vogliono discutere del senso della vitauno vive in Tibet, l’altro in Italia
è necessaria una connessionenon dispongono di telefono
è necessario stabilire una forma di trasmissioneuno parla cinese, l’altro italiano
è necessario stabilire un linguaggio per la comunicazione
Introduzione alle Reti >> Concetto di Pila di Protocolli
29G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
I Due Santoni
Regolelinguaggio comune: ingleseformato di trasmissione: pagine dattiloscrittecanale di comunicazione: fax
Infrastrutturainterpretesegretaria dattilografamacchina per fax
Introduzione alle Reti >> Concetto di Pila di Protocolli
30G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
C’è grossa crisi
I see aserious crisis
around
I see aserious crisis
around
我看一次严肃的危机
Introduzione alle Reti >> Concetto di Pila di Protocolli
linea telefonica
01001110 01001110
31G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
ModuloSoftware
(es: server web)
ModuloSoftware
(es: browser)
Messaggio
Introduzione alle Reti >> Concetto di Pila di Protocolli
collegamento fisico
Strato
Strato
Strato
Infrastruttura
Messaggio
Strato
Strato
Strato
Infrastruttura
regole
regole
regole
32G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Strati Software e Pila di Protocolli
Introduzione alle Reti >> Concetto di Pila di Protocolli
Applicativo X
Strato software
Strato fisico
Strato software
Strato software
Applicativo Y
Strato software
Strato Fisico
Strato software
Strato software
protocollo
protocollo
protocollo
collegamento
protocollo
interfacce
33G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
La Pila ISO/OSI
Introduzione alle Reti >> Concetto di Pila di Protocolli >> La Pila ISO/OSI
Applicazione
Presentazione
Sessione
Trasporto
Rete
Dati
Fisico
Applicazione
Presentazione
Sessione
Trasporto
Rete
Dati
Fisicocollegamento
protocollo
protocollo
protocollo
protocollo
protocollo
protocollo
protocollo
34G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
La Pila TCP/IP
La pila di protocolli di Internet Due protocolli fondamentali: TCP e IP
Introduzione alle Reti >> La Pila TCP/IP
Applicazione
Trasporto
Rete
Fisico
POP, SMTPHTTP …
TCP, UDP(ICMP)
IP
Fisicocollegamento
protocollo
protocollo
protocollo
protocollo
35G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
La Pila TCP/IP
Ideala 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
Introduzione alle Reti >> La Pila TCP/IP
36G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Livello di Applicazione
Numerosi protocolli (client-server) Sintassi e semantica dei messaggi (ASCII) Esempio: SMTP
Introduzione alle Reti >> La Pila TCP/IP
Client SMTP Server SMTP
protocollo di applicazione
MAIL From:<quelo@tin.it>
Appl. Java192.168.10.111
Server email192.168.10.1
250 MAIL accepted RCPT To:<gino@tibet.tb> 250 RECIPIENT accepted <testo del messaggio> 250 OK
220 192.168.10.1 SMTP Service 220 HELO 192.168.10.111
37G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Livello di Trasporto: TCP
Orientato alla connessione, affidabile Datagrammi (pacchetti)
Introduzione alle Reti >> La Pila TCP/IP
Client SMTP Server SMTP
protocollo di applicazione
TCP TCP
protocollo di trasporto
messaggio SMTP......
dg1dg500 dg1000
dg1dg500 dg1000
messaggio SMTP.......
porta dest., porta sorg. porta dest., porta sorg.
intestazioni TCP
38G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Livello di Rete: IP (Internet Protocol) Commutazione pacchetto, non affidabile Instradamento (routing)
Introduzione alle Reti >> La Pila TCP/IP
TCP TCP
protocollo di trasporto
IP IP
protocollo di rete
dg500dg500
R Rroutedg500 dg500
IP dest., IP sorg. IP dest., IP sorg.
intestazioni IP
39G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Livello Fisico
Vari protocolli (es: Ethernet) Stabilisce le regole per la trasmissione dei
bit sul canale fisico
Introduzione alle Reti >> La Pila TCP/IP
IP IP
protocollo di rete
R Rroutedg500 dg500
0100100110Ethernet Ethernet
collegamento fisico
40G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Introduzione alle Reti >> La Pila TCP/IP
IP IP
protocollo di rete
R RrouteHIPHTdg500 HIPHTdg500
0100100110Ethernet Ethernet
collegamento fisico
TCP TCP
protocollo di trasporto
HTdg1 HTdg500 HTdg1000HTdg1 HTdg500 HTdg1000
Client SMTP Server SMTP
protocollo di applicazione
messaggio SMTP.... messaggio SMTP....
Appl. Java Server email
e-mail e-mail
41G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Sommario
Elab. Client-Server Reti di Calcolatori
Commutazione di pacchetto
La Rete InternetReti di reti e routingNumeri IPDNSServizi e Porte
Pile di ProtocolliLa pila ISO/OSI
La Pila TCP/IPLivello di applicazioneLivello di trasporto
(TCP)Livello di rete (IP)
Introduzione alle Reti >> Sommario
42G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Internet, Qualche Dato
ARPANET 1969: 4 1972: 34 1990: 200.000 1992: 1M
Introduzione alle Reti >> La Rete Internet
0
200000
400000
600000
800000
1000000
1200000
1968 1978 1988
Oggi: 2x all’anno
43G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Rete e Host
Introduzione alle Reti >> La Rete Internet >> Numeri IP
byte 1 byte 4byte 3byte 2
hostidnetid0CLASSE A
bit 1 bit 32
netid hostid01CLASSE B
hostidnetid011CLASSE C
subnet mask es: 255.255.255.0
44G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Classi di Reti
Classe A1.0.0.1 - 126.255.255.254 (es. 10.1.23.19)126 reti, 16.777.214 host per rete (es: ARPANET)
Classe B128.0.0.0 - 191.255.255.254 (es. 172.16.19.48) 16.384 reti, 65.534 host per rete (es: grandi università)
Classe C192.0.0.0 - 223.255.255.254 (es. 193.18.9.10)2.097.152 reti, 254 host per rete (la maggior parte)
Introduzione alle Reti >> La Rete Internet >> Numeri IP
45G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Reti Non Connesse
Reti disconnesse da InternetI 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
Introduzione alle Reti >> La Rete Internet >> Numeri IP
46G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Porte e Socket
Socket: IP, porta, streamoriginariamente in UNIXAPI fondamentale per la prog. client/server
Connessione: 2 socketclient verso il serverserver verso il client
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte
47G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Datagramma TCP
Introduzione alle Reti >> La Pila TCP/IP
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 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 || ...... |
48G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
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 ...... || |
Introduzione alle Reti >> La Pila TCP/IP
49G. Mecca - Tecnologie di Sviluppo per il WebG. Mecca - Tecnologie di Sviluppo per il Web
Altri Protocolli
UDP (Unix Datagram Protocol)non orientato alle connessioni, non affidabileutile per richieste di un solo pacchetto
ICMP (Internet Control Message Protocol)scambio di messaggi di controllo
Introduzione alle Reti >> La Pila TCP/IP
top related