Stefano Brocchi stefano.brocchi@unifi - The BCIF lossless ... · Applicazione fornita...

92
Le reti di calcolatori Stefano Brocchi stefano.brocchi@unifi.it Stefano Brocchi Le reti 1 / 92

Transcript of Stefano Brocchi stefano.brocchi@unifi - The BCIF lossless ... · Applicazione fornita...

Le reti di calcolatori

Stefano [email protected]

Stefano Brocchi Le reti 1 / 92

Le reti di calcolatori

Una rete e un insieme di calcolatori autonomi collegati tra di loro

L’unione dei calcolatori puo mettere a disposizioni servizi per l’utente

Applicazione fornita dall’esecuzione combinata di piu macchine

L’utente non ha necessita di conoscere come e costruita la rete

Stefano Brocchi Le reti 2 / 92

Utilizzo delle reti

Grazie alle reti, e possibile realizzare molteplici applicazioni efunzionalita:

Pubblicazione e condivisione di risorse

Condivisione di risorse hardware e software

Realizzazione di sistemi altamente affidabili grazie alla replicazione dihardware e dati

Applicazioni di comunicazione remota di utenti

Suddivisa in modalita sincrone (come una chat) e asincrone (come unamail)

Vendita e acquisto di beni tramite e-commerce

Stefano Brocchi Le reti 3 / 92

Nuovi mezzi per vecchi media

Grazie a Internet, si sono sviluppate anche delle tecnologie cheripropongono con delle migliorie servizi gia esistenti:

Comunicazione telefonica a basso costo tramite VoIP (Voice over IP)

Email: un sistema postale elettronico

Radio online

Internet TV

Stampa e quotidiani online

Stefano Brocchi Le reti 4 / 92

Un po’ di storia

Generalizzando, il primo esempio di trasmissione di dati a distanzaappare con il codice Morse

Negli anni 40, nascono i primi collegamenti di terminali remoti atastiere

Anni 70: primi calcolatori collegati tra loro

In seguito, proliferano i collegamenti in reti locali e geografiche finoalla nascita di Internet

Stefano Brocchi Le reti 5 / 92

Internet

Internet nasce dalle parole Interconnected Networks (retiinterconnesse)

Una rete e inteso come un sistema chiuso di macchine checomunicano fra loro

Internet, una ’rete di reti interconnesse’, rappresenta quindi un’unioneglobale di molte reti collegate insieme

Stefano Brocchi Le reti 6 / 92

Nascita

Le origini di Internet: nel 69 nasce ARPANet, un progetto della difesadegli Stati Uniti per la condivisione di informazioni e risorse di calcolo

Un altro requisito fondamentale era la resistenza globale ai guasti dellesingole macchine: anche se alcuni computer si guastano o vengonoattaccati, la rete continua a funzionare correttamenteConcetto di sistema distribuito senza una coordinazione centralizzata

Nel 73 vengono allacciate connessioni internazionali ad ARPANet

Stefano Brocchi Le reti 7 / 92

Sviluppo

Nell’82 nasce il TCP/IP, protocollo di comunicazione utilizzatotuttora in Internet (anche se con opportune evoluzioni)

Grazie alla separazione del progetto militare ARPANet dalla rete,nasce Internet

Rete distribuita senza una coordinazione centralizzataAperta a tutti, sia per quanto riguarda la lettura che la pubblicazionedi informazioni

In europa, lo sviluppo della rete e partito principalmente dal CERN

Stefano Brocchi Le reti 8 / 92

Internet oggi

Da allora, Internet e cresciuta con un ritmo esponenziale

Numero di contenuti e di servizi in continua crescita

Grazie all’assenza di un’autorita centrale di controllo, la rete diventaun simbolo della libera espressione

Contro: e molto difficile bloccare la diffusione di materiale illegale, peresempio frutto di pirateria

Stefano Brocchi Le reti 9 / 92

Classificazione

Le reti si possono classificare in diverse tipologie

Le tipologie di connessione di base sono da punto a punto omultipunto

A seconda dell’estensione, le reti si classificano come personali, locali,metropolitane, geografiche o reti di reti (Internet)

La topologia definisce come le macchine sono connesse tra loro

Stefano Brocchi Le reti 10 / 92

Punto a punto e broadcast

Si parla di connessioni punto a punto quando tra due macchine esisteun collegamento diretto che consente loro di comunicare

In contrapposizione, nelle comunicazioni in multipunto (broadcast), iltrasmettitore irradia un messaggio che puo essere ricevuto dachiunque e nell’area del segnale

Tipico esempio: le connessioni wireless

In questo caso, nel segnale saranno codificate informazioni chespecificano a chi e destinato il messaggio, ed il destinatario ricevera leinformazioni mentre le altre macchine le ignoreranno

Stefano Brocchi Le reti 11 / 92

Reti personali

La piu semplice tipologia di rete che si puo realizzare e una retepersonale (PAN, Personal Area Network)

Formata da un numero ridotto di dispositivi collegati tra loro esolitamente gestiti da un numero ridotto di utenti

Esempio: allacciamento di smartphone, palmari o portatili con uncomputer fisso, magari per il trasferimento di dati

Stefano Brocchi Le reti 12 / 92

Reti locali (LAN)

Un’altra tipologia comune di reti sono le reti locali (LAN, Local AreaNetwork)

Una LAN e una rete di calcolatori di dimensioni limitata che siestende su di un’area ridotta

Esempio: una serie di computer di un laboratorio scientifico ouniversitario, o un insieme di computer collegati tra loro da un router

Stefano Brocchi Le reti 13 / 92

Reti locali (LAN)

Una LAN e tipicamente realizzata tramite l’allacciamento di computertra loro tramite cavi o Wi-fi

