Tipi di reti -...

27
1 Vittorio Maniezzo – Università di Bologna 10 – rete - 1/53 Livello rete: WAN, routing Vittorio Maniezzo Università di Bologna Vittorio Maniezzo – Università di Bologna 10 – rete - 2/53 Tipi di reti Local Area Network (LAN) - singolo edificio Metropolitan Area Network (MAN) - singola città Wide Area network (WAN) - nazioni, continenti, pianeta Differenze fra LAN e WAN Un bridge satellitare può estendere una LAN su distanze immense Però una LAN non può accettare un numero arbitrario di stazioni Una WAN può scalare a lunghe distanze e molti computer

Transcript of Tipi di reti -...

1

Vittorio Maniezzo – Università di Bologna 10 – rete - 1/53

Livello rete:WAN, routing

Vittorio ManiezzoUniversità di Bologna

Vittorio Maniezzo – Università di Bologna 10 – rete - 2/53

Tipi di retiLocal Area Network (LAN) - singolo edificio Metropolitan Area Network (MAN) - singola cittàWide Area network (WAN) - nazioni, continenti,

pianeta Differenze fra LAN e WANUn bridge satellitare può estendere una LAN su

distanze immense Però una LAN non può accettare un numero

arbitrario di stazioni Una WAN può scalare a lunghe distanze e molti

computer

2

Vittorio Maniezzo – Università di Bologna 10 – rete - 3/53

Switch di pacchetti

Per accettare lunghe distanze o molti computer, la rete deve sostituire il mezzo condiviso con gli switch di pacchetti

• Ogni switch / router trasferisce un intero pacchetto da una connessione ad un'altra

• Uno switch / router é un piccolo computer con interfacce di rete, memoria e programmi specifici per le funzioni di packet switching.

Vittorio Maniezzo – Università di Bologna 10 – rete - 4/53

Switch di pacchettiGli switch possono essere collegati per formare una WAN Una WAN non vincolata ad avere nessuna topologia regolare.Ogni switch può connettersi a uno o più altri switche a uno o più computer

3

Vittorio Maniezzo – Università di Bologna 10 – rete - 5/53

Livello reteAffronta il problema dello spostamento dei pacchetti dalmittente al destinatario attraverso sottoreti intermedie (router).Occorre:

– Conoscere la topologia della rete– Scegliere di volta in volta il cammino migliore (routing)– Gestire il flusso dei dati e le congestioni (controllo di

flusso e congestione)– Gestire le problematiche derivanti dalla presenza di più

reti diverse (internetworking)

Vittorio Maniezzo – Università di Bologna 10 – rete - 6/53

RoutingLa funzione principale del livello network è di instradare i pacchetti sulla subnet, facendo fare loro salti (hop) da un router ad un altro. Un algoritmo di routing è la parte del software che decide su quale linea di uscita instradare un pacchetto che è arrivato:

– in una sottorete a datagrammi l'algoritmo viene applicato da ogni router ad ogni pacchetto

– in una sottorete basata su circuiti virtuali l'algoritmo viene applicato solo nella fase di setup del circuito (Session routing)

4

Vittorio Maniezzo – Università di Bologna 10 – rete - 7/53

Livello 3: servizi

Orientati alla connessione: gli host stabiliscono una connessione, negoziandone i parametri (qualità, costo), alla quale viene associato un identificatore ID– Questo ID viene inserito in ogni pacchetto che

verrà inviato – Comunicazione bidirezionale, i pacchetti

viaggiano, lungo il cammino assegnato alla connessione

– Il controllo di flusso è fornito attraverso alcuni dei parametri negoziati

Vittorio Maniezzo – Università di Bologna 10 – rete - 8/53

Livello 3: servizi

Senza connessione: la sottorete è giudicata inaffidabile, gli host devono provvedere per conto proprio alla correzione degli errori e al controllo di flusso

– Il servizio offerto dal livello rete è di tipo a datagrammi

– I pacchetti viaggiano indipendentemente, contengono tutti un l'indirizzo della destinazione

5

Vittorio Maniezzo – Università di Bologna 10 – rete - 9/53

Livello 3: serviziOrientati alla connessione:

• La sottorete stabilisce un circuito virtuale

• Tutti i router lungo tale cammino memorizzano, in una struttura dati, la linea in entrata e quale in uscita assegnate al cammino

