# Topologia di rete

In telecomunicazioni la topologia di rete è il modello geometrico (grafo) finalizzato a rappresentare le relazioni di connettività, fisica o logica, tra gli elementi costituenti la rete stessa (detti anche nodi). Il concetto di topologia si applica a qualsiasi tipo di rete di telecomunicazioni: telefonica, rete di computer, Internet

## Definizioni basilari

Gli elementi fondamentali della topologia sono i nodi e i rami. Il nodo individua un elemento della rete connotato da specifiche funzionalità mentre il ramo evidenzia la relazione di connettività tra i nodi. La topologia viene rappresentata quindi sotto forma di grafo in cui i nodi, in grado di scambiarsi direttamente l'informazione, sono collegati tra loro tramite uno o più rami.
Il significato di queste entità geometriche è diverso a seconda del tipo di rete e del tipo di operatività che si considera. Per esempio, in una rete informatica a seconda del livello applicativo considerato, un nodo può rappresentare un computer o un elemento di commutazione a livelli differenti (come un router oppure uno switch), mentre un ramo può rappresentare la connettività fisica effettiva oppure la connettività logica come appare a un determinato livello protocollare di pacchetto (per esempio a livello IP piuttosto che Ethernet).
Due nodi possono essere messi in comunicazione in due modi differenti:
* con una connessione fisica, quando fra i due nodi è presente un canale fisico che li collega in modo diretto; in questo caso, il ramo rappresenta anche un'entità fisica vera e propria;
* con una connessione logica, quando la rete assume le dimensioni WAN e quindi è impossibile pensare ad un collegamento fisico per ciascuna coppia di nodi oppure quando si vuole considerare lo schema di distribuzione dell'informazione secondo un particolare punto di vista. In questo caso, il ramo rappresenta la relazione logica tra i nodi, astraendo dal livello fisico propriamente detto.
La topologia di rete è determinata soltanto dalla configurazione dei collegamenti tra i nodi. Per la precisione, non riguardano la topologia di rete: le distanze tra i nodi, le tecnologie usate per le interconnessioni fisiche, le velocità di trasmissione, il tipo di segnale (elettrico, ottico, elettromagnetico eccetera).

## Nodi

In informatica e telecomunicazioni un nodo è un qualsiasi dispositivo hardware del sistema in grado di comunicare con gli altri dispositivi che fanno parte della rete; può quindi essere un computer, una stampante, un fax, un modem ecc. In ogni caso il nodo deve essere dotato di una scheda di rete.
I nodi sono collegati tra loro da un pannello di connessione (in inglese Hub), chiamato anche concentratore, che ha la funzione di semplificare la connessione fisica tra i vari nodi e di instradare i segnali che vengono inviati da un nodo all'altro.
Nelle reti di telecomunicazioni indica genericamente un dispositivo ricetrasmittente di elaborazione che può essere posizionato ai bordi della rete stessa (nodo terminale (host) client o server) oppure al suo interno come nodo di transito ovvero di commutazione tra varie linee di uscita ad esempio nella rete di trasporto.
In questo caso il termine nodo è mutuato dalla teoria dei grafi con la quale è possibile rappresentare la topologia di una rete di telecomunicazioni attraverso il rispettivo grafo: un nodo è il punto in cui convergono o dipartono più link o collegamenti fisici con altri nodi.

### Router

Il router è un dispositivo di internetworking che invia i pacchetti tra le reti e elabora le informazioni di Routing comprese nell'header del pacchetto (informazioni sul protocollo internet di livello 3). Un router utilizza la propria tabella di routing per determinare dove inviare i pacchetti.

## Topologie elementari

