La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

667 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010 III.LE FUNZIONI DEI SERVIZI DI RETE II parte.

Presentazioni simili


Presentazione sul tema: "667 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010 III.LE FUNZIONI DEI SERVIZI DI RETE II parte."— Transcript della presentazione:

1 667 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.LE FUNZIONI DEI SERVIZI DI RETE II parte

2 668 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a INDICE III.4Indirizzamento III.5Instradamento III.6Controllo della QoS III.4Indirizzamento III.5Instradamento III.6Controllo della QoS

3 III.4Indirizzamento Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a

4 670 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Contenuti III.4.1Il problema dell’indirizzamento III.4.2Indirizzamento in Internet III.4.3 Maschera di indirizzo III.4.4Indirizzamento con classi III.4.5 Subnetting e Supernetting III.4.6 Indirizzamento senza classi III.4.7Gli indirizzi IP in una Routing Table III.4.8Risoluzione di indirizzi in Internet III.4.9 Assegnazione di un indirizzo IP III.4.1Il problema dell’indirizzamento III.4.2Indirizzamento in Internet III.4.3 Maschera di indirizzo III.4.4Indirizzamento con classi III.4.5 Subnetting e Supernetting III.4.6 Indirizzamento senza classi III.4.7Gli indirizzi IP in una Routing Table III.4.8Risoluzione di indirizzi in Internet III.4.9 Assegnazione di un indirizzo IP

5 671 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.4 INDIRIZZAMENTO III.4.1Il problema dell’indirizzamento

6 672 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

7 673 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

8 674 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

9 675 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

10 676 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

11 677 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

12 678 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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à.

13 679 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.4.2 Indirizzamento in Internet III.4INDIRIZZAMENTO

14 680 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

15 681 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

16 682 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

17 683 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

18 684 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

19 685 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

20 686 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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

21 687 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

22 688 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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)

23 689 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

24 690 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

25 691 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

26 692 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Notazioni di indirizzo (4/4) Un esempio delle tre notazioni è il seguente : infocom.uniroma1.it Notazione binaria Notazione decimale puntata Notazione mnemonica

27 693 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

28 694 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

29 695 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

30 696 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

31 697 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Indirizzi speciali (3/4) ProvaDestinatarioQualsiasi 127Loopback Usato in Unicast locale DestinatarioSpecificoTutti 0Host specifico su questa rete Usato durante l’avvio MittenteTutti 0 Questo host su questa rete Broadcasting sulla rete del mittente DestinatarioTutti 1 Broadcasting su una rete specifica Destinatario Tutti 1Specifico Significato dell’indirizzo PrefissoSuffissoMittente o destinatario Scopo Una rete SpecificoTutti 0Nessuno Identifica una rete Broadcasting diretto Broadcasting limitato

32 698 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

33 699 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.4.3 Maschera di indirizzo III.4 INDIRIZZAMENTO

34 700 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

35 701 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

36 702 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

37 703 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.4.4 Indirizzamento in classi III.4 INDIRIZZAMENTO

38 704 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.).

39 705 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a La classe a cui appartiene un net_id si determina esaminando il primo byte dell’indirizzo Primi bit del primo byte Classe A B C D E Le classi di indirizzamento (2/6)

40 706 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Classe A Classe B Classe C Classe D Classe E Host_Id Net_id Net_Id Indirizzo Multicast Riservata Net_Id Le classi di indirizzamento (3/6)

41 707 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Le classi di indirizzamento (4/6)

42 708 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Le classi di indirizzamento (5/6) 0 Min Max Classe A B C D E Numero decimale corrispondente al primo byte

43 709 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 oppure /8 »Classe B oppure /16 »Classe C 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 oppure /8 »Classe B oppure /16 »Classe C 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.

44 710 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.4.5 Subnetting e Supernetting III.4 INDIRIZZAMENTO

45 711 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 aspetti A.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 aspetti A.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;

46 712 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

47 713 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

48 714 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