• Quando arrivano pacchetti che contengono l'IDdel circuito virtuale, vengono instradati di conseguenza (tutti nello stesso modo)

Vittorio Maniezzo – Università di Bologna 10 – rete - 10/53

Livello 3: serviziConnectionless:

• I router instradano ogni pacchetto decidendo ogni volta come proseguire

• I router hanno delle tabelle di instradamento (routing table) che indicano, per ogni possibile destinazione, la linea in uscita da utilizzare

• Se offre un servizio con connessione, fa credere al livello superiore che esista una connessione, ma i pacchetti viaggiano indipendentemente e sono riordinati dal livello 3 solo a destinazione, prima di essere consegnati al livello 4

6

Vittorio Maniezzo – Università di Bologna 10 – rete - 11/53

Store and forwardL'invio di dati da un computer a un altro avviene tramite una tecnologia store-and-forward

– Ogni switch memorizza (store) ogni pacchetto in ingresso

– ... e lo inoltra (forward) a un altro switch o computer

Ogni router ha una memoria interna – può mantenere un pacchetto se la

connessione é occupata – può accodare più pacchetti per ogni

connessione

Vittorio Maniezzo – Università di Bologna 10 – rete - 12/53

Indirizzi fisici su WANSimili a quelli su LAN

– Dati trasmessi in pacchetti (equivalenti ai frame) – Ogni pacchetto ha un formato specificato da un

header– L'header contiene gli indirizzi sorgente e destinazione

Molte WAN usano un indirizzamento gerarchico – Una parte dell'indirizzo identifica lo switch di

destinazione – L'altra parte identifica una porta dello switch

7

Vittorio Maniezzo – Università di Bologna 10 – rete - 13/53

Instradamento next-hopOgni switch deve scegliere una connessione in

uscita per l'inoltro

• se la destinazione é un computer locale, lo switch consegna alla porta del calcolatore

• se la destinazione non é collegata in locale, lo switch inoltra su un'altra connessione (next hop) verso un altro switch

La scelta della connessione é basata sull'indirizzo nel pacchetto

Vittorio Maniezzo – Università di Bologna 10 – rete - 14/53

Scelta del passo successivoLo switch non mantiene una informazione completa di tutte le possibili destinazioni, ma solo delle stazioni direttamente connesse

Per ogni pacchetto lo switch scorre una tabella di destinazioni invia su una connessione per il passo successivo.

8

Vittorio Maniezzo – Università di Bologna 10 – rete - 15/53

Indipendenza dalla sorgenteIl passo successivo verso la destinazione non dipende dalla sorgente del pacchetto (indipendenza dalla sorgente)

Proprietà alla base di un routing veloce ed efficiente

Gli switch non richiedono informazioni complete, bastano le connessioni dirette

– riduzione dell'informazione totale gestita – aumento della robustezza dinamica: la rete può

continuare a funzionare anche a fronte di modifiche topologiche senza notificarle all'intera rete.

Vittorio Maniezzo – Università di Bologna 10 – rete - 16/53

Indirizzamento gerarchico e routingL'instradamento dei pacchetti é detto routingL'informazione rilevante é mantenuta in tabelle di routingMolti cammini possono condividere lo stesso primo passo

Tutte le destinazioni collegate ad uno stesso router hanno lo stesso passo successivo Le tabelle di routing possono essere compresse:

9

Vittorio Maniezzo – Università di Bologna 10 – rete - 17/53

Modellizzazione di una WANGrafo della rete: • I nodi corrispondono ai router • Gli archi corrispondono a connessioni dirette fra

router Si ignorano i calcolatori collegati

Vittorio Maniezzo – Università di Bologna 10 – rete - 18/53

Calcolo di un cammino nel grafoRappresentabili con tabelle di routing:

Si possono usare algoritmi di teoria dei grafi per identificare i cammini

10

Vittorio Maniezzo – Università di Bologna 10 – rete - 19/53

Ridondanza rappresentativa

Ad esempio, viene duplicata informazione al nodo 1:

Il router 1 ha un unica connessione in uscita, tutto il traffico deve passare di lì.

Vittorio Maniezzo – Università di Bologna 10 – rete - 20/53

Default routeSi possono collassare tutte le righe di una tabella di routing in una default routeSe una destinazione non ha una specifica riga nella tabella, si usa la default route:

L'uso della default route é opzionale (v. nodo 3)

