Premessa

Questi appunti sono basati sul libro "Computer Networks" di A. Tanenbaum, terza edizione, ed. Prentice-Hall, adottato quale libro di testo del corso.

Essi rispecchiano piuttosto fedelmente il livello di dettaglio che viene seguito durante le lezioni, e costituiscono un ausilio didattico allo studio.

Tuttavia, è importante chiarire che gli appunti non vanno intesi come sostitutivi né del libro di testo né della frequenza alle lezioni, che rimangono fattori importanti per una buona preparazione dell'esame.

La realizzazione di questi appunti è stata resa possibile dalla collaborazione dello studente Federico Neri, che ha avuto la pazienza di convertire in forma elettronica il contenuto testuale dei manoscritti da me preparati per il corso. La realizzazione delle figure, la formattazione e la rifinitura del testo sono opera mia.

1) Introduzione

Gli ultimi tre secoli sono stati dominati ciascuno da una diversa tecnologia che lo ha caratterizzato ed ha avuto profonde influenze sulla vita dell'uomo:

Nel nostro secolo si sono via via diffusi:

Queste tecnologie stanno rapidamente convergendo. In particolare, la combinazione di elaboratori e sistemi di telecomunicazione ha avuto una profonda influenza sull'organizzazione dei sistemi di calcolo.

Si è passati dal vecchio modello mainframe - terminali , in cui la potenza di calcolo è concentrata in un unico grande elaboratore a cui si accede per mezzo di un certo numero di terminali, a quello attuale in cui vi è un grande numero di elaboratori autonomi, interconnessi fra loro:

Un sistema di calcolo siffatto è detto rete di elaboratori (computer network).

Si noti che rete di elaboratori non è sinonimo di sistema distribuito. Infatti:

In effetti, si può dire che:

Rete di Elaboratori + Sistema software di gestione = Sistema distribuito

dove il sistema software di gestione altro non è che un particolare tipo di sistema operativo, ossia un sistema operativo distribuito.

1.1) Usi delle reti di elaboratori

Moltissimi sono gli usi delle reti di elaboratori, sia per le organizzazioni che per i singoli individui.


Figura 1-1: Il modello client-server

1.2) Aspetti hardware delle reti

Due parametri sono utili per definire le caratteristiche di una rete, anche se non esiste una tassonomia universalmente accettata:

1.2.1) Tecnologia trasmissiva

Ci sono due tipologie per quanto riguarda la tecnologia trasmissiva:

Le reti broadcast sono dotate di un unico "canale" di comunicazione che è condiviso da tutti gli elaboratori. Brevi messaggi (spesso chiamati pacchetti) inviati da un elaboratore sono ricevuti da tutti gli altri elaboratori. Un indirizzo all'interno del pacchetto specifica il destinatario.


Figura 1-2: una rete broadcast

Quando un elaboratore riceve un pacchetto, esamina l'indirizzo di destinazione; se questo coincide col proprio indirizzo il pacchetto viene elaborato, altrimenti viene ignorato.

Le reti broadcast, in genere, consentono anche di inviare un pacchetto a tutti gli altri elaboratori, usando un opportuno indirizzo (broadcasting). In tal caso tutti prendono in considerazione il pacchetto.

Un' altra possibilità è inviare il pacchetto ad un sottoinsieme degli elaboratori (multicasting). In tal caso solo gli elaboratori di tale sottoinsieme lo prendono in considerazione, gli altri lo ignorano. In questo caso, un bit dell'indirizzo indica che si tratta di una trasmissione in multicasting. I rimanenti (n-1) bit dell' indirizzo rappresentano l'indirizzo del gruppo destinatario.

Le reti punto a punto consistono invece di un insieme di connessioni fra coppie di elaboratori.


Figura 1-3: una rete punto a punto

Per arrivare dalla sorgente alla destinazione, un pacchetto può dover attraversare uno o più elaboratori intermedi. Spesso esistono più cammini alternativi, per cui gli algoritmi di instradamento (routing) hanno un ruolo molto importante.

In generale (ma con molte eccezioni):

Alcune eccezioni:

1.2.2) Scala dimensionale

