Sei sulla pagina 1di 8

A. A.

17/18 JEREGHI

Sistemi e Reti

Domande aperte
- Si descriva l’algoritmo CSMA p-persistent, 0-persistent, 1-persistent.

L’obiettivo di questo algoritmo, rispetto agli altri precedenti, è di aumentare il throughput [


bit/s ] - rappresenta la frequenza alla quale i bit vengono trasferiti tra mittente e destinatario. Le stazioni sono
in grado di ascoltare il canale prima di iniziare a trasmettere. Se questo è libero avviene la
trasmissione, altrimenti abbiamo due casi: non persistente - trasmette la trama scegliendo l’istante di
ritrasmissione in modo casuale, ed persistente che sono di seguito elencati:

• 1-Persistente: con probabilità 100% riprovo a mandare immediatamente appena il canale è


libero.

• 0-Persistente: con probabilità 0% riprovo a mandare immediatamente appena il canale è libero,


questo significa che al 100% il tempo di attesa dopo la collisione prima di rimandare sarà
casuale.

• P-Persistente: con probabilità p abbiamo 1-persistente, con probabilità 1-p invece ho 0-


persistente.

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.

- Si spieghi il concetto di porta del livello di trasporto.

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. “

- Spiegare i vari indirizzi ip (speciali).


1. indirizzo di rete - identifica una rete, avente come suffisso tutti i bit a zero. Non può mai
comparire come indirizzo di destinazione di un pacchetto dati.

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

- Si descriva come il TCP calcola il RTT e RTO.


Partendo dal fatto che TCP ha la caratteristica di “positive acknowledgement with
ritrasmission”, in particolare la versione di base è “stop and wait”, la sorgente non trasmette un
nuovo segmento fino a quando l’ultimo non viene riscontrato. Per sapere quanto tempo al massimo
deve aspettare viene calcolato RTO (retransmission time out) che indica il tempo entro il quale la
sorgente si aspetta di ricevere il riscontro (ack).

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.

- Si dia la definizione di dominio di collisione e dominio di broadcast.


Dominio di collisione è la parte di rete per cui, se due stazioni trasmettono dati
contemporaneamente, il segnale ricevuto dalle stazioni risulta danneggiato.

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.

- Si spieghi, attraverso un esempio, come viene utilizzato il campo “Fragment Offset”


dell’header IP.

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 campo identification (id) è un numero di 16-bit assegnato al datagramma e viene utilizzato


per ricomporre un datagramma nel caso in cui venga frammentato.

Il router è l’apparato di rete che si occupa della frammentazione usando i campi sopra
indicati.

- Si descriva l’algoritmo CSMA nella sua variante CD - Collision Detection - , indicando il


motivo che ha portato all’introduzione di tale variante.

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.

- Cosa succede se MSS è troppo piccolo o troppo grande (conseguenze).


MSS - maximum segment size, rappresenta la dimensione massima del campo dati dei segmenti che
si possano ricevere, valore di default 536 byte.

!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.

- Quant’è il valore massimo di ritardo di propagazione ammissibile.


Il ritardo di propagazione è dato dal tempo impiegato dal bit, una volta immesso sul collegamento, a
propagarsi fino al prossimo router. La velocità di propagazione del bit dipende quindi dal mezzo
fisico ed è compresa tra 2 x 108 m/s e 3 x 108 m/s. Il ritardo è dato dalla distanza tra i due router
fratto la velocità di propagazione. Nelle reti molto estese i ritardi di propagazione sono dell’ordine
dei millisecondi.

- 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.

- Algoritmo di routing RIP.

- Si descriva la fase di instaurazione di una connessione, indicando i messaggi scambiati e i


campi dell’header coinvolti.

L’instaurazione della connessione serve per lo scambio, tra due entità, dei dati relativi alla
comunicazione.

Una connessione si instaura tramite il meccanismo di “three-way-handshaking”: la stazione (A) che


richiede una connessione invia un segmento di SYN - synchronize [numeri sequenziali] - (specificando
anche il numero di porta dell’applicazione cui si intende accedere e un parametro ISN - Initial
Sequence Number). La stazione (B) ricevente, risponde con un segmento di SYN (specificando il suo
ISN e riscontrando con ACK quello ricevuto). La stazione (A) riscontra il segmento SYN con un ACK.

- 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.

- Si spieghi che cos’è il NAV e come viene utilizzato.


E’ un metodo che permette l’ascolto virtuale del canale, quindi è dato da un contatore. Se questo è
maggiore di zero significa che il canale è occupato. Viene impostato andando a leggere la
dimensione delle trame, in base a questo si calcola il tempo d’occupazione del canale oppure
attraverso la lettura del RTS e CTS se questi sono abilitati.

- Si spieghi che cos’è NAT e per quale motivo è stata introdotta.


Network Address Translation: al router di bordo (che collega la rete privata alla rete pubblica) viene
assegnata la funzionalità di NAT per tradurre gli indirizzi IP dei datagrammi uscenti ed entranti
sostituendo l’indirizzo sorgente con il proprio indirizzo pubblico e l’indirizzo di destinazione di ogni
pacchetto entrante con l’indirizzo privato dell’host corretto.

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.