Grazie alla piccola estensione della rete, e possibile comunicare agrande velocita e con un numero ridotto di errori di trasmissione

Tramite le attuali tecnologie, e facile creare reti con velocita ditrasmissione di almeno 1 Gigabit al secondo

Le LAN danno la possibilita di condividere dati in rete, per esempioper il trasferimento

Essendo tutte le macchine collegate solitamente considerate ’fidate’, lacondivisione e piu semplice poiche sono meno necessari accorgimentiper la sicurezza

Stefano Brocchi Le reti 14 / 92

LAN e topologia a bus

Le reti LAN (ma, piu generalmente, tutte le reti) si distinguonorispetto a come sono collegati i calcolatori

La tipologia piu semplice e quella a bus: tutti trasmettono e leggonodati da un canale comune utilizzato in broadcast

Lato positivo: la rete funziona indipendentemente da quello chesuccede alle singole macchine

Lati negativi: limitato numero di computer allacciabili per lelimitazioni dell’uso di un singolo canale

Distanza fisica massima limitata (per esempio, nel wifi limitata alladistanza di trasmissione del segnale)Ogni trasmissione occupa parte della banda dell’intero canale, conmolti calcolatori la rete diventa lenta e inefficiente

Stefano Brocchi Le reti 15 / 92

Reti locali (LAN)

Un altro inconveniente: come possiamo garantire che ognuno ignori idati non destinati a lui, e non intercetti le comunicazioni altrui ?

Necessaria attenzione per la sicurezza della rete, in particolare per lereti wi-fi

Una password di accesso garantisce che solo gli utenti autorizzati sipossano allacciare alla reteLa password viene anche utilizzata per codificare i dati scambiati, inmodo che anche se qualcuno intercetta il segnale, allora non sara ingrado di decifrarlo

Stefano Brocchi Le reti 16 / 92

Topologia a stella

Nella topologia a stella invece tutti i calcolatori sono connessi ad undispositivo centralizzato che fa da smistatore

Maggiore efficienza e sicurezza: ogni computer cosı riceve solo i datiche gli sono destinati

Inconveniente: se il dispositivo centrale si guasta, tutta la rete smettedi funzionare

Stefano Brocchi Le reti 17 / 92

Topologia a maglia

Nella topologia a maglia, ogni calcolatore e collegato direttamente adun numero generico di altri calcolatori

Si parla di topologia a maglia completa, se ognuno e collegato a tuttigli altri

Comunicazione molto semplice: tra ogni coppia di calcolatori esiste uncanale dedicatoSituazione inverosimile se non per un numero di macchine molto ridotto

Stefano Brocchi Le reti 18 / 92

Topologia a maglia: esempio

Vediamo un semplice esempio di topologia a maglia completa

Stefano Brocchi Le reti 19 / 92

Topologia a maglia incompleta

Nella topologia a maglia incompleta, il flusso di dati dovra seguire unpercorso per arrivare a destinazione

La macchina che invia dati li inviera ad una delle macchine collegate,che a sua volta li inoltrera ad un’altra fino ad arrivare a destinazione

Per determinare a chi inviare e dove inoltrare i dati, per grandi retivengono impiegate tecniche di instradamento complesse

Stefano Brocchi Le reti 20 / 92

Topologia a maglia incompleta: esempio

Vediamo un semplice esempio di topologia a maglia incompleta

Stefano Brocchi Le reti 21 / 92

Topologia a maglia e instradamento

Vediamo un semplice esempio di percorso da seguire per laconnessione di due macchine

Stefano Brocchi Le reti 22 / 92

Topologia a maglia

La topologia a maglia e un tipo di organizzazione dei collegamentimolto generale

Tramite un’organizzazione efficiente ed opportuni algoritmi diinstradamento, puo essere molto efficiente in relazione alle risorseimpiegate

Di fatto, Internet e collegata con una topologia a maglia, dove a voltei singoli nodi rappresentano a loro volta delle reti

Stefano Brocchi Le reti 23 / 92

Topologia a maglia: conseguenze

Una conseguenza inevitabile della topologia a maglia incompleta: eche inevitabilmente i dati, durante una comunicazione, passino da unaserie di nodi intermedi

Nel caso di dati sensibili, e necessario un meccanismo per evitare chequesti nodi intermedi leggano informazioni riservate

Conseguenze anche sulla velocita massima della rete, limitata dalnodo piu lento sul percorso

Stefano Brocchi Le reti 24 / 92

MAN, PAN e GAN

Alcune tipologie di reti piu grandi possono essere categorizzate aseconda dell’estensione geografica

Le reti metropolitane (Metropolitan Area Network, MAN) siestendono nella stessa area urbana

Le reti ’allargate’ (Wide Area Network, WAN) si estendono in un’areageografica piu ampia (es. una nazione)

Le reti globali (Global Area Network, GAN) collegamento reti didimensioni minori (es. LAN) a livello planetario tramite satelliti

Tutte e tre queste reti necessitano di una grande infrastruttura per latrasmissione dei dati su larga scala

Internet e formata dall’unione di tante reti dei vari tipi

Stefano Brocchi Le reti 25 / 92

Router

Per connettere computer tra loro, si puo usare un dispositivo dettorouter

Tramite router, si puo collegare una rete locale ad una rete piu grande(tipicamente, a internet)

Dispositivi piu semplici per allacciare computer senza questafunzionalita sono hub e switch

Rete domestica

Internet

Router

Stefano Brocchi Le reti 26 / 92

Comunicazione su rete e protocolli

Per realizzare la comunicazione su una rete, e necessario definire deiprotocolli

Si definisce cosı un modo formale e preciso che garantisca lefunzionalita fondamentali per la trasmissione dei dati