Un criterio alternativo di classificazione è la scala dimensionale delle reti. In questo contesto si distingue fra reti locali, reti metropolitane e reti geografiche.

Distanza fra processori
Ambito
Tipo di rete
10 m.
Stanza
Rete locale
100 m.
Edificio
Rete locale
1 km.
Campus
Rete locale
10 km.
Città
Rete metropolitana
100 km.
Nazione
Rete geografica
1000 km.
Continente
Rete geografica
10.000 km.
Pianeta
Internet

(Rete geografica)


La distanza è un fattore molto importante, poiché a differenti scale dimensionali si usano differenti tecniche.

1.2.3) Reti locali

Le reti locali (Local Area Network, LAN), in genere:

Esse si distinguono dagli altri tipi di rete per tre caratteristiche:


Figura 1-4: topologie bus e ring

Infine le reti broadcast possono essere classificate a seconda del meccanismo scelto per l'arbitraggio:

1.2.4) Reti metropolitane

Le reti metropolitane (Metropolitan Area Network, MAN)hanno un'estensione tipicamente urbana (quindi anche molto superiore a quella di una LAN) e sono generalmente pubbliche (cioé un'azienda, ad es. Telecom Italia, mette la rete a disposizione di chiunque desideri, previo pagamento di una opportuna tariffa).

Fino a qualche anno fa erano basate essenzialmente sulle tecnologie delle reti geografiche, utilizzate su scala urbana. Recentemente pero' e' stato definito un apposito standard, lo IEEE 802.6 o DQDB (Distributed Queue Dual Bus), che e' effettivamente utilizzato in varie realizzazioni, molto piu' vicino alla tecnologia LAN che WAN.

Esiste un mezzo trasmissivo di tipo broadcast (due bus in 802.6) a cui tutti i computer sono attaccati.


Figura 1-5: Distributed Queue Dual Bus


Ogni bus (cavo coassiale o fibra ottica) e' unidirezionale, ed ha una head-end che cadenza l'attivita' di trasmissione.

1.2.5) Reti geografiche

Le reti geografiche (Wide Area Network, WAN) si estendono a livello di una nazione, di un continente o dell'intero pianeta. Una WAN è tipicamente costituita di due componenti distinte:

Di norma la subnet consiste, a sua volta, di due componenti:

Una tipica WAN è utilizzata per connettere più LAN fra loro:


Figura 1-6: struttura tipica di una WAN

In generale una WAN contiene numerose linee (spesso telefoniche) che congiungono coppie di router.

Ogni router, in generale, deve:

  1. ricevere un pacchetto da una linea in ingresso;
  2. memorizzarlo per intero in un buffer interno;
  3. appena la necessaria linea in uscita è libera, instradare il pacchetto su essa.

Una subnet basata su questo principio si chiama:

Molte topologie di interconnessione possono essere impiegate fra i router:


Figura 1-7: topologie di interconnessione

Un'altra possibilità è una WAN basata su satellite oppure radio al suolo.


Figura 1-8: interconnessione di router via satellite


Figura 1-9: interconnessione di router via radio al suolo

Una WAN può essere anche realizzata in maniera mista: in parte cablata, in parte basata su radio o satellite.

1.2.6) Interconnessione di reti (Internetwork)

Una internetwork è formata quando reti diverse (sia LAN che MAN o WAN) sono collegate fra loro.

A prima vista, almeno in alcuni casi, la cosa è apparentemente uguale alla definizione di WAN vista precedentemente (se al posto di subnet si scrive WAN, abbiamo una internetwork costituita da una WAN e quattro LAN).

Alcuni problemi però sorgono quando si vogliono connettere fra di loro reti progettualmente diverse (spesso incompatibili fra loro). In questo caso si deve ricorrere a speciali attrezzature, dette gateway (o router multiprotocollo), che oltre ad instradare i pacchetti da una rete all'altra, effettuano le operazioni necessarie per rendere possibili tali trasferimenti.


Figura 1-10: interconnessione di reti

Nel contesto del corso utilizzeremo:

C'è molta confusione sui termini:


Figura 1-11: relazioni fra subnet, network e internetwork


Torna al sommario | Vai avanti