Upload
crocifissa-giusti
View
225
Download
2
Embed Size (px)
Citation preview
1Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III. LE FUNZIONI DEI SERVIZI DI RETEII parte
III. LE FUNZIONI DEI SERVIZI DI RETEII parte
2Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
INDICEINDICE
• III.4 Indirizzamento• III.5 Instradamento• III.6 Controllo della QoS
• III.4 Indirizzamento• III.5 Instradamento• III.6 Controllo della QoS
III.4 Indirizzamento III.4 Indirizzamento
Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
4Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
ContenutiContenuti
III.4.1 Il problema dell’indirizzamentoIII.4.2 Indirizzamento in InternetIII.4.3 Maschera di indirizzoIII.4.4 Indirizzamento con classiIII.4.5 Subnetting e SupernettingIII.4.6 Indirizzamento senza classiIII.4.7 Gli indirizzi IP in una Routing TableIII.4.8 Risoluzione di indirizzi in InternetIII.4.9 Assegnazione di un indirizzo IP
III.4.1 Il problema dell’indirizzamentoIII.4.2 Indirizzamento in InternetIII.4.3 Maschera di indirizzoIII.4.4 Indirizzamento con classiIII.4.5 Subnetting e SupernettingIII.4.6 Indirizzamento senza classiIII.4.7 Gli indirizzi IP in una Routing TableIII.4.8 Risoluzione di indirizzi in InternetIII.4.9 Assegnazione di un indirizzo IP
5Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.4 INDIRIZZAMENTOIII.4 INDIRIZZAMENTO
III.4.1 Il problema dell’indirizzamento
III.4.1 Il problema dell’indirizzamento
6Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Modi di indirizzamento (1/3)Modi di indirizzamento (1/3)
• L’indirizzo di un utente identifica in modo univoco quest’ultimo nell’ambito di una rete di telecomu-nicazione.
• La modalità con cui sono definiti ed assegnati gli indirizzi (piano di numerazione) ha significative conseguenze sulla funzione di instradamento, e cioè la funzione il cui scopo è guidare l’informazione di utente verso la destinazione voluta.
• L’indirizzo di un utente identifica in modo univoco quest’ultimo nell’ambito di una rete di telecomu-nicazione.
• La modalità con cui sono definiti ed assegnati gli indirizzi (piano di numerazione) ha significative conseguenze sulla funzione di instradamento, e cioè la funzione il cui scopo è guidare l’informazione di utente verso la destinazione voluta.
7Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Modi di indirizzamento (2/3)Modi di indirizzamento (2/3)
• Si possono distinguere tre modalità di indirizzamento:– nella prima l’indirizzo è stabilmente legato ad un
luogo fisico e il piano di indirizzamento è definito in modo tale che l’indirizzo, oltre a identificare un utente, dia anche informazioni su dove lo stesso si trovi.
• Si possono distinguere tre modalità di indirizzamento:– nella prima l’indirizzo è stabilmente legato ad un
luogo fisico e il piano di indirizzamento è definito in modo tale che l’indirizzo, oltre a identificare un utente, dia anche informazioni su dove lo stesso si trovi.
8Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Modi di indirizzamento (3/3)Modi di indirizzamento (3/3)
– nella seconda l’indirizzo di per se stesso non consente di dedurre in modo immediato la localizzazione dell’utente, anche se esiste una corrispondenza stabile tra l’utente e il luogo ove esso si trova;
– nella terza non esiste una corrispondenza stabile tra indirizzo e luogo fisico in cui l’utente si trova in un dato momento.
– nella seconda l’indirizzo di per se stesso non consente di dedurre in modo immediato la localizzazione dell’utente, anche se esiste una corrispondenza stabile tra l’utente e il luogo ove esso si trova;
– nella terza non esiste una corrispondenza stabile tra indirizzo e luogo fisico in cui l’utente si trova in un dato momento.
9Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento e indirizzamento (1/4)Instradamento e indirizzamento (1/4)
• Nella prima modalità, si dispone di quanto necessario per scegliere la strada verso l’utente destinatario.
• Nella seconda modalità, l’algoritmo di instradamento deve prima stabilire dove l’utente destinatario si trova stabilmente e quindi scegliere una strada per raggiun-gerlo.
• Nella terza modalità, bisogna prima stabilire dove l’utente destinatario si trova in un dato momento e quindi scegliere una strada per raggiungerlo.
• Nella prima modalità, si dispone di quanto necessario per scegliere la strada verso l’utente destinatario.
• Nella seconda modalità, l’algoritmo di instradamento deve prima stabilire dove l’utente destinatario si trova stabilmente e quindi scegliere una strada per raggiun-gerlo.
• Nella terza modalità, bisogna prima stabilire dove l’utente destinatario si trova in un dato momento e quindi scegliere una strada per raggiungerlo.
10Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento e indirizzamento (2/4)Instradamento e indirizzamento (2/4)
• Nei classici paradigmi di comunicazione si aveva la tendenza ad identificare un terminale fisso con l’utente che ne fa abitualmente uso;
• in queste condizioni l’indirizzo si riferisce al terminale, ma anche, per estensione, all’utente.
• Nei classici paradigmi di comunicazione si aveva la tendenza ad identificare un terminale fisso con l’utente che ne fa abitualmente uso;
• in queste condizioni l’indirizzo si riferisce al terminale, ma anche, per estensione, all’utente.
11Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento e indirizzamento (3/4)Instradamento e indirizzamento (3/4)
• Il requisito di mobilità ha portato a modificare questa tendenza, introducendo due nuovi obiettivi:
– la mobilità del terminale, e cioè la possibilità di accedere ad un servizio da parte di un utente in movimento e per mezzo di un terminale altrettanto in movimento;
– la mobilità della persona, e cioè la possibilità di accedere a un servizio da parte di un utente che si sposta e per mezzo di terminali fissi.
• Il requisito di mobilità ha portato a modificare questa tendenza, introducendo due nuovi obiettivi:
– la mobilità del terminale, e cioè la possibilità di accedere ad un servizio da parte di un utente in movimento e per mezzo di un terminale altrettanto in movimento;
– la mobilità della persona, e cioè la possibilità di accedere a un servizio da parte di un utente che si sposta e per mezzo di terminali fissi.
12Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento e indirizzamento (4/4)Instradamento e indirizzamento (4/4)
• Nel caso di mobilità del terminale, l’indirizzo è legato ad un terminale fisico; quest’ultimo può spostarsi da un luogo ad un altro ma permane un’associazione tra terminale ed utente, ovvero l’indirizzo è legato ad uno specifico terminale.
• Nel caso di mobilità della persona, l’indirizzo è legato all’utente che può quindi registrarsi su diversi terminali, ovvero usare diversi terminali mantenendo la propria identità.
• Nel caso di mobilità del terminale, l’indirizzo è legato ad un terminale fisico; quest’ultimo può spostarsi da un luogo ad un altro ma permane un’associazione tra terminale ed utente, ovvero l’indirizzo è legato ad uno specifico terminale.
• Nel caso di mobilità della persona, l’indirizzo è legato all’utente che può quindi registrarsi su diversi terminali, ovvero usare diversi terminali mantenendo la propria identità.
13Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.4.2 Indirizzamento in Internet
III.4.2 Indirizzamento in Internet
III.4 INDIRIZZAMENTOIII.4 INDIRIZZAMENTO
14Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Indirizzamenti locale e globale (1/2)Indirizzamenti locale e globale (1/2)
• Ognuna delle sotto-reti di Internet ha un suo proprio, diverso e quindi non univoco (a livello globale), schema di indirizzamento (indirizzi Ethernet, indirizzi X.25, numeri telefonici etc.), (indirizzamento locale), che ha significatività solo nell’ambito della sotto-rete;
• Ognuna delle sotto-reti di Internet ha un suo proprio, diverso e quindi non univoco (a livello globale), schema di indirizzamento (indirizzi Ethernet, indirizzi X.25, numeri telefonici etc.), (indirizzamento locale), che ha significatività solo nell’ambito della sotto-rete;
15Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Indirizzamenti locale e globale (2/2)Indirizzamenti locale e globale (2/2)
• al fine di consentire ad ogni host di comunicare con ogni altro host nell’ambiente Internet è necessario sovrapporre all’ indirizzamento locale un nuovo schema (indirizzamento globale o IP), che sia in grado di indirizzare, in modo univoco e universale, tutti gli host connessi a Internet.
• al fine di consentire ad ogni host di comunicare con ogni altro host nell’ambiente Internet è necessario sovrapporre all’ indirizzamento locale un nuovo schema (indirizzamento globale o IP), che sia in grado di indirizzare, in modo univoco e universale, tutti gli host connessi a Internet.
16Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Indirizzamento IP (1/2)Indirizzamento IP (1/2)
• Un indirizzo IP identifica un host e non uno specifico processo applicativo;
• l’identificazione di un utente all’interno di un host è affidata ai protocolli di strato superiore (TCP o UDP);
• la specificazione di un indirizzo (di origine o di destinazione) in IPv4 è effettuata con parole di 32 bit (4 byte), mentre in IPv6 tale parola è di 128 bit (16 byte).
• Un indirizzo IP identifica un host e non uno specifico processo applicativo;
• l’identificazione di un utente all’interno di un host è affidata ai protocolli di strato superiore (TCP o UDP);
• la specificazione di un indirizzo (di origine o di destinazione) in IPv4 è effettuata con parole di 32 bit (4 byte), mentre in IPv6 tale parola è di 128 bit (16 byte).
17Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Indirizzamento IP (2/2)Indirizzamento IP (2/2)
• Un indirizzo IP di un dispositivo (host o router) in Internet – individua l’interfaccia tramite la quale il dispositivo si
connette a una specifica rete;– non rappresenta quindi il nome del dispositivo e si
limita piuttosto a definirne il modo di connessione a Internet;
– è caratterizzato da una struttura gerarchica, per facilitare l’operazione di instradamento.
• Un indirizzo IP di un dispositivo (host o router) in Internet – individua l’interfaccia tramite la quale il dispositivo si
connette a una specifica rete;– non rappresenta quindi il nome del dispositivo e si
limita piuttosto a definirne il modo di connessione a Internet;
– è caratterizzato da una struttura gerarchica, per facilitare l’operazione di instradamento.
18Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Prefisso e suffisso (1/5)Prefisso e suffisso (1/5)
• La gerarchizzazione di un indirizzo IP di un host/router si manifesta con la suddivisione della sequenza che lo specifica in due parti:
– una prima parte identifica la rete a cui un host/router è interfacciato e si chiama net-id;
– una seconda parte identifica l’interfaccia dell’ host/router verso la rete specificata nella prima parte e si chiama host-id.
• La gerarchizzazione di un indirizzo IP di un host/router si manifesta con la suddivisione della sequenza che lo specifica in due parti:
– una prima parte identifica la rete a cui un host/router è interfacciato e si chiama net-id;
– una seconda parte identifica l’interfaccia dell’ host/router verso la rete specificata nella prima parte e si chiama host-id.
19Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Prefisso e suffisso (2/5)Prefisso e suffisso (2/5)
• la sequenza di bit che identifica la rete è anche chiamata prefisso, mentre quella che identifica l’interfaccia è detta suffisso;
• la separazione tra prefisso e suffisso non è fissa.
• la sequenza di bit che identifica la rete è anche chiamata prefisso, mentre quella che identifica l’interfaccia è detta suffisso;
• la separazione tra prefisso e suffisso non è fissa.
20Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Prefisso e suffisso (3/5) Prefisso e suffisso (3/5)
• Un indirizzo IP consta quindi delle due parti:
Net_Id e Host_Id
e può essere scritto come:
IP_Address=Net_Id.Host_Id
• Un indirizzo IP consta quindi delle due parti:
Net_Id e Host_Id
e può essere scritto come:
IP_Address=Net_Id.Host_Id
21Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Prefisso e suffisso (4/5) Prefisso e suffisso (4/5)
• Un indirizzo IP identifica quindi prima la “rete” a cui un host è connesso e poi lo specifico host all’interno di quella “rete”;
• la “rete” di cui si parla ha significatività nell’ambito dello schema di indirizzamento; non deve essere confusa con la sotto-rete a cui è connesso l’host.
• Un indirizzo IP identifica quindi prima la “rete” a cui un host è connesso e poi lo specifico host all’interno di quella “rete”;
• la “rete” di cui si parla ha significatività nell’ambito dello schema di indirizzamento; non deve essere confusa con la sotto-rete a cui è connesso l’host.
22Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
• Un host/router ha tanti indirizzi IP quante sono le reti a cui è connesso;
• un host connesso a più reti (multi-homed) ha un numero di indirizzi IP, che è uguale al numero di reti a cui è connesso;
• un router, per assolvere al suo compito, deve necessariamente essere collegato a più reti: deve quindi avere necessariamente più indirizzi IP, uno per ogni interfaccia.
• Un host/router ha tanti indirizzi IP quante sono le reti a cui è connesso;
• un host connesso a più reti (multi-homed) ha un numero di indirizzi IP, che è uguale al numero di reti a cui è connesso;
• un router, per assolvere al suo compito, deve necessariamente essere collegato a più reti: deve quindi avere necessariamente più indirizzi IP, uno per ogni interfaccia.
Prefisso e suffisso (5/5)Prefisso e suffisso (5/5)
23Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Notazioni di indirizzo (1/4) Notazioni di indirizzo (1/4)
• In IPv4, un indirizzo IP, oltre a essere espresso in forma binaria, può anche essere rappresentato con due ulteriori notazioni:
– la decimale puntata (dotted);– la mnemonica (name).
• In IPv4, un indirizzo IP, oltre a essere espresso in forma binaria, può anche essere rappresentato con due ulteriori notazioni:
– la decimale puntata (dotted);– la mnemonica (name).
24Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Notazioni di indirizzo (2/4)Notazioni di indirizzo (2/4)
• In IPv4, la notazione decimale puntata è ottenuta da quella binaria dividendo quest’ultima in 4 byte e traducendo ogni byte in un numero in base 10;
• a ogni byte corrisponde quindi un numero decimale che è compreso tra 0 (byte costituito da una sequenza di tutti 0) e 255 (byte costituito da una sequenza di tutti 1);
• la traduzione da una forma numerica all’altra è quindi effettuabile con un semplice algoritmo;
• In IPv4, la notazione decimale puntata è ottenuta da quella binaria dividendo quest’ultima in 4 byte e traducendo ogni byte in un numero in base 10;
• a ogni byte corrisponde quindi un numero decimale che è compreso tra 0 (byte costituito da una sequenza di tutti 0) e 255 (byte costituito da una sequenza di tutti 1);
• la traduzione da una forma numerica all’altra è quindi effettuabile con un semplice algoritmo;
25Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Notazioni di indirizzo (3/4)Notazioni di indirizzo (3/4)
• La traduzione da un indirizzo numerico (binario o decimale puntato) a uno mnemonico e viceversa è attuato mediante il processo applicativo DNS (Domain Name System).
• La traduzione da un indirizzo numerico (binario o decimale puntato) a uno mnemonico e viceversa è attuato mediante il processo applicativo DNS (Domain Name System).
26Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Notazioni di indirizzo (4/4) Notazioni di indirizzo (4/4)
• Un esempio delle tre notazioni è il seguente:• Un esempio delle tre notazioni è il seguente:
10010111 01100100 00001000 00010010
151. 100. 8. 18
infocom.uniroma1.it
Notazione binaria
Notazione decimale puntata
Notazione mnemonica
27Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Tipi di indirizzi (1/2)Tipi di indirizzi (1/2)
• Indirizzo Unicast– è utilizzato nelle comunicazioni punto-punto;– ogni dispositivo in Internet deve avere almeno un
indirizzo Unicast;• Indirizzo Multicast
– è utilizzato nelle comunicazioni punto-multipunto, e cioè da un mittente a un gruppo di destinatari;
• Indirizzo Unicast– è utilizzato nelle comunicazioni punto-punto;– ogni dispositivo in Internet deve avere almeno un
indirizzo Unicast;• Indirizzo Multicast
– è utilizzato nelle comunicazioni punto-multipunto, e cioè da un mittente a un gruppo di destinatari;
28Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Tipi di indirizzi (2/2)Tipi di indirizzi (2/2)
• Indirizzo Broadcast– è utilizzato nelle comunicazioni diffusive (da uno a
tutti), permesse solo a livello locale;– si distinguono
» Broadcast diretto, impiegato in un inoltro a tutti gli host di una rete specifica;
» Broadcast limitato, impiegato verso tutti gli host della rete a cui appartiene il mittente.
• Indirizzo Broadcast– è utilizzato nelle comunicazioni diffusive (da uno a
tutti), permesse solo a livello locale;– si distinguono
» Broadcast diretto, impiegato in un inoltro a tutti gli host di una rete specifica;
» Broadcast limitato, impiegato verso tutti gli host della rete a cui appartiene il mittente.
29Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Indirizzi speciali (1/4)Indirizzi speciali (1/4)
• Un indirizzo IP che abbia il suffisso identicamente uguale a 0 è un indirizzo di rete;
• un indirizzo IP per il broadcasting diretto ha il suffisso costituito da una sequenza di 1;
• l’indirizzo IP per il broadcasting limitato è costituito da una sequenza di tutti 1;
• Un indirizzo IP che abbia il suffisso identicamente uguale a 0 è un indirizzo di rete;
• un indirizzo IP per il broadcasting diretto ha il suffisso costituito da una sequenza di 1;
• l’indirizzo IP per il broadcasting limitato è costituito da una sequenza di tutti 1;
30Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Indirizzi speciali (2/4)Indirizzi speciali (2/4)
• all’avvio di un host (bootstrap) che non conosce il proprio indirizzo si utilizza, come indirizzo del mittente, una sequenza di tutti 0;
• l’indirizzo del destinatario utilizzato da un mittente che voglia indirizzare un altro host sulla stessa rete ha il prefisso identicamente uguale a 0;
• un indirizzo IP del destinatario, che ha il primo byte uguale a 127 (in notazione decimale puntata), è di loopback per un dispositivo, che lo utilizza per eseguire un test sul proprio software.
• all’avvio di un host (bootstrap) che non conosce il proprio indirizzo si utilizza, come indirizzo del mittente, una sequenza di tutti 0;
• l’indirizzo del destinatario utilizzato da un mittente che voglia indirizzare un altro host sulla stessa rete ha il prefisso identicamente uguale a 0;
• un indirizzo IP del destinatario, che ha il primo byte uguale a 127 (in notazione decimale puntata), è di loopback per un dispositivo, che lo utilizza per eseguire un test sul proprio software.
31Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Indirizzi speciali (3/4)Indirizzi speciali (3/4)
ProvaDestinatarioQualsiasi 127Loopback
Usato in Unicast locale
DestinatarioSpecificoTutti 0Host specifico su questa rete
Usato durante l’avvio
MittenteTutti 0 Tutti 0Questo host su questa rete
Broadcasting sulla rete del mittente
DestinatarioTutti 1Tutti 1
Broadcasting su una rete specifica
DestinatarioTutti 1Specifico
Significato dell’indirizzo
Prefisso Suffisso Mittente o destinatario
Scopo
Una rete Specifico Tutti 0 Nessuno Identificauna rete
Broadcasting diretto
Broadcasting limitato
32Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Indirizzi speciali (4/4) Indirizzi speciali (4/4)
• Per effetto delle scelte effettuate sugli indirizzi speciali, non è possibile assegnare ad un indirizzo IP un suffisso costituito da tutti 1 o da tutti 0.
• Infatti, in entrambi i casi, si tratta di sequenze utilizzate in indirizzi speciali
– la sequenza di tutti 1 è il suffisso per indicare un broadcast diretto o limitato;
– la sequenza di tutti 0 indica una rete specificata dal prefisso.
• Per effetto delle scelte effettuate sugli indirizzi speciali, non è possibile assegnare ad un indirizzo IP un suffisso costituito da tutti 1 o da tutti 0.
• Infatti, in entrambi i casi, si tratta di sequenze utilizzate in indirizzi speciali
– la sequenza di tutti 1 è il suffisso per indicare un broadcast diretto o limitato;
– la sequenza di tutti 0 indica una rete specificata dal prefisso.
33Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.4.3 Maschera di indirizzo
III.4.3 Maschera di indirizzo
III.4 INDIRIZZAMENTOIII.4 INDIRIZZAMENTO
34Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Struttura della maschera Struttura della maschera
• In generale il prefisso di un indirizzo IP è identificabile accompagnando l’indirizzo con la sua maschera.
• La maschera di un indirizzo IPv4 è un numero binario di 32 bit che fa corrispondere
– il prefisso dell’indirizzo con una sequenza di tutti 1;– il suffisso dell’indirizzo con una sequenza di tutti 0.
• In generale il prefisso di un indirizzo IP è identificabile accompagnando l’indirizzo con la sua maschera.
• La maschera di un indirizzo IPv4 è un numero binario di 32 bit che fa corrispondere
– il prefisso dell’indirizzo con una sequenza di tutti 1;– il suffisso dell’indirizzo con una sequenza di tutti 0.
35Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Espressione della maschera Espressione della maschera
• Una maschera può essere espressa, oltre che in forma binaria, anche
– nella notazione decimale puntata, che fa corrispondere ad ogni byte della maschera un numero decimale che è compreso tra 0 e 255;
– con l’aggiunta di uno slash seguito dal numero decimale di cifre binarie che compongono il prefisso.
• Una maschera può essere espressa, oltre che in forma binaria, anche
– nella notazione decimale puntata, che fa corrispondere ad ogni byte della maschera un numero decimale che è compreso tra 0 e 255;
– con l’aggiunta di uno slash seguito dal numero decimale di cifre binarie che compongono il prefisso.
36Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Utilizzazione della maschera Utilizzazione della maschera
• Se si effettua l’operazione di AND logico su un indirizzo A e sulla sua maschera M, il risultato dell’operazione è il prefisso di A.
• Infatti, in base alla definizione di maschera di un indirizzo IP,
– se il bit nella maschera M è 1, l’operazione non modifica il corrispondente bit in A;
– se il bit nella maschera M è 0, il risultato dell’operazione è 0 indipendentemente da quale sia il bit corrispondente in A.
• Se si effettua l’operazione di AND logico su un indirizzo A e sulla sua maschera M, il risultato dell’operazione è il prefisso di A.
• Infatti, in base alla definizione di maschera di un indirizzo IP,
– se il bit nella maschera M è 1, l’operazione non modifica il corrispondente bit in A;
– se il bit nella maschera M è 0, il risultato dell’operazione è 0 indipendentemente da quale sia il bit corrispondente in A.
37Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.4.4 Indirizzamento in classi
III.4.4 Indirizzamento in classi
III.4 INDIRIZZAMENTOIII.4 INDIRIZZAMENTO
38Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Le classi di indirizzamento (1/6) Le classi di indirizzamento (1/6)
• All’origine di IPv4 (1981), l’indirizzamento IP è stato basato su una organizzazione in classi (classful);
• sono state previste 5 diverse classi di indirizzo– le classi A, B e C includono indirizzi Unicast e
differiscono per il numero di host che possono essere connessi alla rete;
– la classe D è dedicata a indirizzi Multicast;– la classe E è riservata a scopi speciali
(sperimentazione, ecc.).
• All’origine di IPv4 (1981), l’indirizzamento IP è stato basato su una organizzazione in classi (classful);
• sono state previste 5 diverse classi di indirizzo– le classi A, B e C includono indirizzi Unicast e
differiscono per il numero di host che possono essere connessi alla rete;
– la classe D è dedicata a indirizzi Multicast;– la classe E è riservata a scopi speciali
(sperimentazione, ecc.).
39Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
• La classe a cui appartiene un net_id si determina esaminando il primo byte dell’indirizzo
• La classe a cui appartiene un net_id si determina esaminando il primo byte dell’indirizzo
Primi bit delprimo byte
Classe
0
1 0
1 1 0
1 1 1 0
1 1 1 1
A
B
C
D
E
Le classi di indirizzamento (2/6)Le classi di indirizzamento (2/6)
40Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Classe A
Classe B
Classe C
Classe D
Classe E 1 1 1 1 0
Host_Id
Host_Id
1 1 1 0
1 1 0
1 0
0 Host_Id
8 16 24 310
1 1 1 0
Net_id
Net_Id
Indirizzo Multicast
Riservata
Net_Id
Le classi di indirizzamento (3/6)Le classi di indirizzamento (3/6)
41Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Le classi di indirizzamento (4/6) Le classi di indirizzamento (4/6)
Classe BitIniziali
Net_Id Host_Id “reti”disponibili
hostdisponibili
A 0 7 bit 24 bit 128 16.777.216
B 10 14 bit 16 bit 16.384 65.536
C 110 21 bit 8 bit 2.097.152 256
D 1110indirizzo multicast, 28 bit
numero di indirizzi possibili: 268.435.456
E 11110riservata per usi futuri e ricerca, 27 bit
numero di indirizzi possibili: 134.217.728
42Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Le classi di indirizzamento (5/6)Le classi di indirizzamento (5/6)
0
Min MaxClasse
A
B
C
D
E
127
128
192
224
240
191
223
239
247
Numero decimale corrispondente al primo byte
43Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Le classi di indirizzamento (6/6)Le classi di indirizzamento (6/6)
• A titolo di esempio, le maschere degli indirizzi IPv4 appartenenti alle classi A, B e C sono le seguenti
» Classe A 255.0.0.0 oppure /8» Classe B 255.255.0.0 oppure /16» Classe C 255.255.255.0 oppure /24
• Ciascuna di tali maschere non è però necessaria per identificare il prefisso del numero a cui viene associata, dato che il prefisso è determinabile con le cifre binarie più significative del primo byte.
• A titolo di esempio, le maschere degli indirizzi IPv4 appartenenti alle classi A, B e C sono le seguenti
» Classe A 255.0.0.0 oppure /8» Classe B 255.255.0.0 oppure /16» Classe C 255.255.255.0 oppure /24
• Ciascuna di tali maschere non è però necessaria per identificare il prefisso del numero a cui viene associata, dato che il prefisso è determinabile con le cifre binarie più significative del primo byte.
44Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.4.5 Subnetting e Supernetting
III.4.5 Subnetting e Supernetting
III.4 INDIRIZZAMENTO III.4 INDIRIZZAMENTO
45Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Limiti dell’indirizzamento con classi (1/4)Limiti dell’indirizzamento con classi (1/4)
• L’ indirizzamento con classi si è dimostrato presto insufficiente per soddisfare la crescente domanda di assegnazione di nuovi indirizzi che derivava dalla rapida crescita degli utenti di Internet.
• La domanda si articolava su tre aspettiA. soddisfacimento delle esigenze interne di ogni
Organizzazione accedente ad Internet, con spe-cifico riferimento ad una più elevata efficienza nell’utilizzazione dell’arco di indirizzi assegnato all’Organizzazione;
• L’ indirizzamento con classi si è dimostrato presto insufficiente per soddisfare la crescente domanda di assegnazione di nuovi indirizzi che derivava dalla rapida crescita degli utenti di Internet.
• La domanda si articolava su tre aspettiA. soddisfacimento delle esigenze interne di ogni
Organizzazione accedente ad Internet, con spe-cifico riferimento ad una più elevata efficienza nell’utilizzazione dell’arco di indirizzi assegnato all’Organizzazione;
46Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Limiti dell’indirizzamento con classi (2/4)Limiti dell’indirizzamento con classi (2/4)
B. conseguimento di una più elevata flessibilità nei meccanismi di assegnazione degli indirizzi al livello dell’intera Internet;
C. allargamento dello spazio di indirizzamento rispetto a quello reso disponibile dal protocollo IPv4.
B. conseguimento di una più elevata flessibilità nei meccanismi di assegnazione degli indirizzi al livello dell’intera Internet;
C. allargamento dello spazio di indirizzamento rispetto a quello reso disponibile dal protocollo IPv4.
47Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Limiti dell’indirizzamento con classi (3/4)Limiti dell’indirizzamento con classi (3/4)
• Per il superamento di questi limiti – come risposta all’esigenze di cui al precedente
punto A), si è deciso di aggiungere, ad una gerarchia di indirizzi IP a due livelli e come ulteriori livelli gerarchici
• dapprima (1984) il livello di Sotto-rete, • poi (1993) il livello di Super-rete,
livelli attuabili con operazioni di Subnetting e Supernetting, rispettivamente;
• Per il superamento di questi limiti – come risposta all’esigenze di cui al precedente
punto A), si è deciso di aggiungere, ad una gerarchia di indirizzi IP a due livelli e come ulteriori livelli gerarchici
• dapprima (1984) il livello di Sotto-rete, • poi (1993) il livello di Super-rete,
livelli attuabili con operazioni di Subnetting e Supernetting, rispettivamente;
48Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Limiti dell’indirizzamento con classi (4/4)Limiti dell’indirizzamento con classi (4/4)
– come risposta alla domanda di cui B), si è passati ad un indirizzamento senza classi (classless);
– come risposta al punto C), è stato definito un nuovo protocollo di rete, IPv6, avente indirizzi rappresentati da parole binarie di lunghezza 120 bit, e cioè quattro volte maggiore di quella impiegata in IPv4; IPv6 non ha però ancora sostituito IPv4.
• Nel seguito ci occupiamo dei due primi provvedimenti.
– come risposta alla domanda di cui B), si è passati ad un indirizzamento senza classi (classless);
– come risposta al punto C), è stato definito un nuovo protocollo di rete, IPv6, avente indirizzi rappresentati da parole binarie di lunghezza 120 bit, e cioè quattro volte maggiore di quella impiegata in IPv4; IPv6 non ha però ancora sostituito IPv4.
• Nel seguito ci occupiamo dei due primi provvedimenti.
49Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Subnetting (1/4)Subnetting (1/4)
• Una rete con assegnato indirizzamento IP delle classi A, B e C viene suddivisa in sotto-reti più piccole;
• per questo scopo si utilizzano alcuni bit del suffisso (Hostid) per codificare un Subnet_id.
• L’indirizzo IP che ne risulta può coesistere con un indirizzamento con classi, ma, per precisare il nuovo prefisso (costituito dall’unione di Net_id e Subnet_id), deve essere accompagnato dalla sua maschera.
• Una rete con assegnato indirizzamento IP delle classi A, B e C viene suddivisa in sotto-reti più piccole;
• per questo scopo si utilizzano alcuni bit del suffisso (Hostid) per codificare un Subnet_id.
• L’indirizzo IP che ne risulta può coesistere con un indirizzamento con classi, ma, per precisare il nuovo prefisso (costituito dall’unione di Net_id e Subnet_id), deve essere accompagnato dalla sua maschera.
VI. INDIRIZZAMENTO E INSTRADAMENTOVI.4 Indirizzamento senza classi
Net_Id Subnet_Id Host_Id
50Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Subnetting (2/4)Subnetting (2/4)
• La maschera di un indirizzo IP risultante da un indirizzo appartenente ad una classe si ottiene facendo riferimento alla maschera di quest’ultimo, che è normalmente chiamata maschera naturale.
• La maschera del nuovo numero (maschera di sotto-rete) è ottenuta ponendo uguali a 1 una o più cifre binarie che nella maschera naturale sono le più significative del suffisso.
• La maschera di un indirizzo IP risultante da un indirizzo appartenente ad una classe si ottiene facendo riferimento alla maschera di quest’ultimo, che è normalmente chiamata maschera naturale.
• La maschera del nuovo numero (maschera di sotto-rete) è ottenuta ponendo uguali a 1 una o più cifre binarie che nella maschera naturale sono le più significative del suffisso.
51Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Subnetting (3/4)Subnetting (3/4)
• Da un indirizzo di classe B• Da un indirizzo di classe B
Senza sotto-reti
Con sotto-reti
Accesso alla rete Accesso all’host
Accesso alla sotto- rete Accesso all’host
Net_id Host_id
Net_id Sub - Net_id Host_id
141 • 14
141 • 14
2 • 21
2 21
•
• •
VI. INDIRIZZAMENTO E INSTRADAMENTOVI.4 Indirizzamento senza classi
52Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Subnetting (4/4)Subnetting (4/4)
• Come ulteriore esempio, partiamo dall’indirizzo di classe C 193.205.102/24 e effettuiamo un Subnetting con 5 cifre dell’ultimo byte.
• Si ottiene il nuovo indirizzo 193.205.102.36 con maschera 255.255.255.248 ovvero /29.
• Come ulteriore esempio, partiamo dall’indirizzo di classe C 193.205.102/24 e effettuiamo un Subnetting con 5 cifre dell’ultimo byte.
• Si ottiene il nuovo indirizzo 193.205.102.36 con maschera 255.255.255.248 ovvero /29.
53Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Maschera di sottorete (1/2)Maschera di sottorete (1/2)
Classe B
Maschera
1 Host_Id
8 16 24 310
Net_id0
Host_Id1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
54Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Maschera di sottorete (2/2)Maschera di sottorete (2/2)
• La maschera degli indirizzi ottenibili da un dato indirizzo con un’operazione di Subnetting può essere di
– lunghezza fissa, con l’individuazione di sottoreti aventi tutte le stesse dimensioni in termini di Host indirizzabili
– lunghezza variabile, con sottoreti che ospitano un numero di Host variabile da sottorete a sottorete.
• La maschera degli indirizzi ottenibili da un dato indirizzo con un’operazione di Subnetting può essere di
– lunghezza fissa, con l’individuazione di sottoreti aventi tutte le stesse dimensioni in termini di Host indirizzabili
– lunghezza variabile, con sottoreti che ospitano un numero di Host variabile da sottorete a sottorete.
55Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
VLSMVLSM
• Nel Subnetting, se si utilizzano maschere di sottorete di lunghezza fissa per ogni indirizzo di rete, si introducono inevitabilmente inefficienze nell’utilizzazione degli indirizzi disponibili.
• Per ridurre tali inefficienze è preferibile operare con maschere di sottorete di lunghezza variabile (Variable Length Subnet Mask-VLSM).
• Con questa modalità di Subnetting, a partire da un dato indirizzo è possibile associare più di una maschera di sottorete.
• Nel Subnetting, se si utilizzano maschere di sottorete di lunghezza fissa per ogni indirizzo di rete, si introducono inevitabilmente inefficienze nell’utilizzazione degli indirizzi disponibili.
• Per ridurre tali inefficienze è preferibile operare con maschere di sottorete di lunghezza variabile (Variable Length Subnet Mask-VLSM).
• Con questa modalità di Subnetting, a partire da un dato indirizzo è possibile associare più di una maschera di sottorete.
56Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Gerarchia a tre livelli (1/2)Gerarchia a tre livelli (1/2)
• Con il Subnetting, un generico indirizzo IP può quindi essere considerato diviso in tre parti:
• Con il Subnetting, un generico indirizzo IP può quindi essere considerato diviso in tre parti:
IP_Address=Net_Id.Host_Id==Net_Id.Sub_Net_Id.Sub_Host_Id .
57Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Gerarchia a tre livelli (2/2)Gerarchia a tre livelli (2/2)
• La divisione della parte Host_Id è di competenza dell’amministratore di una data rete logica, che può scegliere qualsiasi tipo di suddivisione: le dimensioni e le configurazioni delle parti Sub_Net_Id e Sub_Host_Id possono essere qualunque, purché, ovviamente, la loro somma sia uguale alla dimensione originaria dell’Host_Id.
• La divisione della parte Host_Id è di competenza dell’amministratore di una data rete logica, che può scegliere qualsiasi tipo di suddivisione: le dimensioni e le configurazioni delle parti Sub_Net_Id e Sub_Host_Id possono essere qualunque, purché, ovviamente, la loro somma sia uguale alla dimensione originaria dell’Host_Id.
58Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Supernetting (1/2)Supernetting (1/2)
• Più reti vengono combinate in una rete di dimensioni maggiori;
• si utilizzano alcuni bit del net_id per codificare (con gli n bit meno significativi dell’ultimo ottetto del prefisso) 2exp(n) reti combinate in una super-rete
• Più reti vengono combinate in una rete di dimensioni maggiori;
• si utilizzano alcuni bit del net_id per codificare (con gli n bit meno significativi dell’ultimo ottetto del prefisso) 2exp(n) reti combinate in una super-rete
Super-rete Reti componenti
Prefisso Suffisso
59Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Supernetting (2/2)Supernetting (2/2)
• L’introduzione del Supernetting è effettuata, in pratica, solo su indirizzi di classe C;
• anche il Supernetting può coesistere con un indirizzamento in classi.
• L’introduzione del Supernetting è effettuata, in pratica, solo su indirizzi di classe C;
• anche il Supernetting può coesistere con un indirizzamento in classi.
60Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.4.6 Indirizzamento senza classi
III.4.6 Indirizzamento senza classi
III.4 INDIRIZZAMENTOIII.4 INDIRIZZAMENTO
61Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
CIDR (1/4)CIDR (1/4)
• L’indirizzamento con classi, pur con le varianti Subnetting e Supernetting, non consente assegnazioni di blocchi di indirizzi in numero commisurato alle effettive esigenze dell’organizzazione assegnataria.
• Per superare questa situazione, che era origine di gravi inefficienze nell’utilizzazione degli indirizzi IPv4, è stato introdotto (1996) l’indirizzamento senza classi, la cui linea guida è il CIDR (Classless InterDomain Routing) per i riflessi che essa ha sull’operatività dei router.
• L’indirizzamento con classi, pur con le varianti Subnetting e Supernetting, non consente assegnazioni di blocchi di indirizzi in numero commisurato alle effettive esigenze dell’organizzazione assegnataria.
• Per superare questa situazione, che era origine di gravi inefficienze nell’utilizzazione degli indirizzi IPv4, è stato introdotto (1996) l’indirizzamento senza classi, la cui linea guida è il CIDR (Classless InterDomain Routing) per i riflessi che essa ha sull’operatività dei router.
62Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
CIDR (2/4)CIDR (2/4)
• Nell’indirizzamento senza classi (che estende le operazioni di Subnetting e Supernetting all’intero arco di indirizzi IPv4), il prefisso di rete può avere una lunghezza qualsiasi (da 1 a 32 bit) e quindi non vincolata a 8, 16 e 24 bit, come avviene per le classi A, B e C rispettivamente.
• Se si considerano gli indirizzi IP assegnati in blocco ad una organizzazione e si desidera che gli indirizzi assegnati siano adiacenti, è sufficiente prevedere
– una comune lunghezza n del prefisso per tutti gli indirizzi assegnati;
– un numero di indirizzi assegnati uguale a una potenza intera di 2; tale numero è infatti uguale a 2n-32.
• Nell’indirizzamento senza classi (che estende le operazioni di Subnetting e Supernetting all’intero arco di indirizzi IPv4), il prefisso di rete può avere una lunghezza qualsiasi (da 1 a 32 bit) e quindi non vincolata a 8, 16 e 24 bit, come avviene per le classi A, B e C rispettivamente.
• Se si considerano gli indirizzi IP assegnati in blocco ad una organizzazione e si desidera che gli indirizzi assegnati siano adiacenti, è sufficiente prevedere
– una comune lunghezza n del prefisso per tutti gli indirizzi assegnati;
– un numero di indirizzi assegnati uguale a una potenza intera di 2; tale numero è infatti uguale a 2n-32.
63Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
CIDR (3/4)CIDR (3/4)
• Come d’uso negli indirizzi Internet, un indirizzo IPv4 assegnato con la modalità senza classi e la sua associata maschera sono esprimibili
– con i 4 byte a, b, c, d dell’indirizzo espressi in forma binaria o decimale,
– con numero n dopo uno slash per indicare la lunghezza del prefisso;
cioè a.b.c.d / n.
• Come d’uso negli indirizzi Internet, un indirizzo IPv4 assegnato con la modalità senza classi e la sua associata maschera sono esprimibili
– con i 4 byte a, b, c, d dell’indirizzo espressi in forma binaria o decimale,
– con numero n dopo uno slash per indicare la lunghezza del prefisso;
cioè a.b.c.d / n.
64Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
CIDR (4/4)CIDR (4/4)
• Ad esempio, con un prefisso lungo 19 bit (3 bit più lungo rispetto a uno di classe B), la maschera di indirizzo è
255.255.224.0/19
• Infatti, 27 + 26 + 25 = 128 + 64 + 32 = 224
• Ad esempio, con un prefisso lungo 19 bit (3 bit più lungo rispetto a uno di classe B), la maschera di indirizzo è
255.255.224.0/19
• Infatti, 27 + 26 + 25 = 128 + 64 + 32 = 224
Maschera Host_Id1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
65Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Applicazioni CIDR (1/3)Applicazioni CIDR (1/3)
• Come già sottolineato, l’indirizzamento senza classi consente di assegnare, in modo efficiente, indirizzi IP in numero corrispondente alla richiesta di assegnazione e senza il vincolo posto dalle classi.
• Casi tipici sono quelli di una Organizzazione che richiede– l’assegnazione di un numero di indirizzi
superiore a 256 senza che sussista l’asse-gnabilità di indirizzi di classe B;
– la separazione di un indirizzo di rete, al di fuori di uno schema con classi, in due o più sottoreti.
• Come già sottolineato, l’indirizzamento senza classi consente di assegnare, in modo efficiente, indirizzi IP in numero corrispondente alla richiesta di assegnazione e senza il vincolo posto dalle classi.
• Casi tipici sono quelli di una Organizzazione che richiede– l’assegnazione di un numero di indirizzi
superiore a 256 senza che sussista l’asse-gnabilità di indirizzi di classe B;
– la separazione di un indirizzo di rete, al di fuori di uno schema con classi, in due o più sottoreti.
66Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Applicazioni CIDR (2/3)Applicazioni CIDR (2/3)
• La prima richiesta può essere soddisfatta con 2 o più blocchi adiacenti di indirizzi di classe C, non ancora assegnati, che possono essere assegnati con un unico blocco, avente prefisso di lunghezza inferiore a quello della classe C e corrispondente ad un’operazione di Supernetting.
• La prima richiesta può essere soddisfatta con 2 o più blocchi adiacenti di indirizzi di classe C, non ancora assegnati, che possono essere assegnati con un unico blocco, avente prefisso di lunghezza inferiore a quello della classe C e corrispondente ad un’operazione di Supernetting.
67Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Applicazioni CIDR (3/3)Applicazioni CIDR (3/3)
• Nel caso del soddisfacimento della prima richiesta– indirizzi contigui hanno un comune prefisso
(corrispondente ai bit più significativi);– il blocco di indirizzi in una tabella di
instradamento corrisponde ad un unico prefisso.
• Alla seconda richiesta si può far fronte partendo dall’indirizzo di rete assegnato e agendo su questo con un operazione di Subnetting.
• Nel caso del soddisfacimento della prima richiesta– indirizzi contigui hanno un comune prefisso
(corrispondente ai bit più significativi);– il blocco di indirizzi in una tabella di
instradamento corrisponde ad un unico prefisso.
• Alla seconda richiesta si può far fronte partendo dall’indirizzo di rete assegnato e agendo su questo con un operazione di Subnetting.
68Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.4.7 Gli indirizzi IP in una Routing Table
III.4.7 Gli indirizzi IP in una Routing Table
III.4 INDIRIZZAMENTOIII.4 INDIRIZZAMENTO
69Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Struttura di una RT (1/2) Struttura di una RT (1/2)
• Una Routing Table (RT) è parte essenziale di un dispositivo (router/host) preposto ad instradare le UI ricevute (che chiameremo datagrammi) da un ramo d’ingresso verso uno specifico ramo di uscita;
• Una Routing Table (RT) è parte essenziale di un dispositivo (router/host) preposto ad instradare le UI ricevute (che chiameremo datagrammi) da un ramo d’ingresso verso uno specifico ramo di uscita;
70Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Struttura di una RT (2/2) Struttura di una RT (2/2)
• Una RT ha un organizzazione logica righe-colonne e contiene
– in una prima colonna, un insieme di indirizzi IP che possono avere origine da schemi con classi e, eventualmente, senza classi;
– la maschera accoppiata a ciascun indirizzo, espressa, per risparmio di spazio, con la notazione slash;
– in un ultima colonna, la porta di uscita del dispositivo che è in corrispondenza con ogni indirizzo della RT e che è stata decisa, con un opportuno criterio di instradamento, per avvicinare ogni datagramma alla destinazione desiderata.
• Una RT ha un organizzazione logica righe-colonne e contiene
– in una prima colonna, un insieme di indirizzi IP che possono avere origine da schemi con classi e, eventualmente, senza classi;
– la maschera accoppiata a ciascun indirizzo, espressa, per risparmio di spazio, con la notazione slash;
– in un ultima colonna, la porta di uscita del dispositivo che è in corrispondenza con ogni indirizzo della RT e che è stata decisa, con un opportuno criterio di instradamento, per avvicinare ogni datagramma alla destinazione desiderata.
71Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Uso della RT (1/3)Uso della RT (1/3)
• Alla ricezione di un datagramma con un indirizzo di destinazione, che indichiamo con D, la RT viene esplorata per righe.
• Con riferimento alla riga i-esima, indichiamo con Ai, Mi, e Pi
– il prefisso Ai dell’indirizzo IP contenuto in quella riga, – la sua maschera Mi,– la porta di uscita Pi verso cui un datagramma con quel
prefisso di destinazione deve essere inoltrato.• Il router/host deve confrontare il prefisso in D con ogni
coppia Ai, Mi nella propria RT.
• Alla ricezione di un datagramma con un indirizzo di destinazione, che indichiamo con D, la RT viene esplorata per righe.
• Con riferimento alla riga i-esima, indichiamo con Ai, Mi, e Pi
– il prefisso Ai dell’indirizzo IP contenuto in quella riga, – la sua maschera Mi,– la porta di uscita Pi verso cui un datagramma con quel
prefisso di destinazione deve essere inoltrato.• Il router/host deve confrontare il prefisso in D con ogni
coppia Ai, Mi nella propria RT.
72Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Uso della RT (2/3)Uso della RT (2/3)
• Per questo confronto, che può essere effettuato in modo semplice con due istruzioni macchina, il router/host
– opera l’AND logico di D e Mi, in modo da mettere a zero i bit dell’ipotetico suffisso in D;
– confronta il risultato con Ai.• Si possono presentare due casi
– sussiste un riscontro tra l’ipotetico prefisso in D e il prefisso Ai;
– non sussiste alcun riscontro.
• Per questo confronto, che può essere effettuato in modo semplice con due istruzioni macchina, il router/host
– opera l’AND logico di D e Mi, in modo da mettere a zero i bit dell’ipotetico suffisso in D;
– confronta il risultato con Ai.• Si possono presentare due casi
– sussiste un riscontro tra l’ipotetico prefisso in D e il prefisso Ai;
– non sussiste alcun riscontro.
73Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Uso della RT (3/3)Uso della RT (3/3)
• Nel secondo caso l’esplorazione della RT continua con la coppia Ai+1, Mi+1;
• nel primo caso si conserva memoria del riscontro accertato e si continua con la coppia della riga successiva.
• Alla fine dell’esplorazione, tra le coppie Aj, Mj per cui è stato accertato un riscontro, si sceglie quella a cui corrisponde il riscontro più cogente e cioè quella con un prefisso più lungo.
• Nel secondo caso l’esplorazione della RT continua con la coppia Ai+1, Mi+1;
• nel primo caso si conserva memoria del riscontro accertato e si continua con la coppia della riga successiva.
• Alla fine dell’esplorazione, tra le coppie Aj, Mj per cui è stato accertato un riscontro, si sceglie quella a cui corrisponde il riscontro più cogente e cioè quella con un prefisso più lungo.
74Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
• Routing table
• 198.15.7.3 porta 4
• 198.15.7.4 porta 7
Riscontro con il prefisso più lungoRiscontro con il prefisso più lungo
• Instradamento– indirizzo 198.15.7.3– indirizzo 198.15.7.4
• 198.15.7.3– porta 1: riscontro con prefisso 16– porta 7: riscontro con prefisso 24– porta 4: riscontro con prefisso 32
• 198.15.7.4– porta 1: riscontro con prefisso 16– porta 7: riscontro con prefisso 24– porta 4: alcun riscontro
• Instradamento– indirizzo 198.15.7.3– indirizzo 198.15.7.4
• 198.15.7.3– porta 1: riscontro con prefisso 16– porta 7: riscontro con prefisso 24– porta 4: riscontro con prefisso 32
• 198.15.7.4– porta 1: riscontro con prefisso 16– porta 7: riscontro con prefisso 24– porta 4: alcun riscontro
Prefix
198.15.0.0/16
198.15.7.0/24
198.15.7.3/32
Porta d’uscita
1
7
4
75Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.4.8 Risoluzione di indirizzi in Internet
III.4.8 Risoluzione di indirizzi in Internet
III.4 INDIRIZZAMENTOIII.4 INDIRIZZAMENTO
76Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Risoluzione di indirizzi (1/3)Risoluzione di indirizzi (1/3)
• Quando un datagramma arriva alla sotto-rete di destina-zione, l'ultimo router attraversato ha il compito di rilanciare questo datagramma verso l’host di destina-zione;
• ciò prendendo in considerazione anche la componente Host_Id dell'indirizzo e sfruttando i meccanismi protocol-lari propri della sotto-rete di destinazione.
• L’indirizzo IP non è però sufficiente per far arrivare il datagramma all’host in questione.
• Quando un datagramma arriva alla sotto-rete di destina-zione, l'ultimo router attraversato ha il compito di rilanciare questo datagramma verso l’host di destina-zione;
• ciò prendendo in considerazione anche la componente Host_Id dell'indirizzo e sfruttando i meccanismi protocol-lari propri della sotto-rete di destinazione.
• L’indirizzo IP non è però sufficiente per far arrivare il datagramma all’host in questione.
77Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Risoluzione di indirizzi (2/3)Risoluzione di indirizzi (2/3)
• Occorre infatti tenere presente che la sotto-rete di destinazione ha il suo schema di indirizzamento locale e l’interfaccia di rete di un host è indirizzata, nell’ambito della sotto-rete di appartenenza, da un indirizzo locale.
• L'ultimo router deve quindi compiere operazioni di ricerca per determinare l'indirizzo locale di sotto-rete dell’host di destinazione che corrisponde all’indirizzo globale IP contenuto nel datagramma in arrivo.
• Occorre infatti tenere presente che la sotto-rete di destinazione ha il suo schema di indirizzamento locale e l’interfaccia di rete di un host è indirizzata, nell’ambito della sotto-rete di appartenenza, da un indirizzo locale.
• L'ultimo router deve quindi compiere operazioni di ricerca per determinare l'indirizzo locale di sotto-rete dell’host di destinazione che corrisponde all’indirizzo globale IP contenuto nel datagramma in arrivo.
78Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Risoluzione di indirizzi (3/3)Risoluzione di indirizzi (3/3)
• Il problema di tradurre indirizzi IP in indirizzi locali è risolto mediante protocolli di tipo ARP.
• Tale procedura di traduzione è nota come risoluzione di un indirizzo; questa operazione avviene secondo diverse modalità, ognuna specifica di una data tipologia di sotto-rete.
• Le modalità più usate sono le seguenti:– alcuni protocolli ARP utilizzano tabelle, – altri protocolli ARP utilizzano un algoritmo– altri protocolli ARP ottengono dinamicamente questa
corrispondenza usando messaggi di interrogazione.
• Il problema di tradurre indirizzi IP in indirizzi locali è risolto mediante protocolli di tipo ARP.
• Tale procedura di traduzione è nota come risoluzione di un indirizzo; questa operazione avviene secondo diverse modalità, ognuna specifica di una data tipologia di sotto-rete.
• Le modalità più usate sono le seguenti:– alcuni protocolli ARP utilizzano tabelle, – altri protocolli ARP utilizzano un algoritmo– altri protocolli ARP ottengono dinamicamente questa
corrispondenza usando messaggi di interrogazione.
79Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Risoluzione inversa di indirizziRisoluzione inversa di indirizzi
• Infine, consideriamo il caso di risoluzione di indirizzi inversa; ovvero quello in cui è noto un indirizzo locale, ma non il corrispondente indirizzo IP.
• Questo caso si presenta quando un Host, all’accen-sione, pur conoscendo il proprio indirizzo locale, non conosce il proprio indirizzo IP.
• Questo problema è risolvibile con l’assegnazione di un indirizzo IP, con le modalità che sono illustrate in VI.9.
• Infine, consideriamo il caso di risoluzione di indirizzi inversa; ovvero quello in cui è noto un indirizzo locale, ma non il corrispondente indirizzo IP.
• Questo caso si presenta quando un Host, all’accen-sione, pur conoscendo il proprio indirizzo locale, non conosce il proprio indirizzo IP.
• Questo problema è risolvibile con l’assegnazione di un indirizzo IP, con le modalità che sono illustrate in VI.9.
80Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.4.9 Assegnazione di un indirizzo IP
III.4.9 Assegnazione di un indirizzo IP
III.4 INDIRIZZAMENTOIII.4 INDIRIZZAMENTO
81Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Assegnazione del Host_Id (1/2)Assegnazione del Host_Id (1/2)
• Nell’assegnazione di un indirizzo IP occorre distinguere le due parti Host_Id e Net_Id.
• Relativamente all’Host_Id, l’assegnazione può essere – statica: cioè specificata “a mano” dall’Amministra-
tore di Sistema in un file di configurazione;– dinamica: cioè ottenuta da un server di rete tramite
un protocollo secondo il paradigma client-server.• Tra i protocolli che sono previsti per un’assegnazione
dinamica vanno citati:– BOOTP (Boot Protocol);– RARP (Reverse Address Resolution Protocol);– DHCP (Dynamic Host Configuration Protocol).
• Nell’assegnazione di un indirizzo IP occorre distinguere le due parti Host_Id e Net_Id.
• Relativamente all’Host_Id, l’assegnazione può essere – statica: cioè specificata “a mano” dall’Amministra-
tore di Sistema in un file di configurazione;– dinamica: cioè ottenuta da un server di rete tramite
un protocollo secondo il paradigma client-server.• Tra i protocolli che sono previsti per un’assegnazione
dinamica vanno citati:– BOOTP (Boot Protocol);– RARP (Reverse Address Resolution Protocol);– DHCP (Dynamic Host Configuration Protocol).
82Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Assegnazione del Host_Id (2/2)Assegnazione del Host_Id (2/2)
• Con l’uso del protocollo RARP, l’Host emette un mes-saggio in cui chiede "qual’è il mio indirizzo IP?", comunicando il proprio indirizzo locale;
• un RARP-server, residente nella stessa sotto-rete ed opportunamente configurato dall’Amministratore di Sistema, risponde alla richiesta comunicando all’Host il suo indirizzo IP.
• Con l’uso del protocollo RARP, l’Host emette un mes-saggio in cui chiede "qual’è il mio indirizzo IP?", comunicando il proprio indirizzo locale;
• un RARP-server, residente nella stessa sotto-rete ed opportunamente configurato dall’Amministratore di Sistema, risponde alla richiesta comunicando all’Host il suo indirizzo IP.
83Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
DHCP(1/2)DHCP(1/2)
• Questo protocollo, oltre ad assegnare dinamicamente gli indirizzi IP, consente di ricavare altre informazioni di configurazione (ad es. maschera di sottorete, gateway di default, server DNS).
• DHCP è utile quando – gli Host si connettono e disconnettono frequen-
temente;– il numero di Host supera quello di indirizzi
disponibili nella sottorete;– si vuole rendere automatica l’assegnazione degli
indirizzi IP.
• Questo protocollo, oltre ad assegnare dinamicamente gli indirizzi IP, consente di ricavare altre informazioni di configurazione (ad es. maschera di sottorete, gateway di default, server DNS).
• DHCP è utile quando – gli Host si connettono e disconnettono frequen-
temente;– il numero di Host supera quello di indirizzi
disponibili nella sottorete;– si vuole rendere automatica l’assegnazione degli
indirizzi IP.
84Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
DHCP (2/2)DHCP (2/2)
host trasmette in broadcast “DHCP discover”
DHCP server risponde con “DHCP offer”
host richiede indirizzo IP: “DHCP request”
DHCP server trasmette indirizzo: “DHCP ack”
• L’interazione tra l’utente, agente come client DHCP, e il server DHCP è mostrata nella figura seguente, ove sono riportati, a titolo di esempio i messaggi scambiati per l’assegnazione di un indirizzo.
85Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Assegnazione del Net_IdAssegnazione del Net_Id
• Si può richiedere l’allocazione di una porzione dello spazio di indirizzamento di un ISP:
• Si può richiedere l’allocazione di una porzione dello spazio di indirizzamento di un ISP:
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23
Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23
Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
86Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Aggregazione dei percorsiAggregazione dei percorsi
“Manda a me qualunque
pacchetto il cui indirizzoinizia con 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Piscali-ISP
Organizzazione 0
Organizzazione 7Internet
Organizzazione 1
ISP-Pippo “Manda a me qualunque pacchetto il cui indirizzoinizia con 199.31.0.0/16”
200.23.20.0/23Organizzazione 2
......
• L’indirizzamento gerarchico permette di pubblicizzare efficientemente informazioni di instradamento:
87Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Percorsi specificiPercorsi specifici
• ISP-Pippo ha una strada specifica per l’organizzazione 1
“Manda a me qualunque pacchetto il cui indirizzoinizia con 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Piscali-ISP
Organization 0
Organization 7Internet
Organization 1
ISP-Pippo “Manda a me qualunque pacchetto il cui indirizzoinizia con 199.31.0.0/16o 200.23.18.0/23”
200.23.20.0/23Organization 2
...
...
88Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Gestione degli indirizziGestione degli indirizzi
• L’ente attualmente preposto, al livello mondiale, alla gestione degli indirizzi IP è l’ICANN (Internet Corporation for Assigned Names and Numbers);
• ICANN – opera attraverso enti a livello regionale (Registrars)
aventi la delega di assegnare gli indirizzi agli utenti finali;
– assegna i nomi di dominio;– gestisce i DNS.
• L’ente attualmente preposto, al livello mondiale, alla gestione degli indirizzi IP è l’ICANN (Internet Corporation for Assigned Names and Numbers);
• ICANN – opera attraverso enti a livello regionale (Registrars)
aventi la delega di assegnare gli indirizzi agli utenti finali;
– assegna i nomi di dominio;– gestisce i DNS.
III.5 Instradamento III.5 Instradamento
Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
90Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
ContenutiContenuti
III.5.1 Il problema dell’instradamentoIII.5.2 Procedure di instradamentoIII.5.3 L’instradamento in InternetIII.5.4 Le tabelle di instradamentoIII.5.5 IGP e EGPIII.5.6 Algoritmi di instradamentoIII.5.7 Protocolli di instradamento
III.5.1 Il problema dell’instradamentoIII.5.2 Procedure di instradamentoIII.5.3 L’instradamento in InternetIII.5.4 Le tabelle di instradamentoIII.5.5 IGP e EGPIII.5.6 Algoritmi di instradamentoIII.5.7 Protocolli di instradamento
91Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.5.1 Il problema dell’instradamento
III.5.1 Il problema dell’instradamento
III.5 INSTRADAMENTOIII.5 INSTRADAMENTO
92Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
La funzione di instradamento (1/3)La funzione di instradamento (1/3)
• L'instradamento è una funzione decisionale:–avente lo scopo di guidare l’informazione verso
la destinazione voluta; –svolta secondo un opportuno criterio;–attuabile mediante un opportuno algoritmo.
• L'instradamento è una funzione decisionale:–avente lo scopo di guidare l’informazione verso
la destinazione voluta; –svolta secondo un opportuno criterio;–attuabile mediante un opportuno algoritmo.
93Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
La funzione di instradamento (2/3)La funzione di instradamento (2/3)
• Il criterio di instradamento precisa come scegliere un percorso attraverso la rete logica in modo tale che l’informazione emessa da un utente giunga ad un altro utente rispettando opportuni requisiti prestazionali.
• Il criterio di instradamento precisa come scegliere un percorso attraverso la rete logica in modo tale che l’informazione emessa da un utente giunga ad un altro utente rispettando opportuni requisiti prestazionali.
94Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
La funzione di instradamento (3/3)La funzione di instradamento (3/3)
• L’algoritmo di instradamento individua un percorso dall’ origine alla destinazione, soddisfacendo determinati obiettivi prestazionali
– sia dal punto di vista degli utenti, (qualità del servizio da questi percepita: ritardo di trasferimento, perdita di informazione, eventuale ritardo di instaurazione, etc.);
– sia da quello dei gestori di rete (efficienza di utilizzazione delle risorse: traffico totale che la rete può trasportare, resistenza ai guasti, economicità e semplicità di implementazione e di gestione, etc.).
• L’algoritmo di instradamento individua un percorso dall’ origine alla destinazione, soddisfacendo determinati obiettivi prestazionali
– sia dal punto di vista degli utenti, (qualità del servizio da questi percepita: ritardo di trasferimento, perdita di informazione, eventuale ritardo di instaurazione, etc.);
– sia da quello dei gestori di rete (efficienza di utilizzazione delle risorse: traffico totale che la rete può trasportare, resistenza ai guasti, economicità e semplicità di implementazione e di gestione, etc.).
95Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Complessità dell’instradamento (1/2)Complessità dell’instradamento (1/2)
• La funzione di instradamento è complessa per tre motivi:- richiede un coordinamento tra diversi sistemi ed i
sistemi coinvolti possono essere numerosi;- deve poter far fronte ad eventuali guasti e
malfunzionamenti sia dei nodi che dei rami di rete,• eventualmente re-instradando il traffico per cui
sono state già prese decisioni di instradamento;• tenendo conto delle mutate condizioni per il traffico
da instradare in seguito;- deve, ove possibile e conveniente, tenere in conto lo
stato di occupazione delle risorse di rete in modo dinamico e/o adattativo.
• La funzione di instradamento è complessa per tre motivi:- richiede un coordinamento tra diversi sistemi ed i
sistemi coinvolti possono essere numerosi;- deve poter far fronte ad eventuali guasti e
malfunzionamenti sia dei nodi che dei rami di rete,• eventualmente re-instradando il traffico per cui
sono state già prese decisioni di instradamento;• tenendo conto delle mutate condizioni per il traffico
da instradare in seguito;- deve, ove possibile e conveniente, tenere in conto lo
stato di occupazione delle risorse di rete in modo dinamico e/o adattativo.
96Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Complessità dell’instradamento (2/2)Complessità dell’instradamento (2/2)
• Ciò al fine di scegliere i percorsi evitando porzioni di rete che risultino in congestione, così da ottimizzare sia l’efficienza di utilizzo delle risorse stesse sia le prestazioni percepite dagli utenti.
• Ciò al fine di scegliere i percorsi evitando porzioni di rete che risultino in congestione, così da ottimizzare sia l’efficienza di utilizzo delle risorse stesse sia le prestazioni percepite dagli utenti.
97Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Dati per l’instradamento (1/3)Dati per l’instradamento (1/3)
• La funzione di instradamento in una rete (o in una sotto-rete di inter-rete) comporta anche la distri-buzione a tutti i nodi di rete (o di sotto-rete) delle informazioni necessarie per il suo svolgimento.
• La funzione di instradamento in una rete (o in una sotto-rete di inter-rete) comporta anche la distri-buzione a tutti i nodi di rete (o di sotto-rete) delle informazioni necessarie per il suo svolgimento.
98Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Dati per l’instradamento (2/3)Dati per l’instradamento (2/3)
• Tali informazioni possono essere dati non preventi-vamente elaborati e riguardanti, ad esempio, – l’occupazione delle risorse;– la topologia di rete;– i guasti e le riparazioni di elementi di rete;
• in tal caso ogni nodo elabora localmente le decisioni di instradamento, sulla base dei dati ricevuti.
• In tal caso si parla di algoritmi di instradamento distribuiti.
• Tali informazioni possono essere dati non preventi-vamente elaborati e riguardanti, ad esempio, – l’occupazione delle risorse;– la topologia di rete;– i guasti e le riparazioni di elementi di rete;
• in tal caso ogni nodo elabora localmente le decisioni di instradamento, sulla base dei dati ricevuti.
• In tal caso si parla di algoritmi di instradamento distribuiti.
99Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Dati per l’instradamento (3/3)Dati per l’instradamento (3/3)
• Possono anche essere informazioni già elaborate da altri sistemi di rete che forniscono quindi direttamente istruzioni sulle scelte da prendere.
• In tal caso si parla di algoritmi di instradamento centralizzati.
• Possono anche essere informazioni già elaborate da altri sistemi di rete che forniscono quindi direttamente istruzioni sulle scelte da prendere.
• In tal caso si parla di algoritmi di instradamento centralizzati.
100Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.5.2 Procedure di instradamento
III.5.2 Procedure di instradamento
III.5 INSTRADAMENTOIII.5 INSTRADAMENTO
101Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento e servizio di rete (1/4)Instradamento e servizio di rete (1/4)
• L’instradamento è quindi la decisione presa in ogni nodo di rete, ed avente lo scopo di stabilire il ramo di uscita verso cui deve essere inoltrata una unità informativa (UI) che perviene da un dato ramo di ingresso e che è corredata da una intestazione con l’informazione di indirizzamento (etichetta).
• L’instradamento è quindi la decisione presa in ogni nodo di rete, ed avente lo scopo di stabilire il ramo di uscita verso cui deve essere inoltrata una unità informativa (UI) che perviene da un dato ramo di ingresso e che è corredata da una intestazione con l’informazione di indirizzamento (etichetta).
102Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento e servizio di rete (2/4)Instradamento e servizio di rete (2/4)
• In un servizio di rete senza connessione, ogni UI viene considerata come entità a se stante e viene instradata nella rete in maniera indipendente dalle altre UI che hanno uguali origine e destinazione.
• In un servizio di rete senza connessione, ogni UI viene considerata come entità a se stante e viene instradata nella rete in maniera indipendente dalle altre UI che hanno uguali origine e destinazione.
103Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento e servizio di rete (3/4)Instradamento e servizio di rete (3/4)
• Nel caso invece di servizio di rete con connessione, la funzione di instradamento viene attivata solo durante la fase di instaurazione della connessione e definisce, nodo per nodo, il percorso di rete che devono seguire tutte le UI trasferite nell'ambito della comunicazione stessa.
• Nel caso invece di servizio di rete con connessione, la funzione di instradamento viene attivata solo durante la fase di instaurazione della connessione e definisce, nodo per nodo, il percorso di rete che devono seguire tutte le UI trasferite nell'ambito della comunicazione stessa.
104Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento e servizio di rete (4/4)Instradamento e servizio di rete (4/4)
• In ambedue i casi, una procedura di instradamento consiste nel fissare le regole che rendono possibile il soddisfacimento delle richieste di traffico, facendo uso delle risorse di rete in modo da garantire opportune prestazioni di trasferimento.
• In ambedue i casi, una procedura di instradamento consiste nel fissare le regole che rendono possibile il soddisfacimento delle richieste di traffico, facendo uso delle risorse di rete in modo da garantire opportune prestazioni di trasferimento.
105Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Efficacia di una proceduraEfficacia di una procedura
• L'efficacia di una procedura di instradamento è quindi legata alla sua capacità di fare fronte a situazioni mutevoli nel tempo a causa –sia delle variazioni delle richieste provenienti
dagli utenti della rete;–sia della vulnerabilità (ad es. per effetto di guasti
o di altre cause di fuori-servizio) delle risorse di cui la rete dispone.
• L'efficacia di una procedura di instradamento è quindi legata alla sua capacità di fare fronte a situazioni mutevoli nel tempo a causa –sia delle variazioni delle richieste provenienti
dagli utenti della rete;–sia della vulnerabilità (ad es. per effetto di guasti
o di altre cause di fuori-servizio) delle risorse di cui la rete dispone.
106Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedure statiche (1/2)Procedure statiche (1/2)
• Le procedure di instradamento statiche sono basate su regole che, in generale, assumono come invarianti nel tempo –sia la topologia della rete (e cioè le sue risorse);–sia le caratteristiche delle richieste di traffico di
accesso.
• Le procedure di instradamento statiche sono basate su regole che, in generale, assumono come invarianti nel tempo –sia la topologia della rete (e cioè le sue risorse);–sia le caratteristiche delle richieste di traffico di
accesso.
107Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedure statiche (2/2)Procedure statiche (2/2)
• In ogni nodo della rete vengono predisposte tabelle di instradamento fisse, che consentono di operare, di volta in volta, la decisione di instradamento.
• In queste tabelle è possibile prevedere, oltre a un instradamento-base, anche instradamenti alternati-vi da scegliere nel caso in cui si verifichino modifiche dello stato della rete tali da rendere non conveniente o impossibile la scelta dell'instrada-mento-base.
• In ogni nodo della rete vengono predisposte tabelle di instradamento fisse, che consentono di operare, di volta in volta, la decisione di instradamento.
• In queste tabelle è possibile prevedere, oltre a un instradamento-base, anche instradamenti alternati-vi da scegliere nel caso in cui si verifichino modifiche dello stato della rete tali da rendere non conveniente o impossibile la scelta dell'instrada-mento-base.
108Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedure dinamiche e adattative (1/2)
Procedure dinamiche e adattative (1/2)
• Le procedure di instradamento dinamiche utilizzano tabelle che variano nel tempo.
• Le procedure adattative dipendono da certe stime sullo stato della rete nell'istante in cui viene presa la decisione di instradamento.
• Le procedure di instradamento dinamiche utilizzano tabelle che variano nel tempo.
• Le procedure adattative dipendono da certe stime sullo stato della rete nell'istante in cui viene presa la decisione di instradamento.
109Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedure dinamiche e adattative (2/2)
Procedure dinamiche e adattative (2/2)
• Una procedura di instradamento dinamica non è necessariamente adattativa, dato che la variabilità nel tempo delle tabelle di instradamento può essere di tipo programmato (con variazioni a livello giornaliero, settimanale, mensile, ecc.) senza l'effettuazione di stime sullo stato della rete.
• Invece un instradamento adattativo è normalmente dinamico, a meno che lo stato della rete rimanga immutato nel tempo.
• Una procedura di instradamento dinamica non è necessariamente adattativa, dato che la variabilità nel tempo delle tabelle di instradamento può essere di tipo programmato (con variazioni a livello giornaliero, settimanale, mensile, ecc.) senza l'effettuazione di stime sullo stato della rete.
• Invece un instradamento adattativo è normalmente dinamico, a meno che lo stato della rete rimanga immutato nel tempo.
110Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedure adattative (1/2)Procedure adattative (1/2)
• Nelle procedure di instradamento adattative è possibile distinguere vari gradi di adattività a seconda della rapidità con cui le relative regole vengono aggiornate per fare fronte alle mutate situazioni in cui si opera.
• Nelle procedure di instradamento adattative è possibile distinguere vari gradi di adattività a seconda della rapidità con cui le relative regole vengono aggiornate per fare fronte alle mutate situazioni in cui si opera.
111Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedure adattative (2/2)Procedure adattative (2/2)
• In generale, è conveniente limitare questa rapidità di aggiornamento, in quanto la raccolta dei dati sulle modifiche dello stato della rete implica un traffico addizionale che può limitare gli altri flussi informativi di utente e/o di segnalazione attraverso la rete.
• Anche per le procedure di instradamento adattative sono impiegate tabelle, una per ogni nodo della rete, che, a differenza di quelle fisse nell'instradamento statico, possono modificarsi nel tempo.
• In generale, è conveniente limitare questa rapidità di aggiornamento, in quanto la raccolta dei dati sulle modifiche dello stato della rete implica un traffico addizionale che può limitare gli altri flussi informativi di utente e/o di segnalazione attraverso la rete.
• Anche per le procedure di instradamento adattative sono impiegate tabelle, una per ogni nodo della rete, che, a differenza di quelle fisse nell'instradamento statico, possono modificarsi nel tempo.
112Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedure per reti a pacchetto (1/3)Procedure per reti a pacchetto (1/3)
• L’algoritmo di instradamento da adottare in reti a pacchetto dovrebbe idealmente possedere i seguenti attributi:semplicità computazionale; cioè dovrebbe impe-
gnare in misura minima la capacità di elabora-zione dei nodi della rete;
• L’algoritmo di instradamento da adottare in reti a pacchetto dovrebbe idealmente possedere i seguenti attributi:semplicità computazionale; cioè dovrebbe impe-
gnare in misura minima la capacità di elabora-zione dei nodi della rete;
113Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedure per reti a pacchetto (2/3)Procedure per reti a pacchetto (2/3)
robustezza; cioè dovrebbe avere la capacità di adattarsi ai cambiamenti dei livelli di traffico attraverso la rete e a trovare percorsi di rete alternativi quando i nodi e/o i rami si guastano o ritornano in servizio dopo la riparazione;
stabilità; cioè dovrebbe essere in grado di convergere verso una soluzione accettabile senza oscillazioni eccessive quando si adatta ai cambiamenti di traffico e di topologia;
robustezza; cioè dovrebbe avere la capacità di adattarsi ai cambiamenti dei livelli di traffico attraverso la rete e a trovare percorsi di rete alternativi quando i nodi e/o i rami si guastano o ritornano in servizio dopo la riparazione;
stabilità; cioè dovrebbe essere in grado di convergere verso una soluzione accettabile senza oscillazioni eccessive quando si adatta ai cambiamenti di traffico e di topologia;
114Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedure per reti a pacchetto (3/3)Procedure per reti a pacchetto (3/3)
equità; cioè dovrebbe assicurare il conseguimento di prestazioni di qualità di servizio, che dovrebbero essere fornite senza discriminazioni tra gli utenti, entro i possibili vincoli di assegnate priorità;
ottimalità; cioè dovrebbe individuare il percorso di rete più conveniente per minimizzare il valore medio del ritardo di trasferimento di un pacchetto e per massimizzare la portata media della rete; particolare attenzione deve essere rivolta anche alla continuità di servizio e ai connessi problemi di affidabilità del trasferimento.
equità; cioè dovrebbe assicurare il conseguimento di prestazioni di qualità di servizio, che dovrebbero essere fornite senza discriminazioni tra gli utenti, entro i possibili vincoli di assegnate priorità;
ottimalità; cioè dovrebbe individuare il percorso di rete più conveniente per minimizzare il valore medio del ritardo di trasferimento di un pacchetto e per massimizzare la portata media della rete; particolare attenzione deve essere rivolta anche alla continuità di servizio e ai connessi problemi di affidabilità del trasferimento.
115Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Controllo centralizzatoControllo centralizzato
• Le procedure di instradamento con controllo centralizzato prevedono l'esistenza di un centro di controllo di rete (CCR).
• Al CCR confluiscono le informazioni riguardanti sia il livello del traffico di ingresso alla rete, sia l'integrità e il grado di occupazione dei rami e dei nodi.
• Il CCR elabora queste informazioni secondo l'algoritmo di instradamento, aggiorna di conseguenza le tabelle relative ai vari nodi della rete e provvede a trasferirne i contenuti a questi ultimi.
• Le procedure di instradamento con controllo centralizzato prevedono l'esistenza di un centro di controllo di rete (CCR).
• Al CCR confluiscono le informazioni riguardanti sia il livello del traffico di ingresso alla rete, sia l'integrità e il grado di occupazione dei rami e dei nodi.
• Il CCR elabora queste informazioni secondo l'algoritmo di instradamento, aggiorna di conseguenza le tabelle relative ai vari nodi della rete e provvede a trasferirne i contenuti a questi ultimi.
116Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Controllo distribuito (1/2)Controllo distribuito (1/2)
• Nel caso di procedure di instradamento adattative con controllo distribuito, ogni nodo provvede a raccogliere le informazioni per lui accessibili sullo stato della rete e provvede a elaborarle per aggiornare le proprie tabelle;
• conseguentemente ogni decisione di aggiornamen-to viene presa localmente.
• Nel caso di procedure di instradamento adattative con controllo distribuito, ogni nodo provvede a raccogliere le informazioni per lui accessibili sullo stato della rete e provvede a elaborarle per aggiornare le proprie tabelle;
• conseguentemente ogni decisione di aggiornamen-to viene presa localmente.
117Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Controllo distribuito (2/2)Controllo distribuito (2/2)
• Si possono distinguere i casi di:algoritmi isolati, in cui ogni nodo opera senza
interazioni con gli altri nodi, limitandosi a utilizzare le informazioni sullo stato della rete che possono essere raccolte localmente;
algoritmi cooperativi, in cui ogni nodo aggiorna la propria tabella di instradamento sulla base di dati scambiati con gli altri nodi e, più in particolare, con quelli ad esso adiacenti.
• Si possono distinguere i casi di:algoritmi isolati, in cui ogni nodo opera senza
interazioni con gli altri nodi, limitandosi a utilizzare le informazioni sullo stato della rete che possono essere raccolte localmente;
algoritmi cooperativi, in cui ogni nodo aggiorna la propria tabella di instradamento sulla base di dati scambiati con gli altri nodi e, più in particolare, con quelli ad esso adiacenti.
118Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Traffico di aggiornamento (1/2)Traffico di aggiornamento (1/2)
• In ambedue i casi di controllo centralizzato o distribuito (con algoritmo cooperativo) sorge, come già detto, la necessità di limitare il traffico di aggiornamento.
• In ambedue i casi di controllo centralizzato o distribuito (con algoritmo cooperativo) sorge, come già detto, la necessità di limitare il traffico di aggiornamento.
119Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Traffico di aggiornamento (2/2)Traffico di aggiornamento (2/2)
• Una soluzione è rappresentata da procedure quasi-statiche, che prevedono–un aggiornamento sincrono, in cui lo stato della
rete è aggiornato a intervalli regolari abbastanza lunghi;
– un aggiornamento asincrono in cui lo stato della rete è aggiornato solo in occasioni in cui si verificano variazioni di un certo interesse.
• Nel primo caso un intervallo di aggiornamento tipico può essere dell'ordine di una decina di secondi.
• Una soluzione è rappresentata da procedure quasi-statiche, che prevedono–un aggiornamento sincrono, in cui lo stato della
rete è aggiornato a intervalli regolari abbastanza lunghi;
– un aggiornamento asincrono in cui lo stato della rete è aggiornato solo in occasioni in cui si verificano variazioni di un certo interesse.
• Nel primo caso un intervallo di aggiornamento tipico può essere dell'ordine di una decina di secondi.
120Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.5.3 L’instradamento in Internet
III.5.3 L’instradamento in Internet
III.5 INSTRADAMENTOIII.5 INSTRADAMENTO
121Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Principi generali (1/4)Principi generali (1/4)
• Un cammino attraversato da un datagramma IP è composto da sotto-reti interconnesse da router.
• Un datagramma è interpretato da una sotto-rete come un’Unità di Dati di Servizio (SDU).
• Una sotto-rete consegna la SDU al router successivo o alla destinazione (se la destinazione è all'interno della sotto-rete) utilizzando i propri meccanismi protocollari.
• Un cammino attraversato da un datagramma IP è composto da sotto-reti interconnesse da router.
• Un datagramma è interpretato da una sotto-rete come un’Unità di Dati di Servizio (SDU).
• Una sotto-rete consegna la SDU al router successivo o alla destinazione (se la destinazione è all'interno della sotto-rete) utilizzando i propri meccanismi protocollari.
122Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Principi generali (2/4)Principi generali (2/4)
• Due tipi di instradamento
– diretto
– indiretto
• Due tipi di instradamento
– diretto
– indiretto
123Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Principi generali (3/4)Principi generali (3/4)
• L’instradamento diretto si applica quando
– il datagramma IP deve essere rilanciato nella sotto-rete di destinazione;
– l’host di destinazione è connesso alla stessa sotto-rete dell’host sorgente o del router che emette il datagramma.
• L’instradamento diretto si applica quando
– il datagramma IP deve essere rilanciato nella sotto-rete di destinazione;
– l’host di destinazione è connesso alla stessa sotto-rete dell’host sorgente o del router che emette il datagramma.
124Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Principi generali (4/4)Principi generali (4/4)
• L’instradamento indiretto si applica quando
– il datagramma IP deve essere instradato in sotto-reti diverse da quella di destinazione;
– l’host di destinazione è connesso ad una sotto-rete diversa da quella dell’host sorgente o del router che emette il datagramma.
• L’instradamento indiretto si applica quando
– il datagramma IP deve essere instradato in sotto-reti diverse da quella di destinazione;
– l’host di destinazione è connesso ad una sotto-rete diversa da quella dell’host sorgente o del router che emette il datagramma.
125Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento DirettoInstradamento Diretto
• Il trasferimento dei datagrammi IP non coinvolge router intermedi.
• E’ necessaria la traduzione dell’indirizzo IP dell’host di destinazione nel suo indirizzo fisico (es. indirizzo MAC).
• Il datagramma IP viene incapsulato nell’unità di dati della sotto-rete e questa unità viene inviata diret-tamente all’host di destinazione.
• L'instradamento all'interno della sotto-rete utilizza i meccanismi specifici della sotto-rete.
• Il trasferimento dei datagrammi IP non coinvolge router intermedi.
• E’ necessaria la traduzione dell’indirizzo IP dell’host di destinazione nel suo indirizzo fisico (es. indirizzo MAC).
• Il datagramma IP viene incapsulato nell’unità di dati della sotto-rete e questa unità viene inviata diret-tamente all’host di destinazione.
• L'instradamento all'interno della sotto-rete utilizza i meccanismi specifici della sotto-rete.
126Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Instradamento IndirettoInstradamento Indiretto
• L’host mittente identifica il router a cui inviare il datagramma IP ed individua il suo indirizzo fisico.
• Il router esamina il datagramma IP ricevuto e decide il router successivo verso cui instradarlo
– l'instradamento attraverso la sotto-rete che connette i due router avviene secondo i mecca-nismi della sotto-rete.
• Il processo si ripete di router in router sino alla sotto-rete di destinazione
– nella sotto-rete di destinazione è utilizzato l’instra-damento diretto.
• L’host mittente identifica il router a cui inviare il datagramma IP ed individua il suo indirizzo fisico.
• Il router esamina il datagramma IP ricevuto e decide il router successivo verso cui instradarlo
– l'instradamento attraverso la sotto-rete che connette i due router avviene secondo i mecca-nismi della sotto-rete.
• Il processo si ripete di router in router sino alla sotto-rete di destinazione
– nella sotto-rete di destinazione è utilizzato l’instra-damento diretto.
127Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.5.4 Le tabelle di instradamento
III.5.4 Le tabelle di instradamento
III.5 INSTRADAMENTOIII.5 INSTRADAMENTO
128Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Routing Table (1/6)Routing Table (1/6)
• L’instradamento in Internet è basato su una tabella (Routing Table - RT) che ogni router/host contiene allo scopo di rendere note le possibili destinazioni e le modalità per raggiungerle.
• La struttura di una RT è stata già sommariamente introdotta in precedenza (cfr. VI.7) e viene qui riconsi-derata per sottolineare il suo ruolo nell’operazione di instradamento.
• L’organizzazione di una RT è per righe e per colonne.
• L’instradamento in Internet è basato su una tabella (Routing Table - RT) che ogni router/host contiene allo scopo di rendere note le possibili destinazioni e le modalità per raggiungerle.
• La struttura di una RT è stata già sommariamente introdotta in precedenza (cfr. VI.7) e viene qui riconsi-derata per sottolineare il suo ruolo nell’operazione di instradamento.
• L’organizzazione di una RT è per righe e per colonne.
129Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Routing Table (2/6)Routing Table (2/6)
• Nella riga i-esima sono contenuti in altrettante colonne:– un indirizzo IP, che indichiamo con Ai e che è la
destinazione raggiungibile lungo un cammino che parte dal router/host considerato e che, salvo eccezioni e per ragioni di contenimento del volume della RT, è rappresentato dal solo prefisso;
– la maschera Mi associata all’indirizzo Ai;– l’indicazione dell’interfaccia fisica di uscita Pi (porta
di uscita), quando ne esiste più di una, per raggiungere la destinazione dell’indirizzo Ai;
– l’indirizzo del router successivo Ri (next-hop-router) sul cammino verso la rete di destinazione.
• Nella riga i-esima sono contenuti in altrettante colonne:– un indirizzo IP, che indichiamo con Ai e che è la
destinazione raggiungibile lungo un cammino che parte dal router/host considerato e che, salvo eccezioni e per ragioni di contenimento del volume della RT, è rappresentato dal solo prefisso;
– la maschera Mi associata all’indirizzo Ai;– l’indicazione dell’interfaccia fisica di uscita Pi (porta
di uscita), quando ne esiste più di una, per raggiungere la destinazione dell’indirizzo Ai;
– l’indirizzo del router successivo Ri (next-hop-router) sul cammino verso la rete di destinazione.
130Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Routing Table (3/6)Routing Table (3/6)
• E quest’ultima indicazione che completa l’informazione di instradamento, a conferma della circostanza secondo cui un router/host non conosce il cammino completo verso la destinazione e, conseguentemente, la sua RT specifica solo un passo lungo questo cammino.
• E quest’ultima indicazione che completa l’informazione di instradamento, a conferma della circostanza secondo cui un router/host non conosce il cammino completo verso la destinazione e, conseguentemente, la sua RT specifica solo un passo lungo questo cammino.
131Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Routing Table (4/6)Routing Table (4/6)
• Ricevendo un datagramma IP avente D come indirizzo di destinazione, il router/host esegue i seguenti passi:a) ricerca nella RT un indirizzo che sia descritto da
prefisso e suffisso (se ne esiste) e che corrisponda completamente a D;
b) ricerca in RT tutti gli indirizzi che sono descritti dai soli prefissi e che abbiano un riscontro con D: tale riscontro è verificabile ipotizzando che il prefisso di D corrisponda a quello di A e ricavando il prefisso di D tramite la maschera di A;
c) sceglie tra tutti gli indirizzi in RT emersi dalla ricerca in b) quello che corrisponde ad un riscontro con un prefisso più lungo (longest-prefix-matching);
d) ricerca l’indirizzo del “default router” se la ricerca in b) non individua nessun indirizzo che presenti un riscontro con D.
• Ricevendo un datagramma IP avente D come indirizzo di destinazione, il router/host esegue i seguenti passi:a) ricerca nella RT un indirizzo che sia descritto da
prefisso e suffisso (se ne esiste) e che corrisponda completamente a D;
b) ricerca in RT tutti gli indirizzi che sono descritti dai soli prefissi e che abbiano un riscontro con D: tale riscontro è verificabile ipotizzando che il prefisso di D corrisponda a quello di A e ricavando il prefisso di D tramite la maschera di A;
c) sceglie tra tutti gli indirizzi in RT emersi dalla ricerca in b) quello che corrisponde ad un riscontro con un prefisso più lungo (longest-prefix-matching);
d) ricerca l’indirizzo del “default router” se la ricerca in b) non individua nessun indirizzo che presenti un riscontro con D.
132Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Routing Table (5/6)Routing Table (5/6)
• Se nessuno dei passi precedenti dà esito positivo, il datagramma è classificato come “undeliverable” ed è scartato.
• Pertanto i router/host con le loro RT formano una struttura interconnessa e cooperativa: i datagrammi passano di router in router finché ne raggiungono uno che può consegnare il datagramma in modo diretto.
• Se nessuno dei passi precedenti dà esito positivo, il datagramma è classificato come “undeliverable” ed è scartato.
• Pertanto i router/host con le loro RT formano una struttura interconnessa e cooperativa: i datagrammi passano di router in router finché ne raggiungono uno che può consegnare il datagramma in modo diretto.
133Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Routing Table (6/6)Routing Table (6/6)
20.0.0.1
20.0.0.6
30.0.0.6
60.0.0.7
30.0.0.7 Rete40.0.0
10.0.0.5
Rete10.0.0
Rete20.0.0
Rete30.0.0
Rete50.0.0
Rete60.0.0
R1
R2
R3
R4 R510.0.0.6 40.0.0.9
40.0.0.7
60.0.0.5
50.0.0.10
50.0.0.12
10.0.0
20.0.0
30.0.0
40.0.0
20.0.0.1
Instradamento diretto
Instradamento diretto
30.0.0.6
Net_Id Router_Id
Routing Table di R2
50.0.0 Instradamento diretto
60.0.0 Instradamento diretto
10.0.0
20.0.0
30.0.0
40.0.0
30.0.0.7
30.0.0.7
Instradamento diretto
Instradamento diretto
Net_Id Router_Id
Routing Table di R3
50.0.0 30.0.0.7
60.0.0 40.0.0.9
134Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Aggiornamento di una Routing Table (1/3)Aggiornamento di una Routing Table (1/3)
• La tabella di instradamento di un router è riempita e aggiornata mediante le informazioni ricevute dal router stesso mediante i Protocolli di Instradamento (Routing Protocol).
• La scelta del percorso e quindi del router successivo dipende da un fissato criterio di ottimalità, che è in ogni caso basato sulla conoscenza parziale o totale della topologia della rete e sul “costo” di attraver-samento dei singoli rami.
• La tabella di instradamento di un router è riempita e aggiornata mediante le informazioni ricevute dal router stesso mediante i Protocolli di Instradamento (Routing Protocol).
• La scelta del percorso e quindi del router successivo dipende da un fissato criterio di ottimalità, che è in ogni caso basato sulla conoscenza parziale o totale della topologia della rete e sul “costo” di attraver-samento dei singoli rami.
135Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Aggiornamento di una Routing Table (2/3)Aggiornamento di una Routing Table (2/3)
• Ad ogni ramo della rete è associato un costo di attra-versamento che può essere
– inversamente proporzionale alla banda del ramo
– proporzionale al carico istantaneo sul ramo
– proporzionale al costo d’uso del ramo
– qualsiasi combinazione tra i precedenti criteri
• Ad ogni ramo della rete è associato un costo di attra-versamento che può essere
– inversamente proporzionale alla banda del ramo
– proporzionale al carico istantaneo sul ramo
– proporzionale al costo d’uso del ramo
– qualsiasi combinazione tra i precedenti criteri
136Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Aggiornamento di una Routing Table (3/3)Aggiornamento di una Routing Table (3/3)
• Le Routing Table sono dinamiche– ogni router ed ogni host aggiornano nel tempo le
informazioni di instradamento in loro possesso.
• L’aggiornamento dinamico è necessario perché Internet non può essere considerata stabile; in particolare
– in caso di guasti alcuni cammini non sono utilizzabili;– è consigliabile scegliere il cammino in base allo stato
di occupazione delle risorse di rete.
• Le RT devono essere aggiornate continuamente (anche ad intervalli di pochi secondi).
• Le Routing Table sono dinamiche– ogni router ed ogni host aggiornano nel tempo le
informazioni di instradamento in loro possesso.
• L’aggiornamento dinamico è necessario perché Internet non può essere considerata stabile; in particolare
– in caso di guasti alcuni cammini non sono utilizzabili;– è consigliabile scegliere il cammino in base allo stato
di occupazione delle risorse di rete.
• Le RT devono essere aggiornate continuamente (anche ad intervalli di pochi secondi).
137Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.5.5 IGP e EGP
III.5.5 IGP e EGP
III.5 INSTRADAMENTOIII.5 INSTRADAMENTO
138Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Sistemi autonomiSistemi autonomi
• Un sistema autonomo (Autonomous System - AS) è un insieme di host e router controllato da una singola Autorità Amministrativa:
– un particolare AS è detto “Core AS” e costituisce la sezione dorsale di Internet;
– un router del core AS è detto Core Router;– gli altri AS sono detti “Stub AS”.
• Ogni AS ha il proprio protocollo di instradamento.
• Uno Stub AS deve aver almeno un router connesso ad un Core Router; questi router sono detti Exterior Gateway.
• Un router interno ad un AS è detto Interior Gateway.
• Un sistema autonomo (Autonomous System - AS) è un insieme di host e router controllato da una singola Autorità Amministrativa:
– un particolare AS è detto “Core AS” e costituisce la sezione dorsale di Internet;
– un router del core AS è detto Core Router;– gli altri AS sono detti “Stub AS”.
• Ogni AS ha il proprio protocollo di instradamento.
• Uno Stub AS deve aver almeno un router connesso ad un Core Router; questi router sono detti Exterior Gateway.
• Un router interno ad un AS è detto Interior Gateway.
139Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
IGPIGP
• I protocolli di instradamento all’interno di un AS sono detti Interior Gateway Protocols (IGP).
• Gli IGP provvedono quindi a trasferire i dati di instradamento tra i router di un AS (Interior Gate-ways), ivi compresi i Core Router che appartengono all’AS.
• In particolare agli IGP è affidato il compito di aggiornare il compito con continuità i dati necessari in ogni router per lo svolgimento di un algoritmo di instradamento.
• I protocolli di instradamento all’interno di un AS sono detti Interior Gateway Protocols (IGP).
• Gli IGP provvedono quindi a trasferire i dati di instradamento tra i router di un AS (Interior Gate-ways), ivi compresi i Core Router che appartengono all’AS.
• In particolare agli IGP è affidato il compito di aggiornare il compito con continuità i dati necessari in ogni router per lo svolgimento di un algoritmo di instradamento.
140Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
EGPEGP
• Le informazioni di instradamento che coinvolgono più di un AS sono scambiate, tra gli Exterior Gate-ways di questi AS, tramite gli Exterior Gateway Protocols (EGP).
• Un EGP svolge tre funzioni– individuazione dei router adiacenti con cui scam-
biare le informazioni di instradamento;– verifica continua della funzionalità dei router
inter-locutori;– scambio periodico delle informazioni di instrada-
mento, queste riguardano la sola raggiungibilità delle reti (non la distanza).
• Le informazioni di instradamento che coinvolgono più di un AS sono scambiate, tra gli Exterior Gate-ways di questi AS, tramite gli Exterior Gateway Protocols (EGP).
• Un EGP svolge tre funzioni– individuazione dei router adiacenti con cui scam-
biare le informazioni di instradamento;– verifica continua della funzionalità dei router
inter-locutori;– scambio periodico delle informazioni di instrada-
mento, queste riguardano la sola raggiungibilità delle reti (non la distanza).
141Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
R3
SubNet 1.2
SubNet 1.3 SubNet 1.1
SubNet 1.4
R2
R4 R1
R5
R6
R8
R7
SubNet 2.2
SubNet 2.1
SubNet 2.3
SubNet 2.4
IGP
EGP
AS 1
AS 2EG
EGEGP
IGP e EGPIGP e EGP
142Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.5.6 Algoritmi di instradamento
III.5.6 Algoritmi di instradamento
III.5 INSTRADAMENTOIII.5 INSTRADAMENTO
143Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Tipi di algoritmi (1/3)Tipi di algoritmi (1/3)
• Gli algoritmi di instradamento sono applicati in Internet per la ricerca del cammino “ottimo” all’interno di ogni sistema autonomo.
• Infatti ogni algoritmo è basato sulla scelta di una specifica “metrica”, che è di competenza delle Autorità Amministrative controllanti i singoli AS.
• Gli algoritmi di instradamento sono applicati in Internet per la ricerca del cammino “ottimo” all’interno di ogni sistema autonomo.
• Infatti ogni algoritmo è basato sulla scelta di una specifica “metrica”, che è di competenza delle Autorità Amministrative controllanti i singoli AS.
144Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Tipi di algoritmi (2/3)Tipi di algoritmi (2/3)
• Si distinguono –algoritmi a instradamento globale (o centraliz-
zato), che sono anche chiamati algoritmi a stato dei collegamenti (link state algorithms);
–algoritmi a instradamento decentralizzato, a cui appartiene l’algoritmo a vettore delle distanze (distance vector algorithm).
• Si distinguono –algoritmi a instradamento globale (o centraliz-
zato), che sono anche chiamati algoritmi a stato dei collegamenti (link state algorithms);
–algoritmi a instradamento decentralizzato, a cui appartiene l’algoritmo a vettore delle distanze (distance vector algorithm).
145Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Tipi di algoritmi (3/3)Tipi di algoritmi (3/3)
• La ricerca del cammino ottimo tra una sorgente e una destinazione è effettuato:nel caso degli algoritmi a stato dei collegamenti,
usando conoscenze sulla rete complete e globali: dati di partenza sono le connettività fra tutti i nodi dell’AS e i costi dei relativi rami;
nel caso degli algoritmi a vettore delle distanze, operando in modo interattivo distribuito: ogni nodo parte dalla conoscenza della connettività con i soli nodi adiacenti e da quella dei costi dei soli collegamenti che ad esso fanno capo.
• La ricerca del cammino ottimo tra una sorgente e una destinazione è effettuato:nel caso degli algoritmi a stato dei collegamenti,
usando conoscenze sulla rete complete e globali: dati di partenza sono le connettività fra tutti i nodi dell’AS e i costi dei relativi rami;
nel caso degli algoritmi a vettore delle distanze, operando in modo interattivo distribuito: ogni nodo parte dalla conoscenza della connettività con i soli nodi adiacenti e da quella dei costi dei soli collegamenti che ad esso fanno capo.
146Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Grafi (1/3)Grafi (1/3)
• Una qualsiasi rete a pacchetto può essere modellata come un grafo orientato e, in generale, pesato
– i nodi sono in corrispondenza modellistica con i router;– nel caso dei rami la corrispondenza è con i collegamenti
trasmissivi o con le sotto-reti.
• L’orientamento di ogni ramo descrive il verso di trasferimento sui collegamenti, mentre il peso associato ad ogni ramo, se presente, è il costo di attraversamento di quel ramo.
• L’instradamento di un pacchetto equivale alla ricerca di un cammino nel grafo associato della rete.
• Una qualsiasi rete a pacchetto può essere modellata come un grafo orientato e, in generale, pesato
– i nodi sono in corrispondenza modellistica con i router;– nel caso dei rami la corrispondenza è con i collegamenti
trasmissivi o con le sotto-reti.
• L’orientamento di ogni ramo descrive il verso di trasferimento sui collegamenti, mentre il peso associato ad ogni ramo, se presente, è il costo di attraversamento di quel ramo.
• L’instradamento di un pacchetto equivale alla ricerca di un cammino nel grafo associato della rete.
147Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Grafi (2/3)Grafi (2/3)
• La ricerca del cammino tra una origine e una destinazione mira ad individuare:
– il cammino a minima distanza, definito come quello che richiede il numero minimo di salti; può essere ricercato su un grafo non pesato;
– il cammino a minima lunghezza definito come quello a costo minimo; può essere ricercato su un grafo pesato.
• La ricerca del cammino tra una origine e una destinazione mira ad individuare:
– il cammino a minima distanza, definito come quello che richiede il numero minimo di salti; può essere ricercato su un grafo non pesato;
– il cammino a minima lunghezza definito come quello a costo minimo; può essere ricercato su un grafo pesato.
148Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Grafi (3/3)Grafi (3/3)
• Un grafo T è detto albero (tree) se, essendo N il numero dei nodi,
– tra ogni coppia di nodi i e j, esiste un solo cammino semplice;
– il numero di rami è N-1 ed è connesso senza cicli.
• Ogni nodo di un albero può essere eletto a radice.
• Un albero può essere sempre raffigurato disponendo i nodi in livelli successivi a partire dalla radice.
• In una raffigurazione di un albero a livelli– ogni nodo, tranne la radice, ha un solo nodo padre;– ogni nodo ha zero o più nodi figli;– se un nodo non ha figli, è detto foglia dell’albero.
• Un grafo T è detto albero (tree) se, essendo N il numero dei nodi,
– tra ogni coppia di nodi i e j, esiste un solo cammino semplice;
– il numero di rami è N-1 ed è connesso senza cicli.
• Ogni nodo di un albero può essere eletto a radice.
• Un albero può essere sempre raffigurato disponendo i nodi in livelli successivi a partire dalla radice.
• In una raffigurazione di un albero a livelli– ogni nodo, tranne la radice, ha un solo nodo padre;– ogni nodo ha zero o più nodi figli;– se un nodo non ha figli, è detto foglia dell’albero.
149Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Spanning Tree (1/3)Spanning Tree (1/3)
• Un sottografo T di un grafo G è chiamato Spanning Tree di G se–T è un albero–T include tutti i nodi di G.
• Uno Spanning Tree di un grafo G è un sottografo connesso in cui sono stati rimossi tutti i possibili cicli tra due nodi.
• Dato un grafo G, esistono diversi Spanning Tree che hanno come radice un nodo n.
• Un sottografo T di un grafo G è chiamato Spanning Tree di G se–T è un albero–T include tutti i nodi di G.
• Uno Spanning Tree di un grafo G è un sottografo connesso in cui sono stati rimossi tutti i possibili cicli tra due nodi.
• Dato un grafo G, esistono diversi Spanning Tree che hanno come radice un nodo n.
150Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
V1
V2
V3
V6
V5
V4
Grafo G
V1
V2
V3 V6
V5
V4
Spanning Tree 1
V1
V2
V3 V6
V5
V4
Spanning Tree 2
Spanning Tree (2/3)Spanning Tree (2/3)
• Lo Spanning Tree di un grafo non è unico
• Lo Spanning Tree di un grafo non è unico
151Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Spanning Tree (3/3)Spanning Tree (3/3)
• Uno Spanning Tree è Ottimo quando è formato dai cammini ottimi che uniscono il nodo radice agli altri nodi del grafo.
• L’individuazione dello Spanning Tree ottimo è l’obiettivo di un algoritmo di instradamento in un router.
• Esistono diversi algoritmi di ricerca di uno Spanning Tree ottimo (es. BFS, Dijkstra, Bellman-Ford).
• Uno Spanning Tree è Ottimo quando è formato dai cammini ottimi che uniscono il nodo radice agli altri nodi del grafo.
• L’individuazione dello Spanning Tree ottimo è l’obiettivo di un algoritmo di instradamento in un router.
• Esistono diversi algoritmi di ricerca di uno Spanning Tree ottimo (es. BFS, Dijkstra, Bellman-Ford).
152Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo BFS (1/3)Algoritmo BFS (1/3)
• L’algoritmo BFS (Breadth-First Search) individua il cammino a distanza minima tra il nodo radice s e ogni altro nodo v del grafo, e cioè il cammino con il minimo numero di rami tra i due nodi.
• Si basa sulla classificazione dei nodi in livelli a partire da un nodo radice.
• L’algoritmo BFS (Breadth-First Search) individua il cammino a distanza minima tra il nodo radice s e ogni altro nodo v del grafo, e cioè il cammino con il minimo numero di rami tra i due nodi.
• Si basa sulla classificazione dei nodi in livelli a partire da un nodo radice.
153Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo BFS (2/3)Algoritmo BFS (2/3)
• Nell’algoritmo:– si individua un nodo radice (nodo x);– si individuano tutti i nodi adiacenti a x (nodi di livello 1);– per ogni nodo appartenente al livello 1 si indi-viduano i
nodi adiacenti non precedentemente raggiunti (nodi di livello 2);
– il processo si itera sino a che non sono stati raggiunti tutti i nodi del grafo.
• La complessità computazionale dell’algoritmo BFS è o(|V|.|E|).
• Nell’algoritmo:– si individua un nodo radice (nodo x);– si individuano tutti i nodi adiacenti a x (nodi di livello 1);– per ogni nodo appartenente al livello 1 si indi-viduano i
nodi adiacenti non precedentemente raggiunti (nodi di livello 2);
– il processo si itera sino a che non sono stati raggiunti tutti i nodi del grafo.
• La complessità computazionale dell’algoritmo BFS è o(|V|.|E|).
154Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo BFS (3/3)Algoritmo BFS (3/3)
v1v1
v2
v3
v6
v5
v4
0
11
1
T={1}
v1
v2
v3
v6
v5
v4
0
11
1
T={1,2}
v2
v3
v6
v5
v4
0
11
1
T={1,2,3}
v1
v2
v3
v6
v5
v4
0
11
1
T={1,2,3,4}
v1
v2
v3
v6
v5
v4
0
11
2
21
T={1,2,3,4,5}
v1
v2
v3
v6
v5
v4
0
11
2
21
T={1,2,3,4,5,6}
155Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Dijkstra (1/3)Algoritmo di Dijkstra (1/3)
• Individua il cammino a lunghezza minima tra un nodo s e ogni altro nodo n di un grafo G.
• L’algoritmo, che è del tipo a stato dei collegamenti, procede a passi successivi
– al passo k-mo sono individuati i k nodi raggiungibili dal nodo sorgente tramite i cammini a costo minore;
– tali k nodi formano l’insieme Tk;– al passo k+1-mo si forma l’insieme Tk+1 aggiungendo un
ulteriore nodo all’insieme Tk; tale nodo sarà quello caratterizzato dal cammino a costo minore dal nodo s che transita esclusivamente nei nodi dell’insieme Tk;
– l’algoritmo termina quando si sono esplorati tutti i nodi.
• Individua il cammino a lunghezza minima tra un nodo s e ogni altro nodo n di un grafo G.
• L’algoritmo, che è del tipo a stato dei collegamenti, procede a passi successivi
– al passo k-mo sono individuati i k nodi raggiungibili dal nodo sorgente tramite i cammini a costo minore;
– tali k nodi formano l’insieme Tk;– al passo k+1-mo si forma l’insieme Tk+1 aggiungendo un
ulteriore nodo all’insieme Tk; tale nodo sarà quello caratterizzato dal cammino a costo minore dal nodo s che transita esclusivamente nei nodi dell’insieme Tk;
– l’algoritmo termina quando si sono esplorati tutti i nodi.
156Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Dijkstra (2/3)Algoritmo di Dijkstra (2/3)
Situazione al passo k+1
s
x1
x2
Xk-1
InsiemeTk
n
xi
InsiemeTk+1
Viene aggiunto all’insieme Tk il nodo n caratterizzato dal cammino di lunghezza minima con il nodo sor-gente s che transita esclu-sivamente in nodi dell’in-sieme Tk
157Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Dijkstra (3/3)Algoritmo di Dijkstra (3/3)
• Quando l’algoritmo ha termine:– l’insieme T è uno spanning tree contenente i cammini a
costo minimo tra il nodo sorgente e ogni altro nodo n del grafo;
– Il peso associato ad ogni cammino indica il costo del cammino a costo minimo tra il nodo s ed il nodo n.
• Si noti che:– al passo k-mo viene aggiunto all’insieme T il k-mo nodo
ed è individuato il cammino a costo minimo tra il tale nodo ed il nodo sorgente;
– questo cammino transita esclusivamente attraverso i nodi sinora compresi nell’insieme T.
• La complessità dell’algoritmo è o(|V|2).
• Quando l’algoritmo ha termine:– l’insieme T è uno spanning tree contenente i cammini a
costo minimo tra il nodo sorgente e ogni altro nodo n del grafo;
– Il peso associato ad ogni cammino indica il costo del cammino a costo minimo tra il nodo s ed il nodo n.
• Si noti che:– al passo k-mo viene aggiunto all’insieme T il k-mo nodo
ed è individuato il cammino a costo minimo tra il tale nodo ed il nodo sorgente;
– questo cammino transita esclusivamente attraverso i nodi sinora compresi nell’insieme T.
• La complessità dell’algoritmo è o(|V|2).
158Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Dijkstra - Esempio (1/2)Algoritmo di Dijkstra - Esempio (1/2)
8
5
1
1
6
3
2
1
2
7
33
4
232
58
1
1
V1
V2
V3
V4 V5
V6
0 1
52
T1 = {1}
8
5
1
1
6
3
2
1
2
7
33
4
232
58
1
1
V1
V2
V3
V4 V5
V6
0 1 2
42
T2 = {1,4}8
5
1
1
6
3
2
1
2
7
33
4
232
58
1
1
V1
V2
V3
V4 V5
V6
0 1 2
42
T3 = {1,2,4}
159Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Dijkstra – Esempio (2/2)Algoritmo di Dijkstra – Esempio (2/2)
8
5
1
1
6
3
2
1
2
7
33
4
232
58
1
1
V1
V2
V3
V4 V5
V6
0 1 2
3 42
T4 = {1,2,4,5}
8
5
1
1
6
3
2
1
2
7
33
4
232
58
1
1
V1
V2
V3
V4 V5
V6
0 1 2
3 42
T5 = {1,2,3,4,5}8
5
1
1
6
3
2
1
2
7
33
4
232
58
1
1
V1
V2
V3
V4 V5
V6
0 1 2
3 42
T6 = {1,2,3,4,5,6}
160Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Bellman-Ford (1/4)Algoritmo di Bellman-Ford (1/4)
• L’algoritmo di Bellman-Ford, come quello di Dijkstra, individua il cammino a lunghezza minima tra un nodo s e ogni altro nodo n di un grafo G.
• L’algoritmo, che è del tipo a stato dei collegamenti, procede a passi
– al primo passo individua i cammini minimi tra il nodo sorgente e gli altri nodi con il vincolo che i cammini devono avere al massimo 1 ramo;
– al secondo passo si trovano i cammini minimi tra il nodo sorgente e gli altri nodi con il vincolo che i cammini devono avere al massimo 2 rami;
– si itera il procedimento sino al valore massimo di rami in un cammino.
• L’algoritmo di Bellman-Ford, come quello di Dijkstra, individua il cammino a lunghezza minima tra un nodo s e ogni altro nodo n di un grafo G.
• L’algoritmo, che è del tipo a stato dei collegamenti, procede a passi
– al primo passo individua i cammini minimi tra il nodo sorgente e gli altri nodi con il vincolo che i cammini devono avere al massimo 1 ramo;
– al secondo passo si trovano i cammini minimi tra il nodo sorgente e gli altri nodi con il vincolo che i cammini devono avere al massimo 2 rami;
– si itera il procedimento sino al valore massimo di rami in un cammino.
161Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Bellman-Ford (2/4)Algoritmo di Bellman-Ford (2/4)
8
5
1
1
6
3
2
1
2
7
33
4
232
58
1
1
V1
V2
V3
V4 V5
V6
0 1
52
h = 1
8
8
5
1
1
6
3
2
1
2
7
33
4
232
5
1
1
V1
V2
V3
V4 V5
V6
0 1 2
4 102
h = 2
V5
V6
8
5
1
1
6
3
2
1
2
7
33
4
232
58
1
1
V1
V2
V3
V4
0 1 2
3 42
h = 3
8
5
1
1
6
3
2
1
2
7
33
4
232
58
1
1
V1
V2
V3
V4 V5
V6
0 1 2
3 42
h = 4
162Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Bellman-Ford (3/4)Algoritmo di Bellman-Ford (3/4)
• La soluzione dell’algoritmo di Bellman-Ford può essere anche interpretata nel seguente modo, siano:
– s il nodo sorgente;– n un generico nodo del grafo.
• Il cammino a lunghezza minima tra s e n è dato dalla composizione di
– un cammino a lunghezza minima tra il nodo n ed un nodo j adiacente al nodo s;
– il ramo incidente ai nodi j e s.
• Questa interpretazione consente di definire una versione distribuita dell’algoritmo; tale versione rientra nella famiglia degli algoritmi a vettore delle distanze.
• La soluzione dell’algoritmo di Bellman-Ford può essere anche interpretata nel seguente modo, siano:
– s il nodo sorgente;– n un generico nodo del grafo.
• Il cammino a lunghezza minima tra s e n è dato dalla composizione di
– un cammino a lunghezza minima tra il nodo n ed un nodo j adiacente al nodo s;
– il ramo incidente ai nodi j e s.
• Questa interpretazione consente di definire una versione distribuita dell’algoritmo; tale versione rientra nella famiglia degli algoritmi a vettore delle distanze.
163Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Bellman-Ford (4/4)Algoritmo di Bellman-Ford (4/4)
n
...
...
s
1
j
k
Insieme A dei nodi adiacenti al
nodo s
w(s,j)
w(s,k)
w(s,1)
Insieme degli altri nodi del grafoL(1,n)
L(j,n)
L(k,n)
A
j A
L(s,n) min L(j,n) w(s, j)
164Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Bellman-Ford Distribuito (1/2)Algoritmo di Bellman-Ford Distribuito (1/2)
• Ogni nodo s esegue il seguente calcolo
• Per questo usa:– i valori di w(s,j) (jA) che conosce diretta-
mente;– i valori di L(j,n) (jA) ricevuti dai nodi adia-
centi A.
• A sua volta il nodo s comunica il risultato ai nodi vicini.
• Ogni nodo s esegue il seguente calcolo
• Per questo usa:– i valori di w(s,j) (jA) che conosce diretta-
mente;– i valori di L(j,n) (jA) ricevuti dai nodi adia-
centi A.
• A sua volta il nodo s comunica il risultato ai nodi vicini.
( , ) min ( , ) ( , )j A
L s n L j n w s j
165Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di Bellman-Ford Distribuito (2/2)Algoritmo di Bellman-Ford Distribuito (2/2)
• L’algoritmo distribuito converge a soluzione se la dinamica delle variazioni è più lenta della velocità di convergenza dell’algoritmo:
– in casi particolari la convergenza può essere molto lenta;
– il numero di iterazioni può essere molto elevato.
• L’algoritmo distribuito converge a soluzione se la dinamica delle variazioni è più lenta della velocità di convergenza dell’algoritmo:
– in casi particolari la convergenza può essere molto lenta;
– il numero di iterazioni può essere molto elevato.
166Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Confronto Djikstra, Bellman-FordConfronto Djikstra, Bellman-Ford
• I due algoritmi convergono alla stessa soluzione.
• L’algoritmo di Bellman-Ford, è teoricamente più complesso; ma nei casi pratici i due algoritmi si equivalgono.
• L’algoritmo di Dijkstra richiede che un nodo conosca l’intera topologia della rete e il peso (stato) di tutti i rami
– necessità di colloquio tra tutte le coppie di nodi.
• L’algoritmo di Bellman-Ford richiede la conoscenza dello stato dei rami uscenti da un nodo insieme alle informazioni provenienti dai nodi vicini
– possibilità di colloquio solo tra nodi adiacenti (implementazione distribuita).
• I due algoritmi convergono alla stessa soluzione.
• L’algoritmo di Bellman-Ford, è teoricamente più complesso; ma nei casi pratici i due algoritmi si equivalgono.
• L’algoritmo di Dijkstra richiede che un nodo conosca l’intera topologia della rete e il peso (stato) di tutti i rami
– necessità di colloquio tra tutte le coppie di nodi.
• L’algoritmo di Bellman-Ford richiede la conoscenza dello stato dei rami uscenti da un nodo insieme alle informazioni provenienti dai nodi vicini
– possibilità di colloquio solo tra nodi adiacenti (implementazione distribuita).
167Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.5.7 Protocolli di instradamento
III.5.7 Protocolli di instradamento
III.5 INSTRADAMENTOIII.5 INSTRADAMENTO
168Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Introduzione Introduzione
• Parliamo prima degli IGP; successivamente verranno considerati gli EGP.
• I protocolli IGP vanno distinti, come già detto a proposito degli algoritmi di instradamento, tra
– protocolli a vettore delle distanze;– protocolli a stato di collegamenti.
• Nel seguito viene dato un esempio del primo tipo (protocollo RIP) e uno del secondo (protocollo OSPF).
• Nei protocolli EGP, l’instradamento invece è a vettore di percorso (come avviene nel protocollo BGP).
• Parliamo prima degli IGP; successivamente verranno considerati gli EGP.
• I protocolli IGP vanno distinti, come già detto a proposito degli algoritmi di instradamento, tra
– protocolli a vettore delle distanze;– protocolli a stato di collegamenti.
• Nel seguito viene dato un esempio del primo tipo (protocollo RIP) e uno del secondo (protocollo OSPF).
• Nei protocolli EGP, l’instradamento invece è a vettore di percorso (come avviene nel protocollo BGP).
169Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
RIP (1/5)RIP (1/5)
• Il RIP (Routing Information Protocol) appartiene alla categoria dei protocolli di instradamento a “Vettore delle distanze”.
• E’ richiesto che ogni nodo scambi informazioni con i nodi adiacenti
– due nodi sono adiacenti se sono direttamente connessi mediante la stessa rete.
• RIP è utilizzato in reti di piccole dimensioni.
• E’ molto semplice, tuttavia– la convergenza è lenta;– lo stato di equilibrio può essere un sub-ottimo.
• Il RIP (Routing Information Protocol) appartiene alla categoria dei protocolli di instradamento a “Vettore delle distanze”.
• E’ richiesto che ogni nodo scambi informazioni con i nodi adiacenti
– due nodi sono adiacenti se sono direttamente connessi mediante la stessa rete.
• RIP è utilizzato in reti di piccole dimensioni.
• E’ molto semplice, tuttavia– la convergenza è lenta;– lo stato di equilibrio può essere un sub-ottimo.
170Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
RIP (2/5)RIP (2/5)
• Applica l’algoritmo di Bellman-Ford distribuito.
• Ogni nodo x mantiene al suo interno tre vettori.
• Periodicamente (ogni circa 30 s) avviene lo scambio dei vettori Lx tra i nodi adiacenti.
• Il nodo x calcola il cammino migliore in base alla relazione detta.
• Applica l’algoritmo di Bellman-Ford distribuito.
• Ogni nodo x mantiene al suo interno tre vettori.
• Periodicamente (ogni circa 30 s) avviene lo scambio dei vettori Lx tra i nodi adiacenti.
• Il nodo x calcola il cammino migliore in base alla relazione detta.
)M,x(w
)1,x(w
Wx
)N,x(L
)1,x(L
Lx
)N,x(R
)1,x(R
Rx
Vettore dei costi dei ramiuscenti dal nodo
Vettore delle distanzeminime verso le altre reti
Vettore dei routernext hop verso
le altre reti
171Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
RIP (3/5)RIP (3/5)
• Un messaggio RIP è incapsulato in una unità di dati UDP.
• Pacchetto Request
– è emesso da un router per chiedere ad un nodo vicino l’invio della “distance vector table” o di una parte di essa.
• Pacchetto Response
– è emesso per inviare tutta o una parte della distance vector table;
– è emesso» ogni 30 secondi;» in risposta ad un pacchetto Request;» quando la “routing table” cambia (Triggered updates).
• Un messaggio RIP è incapsulato in una unità di dati UDP.
• Pacchetto Request
– è emesso da un router per chiedere ad un nodo vicino l’invio della “distance vector table” o di una parte di essa.
• Pacchetto Response
– è emesso per inviare tutta o una parte della distance vector table;
– è emesso» ogni 30 secondi;» in risposta ad un pacchetto Request;» quando la “routing table” cambia (Triggered updates).
172Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
RIP (4/5)RIP (4/5)
• Il formato massimo di un messaggio RIP è di 512 byte
– massimo 25 blocchi per messaggio; – in caso di un numero maggiore di 25 indirizzi da aggiornare si
utilizzano messaggi RIP multipli.
• La metrica usata è la distanza (intero compreso da 1 a 16)
– il valore 16 indica infinito (es. ramo indisponibile).
• Se per 180 s un indirizzo di rete non è rinfrescato viene rimosso dalla routing table del router.
• In caso di variazioni consecutive dello stato dei link i messaggi RIP sono emessi con intervallo da 1 a 5 s.
• Il formato massimo di un messaggio RIP è di 512 byte
– massimo 25 blocchi per messaggio; – in caso di un numero maggiore di 25 indirizzi da aggiornare si
utilizzano messaggi RIP multipli.
• La metrica usata è la distanza (intero compreso da 1 a 16)
– il valore 16 indica infinito (es. ramo indisponibile).
• Se per 180 s un indirizzo di rete non è rinfrescato viene rimosso dalla routing table del router.
• In caso di variazioni consecutive dello stato dei link i messaggi RIP sono emessi con intervallo da 1 a 5 s.
173Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
RIP (5/5)RIP (5/5)
– Route Tag» Gestisce l’interoperabilità con
altri protocolli di routing (es. EGP).
– IP address» rete, sottorete o host.
– Subnet Mask» specifica come interpretare i
bit dell’indirizzo.– Next Hop
» indica quale è il next hop router a cui il router emittente il messaggio RIP invierà i pacchetti diretti all’indirizzo specificato.
– Metric» distanza della rete indicata
nell’IP address dal router emittente.
– Route Tag» Gestisce l’interoperabilità con
altri protocolli di routing (es. EGP).
– IP address» rete, sottorete o host.
– Subnet Mask» specifica come interpretare i
bit dell’indirizzo.– Next Hop
» indica quale è il next hop router a cui il router emittente il messaggio RIP invierà i pacchetti diretti all’indirizzo specificato.
– Metric» distanza della rete indicata
nell’IP address dal router emittente.
Address Identifier Route TagIP Address NSubnet Mask
Next HopMetric for address N
Command Version Routing DomainAddress Identifier Route Tag
IP Address 1Subnet Mask
Next HopMetric for address 1
Address Identifier Route TagIP Address 2Subnet Mask
Next HopMetric for address 2
Ad
dre
ss 1
dis
tan
ceA
dd
ress
2d
ista
nce
Fin
o a
25
add
ress
es
174Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
OSPF (1/5)OSPF (1/5)
• L’OSPF (Open Shortest Path First) è un protocollo a “Stato dei collegamenti” che sostituisce il protocollo RIP in reti di grandi dimensioni.
• I router– hanno la responsabilità di contattare i router adiacenti e
di acquisire la loro identità (pacchetti Hello);– formano e trasferiscono a tutti gli altri router i Link State
Advertisement (LSA) che contengono una lista delle reti adiacenti con i relativi costi di raggiungimento.
• Tutti i router della rete hanno lo stesso insieme di dati e quindi possono costruire lo stesso grafo pesato della rete.
• Il grafo di rete è utilizzato per determinare i cammini ottimi e quindi l’instradamento.
• L’OSPF (Open Shortest Path First) è un protocollo a “Stato dei collegamenti” che sostituisce il protocollo RIP in reti di grandi dimensioni.
• I router– hanno la responsabilità di contattare i router adiacenti e
di acquisire la loro identità (pacchetti Hello);– formano e trasferiscono a tutti gli altri router i Link State
Advertisement (LSA) che contengono una lista delle reti adiacenti con i relativi costi di raggiungimento.
• Tutti i router della rete hanno lo stesso insieme di dati e quindi possono costruire lo stesso grafo pesato della rete.
• Il grafo di rete è utilizzato per determinare i cammini ottimi e quindi l’instradamento.
175Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
OSPF (2/5)OSPF (2/5)
• Gli LSP sono emessi– quando un router contatta un nuovo router vicino;– quando un ramo si guasta;– quando il costo di un ramo varia;– periodicamente ogni fissato intervallo di tempo.
• La rete trasporta gli LSA mediante la modalità a “inondazione” (flooding)
– un LSA è rilanciato da un router su tutte le sue interfacce tranne quella da cui è stato ricevuto;
– gli LSA trasportano dei riferimenti temporali (time stamp) o numeri di sequenza per
» evitare il rilancio di pacchetti già rilanciati;» consentire un corretto riscontro dal ricevente.
• Gli LSP sono emessi– quando un router contatta un nuovo router vicino;– quando un ramo si guasta;– quando il costo di un ramo varia;– periodicamente ogni fissato intervallo di tempo.
• La rete trasporta gli LSA mediante la modalità a “inondazione” (flooding)
– un LSA è rilanciato da un router su tutte le sue interfacce tranne quella da cui è stato ricevuto;
– gli LSA trasportano dei riferimenti temporali (time stamp) o numeri di sequenza per
» evitare il rilancio di pacchetti già rilanciati;» consentire un corretto riscontro dal ricevente.
176Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
OSPF (3/5)OSPF (3/5)
• La modalità a “inondazione” ha i seguenti vantaggi
– esplora tutti i possibili cammini tra origine e destinazione;
– è estremamente affidabile e robusta.
• Il traffico generato dipende dalle dimensioni della rete e può essere molto elevato.
• La modalità a “inondazione” ha i seguenti vantaggi
– esplora tutti i possibili cammini tra origine e destinazione;
– è estremamente affidabile e robusta.
• Il traffico generato dipende dalle dimensioni della rete e può essere molto elevato.
177Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
OSPF (4/5)OSPF (4/5)
• I pacchetti OSPF sono incapsulati in datagrammi IP
– protocol identifier = 89.
• Cinque tipi di pacchetti– Hello– Database description– Link state request– Link state update (LSA)– Link state acknowledgement
• Tutti i pacchetti OSPF sono caratterizzati dalla stessa intestazione.
• I pacchetti OSPF sono incapsulati in datagrammi IP
– protocol identifier = 89.
• Cinque tipi di pacchetti– Hello– Database description– Link state request– Link state update (LSA)– Link state acknowledgement
• Tutti i pacchetti OSPF sono caratterizzati dalla stessa intestazione.
178Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
OSPF (5/5)OSPF (5/5)
20Link Stage Header
Reserved
Reserved
Number of links
Link ID
Link Data
Type
Number of TOS
TOS 0 metric
TOS
Reserved
Metric
1
1
2
4
4
1
1
2
1
1
2
Rip
etu
to p
er t
utt
ii
val
ori
di
TO
S
Rip
etu
to p
er o
gn
i c
oll
eg
amen
to
Ott
etti
Authentication Data
Version
Packet Type
Packet Length
Router ID
Area ID
Checksum
Authentication type
1
1
2
4
4
2
2
8
Ott
etti
Intestazione Pacchetto LSA
TOS: Type of Service
179Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Limiti degli IGP come EGPLimiti degli IGP come EGP
• Come già detto, gli algoritmi d’instradamento e i relativi IGP non sono adatti per essere applicati come EGP, in quanto
– i protocolli del tipo RIP» assumono che tutti i router utilizzino la stessa metrica;
questa condizione non è garantita tra AS diversi;» non ci sono indicazioni dei router intermedi lungo il
cammino; in un ambiente inter-AS ci possono essere dei transiti privilegiati e dei transiti proibiti;
– nei protocolli del tipo OSPF» AS diversi possono utilizzare metriche diverse;» la modalità a “inondazione” è inapplicabile tra AS
diversi.
• Come già detto, gli algoritmi d’instradamento e i relativi IGP non sono adatti per essere applicati come EGP, in quanto
– i protocolli del tipo RIP» assumono che tutti i router utilizzino la stessa metrica;
questa condizione non è garantita tra AS diversi;» non ci sono indicazioni dei router intermedi lungo il
cammino; in un ambiente inter-AS ci possono essere dei transiti privilegiati e dei transiti proibiti;
– nei protocolli del tipo OSPF» AS diversi possono utilizzare metriche diverse;» la modalità a “inondazione” è inapplicabile tra AS
diversi.
180Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
BGP (1/2)BGP (1/2)
• Nei protocolli EGP, come è BGP (Border Gateway Protocol), si usa l’istradamento a “Vettore di percorso” (path-vector routing).
• Si utilizzano esclusivamente informazioni riguardanti
– quali reti possono essere raggiunte attraverso un router;
– quali AS sono attraversati lungo il cammino.
• Non si utilizzano metriche.
• Nei protocolli EGP, come è BGP (Border Gateway Protocol), si usa l’istradamento a “Vettore di percorso” (path-vector routing).
• Si utilizzano esclusivamente informazioni riguardanti
– quali reti possono essere raggiunte attraverso un router;
– quali AS sono attraversati lungo il cammino.
• Non si utilizzano metriche.
181Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
BGP (2/2)BGP (2/2)
• Si utilizzano solo informazioni di raggiungibilità: si determina la lista degli AS che devono essere attraversati per raggiungere una particolare rete lungo un particolare cammino;– l’instradamento terrà conto di eventuali preferenze
per alcuni AS rispetto ad altri (accordi commerciali, prestazioni, ecc.).
• Permette ai router di bordo di un AS (BGP Speaker) di scambiarsi informazioni di raggiungibilità tra AS diversi.
• Supporta il meccanismo di indirizzamento CIDR.• Lo scambio di messaggi BGP è supportato da
connessioni TCP.• La versione più recente è BGP-4.
• Si utilizzano solo informazioni di raggiungibilità: si determina la lista degli AS che devono essere attraversati per raggiungere una particolare rete lungo un particolare cammino;– l’instradamento terrà conto di eventuali preferenze
per alcuni AS rispetto ad altri (accordi commerciali, prestazioni, ecc.).
• Permette ai router di bordo di un AS (BGP Speaker) di scambiarsi informazioni di raggiungibilità tra AS diversi.
• Supporta il meccanismo di indirizzamento CIDR.• Lo scambio di messaggi BGP è supportato da
connessioni TCP.• La versione più recente è BGP-4.
182Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Esempio di applicazione BGP (1/3)Esempio di applicazione BGP (1/3)
BGPrelationship
R6
R8
R7
SubNet 2.1
SubNet 2.3
SubNet 2.4
AS 2
SubNet 2.2R5
R3
SubNet 1.2
SubNet 1.3
SubNet 1.4
R2
R4 R1
AS 1
SubNet 3.3
AS 3R10
R11SubNet 3.2
R9
SubNet 1.1
SubNet 3.1
183Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Esempio di applicazione BGP (2/3)Esempio di applicazione BGP (2/3)
• I router R1, R5 e R9 sono rispettivamente i BGP speaker degli AS1, AS2 e AS3.
• I router R1, R5 e R9 implementano anche un protocollo IGP (es. OSPF) e quindi conoscono la struttura interna dei propri AS.
• Il router R1 emette un messaggio BGP verso R5 con:– l’identità di AS1;– l’indirizzo IP di R1;– la lista delle sottoreti di AS1.
• R5 memorizza che le reti di AS1 sono raggiungibili tramite R1.
• I router R1, R5 e R9 sono rispettivamente i BGP speaker degli AS1, AS2 e AS3.
• I router R1, R5 e R9 implementano anche un protocollo IGP (es. OSPF) e quindi conoscono la struttura interna dei propri AS.
• Il router R1 emette un messaggio BGP verso R5 con:– l’identità di AS1;– l’indirizzo IP di R1;– la lista delle sottoreti di AS1.
• R5 memorizza che le reti di AS1 sono raggiungibili tramite R1.
184Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Esempio di applicazione BGP (3/3)Esempio di applicazione BGP (3/3)
• R5 emette un messaggio BGP verso R9 contenente:– le identità di AS1 e AS2;– l’indirizzo IP di R5;– la lista delle sottoreti di AS1.
• Il messaggio avverte R9 che le reti di AS1 sono raggiungibili tramite il router R5 e che nel cammino sono attraversati sia AS2 che AS1.
• A sua volta R9 invia, verso i router appartenenti a AS adiacenti, un messaggio BGP contenente:
– le identità di AS1, AS2 e AS3;– l’indirizzo IP di R9;– la lista delle sottoreti di AS1.
• In questo modo le informazioni di raggiungibilità si propagheranno di router in router attraverso tutta la rete.
• R5 emette un messaggio BGP verso R9 contenente:– le identità di AS1 e AS2;– l’indirizzo IP di R5;– la lista delle sottoreti di AS1.
• Il messaggio avverte R9 che le reti di AS1 sono raggiungibili tramite il router R5 e che nel cammino sono attraversati sia AS2 che AS1.
• A sua volta R9 invia, verso i router appartenenti a AS adiacenti, un messaggio BGP contenente:
– le identità di AS1, AS2 e AS3;– l’indirizzo IP di R9;– la lista delle sottoreti di AS1.
• In questo modo le informazioni di raggiungibilità si propagheranno di router in router attraverso tutta la rete.
III.6 Controllo della QoSIII.6 Controllo della QoS
Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
186Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
ContenutiContenuti
III.6.1 Il problema del controllo della QoSIII.6.2 Controllo d’errore in TCPIII.6.3 Dimensionamento del RTOIII.6.4 Controllo di flussoIII.6.5 Controllo di congestione
III.6.1 Il problema del controllo della QoSIII.6.2 Controllo d’errore in TCPIII.6.3 Dimensionamento del RTOIII.6.4 Controllo di flussoIII.6.5 Controllo di congestione
187Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.6 CONTROLLO DELLA QoSIII.6 CONTROLLO DELLA QoS
III.6.1 Il problema del controllo della QoS
III.6.1 Il problema del controllo della QoS
188Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
L’integrità informativaL’integrità informativa
• Con riferimento ad una comunicazione di dati, la qualità di servizio è prevalentemente determinata dalla integrità informativa che caratterizza l’operazione di trasporto delle informazioni.
• In questo quadro assumono un ruolo dominante–il controllo degli errori;–il controllo di flusso;–il controllo di congestione.
• A queste tre funzioni, che sono analizzate con riferimento al protocollo TCP, è dedicata la trattazione che segue.
• Con riferimento ad una comunicazione di dati, la qualità di servizio è prevalentemente determinata dalla integrità informativa che caratterizza l’operazione di trasporto delle informazioni.
• In questo quadro assumono un ruolo dominante–il controllo degli errori;–il controllo di flusso;–il controllo di congestione.
• A queste tre funzioni, che sono analizzate con riferimento al protocollo TCP, è dedicata la trattazione che segue.
189Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Meccanismo di trasferimento (1/3)Meccanismo di trasferimento (1/3)
• Per il trasferimento delle TCP –PDU (segmenti) sulla connessione di strato, il TCP adotta la tecnica a “conduttura” (Pipelining) già incontrata nei protocolli di strato di collegamento;
• cioè ad una entità emittente è consentito di trasferire segmenti multipli senza dover attendere un riscontro per ciascuno di questi.
• Per il trasferimento delle TCP –PDU (segmenti) sulla connessione di strato, il TCP adotta la tecnica a “conduttura” (Pipelining) già incontrata nei protocolli di strato di collegamento;
• cioè ad una entità emittente è consentito di trasferire segmenti multipli senza dover attendere un riscontro per ciascuno di questi.
190Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Meccanismo di trasferimento (2/3)Meccanismo di trasferimento (2/3)
• Ciò richiede di– individuare i segmenti emessi in modo che
» sia possibile ricostruire in ricezione la loro corretta sequenzialità;
» sia consentito, per ogni segmento, un riscontro positivo univoco da parte dell’entità ricevente e a favore di quella emittente;
• Ciò richiede di– individuare i segmenti emessi in modo che
» sia possibile ricostruire in ricezione la loro corretta sequenzialità;
» sia consentito, per ogni segmento, un riscontro positivo univoco da parte dell’entità ricevente e a favore di quella emittente;
191Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Meccanismo di trasferimento (3/3)Meccanismo di trasferimento (3/3)
– limitare quantitativamente l’emissione dei segmenti da parte dell’entità emittente e la loro accettazione da parte dell’entità ricevente in modo che sia adattabile il flusso dei segmenti trasferito alle possibilità di smaltimento dell’utente del servizio di strato all’estremità.
• Queste esigenze possono essere soddisfatte con l’impiego di–numeri di sequenze in emissione e in ricezione;– finestre scorrevoli in emissione e in ricezione.
– limitare quantitativamente l’emissione dei segmenti da parte dell’entità emittente e la loro accettazione da parte dell’entità ricevente in modo che sia adattabile il flusso dei segmenti trasferito alle possibilità di smaltimento dell’utente del servizio di strato all’estremità.
• Queste esigenze possono essere soddisfatte con l’impiego di–numeri di sequenze in emissione e in ricezione;– finestre scorrevoli in emissione e in ricezione.
192Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.6.2 Controllo d’errore in TCP
III.6.2 Controllo d’errore in TCP
III.6 CONTROLLO DELLA QoSIII.6 CONTROLLO DELLA QoS
193Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Mezzi per il controllo d’errore (1/3)Mezzi per il controllo d’errore (1/3)
• In TCP il controllo d’errore è basato sull’impiego di
–una codifica a rivelazione d’errore che» è effettuata dall’entità TCP emittente e il cui
risultato è inserito nell’intestazione del segmento (Checksum);
» è utilizzata dall’entità TCP ricevente per la rivelazione di eventuali errori.
• In TCP il controllo d’errore è basato sull’impiego di
–una codifica a rivelazione d’errore che» è effettuata dall’entità TCP emittente e il cui
risultato è inserito nell’intestazione del segmento (Checksum);
» è utilizzata dall’entità TCP ricevente per la rivelazione di eventuali errori.
194Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Mezzi per il controllo d’errore (2/3)Mezzi per il controllo d’errore (2/3)
– riscontri positivi (ACK), che possono essere inoltrati dall’entità TCP ricevente con segmenti vuoti (senza dati) ovvero in modalità “addossamento”(piggybacking);
– riscontri positivi (ACK), che possono essere inoltrati dall’entità TCP ricevente con segmenti vuoti (senza dati) ovvero in modalità “addossamento”(piggybacking);
195Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Mezzi per il controllo d’errore (3/3)Mezzi per il controllo d’errore (3/3)
– temporizzatori (timer) nell’entità TCP emittente, che, predisposti in modo adattativo per un certo tempo limite (Retransmission Timeout-RTO),
» vengono attivati nel momento in cui un segmento viene inoltrato su una connessione uscente;
» vengono disattivati nel momento in cui viene ricevuto un ACK relativo al segmento corrispondente e quando tale ricezione avviene prima che l’RTO si esaurisca.
– temporizzatori (timer) nell’entità TCP emittente, che, predisposti in modo adattativo per un certo tempo limite (Retransmission Timeout-RTO),
» vengono attivati nel momento in cui un segmento viene inoltrato su una connessione uscente;
» vengono disattivati nel momento in cui viene ricevuto un ACK relativo al segmento corrispondente e quando tale ricezione avviene prima che l’RTO si esaurisca.
196Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Opzionalità realizzative del TCPOpzionalità realizzative del TCP
• Lo standard TCP fornisce una precisa specifica del protocollo che deve essere usato tra entità TCP.
• Tuttavia, in questa specifica sono previste diverse opzioni realizzative, che sono interoperabili ma con implicazioni prestazionali.
• Le aree di opzionalità sono– l’emissione;– l’inoltro;– l’accettazione;– la riemissione;– il riscontro.
• Lo standard TCP fornisce una precisa specifica del protocollo che deve essere usato tra entità TCP.
• Tuttavia, in questa specifica sono previste diverse opzioni realizzative, che sono interoperabili ma con implicazioni prestazionali.
• Le aree di opzionalità sono– l’emissione;– l’inoltro;– l’accettazione;– la riemissione;– il riscontro.
197Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Emissione (1/2)Emissione (1/2)
• In assenza di –una richiesta di push;–una finestra di emissione chiusa,
una entità TCP emittente è libera di emettere i dati a sua discrezione.
• Quando l’utente TCP fornisce i dati, questi vengono memorizzati nel buffer di emissione.
• In assenza di –una richiesta di push;–una finestra di emissione chiusa,
una entità TCP emittente è libera di emettere i dati a sua discrezione.
• Quando l’utente TCP fornisce i dati, questi vengono memorizzati nel buffer di emissione.
198Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Emissione (2/2)Emissione (2/2)
• L’entità TCP emittente–può costruire un segmento ad ogni gruppo di
dati forniti dal proprio utente;–può aspettare di averne raccolto una certa
quantità prima di costruire un segmento.
• L’entità TCP emittente–può costruire un segmento ad ogni gruppo di
dati forniti dal proprio utente;–può aspettare di averne raccolto una certa
quantità prima di costruire un segmento.
199Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
InoltroInoltro
• In assenza di push, una entità TCP ricevente è libera, a propria discrezione, di inoltrare dati al proprio utente; in particolare,–può inoltrare dati appena riceve un segmento nel
giusto ordine;–può decidere di memorizzare i dati di un certo
numero di segmenti nel buffer di ricezione prima di inoltrarli all’utente.
• In assenza di push, una entità TCP ricevente è libera, a propria discrezione, di inoltrare dati al proprio utente; in particolare,–può inoltrare dati appena riceve un segmento nel
giusto ordine;–può decidere di memorizzare i dati di un certo
numero di segmenti nel buffer di ricezione prima di inoltrarli all’utente.
200Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
AccettazioneAccettazione
• Quando tutti i segmenti dati arrivano in ordine, l’entità TCP ricevente memorizza i dati nel buffer di ricezione per inoltrarli al proprio utente.
• Quando i segmenti arrivano fuori ordine, l’entità TCP ricevente ha due opzioni
– accetta solo i segmenti che arrivano in ordine; ogni segmento che arriva fuori ordine viene scartato;
– accetta tutti i segmenti che rientrano nella finestra di ricezione e scarta quelli che cascano fuori della finestra.
• Quando tutti i segmenti dati arrivano in ordine, l’entità TCP ricevente memorizza i dati nel buffer di ricezione per inoltrarli al proprio utente.
• Quando i segmenti arrivano fuori ordine, l’entità TCP ricevente ha due opzioni
– accetta solo i segmenti che arrivano in ordine; ogni segmento che arriva fuori ordine viene scartato;
– accetta tutti i segmenti che rientrano nella finestra di ricezione e scarta quelli che cascano fuori della finestra.
201Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Riemissione (1/4)Riemissione (1/4)
L’entità TCP emittente • mantiene una coda di segmenti già emessi, ma per i
quali non è stato ricevuto il riscontro;• riemette un segmento se non riceve un suo
riscontro entro l’RTO.
L’entità TCP emittente • mantiene una coda di segmenti già emessi, ma per i
quali non è stato ricevuto il riscontro;• riemette un segmento se non riceve un suo
riscontro entro l’RTO.
202Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Riemissione (2/4)Riemissione (2/4)
• Esistono però tre diverse strategie di riemissionesolo il primo: mantiene un solo timer di
riemissione per l’intera coda; se riceve un riscontro (prima dell’esaurimento
dell’RTO), rimuove il relativo segmento o segmenti dalla coda e re-inizializza il timer;
se l’RTO si esaurisce (prima della ricezione di un riscontro), riemette il segmento in cima alla coda e re-inizializza il timer.
• Esistono però tre diverse strategie di riemissionesolo il primo: mantiene un solo timer di
riemissione per l’intera coda; se riceve un riscontro (prima dell’esaurimento
dell’RTO), rimuove il relativo segmento o segmenti dalla coda e re-inizializza il timer;
se l’RTO si esaurisce (prima della ricezione di un riscontro), riemette il segmento in cima alla coda e re-inizializza il timer.
203Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Riemissione (3/4)Riemissione (3/4)
a lotto: mantiene un solo timer di riemissione per l’intera coda;
se riceve un riscontro, rimuove il relativo segmento o segmenti dalla coda e re-inizializza il timer;
se l’RTO si esaurisce, riemette tutti i segmenti nella coda e re-inizializza il timer;
a lotto: mantiene un solo timer di riemissione per l’intera coda;
se riceve un riscontro, rimuove il relativo segmento o segmenti dalla coda e re-inizializza il timer;
se l’RTO si esaurisce, riemette tutti i segmenti nella coda e re-inizializza il timer;
204Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Riemissione (4/4)Riemissione (4/4)
individuale: mantiene un timer differente per ogni segmento nella coda;
se riceve un riscontro, rimuove il relativo segmento o segmenti dalla coda e disattiva il timer o i timer corrispondenti;
se l’RTO di un qualunque timer si esaurisce, riemette il segmento corrispondente e re-inizializza il timer.
individuale: mantiene un timer differente per ogni segmento nella coda;
se riceve un riscontro, rimuove il relativo segmento o segmenti dalla coda e disattiva il timer o i timer corrispondenti;
se l’RTO di un qualunque timer si esaurisce, riemette il segmento corrispondente e re-inizializza il timer.
205Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Riscontro (1/2)Riscontro (1/2)
Per quanto riguarda il ritardo di riscontro, l’entità TCP ricevente può agire secondo due modalità
• Immediata, appena vengono accettati i dati, emette immediatamente un segmento vuoto (senza dati) che contiene l’appropriato numero di riscontro;
Per quanto riguarda il ritardo di riscontro, l’entità TCP ricevente può agire secondo due modalità
• Immediata, appena vengono accettati i dati, emette immediatamente un segmento vuoto (senza dati) che contiene l’appropriato numero di riscontro;
206Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Riscontro (2/2)Riscontro (2/2)
• Cumulativa, appena vengono accettati i dati, tiene memoria della necessità di inviare un riscontro, ma aspetta un segmento in uscita nel quale inserirlo; per evitare lunghi ritardi, attiva un timer di
finestra; se il tempo di questo timer si esaurisce
prima che venga inviato un riscontro, emette un segmento vuoto che contiene l’appropriato numero di riscontro.
• Cumulativa, appena vengono accettati i dati, tiene memoria della necessità di inviare un riscontro, ma aspetta un segmento in uscita nel quale inserirlo; per evitare lunghi ritardi, attiva un timer di
finestra; se il tempo di questo timer si esaurisce
prima che venga inviato un riscontro, emette un segmento vuoto che contiene l’appropriato numero di riscontro.
207Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Procedura ARQ Procedura ARQ
• Se l’entità TCP ricevente utilizza–una accettazione “in ordine”, scarta i pacchetti
ricevuti dopo un segmento perso: ciò si adatta alla riemissione “a lotto”;
–una accettazione a finestra, le strategie migliori sono quelle “solo il primo” e “individuale”.
• Il TCP può quindi essere categorizzato come un ibrido dei protocolli Go-Back-N e Selective Repeat
• Se l’entità TCP ricevente utilizza–una accettazione “in ordine”, scarta i pacchetti
ricevuti dopo un segmento perso: ciò si adatta alla riemissione “a lotto”;
–una accettazione a finestra, le strategie migliori sono quelle “solo il primo” e “individuale”.
• Il TCP può quindi essere categorizzato come un ibrido dei protocolli Go-Back-N e Selective Repeat
208Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Dimensionamento dell’RTO (1/3)Dimensionamento dell’RTO (1/3)
• Il dimensionamento dell’RTO è critico– se il suo valore è troppo piccolo, alcuni segmenti in
ritardo a causa di congestione, potrebbero essere considerati persi e quindi ritrasmessi inutilmente;
– se il suo valore è troppo grande, la risposta ad un evento di perdita sarebbe troppo lenta.
• Il dimensionamento dell’RTO è critico– se il suo valore è troppo piccolo, alcuni segmenti in
ritardo a causa di congestione, potrebbero essere considerati persi e quindi ritrasmessi inutilmente;
– se il suo valore è troppo grande, la risposta ad un evento di perdita sarebbe troppo lenta.
209Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Dimensionamento dell’RTO (2/3)Dimensionamento dell’RTO (2/3)
• L’RTO è determinato con uno schema adattativo.
• Il TCP misura dinamicamente il Round Trip Time (RTT) e cioè il ritardo tra l’invio di un segmento e la ricezione del relativo ACK .
• Dai valori misurati di RTT effettuati in corrispondenza di ogni ACK si ottiene un valore stimato di RTT.
• Il valore di RTO è scelto maggiore del valore stimato di RTT.
• L’RTO è determinato con uno schema adattativo.
• Il TCP misura dinamicamente il Round Trip Time (RTT) e cioè il ritardo tra l’invio di un segmento e la ricezione del relativo ACK .
• Dai valori misurati di RTT effettuati in corrispondenza di ogni ACK si ottiene un valore stimato di RTT.
• Il valore di RTO è scelto maggiore del valore stimato di RTT.
210Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Dimensionamento dell’RTO (3/3)Dimensionamento dell’RTO (3/3)
• La misura del RTT è affetta da errori– l’emissione degli ACK del ricevente può essere non
immediata– in caso di riemissioni è impossibile distinguere se
l’ACK si riferisce al segmento iniziale o al segmento riemesso
– lo stato di congestione della rete può cambiare rapidamente.
• La misura del RTT è affetta da errori– l’emissione degli ACK del ricevente può essere non
immediata– in caso di riemissioni è impossibile distinguere se
l’ACK si riferisce al segmento iniziale o al segmento riemesso
– lo stato di congestione della rete può cambiare rapidamente.
211Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.6.3 Dimensionamento del RTO
III.6.3 Dimensionamento del RTO
III.6 CONTROLLO DELLA QoSIII.6 CONTROLLO DELLA QoS
212Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Calcolo del RTO (1/4)Calcolo del RTO (1/4)
• Il RTT è misurato segmento per segmento e sulle relative misure si effettua una opportuna operazione di media.
• In luogo di una media aritmetica ARTT (k + 1) dei valori di RTT risultanti dalle misure effettuate ai passi che includono e che precedono il passo k + 1, e cioè in luogo di
ove i valori di RTT hanno tutti lo stesso peso, si è preferito assumere una media pesata, in cui abbiano maggior peso le misure più recenti rispetto a quelle meno recenti.
• Il RTT è misurato segmento per segmento e sulle relative misure si effettua una opportuna operazione di media.
• In luogo di una media aritmetica ARTT (k + 1) dei valori di RTT risultanti dalle misure effettuate ai passi che includono e che precedono il passo k + 1, e cioè in luogo di
ove i valori di RTT hanno tutti lo stesso peso, si è preferito assumere una media pesata, in cui abbiano maggior peso le misure più recenti rispetto a quelle meno recenti.
1
1
1 11 1
1 1 1
k
i
kARTT k RTT i ARTT k RTT k
k k k,
213Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Calcolo del RTO (2/4)Calcolo del RTO (2/4)
• Tale media pesata (Smoothed Round Trip Estimate), denotata con SRTT (k+1) quando calcolata al passo k+1, è definita da
in cui α è un parametro il cui valore deve essere scelto opportunamente; minori valori corrispondono a un veloce aggiornamento di SRTT; maggiori valori rendono SRTT insensibile a brevi variazioni di RTT; il valore raccomandato è
• Tale media pesata (Smoothed Round Trip Estimate), denotata con SRTT (k+1) quando calcolata al passo k+1, è definita da
in cui α è un parametro il cui valore deve essere scelto opportunamente; minori valori corrispondono a un veloce aggiornamento di SRTT; maggiori valori rendono SRTT insensibile a brevi variazioni di RTT; il valore raccomandato è
11
1
1 1
1 1
kk i
i
SRTT k RTT i
SRTT k RTT k ,
1
8.
214Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Calcolo del RTO (3/4)Calcolo del RTO (3/4)
• Per tenere conto di situazioni in cui RTT subisce sensibili variazioni sarebbe utile stimarne la deviazione standard.
• Per ragioni di semplicità di stima, si fa invece riferimento alla deviazione media pesata di RTT, definita da
in cui la deviazione al passo k + 1 è data da
• Per il parametro β viene suggerito il valore
• Per tenere conto di situazioni in cui RTT subisce sensibili variazioni sarebbe utile stimarne la deviazione standard.
• Per ragioni di semplicità di stima, si fa invece riferimento alla deviazione media pesata di RTT, definita da
in cui la deviazione al passo k + 1 è data da
• Per il parametro β viene suggerito il valore
,111 kDEVkSDEVkSDEV
.11 kSRTTkRTTkDEV
.4
1
215Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Calcolo del RTO (4/4)Calcolo del RTO (4/4)
• Sulla base dei valori calcolati di SRTT(k) e SDEV(k), il valore che si suggerisce di attribuire a RTO al passo k è il seguente
• Sulla base dei valori calcolati di SRTT(k) e SDEV(k), il valore che si suggerisce di attribuire a RTO al passo k è il seguente
.4 kSDEVkSRTTkRTO
216Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Exponential RTO BackoffExponential RTO Backoff
• Determina il valore di RTO associato ad un segmento riemesso. • Al riguardo
– è consigliabile variare il valore di RTO sui segmenti riemessi perché l’esaurimento dell’RTO è dovuto a congestione in rete
– è consigliabile variare il valore di RTO delle sorgenti che sono coinvolte nella congestione per evitare riemissioni contemporanee.
• Una sorgente TCP aumenta il valore di RTO per ogni riemissione (exponential backoff process) (normalmente q=2)
• Determina il valore di RTO associato ad un segmento riemesso. • Al riguardo
– è consigliabile variare il valore di RTO sui segmenti riemessi perché l’esaurimento dell’RTO è dovuto a congestione in rete
– è consigliabile variare il valore di RTO delle sorgenti che sono coinvolte nella congestione per evitare riemissioni contemporanee.
• Una sorgente TCP aumenta il valore di RTO per ogni riemissione (exponential backoff process) (normalmente q=2)
i 1 iRTO q RTO
217Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Algoritmo di KarnAlgoritmo di Karn
• L’entità TCP ricevente non distingue se il riscontro si riferisce
– alla prima emissione del segmento (RTO troppo elevato con perdita di efficienza e inutili ritardi)
– alla riemissione del segmento (RTO troppo breve e quindi riemissioni eccessive e nuovi errori di misura).
• L’algoritmo di Karn stabilisce di– non considerare il RTT dei segmenti riemessi– usare come RTO il valore dato dalla procedura di
exponential backoff– ricalcolare il nuovo valore di RTO solo al momento della
ricezione di un ACK di un segmento non riemesso.
• L’entità TCP ricevente non distingue se il riscontro si riferisce
– alla prima emissione del segmento (RTO troppo elevato con perdita di efficienza e inutili ritardi)
– alla riemissione del segmento (RTO troppo breve e quindi riemissioni eccessive e nuovi errori di misura).
• L’algoritmo di Karn stabilisce di– non considerare il RTT dei segmenti riemessi– usare come RTO il valore dato dalla procedura di
exponential backoff– ricalcolare il nuovo valore di RTO solo al momento della
ricezione di un ACK di un segmento non riemesso.
218Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Esempio di calcolo del RTOEsempio di calcolo del RTO
0.00
2.00
4.00
6.00
8.00
10.00
12.00
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0.00
2.00
4.00
6.00
8.00
10.00
12.00
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
RTO
RTT
Segmenti
Tem
po
(s)
219Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.6.4 Controllo di flusso
III.6.4 Controllo di flusso
III.6 CONTROLLO DELLA QoSIII.6 CONTROLLO DELLA QoS
220Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Controllo di Flusso (1/4)Controllo di Flusso (1/4)
• Il controllo di flusso ha lo scopo di limitare il ritmo di emissione dei dati da parte di un host per evitare la saturazione della capacità del buffer di ricezione.
• Il controllo di flusso è indispensabile in Internet dove sono presenti host di potenzialità molto diverse.
• Il controllo di flusso ha lo scopo di limitare il ritmo di emissione dei dati da parte di un host per evitare la saturazione della capacità del buffer di ricezione.
• Il controllo di flusso è indispensabile in Internet dove sono presenti host di potenzialità molto diverse.
221Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Controllo di Flusso (2/4)Controllo di Flusso (2/4)
• TCP utilizza un controllo di flusso basato su una finestra scorrevole di larghezza variabile.
• Lo scorrimento e la larghezza della finestra sono controllati dall’entità TCP ricevente
• Il controllo di flusso opera a livello di ottetti (byte).
• Gli ottetti sono numerati in sequenza a partire dal numero scelto durante il 3-way handshaking (procedura di instaurazione della connessione).
• TCP utilizza un controllo di flusso basato su una finestra scorrevole di larghezza variabile.
• Lo scorrimento e la larghezza della finestra sono controllati dall’entità TCP ricevente
• Il controllo di flusso opera a livello di ottetti (byte).
• Gli ottetti sono numerati in sequenza a partire dal numero scelto durante il 3-way handshaking (procedura di instaurazione della connessione).
222Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Controllo di Flusso (3/4)Controllo di Flusso (3/4)
• Con riferimento ad un segmento TCP, indichiamo con » SN: il Numero di Sequenza (Sequence Number);» AN: il Numero di Riscontro (Acknowledgement
Number);» WD: la Larghezza della Finestra (Window).
• SN si riferisce al primo ottetto contenuto nel segmento.• AN si riferisce al prossimo ottetto che l’entità ricevente
aspetta di ricevere.• WD esprime il numero massimo di ottetti che l’entità
emittente può emettere consecutivamente senza ricevere riscontro per alcuno di questi.
• Con riferimento ad un segmento TCP, indichiamo con » SN: il Numero di Sequenza (Sequence Number);» AN: il Numero di Riscontro (Acknowledgement
Number);» WD: la Larghezza della Finestra (Window).
• SN si riferisce al primo ottetto contenuto nel segmento.• AN si riferisce al prossimo ottetto che l’entità ricevente
aspetta di ricevere.• WD esprime il numero massimo di ottetti che l’entità
emittente può emettere consecutivamente senza ricevere riscontro per alcuno di questi.
223Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Controllo di Flusso (4/4)Controllo di Flusso (4/4)
• Un riscontro (AN = X e WD = W) significa che– sono riscontrati tutti gli ottetti ricevuti fino a quello
numerato con X–1;– l’entità TCP emittente è autorizzata a trasmettere fino
a ulteriori W ottetti, ovvero fino all’ottetto numerato con X+W – 1.
• Un riscontro (AN = X e WD = W) significa che– sono riscontrati tutti gli ottetti ricevuti fino a quello
numerato con X–1;– l’entità TCP emittente è autorizzata a trasmettere fino
a ulteriori W ottetti, ovvero fino all’ottetto numerato con X+W – 1.
224Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Controllo della Finestra (1/2)Controllo della Finestra (1/2)
• Puntatori per il controllo a finestra lato emittente
• Puntatori per il controllo a finestra lato ricevente
• Puntatori per il controllo a finestra lato emittente
• Puntatori per il controllo a finestra lato ricevente
Numero di sequenza iniziale
Ultimo ottettoriscontrato
Prossimo ottettoda emettere
Limite superiore della finestra
Ottetti emessie riscontrati
Ottetti emessi nonancora riscontrati
Ottetti autorizzati allaemissione
Ottetti emessi
Numero di sequenza iniziale
Ultimo ottettoriscontrato
Ultimo ottetto accettato
Limite superiore della finestra
Ottetti ricevutie riscontrati
Ottetti accettati e nonancora riscontrati
Ottetti autorizzati allaaccettazione
Ottetti ricevuti
225Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Controllo della Finestra (2/2)Controllo della Finestra (2/2)
SN = 1001 (200)SN = 1201 (400)
SN = 1601 (200)
1000 1001 2400 2401
Pronto a ricevere 1400 ottetti
1000 1601 2400 2401
1600 1601 26012600
Ricevuti 600 ottettidisponibilità per altri 200 ottetti
1000 1001 2400 2401
Finestra iniziale 1400 ottetti
AN = 1601
WD = 1000
SN = 1801 (200)1000 2001 2400 2401
1600 1601 26012001 2600
Ricevuti ulteriori 400 ottetti
1600 1601 26012001 2600
Finestra incrementata di 200 ottetti
2600 2601 4000 4001
Ricevuti ulteriori 600 ottettidisponibilità per altri 1400 ottetti
SN = 2001 (200)
SN = 2401 (200)
SN = 2201 (200)
1600 1601 2600 2601
Finestra esaurita
AN = 2601; WD = 1400
2600 2601 4000 4001
Finestra incrementata di 1400 otteti
226Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Portata media di una connessione TCP (1/3)
Portata media di una connessione TCP (1/3)
• La portata media normalizzata U di una connessione TCP, nell’ipotesi di extra informazione nulla e di assenza di ritrasmissioni, è data da
ove» C è il ritmo binario della connessione;» W è la larghezza della finestra;» è il ritardo di propagazione sulla connessione;» = C/8 (rapporto tra ritardo di propagazione e
tempo di trasmissione di un ottetto).
• La portata media normalizzata U di una connessione TCP, nell’ipotesi di extra informazione nulla e di assenza di ritrasmissioni, è data da
ove» C è il ritmo binario della connessione;» W è la larghezza della finestra;» è il ritardo di propagazione sulla connessione;» = C/8 (rapporto tra ritardo di propagazione e
tempo di trasmissione di un ottetto).
WU W
W
1 2 1
2 12 1
se
se
227Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Portata media di una connessione TCP (2/3)
Portata media di una connessione TCP (2/3)
• Se si suppone 2 » 1, risulta allora
in funzione della larghezza della finestra W (in ottetti)e del prodotto C (in bit).
• Se si suppone 2 » 1, risulta allora
in funzione della larghezza della finestra W (in ottetti)e del prodotto C (in bit).
W CΔU W
W CΔCΔ
1 / 4
4/ 4
se
se
228Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Portata media di una connessione TCP (3/3)
Portata media di una connessione TCP (3/3)
0,2
0,4
0,6
0,8
1
W=65.535 ottetti
Po
rtat
a m
edia
no
rmal
izza
ta
0
1 101
Prodotto C (bit)
102 103 104 105 106 107 108
1 Gb/s Ethernet(100 m)
Satellite link(1.544 Mb/s m)
SDH STM-1(NY-Tokyo)
W’=4.W
229Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
III.6.5 Controllo di congestione
III.6.5 Controllo di congestione
III.6 CONTROLLO DELLA QoSIII.6 CONTROLLO DELLA QoS
230Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Stato di congestione (1/3)Stato di congestione (1/3)
• In una rete con modo di trasferimento a pacchetto, si può presentare uno stato di congestione
– se il carico offerto alla rete è maggiore della sua capacità, e cioè se il numero di pacchetti consegnati alla rete in un intervallo di tempo è maggiore del numero di pacchetti che la rete può trattare nello stesso intervallo di tempo;
• In una rete con modo di trasferimento a pacchetto, si può presentare uno stato di congestione
– se il carico offerto alla rete è maggiore della sua capacità, e cioè se il numero di pacchetti consegnati alla rete in un intervallo di tempo è maggiore del numero di pacchetti che la rete può trattare nello stesso intervallo di tempo;
231Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Stato di congestione (2/3)Stato di congestione (2/3)
– perchè l’attraversamento di ogni nodo del percorso di rete da parte di un pacchetto avviene con tre componenti di ritardo:
» una prima nel buffer di ingresso in attesa del processamento del pacchetto;
» una seconda nel modulo di processamento dove vengono utilizzati l’indirizzo di destinazione nel pacchetto e la tabella di instradamento nel nodo per trovare la via di uscita;
» una terza nel buffer di uscita per risolvere le contese di utilizzazione della linea di uscita.
– perchè l’attraversamento di ogni nodo del percorso di rete da parte di un pacchetto avviene con tre componenti di ritardo:
» una prima nel buffer di ingresso in attesa del processamento del pacchetto;
» una seconda nel modulo di processamento dove vengono utilizzati l’indirizzo di destinazione nel pacchetto e la tabella di instradamento nel nodo per trovare la via di uscita;
» una terza nel buffer di uscita per risolvere le contese di utilizzazione della linea di uscita.
232Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Stato di congestione (3/3)Stato di congestione (3/3)
• La prima componente di ritardo cresce quando il ritmo di arrivo dei pacchetti nel nodo è maggiore del ritmo di elaborazione dei pacchetti nel modulo di processamento.
• La seconda componente di ritardo cresce quando il ritmo di partenza dei pacchetti dal nodo è minore del ritmo di elaborazione dei pacchetti.
• La prima componente di ritardo cresce quando il ritmo di arrivo dei pacchetti nel nodo è maggiore del ritmo di elaborazione dei pacchetti nel modulo di processamento.
• La seconda componente di ritardo cresce quando il ritmo di partenza dei pacchetti dal nodo è minore del ritmo di elaborazione dei pacchetti.
233Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Conseguenze di uno stato di congestione (1/2)
Conseguenze di uno stato di congestione (1/2)
• Riguardano il ritardo di trasferimento dei pacchetti da estremo a estremo e la portata del percorso di rete; limitiamo la considerazione ai valori medi di queste due grandezze:
– il valore medio del ritardo di trasferimento è una funzione che
» cresce monotonamente al crescere del carico medio entro valori inferiori alla capacità della rete;
» cresce indefinitamente quando il carico medio approssima per difetto la capacità della rete e quando la capacità dei buffer di ingresso e di uscita è senza limiti.
• Riguardano il ritardo di trasferimento dei pacchetti da estremo a estremo e la portata del percorso di rete; limitiamo la considerazione ai valori medi di queste due grandezze:
– il valore medio del ritardo di trasferimento è una funzione che
» cresce monotonamente al crescere del carico medio entro valori inferiori alla capacità della rete;
» cresce indefinitamente quando il carico medio approssima per difetto la capacità della rete e quando la capacità dei buffer di ingresso e di uscita è senza limiti.
234Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Conseguenze di uno stato di congestione (2/2)
Conseguenze di uno stato di congestione (2/2)
– la portata media è una funzione che» cresce quando il carico medio aumenta
rimanendo inferiore alla capacità della rete, raggiungendo un massimo quando il carico medio approssima tale capacità;
» diminuisce (almeno in termini utili e in assenza di meccanismi protettivi) quando il carico medio supera la capacità della rete (stato di sovraccarico)
– la portata media è una funzione che» cresce quando il carico medio aumenta
rimanendo inferiore alla capacità della rete, raggiungendo un massimo quando il carico medio approssima tale capacità;
» diminuisce (almeno in termini utili e in assenza di meccanismi protettivi) quando il carico medio supera la capacità della rete (stato di sovraccarico)
235Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Obiettivo del controllo di congestioneObiettivo del controllo di congestione
• In una rete generica, l’obiettivo è mettere in atto tecniche e meccanismi che possano
– prevenire la congestione prima che questa si manifesti;
– rimuovere la congestione una volta che questa si sia presentata.
• In Internet l’obiettivo si risolve nel recuperare situazioni di sovraccarico della rete limitando il carico a questa offerto.
• In una rete generica, l’obiettivo è mettere in atto tecniche e meccanismi che possano
– prevenire la congestione prima che questa si manifesti;
– rimuovere la congestione una volta che questa si sia presentata.
• In Internet l’obiettivo si risolve nel recuperare situazioni di sovraccarico della rete limitando il carico a questa offerto.
236Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Difficoltà di attuazione (1/3)Difficoltà di attuazione (1/3)
• Il protocollo IP (protocollo di rete) non possiede alcun meccanismo per rivelare l’approssimarsi di eventi di congestione, in particolare per segnalare la presenza, sul percorso di rete, di eventuali colli di bottiglia che sono causa di stati di congestione.
• Il protocollo IP (protocollo di rete) non possiede alcun meccanismo per rivelare l’approssimarsi di eventi di congestione, in particolare per segnalare la presenza, sul percorso di rete, di eventuali colli di bottiglia che sono causa di stati di congestione.
237Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Difficoltà di attuazione (2/3)Difficoltà di attuazione (2/3)
• Il protocollo TCP, in quanto operante da estremo a estremo (end-to-end), può rivelare la congestione solo in modi indiretto e ritardato:
– il modo indiretto è rappresentato dalla perdita di un segmento e/o da un eccessivo ritardo di trasferimento che si manifestano con la mancata ricezione di un ACK per questo segmento entro il pertinente RTO;
– il modo ritardato è legato al ritardo di rete con il quale le entità TCP sorgenti vengono a conoscenza dello stato della rete.
• Il protocollo TCP, in quanto operante da estremo a estremo (end-to-end), può rivelare la congestione solo in modi indiretto e ritardato:
– il modo indiretto è rappresentato dalla perdita di un segmento e/o da un eccessivo ritardo di trasferimento che si manifestano con la mancata ricezione di un ACK per questo segmento entro il pertinente RTO;
– il modo ritardato è legato al ritardo di rete con il quale le entità TCP sorgenti vengono a conoscenza dello stato della rete.
238Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Difficoltà di attuazione (3/3)Difficoltà di attuazione (3/3)
• Come conseguenza della mancanza di cooperazione tra entità TCP e IP e della conseguente mancanza di prevenzione dei fenomeni di congestione
– la rete non coopera con gli host per prevenire un evento di congestione;
– le entità TCP non cooperano tra loro, anzi competono per l’uso di risorse distribuite.
• Come conseguenza della mancanza di cooperazione tra entità TCP e IP e della conseguente mancanza di prevenzione dei fenomeni di congestione
– la rete non coopera con gli host per prevenire un evento di congestione;
– le entità TCP non cooperano tra loro, anzi competono per l’uso di risorse distribuite.
239Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Colli di bottiglia (1/2)Colli di bottiglia (1/2)
• I colli di bottiglia in un trasferimento da estremo a estremo possono essere causati
– dalla congestione nei router sul percorso di rete;– dalla limitazione di banda (capacità di trasferimento)
di uno o più tra i rami appartenenti al percorso di re-te;
– dalla limitazione della capacità dei buffer a destina-zione e della capacità elaborativa del ricevitore.
• I colli di bottiglia in un trasferimento da estremo a estremo possono essere causati
– dalla congestione nei router sul percorso di rete;– dalla limitazione di banda (capacità di trasferimento)
di uno o più tra i rami appartenenti al percorso di re-te;
– dalla limitazione della capacità dei buffer a destina-zione e della capacità elaborativa del ricevitore.
240Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Colli di bottiglia (2/2)Colli di bottiglia (2/2)
• La terza causa di collo di bottiglia è fronteggiata con la funzione di controllo di flusso, nella quale è il ricevitore a segnalare all’ host emettitore il volume dei dati che può essere trasferito su una connessione TCP senza ricevere riscontri.
• La terza causa di collo di bottiglia è fronteggiata con la funzione di controllo di flusso, nella quale è il ricevitore a segnalare all’ host emettitore il volume dei dati che può essere trasferito su una connessione TCP senza ricevere riscontri.
241Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Meccanismi di controllo (1/5)Meccanismi di controllo (1/5)
• Il controllo di flusso non è però in grado di distinguere il tipo di collo di bottiglia e non è quindi in grado di stabilire la contromisura più adatta per fronteggiare eventi di congestione.
• Il controllo di flusso non è però in grado di distinguere il tipo di collo di bottiglia e non è quindi in grado di stabilire la contromisura più adatta per fronteggiare eventi di congestione.
242Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Meccanismi di controllo (2/5)Meccanismi di controllo (2/5)
• Il protocollo TCP può invece effettuare un controllo della congestione
– considerando l’esaurimento dell’RTO come un sintomo di congestione;
– affiancando ai meccanismi per il controllo di flusso altre due variabili
» la finestra di congestione (Congestion Window);» la soglia (Threshold).
• Il protocollo TCP può invece effettuare un controllo della congestione
– considerando l’esaurimento dell’RTO come un sintomo di congestione;
– affiancando ai meccanismi per il controllo di flusso altre due variabili
» la finestra di congestione (Congestion Window);» la soglia (Threshold).
243Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Meccanismi di controllo (3/5)Meccanismi di controllo (3/5)
• La finestra di congestione si affianca alla finestra di ricezione operante nel controllo di flusso e, unitamente a questa seconda finestra, impone una limitazione addizionale alla quantità di traffico che un host può inviare in una connessione.
• La finestra di congestione si affianca alla finestra di ricezione operante nel controllo di flusso e, unitamente a questa seconda finestra, impone una limitazione addizionale alla quantità di traffico che un host può inviare in una connessione.
244Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Meccanismi di controllo (4/5)Meccanismi di controllo (4/5)
• Tale limitazione addizionale è definita dalla finestra effettiva, la cui larghezza Awdn
– precisa, in numero di segmenti di lunghezza massima (MSS, Maximum Segment Size), l’ammontare dei dati non riscontrati che un host può avere all’interno di una connessione TCP;
– non deve superare il minimo tra le larghezze Cwdn della finestra di congestione e Rwdn della finestra di ricezione;
• Tale limitazione addizionale è definita dalla finestra effettiva, la cui larghezza Awdn
– precisa, in numero di segmenti di lunghezza massima (MSS, Maximum Segment Size), l’ammontare dei dati non riscontrati che un host può avere all’interno di una connessione TCP;
– non deve superare il minimo tra le larghezze Cwdn della finestra di congestione e Rwdn della finestra di ricezione;
245Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Meccanismi di controllo (5/5)Meccanismi di controllo (5/5)
– deve cioè rispettare la relazione
Awdn min { Cwdn,Rwdn } in cui
» Cwdn ed Rwdn sono quantità espresse, come Awdn, in numero di segmenti MSS (abbreviato in Seg. MSS);
» Rwdn è la larghezza comunicata nell’ultimo ACK ricevuto e ottenuta dall’entità TCP emittente dividendo il numero contenuto nel campo Window di questo ACK per il numero di ottetti che compongono un Seg. MSS.
– deve cioè rispettare la relazione
Awdn min { Cwdn,Rwdn } in cui
» Cwdn ed Rwdn sono quantità espresse, come Awdn, in numero di segmenti MSS (abbreviato in Seg. MSS);
» Rwdn è la larghezza comunicata nell’ultimo ACK ricevuto e ottenuta dall’entità TCP emittente dividendo il numero contenuto nel campo Window di questo ACK per il numero di ottetti che compongono un Seg. MSS.
246Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Fasi della proceduraFasi della procedura
• Per evitare la congestione, l’emettitore TCP segue una procedura in due fasi
– che si distinguono per la variazione che subisce Cwdn in relazione all’evoluzione dell’ RTT per il quale arrivi un intero gruppo di riscontri dei contenuti di Cwdn:
» fase di incremento additivo, preceduta da una partenza lenta;
» fase di decremento moltiplicativo.– che vengano ripetute consecutivamente nel corso
della durata della connessione TCP.• La procedura è detta “Prevenzione della Congestione”
(Congestion Avoidance).
• Per evitare la congestione, l’emettitore TCP segue una procedura in due fasi
– che si distinguono per la variazione che subisce Cwdn in relazione all’evoluzione dell’ RTT per il quale arrivi un intero gruppo di riscontri dei contenuti di Cwdn:
» fase di incremento additivo, preceduta da una partenza lenta;
» fase di decremento moltiplicativo.– che vengano ripetute consecutivamente nel corso
della durata della connessione TCP.• La procedura è detta “Prevenzione della Congestione”
(Congestion Avoidance).
247Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Partenza lenta (1/6)Partenza lenta (1/6)
• Nella parte iniziale della prima fase– si comincia ponendo
Cwdn = 1 Seg. MSSe scegliendo una soglia che è la metà del valore massimo di Cwdn raggiunto in precedenza
– per ogni riscontro di segmento che pervenga prima che il relativo RTO scada, la larghezza Cwdn viene incrementata di 1 Seg. MSS.
• Nella parte iniziale della prima fase– si comincia ponendo
Cwdn = 1 Seg. MSSe scegliendo una soglia che è la metà del valore massimo di Cwdn raggiunto in precedenza
– per ogni riscontro di segmento che pervenga prima che il relativo RTO scada, la larghezza Cwdn viene incrementata di 1 Seg. MSS.
2MSS
CwdnSoglia
248Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Partenza lenta (2/6)Partenza lenta (2/6)
A B
AN=101
AN=201
AN=301
AN=401
AN=501
AN=601
AN=701
Cwdn=1
Cwdn =2
Cwdn =3
Cwdn =4
Cwdn =5
Cwdn =6
Cwdn =7
Cwdn =8
SN=1
SN=101SN=201
SN=301SN=401SN=501SN=601
SN=701SN=801SN=901SN=1001SN=1101SN=1201SN=1301SN=1401
249Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Partenza lenta (3/6)Partenza lenta (3/6)
• Per concentrare l’attenzione sul controllo di conge-stione (invece che sul controllo di flusso), assumiamo che il buffer di ricezione sia abbastanza grande da poter ignorare il vincolo della finestra di ricezione.
• Per concentrare l’attenzione sul controllo di conge-stione (invece che sul controllo di flusso), assumiamo che il buffer di ricezione sia abbastanza grande da poter ignorare il vincolo della finestra di ricezione.
250Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Partenza lenta (4/6)Partenza lenta (4/6)
• In relazione a questa ipotesi se– l’emettitore emette segmenti secondo quanto
consentito da Cwdn;– questi segmenti sono tutti riscontrati prima del loro
RTO,» l’emissione e il relativo riscontro avvengono per
passi, in ognuno dei quali sono emessi e riscon-trati tutti i segmenti contenuti nella finestra di congestione;
» ad ogni passo viene raddoppiata la larghezza della finestra di congestione.
• In relazione a questa ipotesi se– l’emettitore emette segmenti secondo quanto
consentito da Cwdn;– questi segmenti sono tutti riscontrati prima del loro
RTO,» l’emissione e il relativo riscontro avvengono per
passi, in ognuno dei quali sono emessi e riscon-trati tutti i segmenti contenuti nella finestra di congestione;
» ad ogni passo viene raddoppiata la larghezza della finestra di congestione.
251Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Partenza lenta (5/6)Partenza lenta (5/6)
• In particolare» al passo di evoluzione i-esimo (i=0,1,2,…)
vengono emessi consecutivamente i 2i Seg.MSS contenuti nella finestra di congestione e l’emet-titore riceve riscontri consecutivi per ciascuno di questi segmenti;
» al termine del passo i-esimo e cioè al corrispon-dente RTT senza che si verifichino RTO per alcuno dei Seg.MSS trasferiti, la larghezza Cwdn viene aumentata a un valore uguale a 2i+1 Seg.MSS.
• In particolare» al passo di evoluzione i-esimo (i=0,1,2,…)
vengono emessi consecutivamente i 2i Seg.MSS contenuti nella finestra di congestione e l’emet-titore riceve riscontri consecutivi per ciascuno di questi segmenti;
» al termine del passo i-esimo e cioè al corrispon-dente RTT senza che si verifichino RTO per alcuno dei Seg.MSS trasferiti, la larghezza Cwdn viene aumentata a un valore uguale a 2i+1 Seg.MSS.
252Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Partenza lenta (6/6)Partenza lenta (6/6)
• L’aumento di Cwdn, quando Cwdn < Soglia, è quindi esponenziale al crescere del passo di evoluzione;
• questa parte iniziale della prima fase della procedura viene chiamata “Partenza Lenta” (Slow Start) in quanto inizia con un piccolo valore di Cwdn uguale a 1 Seg.MSS.
• L’aumento di Cwdn, quando Cwdn < Soglia, è quindi esponenziale al crescere del passo di evoluzione;
• questa parte iniziale della prima fase della procedura viene chiamata “Partenza Lenta” (Slow Start) in quanto inizia con un piccolo valore di Cwdn uguale a 1 Seg.MSS.
253Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Incremento additivo (1/2)Incremento additivo (1/2)
• Se l’aumento che si ha nella Partenza Lenta raggiunge e supera il valore di soglia, e cioè se Cwdn Soglia, l’incremento di Cwdn diventa lineare al crescere di RTT.
• In particolare, se Cwdn = w è l’attuale valore della larghezza della finestra di congestione e se w Soglia, allora dopo l’arrivo di w riscontri consecutivi, la larghezza Cwdn viene incrementata di 1 Seg.MSS in ciascun RTT per il quale arrivi un intero gruppo di riscontri dei contenuti della finestra di congestione.
• Se l’aumento che si ha nella Partenza Lenta raggiunge e supera il valore di soglia, e cioè se Cwdn Soglia, l’incremento di Cwdn diventa lineare al crescere di RTT.
• In particolare, se Cwdn = w è l’attuale valore della larghezza della finestra di congestione e se w Soglia, allora dopo l’arrivo di w riscontri consecutivi, la larghezza Cwdn viene incrementata di 1 Seg.MSS in ciascun RTT per il quale arrivi un intero gruppo di riscontri dei contenuti della finestra di congestione.
254Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Incremento additivo (2/2)Incremento additivo (2/2)
• Questo incremento lineare continua finché i riscontri arrivano prima dei loro rispettivi RTO.
• Questo aumento ha un limite superiore corrispondente al raggiungimento di uno stato di saturazione su uno dei collegamenti lungo il percorso o in uno dei nodi attraversati.
• Il limite superiore è determinato dal verificarsi di un evento di perdita di un segmento e di un conseguente raggiungimento del relativo RTO.
• Questo incremento lineare continua finché i riscontri arrivano prima dei loro rispettivi RTO.
• Questo aumento ha un limite superiore corrispondente al raggiungimento di uno stato di saturazione su uno dei collegamenti lungo il percorso o in uno dei nodi attraversati.
• Il limite superiore è determinato dal verificarsi di un evento di perdita di un segmento e di un conseguente raggiungimento del relativo RTO.
255Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Decremento moltiplicativoDecremento moltiplicativo
• Quando si verifica un RTO, si entra nella seconda fase della procedura di Prevenzione della Congestione.
• In questa seconda fase– il valore Soglia viene impostato a metà del valore
attuale di Cwdn ed è quindi ridotto esponen-zialmente rispetto a quello massimo raggiunto al termine della prima fase;
– il valore successivo di Cwdn viene portato ad 1 Seg.MSS.
• Quando si verifica un RTO, si entra nella seconda fase della procedura di Prevenzione della Congestione.
• In questa seconda fase– il valore Soglia viene impostato a metà del valore
attuale di Cwdn ed è quindi ridotto esponen-zialmente rispetto a quello massimo raggiunto al termine della prima fase;
– il valore successivo di Cwdn viene portato ad 1 Seg.MSS.
256Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Sintesi della procedura (1/4)Sintesi della procedura (1/4)
• In conclusione e sostanzialmente, se ignoriamo la Partenza Lenta, una entità TCP emittente
– incrementa Cwdn di 1 Seg.MSS per ogni RTT quando il suo percorso di rete non è congestionato;
– diminuisce Cwdn di un fattore 2 per ogni RTT quando il percorso è congestionato.
• Per questo motivo questa procedura di controllo di congestione è usualmente indicata come algoritmo di incremento additivo e di decremento moltiplicativo (AIMD, Additive-Increase, Multiplicative-De-crease)
• In conclusione e sostanzialmente, se ignoriamo la Partenza Lenta, una entità TCP emittente
– incrementa Cwdn di 1 Seg.MSS per ogni RTT quando il suo percorso di rete non è congestionato;
– diminuisce Cwdn di un fattore 2 per ogni RTT quando il percorso è congestionato.
• Per questo motivo questa procedura di controllo di congestione è usualmente indicata come algoritmo di incremento additivo e di decremento moltiplicativo (AIMD, Additive-Increase, Multiplicative-De-crease)
257Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Sintesi della procedura (2/4)Sintesi della procedura (2/4)
• La procedura è illustrata nella figura seguente in cui– il valore Soglia iniziale è uguale a 16 Seg.MSS;– durante la Partenza Lenta, la Soglia è raggiunta al
passo 4;– la larghezza delle finestra di congestione cresce poi
linearmente, finchè non si verifica una perdita proprio a conclusione del passo 8 e quando Cwdn = 20 Seg.MSS;
• La procedura è illustrata nella figura seguente in cui– il valore Soglia iniziale è uguale a 16 Seg.MSS;– durante la Partenza Lenta, la Soglia è raggiunta al
passo 4;– la larghezza delle finestra di congestione cresce poi
linearmente, finchè non si verifica una perdita proprio a conclusione del passo 8 e quando Cwdn = 20 Seg.MSS;
258Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Sintesi della procedura (3/4)Sintesi della procedura (3/4)
– il valore Soglia è allora ridotto a 0,5 Cwdn = 10 Seg.MSS e la finestra di congestione è successiva-mente posta a 1 Seg.MSS;
– la partenza lenta ricomincia poi dal passo 9 e ha termine al passo 13, quando Cwdn ha raggiunto il valore 10 Seg.MSS;
– da quest’ultimo valore ricomincia l’incremento additivo di Cwdn che avrà termine quando si verifi-cherà una nuova perdita.
– il valore Soglia è allora ridotto a 0,5 Cwdn = 10 Seg.MSS e la finestra di congestione è successiva-mente posta a 1 Seg.MSS;
– la partenza lenta ricomincia poi dal passo 9 e ha termine al passo 13, quando Cwdn ha raggiunto il valore 10 Seg.MSS;
– da quest’ultimo valore ricomincia l’incremento additivo di Cwdn che avrà termine quando si verifi-cherà una nuova perdita.
259Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Sintesi della procedura (4/4)Sintesi della procedura (4/4)
Soglia = 10 Seg.MSS
RTT
Cw
dn
(i
n M
SS
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Presentazione di Time-out
02
18
16
14
12
10
08
06
04
26
24
22
20
Decremento Moltiplicativo
Soglia = 16 Seg.MSS
Incremento additivoIncremento additivo
PartenzaLenta
PartenzaLenta
260Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Varianti dell’algoritmo di controlloVarianti dell’algoritmo di controllo
• Con l’algoritmo di controllo della congestione appena descritto (spesso indicato come Tahoe) sorge un problema che si manifesta quando un segmento è perso e il lato emittente può dover aspettare a lungo l’ RTO.
• Per evitare questa attesa si ricorre a una variante di Tahoe chiamata Reno.
• Reno introduce due meccanismi: uno di ritrasmissione rapida (Fast Retransmit) e l’altro di ripristino veloce (Fast Recovery).
• Con l’algoritmo di controllo della congestione appena descritto (spesso indicato come Tahoe) sorge un problema che si manifesta quando un segmento è perso e il lato emittente può dover aspettare a lungo l’ RTO.
• Per evitare questa attesa si ricorre a una variante di Tahoe chiamata Reno.
• Reno introduce due meccanismi: uno di ritrasmissione rapida (Fast Retransmit) e l’altro di ripristino veloce (Fast Recovery).
261Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Fast Retransmit (1/2)Fast Retransmit (1/2)
• Secondo la procedura di ritrasmissione rapida, che ha lo scopo di velocizzare la riemissione di un segmento perso,
– il ricevitore emette un ACK non appena rivela un fuori sequenza e riemette lo stesso ACK per ogni segmento successivo;
» la scelta di tre ACK tende ad evitare il caso in cui il segmento successivo a quello riscontrato abbia subito un ritardo così elevato da aver causato un fuori sequenza;
• Secondo la procedura di ritrasmissione rapida, che ha lo scopo di velocizzare la riemissione di un segmento perso,
– il ricevitore emette un ACK non appena rivela un fuori sequenza e riemette lo stesso ACK per ogni segmento successivo;
» la scelta di tre ACK tende ad evitare il caso in cui il segmento successivo a quello riscontrato abbia subito un ritardo così elevato da aver causato un fuori sequenza;
262Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Fast Retransmit (2/2)Fast Retransmit (2/2)
– la ricezione di tre ACK duplicati è considerato sintomo di un segmento perso;
– la riemissione del segmento inizia non appena sono ricevuti quattro ACK del segmento precedente anche se l’ RTO non è scaduto.
– la ricezione di tre ACK duplicati è considerato sintomo di un segmento perso;
– la riemissione del segmento inizia non appena sono ricevuti quattro ACK del segmento precedente anche se l’ RTO non è scaduto.
263Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
Fast RecoveryFast Recovery
• Secondo il meccanismo di ripristino veloce, – viene cancellata la fase di partenza lenta dopo una
ritrasmissione rapida;» infatti l’arrivo di ACK multipli assicura che i
relativi segmenti sono stati ricevuti e che quindi la congestione è stata superata;
– rispetto alla procedura di prevenzione della congestione
• si evita così la fase di aumento esponenziale di Cwdn;
• l’incremento di Cwdn è sempre lineare.
• Secondo il meccanismo di ripristino veloce, – viene cancellata la fase di partenza lenta dopo una
ritrasmissione rapida;» infatti l’arrivo di ACK multipli assicura che i
relativi segmenti sono stati ricevuti e che quindi la congestione è stata superata;
– rispetto alla procedura di prevenzione della congestione
• si evita così la fase di aumento esponenziale di Cwdn;
• l’incremento di Cwdn è sempre lineare.
264Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010
VegasVegas
• Un’altra variante è quella denominata Vegas, che può migliorare le prestazioni delle procedure Tahoe e Reno, evitando la congestione, pur mantenendo una buona portata.
• L’idea base di questa ulteriore procedura è– rilevare la congestione nei router tra la sorgente e la
destinazione prima che si verifichi la perdita dei segmenti;
» la perdita imminente dei segmenti è prevista osservando l’evoluzione degli RTT: maggiori sono i valori di questi tempi, più grande è la congestione nei router.
– abbassare linearmente la velocità di emissione quando si rileva questa imminente perdita dei segmenti.
• Un’altra variante è quella denominata Vegas, che può migliorare le prestazioni delle procedure Tahoe e Reno, evitando la congestione, pur mantenendo una buona portata.
• L’idea base di questa ulteriore procedura è– rilevare la congestione nei router tra la sorgente e la
destinazione prima che si verifichi la perdita dei segmenti;
» la perdita imminente dei segmenti è prevista osservando l’evoluzione degli RTT: maggiori sono i valori di questi tempi, più grande è la congestione nei router.
– abbassare linearmente la velocità di emissione quando si rileva questa imminente perdita dei segmenti.