Esempio: come sono codificati i dati, a chi sono destinati e chi e ilmittente, che servizio viene richiesto al destinatario...

Per ogni protocollo utilizzato, verrano inseriti dei dati aggiuntivi aquelli da inviare

Stefano Brocchi Le reti 27 / 92

Il protocollo TCP/IP

In Internet vengono utilizzati i protocolli TCP e IP

IP e la sigla per Internet Protocol (protocollo di Internet)

TCP e la sigla per Transmission Control Protocol (protocollo per lagestione della trasmissione)

Sara necessario anche l’uso di un altro protocollo a secondadell’applicazione in uso (es. browser web o download email)

Possibile aggiungere altri protocolli per funzionalita aggiuntive

Es. per la cifratura e la sicurezza dei dati

Stefano Brocchi Le reti 28 / 92

Interazione con TCP/IP

La struttura a livelli risulta essere la seguente:

Trasmissione dati livello fisico

IP

TCP

Protocollo applicazione

(Es. HTTP)

Stefano Brocchi Le reti 29 / 92

Interazione con TCP/IP

I livelli relativi alla trasmissione fisica e a IP vengono letti e gestitianche dai nodi intermedi nella trasmissione

Ogni nodo intermedio usa il livello fisico per leggere e reinoltrare idati al nodo successivo

Il protocollo IP viene letto per poter determinare a chi sono indirizzatii dati, e quindi dove inoltrarli in modo che arrivino a destinazione

Stefano Brocchi Le reti 30 / 92

Livello fisico

Presente ovviamente in tutte le reti il livello di trasmissione fisico

Si parla di mezzo guidato quando i dati sono indirizzati tramite ilmezzo ad uno specifico ricevente

Segnali elettrici tramite cavi o ottici tramite fibre otticheCorrispondenti alle connessioni punto a punto

I mezzi non guidati (in broadcast) invece irradiano il segnale in tuttol’ambiente circostante

Reti wirelessSara il ricevente a rilevare che il messaggio e effettivamente destinato alui

Le comunicazioni possono essere realizzate tramite la combinazine diqueste due tipologie

Stefano Brocchi Le reti 31 / 92

Trasmissione

La trasmissione dei dati puo avvenire tramite vari mezzi

Molti principi sono indipendenti dal canale

Misurata sul canale ad intervalli di tempo regolari l’intensita delsegnale trasmesso

Sopra un certo livello, il bit letto e uguale ad 1, sotto un altro ilsegnale rappresenta lo 0

Tra i due, un intervallo di valori non permessi per minimizzare ilmargine di errore

Meccanismo analogo a quello della memorizzazione, ma piu complessoper l’evoluzione nel tempo

La velocita di un canale si misura in bit al secondo

Stefano Brocchi Le reti 32 / 92

Trasmissione: esempio

Vediamo un esempio di decodifica di un segnale in digitale

1

0

Segnale decodificato

1 1 0 1 0 0 1 0

Stefano Brocchi Le reti 33 / 92

Frequenze

La trasmissione di un segnale in modo esatto come nell’esempioprecedente e di fatto impossibile

Un segnale reale e continuo, e non puo subire cambiamenti istantanei

Di fatto, trasmesso un segnale lievemente diverso che perorappresenta gli stessi bit

Le frequenze a disposizione di un canale determinano, in modo moltosemplificato, la precisione raggiungibile dal canale

Piu frequenze permettono al segnale di oscillare piu rapidamente tradue livelli

La teoria dei segnali ci dice che piu frequenze abbiamo a disposizione,piu bit al secondo possiamo trasmettere

Stefano Brocchi Le reti 34 / 92

Correzione degli errori

Sul canale sono comunque possibili errori di trasmissione dovuti peresempio a imperfezioni del mezzo fisico

Per rilevarle, si utilizzano i codici di correzione degli errori: inseriteinformazioni ridondanti che ci consentono di controllare l’esattezzadel messaggio

Esempio piu semplice: i bit di parita

Usati anche nelle memorie, sono particolarmente importanti nelle reti,in quanto se dei dati arrivano corrotti e solitamente possibilerichiederne il reinvio

Stefano Brocchi Le reti 35 / 92

Mezzi fisici: doppino telefonico

Uno dei possibili mezzi fisici per la trasmissione di dati e il doppinotelefonico

Questo e costituito da due coppie o piu fili di rame, isolati edintrecciati tra loro

Il filo e ricoperto da una guaina isolante

Puo essere utilizzato sia per segnali analogici che digitali

Impiegato nelle connessioni internet ADSL

Stefano Brocchi Le reti 36 / 92

Cavo coassiale

Il cavo coassiale e costituito da un corpo centrale conduttore chepropaga il segnale, isolato e schermato da appositi strati di materiale,e rivestito con una guaina

Molto utilizzati nella TV via cavo (ricezione tramite antenna),attualmente molto meno nelle reti di calcolatori

Stefano Brocchi Le reti 37 / 92

Fibre ottiche

Le fibre ottiche sono formate da un conduttore centrale ricoperto daun apposito rivestimento e da una guaina

All’interno della fibra, e possibile inviare segnali ottici (laser) senzache questi si disperdano

Utilizzate grazie alla loro larghezza di banda molto elevata e alla loroinsensibilita alle interferenze elettromagnetiche

Si crede che la velocita delle fibre ottiche possa alzarsi ulteriormentecon lo sviluppo tecnologico

Stefano Brocchi Le reti 38 / 92

Trasmissioni non guidate

Nelle trasmissioni non guidate, segnali elettromagnetici sono irradiatinell’ambiente

Un’antenna rileva i segnali che verranno poi decodificati

Le frequenze utilizzate variano a seconda del tipo di trasmissione

