Tecnologie di Sviluppo per il Web Introduzione alle Reti di Calcolatori versione 1.2 G. Mecca – mecca@unibas.it – Università della Basilicata
Sommario dei Concetti Elab. Client-Server Reti di Calcolatori 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 Pile di Protocolli La pila ISO/OSI La Pila TCP/IP Livello di applicazione Livello di trasporto (TCP) Livello di rete (IP) G. Mecca - Tecnologie di Sviluppo per il Web
Architetture di Riferimento Introduzione alle Reti >> Elaborazione Client-Server Architetture di Riferimento Basi di Dati Applicazione C Applicazione Java Base di Dati DBMS Rete G. Mecca - Tecnologie di Sviluppo per il Web
Architetture di Riferimento Introduzione alle Reti >> Elaborazione Client-Server Architetture di Riferimento Sviluppo Web Sito Server HTTP Internet intranet browser G. Mecca - Tecnologie di Sviluppo per il Web
Architetture Generale Introduzione alle Reti >> Elaborazione Client-Server Architetture Generale Architettura Client-Server richiesta – risposta elaborazione distribuita Rete Cliente Servizio Servente infrastruttura complessa G. Mecca - Tecnologie di Sviluppo per il Web
Reti di Calcolatori Insieme di calcolatori collegati fisicamente 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
Parametri Tecnologici 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
Collegamenti e Topologie 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
Livello di Distribuzione 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
Modalità di Connessione 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
Architettura e Protocolli 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 di Reti (internet) Introduzione alle Reti >> La Rete Internet Rete di Reti (internet) Tecnologie multiple Gateway (o Router) Rete 4 R2 R3 Rete 1 Rete 3 R1 Es: Internet (ma anche IPX) Rete 2 G. Mecca - Tecnologie di Sviluppo per il Web
Internet, una Classificazione 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
Meccanismo di Indirizzamento Introduzione alle Reti >> La Rete Internet >> Numeri IP Meccanismo di Indirizzamento Numeri IP (IPv4) byte 1 byte 4 byte 3 byte 2 10100000 01001110 00110000 00000010 160 78 . 48 2 G. Mecca - Tecnologie di Sviluppo per il Web
Meccanismo di Indirizzamento 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
Meccanismo di Indirizzamento 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
Numeri e Nomi Domini Internet com gov org it jp uniroma3 unibas dia Introduzione alle Reti >> La Rete Internet >> DNS Numeri e Nomi com gov org it jp uniroma3 unibas dia fis yahoo ...... microsoft research www.microsoft.com mail.dia.uniroma3.it www.difa.unibas.it root Domini Internet G. Mecca - Tecnologie di Sviluppo per il Web
DNS La comunicazione avviene sempre tra IP 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
Esempio com gov org it jp uniroma3 unibas dia fis yahoo ...... Introduzione alle Reti >> La Rete Internet >> DNS Esempio Una possibile risoluzione di “mail.dia.uniroma3.it” da parte di “www.microsoft.com” com gov org it jp uniroma3 unibas dia fis yahoo ...... microsoft www.microsoft.com mail.dia.uniroma3.it www.difa.unibas.it root G. Mecca - Tecnologie di Sviluppo per il Web
Parametri di Connessione 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
Principali Servizi Internet 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
Porte ? Un server, molti servizi http smtp pop server http + email Introduzione alle Reti >> La Rete Internet >> Servizi e Porte Porte Un server, molti servizi Client POP3 lettura posta server http + email 192.168.10.1 http smtp 192.168.10.1 ? pop G. Mecca - Tecnologie di Sviluppo per il Web
Porte e Connessioni Identificatore numerico di un servizio 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 smtp pop porta 80 porta 25 porta 110 192.168.10.1, 110 G. Mecca - Tecnologie di Sviluppo per il Web
Porte Numero di porta: 16 bit (0-65535) http://www.iana.org 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
Porte Linux: /etc/services 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
Esempio di Connessione 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
Protocolli e Pile di Protocolli 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
I Due Santoni Due santoni vogliono discutere del senso della vita 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
I Due Santoni Regole Infrastruttura linguaggio comune: inglese 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
C’è grossa crisi 01001110 01001110 linea telefonica 我看一次严肃的危机 Introduzione alle Reti >> Concetto di Pila di Protocolli 我看一次严肃的危机 I see a serious crisis around C’è grossa crisi I see a serious crisis around 01001110 01001110 linea telefonica G. Mecca - Tecnologie di Sviluppo per il Web
Modulo Software (es: browser) Modulo Software (es: server web) Introduzione alle Reti >> Concetto di Pila di Protocolli Modulo Software (es: browser) Modulo Software (es: server web) Messaggio Messaggio Strato Infrastruttura Strato Infrastruttura regole regole regole collegamento fisico G. Mecca - Tecnologie di Sviluppo per il Web
Strati Software e Pila di Protocolli Introduzione alle Reti >> Concetto di Pila di Protocolli Strati Software e Pila di Protocolli Applicativo X Applicativo Y 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
La Pila ISO/OSI protocollo Applicazione Applicazione protocollo 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
La Pila TCP/IP La pila di protocolli di Internet Introduzione alle Reti >> La Pila TCP/IP La Pila TCP/IP La pila di protocolli di Internet Due protocolli fondamentali: TCP e IP POP, SMTP HTTP … TCP, UDP (ICMP) IP Fisico collegamento protocollo Applicazione Trasporto Rete Fisico G. Mecca - Tecnologie di Sviluppo per il Web
Introduzione alle Reti >> 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
Livello di Applicazione 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 Server email 192.168.10.1 Client SMTP Server SMTP protocollo di applicazione 220 192.168.10.1 SMTP Service 220 HELO 192.168.10.111 MAIL From:<quelo@tin.it> 250 MAIL accepted RCPT To:<gino@tibet.tb> 250 RECIPIENT accepted <testo del messaggio> 250 OK G. Mecca - Tecnologie di Sviluppo per il Web
Livello di Trasporto: TCP Introduzione alle Reti >> La Pila TCP/IP Livello di Trasporto: TCP Orientato alla connessione, affidabile Datagrammi (pacchetti) Client SMTP Server SMTP protocollo di applicazione messaggio SMTP...... messaggio SMTP....... TCP protocollo di trasporto porta dest., porta sorg. porta dest., porta sorg. dg1 dg1 dg500 dg500 dg1000 dg1000 intestazioni TCP G. Mecca - Tecnologie di Sviluppo per il Web
Livello di Rete: IP (Internet Protocol) Introduzione alle Reti >> La Pila TCP/IP Livello di Rete: IP (Internet Protocol) Commutazione pacchetto, non affidabile Instradamento (routing) TCP protocollo di trasporto dg500 dg500 IP protocollo di rete IP dest., IP sorg. IP dest., IP sorg. R route dg500 intestazioni IP G. Mecca - Tecnologie di Sviluppo per il Web
Livello Fisico Vari protocolli (es: Ethernet) 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 protocollo di rete R route dg500 dg500 0100100110 Ethernet collegamento fisico G. Mecca - Tecnologie di Sviluppo per il Web
protocollo di applicazione protocollo di trasporto Introduzione alle Reti >> La Pila TCP/IP Appl. Java Server email e-mail e-mail Client SMTP Server SMTP protocollo di applicazione messaggio SMTP.... TCP protocollo di trasporto HTdg1 HTdg500 HTdg1000 messaggio SMTP.... HTdg1 HTdg500 HTdg1000 IP protocollo di rete R route HIPHTdg500 HIPHTdg500 0100100110 Ethernet collegamento fisico G. Mecca - Tecnologie di Sviluppo per il Web
Sommario Elab. Client-Server Reti di Calcolatori La Rete Internet 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 Pile di Protocolli La pila ISO/OSI La Pila TCP/IP Livello di applicazione Livello di trasporto (TCP) Livello di rete (IP) G. 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 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
Rete e Host subnet mask es: 255.255.255.0 byte 1 byte 4 byte 3 byte 2 Introduzione alle Reti >> La Rete Internet >> Numeri IP Rete e Host byte 1 byte 4 byte 3 byte 2 hostid netid CLASSE A bit 1 bit 32 netid hostid 1 CLASSE B hostid netid 1 CLASSE C subnet mask es: 255.255.255.0 G. Mecca - Tecnologie di Sviluppo per il Web
Classi di Reti Classe A Classe B Classe C 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
Reti Non Connesse Reti disconnesse da Internet Classe A (una rete) 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
Porte e Socket Socket: IP, porta, stream Connessione: 2 socket 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
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 | | ...... | G. Mecca - Tecnologie di Sviluppo per il Web
Datagramma IP Introduzione alle Reti >> La Pila TCP/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
Altri Protocolli UDP (Unix Datagram Protocol) 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