49 715 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 INSTRADAMENTO VI.4 Indirizzamento senza classi Net_IdSubnet_IdHost_Id

50 716 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

51 717 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Subnetting (3/4) Da un indirizzo di classe B Senza sotto-reti Con sotto-reti Accesso alla rete Accesso all’host Accesso alla sotto- reteAccesso all’host Net_id Host_id Net_id Sub - Net_idHost_id VI. INDIRIZZAMENTO E INSTRADAMENTO VI.4 Indirizzamento senza classi

52 718 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Subnetting (4/4) Come ulteriore esempio, partiamo dall’indirizzo di classe C /24 e effettuiamo un Subnetting con 5 cifre dell’ultimo byte. Si ottiene il nuovo indirizzo con maschera ovvero /29. Come ulteriore esempio, partiamo dall’indirizzo di classe C /24 e effettuiamo un Subnetting con 5 cifre dell’ultimo byte. Si ottiene il nuovo indirizzo con maschera ovvero /29.

53 719 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Maschera di sottorete (1/2) Classe B Maschera 1 Host_Id Net_id 0 Host_Id

54 720 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

55 721 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a VLSM 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.

56 722 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Gerarchia a tre livelli (1/2) 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.

57 723 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

58 724 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 PrefissoSuffisso

59 725 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

60 726 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.4.6 Indirizzamento senza classi III.4 INDIRIZZAMENTO

61 727 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

62 728 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 2 n-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 2 n-32.

63 729 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

64 730 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 è /19 Infatti, = = 224 Ad esempio, con un prefisso lungo 19 bit (3 bit più lungo rispetto a uno di classe B), la maschera di indirizzo è /19 Infatti, = = 224 Maschera Host_Id

65 731 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

66 732 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

67 733 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

68 734 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.4.7 Gli indirizzi IP in una Routing Table III.4 INDIRIZZAMENTO

69 735 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

70 736 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

71 737 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 A i, M i, e P i – il prefisso A i dell’indirizzo IP contenuto in quella riga, –la sua maschera M i, –la porta di uscita P i verso cui un datagramma con quel prefisso di destinazione deve essere inoltrato. Il router/host deve confrontare il prefisso in D con ogni coppia A i, M i 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 A i, M i, e P i – il prefisso A i dell’indirizzo IP contenuto in quella riga, –la sua maschera M i, –la porta di uscita P i verso cui un datagramma con quel prefisso di destinazione deve essere inoltrato. Il router/host deve confrontare il prefisso in D con ogni coppia A i, M i nella propria RT.

72 738 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 M i, in modo da mettere a zero i bit dell’ipotetico suffisso in D; –confronta il risultato con A i. Si possono presentare due casi – sussiste un riscontro tra l’ipotetico prefisso in D e il prefisso A i ; –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 M i, in modo da mettere a zero i bit dell’ipotetico suffisso in D; –confronta il risultato con A i. Si possono presentare due casi – sussiste un riscontro tra l’ipotetico prefisso in D e il prefisso A i ; –non sussiste alcun riscontro.

73 739 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Uso della RT (3/3) Nel secondo caso l’esplorazione della RT continua con la coppia A i+1, M i+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 A j, M j 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 A i+1, M i+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 A j, M j per cui è stato accertato un riscontro, si sceglie quella a cui corrisponde il riscontro più cogente e cioè quella con un prefisso più lungo.

74 740 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Routing table  porta  porta 7 Riscontro con il prefisso più lungo Instradamento –indirizzo –indirizzo –porta 1: riscontro con prefisso 16 –porta 7: riscontro con prefisso 24 –porta 4: riscontro con prefisso –porta 1: riscontro con prefisso 16 –porta 7: riscontro con prefisso 24 –porta 4: alcun riscontro Instradamento –indirizzo –indirizzo –porta 1: riscontro con prefisso 16 –porta 7: riscontro con prefisso 24 –porta 4: riscontro con prefisso –porta 1: riscontro con prefisso 16 –porta 7: riscontro con prefisso 24 –porta 4: alcun riscontro Prefix / / /32 Porta d’uscita 1 7 4

