39
Reti di calcolatori 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 04 Reti di calcolatori Marzo 2010

Dispensa 04 Reti di calcolatorielinf/0910/materiale0910/04_Reti.pdf · Reti di calcolatori 3 Introduzione La fusione delle tecnologie dell’informazione e della comunicazione ha

Embed Size (px)

Citation preview

Reti di calcolatori 1

Corso di Laurea Ingegneria CivileFondamenti di Informatica

Dispensa 04Reti di calcolatori

Marzo 2010

Reti di calcolatori 2

Contenuti

Accesso al World Wide Web

Reti di calcolatori • scambio di dati tra calcolatori

• connessione in rete di calcolatori

• reti di reti di calcolatori

• architettura a livelli della comunicazione

• il modello cliente/servente

Reti di calcolatori 3

Introduzione

La fusione delle tecnologie dell’informazione e della comunicazione ha avuto un impatto notevole sul modo in cui i moderni sistemi informatici sono organizzati

• il modello di organizzazione prevalente dei sistemi informatici èquello delle reti di calcolatori

– una rete di calcolatori è un insieme di calcolatori indipendenti, che sono collegati tra di loro per potersi scambiare dati

– le applicazioni per reti di calcolatori sono organizzate sulla base del modello cliente/servente (client/server) e del concetto di servizio(offerto dalla rete)

Vengono ora studiati• Internet, la più grande rete di calcolatori • il World Wide Web, il principale servizio di Internet • alcuni elementi tecnologici e architetturali

Reti di calcolatori 4

Accesso al World Wide WebChe cosa sono Internet e il World Wide Web? Come funzionano?

• anche in questo caso, è possibile rispondere a queste domande in molti modi, relativamente a diversi punti di vista

Il nostro studio di Internet e del World Wide Web seguirà questo percorso

• vengono ora introdotti informalmente alcuni concetti elementari, dal punto di vista dell’utente del servizio World Wide Web di Internet

• verranno successivamente considerati gli aspetti tecnologici e architetturali delle reti di calcolatori, di Internet e del World Wide Web

Reti di calcolatori 5

Reti di calcolatori

Una rete di calcolatori è un insieme di calcolatori che operano autonomamente e che sono collegati per potersi scambiare dati

collegamenti

rete di calcolatori

Reti di calcolatori 6

Servizi in una rete di calcolatori

I calcolatori in una rete di calcolatori• possono essere usati per eseguire applicazioni di uso

individuale

• possono essere usati per usufruire di “servizi” basati sullo scambio di dati

– ad esempio, possono condividere risorse informatiche — come stampanti e dischi

– possono scambiarsi dati e messaggi

Intuitivamente, un servizio in una rete di calcolatori corrisponde a una modalità di condivisione di dati e/o risorse tra i calcolatori collegati alla rete

Reti di calcolatori 7

Internet e World Wide Web

Internet è la più grande rete di calcolatori, a diffusione mondiale

La connessione di un calcolatore a Internet può avvenire con diverse modalità

• un calcolatore può essere collegato a Internet mediante una scheda di rete nell’ambito di una rete di calcolatori

• un calcolatore può essere collegato a Internet mediante un modem e una connessione telefonica di accesso remoto a un fornitore (provider) di servizi Internet

Reti di calcolatori 8

World Wide Web

Internet, in quanto rete di calcolatori, rende disponibile ai suoi utenti diversi servizi

• ad esempio, il servizio di posta elettronica e il servizio di trasferimento di file

Il World Wide Web (o, più semplicemente, Web) è il servizio più diffuso di Internet

• il Web permette la condivisione e l’accesso a documenti che sono distribuiti sui calcolatori di Internet e collegati tra di loro

La condivisione di documenti su Internet e sul Web èresa possibile dal fatto che a ciascuna risorsa di Internet è associato un nome univoco

• possibili risorse su Internet e sul Web sono i calcolatori, gli utenti, i documenti

• il nome di una risorsa di Internet è l’indirizzo della risorsa – gli indirizzi su Internet sono chiamati anche URL

Reti di calcolatori 9

Browser web

Per accedere a documenti sul Web, un calcolatore • deve essere collegato a Internet • deve disporre di una applicazione chiamata browser web

– ad esempio, Microsoft Internet Explorer o Netscape Communicator