Stefano Brocchi Le reti 39 / 92

Coordinazione di un canale

Una problematica tipica della trasmissione e la coordinazione di uncanale usato da piu parti

Molte macchine vogliono trasmettere o ricevere dati sul canale: comepossiamo evitare che le varie trasmissioni si confondano tra loro ?

Due soluzioni sono la suddivisione del canale nel tempo(Time-Division Multiplexing, TDM) o nelle frequenze(Frequency-Division Multiplexing, FDM)

Stefano Brocchi Le reti 40 / 92

Time-Division Multiplexing

Nel Time-Division Multiplexing, si assegna del tempo a rotazione aivari trasmettitori

Sistema a turni

Frequenze

Tempo

Can

ale

log

ico

1

Can

ale

log

ico

2

Can

ale

log

ico

3

Can

ale

log

ico

4

Can

ale

log

ico

1

Can

ale

log

ico

2

...

Stefano Brocchi Le reti 41 / 92

Frequency-Division Multiplexing

Nel Frequency-Division Multiplexing, ad ogni trasmittente vieneassegnato un intervallo di frequenze dove puo trasmettere

Anche se piu computer inviano dati contemporaneamente, sarapossibile ricostruire il messaggio inviato da ognuno

Frequenze

Tempo

Canale logico 1

Canale logico 2

Canale logico 3

Canale logico 4

...

Stefano Brocchi Le reti 42 / 92

TDM e SDM: problemi

Entrambi i metodi visti presentano degli inconvenienti

Nel TDM, il canale resta inutilizzato nel turno di un trasmettitore, sequesto non ha nulla da inviare

Nel FDM, il problema e simile: anche se un solo trasmettitore inviadati, potra usare solo una piccola parte del canale, ed il resto resterainutilizzato

Stefano Brocchi Le reti 43 / 92

Statistical Time Division Multiplexing

La soluzione e lo Statistical Time Division Multiplexing

Quando un trasmittente deve inviare dati, lo puo fare senza aspettareil suo turno

Se qualcun altro sta gia occupando il canale, rinuncera e riprovera inbreve tempo

Stefano Brocchi Le reti 44 / 92

Statistical Time Division Multiplexing e pacchetti

Nello Statistical Time Division Multiplexing e necessario che chi usa ilcanale lo mantenga per un periodo limitato

Per questo il numero di bit inviati e limitato ad un determinatonumero

I dati inviati vengono spezzettati in piccole parti, dette pacchetti

Lo spezzettamento dei dati e l’operazione inversa di ricongiunzioneviene fatta dal protocollo TCP

Stefano Brocchi Le reti 45 / 92

Il protocollo IP

Per l’identificazione e l’indirizzamento in internet, viene usato ilprotocollo IP

Questo si occupa del livello di rete, e gestisce lo smistamento deipacchetti nella rete garantendo che ogni pacchetto arrivi alla giustadestinazione

Il protocollo IP assegna un indirizzo ad ogni punto della rete,rappresentato con un numero intero a 32 bit

L’indirizzo IP e solitamente rappresentato tramite quattro numeri da0 a 255 separati da un punto

Es. 217.12.160.169 o 173.194.35.184

Stefano Brocchi Le reti 46 / 92

Indirizzi IP

Un indirizzo IP si divide in due parti: la prima identifica la rete fisicadove risiede l’indirizzo, la seconda identifica la singola macchina

Un’autorita si occupa dell’assegnamento degli indirizzi, assicurandosiche ogni indirizzo sia unico

Eccezione: alcuni indirizzi possono essere utilizzati da piu macchineperche sono indirizzo relativi

Esempio: 127.0.0.1 rappresenta la macchina corrente, e gli indirizzi cheiniziano per 192.168 rappresentano indirizzi relativi alla rete locale

Stefano Brocchi Le reti 47 / 92

Indirizzi IP

Il nostro indirizzo IP identifica chi siamo in Internet

Indirizzo noto a tutti i siti web che visitiamo, ed incluso solitamenteanche nelle mail che mandiamo

Facilmente individuabile il nostro internet provider (es. telecom,fastweb, ...), al quale l’indirizzo e pubblicamente associato

Individuabile la posizione geografica del computer del provider a cui cicolleghiamoFunzionalita a volte utilizzata dai siti web per personalizzare i contenutia seconda della provenienza dell’utente

Il provider tiene traccia di chi e collegato con quale indirizzo,mantenendo pero quest’informazione riservata

Informazione pero ottenibile in caso di denunce tramite un mandatogiudiziario

Stefano Brocchi Le reti 48 / 92

IP: evoluzione

Attualmente e in uso il protocollo IP versione 4, che tuttavia dovraessere presto rimpiazzato

Gli indirizzi stanno finendo, quindi e necessario utilizzare unprotocollo con indirizzo piu grandi

Teoricamente disponibili 232 indirizzi (circa 4 miliardi), per vari motivimolti restano inutilizzati

Nasce IP versione 6, che usa 128 bit invece di 32 per indirizzo

Oltre a questo, la nuova versione portera ulteriori migliorie peresempio per quanto riguarda la gestione del traffico di rete

Stefano Brocchi Le reti 49 / 92

Funzioni di TCP

Il protocollo TCP si occupa di gestire l’affidabilita della trasmissione

Inoltre grazie a TCP, i dati che possono arrivare disordinatamentevengono riordinati

Chiesta inoltre automaticamente la ritrasmissione dei dati corrotti

Errori rilevati tramite codici di correzione degli errori trasmessi con ilpacchetto

Stefano Brocchi Le reti 50 / 92

Connessioni

Il protocollo TCP e orientato alla connessione: prima di inviare datitra due macchine, e necessario effettuare uno scambio di informazioniper accordarsi sui dati della connessione

