le reti di calcolatori · meccanici o elettronici) selezionano specifiche linee ... le reti di...
Post on 15-Feb-2019
220 Views
Preview:
TRANSCRIPT
Le reti di calcolatoriLe reti di calcolatori
Moreno MarzollaDipartimento di Informatica—Scienza e Ingegneria (DISI)
Università di Bolognahttp://www.moreno.marzolla.name/
Le reti di calcolatori 2
Copyright © 2011, 2016–2018 Moreno Marzollahttp://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 3
Ringraziamenti
● Prof. Gabriele D'Angelo, Università di Bologna– https://www.unibo.it/sitoweb/g.dangelo/
Le reti di calcolatori 4
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 5
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
● Una volta che la linea è stata creata, i dati (voce) vengono trasmessi
"JT Switchboard 770x540" by Joseph A. Carr - http://www.JoeTourist.net/. Licensed under Attribution via Commons - https://commons.wikimedia.org/wiki/File:JT_Switchboard_770x540.jpg#/media/File:JT_Switchboard_770x540.jpg
Le reti di calcolatori 7
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 8
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 9
Commutazione di pacchetto
Mittente
Destinatario
Nodo di instradamento (router)Messaggio
Le reti di calcolatori 10
Commutazione di pacchetto
Mittente
Destinatario
Nodo di instradamento (router)Mes sa gg io
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)Mes sa gg io
Le reti di calcolatori 13
Commutazione di pacchetto
Mittente
Destinatario
Nodo di instradamento (router)Messaggio
Le reti di calcolatori 14
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 15
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 16
Stack di protocolli
A. S. Tanenbaum, Computer Networks, http://authors.phptr.com/tanenbaumcn4/
Le reti di calcolatori 17
Architettura TCP/IP
Protocolli a livelloapplicazione
TCP UDP
IP
Scheda di rete erelativo driver
Le reti di calcolatori 18
Livello Hardware
● Gestisce la comunicazione tra due macchine collegate direttamente mediante un opportuno canale– Impulsi elettrici su filo di
rame, impulsi luminosi su fi-bra ottica, onde radio...
● Problemi affrontati– Come rappresento sequen-
ze di bit con il segnale ana-logico?
– Come gestisco errori dovuti a interferenze o collisioni?
Protocolli a livelloapplicazione
TCP UDP
IP
Scheda di rete erelativo driver
Le reti di calcolatori 19
Livello Internet
Protocolli a livelloapplicazione
TCP UDP
IP
Scheda di rete erelativo driver
● Comunicazione orientata a pacchetti tra due nodi non necessariamente collegati direttamente
● Problemi affrontati:– Instradamento (routing)– Identificazione univoca
dei nodi della rete
Le reti di calcolatori 20
Livello Trasporto
● Comunicazione affidabile ed efficiente basata su un flusso di byte tra pro-cessi (programmi in ese-cuzione)
● Problemi affrontati– Gestione pacchetti persi /
duplicati / riordinati duran-te il tragitto
– Identificazione di processi in esecuzione sullo stesso nodo
Protocolli a livelloapplicazione
TCP UDP
IP
Scheda di rete erelativo driver
Le reti di calcolatori 21
Livello Applicazione
Protocolli a livelloapplicazione
TCP UDP
IP
Scheda di rete erelativo driver
● Protocolli di comunica-zione utilizzati dalle ap-plicazioni– SMTP/POP/IMAP (Posta
Elettronica)– HTTP (Web)– Bittorrent– ...
Le reti di calcolatori 22
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 23
Internet
IP
6
7
4
2
1 8
Pacchetto persoPacchettoduplicato
Pacchettofuori ordine
33
Mittente Destinatario
Le reti di calcolatori 24
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 26
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 27
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 28
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 29
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 30
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 31
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 41
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
Latenza 2s
Banda512B/s
Le reti di calcolatori 42
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 43
http://www.reuters.com/article/2009/09/09/us-safrica-pigeon-idUSTRE5885PM20090909
Le reti di calcolatori 45
Domanda
● È dato un canale con banda 1 MB/s (=1024 1024 B/s) e latenza 20 ms (=20 10-3s)
● Vogliamo trasferire 100 KB (=100 1024 B)
● Quanto tempo passa dall'inizio della trasmissione alla completa ricezione da parte del destinatario (x)?
x
a
b
Mittente Destinatario
Tempo
Le reti di calcolatori 46
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 47
GET /index.html
index.html
GET /logo.png
logo.pngGET /banner.png
banner.pngGET /photo.jpg
photo.jpg
Client(browser)
Server Webwww.unibo.it
Apertura di una connessione TCP verso il processo server in esecuzione su www.unibo.it
Chiusura della connessione TCP
Le reti di calcolatori 51
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 53
La catena dell'invio / ricezione della posta elettronica
Mittentepippo@abc.com
Destinatariopluto@xyz.com
ProtocolloSMTP
321
ProtocolloSMTP
ProtocolloPOP
oppureIMAP
Server di posta del dominio abc.com
Server di posta del dominio xyz.com
Le reti di calcolatori 54
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 55
SMTPHELO abc.com250 multivac.localdomain Hello localhost.localdomain [127.0.0.1], pleased to meet youMAIL FROM: <pippo@abc.com>250 2.1.0 <pippo@abc.com>... Sender okRCPT TO: <pluto@xyz.com>250 2.1.5 <pluto@xyz.com>... Recipient ok (will queue)DATA354 Enter mail, end with "." on a line by itselfFrom: <pippo@abc.com>To: <pluto@xyz.com>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 deliveryQUIT221 2.0.0 multivac.localdomain closing connection
Le reti di calcolatori 56
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 57
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 58
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...)
top related