11

Vittorio Maniezzo – Università di Bologna 10 – rete - 21/53

Routing, requisitiRequisiti di un algoritmo di routing:• Correttezza• Semplicità• Robustezza (deve funzionare anche in caso di

cadute di linee e/o router e di riconfigurazionidella topologia)

• Stabilità• Equità• Ottimalità

Vittorio Maniezzo – Università di Bologna 10 – rete - 22/53

Algoritmi di routingObiettivi (che possono essere contrastanti):

– Minimizzare i tempi di inoltro dei pacchetti– Massimizzare l'utilizzo delle linee

Scalabilità degli algoritmi– Complessità: non lineare nel numero dei nodi – Stabilità: convergenza problematica con reti

complesse– Equità: non sempre facile garantire uguali condizioni

ai nodiOttimalità: due metriche principali

– Hops: numero di sistemi intermedi attraversati– Costo: sommatoria dei costi delle singole linee

attraversate (inversamente proporzionali a velocità)

12

Vittorio Maniezzo – Università di Bologna 10 – rete - 23/53

Algoritmi di routing

Gli algoritmi di routing si dividono in:

• Algoritmi non adattivi (static routing): le decisioni di routing sono prese in anticipo, all'avvio della rete, e sono comunicate ai router che poi si attengono sempre a quelle

• Algoritmi adattivi (dynamic routing): le decisioni di routing sono riformulate molto spesso in base allo stato della rete

– sulla base del traffico

– della topologia della rete

– altre informazioni

Vittorio Maniezzo – Università di Bologna 10 – rete - 24/53

Routing, classificazioneGli algoritmi adattivi differiscono fra loro per:• Come ricevono le informazioni

– Localmente– Dai router adiacenti– Da tutti i router

• Quanto spesso rivedono le decisioni– A intervalli di tempo prefissati– Quando il carico cambia– Quando la topologia cambia

• Quale metrica di valutazione adottano– Distanza– Numero di hop– Tempo di transito stimato

13

Vittorio Maniezzo – Università di Bologna 10 – rete - 25/53

Routing, classificazioneAlgoritmi (o politiche)• isolate

– routing calcolato con sole informazioni locali, indipendentemente dal resto (stato degli altri nodi e stato della rete)

• distribuite– i nodi cooperano e comunicano frequentemente il

proprio stato e quello della rete• centralizzate

– un centro di controllo conosce lo stato globale e calcola il cammino ottimo per ogni coppia (mittente,destinatario) e dirama le tabelle

• miste– combinazione di politiche isolate e centralizzate

Vittorio Maniezzo – Università di Bologna 10 – rete - 26/53

Definizione delle tabelle di routingLe tabelle possono essere costruite:

– Manualmente - file di inizializzazione– Dinamicamente - runtime

Identificazione delle informazioni:

– Routing statico - boot time

– Routing dinamico - permette aggiornamenti automatici via SW

Il routing statico é più semplice, ma non può gestire modifiche della topologia della rete

Il routing dinamico richiede protocolli specifici, può gestire modifiche della rete

14

Vittorio Maniezzo – Università di Bologna 10 – rete - 27/53

Tipi di algoritmi di routingNon adattivi (statici, deterministici): i criteri di instradamentorimangono costanti nel tempo

– Fixed Directory Routing– Flooding e Selective Flooding

Adattivi (dinamici, non deterministici): tabelle di instradamento calcolate sulla base della topologia (variabile) della rete, dello stato dei collegamenti e del loro carico

– Routing Centralizzato– Routing Isolato– Routing Distribuito

Vittorio Maniezzo – Università di Bologna 10 – rete - 28/53

Fixed directory routingTabelle di instradamento costruite "a mano"

Riconfigurazioni di tabelle gestite "a mano" possibilmente in anticipo rispetto ai guasti

MULTIMEDIA Port_03

MULTIMEDIA Port_003 Port_005

BIOMETRIA Port_15

INFO Port_08

BIOMETRIA Port_015

INFO Port_008 Port_003

15

Vittorio Maniezzo – Università di Bologna 10 – rete - 29/53

Routing staticoAlgoritmi che definiscono le regole di instradamento a priori e senza informazione di stato• shortest path routing• flooding• flow-based routing

Vittorio Maniezzo – Università di Bologna 10 – rete - 30/53

Routing centralizzato