Tale protocollo per l’apertura della connessione e detto dihandshaking (stretta di mano)

Una volta aperta la connessione, anche quando non vengono inviatidati, c’e un flusso di pacchetti tra le due parti per assicurarsi chesiano entrambe attive

In questo modo, se una macchina si disconnette dalla rete siamo ingrado di rilevarlo in breve tempo

Stefano Brocchi Le reti 51 / 92

Acknowledgement

Un problema gestito da TCP, e che un computer che ha inviato deidati, non puo sapere se questi sono arrivati a destinazione

Un pacchetto puo andare perso per molteplici motivi: errori ditrasmissione, traffico eccessivo, errori dei vari nodi...

Soluzione: il destinatario invia una ’ricevuta di ricezione’ dettaacknowledgement

Stefano Brocchi Le reti 52 / 92

Timeout

Un altro problema e che non abbiamo un limite massimo per il tempoimpiegato per una trasmissione

Non possiamo sapere in un qualunque momento se un pacchetto eandato perso, o se la risposta del destinatario stia arrivando moltolentamente

Soluzione: dopo un certo lasso di tempo (detto di timeout), ilpacchetto viene dato per perso

Necessario per le applicazioni scegliere accuratamente questo tempoTempi troppo brevi causerebbero la doppia trasmissione di moltipacchetti che invece arriverebbero a breveTempi troppo lunghi causerebbero un’attesa molto lunga nel caso incui un pacchetto vada perso

Stefano Brocchi Le reti 53 / 92

Timeout e acknowledgement

Se dopo aver inviato un pacchetto, dopo il tempo di timeout non etornato alcun acknowledgement, il pacchetto viene ritrasmesso

Inevitabilmente, questo accade anche se il pacchetto e arrivato, ma eandato perso l’acknowledgement

La connessione viene considerata interrotta se dopo un certo numerodi tentativi non arriva alcuna risposta dal destinatario

Non immediata la determinazione della causa, che potrebbe esserecausata da un malfunzionamento del ricevente, della rete o anche dellaconnessione locale

Stefano Brocchi Le reti 54 / 92

Internet Service Provider

Un Internet Service Provider (ISP) e un fornitore di connessioni adinternet

La prima macchina collegata alla rete al quale ci si collega tramitedoppino telefonico appartiene all’ISP

Necessario solitamente un abbonamento a pagamento

Stefano Brocchi Le reti 55 / 92

Commutazione di pacchetto negli ISP

Gli ISP specificano una velocita del collegamento (di solito in Megabital secondo) da intendersi come velocita massima in commutazione dipacchetto

Essendo il canale condiviso, quando ci sono molti utenti collegati lavelocita si riduce

Esistono programmi che effettuano dei test di velocita perdeterminare in un determinato momento quale sia effettivamente lavelocita raggiungibile

Considerare inoltre che la velocita in upload e solitamente uguale aduna piccola frazione di quella in download

Stefano Brocchi Le reti 56 / 92

ADSL

Il tipo di collegamento ad Internet piu comune e l’ADSL(Asymmetrical Digital Subcriber Line)

L’ADSL sfrutta le frequenze piu alte del canale (sopra i 25 Khz) pertrasmettere i dati, cosı che le frequenze piu basse possono esseremantenute per la linea telefonica

Appositi filtri suddividono le frequenze tra quelle destinate al telefonoe quelle alla macchina

La velocita di upload (invio dati alla rete) e molto minore di quella didownload (ricezione dati), in quanto cio rispecchia l’utilizzo tipicodell’utente

Stefano Brocchi Le reti 57 / 92

ADSL, frequenze

Le frequenze si ripartiscono nell’ADSL quindi come segue:

Telefono

(voce/fax)Upload

Download

(ADSL e ADSL2)

Download

(solo ADSL2)

Frequenze (KHz)

4 26 140 1100 2200

Stefano Brocchi Le reti 58 / 92

ADSL e telefono

La suddivisione tra dati e linea telefonica viene fatta lato utente daappositi filtri

Lato provider, i dati vengono suddivisi e smistati tra la normale retetelefonica e internet

Filtro ADSL

Modem ADSL

Collegamento

VoIP Filtro ADSL

Internet

Rete

telefonica

Utenza ISPLinea telefonica

Voce Dati

Voce

Dati

Voce Dati

Voce

Dati

Stefano Brocchi Le reti 59 / 92

Nomi server e IP

Per l’utilizzo da parte degli utenti, memorizzare indirizzi IP e scomodo

Per, questo ogni sito web puo essere identificata con un nome

Es. www.wikipedia.it

Stefano Brocchi Le reti 60 / 92

Nomi server e DNS

La traduzione da nome a indirizzo IP viene fatta tramite dei serverche offrono un servizio detto DNS (Domain Name Service)

Quando un browser si collega ad una pagina web (es. www.google.it),per prima cosa interroga il DNS per ottenere l’indirizzo didestinazione (es. 173.194.35.184) e poi la connessione viene apertaverso quell’indirizzo

Ulteriore vantaggi di questo meccanismo: associare un unico nome atante macchine diverse, per gestire meglio un grande numero dirichieste

Stefano Brocchi Le reti 61 / 92

Il protocollo HTTP

Il protocollo HTTP (HyperText Transfer Protocol) e il protocollocomunemente utilizzato per lo scaricamento di pagine web

Il client richiedera una pagina web (o anche un file generico) tramiteun identificatore detto URL

Un URL e formata come segue (alcune parti possono essere impliciteo mancanti)

http://[dominio][:porta]/[percorso]/[file][parametri]