75 741 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.4.8Risoluzione di indirizzi in Internet III.4 INDIRIZZAMENTO

76 742 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

77 743 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

78 744 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

79 745 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Risoluzione 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.

80 746 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.4.9 Assegnazione di un indirizzo IP III.4 INDIRIZZAMENTO

81 747 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

82 748 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

83 749 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

84 750 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

85 751 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Assegnazione del Net_Id Si può richiedere l’allocazione di una porzione dello spazio di indirizzamento di un ISP: ISP's block /20 Organization /23 Organization /23 Organization /23... ….. …. …. Organization /23

86 752 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Aggregazione dei percorsi “Manda a me qualunque pacchetto il cui indirizzo inizia con /20” / / /23 Piscali-ISP Organizzazione 0 Organizzazione 7 Internet Organizzazione 1 ISP-Pippo “Manda a me qualunque pacchetto il cui indirizzo inizia con /16” /23 Organizzazione L’indirizzamento gerarchico permette di pubblicizzare efficientemente informazioni di instradamento:

87 753 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Percorsi specifici ISP-Pippo ha una strada specifica per l’organizzazione 1 “Manda a me qualunque pacchetto il cui indirizzo inizia con /20” / / /23 Piscali - ISP Organization 0 Organization 7 Internet Organization 1 ISP - Pippo “Manda a me qualunque pacchetto il cui indirizzo inizia con /16 o /23” /23 Organization

88 754 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Gestione 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.

89 III.5Instradamento Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a

90 756 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Contenuti III.5.1Il problema dell’instradamento III.5.2Procedure di instradamento III.5.3L’instradamento in Internet III.5.4Le tabelle di instradamento III.5.5IGP e EGP III.5.6Algoritmi di instradamento III.5.7Protocolli di instradamento III.5.1Il problema dell’instradamento III.5.2Procedure di instradamento III.5.3L’instradamento in Internet III.5.4Le tabelle di instradamento III.5.5IGP e EGP III.5.6Algoritmi di instradamento III.5.7Protocolli di instradamento

91 757 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.5.1 Il problema dell’instradamento III.5 INSTRADAMENTO

92 758 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

93 759 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

94 760 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.).

95 761 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

96 762 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

97 763 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

98 764 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

99 765 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

100 766 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.5.2 Procedure di instradamento III.5 INSTRADAMENTO

101 767 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

102 768 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

103 769 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

104 770 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

105 771 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Efficacia 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.

106 772 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

107 773 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

108 774 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

109 775 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

110 776 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

111 777 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

112 778 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

113 779 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

114 780 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

115 781 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Controllo 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.

116 782 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

117 783 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

118 784 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

119 785 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

120 786 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.5.3 L’instradamento in Internet III.5 INSTRADAMENTO

121 787 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

122 788 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Principi generali (2/4) Due tipi di instradamento – diretto – indiretto Due tipi di instradamento – diretto – indiretto

123 789 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

124 790 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

125 791 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Instradamento 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.

126 792 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Instradamento 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.

127 793 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.5.4 Le tabelle di instradamento III.5 INSTRADAMENTO

128 794 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

129 795 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Routing Table (2/6) Nella riga i-esima sono contenuti in altrettante colonne: –un indirizzo IP, che indichiamo con A i 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 M i associata all’indirizzo A i ; –l’indicazione dell’interfaccia fisica di uscita P i (porta di uscita), quando ne esiste più di una, per raggiungere la destinazione dell’indirizzo A i ; –l’indirizzo del router successivo R i (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 A i 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 M i associata all’indirizzo A i ; –l’indicazione dell’interfaccia fisica di uscita P i (porta di uscita), quando ne esiste più di una, per raggiungere la destinazione dell’indirizzo A i ; –l’indirizzo del router successivo R i (next-hop-router) sul cammino verso la rete di destinazione.

130 796 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

131 797 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

132 798 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

133 799 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Routing Table (6/6) Rete Rete Rete Rete Rete Rete R1 R2 R3 R4R Instradamento diretto Net_IdRouter_Id Routing Table di R Instradamento diretto Instradamento diretto Instradamento diretto Net_IdRouter_Id Routing Table di R

134 800 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

135 801 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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

136 802 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

137 803 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.5.5 IGP e EGP III.5 INSTRADAMENTO

138 804 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Sistemi 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.

139 805 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a IGP 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.

140 806 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a EGP 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).

