Le reti di calcolatori - Moreno Marzolla Dipartimento di Informatica-Scienza e Ingegneria (DISI) Università di Bologna ...
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Le reti di calcolatori Moreno Marzolla Dipartimento di Informatica—Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/
Copyright © 2011, 2016–2018 Moreno Marzolla http://www.moreno.marzolla.name/teaching/FINFA/ This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 international (CC BY-SA 4.0) License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA. Le reti di calcolatori 2
Ringraziamenti ● Prof. Gabriele D'Angelo, Università di Bologna – https://www.unibo.it/sitoweb/g.dangelo/ Le reti di calcolatori 3
Rete di calcolatori ● Una rete di calcolatori è un insieme di nodi collegati mediante mezzi di trasmissione dati che consentono lo scambio di informazioni Le reti di calcolatori 4
Reti a commutazione di circuito ● Le prime reti di comunicazione sono state le reti telefoniche ● Una chiamata telefonica stabilisce una connessione diretta tra chiamante e ricevente ● I sistemi telefonici (commutatori meccanici o elettronici) selezionano specifiche linee telefoniche, o circuiti, connessi in modo da creare un unico collegamento tra chiamante e ricevente "JT Switchboard 770x540" by Joseph A. Carr - ● Una volta che la linea è stata http://www.JoeTourist.net/. Licensed under Attribution via Commons - creata, i dati (voce) vengono https://commons.wikimedia.org/wiki/File:JT_Switchboard trasmessi _770x540.jpg#/media/File:JT_Switchboard_770x540.jpg Le reti di calcolatori 5
Reti a commutazione di circuito Commutatore Chiamante Ricevente Le reti di calcolatori 6
Problemi ● La commutazione di circuito funziona bene per chiamate telefoniche ● Non funziona altrettanto bene per i dati – Stabilire una connessione punto-punto per ogni coppia trasmittente-ricevente su reti di grandi dimensioni è complesso e poco efficiente – Le linee dei commutatori rimangono impegnate durante l'intera durata della trasmissione ● Internet utilizza un meccanismo diverso, detto a commutazione di pacchetto Le reti di calcolatori 7
Commutazione di pacchetto ● I messaggi vengono suddivisi in pacchetti di dimensione fissata ● Ogni pacchetto viene instradato verso il destinatario, attraverso nodi intermedi – Ogni nodo intermedio riceve un pacchetto e lo ritrasmette al nodo successivo (store-and-forward) – Ciascun pacchetto può prendere strade diverse dagli altri ● Il destinatario riceve i pacchetti e li riassembla Le reti di calcolatori 8
Commutazione di pacchetto Mittente Destinatario Messaggio Nodo di instradamento (router) Le reti di calcolatori 9
Commutazione di pacchetto Mittente Destinatario Mes sa gg io Nodo di instradamento (router) Le reti di calcolatori 10
Commutazione di pacchetto sa io Mittente Destinatario Mes gg Nodo di instradamento (router) Le reti di calcolatori 11
Commutazione di pacchetto Mittente Destinatario Nodo di instradamento (router) Mes sa gg io Le reti di calcolatori 12
Commutazione di pacchetto Mittente Destinatario Nodo di instradamento (router) Messaggio Le reti di calcolatori 13
Vantaggi della commutazione di pacchetto ● Messaggi di grandi dimensioni vengono suddivisi in pacchetti più corti facilmente gestibili ● I pacchetti possono viaggiare su percorsi differenti, bilanciando il traffico sulla rete ● La ritrasmissione di un singolo pacchetto perso o danneggiato è preferibile alla ritrasmissione dell'intero messaggio Le reti di calcolatori 14
Problemi da risolvere ● Come faccio a identificare ogni nodo della rete? ● Come faccio a consentire a programmi diversi in esecuzione su nodi diversi di interagire tra loro? ● Cosa succede se qualche pacchetto viene perso? ● Cosa succede se qualche pacchetto viene duplicato? ● Cosa succede se i pacchetti arrivano al destinatario in ordine diverso dall'ordine di spedizione? ● ... Le reti di calcolatori 15
Stack di protocolli Le reti di calcolatori 16 A. S. Tanenbaum, Computer Networks, http://authors.phptr.com/tanenbaumcn4/
Architettura TCP/IP Protocolli a livello applicazione TCP UDP IP Scheda di rete e relativo driver Le reti di calcolatori 17
Livello Hardware ● Gestisce la comunicazione Protocolli a livello tra due macchine collegate applicazione direttamente mediante un opportuno canale TCP UDP – Impulsi elettrici su filo di IP rame, impulsi luminosi su fi- bra ottica, onde radio... Scheda di rete e ● Problemi affrontati relativo driver – Come rappresento sequen- ze di bit con il segnale ana- logico? – Come gestisco errori dovuti a interferenze o collisioni? Le reti di calcolatori 18
Livello Internet ● Comunicazione orientata Protocolli a livello a pacchetti tra due nodi applicazione non necessariamente TCP UDP collegati direttamente ● Problemi affrontati: IP – Instradamento (routing) – Identificazione univoca Scheda di rete e dei nodi della rete relativo driver Le reti di calcolatori 19
Livello Trasporto ● Comunicazione affidabile Protocolli a livello ed efficiente basata su applicazione un flusso di byte tra pro- TCP UDP cessi (programmi in ese- cuzione) IP ● Problemi affrontati – Gestione pacchetti persi / Scheda di rete e duplicati / riordinati duran- relativo driver te il tragitto – Identificazione di processi in esecuzione sullo stesso nodo Le reti di calcolatori 20
Livello Applicazione ● Protocolli di comunica- Protocolli a livello applicazione zione utilizzati dalle ap- plicazioni TCP UDP – SMTP/POP/IMAP (Posta Elettronica) IP – HTTP (Web) – Bittorrent Scheda di rete e – ... relativo driver Le reti di calcolatori 21
IP ● Il protocollo IP definisce le regole di base per la comunicazione tra due nodi (host) connessi alla rete – Comunicazione orientata a pacchetti – Comunicazione non affidabile: i pacchetti (datagram) possono essere persi, duplicati, ecc. ● La comunicazione è tra due host (esempio, due PC). IP (da solo) non distingue tra applicazioni diverse in esecuzione sullo stesso host ● IP definisce le regole – per l'instradamento dei pacchetti nella rete – per l'uso di indirizzi univoci assegnati a ciascun nodo della rete Le reti di calcolatori 22
IP Mittente Destinatario Internet 1 8 7 2 3 Pacchetto 3 6 fuori ordine 4 Pacchetto Pacchetto perso duplicato Le reti di calcolatori 23
TCP ● Il protocollo TCP si basa su IP, e definisce meccanismi per realizzare una comunicazione affidabile ed efficiente tra due processi in esecuzione su due host – Affidabile: pacchetti persi o danneggiati vengono ritrasmessi – Efficiente: ridurre la congestione nei nodi intermedi ● TCP fornisce l'illusione di un canale di comunicazione (un “tubo”) che collega due processi – I dati arrivano nello stesso ordine con cui sono spediti – Vengono corretti eventuali problemi legati a pacchetti IP persi o duplicati Le reti di calcolatori 24
TCP P1 Processo Host P2 P3 P6 P7 Internet P8 P4 P5 Le reti di calcolatori 25
Gli indirizzi IPv4 ● Ogni nodo collegato alla rete si chiama host – PC, smartphone, smart TV, router, ... ● Gli indirizzi IPv4 sono composti da 4 blocchi; ogni blocco è un numero intero compreso tra 0 e 255 – Es. 130.136.1.104 – Quindi un indirizzo IPv4 può essere codificato con 32 bit, suddivisi in 4 numeri di 8 bit ● Ciascun host collegato a Internet deve avere un indirizzo IP ● Domanda: quanti indirizzi IPv4 distinti possono esistere? Le reti di calcolatori 26
Risposta ● Al massimo 256 256 256 256 = 232 = 4 294 967 296 ● In realtà sono di meno, perché certi intervalli di indirizzi sono riservati – Esempio: 10.x.x.x denota un indirizzo IPv4 privato, che non può identificare un host raggiungibile dalla rete Internet “pubblica” Le reti di calcolatori 27
Quale è il mio indirizzo IP? ● Usando Windows XP, File → Programs → Accessories → Command Prompt ● All'interno della finestra che si apre, digitare ipconfig e premere “Invio” Le reti di calcolatori 28
Gli indirizzi IPv6 ● Gli indirizzi IPv4 stanno per finire... ● Per tale ragione è stato sviluppato un nuovo protocollo (IPv6) con un nuovo schema di numerazione – Indirizzi di 16 byte = 128 bit – Ci sono in tutto circa 31038 possibili indirizzi IPv6 – Vuol dire 71023 indirizzi IPv6 per metro quadro di superficie terrestre, oceani inclusi! Le reti di calcolatori 29
I nomi di dominio ● Lavorare con i numeri può andare bene per i calcolatori, meno per gli utenti umani ● Per questa ragione, al posto dei numeri si usano i nomi di dominio – Es.: www.cs.unibo.it corrisponde a 130.136.1.16 ● Un nome di dominio è costituito da sequenze di caratteri separati da punti ● I nomi vengono tradotti in numeri da server chiamati Domain Name Server (DNS) Le reti di calcolatori 30
Tradurre nomi di dominio in indirizzi IP ● Si può usare il comando nslookup nome_host – Esempio: A quale indirizzo IP corrisponde www.unibo.it ? Le reti di calcolatori 31
Banda e Latenza ● Banda – Quantità di dati che possono essere trasferiti attraverso un canale di comunicazione in una unità di tempo – Si misura in B/s (KB/s, MB/s, GB/s...) ● Latenza – Tempo che passa dall'invio di un dato alla sua ricezione – Si misura in secondi (millisecondi, …) ● Esempio Banda 512B/s Latenza 2s Le reti di calcolatori 41
Esempio ● Spediamo una microSD da 1GB (= 230 Byte = circa 1.000.000.000 di Byte) tramite piccione viaggiatore ● Un piccione viaggiatore, con buone condizioni meteo, riesce a viaggiare alla velocità di 70km/h ● Calcolare la latenza e la banda di un piccione viaggiatore che consegna 1GB a 140km di distanza Le reti di calcolatori 42
http://www.reuters.com/article/2009/09/09/us-safrica-pigeon-idUSTRE5885PM20090909 Le reti di calcolatori 43
Domanda Mittente Destinatario ● È dato un canale con banda 1 MB/s (=1024 a 1024 B/s) e latenza 20 ms (=20 10-3s) ● Vogliamo trasferire 100 x KB (=100 1024 B) b ● Quanto tempo passa dall'inizio della trasmissione alla completa ricezione da parte del destinatario (x)? Tempo Le reti di calcolatori 45
Il protocollo HTTP ● Hyper Text Transfer Protocol (HTTP) – Nella pila di protocolli TCP/IP si colloca a livello applicazione ● Principalmente utilizzato dai browser per collegarsi ai server Web e richiedere risorse – Pagine HTML, immagini, video, file binari, … ● Caratteristiche: – Protocollo client-server ● In HTTP esistono due ruoli: il client (di solito, il vostro browser) attiva la connessione e invia le richieste. Il server accetta la connessione e risponde alla richiesta – Protocollo generico ● E' un protocollo di trasporto: puo' essere usato per richiedere pagine HTML, file binari, immagini... Le reti di calcolatori 46
Client Server Web (browser) www.unibo.it Apertura di una connessione TCP verso il processo server in esecuzione su www.unibo.it GET /index.html index.html GET /logo.png GET /banner.png logo.png banner.png GET /photo.jpg photo.jpg Chiusura della connessione TCP Le reti di calcolatori 47
Posta Elettronica (EMail) ● Consente di trasferire messaggi da un host ad un altro – I messaggi possono includere testo, ma anche allegati di qualsiasi tipo (suoni, immagini, filmati...) Le reti di calcolatori 51
La catena dell'invio / ricezione della posta elettronica Mittente Destinatario pippo@abc.com pluto@xyz.com Server di posta del Server di posta del dominio abc.com dominio xyz.com 1 2 3 Protocollo Protocollo Protocollo SMTP POP SMTP oppure IMAP Le reti di calcolatori 53
Simple Mail Transport Protocol (SMTP) ● Protocollo utilizzato dal mittente per comunicare col proprio server di posta in uscita, quando vuole spedire un nuovo messaggio Le reti di calcolatori 54
HELO abc.com SMTP 250 multivac.localdomain Hello localhost.localdomain [127.0.0.1], pleased to meet you MAIL FROM: 250 2.1.0 ... Sender ok RCPT TO: 250 2.1.5 ... Recipient ok (will queue) DATA 354 Enter mail, end with "." on a line by itself From: To: Subject: Questa e' una prova Questo e' il testo del messaggio. Non c'e' molto da dire, in verita'... A presto. . 250 2.0.0 i0UHCm501849 Message accepted for delivery QUIT 221 2.0.0 multivac.localdomain closing connection Le reti di calcolatori 55
Post Office Protocol (POP) ● È uno dei protocolli che il destinatario può utilizzare per recuperare i messaggi – I messaggi vengono trasferiti dal server di posta del destinatario al PC del destinatario usando il protocollo POP – Una volta sul PC del destinatario, i messaggi possono essere letti da un apposito programma (Thunderbird, Outlook, OSX Mail.app...) ● Tramite POP è possibile chiedere al server di posta di: – Recuperare la posta e in seguito cancellarla dal server – Recuperare la posta senza cancellarla – Vedere se ci sono nuovi messaggi Le reti di calcolatori 56
Internet Message Access Protocol (IMAP) ● È il protocollo che ha rimpiazzato POP per la lettura dei messaggi – Con IMAP è possibile chiedere al server di scaricare solo alcuni messaggi, anziché tutti – È possibile scaricare solo l'intestazione e il mittente di un messaggio (evito così di trasferire il corpo di messaggi che non mi interessano) – IMAP consente di creare cartelle sul server di posta per tenere ordinati i messaggi Le reti di calcolatori 57
Alcune tristi verità sulla posta elettronica ● A meno di non prendere opportune precauzioni (crittografia, firma digitale) – non possiamo essere sicuri dell'identità del mittente – non possiamo essere sicuri che i messaggi vengano letti solo dal destinatario – non possiamo essere sicuri che i messaggi non siano stati alterati durante il tragitto mittente → destinatario ● Quindi: – Trattate ogni mail con sospetto – MAI fornire dati sensibili via mail (esempio, password, numeri di carta di credito, codice fiscale...) Le reti di calcolatori 58
Idee chiave ● Reti a commutazione di circuito vs reti a commutazione di pacchetto ● Stack di protocolli ● Indirizzi IP ● HTTP, SMTP, POP, IMAP ● Banda e latenza Le reti di calcolatori 59
Puoi anche leggere