Anteprima
Vedrai una selezione di 6 pagine su 25
Domande e risposte esame Ingegneria di Internet Pag. 1 Domande e risposte esame Ingegneria di Internet Pag. 2
Anteprima di 6 pagg. su 25.
Scarica il documento per vederlo tutto.
Domande e risposte esame Ingegneria di Internet Pag. 6
Anteprima di 6 pagg. su 25.
Scarica il documento per vederlo tutto.
Domande e risposte esame Ingegneria di Internet Pag. 11
Anteprima di 6 pagg. su 25.
Scarica il documento per vederlo tutto.
Domande e risposte esame Ingegneria di Internet Pag. 16
Anteprima di 6 pagg. su 25.
Scarica il documento per vederlo tutto.
Domande e risposte esame Ingegneria di Internet Pag. 21
1 su 25
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

TCP.

TCP utilizza un meccanismo di timeout e ritrasmissione per recuperare i segmenti persi.

Il timeout dovrebbe essere più grande del tempo di andata e ritorno sulla connessione

(RTT), ossia del tempo trascorso da quando si invia un segmento a quando se ne riceve

l’ACK.

Un valore troppo vicino al RTT può generare timeout prematuri a causa della natura

stocastica del tempo di percorrenza nella rete dei pacchetti. Un valore troppo elevato

rende il protocollo TCP troppo lento a reagire alla perdita di segmenti.

il tempo misurato tra l’invio

Sia SampleRTT di un segmento e la ricezione del suo ACK,

a esclusione dei segmenti ritrasmessi. Ciò comporta la misurazione di un SampleRTT a

ogni RTT. Sia EstimatedRTT una media dei valori di SampleRTT,

EstimatedRTT = (1-) x EstimatedRTT + x SampleRTT

Il valore raccomandato per è 0,125 (ossia 1/8 shift right logical di 3 bit). Sia DevRTT

la stima della variazione di EstimatedRTT, –

|SampleRTT

DevRTT = (1-) x DevRTT + x EstimatedRTT|

Il valore raccomandato per è 0,25 (ossia ¼). L'intervallo di timeout è calcolato come

TimeoutInterval = EstimatedRTT + 4 x DevRTT

È dunque impostato il timeout con un margine dalla stima del RTT che dovrebbe essere

grande quando c’è molta fluttuazione nei valori di SampleRTT e piccolo in caso

contrario.

Descrivere come viene realizzato il controllo di flusso in TCP.

Quando un destinatario di una connessione TCP riceve pacchetti in sequenza, li salva

dentro un buffer di ricezione, dal quale potranno essere letti dal processo applicativo,

Se l’applicazione

non necessariamente nel loro istante di arrivo. è relativamente lenta

nella lettura dei dati, può accadere che il mittente mandi in overflow il buffer di ricezione

inviando molti dati troppo rapidamente.

TCP offre un servizio di controllo di flusso per evitare che il mittente saturi il buffer di

ricezione del destinatario. Il mittente mantiene una variabile (rwnd), detta finestra di

ricezione, che fornisce info sullo spazio libero disponibile nel buffer del destinatario.

Nel contesto di un trasferimento di file, siano RcvBuffer la dimensione del buffer di

ricezione, LastByteRead l'ultimo byte del flusso letto dal processo applicativo dal buffer

e LastByteRcvd l'ultimo byte del flusso ricevuto. Dato che TCP non può saturare il buffer

– ≤

allocato, si deve avere LastByteRcvd LastByteRead RcvBuffer. Per il mittente, la

finestra viene impostata alla quantità di spazio disponibile nel buffer, rwnd = RcvBuffer

– –