Una rete di complessità arbitraria può essere sempre scomposta in una combinazione di topologie elementari a loro volta interconnesse tra loro.
Le topologie elementari si possono ricondurre a cinque tipi fondamentali:
* le topologie lineari semplici, in cui ciascun nodo è collegato a due nodi adiacenti con un solo ramo; rientrano in questo tipo la topologia lineare aperta e la topologia ad anello;
* le topologie lineari complesse, a struttura gerarchica, in cui per ogni coppia di nodi esiste un solo percorso di collegamento e ogni nodo è collegato con uno o più rami ai nodi di gerarchia inferiore (rientrano in questo tipo le topologie ad albero propriamente dette e la topologia a stella);
* la topologia punto a punto, la più semplice, con un canale dedicato e diretto tra due endpoint;
* la topologia a maglia o magliata, in cui ogni nodo è connesso direttamente agli altri nodi, usando per ciascun collegamento un ramo dedicato;
* la topologia a bus, in cui tutti i nodi condividono lo stesso unico collegamento;
Ad esclusione della topologia a bus, in tutte le altre strutture lo scambio di informazioni tra due nodi qualsiasi della rete implica l'utilizzo di uno o più rami con l'attraversamento di nodi intermedi. Ogni ramo percorso costituisce un salto (hop): in queste strutture quindi il segnale trasmesso deve effettuare uno o più hop per giungere alla sua destinazione.

## Topologie lineari semplici
### Topologia lineare aperta

In questo tipo di topologia, spesso chiamata anche daisy-chain, ogni nodo è collegato con un ramo al nodo adiacente precedente e con l'altro ramo al nodo adiacente successivo. I nodi terminali sono invece adiacenti a un solo nodo. La comunicazione tra due nodi non adiacenti deve attraversare tutti i nodi intermedi, percorrendo i rami relativi: ogni passaggio tra due nodi viene detto salto o hop.
In una rete lineare aperta costituita da N nodi, il numero R di rami necessari per il collegamento tra tutti i nodi è dato dalla relazione:
$R=N-1$
Questa relazione inoltre fornisce anche la formula del numero di hop necessari perché un'informazione generata da un nodo A raggiunga il nodo di destinazione B dovendo attraversare una sottorete composta complessivamente da N nodi (A, B e gli N-2 nodi intermedi).
Questa topologia possiede considerevoli svantaggi, primo tra tutti la scarsissima affidabilità: se un nodo si guasta o un ramo si interrompe, la rete viene divisa in due sottoreti isolate. Anche per quanto riguarda la scalabilità, questa struttura è poco efficiente, dato che comporta un'interruzione dell'attività di rete per aggiungere o eliminare un nodo intermedio.

### Topologia rete ad anello