RCC (Routing Control Center) riceve info sullo stato della rete da ciascun nodo, calcola le tabelle e le distribuisce a tutti i nodoOttimizza prestazioni, ma in caso di guasto si possono generare loop dovuti a info parzialiCarico sulla rete elevato in prossimità di RCC

ROUTING ISOLATO

Ogni nodo instrada senza consultare altri nodi

16

Vittorio Maniezzo – Università di Bologna 10 – rete - 31/53

Cammini minimi• Routing statico basato sulla rappresentazione

della rete mediante grafo • Si può utilizzare Dijkstra per calcolare il cammino

minimo da ogni nodo a ogni altro nodo • Si estrae l'informazione del passo successivo dai

cammini calcolati • Si definiscono in accordo le tabelle di routing

Vittorio Maniezzo – Università di Bologna 10 – rete - 32/53

Routing su cammini minimiUn host di gestione della rete mantiene un grafo che rappresenta la sottorete:

– I nodi rappresentano i router– Gli archi rappresentano le linee punto-punto

All'avvio della rete (o quando ci sono variazioni della topologia) l'algoritmo:

– Applica al grafo un algoritmo per il calcolo del cammino minimo fra ogni coppia di nodi, ad esempio Dijkstra;

– Invia tali informazioni a tutti i routerMisure da minimizzare:

– Numero di hop, cioè di archi, da attraversare;– Lunghezza dei collegamenti;– Tempo medio di accodamento e trasmissione;– Una combinazione di lunghezza, banda trasmissiva,

traffico medio, o altro

17

Vittorio Maniezzo – Università di Bologna 10 – rete - 33/53

Dijkstra (1/2)#define MAX_NODES 1024 /* max num of nodes */#define INF 1OOOOOOOOOint n, dist[MAX_NODES][MAX_NODES];/* dist[i][j] is distance from i to j */ void shortest-path(int s,int t, int path[]){ struct state /* the path being worked on */

{ int predecessor; /* previous node */int length; /* length from source to this node */enum {permanent, tentative} label; /* label state */

} state[MAX_NODES]:int i,k,min,struct state *p;

for (p=&state[0]; p < &state[n]; p++) /* initialize state */{ p->predecessor=-1;

p->length = INF;p->label = tentative;

}state[t].length =0; state[t].label = permanent;k=t, /* k is the initial working node */

Vittorio Maniezzo – Università di Bologna 10 – rete - 34/53

Dijkstra (2/2)do /* is there a better path from k? */{ for(i=0;i<n; i++) /* this graph has n nodes */

if (dist[k][i] != O && state[i].label == tentative) if (state[k].length + dist[k][i] < state[i].length) { state[i].predecessor=k;

state[i].length = state[k].lengtlh + dist[k][i];}

/* Find the tentatively labeled node with the smallest label */k = 0; min = INF;for (i=0; i < n; i++)if (state[i].label == tentative && state[i].length< min) { min=state[i].length;

k=i;}state[k).label = permanent,

} while(k!=s),

/* Copy the path into the output array */i=O;k=s;do {path[i++] = k; k=state[k].predecessor;) while (k>=O);

}

18

Vittorio Maniezzo – Università di Bologna 10 – rete - 35/53

FloodingPacchetti ritrasmessi su tutte le porte tranne quella di provenienza

– Carichi bassi: strategia accettabile (o addirittura buona)

– Miglioramenti: time-to-live, packet drop al secondo passaggio (i nodi devono tenere un log del traffico)

Tecniche per limitare il traffico generato:

Inserire in ogni pacchetto un contatore che viene decrementato ad ogni hop. Se il contatore arriva a zero, il pacchetto viene scartato

Inserire la coppia (source router ID, sequence number) in ogni pacchetto. Ogni router esamina tali informazioni e ne tiene traccia, e se le vede per la seconda volta scarta il pacchetto

Vittorio Maniezzo – Università di Bologna 10 – rete - 36/53

Selective flooding

Pacchetti ritrasmessi su linee selezionate– Random Walk: viene scelta una porta a caso– Hot Potato: viene scelta la porta con la coda

più corta – Selective flooding: i pacchetti vengono

duplicati solo sulle linee che vanno all'incirca nella giusta direzione (tabelle)

19

Vittorio Maniezzo – Università di Bologna 10 – rete - 37/53