Il dominio identifica il sito dove connettersi; la porta da usare esolitamente la porta 80, implicita se non specificataIl percorso, il nome del file ed i parametri specificano quale risorsa vienerichiesta sul sitoEs.: http://www.unifi.it/notizie/agenda/ ohttp://www.unifi.it/dipchimica/CMpro-l-s-37.html

Stefano Brocchi Le reti 62 / 92

Il formato HTML

L’HTML (HyperText Markup Laguage) e il linguaggio per scriverepagine web

Una pagina web e un ipertesto, cioe un testo che non si devenecessariamente leggere dall’inizio alla fine ma che consente di saltareda un punto ad un altro tramite collegamenti

Nell’HTML si specificano sia i contenuti della pagina che la suagrafica (es. le immagini contenute, l’impaginazione, il carattereutilizzato...)

Stefano Brocchi Le reti 63 / 92

Browser web

I programmi che permettono di scaricare e visualizzare pagine websono detti browser

Alcuni dei piu comuni: Firefox, Chrome, Internet Explorer, Opera

Nella richiesta di una pagina web, il browser eseguira le seguentioperazioni:

1. L’utente richiede la pagina al browser web (es. scrivendola nella barradegli indirizzi)

2. Il browser richiede al DNS l’indirizzo IP del server3. Il server DNS restituisce l’apposito indirizzo4. Il browser richiede la pagina al server5. Il server risponde con la pagina HTML6. Il browser legge l’HTML e crea la grafica della pagina, che verra

visualizzata dall’utente

Stefano Brocchi Le reti 64 / 92

Browser web: esempio

Vediamo un esempio di browser che richiede il sito wikipedia.it

Utente

Richiesta

www.wikipedia.it

Browser

Servizio DNS

Server wikipedia

(217.12.160.169)

Chi gestisce

www.wikipedia.it ?

217.12.160.169

Richiesta pagina

Invio pagina

(HTML)

Creazione grafica

della pagina

Protocolli HTTP/TCP/IP

Protocolli DNS/UDP/IP

1

2

3

4

5

6

Stefano Brocchi Le reti 65 / 92

Pagine web e contenuto attivo

All’interno delle pagine web, e possibile inserire del codice eseguibileper fare in modo che la pagina interagisca in modo attivo con l’utente

Vari scopi: animazioni, possibilita di aggiornare parte della paginasenza ricaricarla dall’inizio, giochi online...

Il linguaggio principale per queste funzionalita si chiama Javascript

Il codice Javascript viene inviato all’interno della pagina web, e vieneeseguito all’interno del browser

Altri possibili linguaggi sono Java e Flash

Stefano Brocchi Le reti 66 / 92

Javascript e sicurezza

Come si puo garantire che il codice Javascript, eseguito di solitoautomaticamente quando si apre una pagina web, non causi danni ?

Impedire per esempio che raccolga dati personali come password,cancelli file, avvii programmi indesiderati...

In parte, questo e garantito dal fatto che il linguaggio stesso manca dialcune funzionalita, come la scrittura su disco

Secondariamente, il browser controlla che le operazioni svolte sianosicure, altrimenti blocca l’esecuzione

Operazione a volte non banale: assicurarsi di tenere il browseraggiornato, gli sviluppatori si occupano continuamente di risolvereeventuali problemi di sicurezza

Stefano Brocchi Le reti 67 / 92

Sicurezza web

In una generica comunicazione via rete, e necessario assicurarsi cheeventuali dati sensibili non siano intercettati da terze parti

Tipici dati sensibili: numeri di carte di credito e dati di account (nomeutente e password)Piu genericamente, per motivi di privacy qualsiasi mail e comunicazionepuo necessitare di una comunicazione sicura

Per come e strutturata la rete, e inevitabile che qualsiasi nodo tra ilmittente ed il destinatario possa leggere i dati inviati

La soluzione e quella di inviare dati cifrati : chiunque li puo leggere,ma solo il destinatario li puo decifrare e ricostruire il messaggiooriginale

Stefano Brocchi Le reti 68 / 92

Crittografia

Esistono algoritmi che codificano un messaggio in base ad un numerodetto chiave

Solo chi ha la chiave puo codificare e decodificare il messaggio

Per evitare che un attacante provi tutte le chiavi possibili, si utilizzanochiavi numeriche molto grandi

Esempio: utilizzando chiavo a 128 bit, occorre provarne mediamente2127 per individuare quella giustaAnche se avessimo 1000 computer in grado di provare un miliardo dichiavi al secondo, l’operazione richiederebbe migliaia di anniPer sicurezza, le chiavi vanno da un minimo di 128 fino a 1024 bit digrandezza

Stefano Brocchi Le reti 69 / 92

Identificazione

Un problema e che anche nel momento in cui serve accordarsi per unachiave, non e garantito che la comunicazione sia sicura

Un altro problema riguarda l’identificazione di una macchina: come cisi assicura che un server sia veramente chi dice di essere ?

Una macchina ne puo impersonare un’altra per esempio falsando laricerca DNS: dal nome del sito viene restituito l’IP di un sito similecostruito per sottrarre dati

Esistono dei metodi che consentono di effettuare questo attaccoAl momento del login, il sito fittizio puo memorizzare la passwordimmessa

Stefano Brocchi Le reti 70 / 92

Crittografia a chiave pubblica

Entrambi questi problemi vengono risolti con la crittografia a chiave

pubblica

Crittografia asimmetrica: per ogni utente esiste una chiave pubblica

ed una chiave privata

Con la prima si codifica un messaggio; la seconda e necessaria perdecodificarlo

Le chiavi pubbliche vengono rese note a tutti tramite un’appositaautorita, in modo che chiunque possa utilizzarle; ognuno dovra invecetenere segreta la propria chiave privata