Una topologia ad anello è una topologia lineare di tipo chiuso, in cui a tutti i nodi fanno capo due rami. Tutti i nodi sono collegati con un ramo al nodo adiacente precedente e con l'altro ramo al nodo adiacente successivo.
In una rete ad anello costituita da $N$ nodi, il numero di rami necessari per il collegamento tra tutti i nodi è dato dalla relazione:
$R=N$
Questa formula fornisce anche la relazione per determinare in modo algoritmico il numero di hop necessari per percorrere l'intero anello e viene usata anche per evitare situazioni in cui un'informazione continua a percorrere l'anello indefinitamente senza mai arrivare a destinazione, consumando banda.
Le topologie ad anello sono molto diffuse per via dell'alta tolleranza/robustezza ai guasti dato che l'informazione trasmessa può viaggiare in entrambi i versi/sensi dell'anello per raggiungere una certa destinazione, e non necessita di un nodo centrale per gestire la connessione tra i computer.
Consentono inoltre di ottimizzare l'utilizzo della banda disponibile, per esempio inviando alcuni pacchetti in un verso e altri pacchetti nel verso opposto, bilanciando così l'impiego delle risorse e limitando la possibilità che una parte dell'anello risulti congestionata mentre l'altra parte è scarica.
Di contro, la scalabilità presenta dei problemi, dato che l'aggiunta o la rimozione di un nodo presuppone una variazione della velocità della rete e l'apertura dell'intero anello e inoltre, a seconda delle tecnologie trasmissive e dei protocolli trasmissivi, potrebbe esserci un limite al numero massimo di nodi utilizzabili, per esempio per vincoli legati all'eventuale numero massimo di hop consentiti o al ritardo di propagazione ammesso.
Nel campo delle reti di computer, le più diffuse implementazioni della rete ad anello sono la Token ring e la Token bus, in cui un pacchetto viene trasmesso da un nodo all'altro fino ad arrivare a destinazione, con un meccanismo di salvaguardia che evita che un pacchetto continui a girare indefinitamente nell'anello (quando il pacchetto viene ricevuto di nuovo nel nodo in cui è entrato nell'anello, ossia quando ha compiuto un giro completo senza riconoscere alcun nodo come destinazione, viene scartato, vedi relazione sul numero di hop).
Nel caso delle reti telefoniche, le strutture ad anello vengono usate per la distribuzione e aggregazione del traffico sia su area metropolitana che su area regionale, oltre che per collegamenti di lunghissima distanza come le reti sottomarine transcontinentali.

### Topologia punto a punto

È la topologia più semplice con un collegamento dedicato tra due endpoint.
Il più semplice da comprendere, tra le variazioni della topologia punto-punto che appare, all'utente, in modo da essere associato permanentemente ai due endpoint.
Il telefono con i barattoli e il filo di stoffa che li collega è un esempio di canale fisico dedicato.
Utilizzando tecnologie di commutazione di circuito o commutazione a pacchetto, un circuito point-to-point può essere impostato dinamicamente e rilasciato quando non più necessario.
Le topologie commutate point-to-point sono il modello base della telefonia convenzionale.
Il valore di una rete punto-punto permanente è una comunicazione senza impedimenti tra i due endpoint.
Il valore di una connessione point-to-point su richiesta è proporzionale al numero di potenziali coppie di abbonati ed è stato espresso come Legge di Metcalfe.
Questa rete è utilizzata nei ponti radio wireless a lunga distanza e, quindi, le due stazioni sono collegate tramite un canale diretto.

## Topologie lineari complesse
### Topologia ad albero

La topologia ad albero è una variante più complessa di una struttura lineare, caratterizzata dal fatto che da ciascun nodo possono dipartirsi più catene lineari distinte e non intersecantesi, realizzando così una struttura multilivello. Anche in questo tipo di topologia, per ogni coppia di nodi esiste un solo percorso di collegamento; ogni nodo è collegato a un solo nodo del livello superiore (nodo padre) tramite un solo ramo e a uno o più nodi del livello inferiore (nodi figli) tramite uno o più rami dedicati (diramazione). Il nodo da cui prende origine tutta la topologia viene denominato anche "nodo radice" (root) mentre i nodi terminali vengono denominati "foglie" (leaf).
Essendo sostanzialmente un'estensione della topologia lineare semplice, anche per questa topologia la relazione tra nodi e rami è data da: $R=N-1$.
Una caratteristica di questa rete è che la comunicazione tra due nodi distinti dello stesso livello può avvenire solo risalendo la struttura fino al primo nodo padre comune, che deve quindi essere dotato di funzionalità di distribuzione più sofisticate per poter determinare la diramazione corretta verso cui instradare il segnale.

### Topologia a stella

Le reti a stella sono le più comuni topologie di rete.
Questa topologia di rete consiste in un hub o switch che funge da punto centrale per la trasmissione delle informazioni e ogni host è connesso a tale punto (hub/switch).
I dati all'interno di una rete a stella attraversano l'hub prima di arrivare a destinazione. Inoltre l'hub gestisce e controlla tutte le funzionalità della rete (funziona anche come ripetitore per il flusso di dati).
Questa tipologia di rete riduce l'impatto di un guasto sulla linea trasmissiva collegando in modo indipendente ciascun host all'hub. Ogni host può comunicare con tutti gli altri e l'hub.
Il guasto di una linea trasmissiva che collega un host all'hub determinerà l'isolamento di tale host da tutti gli altri, ma il resto della rete continuerà a funzionare tranquillamente.
La configurazione a stella è tra le più comuni usate per i cavi a doppino e fibra ottica. Tuttavia può essere utilizzata anche con cavi di tipo coassiali.
Il centro stella (complessivo di tutta la rete o di area quale un piano, reparto, ala, etc.) è il punto in cui arriva il fascio composto da tutti i cavi che formano la rete cablata. Al centro stella è congiunto un patch panel collegato allo switch. Fisicamente, a seconda dell'installazione, il centro stella si trova dietro il coperchio del relativo vano a muro, nella canalina che scorre in un cavedio, nel pavimento flottante, nel falso soffitto. Nel caso di presenza di centri stella parziali (ovvero di una singola porzione della rete) essi sono connessi tra loro (in parallelo, per evitare il collegamento in cascata) tramite il relativo switch che riporta a quello principale (ad esempio quello della sala CED). Questo collegamento è tipicamente in fibra ottica.

### Vantaggi e svantaggi

Le topologie ad albero presentano un elevato grado di affidabilità: l'unico punto debole è costituito dai nodi padre, che, in caso di guasto, rendono impossibile l'accesso alla sottorete che si diparte da essi e che rimane quindi isolata. Va osservato che anche in questo caso la sottorete che rimane isolata, a meno che non sia costituita solo da nodi terminali, rimane comunque funzionante e operativa, essendo sempre possibile la comunicazione tra nodi della sottorete facenti capo a nodi padre comuni non guasti. Nella topologia a stella, invece, il guasto dell'hub comporta la perdita totale della funzionalità di rete, risultando di fatto isolati tutti i nodi componenti.
Altro vantaggio importante delle topologie ad albero è l'elevata scalabilità: infatti è possibile aggiungere o togliere nodi e connessioni senza modificare la rete né la sua funzionalità, fino al numero massimo di diramazioni consentite dal nodo padre. Inoltre, è molto facile l'accorpamento di più reti in un'unica rete, collegando direttamente tra loro i relativi nodi radice, senza che questo abbia ripercussioni sulle reti preesistenti.
Questa struttura di rete presenta importanti vantaggi anche in termini di efficienza nella distribuzione del segnale: potendo infatti demandare le funzionalità di indirizzamento nei nodi padre (se dotati di opportuna intelligenza), è possibile smistare il segnale in maniera ottimizzata, di fatto secondo il percorso disponibile più breve. Anche l'elaborazione dell'instradamento e i relativi tempi risultano ottimizzati: infatti, con questa struttura, l'elaborazione dell'indirizzamento è distribuita tra i vari nodi padre, per le relative sottoreti, e non concentrata in un unico dispositivo centrale, e nei dispositivi di instradamento non richiede la conoscenza dell'intera rete ma solo della porzione che serve per gestire correttamente il trasferimento dell'informazione.
Per tutti questi motivi, questa topologia di rete trova larghissimo impiego nelle reti di calcolatori e di telefonia, in particolare per quanto riguarda la parte di rete di distribuzione verso le utenze finali.
Per garantire un'elevata scalabilità è sempre meglio partire da un'accurata analisi delle esigenze presenti, valutare quelle future e pianificare la struttura in modo da poterla espandere in futuro.

## Topologie a maglia
### Topologia completamente magliata

La topologia completamente magliata o a maglia completamente connessa è quella di complessità più elevata in quanto prevede che ogni nodo sia collegato direttamente con tutti gli altri nodi della rete con rami dedicati. La relazione tra numero di nodi e rami è di tipo quadratico ed è data da:
$R=N*(N-1)/2$
La caratteristica più importante di questa rete è che, dato un nodo qualsiasi, esiste sempre almeno un percorso che consente di collegarlo a un altro nodo qualsiasi della rete.

### Topologia parzialmente magliata

La topologia parzialmente magliata o a maglia parzialmente connessa è una topologia che, dati $N$ nodi, utilizza solo un sottoinsieme di tutti i collegamenti diretti definibili tra i nodi. Anche in questo caso la relazione tra numero di nodi e rami è non lineare, ma di tipo tendenzialmente quadratico, con una complessità inferiore rispetto al caso di rete completamente magliata e via via decrescente al decrescere dei rami utilizzati per i collegamenti tra i nodi, ed è espressa da una disuguaglianza:
$(N-1)<R<N*(N-1)/2$
Da notare che gli estremi della disuguglianza coincidono in un caso con la relazione che definisce le topologie lineari e nell'altro con la relazione che definisce la topologia completamente magliata. Questo indica che una topologia parzialmente magliata è data dalla combinazione di una o più sottoreti magliate con una o più sottoreti lineari.

### Vantaggi e svantaggi

Il vantaggio principale delle topologie magliate è la robustezza di fronte ai guasti nei collegamenti tra i nodi. In una topologia completamente magliata, fino a quando un nodo non rimane completamente isolato, esisterà sempre almeno un percorso in grado di collegare tale nodo con il resto della rete. Questo vuol dire che in una rete di $N$ nodi, prima che un nodo rimanga totalmente isolato devono interrompersi tutti gli $N-1$ collegamenti con gli altri nodi. Anche le topologie parzialmente magliate presentano un grado di robustezza analogo, via via decrescente a mano a mano che diminuiscono i rami usati per connettere direttamente tra loro i nodi.
Di contro, il rapporto quadratico tra numero di nodi e numero di rami costituisce un grosso ostacolo per la scalabilità: oltre un certo limite, aggiungere un nodo a una topologia completamente magliata richiede l'aggiunta di un numero sempre maggiore di rami, aumentando anche la complessità dell'intera rete. Di fatto, questo tipo di topologia risulta utilizzabile solo fino a quando il numero dei nodi della rete è relativamente limitato e si usa principalmente per le dorsali di traffico (come per esempio l'infrastruttura ad alta capacità che unisce le centrali telefoniche regionali per la distribuzione a livello nazionale).

## Topologia a bus

Nella topologia a bus, tutti i nodi sono collegati tra di loro per mezzo di un unico ramo condiviso.
Questa topologia è molto efficiente dal punto di vista della scalabilità (l'aggiunta di un nodo non comporta aggiunta di collegamenti né interruzione dei collegamenti esistenti) e della robustezza (la rottura del bus porta ad avere comunque un partizionamento della rete in due topologie a bus) e per questi motivi è molto usata nelle reti dati: per esempio, la rete Ethernet nelle sue versioni iniziali thickwire e thinwire, era fisicamente strutturata a bus.
In questo tipo di topologia, la presenza di un unico collegamento condiviso tra tutti i nodi richiede di utilizzare meccanismi di controllo dell'accesso che evitino le collisioni o le interferenze tra i nodi.

### Trasmissione nelle reti a bus

Un segnale proveniente dalla sorgente viaggia in entrambe le direzioni verso tutte le macchine collegate sul cavo bus fino a quando non trova il destinatario previsto. Se l'indirizzo della macchina non corrisponde all'indirizzo previsto per i dati, la macchina ignora i dati. In alternativa, se i dati corrispondono all'indirizzo della macchina, i dati vengono accettati. Poiché la rete di tipo bus è costituita da un solo filo, è piuttosto economica da implementare rispetto ad altre topologie. Tuttavia, il basso costo di implementazione della tecnologia è compensato dall'elevato costo di gestione della rete. Inoltre, poiché viene utilizzato un solo cavo, può essere il single point of failure. In questa topologia, i dati trasferiti possono essere accessibili da qualsiasi workstation.

### Rete a bus lineare

Il tipo di topologia di rete in cui tutti i nodi della rete che sono collegati a un mezzo di trasmissione comune che ha esattamente due endpoints, tutti i dati trasmessi tra i nodi della rete vengono trasmessi su questo mezzo di trasmissione comune e possono essere ricevuti contemporaneamente da tutti i nodi della rete.
Nota: Quando il segnale elettrico raggiunge la fine del bus, il segnale viene riflesso indietro lungo la linea, causando interferenze indesiderate. Come soluzione, i due endpoint del bus sono normalmente terminati con un dispositivo chiamato terminatore che impedisce questa riflessione.

### Rete a bus distribuito

La topologia di rete in cui tutti i nodi della rete, i quali sono connessi a un mezzo di trasmissione comune con più di due endpoint, creati aggiungendo rami alla sezione principale del mezzo di trasmissione, caratterizzano la topologia del bus distribuito, il quale funziona esattamente allo stesso modo della topologia del bus lineare (cioè, tutti i nodi condividono un mezzo di trasmissione comune).