Un browser web è una applicazione che permette l’accesso a documenti sul Web

• è possibile accedere a documenti sul Web con diverse modalità

– fornendo al browser l’indirizzo del documento — scrivendolo nella barra dell’indirizzo

– raggiungere un documento seguendo un collegamento ipertestuale nel documento correntemente visualizzato dal browser — cliccando con il mouse sul collegamento

Reti di calcolatori 10

Accesso a documenti sul web

Esempio di accesso all’indirizzo www.virgilio.it

Reti di calcolatori 11

Navigazione ipertestuale• ... cliccando sul collegamento Alla conquista dello spazio

Reti di calcolatori 12

Siti web

Un sito web è un insieme di documenti gestiti da una organizzazione, memorizzati su uno o più calcolatori collegati a Internet, e che possono essere acceduti mediante il servizio Web

L’accesso a un sito web inizia solitamente da un documento chiamato home page del sito

• l’home page di un sito – fornisce informazioni di carattere generale sul sito– contiene collegamenti alle parti principali del sito, che possono essere

accedute mediante navigazione ipertestuale – contiene collegamenti ad altri siti correlati

Reti di calcolatori 13

Il Web e il paradigma ipertestualeIl World Wide Web è un vastissimo insieme di documenti

• l’unità di informazione sul Web è il documento o pagina– una pagina è composta solitamente da testi e immagini – ciascuna pagina ha un indirizzo univoco

• il Web è un insieme di pagine

I documenti del Web sono organizzati mediante una struttura ipertestuale

• agli elementi (come parole, frasi e immagini) di una pagina possono essere associati dei collegamenti ad altre pagine

• un collegamento ipertestuale è composto da – l’elemento della pagina a cui è associato il collegamento — chiamato

ancora (letto àncora)– la pagina referenziata dal collegamento, mediante il suo indirizzo — che

viene visualizzato dal browser sulla barra di stato quando il cursore del mouse si trova sopra l’ancora

Reti di calcolatori 14

Un esempio di ipertesto

Piccola guida al sistema solare

Il sistema solare ècomposto da nove pianeti che ruotano intorno al Sole. Questi pianeti, in ordine di distanza crescente dal Solesono: Mercurio, Venere, Terra, Marte, Giove, Saturno, Urano, Nettuno e Plutone. …

Il SoleLa struttura interna del Sole è stata ricostruita in base all'elaborazione teorica dei dati conosciuti. …

La TerraLa Terra è il terzo pianeta in ordine di distanza dal Sole, e il quinto per dimensioni. …

pagine collegamenti

ancore

Reti di calcolatori 15

Reti di calcolatoriUna rete di calcolatori è un insieme di calcolatori che operano autonomamente e che sono collegati per potersi scambiare dati

• vengono ora discussi i seguenti aspetti della tecnologia delle reti di calcolatori

– scambio di dati tra una coppia di calcolatori – collegamento in rete di un insieme di calcolatori – reti di reti di calcolatori – architettura a livelli della comunicazione in una rete di calcolatori– modello cliente/servente per applicazioni per reti di calcolatori

Reti di calcolatori 16

Scambio di dati tra calcolatoriLo scopo di una rete di calcolatori è quello di permettere la comunicazione (ovvero, lo scambio di dati) tra due o più calcolatori

• viene ora affrontato il problema della comunicazione tra due calcolatori — chiamata comunicazione punto-punto

– che cosa serve affinché due calcolatori possano scambiarsi dei dati?

Sono necessari• un canale fisico di comunicazione tra i due calcolatori

– la componente hardware della comunicazione • un insieme di regole che regolano lo scambio di dati

– la componente software della comunicazione

Reti di calcolatori 17

Mezzi di trasmissionePer la comunicazione tra calcolatori è possibile usare molti canali (mezzi) fisici di trasmissione

• collegamento elettrico con cavi in rame– consente una velocità/capacità di trasmissione fino a 100 Mbit/s su una

distanza di 100 m

• collegamento con fibra multimodale– consente una velocità/capacità di trasmissione superiore al Gbit/s su una

distanza di 1-10 km

• collegamento con fibra monomodale– consente una velocità/capacità di trasmissione superiore al Gbit/s su una

distanza di 10-100 km

• collegamenti che usano frequenze radio (es. wireless, UMTS, collegamenti via satellite, ecc.)