Routing basato sul flussoE' basato sull'idea di calcolare in anticipo il traffico atteso su ogni lineaDa questi calcoli derivare una stima del ritardo medio atteso per ciascuna lineaLe informazioni necessarie per poterlo applicare sano:

– La topologia della rete– La matrice delle quantità di traffico T(i,j) stimate Ira ogni coppia

(i,j) di router– Le capacita (in bps) delle linee point to point

Vengono fatte Ie assunzioni– II traffico e stabile nel tempo e nota in anticipo– Il ritardo è proporzionale al traffico: iI ritardo su ciascuna linea

aumenta all'aumentare del traffico sulla linea e diminuisce all'aumentare della velocità della linea secondo Ie leggi della teoria delle code

Ritardo medio della rete: somma pesata dei ritardi delle singole lineePeso della linea prop. al trafficopeso della linea = traffico sulla linea / traffico totale sulla rete.

Vittorio Maniezzo – Università di Bologna 10 – rete - 38/53

Routing basato sul flussoAlgoritmo di routing basato sui flusso• Si sceglie un algoritmo di routing• Sulla base di tale algoritmo si determinano i percorsi che

verranno seguiti per il collegamento fra ogni coppia di router

• Si calcola il traffico che incide su ogni linea (uguale alla somma di tutti i T(i,j) instradati su quella linea)

• Si calcola il ritardo di ogni linea• Si calcola il ritardo medio della rete• Si ripete il procedimento con vari algoritmi di routing,

scegliendo alla fine quello che minimizza il ritardo medio dell'intera rete

20

Vittorio Maniezzo – Università di Bologna 10 – rete - 39/53

Routing distribuitoTabelle calcolate da ogni router dialogando con gli altri router e con le stazioni

Algoritmi Vector - Distance

– Quando un nodo modifica le proprie tabelle (distance vector), ne invia una copia aggiornata ai nodi adiacenti, che la fondono conquelle provenienti dagli altri nodi, etc.

– Convergenza: O(Cn), ma O(n2) e O(n3) nel caso tipico

Algoritmi Link State

– Ogni router esprora il proprio intorno e informa gli altri, che si costruiscono una mappa completa della rete con l'algoritmo di Dijkstra (Shortest Path First)

– Complessità: E∗log N (E=numero link, N=numero nodi)

– Esegue in 150 ms su CPU a 1 MIPS con 600 nodi e 300 link

– Base del protocollo OSPF, abbastanza usato per TCP/IP

Vittorio Maniezzo – Università di Bologna 10 – rete - 40/53

Definizione dinamica dei cammini

La topologia della rete può cambiare dinamicamente

– nuovi router aggiunti – connessioni che saltano – i costi delle connessioni possono cambiare

I router devono poter aggiornare le tabelle di routing considerando le variazioni topologiche

21

Vittorio Maniezzo – Università di Bologna 10 – rete - 41/53

Calcolo distribuito dei cammini• Si scambia fra nodi l'informazione sulla

topologia della rete

• Si aggiorna periodicamente l'informazione

• Ogni nodo ricalcola il cammino minimo e i passi successivi

• Si modificano in accordo le tabelle di routing

Vittorio Maniezzo – Università di Bologna 10 – rete - 42/53

Algoritmo vector-distanceL'informazione locale é la tabella di routing e la distanza da ogni router

I router inviano periodicamente in broadcastl'informazione sulla topologia locale

Gli altri router aggiornano la tabella di routing sulla base delle informazioni ricevute

22

Vittorio Maniezzo – Università di Bologna 10 – rete - 43/53

Algoritmo vector-distanceIn ogni router mantiene una tabella (vector) con, per ogni router:

– La distanza (numero di hop, ritardo, ecc.) che lo separa dal router in oggetto

– La linea in uscita da usare per arrivarciPer i suoi vicini immediati il router stima direttamente la distanza dei collegamenti corrispondenti, mandando speciali pacchetti ECHO e misurando quanto tempo ci mette la risposta a tornareA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini

Vittorio Maniezzo – Università di Bologna 10 – rete - 44/53

Algoritmo vector-distanceAlgoritmo: Aspetta il prossimo messaggio di

aggiornamentoPer ogni elemento del messaggio ripeti

se l'elemento ha un cammino più corto verso la destinazione