141 807 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a R3 SubNet 1.2 SubNet 1.3SubNet 1.1 SubNet 1.4 R2 R4R1 R5 R6 R8 R7 SubNet 2.2 SubNet 2.1 SubNet 2.3 SubNet 2.4 IGP EGP AS 1 AS 2 EG EGP IGP e EGP

142 808 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.5.6 Algoritmi di instradamento III.5 INSTRADAMENTO

143 809 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

144 810 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

145 811 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

146 812 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

147 813 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

148 814 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

149 815 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

150 816 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a V1V1 V2V2 V3V3 V6V6 V5V5 V 4 Grafo G V1V1 V2V2 V3V3 V6V6 V5V5 V4V4 Spanning Tree 1 V1V1 V2V2 V3V3 V6V6 V5V5 V4V4 Spanning Tree 2 Spanning Tree (2/3) Lo Spanning Tree di un grafo non è unico

151 817 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

152 818 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

153 819 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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|).

154 820 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Algoritmo BFS (3/3) v1v1 v1v1 v2v2 v3v3 v6v6 v5v5 v4v T={1} v1v1 v2v2 v3v3 v6v6 v5v5 v4v T={1,2} v2v2 v3v3 v6v6 v5v5 v4v T={1,2,3} v1v1 v2v2 v3v3 v6v6 v5v5 v4v T={1,2,3,4} v1v1 v2v2 v3v3 v6v6 v5v5 v4v T={1,2,3,4,5} v1v1 v2v2 v3v3 v6v6 v5v5 v4v T={1,2,3,4,5,6}

155 821 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 T k ; –al passo k+1-mo si forma l’insieme T k+1 aggiungendo un ulteriore nodo all’insieme T k ; tale nodo sarà quello caratterizzato dal cammino a costo minore dal nodo s che transita esclusivamente nei nodi dell’insieme T k ; –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 T k ; –al passo k+1-mo si forma l’insieme T k+1 aggiungendo un ulteriore nodo all’insieme T k ; tale nodo sarà quello caratterizzato dal cammino a costo minore dal nodo s che transita esclusivamente nei nodi dell’insieme T k ; –l’algoritmo termina quando si sono esplorati tutti i nodi.

156 822 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Algoritmo di Dijkstra (2/3) Situazione al passo k+1 s x1x1 x2x2 X k-1 Insieme T k n xixi Insieme T k+1 Viene aggiunto all’insieme T k il nodo n caratterizzato dal cammino di lunghezza minima con il nodo sor- gente s che transita esclu- sivamente in nodi dell’in- sieme T k

157 823 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 ).

158 824 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Algoritmo di Dijkstra - Esempio (1/2) V1V1 V2V2 V3V3 V4V4 V5V5 V6V T 1 = {1} V1V1 V2V2 V3V3 V4V4 V5V5 V6V T 2 = {1,4} V1V1 V2V2 V3V3 V4V4 V5V5 V6V T 3 = {1,2,4}

159 825 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Algoritmo di Dijkstra – Esempio (2/2) V1V1 V2V2 V3V3 V4V4 V5V5 V6V T 4 = {1,2,4,5} V1V1 V2V2 V3V3 V4V4 V5V5 V6V T 5 = {1,2,3,4,5} V1V1 V2V2 V3V3 V4V4 V5V5 V6V T 6 = {1,2,3,4,5,6}

160 826 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

