490 likes | 681 Views
Tecnologie di Sviluppo per il Web. Introduzione alle Reti di Calcolatori. versione 1.2. Elab. Client-Server Reti di Calcolatori Commutazione di pacchetto La Rete Internet Reti di reti e routing Numeri IP DNS Servizi e porte. Pile di Protocolli La pila ISO/OSI La Pila TCP/IP
E N D
Tecnologie di Sviluppo per il Web Introduzione alle Reti di Calcolatori versione 1.2 G. Mecca – mecca@unibas.it – Università della Basilicata
Elab. Client-Server Reti di Calcolatori Commutazione di pacchetto La Rete Internet Reti di reti e routing Numeri IP DNS Servizi e porte Pile di Protocolli La pila ISO/OSI La Pila TCP/IP Livello di applicazione Livello di trasporto (TCP) Livello di rete (IP) Introduzione alle Reti >> Sommario Sommario dei Concetti G. Mecca - Tecnologie di Sviluppo per il Web
ApplicazioneJava Rete DBMS ApplicazioneC Base di Dati Introduzione alle Reti >> Elaborazione Client-Server Architetture di Riferimento • Basi di Dati G. Mecca - Tecnologie di Sviluppo per il Web
browser ServerHTTP Internetintranet Sito browser Introduzione alle Reti >> Elaborazione Client-Server Architetture di Riferimento • Sviluppo Web G. Mecca - Tecnologie di Sviluppo per il Web
Cliente Rete Servente Servizio Cliente Introduzione alle Reti >> Elaborazione Client-Server Architetture Generale • Architettura Client-Server richiesta – risposta elaborazione distribuita infrastruttura complessa G. Mecca - Tecnologie di Sviluppo per il Web
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
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
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
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
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
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
Rete 4 R3 Rete 1 Rete 3 R2 R1 Rete 2 Introduzione alle Reti >> La Rete Internet Rete di Reti (internet) • Tecnologie multiple • Gateway (o Router) Es: Internet(ma anche IPX) G. Mecca - Tecnologie di Sviluppo per il Web
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
10100000 01001110 00110000 00000010 byte 1 byte 2 byte 3 byte 4 . 78 . 48 . 2 160 Introduzione alle Reti >> La Rete Internet >> Numeri IP Meccanismo di Indirizzamento • Numeri IP (IPv4) G. Mecca - Tecnologie di Sviluppo per il Web
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
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 C255.255.255.0 G. Mecca - Tecnologie di Sviluppo per il Web
root jp gov org com it ...... ...... unibas yahoo microsoft uniroma3 ...... research dia fis www.difa.unibas.it www.microsoft.com mail.dia.uniroma3.it Introduzione alle Reti >> La Rete Internet >> DNS Numeri e Nomi • Domini Internet G. Mecca - Tecnologie di Sviluppo per il Web
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
root jp gov org com it ...... ...... unibas yahoo microsoft uniroma3 ...... dia fis www.difa.unibas.it www.microsoft.com mail.dia.uniroma3.it Introduzione alle Reti >> La Rete Internet >> DNS Esempio Una possibile risoluzione di “mail.dia.uniroma3.it”da parte di “www.microsoft.com” G. Mecca - Tecnologie di Sviluppo per il Web
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
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
Introduzione alle Reti >> La Rete Internet >> Servizi e Porte Porte • Un server, molti servizi serverhttp + email 192.168.10.1 Client POP3 lettura posta http smtp 192.168.10.1 ? pop G. Mecca - Tecnologie di Sviluppo per il Web
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 server192.168.10.1 http smtp pop porta 80 porta 25 porta 110 192.168.10.1, 110 G. Mecca - Tecnologie di Sviluppo per il Web
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
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
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 32938 • destination port 80 • Risposta da 192.168.10.9 a 192.168.10.1 • source port 80 • destination port 32938 G. Mecca - Tecnologie di Sviluppo per il Web
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
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
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
我看一次严肃的危机 I see aserious crisisaround I see aserious crisisaround 01001110 01001110 linea telefonica Introduzione alle Reti >> Concetto di Pila di Protocolli C’è grossa crisi G. Mecca - Tecnologie di Sviluppo per il Web
Infrastruttura Infrastruttura Strato Strato Strato Strato Strato Strato Introduzione alle Reti >> Concetto di Pila di Protocolli Modulo Software (es: browser) Modulo Software (es: server web) Messaggio Messaggio regole regole regole collegamento fisico G. Mecca - Tecnologie di Sviluppo per il Web
Introduzione alle Reti >> Concetto di Pila di Protocolli Strati Software e Pila di Protocolli Applicativo Y Applicativo X protocollo Strato software Strato software protocollo Strato software Strato software protocollo Strato software Strato software interfacce protocollo Strato Fisico Strato fisico collegamento G. Mecca - Tecnologie di Sviluppo per il Web
Introduzione alle Reti >> Concetto di Pila di Protocolli >> La Pila ISO/OSI La Pila ISO/OSI protocollo Applicazione Applicazione protocollo Presentazione Presentazione protocollo Sessione Sessione protocollo Trasporto Trasporto protocollo Rete Rete protocollo Dati Dati protocollo Fisico Fisico collegamento G. Mecca - Tecnologie di Sviluppo per il Web
protocollo Applicazione POP, SMTP HTTP … protocollo Trasporto TCP, UDP (ICMP) protocollo Rete IP protocollo Fisico Fisico collegamento Introduzione alle Reti >> La Pila TCP/IP La Pila TCP/IP • La pila di protocolli di Internet • Due protocolli fondamentali: TCP e IP G. Mecca - Tecnologie di Sviluppo per il Web
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
Appl. Java 192.168.10.111 Server email 192.168.10.1 protocollo di applicazione Client SMTP Server SMTP Introduzione alle Reti >> La Pila TCP/IP Livello di Applicazione • Numerosi protocolli (client-server) • Sintassi e semantica dei messaggi (ASCII) • Esempio: SMTP 220 HELO 192.168.10.111 220 192.168.10.1 SMTP Service 250 MAIL accepted MAIL From:<quelo@tin.it> RCPT To:<gino@tibet.tb> 250 RECIPIENT accepted <testo del messaggio> 250 OK G. Mecca - Tecnologie di Sviluppo per il Web
protocollo di applicazione protocollo di trasporto Client SMTP TCP Server SMTP TCP Introduzione alle Reti >> La Pila TCP/IP Livello di Trasporto: TCP • Orientato alla connessione, affidabile • Datagrammi (pacchetti) messaggio SMTP....... messaggio SMTP...... porta dest., porta sorg. porta dest., porta sorg. dg1 dg1 dg500 dg500 dg1000 dg1000 intestazioni TCP G. Mecca - Tecnologie di Sviluppo per il Web
protocollo di trasporto protocollo di rete IP TCP TCP IP route dg500 R R dg500 Introduzione alle Reti >> La Pila TCP/IP Livello di Rete: IP (Internet Protocol) • Commutazione pacchetto, non affidabile • Instradamento (routing) dg500 dg500 IP dest., IP sorg. IP dest., IP sorg. intestazioni IP G. Mecca - Tecnologie di Sviluppo per il Web
protocollo di rete IP IP route dg500 R R Ethernet Ethernet collegamento fisico Introduzione alle Reti >> La Pila TCP/IP Livello Fisico • Vari protocolli (es: Ethernet) • Stabilisce le regole per la trasmissione dei bit sul canale fisico dg500 0100100110 G. Mecca - Tecnologie di Sviluppo per il Web
Appl. Java Server email protocollo di applicazione Client SMTP Server SMTP messaggio SMTP.... protocollo di trasporto TCP TCP HTdg1 HTdg1 HTdg500 HTdg500 protocollo di rete HTdg1000 HTdg1000 IP IP route R R HIPHTdg500 0100100110 Ethernet Ethernet collegamento fisico Introduzione alle Reti >> La Pila TCP/IP e-mail e-mail messaggio SMTP.... HIPHTdg500 G. Mecca - Tecnologie di Sviluppo per il Web
Elab. Client-Server Reti di Calcolatori Commutazione di pacchetto La Rete Internet Reti di reti e routing Numeri IP DNS Servizi e Porte Pile di Protocolli La pila ISO/OSI La Pila TCP/IP Livello di applicazione Livello di trasporto (TCP) Livello di rete (IP) Introduzione alle Reti >> Sommario Sommario G. Mecca - Tecnologie di Sviluppo per il Web
Introduzione alle Reti >> La Rete Internet Internet, Qualche Dato • ARPANET • 1969: 4 • 1972: 34 • 1990: 200.000 • 1992: 1M Oggi: 2x all’anno G. Mecca - Tecnologie di Sviluppo per il Web
bit 1 bit 32 byte 1 byte 2 byte 3 byte 4 0 netid hostid CLASSE A CLASSE B 1 0 netid hostid 1 1 0 netid hostid CLASSE C Introduzione alle Reti >> La Rete Internet >> Numeri IP Rete e Host subnet mask es: 255.255.255.0 G. Mecca - Tecnologie di Sviluppo per il Web
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.384reti, 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
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
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
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
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
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