(LastByteRcvd LastByteRead, e si tiene conto anche di LastByteSent che è l'ultimo

byte del flusso inviato, e LastByteAcked che è l'ultimo byte del flusso che ha ricevuto un

– ≤

ACK. Il controllo di flusso è assicurato mantenendo LastByteSent LastByteAcked

ovvero la quantità di dati “in aria” ancora senza ACK viene mantenuta in modo

rwnd,

tale da non mandare il buffer di ricezione in overflow. L'effetto del controllo di flusso è

un rallentamento da parte del mittente.

Se accade che il buffer si saturi (rwnd diventa pari a 0), allora il mittente continua a

mandare segmenti da 1 byte, a cui il destinatario risponde con un ACK. Questo accade

poiché se rwnd = 0, il mittente non invia più segmenti, ma non ha modo di essere

avvertito dal destinatario di poter riprendere la trasmissione quando si sta svuotando il

buffer, poiché TCP fa pervenire un segmento al mittente solo se ha dati o un ACK da

inviargli.

Illustrare come viene instaurata e rilasciata una connessione TCP.

Quando un host client vuole instaurare una connessione con un host server tramite TCP

esegue la seguente procedura:

1. TCP lato client invia uno speciale segmento al TCP lato server. Questo segmento

speciale non contiene dati a livello applicativo, ma il bit SYN nell’intestazione del

segmento è posto a 1. Inoltre, il client sceglie a caso un numero di sequenza

iniziale e lo pone nel campo numero di sequenza del segmento SYN iniziale.

Quest’ultimo viene incapsulato in un datagramma IP e inviato al server.

2. Il server estrae il segmento dal datagramma, alloca i buffer e le variabili TCP alla

connessione e invia un segmento di connessione approvata al client TCP. Anche

questo segmento non contiene dati a livello applicativo, ma nella sua il bit SYN è

posto a 1, il campo ACK assume un valore pari al numero di sequenza scelto dal

client più uno. Infine, il server sceglie il proprio numero di sequenza iniziale e lo

pone nel campo del numero di sequenza.

3. Alla ricezione del segmento del server, anche il client alloca buffer e variabili per

la connessione. L’host client invia quindi al server un altro segmento in risposta

al segmento di connessione approvata del server, ponendo nel campo ACK un

valore pari al numero di sequenza scelto dal server più uno.

Una volta completati questi tre passi, gli host client e server possono scambiarsi

segmenti contenenti dati. In ciascuno di questi futuri segmenti, il bit SYN sarà posto a 0.

Ciascuno dei due attori può richiedere la terminazione della connessione. Se il client

decide di chiudere la connessione, viene inviato un segmento TCP speciale al processo

server, nella cui intestazione il bit FIN ha valore 1. Quando il server riceve questo

segmento, risponde inviando un ACK al client. Il server spedisce quindi il proprio

segmento di shutdown, con il bit FIN uguale a 1. Infine, il client manda a sua volta un

a quest’ultimo segmento del server. A questo punto, tutte le risorse degli host

ACK

risultano deallocate.

Descrivere come viene realizzato il controllo di congestione nel protocollo

TCP.

La congestione avviene quando la rete non è in grado di gestire i flussi di dati che la

attraversano, in quanto ci sono troppe sorgenti che trasmettono troppe informazioni e

troppo velocemente. Si manifesta nella perdita dei pacchetti e in ritardi elevati.

Il protocollo TCP implementa il controllo di congestione con un approccio end-to-end,

sulla base dell’osservazione del comportamento della

ovvero deducendo la congestione

rete dai sistemi periferici. TCP impone a ciascun mittente un limite al tasso di invio sulla

propria connessione in funzione della congestione di rete percepita. Tale vincolo viene

mantenuto dalla finestra di congestione cwnd, che varia nel tempo ed è legata alla

percezione del livello di congestione nella rete. Deve valere LastByteSent

LastByteAcked min{cwnd, rwnd}, dove rwnd è lo spazio libero nel buffer del

è l’ultimo byte è l’ultimo

destinatario, LastByteSent del flusso inviato e LastByteAcked

byte del flusso di cui si è avuto riscontro.

Un evento di perdita di segmenti viene dedotto dalla ricezione di 3 ACK duplicati, oppure

dalla scadenza del timeout. Nello specifico, ci sono 3 fasi principali nel controllo della

congestione in TCP:

Slow start: quando viene stabilita una connessione TCP, il valore di cwnd è inizialmente

posto a 1 MSS (maximum segment size), da cui una velocità di invio iniziale pari a

MSS/RTT; questo valore si incrementa di 1 MSS ogni volta che un segmento trasmesso

riceve un ACK. Questo processo ha come effetto il raddoppio della finestra di

congestione a ogni RTT.

La fine di questa fase avviene: se c’è un timeout, si ricomincia la slow start ponendo

cwnd=1, mentre una seconda variabile, ssthresh, si pone uguale a cwnd/2, ovvero metà

del valore che aveva la finestra di congestione quando la congestione è stata rilevata;

se si ricevono 3 ACK duplicati, e in quel caso si passa al fast recovery; se cwnd diventa

uguale a ssthresh, si passa alla congestion avoidance.

Congestion avoidance: quando si arriva in questo stato, cwnd è pari alla metà di

quanto era prima della congestione. Si riparte da questa situazione e si incrementa cwnd

L’approccio è l’incremento

di 1 MSS per ogni RTT, invece di raddoppiarla. da parte del

mittente TCP della propria cwnd di MSS × (MSS/cwnd) byte ogni qualvolta riceva un

nuovo ACK. se c’è

La fine di questa fase avviene: timeout, si ha lo stesso comportamento che si ha

in slow start; se si ricevono 3 ACK duplicati, dimezza il valore di cwnd (aggiungendo 3

MSS per tenere conto dei duplicati ricevuti) e imposta il valore di ssthresh pari a metà

del valore di cwnd al momento del ricevimento dei tre ACK duplicati. Infine, TCP entra

nello stato di fast recovery.

Fast recovery: si incrementa il valore di cwnd di 1 MSS per ogni ACK duplicato ricevuto

relativamente al segmento perso che ha causato l’entrata di TCP in questa modalità.

l’ACK

Quando arriva per il segmento perso, si passa a congestion avoidance dopo aver

se invece c’è timeout si passa a slow start

ridotto il valore di cwnd; come nei casi

precedenti.

Il controllo di congestione in TCP, ignorando la fase di slow start, consiste in un

incremento additivo lineare di cwnd alla ricezione di ACK e in un decremento

duplicati (supponendo l’assenza

moltiplicativo che dimezza cwnd in presenza di 3 ACK

di timeout).

Capitolo 4

Illustrare la regola di corrispondenza del prefisso più lungo (longest prefix

matching).

Tra le funzionalità delle porte di ingresso vi è quella di determinare la porta di uscita a

cui dirigere un pacchetto attraverso la struttura di commutazione, utilizzando le

informazioni della tabella di inoltro, che viene elaborata e aggiornata dal processore di

instradamento o ricevuta da un controller SDN remoto.

dell’indirizzo di destinazione del pacchetto con

Per fare ciò, il router confronta i primi bit

e se c’è corrispondenza il router inoltra il pacchetto verso il

una riga della tabella,

collegamento associato. Può succedere che un indirizzo di destinazione corrisponda a

più righe della tabella, e in questo caso il router adotta la regola di corrispondenza a

determinata la corrispondenza più lunga all’interno della

prefisso più lungo: cioè viene all’interfaccia di collegamento associata.

tabella. I pacchetti vengono così inoltrati

Descrivere come viene realizzata la gestione della mobilità nelle reti IP

(illustrare il protocollo DHCP).

DHCP (Dynamic Host Configuration Protocol) è un protocollo che consente a un host

che si collega a una sottorete di ottenere un indirizzo IP, appartenente alla sottorete, in

modo automatico, evitando la configurazione manuale. DHCP può essere configurato di

modo che un dato host riceva un indirizzo IP persistente, in modo che ogni volta che

l’host entra in rete gli venga assegnato sempre lo stesso indirizzo IP, oppure in modo da

assegnare a ciascun host che si connette un ind

Dettagli
Publisher
A.A. 2022-2023
25 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/03 Telecomunicazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher copf.daraio di informazioni apprese con la frequenza delle lezioni di Ingegneria di internet e del web e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma Tor Vergata o del prof Lo Presti Francesco.