Esercizio 6.1.
Con riferimento alla Figura 6.4 si consideri l’host B con indirizzo IP 131.175.201.14 che invia
un datagramma con 2000 byte di payload e identification = 27901 all’host A con indirizzo IP 197.203.12.7.
Ipotizzando instradamento a minima distanza (numero di salti), MTU di default ad eccezione della rete N2 in
cui questo parametro assume il valore di 1500 byte, si chiede di mostrare graficamente il formato dei datagrammi
IP per tutti i campi noti che sono scambiati tra host e router.
Figura 6.4 Esempio di frammentazione di datagramma IP (Esercizio 6.1).
Il formato del datagramma IP generato nell’host B è quello più a sinistra nella Figura E6.1: esso mostra tutti
i campi definiti nell’esercizio e cioè la versione (4) del protocollo, il numero di byte dell’header (20) assumendo
assenza di opzioni, il numero di datagramma (27901), unico frammento (MF = 0) e quindi offset nullo.
Data la MTU della rete questo datagramma attraversa la rete fino al router sottoforma di due frammenti, il primo di 1480 byte di informazione e il secondo con i restanti 520 byte. Il primo frammento
S1 reca MF = 1 e offset = 0, mentre il secondo e ultimo frammento reca MF = 0 e offset = 185, dato dal numero
di byte di utente diviso 8. I due frammenti devono quindi essere trasferiti dal router al router
attraverso il collegamento diretto –, caratterizzato da una MTU di default, cioè MTU = 576. Tenendo
conto della consistenza dell’header del datagramma IP, il payload di ogni datagramma avrà una dimensione
massima di 552 byte, cioè il più grande intero non superiore a 556 e divisibile per 8. Quindi il payload originario
di 1480 byte viene trasmesso dal router verso l’host A in tre frammenti , , con payload 552, 552 e 376 byte, per tenere conto dei 20 byte di header del datagramma IP. Gli offset corrispondenti sono
0, 69, 138. Questi tre frammenti, una volta ricevuti nell’host A insieme al frammento , vengono ricomposti
in un unico datagramma che viene consegnato alla porta di destinazione specificato nel payload.
Figura E6.1 Contenuti dei datagrammi IP scambiati tra host e router secondo l’Esercizio 6.1.
Esercizio 6.6.
Si vuole partizionare la rete di classe A con indirizzo 64.0.0.0 in sottoreti /17 (cioè con netmask
avente i primi 17 bit posti a 1), determinando il numero di sottoreti che si ricavano e il formato decimale della
sottorete numero 163. Quest’ultima “rete” sia a sua volta divisa in sottoreti /n che consentano di indirizzare
almeno 1023 host ciascuna. Si determini il prefisso di sottorete /n, il numero di sottoreti risultanti e l’indirizzo
broadcast della sottorete numero 10.
Poiché l’indirizzo 64.0.0.0 definisce un net-id di 8 bit, allora 17-8 = 9 bit individuano le = 512 sottoreti
delle quali la numero 163 ha indirizzo 64.81.128.0/17. Partizionare quest’ultima rete in sottoreti che supportino
1023 host ognuna implica che si devono utilizzare 11 bit per il nuovo host-id e i restanti 32-17-11 = 4
bit per indicare la sottorete. Quindi la nuova netmask è /21 e l’indirizzo broadcast della rete numero 10 è dato
da 64.81.215.255. Si noti che gli ultimi 15 bit sono 1010111.11111111 indicando che si tratta della configurazione
broadcast (ultimi 11 bit posti a 1) nella sottorete numero 10 (primi 4 bit posti a 1010).
Esercizio 6.10.
Un operatore gestisce le seguenti reti fisiche: (i) rete che collega 40 host, (ii) rete che
collega 100 host, (iii) rete che collega 14 host, (iv) rete che collega 8 host, e ottiene dall’autorità di
gestione di Internet più blocchi di indirizzi che iniziano dall’indirizzo 199.2.3.0. Ipotizzando un indirizzamento
classful senza capacità di adozione di netmask a lunghezza variabile, si chiede di assegnare blocchi di
indirizzi IP alle singole reti a partire dall’indirizzo più piccolo disponibile, specificando per ognuno di essi
anche la netmask corrispondente, in modo da minimizzare il numero totale di indirizzi non più utilizzabili al
di fuori di queste quattro reti.
I blocchi di indirizzi a disposizione dell’operatore sono in classe C e quindi ognuno di essi può fornire indirizzi
a 254 host. Tuttavia, la necessità di assegnare blocchi di indirizzi a quattro reti fisiche distinte richiede
il partizionamento degli indirizzi disponibili in blocchi, ciascuno assegnato a una sottorete. L’indisponibilità
dell’uso di netmask a lunghezza variabile impone che tutti gli indirizzi di un blocco in classe C siano caratterizzati
dalla stessa netmask, che necessariamente è quella richiesta dalla sottorete che supporta il maggior
numero di host. Quindi un blocco di indirizzi in classe C sarà utilizzato con netmask /25, dato che la rete
collega 100 host, così da fornire indirizzi alle reti e . Un secondo blocco di indirizzi in classe C sarà
partizionato in otto blocchi di indirizzi /28, dato che sono necessari 4 bit per indirizzare gli host delle reti
e (gli indirizzi utili in una sottorete /29 sarebbero solo 6). L’assegnazione degli indirizzi così realizzata,
rappresentata in Tabella E6.1, mostra che il secondo blocco di indirizzi in classe C assegna solo un ottavo
degli indirizzi disponibili, lasciando inutilizzati gli altri che sono già stati partizionati con netmask /28.
Tabella E6.1 Assegnazione di indirizzi IP secondo l’Esercizio 6.10.
Esercizio 6.12.
Un operatore gestisce le seguenti reti fisiche: (i) rete che collega 40 host, (ii) rete che
collega 100 host, (iii) rete che collega 14 host, (iv) rete che collega 8 host, e ottiene dall’autorità di
gestione di Internet un blocco di indirizzi che inizia dall’indirizzo 199.2.3.0. Ipotizzando un indirizzamento
classful, si supponga che il gestore intenda associare a ciascuna delle reti fisiche da a una subnet con
le seguenti regole: (i) tutti i router supportano Variable Length Subnet Mask (VLSM), che consente di assegnare
netmask di lunghezza variabile alle diverse sottoreti; (ii) la subnet associata a ciascuna rete fisica deve
essere tale che il numero di indirizzi non utilizzati dagli host sia il più piccolo possibile; (iii) alle quattro reti
fisiche siano associati blocchi di indirizzi contigui a partire dall’indirizzo di rete con net-id e host-id più piccoli.
La possibilità di definire netmask a lunghezza variabile consentita dal meccanismo VLSM consente una maggiore
efficienza nell’assegnazione degli indirizzi rispetto a quanto realizzato nell’Esercizio 6.10. Infatti, considerando
la definizione di sottoreti che dispongono di indirizzi che sono potenze di due, sono ora necessari
64 + 128 + 16 + 16 = 224 indirizzi che possono essere ricavati da un solo blocco di indirizzi in classe C. Il
partizionamento del blocco richiede di assegnare gli indirizzi alle sottoreti in ordine decrescente del numero
di host da collegare per sottorete. Quindi il primo partizionamento avviene con netmask /25 nei due blocchi
199.2.3.0/25 e 199.2.3.128/25, dei quali il primo è assegnato alla rete e il secondo è ulteriormente partizionato
con netmask /26, come richiesto per l’indirizzamento degli host nella rete . Quindi il blocco
199.2.3.128/26 è assegnato alla rete , mentre il blocco 199.2.3.192 è ulteriormente partizionato in quattro
blocchi, dei quali i primi due sono assegnati alle reti e . L’assegnazione degli indirizzi così realizzata,
rappresentata in Tabella E6.2, mostra che gli indirizzi inutilizzati del singolo blocco in classe C in uso sono
solo 32 a partire dall’indirizzo 199.2.3.224.
Tabella E6.2 Assegnazione di indirizzi IP secondo l’Esercizio 6.12.
Esercizio 6.20.
Con riferimento alla funzionalità di traduzione degli indirizzi implementata in un router R, si
chiede di individuare la tabella di “mapping” di un NAPT nel caso questo sia dotato di un solo indirizzo pubblico,
che interfacci dal lato privato tre host, , , , di una rete privata cui sono stati assegnati gli ultimi
tre indirizzi privati del blocco in classe B e che questi accedano a un server FTP , un mail server POP3
e un server WWW con il primo indirizzo pubblico, rispettivamente, in classe A, in classe B e in classe C.
Si assume che il dispositivo NAPT selezioni i valori più grandi possibili per l’identificazione del numero di
porta NAPT a partire dall’host e che ogni host selezioni il più piccolo valore come identificatore di porta
privata.
La Tabella E6.3 mostra il contenuto della tabella di “mapping” del dispositivo NAPT per le connessioni specificate.
Tabella E6.3 Contenuto della tabella di NAPT secondo l’Esercizio 6.20.
Esercizio 6.23.
Data la tabella di instradamento di un router IP riportata di seguito per netmask crescente (per
ogni indirizzo di rete è riportata la netmask e il next hop router). Si chiede di costruire una tabella che specifica il next hop che il router assegna secondo l’algoritmo longest prefix match ai datagrammi il cui indirizzo IP di destinazione è: 90.160.67.64, 90.169.1.66, 92.0.6.3, 90.168.1.80, 88.32.7.4, 91.32.27.43, 90.48.128.7, 90.34.128.0, 90.168.193.80, 90.170.192.3.
La Tabella E6.4 mostra il contenuto della tabella di instradamento per indirizzo di rete crescente, riportando
anche la notazione binaria corrispondente. La scrittura in formato binario degli indirizzi di destinazione assegnati riportata nella Tabella E6.5 aiuta a individuare le righe della tabella di instradamento con uguaglianza dei primi n bit della rete di destinazione con netmask /n, selezionando quindi tra queste il next hop router della riga con il più grande valore di n, in accordo all’algoritmo longest prefix match.
Tabella E6.4 Tabella di instradamento riordinata secondo l’Esercizio 6.23.
Tabella E6.5 Instradamento con l’algoritmo longest prefix match secondo l’Esercizio 6.23.
Esercizio 6.26.
Si chiede di ripetere l’Esempio 6.15 individuando la tabella di instradamento del router
ordinata per netmask di valore crescente e operando anche aggregazione di indirizzi, se possibile allo scopo
di ridurre le righe della tabella di instradamento.
Figura 6.15 Configurazione di rete secondo l’Esempio 6.15 (Esercizio 6.26).
La tabella di instradamento richiesta, riportata in Tabella E6.6, contiene nove voci, delle quali due indicano
inoltro locale sulle due reti e interfacciate direttamente, quattro voci indicano l’interfaccia del router
con indirizzo 56.64.8.1, tre voci indicano l’interfaccia del router con indirizzo 56.0.0.1. Solo queste
ultime possono essere aggregate sotto la voce di instradamento di default, rimuovendo le righe 1 e 3. Infatti,
in mancanza di “matching” con indirizzi di rete nella tabella di instradamento, i datagrammi vengono instradati
lungo la via di default.
Tabella E6.6 Tabella di instradamento del router R5 secondo l’Esercizio 6.26.
Esercizio 6.31.
Sia data una rete a sei nodi, A, B, C, D, E, F, e dieci rami, A-B di costo 1, B-C di costo 2, CD
di costo 3, D-E di costo 2, E-F di costo 6, F-A di costo 4, A-E di costo 11, B-F di costo 3, C-E di costo 7,
C-F di costo 3. Si chiede di costruire l’evoluzione della tabella di instradamento del nodo E sulla base dei
vettori delle distanze ricevuti dai nodi adiacenti nei primi quattro passi di aggiornamento dei vettore delle distanze,
assumendo che i vettori siano trasmessi tra nodi negli stessi istanti e che l’aggiornamento in ogni nodo
avvenga una volta sola per passo considerando tutti i vettori ricevuti.
La rete assegnata è rappresentata in Figura E6.2. L’evoluzione della tabella di instradamento del nodo E, in accordo ai successivi aggiornamenti ricevuti con i vettori delle distanze ricevuti dai nodi adiacenti A, C, D,
F è riportata in Tabella E6.7. Si può notare come siano necessari quattro passi di aggiornamento affinché il
nodo E possa avere la visione completa della rete, determinando quindi la via a costo minimo verso ogni altro
nodo della rete. Questa via, eccetto che per il nodo F raggiunto con il collegamento diretto, attraversa sempre
il nodo D.
Figura E6.2 Rete a sei nodi e dieci rami con relative distanze secondo l’Esercizio 6.31.
Tabella E6.7 Evoluzione della tabella di instradamento del nodo E secondo l’Esercizio 6.31.
Esercizio 6.33.
Si consideri una rete a sei nodi di cui il nodo D appena connesso in rete riceve in sequenza i
seguenti messaggi LSU che indicano il costo di attraversamento dei collegamenti tra nodi adiacenti in tabella. Assumendo che il costo sia lo stesso per entrambe le direzioni di ogni collegamento, si vuole mostrare come
la ricezione di questi messaggi LSU consenta la costruzione della topologia di rete completa vista dal nodo D.
Come mostrato in Figura E6.3, la ricezione del primo messaggio LSU dal nodo A consente al nodo D di conoscere
l’esistenza di altri tre nodi, A, B, F e dei relativi collegamenti. L’esistenza del nodo C viene conosciuta
solo con il secondo messaggio LSU che descrive la connettività del nodo B. Il terzo messaggio LSU
informa sui nodi adiacenti al nodo C, mentre il quarto messaggio LSU, ricevuto dal nodo E, consente di completare
la topologia di rete nel nodo D. La ricezione del quinto messaggio LSU dal nodo F fornisce solo informazioni
ripetute che non modificano la topologia.
Figura E6.3 Generazione della topologia di rete nel nodo D secondo l’Esercizio 6.33.
Esercizio 6.34.
Per la topologia di rete trovata nell’Esercizio 6.33 si vuole costruire l’albero dei cammini minimi
(minimum spanning tree, MST) per il nodo D, che costituisce quindi la radice dell’albero, applicando
l’algoritmo di Dijkstra.
L’applicazione dell’algoritmo di Djikstra viene rappresentata in Tabella E6.8. Al nodo iniziale D nell’insienell’insieme M vengono via via aggiunti i nodi D, F, E, A, B. Risulta interessante osservare come il cammino verso il nodo E venga variato man mano che vengono aggiunti nodi all’albero, in quanto si trovano vie a costo minore
delle precedenti. La stessa cosa avviene per il cammino verso il nodo B che nell’ultimo passo dell’algoritmo
attraversa il nodo A invece del nodo C.
Tabella E6.8 Applicazione dell’algoritmo di Dijkstra per il nodo D secondo l’Esercizio 6.34.
Figura E6.4 MST del nodo D secondo l’Esercizio 6.34.
Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito, leggi la nostra Privacy Policy per saperne di più. Accetta
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.