Parola per parola di Carra:

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:

• un host si accende ed invia in broadcast una richiesta DHCP;

• il server risponde alla richiesta, assegnando un indirizzo IP all’host richiedente in due modalità:
statica o dinamica;

• in maniera statica significa, in genere, indirizzo ip permanente - tipicamente per i server.

!5
A. A. 17/18 JEREGHI

• in maniera dinamica significa indirizzo ip scelta da un insieme allocato appositamente - host


generici - assegnato solo per un periodo di tempo determinato detto lease, allo scadere di
questo il server considera tale indirizzo come disponibile per una nuova assegnazione. Un host
può liberare l’indirizzo o estenderne il periodo.

Le 4 fasi di assegnamento di un indirizzo IP sono:

1. DHCP discover, eseguito da un host, specificando inoltre un id di transazione,

1. ind sorgente 0.0.0.0,

2. ind destinazione 255.255.255.255.

2. DHCP offer, eseguito dal server DHCP, usando lo stesso id dell’host richiedente ed un lifetime,

1. ind sorgente 223.1.2.5 (esempio),

2. ind destinazione 255.255.255.255,

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:

1. ind sorgente 0.0.0.0,

2. ind destinazione 255.255.255.255,

3. yiaddr 223.1.2.4.

4. DHCP ack, conferma di assegnare l’indirizzo offerto, se il punto 3 è avvenuto con successo:

1. ind sorgente 223.1.2.5,

2. dest 255.255.255.255,

3. yiaddr 223.1.2.4.

- Protocollo UDP detiene 4 campi: spiegare quali sono e cosa servono.


Source port e Destination port, ciascuno da 16 bit, identificano i processi sorgente e destinazione dei
dati. Il campo Length, sempre da 16 bit, indica la lunghezza totale (in byte) del datagramma,
compreso l’header UDP. Il quarto campo è Checksum, sempre dal 16 bit, è il campo di controllo che
serve per sapere se il datagramma corrente contiene errori nel campo dati.

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.

- Definizione di periodo di vulnerabilità e qual è il periodo di vulnerabilità per il protocollo


ALOHA (con disegno).

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

- Protocollo ARP: il suo funzionamento e perché è stato introdotto?


Protocollo che associa ad un indirizzo IP il corrispondente indirizzo hardware di quell’host specifico
(MAC address): risoluzione degli indirizzi (avviene sempre all’interno di una rete - stessa netID).
Questa traduzione è necessaria per il forwarding.

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.

- Perché la Congestion Window non è fissa ma varia nel tempo ?


Congestion Window varia nel tempo perché si adatta al variare delle condizioni della rete, infatti
sono adottati diversi algoritmi per determinare la sua grandezza in particolare uno lineare chiamato
Congestion Avoidance ed uno esponenziale detto Slow Start. Questi vengono usati per l’efficienza
del TCP.

- Descrizione del problema del terminale nascoso e la sua risoluzione.


Il segnale generato dalle stazioni (o dall’access point) è percepibile fino ad una certa distanza, di
conseguenza viene ricevuto solo da un sottoinsieme di altre stazioni. In questo modo nasce il
problema del terminale nascosto.

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.

DCF con RTS/CTS (request to send / clear to send)

Per risolvere il problema del terminale nascosto:

- 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.

- Si descriva brevemente uno schema di un router, evidenziando le funzionalità delle diverse


parti.

!7
A. A. 17/18 JEREGHI

In una generica architettura di un router si possono identificare quattro componenti:

1. Porte di ingresso (input port) che svolge le seguenti funzionalità:

1. terminazione di un collegamento in ingresso al router;

2. ricerca del numero di porta di uscita corretta;

3. inoltrare i pacchetti di controllo al processore di instradamento;

2. Struttura di commutazione (switching fabric):

1. connette fisicamente le porte di ingresso a quelle di uscita;

3. Porte di uscita (output port):

1. memorizza i pacchetti che provengono dalla struttura di commutazione e li trasmettono sul


collegamento in uscita;

4. Processore di instradamento (routing processor):

1. esegue i protocolli di instradamento;

2. gestisce le tabelle di inoltro e le informazioni sui collegamenti attivi;

3. implementa le funzioni di gestione della rete;

Le porte di input, output e la struttura di commutazione insieme implementano la funzione di inoltro.


Nel complesso sono chiamate struttura di inoltro del router - tutto a livello hardware.

L’ultimo componente invece lavora a livello software.

Distributed Coordination Function (DCF) con CSMA/CA: livello MAC

Ascolto del canale:

- se libero, aspetta un tempo pari a DIFS per vedere se il canale non viene occupato. Se rimane
ancora libero, si trasmette immediatamente.

- se occupato, la stazione rimanda la trasmissione, ma continua a monitorarlo fino a che la


trasmissione in corso non termina.

- 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

Potrebbero piacerti anche