Esempio: infrastrutture di telecomunicazioni in Italia

Dorsale (fibra ottica)

Rete di giunzione cittadina (fibra ottica)Rete di accesso (ultimo miglio)Varie tecnologie possibili: FTTH, FTTB, Wi-fi, ma ad oggi principalmente rete in rame di Telecom Italia – problema del digital divide

Reti di calcolatori 19

Protocolli di comunicazioneSi supponga di voler effettuare il trasferimento di un file tra due calcolatori collegati fisicamente

• la presenza del collegamento fisico non è sufficiente (anche se è necessaria) per permettere il trasferimento del file

• è necessario anche che ciascun calcolatore sia dotato di una applicazione in grado di effettuare il trasferimento del file

Nella comunicazione tra calcolatori, è necessaria la presenza di uno “strato” software che consenta lo scambio di dati sulla base di un insieme prefissato di regole e convenzioni

• un protocollo di comunicazione è un insieme di regole, relative ai messaggi consentiti e al loro formato, che controllano lo scambio di informazioni in una comunicazione

La comunicazione tra due o più entità è possibile solo sulla base dell’accettazione e dell’adozione di uno o più protocolli

• solitamente, è necessaria l’adozione di un protocollo per ciascun diverso aspetto della comunicazione

Reti di calcolatori 20

Esempio — i due filosofi

Due filosofi, uno africano e uno cinese, vogliono discutere del oryctolagus cunilicus (il coniglio)

• il filosofo africano vuole esprimere al suo collega cinese la sua simpatia a favore dei conigli

Problema • i due filosofi non parlano la stessa lingua e non riescono a

trovare un interprete che conosca entrambe le loro lingue – l’africano parla swahili e inglese, il cinese parla cinese e francese

• i filosofi possono comunque accordarsi su una lingua da usare nella comunicazione (ad esempio, il danese)

– possono poi comunicare utilizzando due interpreti, ciascuno dei quali sa tradurre da una delle lingue note a uno dei filosofi alla lingua usata per la comunicazione

Reti di calcolatori 21

I due filosofi . . .

Altro problema• i due filosofi non vivono nello stesso luogo e non sono abituati

a viaggiare • i due filosofi possono comunque decidere di comunicare in

altro modo – ad esempio, scelgono di utilizzare il fax, ricorrendo al supporto del

servizio di telefonia locale e internazionale

Ora i due filosofi possono effettivamente comunicare• hanno adottato due diversi protocolli di comunicazione

– il protocollo relativo alla lingua - il danese – il protocollo relativo al mezzo di comunicazione - il fax

• la comunicazione basata sul fax è possibile solo perchéesistono degli standard internazionali sulle caratteristiche elettriche e temporali dei segnali utilizzati per la telefonia

Reti di calcolatori 22

I due filosofi . . .

FaxDaneseIk hou konijnen

DaneseIk hou konijnen

I like rabbits

FaxDaneseIk hou konijnen

DaneseIk hou konijnen

Jáime les lapins

Reti di calcolatori 23

Connessione in rete di calcolatori

Come è possibile collegare un insieme di calcolatori?Sono possibili diverse scelte

– 1) ciascun calcolatore è collegato direttamente a tutti gli altri mediante una collegamento punto-punto dedicato

– 2) ciascun calcolatore è collegato a uno stesso mezzo di comunicazione - collegamento a bus

– 3) ciascun calcolatore è collegato ad almeno un altro calcolatore, e quindi tra di loro sono tutti connessi, anche se non tuttidirettamente

Reti di calcolatori 24

Collegamento punto-puntoNel collegamento punto-punto ogni calcolatore ècollegato a ciascuno degli altri calcolatori ed èsemplice realizzare lo scambio di dati tra essiSe il calcolatore A deve inviare un insieme di dati (un messaggio) a un calcolatore B, lo può fare direttamente sulla connessione punto-punto che collega A a B

Questa soluzione è evidentemente molto costosa!

In pratica, vengono adottate le soluzioni 2 e 3. Come può avvenire la comunicazione in questi casi?

Reti di calcolatori 25

Collegamento a bus

Nel collegamento a bus, ogni calcolatore è collegato a un insieme di collegamenti condivisi, il bus