Codificando quindi un messaggio con la chiave pubblica deldestinatario, si e sicuri che solo lui potra leggere il messaggio

Stefano Brocchi Le reti 71 / 92

Crittografia a chiave pubblica

Per garantire che un sito sia effettivamente chi dice di essere (es. lamacchina 173.194.35.184 sia effettivamente un server di Google) edabbia una determinata chiave pubblica, esistono dei certificati

I certificati saranno mantenuti da una determinata autoritaconsultabile al momento dell’accesso ad un sito: e possibile chiedereall’autorita se un certificato e valido o meno

I certificati non mantenuti dall’autorita sono da considerarsi nonattendibili, visto che chiunque ne puo creare uno

Stefano Brocchi Le reti 72 / 92

HTTPS

Quando si accede ad un sito autenticato tramite certificato e si usauna connessione sicura, si utilizza il protocollo HTTPS (HTTP secure)

Il protocollo e formato dal normale protocollo HTTP che vienecriptato tramite i meccanismi visti

Stefano Brocchi Le reti 73 / 92

HTTPS e browser

L’accesso sicuro ad un sito e sempre segnalato durante ad un accessocon il browser

Solitamente mostrato un lucchetto o un’icona accanto alla barra degliindirizziForniti inoltre altri dati sul certificato, come la versione o l’autorita chelo ha rilasciato

M ore inform ation...

You are connected to

google.com

w hich is run by

(unknow n)

Verified by: Google Inc.

Your connection to this w ebsite is encrypted

to prevent eavesdropping

Stefano Brocchi Le reti 74 / 92

HTTPS e browser

Se il certificato fornito non e valido o non e fornito da un’autoritariconosciuta, il browser lo segnala esplicitamente

Diffidare del sito visualizzato: potrebbe essere un tentativo di furto didatiNessun avviso viene pero visualizzato se il sito non fornisce il certificatoed usa il normale protocollo http

This Connect ion in Unstrusted

You have asked Firefox to connect securely to w w w .facebook.com , but w e can’t confirm

that your netw ork connection is secure.

Norm ally, w hen you try to connect securely, sites w ill present trusted identification to

prove that you are going to the right place. How ever, this site’s identity can’t be verified.

W hat should I do ?

If you usually connect to this site w ithout problem s, this error could m ean that som eone

is trying to im personate the site, and you shoudln’t continue.

Get m e out of here !

Technical Details

I Understand the Risks

Stefano Brocchi Le reti 75 / 92

Malware

Esistono programmi indesiderati che vengono eseguiti all’insaputadell’utente, potenzialmente dannosi per il sistema

Questi prendono il nome di malware (malicious software)

Alcuni dei tipi di malware piu diffuso sono virus e trojan

Stefano Brocchi Le reti 76 / 92

Malware

Un virus e un programma che una volta in esecuzione tentera direplicarsi per infettare altri calcolatori

Tipicamente nascosto in un file eseguibile relativo ad un altroprogramma

Quando il programma viene avviato, prima il virus va in esecuzione, poiil programma originale viene eseguito normalmente

Un virus in esecuzione tentera di infettare altri file

Un bersaglio tipico sono le memorie esterne USB, visto che passanospesso da un computer all’altroAltra modalita: tramite Internet

Stefano Brocchi Le reti 77 / 92

Malware

La diffusione di virus tramite Internet sfrutta tipicamente difetti diprogrammi e sistemi operativi

Tramite l’invio di determinati messaggi, si induce il programma adeseguire il codice eseguibile del virus

Per prevenire questo problema, mantenere aggiornati i programmi chesi connettono alla rete

Appena viene individuato un problema del genere, gli sviluppatori delsoftware provvedono quantoprima a risolverlo e rilasciare unaggiornamentoSituazione particolarmente delicata per quanto riguarda i browser, chedevono eseguire del codice nei siti web ed assicurarsi che questo abbiale apposite limitazioni

Stefano Brocchi Le reti 78 / 92

Malware

Simile il funzionamento di un trojan, un programma nascostoall’interno di un altro programma legittimo

Da qui il nome, derivante da trojan horse (cavallo di troia)Spesso difficile catalogare e distinguere trojan da virus

Spesso, i trojan sono presenti in programmi scaricati illegalmente

Tramite pirateria informatica viene creata una versione del software chefunzioni senza regolare registrazione, ma viene anche inserito unprogramma dannoso

Stefano Brocchi Le reti 79 / 92

Malware

Come prevenire questi problemi: eseguire file eseguibili solo se la loroprovenienza e sicura

Altri tipi di file sono invece sempre innocui, perche il contenuto nonviene interpretato come istruzioni ed eseguitoEsempio: i bit in un file di un’immagine vengono interpretati comevalori dei pixel, e mai come istruzioniEccezione: alcuni file contenenti documenti (come DOC, XLS) possonocontenere codice eseguibile

Cliccare su un file proveniente dalla rete solo se si e sicuri del tipi difile

I file eseguibili non sono solo i file EXE, esistono anche altre estensioniDiffidare assolutamente di file che dovrebbero rappresentare documenti,audio o video e sono in realta file eseguibili, per esempio in una email

Stefano Brocchi Le reti 80 / 92

Malware

Una volta in esecuzione su un sistema, del malware puo eseguirediverse azioni dannose

Causare rallentamenti e malfunzionamenti, cancellando o modificandofile o programmiSfruttare le risorse del computer per infettarne altri o eseguire altreazioni illegali

In alcuni casi, il programma potrebbe accedere e diffondereinformazioni riservate

Per es. password o dati di accesso per siti web, o numeri di carte dicreditoA volte, utilizzati programmi detti keylogger che memorizzano ognitasto premutoIl furto di dati e comunque difficile e coinvolgerebbe un lavoro nonbanale da parte dei malintenzionati, ma e assolutamente da evitare