161 827 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Algoritmo di Bellman-Ford (2/4) V1V1 V2V2 V3V3 V4V4 V5V5 V6V h = V1V1 V2V2 V3V3 V4V4 V5V5 V6V h = 2 V5V5 V6V V1V1 V2V2 V3V3 V4V h = V1V1 V2V2 V3V3 V4V4 V5V5 V6V h = 4

162 828 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

163 829 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 grafo L(1,n) L(j,n) L(k,n) A

164 830 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Algoritmo di Bellman-Ford Distribuito (1/2) Ogni nodo s esegue il seguente calcolo Per questo usa: –i valori di w(s,j) (j  A) che conosce diretta- mente; –i valori di L(j,n) (j  A) 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) (j  A) che conosce diretta- mente; –i valori di L(j,n) (j  A) ricevuti dai nodi adia- centi A. A sua volta il nodo s comunica il risultato ai nodi vicini.

165 831 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

166 832 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Confronto 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).

167 833 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.5.7 Protocolli di instradamento III.5 INSTRADAMENTO

168 834 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

169 835 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

170 836 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 L x 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 L x tra i nodi adiacenti. Il nodo x calcola il cammino migliore in base alla relazione detta. Vettore dei costi dei rami uscenti dal nodo Vettore delle distanze minime verso le altre reti Vettore dei router next hop verso le altre reti

171 837 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

172 838 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

173 839 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 IdentifierRoute Tag IP Address N Subnet Mask Next Hop Metric for address N CommandVersionRouting Domain Address IdentifierRoute Tag IP Address 1 Subnet Mask Next Hop Metric for address 1 Address IdentifierRoute Tag IP Address 2 Subnet Mask Next Hop Metric for address 2 Address 1 distance Address 2 distance Fino a 25 addresses

174 840 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

175 841 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

176 842 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

177 843 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

178 844 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a OSPF (5/5) 20 Link Stage Header Reserved Number of links Link ID Link Data Type Number of TOS TOS 0 metric TOS Reserved Metric Ripetuto per tutti i valori di TOS Ripetuto per ogni collegamento Ottetti Authentication Data Version Packet Type Packet Length Router ID Area ID Checksum Authentication type Ottetti IntestazionePacchetto LSA TOS: Type of Service

179 845 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Limiti 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.

180 846 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

181 847 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

182 848 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Esempio di applicazione BGP (1/3) BGP relationship R6 R8 R7 SubNet 2.1 SubNet 2.3 SubNet 2.4 AS 2 SubNet 2.2 R5 R3 SubNet 1.2 SubNet 1.3 SubNet 1.4 R2 R4R1 AS 1 SubNet 3.3 AS 3 R10 R11 SubNet 3.2 R9 SubNet 1.1 SubNet 3.1

183 849 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

184 850 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

185 III.6Controllo della QoS Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a

186 852 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Contenuti III.6.1Il problema del controllo della QoS III.6.2 Controllo d’errore in TCP III.6.3Dimensionamento del RTO III.6.4 Controllo di flusso III.6.5 Controllo di congestione III.6.1Il problema del controllo della QoS III.6.2 Controllo d’errore in TCP III.6.3Dimensionamento del RTO III.6.4 Controllo di flusso III.6.5 Controllo di congestione

187 853 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.6 CONTROLLO DELLA QoS III.6.1 Il problema del controllo della QoS

188 854 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a L’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.

189 855 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

190 856 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

191 857 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

192 858 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.6.2 Controllo d’errore in TCP III.6 CONTROLLO DELLA QoS

193 859 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

194 860 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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);

195 861 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

196 862 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Opzionalità 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.

197 863 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

198 864 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

199 865 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Inoltro 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.

200 866 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Accettazione 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.

201 867 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

202 868 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Riemissione (2/4) Esistono però tre diverse strategie di riemissione  solo 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 riemissione  solo 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.

203 869 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

204 870 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

205 871 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

206 872 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

207 873 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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

208 874 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

209 875 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

210 876 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

211 877 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.6.3Dimensionamento del RTO III.6 CONTROLLO DELLA QoS