La soluzione basata sul bus è adottata frequentemente• esistono realizzazioni tecnologiche del bus estremamente

economiche – un semplice cavo coassiale

• esistono anche realizzazioni estremamente sofisticate, che garantiscono una velocità elevata di comunicazione

– soluzioni basate su hub• è una soluzione facilmente espandibile

calcolatori

busrete a bus

Reti di calcolatori 26

Collegamento a bus

Un possibile protocollo di comunicazione (semplificato) basato sul collegamento a bus è il seguente

• se il calcolatore A deve inviare il messaggio M al calcolatore B– A forma un pacchetto di dati P usando il messaggio M e i nomi del

destinatario B e del mittente A (con un formato specificato dal protocollo) e trasmette P sul bus

– un pacchetto è simile a una busta, che all’interno contiene un messaggio e all’esterno riporta i nomi del destinatario e del mittente

• i pacchetti trasmessi sul bus sono ricevuti da tutti i calcolatori– ogni calcolatore riceve ciascun pacchetto P che viaggia sul bus, e ne

decodifica il messaggio M, il destinatario e il mittente– se un calcolatore si identifica nel destinatario di un messaggio M

codificato in un pacchetto, allora ascolta e interpreta il messaggio M, che è effettivamente rivolto a lui

– gli altri calcolatori, invece, ignorano il messaggio

Reti di calcolatori 27

Collegamento ad anelloNel collegamento ad anello, i calcolatori sono disposti logicamente ad anello, con un collegamento tra ciascuna coppia di calcolatori adiacenti

• ogni pacchetto transita nell’anello in una direzione fissata, dal mittente al destinatario

– se un calcolatore non è il destinatario del messaggio, allora ritrasmette il pacchetto al calcolatore successivo nell’anello

– il destinatario del messaggio leva il pacchetto dall’anello

Reti di calcolatori 28

Altri tipologie di collegamento

Le figure mostrano altre tipologie di collegamenti• ogni linea indica la presenza di un collegamento punto-punto

tra una coppia di calcolatori stella albero

completo irregolare

Reti di calcolatori 29

Reti di reti di calcolatoriUna rete di reti di calcolatori è un insieme di reti di calcolatori, tra di loro collegate (interconnesse) per potersi scambiare dati

• ci sono diverse motivazioni per voler collegare tra di loro piùreti di calcolatori

– superare i limiti fisici dei mezzi di comunicazione usati in una rete (tra reti omogenee)

– collegare reti che utilizzano mezzi di comunicazione diversi – collegare reti fisicamente lontane – collegare reti eterogenee

La realizzazione di una rete di reti richiede la presenza di dispositivi di rete dedicati alla ritrasmissione dei dati tra reti

• questi dispositivi sono genericamente chiamati IMP (Interface Message Processor) e corrispondono a ripetitori, ponti, instradatori (router) e gateway

Reti di calcolatori 30

Interconnessione di reti

In una rete di reti • ciascuna rete contiene almeno un IMP

– un IMP può essere considerato un calcolatore dedicato• l’insieme degli IMP forma una rete, chiamata sottorete

IMPsottorete

Reti di calcolatori 31

InstradamentoCiascun IMP ha il compito di far giungere i pacchetti che

riceve all’IMP della rete destinataria del pacchetto • per i pacchetti originati dalla propria rete e destinati a calcolatori che non

appartengono alla propria rete – l’IMP deve ritrasmetterli a un IMP adiacente affinché vengano trasmessi all’IMP della

rete destinataria • per i pacchetti ricevuti da altri IMP

– se sono destinati alla propria rete, deve ritrasmetterli sulla propria rete affinchégiungano al calcolatore destinatario

– se non sono destinati alla propria rete, deve ritrasmetterli a un IMP adiacente

Gli IMP devono risolvere il problema dell’instradamento• il problema dell’instradamento di un pacchetto consiste nel determinare

(in modo dinamico e distribuito) un percorso per il pacchetto tra un insieme di IMP che sono generalmente collegati in modo irregolare e variante nel tempo

Reti di calcolatori 32

Instradamento . . .

I possibili percorsi tra una coppia di calcolatori

per risolvere il problema dell’instradamento, ciascun IMP dispone di informazioni relative alle reti e agli IMP a cui è attualmente collegato

mittente

destinatario

Reti di calcolatori 33