Stefano Brocchi Le reti 81 / 92

Malware: soluzioni

Oltre alle soluzioni gia citate, si puo affrontare il malware conprogrammi antivirus (o antimalware)

Questi programmi controllano il contenuto del computer alla ricercadi malware conosciuti, eventualmente rimuovendoli

Alcuni antivirus eseguono un controllo continuo ed automatico ditutti i programmi eseguiti

Azione molto efficace, ma che richiede un uso costante di parte dellerisorse di sistema

Stefano Brocchi Le reti 82 / 92

Password

Per identificare un utente su siti web o altri servizi, si fa uso dipassword

E’ importante che la password sia complessa e non facilmenteindovinabile

E’ facile fare velocemente un grande numero di tentativi in modoautomatico, anche se molti siti web hanno delle contromisure perlimitare questi meccanismiUna parola del vocabolario si indovina facilmente: ne esistono soloqualche migliaioStessa cosa per nomi, date o password molto brevi

Usare un misto di numeri e caratteri maiuscoli e minuscoli aumentamolto il numero di password da provare

Stefano Brocchi Le reti 83 / 92

Password

Per dati particolarmente critici, una password potrebbe non esseresufficiente

Per esempio, in internet banking e per firme digitali

Usati dispositivi che generano regolarmente chiavi numeriche diverse,sincronizzate con il sito web

Anche se qualcuno riuscisse a vedere la chiave generata, questa nonsarebbe piu utilizzabile per un secondo accessoPer impersonare l’utente, occorrerebbe sia sapere la passworddell’utente sia appropriarsi del dispositivoUnico punto rimasto da controllare: assenza di malware che spii (epotenzialmente modifichi) le operazioni dell’utente

Stefano Brocchi Le reti 84 / 92

Email

L’email (electronic mail, posta elettronica) e un sistema per lacomunicazione asincrona via rete

Spedibili per mail sia semplice testo che testo formattato tramiteHTML

E’ possibile allegare alle mail file di tipo generico

Stefano Brocchi Le reti 85 / 92

Indirizzi email

Un indirizzo email deve contenere una chiocciola che separa ildominio dal nome dell’utente, separati da una @ (chiocciola, at)

Il dominio definisce dove viene mandata la mail e dove questa rimanefinche l’utente finale non la preleva, identificandosi con nome utente epassword

Il nome dell’utente specifica il nome del destinatario su di unospecifico dominio

Es. [email protected]

Tipici campi presenti nell’intestazione di una mail: mittente,destinatario, destinatari in copia carbone (cc), destinatari in copiacarbone nascosta (bcc)

Stefano Brocchi Le reti 86 / 92

Email

Si possono utilizzare appositi programmi per scaricare e gestire laposta sul proprio computer

Come alternativa, si puo accedere alla propria mail direttamente subrowser tramite un’interfaccia web, un sito che consente laconsultazione (es. gmail)

Le mail rimangono sempre sul server e sono consultabili da qualsiasicomputer

Volendo, questa caratteristica e disponibile anche scaricando le mail

Contro: lo spazio a disposizione di ogni utente e limitato, anche sesolitamente con spazi abbastanza grandi

Stefano Brocchi Le reti 87 / 92

Email e autenticazione

L’indirizzo del mittente di una email e specificato dal mittente stesso

Generalmente, non c’e garanzia che il mittente sia quello specificato

Meccanismo analogo al mittente scritto su una busta di postaordinaria: nessuno garantisce che l’informazione sia veritieraEsistono comunque meccanismi di autenticazione email, implementatisu molti dei servizi email principali, che realizzano un meccanismo diverifica

Stefano Brocchi Le reti 88 / 92

Phishing

Una problematica, derivante anche dal problema descritto, e ilphishing

Un utente viene indotto a rivelare dati riservati (come password) dauna mail inviata apperentemente da un sito conosciuto

A volte, costruito un sito identico all’originale per rubare i dati diaccesso

Soluzione: diffidare da richieste simili via email, non cliccare su linksospetti e controllare che ogni sito dove si inseriscono dati sensibili siaautenticato tramite https

Stefano Brocchi Le reti 89 / 92

Firewall

I firewall sono dei programmi che controllano il traffico di rete su diuna macchina per motivi di sicurezza

Tramite firewall, un utente puo negare l’accesso alla rete adeterminati programmi considerati non sicuri

Per esempio, molti programmi scaricano ed installano automaticamenteaggiornamenti; in caso di problemi di sicurezza del programma sipotrebbe compromettere il sistema

Analogamente, pacchetti inviati su determinate porte vengonoscartati in automatico

Possibile monitorare attacchi al sistema o piu genericamente il trafficodi rete

Stefano Brocchi Le reti 90 / 92

Domande da esame

Quali sono le varie tipologie di rete, e come si distinguono pertopologia, tipo di connessione o estensione geografica ? Quali sono lecaratteristiche di Internet ?

Come avviene la trasmissione su di un canale fisico ? Da cosa dipendela velocita di connessione ?

Come viene organizzata la comunicazione remota tramite i protocolliTCP/IP ? Come viene realizzato l’indirizzamento ?

Come viene realizzata la comunicazione di piu macchine su di uncanale condiviso ?

Stefano Brocchi Le reti 91 / 92

Domande da esame

Come si garantisce la consegna dei dati ?

Come viene realizzata la traduzione da nome di un server a indirizzoIP ?

Come si interagisce con Internet e risorse come pagine web ?

Come si garantisce la sicurezza nella rete per quanto riguarda i datisensibili ?

Cosa si puo fare per evitare programmi malware ?

Come funziona l’email ?

Stefano Brocchi Le reti 92 / 92