212 878 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

213 879 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 è

214 880 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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

215 881 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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

216 882 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Exponential 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)

217 883 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Algoritmo 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.

218 884 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Esempio di calcolo del RTO RTO RTT Segmenti Tempo (s)

219 885 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.6.4 Controllo di flusso III.6 CONTROLLO DELLA QoS

220 886 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

221 887 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

222 888 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

223 889 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

224 890 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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 ottetto riscontrato Prossimo ottetto da emettere Limite superiore della finestra Ottetti emessi e riscontrati Ottetti emessi non ancora riscontrati Ottetti autorizzati alla emissione Ottetti emessi Numero di sequenza iniziale Ultimo ottetto riscontrato Ultimo ottetto accettato Limite superiore della finestra Ottetti ricevuti e riscontrati Ottetti accettati e non ancora riscontrati Ottetti autorizzati alla accettazione Ottetti ricevuti

225 891 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Controllo della Finestra (2/2) SN = 1001 (200) SN = 1201 (400) SN = 1601 (200) Pronto a ricevere 1400 ottetti Ricevuti 600 ottetti disponibilità per altri 200 ottetti Finestra iniziale 1400 ottetti AN = 1601 WD = 1000 SN = 1801 (200) Ricevuti ulteriori 400 ottetti Finestra incrementata di 200 ottetti Ricevuti ulteriori 600 ottetti disponibilità per altri 1400 ottetti SN = 2001 (200) SN = 2401 (200) SN = 2201 (200) Finestra esaurita AN = 2601; WD = Finestra incrementata di 1400 otteti

226 892 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

227 893 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

228 894 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Portata media di una connessione TCP (3/3) 0,2 0,4 0,6 0,8 1 W= ottetti Portata media normalizzata Prodotto C  (bit) Gb/s Ethernet (100 m) Satellite link (1.544 Mb/s m) SDH STM-1 (NY-Tokyo) W’=4. W

229 895 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a III.6.5 Controllo di congestione III.6 CONTROLLO DELLA QoS

230 896 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

231 897 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

232 898 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

233 899 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

234 900 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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)

235 901 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Obiettivo 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.

236 902 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

237 903 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

238 904 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

239 905 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

240 906 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

241 907 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

242 908 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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).

243 909 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

244 910 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

245 911 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

246 912 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Fasi 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).

247 913 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Partenza lenta (1/6) Nella parte iniziale della prima fase –si comincia ponendo Cwdn = 1 Seg. MSS e 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. MSS e 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.

248 914 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Partenza lenta (2/6) AB 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=101 SN=201 SN=301 SN=401 SN=501 SN=601 SN=701 SN=801 SN=901 SN=1001 SN=1101 SN=1201 SN=1301 SN=1401

249 915 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

250 916 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

251 917 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Partenza lenta (5/6) In particolare »al passo di evoluzione i-esimo (i=0,1,2,…) vengono emessi consecutivamente i 2 i 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 2 i+1 Seg.MSS. In particolare »al passo di evoluzione i-esimo (i=0,1,2,…) vengono emessi consecutivamente i 2 i 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 2 i+1 Seg.MSS.

252 918 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

253 919 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

254 920 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

255 921 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Decremento 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.

256 922 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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)

257 923 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

258 924 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

259 925 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Sintesi della procedura (4/4) Soglia = 10 Seg.MSS RTT Cwdn (in MSS ) Presentazione di Time-out Decremento Moltiplicativo Soglia = 16 Seg.MSS Incremento additivo Partenza Lenta Partenza Lenta

260 926 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Varianti 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).

261 927 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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;

262 928 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a 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.

263 929 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Fast 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.

264 930 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a Vegas 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.


Scaricare ppt "667 Aldo Roveri, “Fondamenti di reti” Univ. di Roma “La Sapienza” - a.a. 2009-2010 III.LE FUNZIONI DEI SERVIZI DI RETE II parte."

Presentazioni simili


Annunci Google