Architettura a livelliPer ridurre la complessità della comunicazione in una

rete (di reti) di calcolatori, le reti di calcolatori sono organizzate con una architettura a livelli

Può essere utile per capire il funzionamento, fare unaanalogia con una comunicazione telefonica, come mostrato in figura.

Reti di calcolatori 34

Architettura a livelli . . .

Nell’architettura a livelli• ciascun livello è relativo a un particolare aspetto

della comunicazione• ciascun livello permette la comunicazione con il

livello analogo di un altro calcolatore• ciascun livello è basato su un diverso protocollo di

comunicazione

In pratica, la comunicazione richiede l’adozione di un insieme di protocolli, uno per ciascun livello della comunicazione

• un insieme compatibile di protocolli è chiamato una famiglia di protocolli

Reti di calcolatori 35

Il modello ISO-OSIEsistono diverse famiglie di protocolli per reti di calcolatori

• ad esempio, il modello ISO-OSI (teorico), TCP-IP (o Internet Suite), SNA

• la figura mostra il modello di riferimento OSI proposto dall’ISO

Presentazione

Sessione

Trasporto

Rete

Collegamento dati

Fisico

Applicazione Protocollo di applicazione

Protocollo di presentazione

Protocollo di sessione

Protocollo di trasporto

Protocollo del livello di rete

Protocollo del livello di collegamento dati

Protocollo del livello fisico

Presentazione

Sessione

Trasporto

Rete

Collegamento dati

Fisico

Applicazione

Reti di calcolatori 36

I livelli nel modello ISO-OSI

Applicazione• a questo livello si trovano i programmi applicativi che utilizzano

i servizi offerti dalla rete, mediante una varietà di protocolli di alto livello

– ad esempio, la posta elettronica, il trasferimento di file, il World Wide Web • in generale, i servizi sono basati sullo scambio bidirezionale di

messaggi tra utenti di applicazioni

Presentazione• si occupa di un insieme di funzionalità relative alla sintassi dei

messaggi trasmessi (ad esempio, codifica, compressione e crittografia)

Sessione• gestisce l’instaurazione e il controllo di sessioni di

comunicazione tra utenti collegati ai calcolatori della rete

Reti di calcolatori 37

I livelli nel modello ISO-OSI . . .Trasporto

• si occupa della trasmissione di messaggi tra coppie di calcolatori, gestendo la suddivisione dei messaggi in pacchetti

Rete• si occupa della trasmissione di pacchetti tra reti, gestendo il

problema dell’instradamento

Collegamento dei dati (data link)• si occupa della comunicazione libera da errori di sequenze

(chiamate trame) di byte, tra nodi della rete collegati direttamente

Fisico• si occupa della trasmissione dei singoli bit attraverso il canale

fisico di comunicazione, gestendo quindi gli aspetti di livello piùbasso della comunicazione

Reti di calcolatori 38

Il modello cliente/serventeUna applicazione distribuita è una applicazione costituita da più componenti software che vengono eseguite, in modo più o meno coordinato, su piùcalcolatori collegati da una rete

• l’utente di una applicazione distribuita ha l’impressione di utilizzare una tradizionale applicazione informatica

• in pratica, l’esecuzione dell’applicazione è distribuita su piùcalcolatori

L’architettura più comunemente usata nella realizzazione di applicazione distribuite è descritta dal modello cliente/servente (client/server)

• ad esempio, una applicazione cliente/servente può essere realizzata suddividendo funzionalmente l’applicazione in due componenti

– il servente, che fornisce un insieme di servizi applicativi, come la gestione dei dati e l’esecuzione di operazioni

– il cliente, dedicato all’interazione con l’utente e alla visualizzazione dei dati

Reti di calcolatori 39

Servizi, serventi e clientiIl modello cliente-servente è basato sui seguenti concetti

• servizio– un servizio è una risorsa informatica da condividere– ad esempio, un insieme di dati o una operazione

• servente– è una applicazione in grado di erogare uno o più servizi ad altre

applicazioni • cliente

– è una applicazione utilizzatrice di servizi

L’erogazione di servizi da parte di un servente avviene solo su richiesta da parte di un cliente

• per ottenere un servizio, un cliente deve richiederne l’erogazione a un servente

• i clienti hanno un ruolo attivo, i serventi hanno un ruolo reattivo