inserisci la sorgente come passo successivo verso la destinazioneMemorizza la distanza dal nodo successivo alla destinazione più la distanza dal router al nodo successivo

23

Vittorio Maniezzo – Università di Bologna 10 – rete - 45/53

Algoritmo vector-distanceQuando un router riceve nuove informazioni, calcola una nuova tabella scegliendo, tra tutte, la concatenazione migliore tra

– distanza tra il router stesso ad un suo vicino immediato (viene dalla misurazione diretta)

– distanza tra quel vicino immediato ad il router remoto di destinazione (viene dalla tabella ricevuta dal vicino immediato)

Algoritmo buono ma molto lento nell'adattamento (topologia non nota) Algoritmo di routing di ARPANETUsato anche in Internet col nome di RIP (Routing Internet Protocol)

Vittorio Maniezzo – Università di Bologna 10 – rete - 46/53

Link-state routingOgni nodo mantiene informazioni sullo stato dei collegamenti con i vicini immediati (misurando il ritardo di ogni linea) e distribuisce tali informazioni a tuttiSulla base di tali informazioni, ogni nodo ricostruisce la topologia completa della rete e calcola il cammino minimo fra se e tutti gli altriI passi da seguire sano:

– Scoprire i vicini e identificarli– Misurare il costo (ritardo o altro) delle relative linee– Costruire un pacchetto con tali informazioni e mandarlo a tutti gli

altri router– A seguito della ricezione degli analoghi pacchetti dagli altri router,

ricostruire la topologia dell'intera rete– Calcolare il cammino più breve a tutti gli altri router

24

Vittorio Maniezzo – Università di Bologna 10 – rete - 47/53

Link-state routingSi costruisce un pacchetto con:

– Identità del mittente

– Numero di sequenza del pacchetto

– Età del pacchetto

– Lista dei vicini con i relativi ritardi

La costruzione e l'invio dei pacchetti si verifica a intervalli regolari o quando accade un evento significativo

Il link state routing è molto usato in Internet: OSPF (Open Shortest Path First) è basato su questo principio ed èl'algoritmo più utilizzato

Vittorio Maniezzo – Università di Bologna 10 – rete - 48/53

Routing gerarchicoLa rete viene divisa in zone (regioni):All'interno di una regione ogni router (detti router interni) applica un algoritmo di routing verso tutti gli altri router della regione Quando un router interno deve spedire un pacchetto a un router di un'altra regione lo invia ad un particolare router della propria regione, detto router di confine.Il router di confine conosce gli altri router di confine e conosce a quale inviare il pacchetto perché arrivi alla regione di destinazione Due livelli di routing:

– un primo livello di routing all'interno di ogni regione– un secondo livello di routing fra tutti i router di confine

25

Vittorio Maniezzo – Università di Bologna 10 – rete - 49/53

Routing gerarchicoI router interni mantengono delle loro tabelle di routing

– Una riga per ogni altro router interno (linea) – Una riga per ogni altra regione (router di

confine)I router di confine mantengono una riga per ogni altra regione, con l'indicazione del prossimo router di confine da contattare e della linea da usare per raggiungerlo

Vittorio Maniezzo – Università di Bologna 10 – rete - 50/53

Routing gerarchico

26

Vittorio Maniezzo – Università di Bologna 10 – rete - 51/53

CongestioniSe l'input a un qualche collegamento della rete eccede la sua capacità, i pacchetti verranno accodati sulla connessione di quel link

Prima o poi i pacchetti verranno scartati e quindi ritrasmessi, peggiorando la situazioneLa rete si avvia ad un collassoIl problema é simile (non uguale) al data overrun

Vittorio Maniezzo – Università di Bologna 10 – rete - 52/53

Controllo della congestioneLa congestione in un router pub derivare da diversi fattori• Buffer a capacita limitata nel router• Processore troppo lento nel router• Linea di trasmissione troppo lenta, che causa

congestione della coda nel router di partenza

27

Vittorio Maniezzo – Università di Bologna 10 – rete - 53/53

Controllo della congestioneIl controllo della congestione è un problema globale di tutta la rete, edè diverso dal problema del controllo di flussoDue approcci al problema della congestione

– Open loop (senza retroazione): cerca di prevenire la congestione, ma se si verifica non effettua azioni correttive

– Closed loop (con retroazione): cerca di evitare la congestione, controllando lo stato della rete e intraprendendo le azioni opportune quando necessario