Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
17/18 JEREGHI
Sistemi e Reti
Domande aperte
- Si descriva l’algoritmo CSMA p-persistent, 0-persistent, 1-persistent.
Esempio: consideriamo la probabilità 35%, allora 35% mando immediatamente, cioè 65% mando
dopo un tempo casuale.
- Dare una definizione di indirizzo privato e indirizzo pubblico, spiegando come vengono
utilizzate le due diverse tipologie di indirizzo.
Un’insieme di terminali collegati in LAN, per poter comunicare, hanno bisogno di indirizzi IP
privati per identificarsi. Questa LAN per comunicare con l’esterno (internet) ha bisogno di un
indirizzo pubblico, di conseguenza tutti i terminali della rete locale accedono all’internet tramite un
unico indirizzo IP che è quello pubblico.
L’indirizzamento privato si utilizza quando una rete ha un solo punto di collegamento verso
Internet (rete pubblica) e più reti private possono utilizzare gli stessi indirizzi IP perché non si crea
ambiguità nella rete pubblica. Quando un router pubblico riceve un indirizzo privato semplicemente
lo scarta e genera un messaggio di errore.
Il concetto di porta non è altro che un codice, formato da 16 bit. Viene usato per gestire le
funzioni di multiplexing e demultiplexing da parte del TCP. Ci sono porte statiche - well known - e
dinamiche: quelle note sono gli identificativi dei processi applicativi sui server a livello di trasporto e
sono state introdotte per permettere la comunicazione client server. Essendo il client a iniziare la
comunicazione, deve sapere su quale porta e indirizzo ip fare richiesta. Queste due informazioni
compongono la cosiddetta socket che identifica univocamente una connessione su cui passa un
unico flusso di dati.
Quelle dinamiche sono invece assegnate agli applicativi client, in modo dinamico, dal sistemi
operativo.
!1
A. A. 17/18 JEREGHI
- Si descriva la modalità di framing di livello Data-Link chiamata “bit stuffing”, aiutandosi anche
con un esempio numerico.
La funzionalità di framing è di rendere distinguibile una trama dall’altra attraverso l’utilizzo di
opportuni codici all’inizio e alla fine della trama stessa.
Nel caso di bit stuffing, ogni trama inizia e termina con un speciale pattern di bit: 01111110.
Si chiama in questo modo appunto perché se la trama contiene questa sequenza, la sorgente
aggiunge uno zero se incontra cinque uni consecutivi così la destinazione toglie uno zero se incontra
cinque uni consecutivi.
“ In questo caso infatti il protocollo prevede l'utilizzo di 6 bit consecutivi ad 1 per segnalare l'inizio e la fine di
un frame di dati, quindi se i dati da trasmettere contengono 5 bit a 1 di seguito, viene inserito uno zero dopo il
quinto 1 per evitare che i dati siano interpretati come una sequenza di controllo. Il bit 0 viene inserito dopo il
quinto bit 1 indipendentemente dal bit successivo (0 o 1): questo perché la stazione di ricezione scarterà in ogni
caso il bit 0 successivo a una sequenza di cinque 1 consecutivi. “
2. indirizzo directed broadcast - permette di inviare lo stesso messaggio a tutti gli host della rete.
Ha come suffisso tutti i bit a uno.
3. indirizzo limited broadcast - è utilizzato durante lo start-up del sistema, quando l’host non
conosce ancora l’indirizzo di rete. Tutti i bit del prefisso e suffisso sono posti a 1, quindi
255.255.255.255.
4. indirizzo this host - durante lo start-up, l’indirizzo di default di un host è formato da tutti i bit a 0,
quindi 0.0.0.0.
5. indirizzo di loopback - questo è usato per testare applicazioni di rete in fase di sviluppo: fa
comunicare due applicazioni diverse che girano sulla stessa macchina, ma che generalmente
dovrebbero essere eseguite su host diversi. Local host: 127.0.0.0/8, 1^ host: 127.0.0.1/8. Il
protocollo IP si preoccupa di rigirare il pacchetto alla stessa macchina.
- Si descriva la procedura adottata dal TCP per chiudere una connessione, specificando i campi
dell’header coinvolti.
Una connessione si termina in maniera bidirezionale: la stazione che non ha più dati da
trasmettere invia un segmento FIN (campo FIN posto a 1 e tutti gli altri a 0). La stazione che riceve il
FIN, lo riscontra con un ACK, ma può continuare la trasmissione dati verso questa, se non aveva
ancora finito. La stazione che ha chiuso la connessione ma sta ricevendo i dati può comunque
rispondere al traffico con gli ACK.
- Si spieghi che cosa si intende, quando si parla delle funzionalità del livello 2, per framing e si
descriva una delle possibili tecniche con un semplice esempio.
La funzionalità di framing è di rendere distinguibile una trama dall’altra attraverso l’utilizzo di
opportuni codici all’inizio e alla fine della trama stessa.
Esistono diverse tecniche per implementare il framing: marcare inizio e termine di ogni trama
(character count, starting and ending flag [bit stuffing]).
!2
A. A. 17/18 JEREGHI
Questo valore non può essere statico perché appunto dipende dalla distanza tra sorgente e
destinazione, dalle condizioni della rete e dalla disponibilità della rete. Dunque RTO viene calcolato
durante la fase di instaurazione della connessione o durante la trasmissione dei dati. Il calcolo inoltre
si base sulla misura del RTT (round trip time), cioè l’intervallo di tempo tra l’invio di un segmento e la
ricezione del riscontro di quel segmento.
Dominio di broadcast è la parte di rete raggiunta da una trama con indirizzo destinazione
broadcast. Stazioni appartenenti alla medesima rete di livello 2 condividono lo stesso dominio di
broadcast.
Sono 13 bit che specificano l’offset del frammento rispetto al datagramma originale, il valore
del campo deve essere moltiplicato per 8 per ottenere il vero offset.
Il campo spiazzamento viene utilizzato per mantenere l’ordine originale dei frammenti che
compongono lo stesso datagramma alla stazione di destinazione, ma questo non basta: c’è bisogno
di un id e due flag. L’insieme dei frammenti che compongono un certo datagramma hanno lo stesso
id, invece il primo flag M a 1 indica che il frammento ricevuto non è l’ultimo, il secondo flag D indica
di frammentare ulteriormente oppure no.
Il router è l’apparato di rete che si occupa della frammentazione usando i campi sopra
indicati.
Nel momento in cui la stazione sta trasmettendo, con questa variante dell’algoritmo, riesce a
capire se c’è la collisone, in questo caso interrompe subito tutto in modo da non sprecare tempo a
trasmettere trame già corrotte. Inoltre, per far sentire a tutte le stazioni che vi è stata collisione, si
trasmette una particolare sequenza, detta jamming, di 32 bit.
!3
A. A. 17/18 JEREGHI
Un MSS troppo piccolo comporta ad uno spreco del mezzo fisico di trasmissione, invece uno troppo
grande comporta alla collisione perché non c’è controllo di flusso, cioè i riscontri potrebbero arrivare
prima della conclusione della trasmissione della finestra.
- Spit-horizon, protocollo Link State (OSPF) invece di un protocollo Distance Vector (che
utilizza RIP).
L’algoritmo Distance Vector presenta il problema Counting to Infinity. Ci sono due soluzioni: Split
Horizon - in cui ciascun nodo quando invia il DV al vicino k, omette le destinazioni che hanno k come
next hop, Poison Reverse - in cui ciascun nodo quando invia il DV al vicino k, imposta la distanza a
infinito per le destinazioni che hanno k come next hop.
- Come viene aggiornato il valor medio dell’RTT (SRTT) durante una connessione.
RTT (Round Trip Time) rappresenta il tempo trascorso tra l’invio di un segmento e la ricezione del
riscontro. In condizioni di stabilità della rete e del carico, questo rimane pressoché costante.
Se alfa tende a 1 il SRTT (Smoothed RTT) stimato risulta abbastanza stabile, se invece tende a zero
allora dipende fortemente dalla misura puntuale dei singoli RTT istantanei.
L’instaurazione della connessione serve per lo scambio, tra due entità, dei dati relativi alla
comunicazione.
- L’header del protocollo IP contiene un campo chiamato TTL: si spieghi come viene utilizzato
tale campo e perché è stato introdotto.
!4
A. A. 17/18 JEREGHI
TTL è un campo che rappresenta un intero a 8 bit inizializzato dalla sorgente. Questo viene
decremento di un’unità ogni volta che il datagramma è elaborato da un router. Se raggiunge il valore
0 il datagramma viene scartato e un messaggio di errore viene inviato alla sorgente. E’ stato
introdotto per assicurare che i datagrammi non restino in circolazione per sempre nella rete.
NAT evita che un host al di fuori della rete domestica crei una connessione con un host all’interno di
questa.
Funzionalità introdotta per risolvere i problemi di instradamento tra una rete ad indirizzamento
privato ed una rete ad indirizzamento pubblico.
Il router NAT mantiene al suo interno una tabella di record con il mapping tra indirizzo privato
sorgente della comunicazione ed indirizzo pubblico destinazione della comunicazione.
L’aggiornamento delle NAT Table avviene in modo statico (configurazione manuale dal gestore della
rete) ed in modo dinamico grazie ai datagrammi uscenti con lo svantaggio però di non permettere
l’attivazione di una comunicazione dall’esterno.
Il NAT basato unicamente sull’indirizzo non permette a differenti host privati di contenersi
contemporaneamente allo stesso host pubblico. La soluzione a questo è Port Mapped NAT.
Il NAT è un apparato di rete che fa da frontiera che utilizza indirizzi privati per permettere la
comunicazione verso gli indirizzi pubblici. Tutto questo funziona grazie ad una tabella che contiene il
valore dell’indirizzo di destinazione e la porta sorgente e destinazione.
- Cosa succede quando un host si connette ad una rete e ha bisogno di ricevere un indirizzo
IP ?
La configurazione degli host segue un processo noto come bootstrapping, per consentire ad una
macchina di potersi configurare subito dopo essere stata accesa e assumere dei valori iniziali e
gestire quale protocollo utilizzare.
La procedura è questa:
• il server risponde alla richiesta, assegnando un indirizzo IP all’host richiedente in due modalità:
statica o dinamica;
!5
A. A. 17/18 JEREGHI
2. DHCP offer, eseguito dal server DHCP, usando lo stesso id dell’host richiedente ed un lifetime,
3. yiaddr 223.1.2.4.
3. DHCP request, eseguito dallo stesso host con un id di transazione diverso. A questo punto viene
chiesta la conferma per l’indirizzo offerto:
3. yiaddr 223.1.2.4.
4. DHCP ack, conferma di assegnare l’indirizzo offerto, se il punto 3 è avvenuto con successo:
2. dest 255.255.255.255,
3. yiaddr 223.1.2.4.
UDP - user datagram protocol - protocollo di trasporto connectionless non affidabile cioè non viene
attivata nessuna connessione ed all’invio delle trame non c’è un feedback dalla destinazione sulla
corretta ricezione, se una trama viene persa non ci sono tentativi per recuperarla.
Si definisce “periodo di vulnerabilità” l’intervallo di tempo in cui può avvenire una collisione che
invalida una trasmissione. Aloha permette al massimo di sfruttare il 19% degli slot liberi.
!6
A. A. 17/18 JEREGHI
Le informazioni ARP vengono salvate per ridurre il traffico di rete, ma devono essere periodicamente
rinnovate. Inoltre se un nodo fa una richiesta ARP nella rete, le informazioni che otterrà saranno utili
anche a tutti gli altri nodi per conoscere la struttura della rete.
Se le stazioni A e C sono collegate all’access point B, A invia una trama a B e, se C volesse farlo,
nell’ascoltare il canale non lo troverebbe occupato (perché A è fuori dal suo range) e andrebbe a
trasmettere generando collisione con A. L’eventuale collisione su B non verrebbe percepita né da A
né da C.
- la sorgente invia una trama RTS dopo aver percepito il canale libero per un intervallo pari a DIFS.
- il ricevente risponde con una trama CTS dopo un intervallo SIFS.
- (il canale viene riservato per la trasmissione dei dati - non ci possono essere collisioni in queste
fasi).
- Nel caso in cui una stazione esterna riceva un CTS, che stava per iniziare una trasmissione, questa
si blocca finché la trasmissione non sarà terminata, per non danneggiare il segnale. Le trame RTS/
CTS includono la lunghezza delle trame da trasmettere.
!7
A. A. 17/18 JEREGHI
- se libero, aspetta un tempo pari a DIFS per vedere se il canale non viene occupato. Se rimane
ancora libero, si trasmette immediatamente.
- appena la trasmissione conclude, la stazione aspetta un’altro DIFS, se il canale rimane libero, in
questo caso, si estrae un numero casuale (backoff - nr. di time-slot da aspettare) da usare come
countdown prima di trasmettere.
- se invece viene occupato, la stazione attende il canale che si liberi e poi estrae un nr. casuale di
countdown limitato alla Contention Window (CW).
- la prima stazione cui scade il backoff inizia immediatamente a trasmettere, mentre le altre
bloccano il loro backoff, in caso di collisione si raddoppia l’intervallo della CW in modo che il
limite del nuovo nr. casuale sia più grande.
!8