Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Reti di calcolatori
 
Congestion Avoidance
Clicca QUI per vedere il messaggio nel forum
biett0
Di nuovo un altro esercizio sulla congestione, precisamente il #9 di quelli con cui abbiamo fatto esercitazione:

Si supponga che la finestra di congestione di TCP sia di 18K quando si verifica l'arrivo di 3 duplicate ACK. Quanto sarà grande la finestra se alle successive 2 trasmissioni corrisponde l'arrivo di un duplicate ACK? Si assuma che la max dimensione di segmento sia 1K e la slow start threshold sia di 16K. Cosa succede se dopo la 3a trasmissione si riceve un altro duplicate ACK? E se invece si riceve un ACK nuovo?

biett0
Premesso che ci sono varie interpretazioni e sta roba fa girare il cazzo...

Cmq se arrivano 3 duplicate ACK riporto la congestion window al valore di SST, in teoria dovrebbe essere quindi 16K, e non 8 come riportato nella risoluzione dell'esercizio... :shock:

GiKappa
si riporta la congestion window al livello della SST dopo i primi 3 ack.

la SST si dimezza se si ricevono altri 3 ack duplicati (quindi in totale 6 ack duplicati)

quindi la cw alla ricezione del secondo terzetto di ack duplicati scenderà al livello della SST dimezzata, quindi 8.

se invece si hanno 5 ack duplicati e il sesto arriva correttamente, non ci sono problemi e dovrebbe crescere linearmente. (su questa però non sono sicuro)

biett0
Ola!! :D beh si, ma subito al primo punto che ho 3 ack duplicati dovrei avere una cw=16 e non 8...

GiKappa
uhm! non è che la risposta cw=8 si riferisce al calcolo dopo gli altri 3?

perchè altrimenti si, dovrebbe essere 16.

oppure va bene cw=8 se si usa l'altro metodo: cioè dimezzare la SST dopo i primi 3 ack duplicati e portare la cw al livello di SST.

però se in un esercizio usa un metodo e poi l'altro è un casino! su quello del tema d'esame di gennaio ha usato il primo che ho detto.

boh!

stenofa
vorrei riportare alla luce questo bell'esercizio!

CowBoy
biett0 avrà studiato sul Halsall per quello insiste nel dire che la soluzione è errata. Cmq c'è una grande differenza tra quanto scritto sul libro e quello che hanno pubblicato nel RFC 5681, al quale il prof fa riferimento.
Ho postato la soluzione di un esercizio simile qui(esercizio 6):
http://www.dsy.it/forum/showthread....&threadid=42005

xSharKMaNx
CW è 18 quando ho ricevuto i primi 3 ACK
SST è 16

Quindi dimezzo CW portandolo al livello di SST
A questo punto la CW entra nella fase di prevenzione della congestione e sale di 1 segmento alla volta

Sia a 16 + 1 = 17 + 1 = 18
A 18 arriva il secondo gruppo di ACK duplicati
La mia SST diventa 8

CW entra in prevenzione 8 +1 = 9
A 9 arriva il terzo gruppo di ACK duplicati

La mia SST diventa 4

Se invece ricevo un ACK la mia CW passa da 8 + 1 = 9

Sperando di non aver sbagliato

gab217
Originally posted by xSharKMaNx
CW è 18 quando ho ricevuto i primi 3 ACK
SST è 16

Quindi dimezzo CW portandolo al livello di SST
A questo punto la CW entra nella fase di prevenzione della congestione e sale di 1 segmento alla volta

Sia a 16 + 1 = 17 + 1 = 18
A 18 arriva il secondo gruppo di ACK duplicati
La mia SST diventa 8

CW entra in prevenzione 8 +1 = 9
A 9 arriva il terzo gruppo di ACK duplicati

La mia SST diventa 4

Se invece ricevo un ACK la mia CW passa da 8 + 1 = 9

Sperando di non aver sbagliato



Io ricordo che quando si verificate duplicate ACK:

SST' = FC/2
FC' = SST

Dopo n trasmissioni :

SST = resta costante
FC = SST + n

Sbaglio?

xSharKMaNx
Quando ci sono duplicate ACK l'SST viene sempre dimezzato per cui la WC riparte dalla SST, dove il suo aumento è di +1 (se la segment size è di 1)

Nella prima parte, prima di SST, la WC cresce in modo esponenziale, una volta che la WC oltrepassa la SST il suo aumento passa a + 1.

Nel momento in cui la WC raggiunge la seconda soglia, la WC resta costante

Se invece si verifica un RTO, l'SST resta costante mentre la WC riparte sempre da 1

gab217
Chiaro. Grazie.

CowBoy
Ragazzi vi state confondendo... date prima una veloce lettura al 34° e 39° esercizio e relative soluzioni proposte a lezione: http://nptlab.dico.unimi.it/images/esercizi-10-11.pdf

xSharKMaNx
Non la vedo la confusione. Questo è ciò che dice l'esercizio 39 riguardante gli ACK cumulati ed è quello che ho scritto prima:


La soluzione è determinata considerando quanto stabilito dallo RFC 5681, secondo il quale
quando si verifica la ricezione di 3 ack duplicati viene eseguita la procedura di Fast Retransmit / Fast
Recovery: la SST viene ridimensionata come nel caso di retransmission timeout (si veda es. 34), mentre
la congestion window viene posta uguale alla SST. Da qui la crescita della finestra riprende in modo
lineare. Se dovesse verificarsi la ricezione di altri 3 ack duplicati, la procedura viene ripetuta.

stenofa
se non sbaglio, qui non si tratta di entrare nella procedura di fast retransmit, ovvero non siamo nel caso di 3 ack duplicati ma siamo nel caso della scadenza rto.
in questo caso la sst diventa cw/2 e la cw torna ad 1 crescendo esponenzialmente fino al nuovo valore di sst. (parlo dell'es 34)

CowBoy
Originally posted by xSharKMaNx
[B]CW è 18 quando ho ricevuto i primi 3 ACK
SST è 16




Quindi dimezzo CW portandolo al livello di SST


No

A questo punto la CW entra nella fase di prevenzione della congestione e sale di 1 segmento alla volta




Sia a 16 + 1 = 17 + 1 = 18
A 18 arriva il secondo gruppo di ACK duplicati
La mia SST diventa 8


No

CW entra in prevenzione 8 +1 = 9
A 9 arriva il terzo gruppo di ACK duplicati

La mia SST diventa 4


No

Se invece ricevo un ACK la mia CW passa da 8 + 1 = 9

Sperando di non aver sbagliato


Insomma...

Soluzione(proposta dal prof):

a) CW = 18, SST = 16 => dopo FR => SST = CW/2 = 9, CW = SST = 9

b) CW = 9 + 2 = 11

c) CW = 11, SST = 9 => dopo FR => SST = CW/2 = 5, CW = SST = 5

d) CW = 11, SST = 9 => ACK => CW = 12, SST = 9

xSharKMaNx
Soluzione proposta dal Prof ?
Io leggevo l'esercizio nel post #1 datato il 25-02-2008

non è che si sta parlando di due cose diverse?

Comunque a parte lo svolgimento la regola è :

Se ho 3 ACK duplicati e questo avviene dopo la soglia SST
riporto la mia WC al livello selle SST

Qui la WC cresce in modo lineare.

Se avviene nuovamente 3 ACK duplicati dimezzo la SST e la WC cresce nuovamente linearmente

CowBoy
Anche io pensavo così, ma viene visto in modo diverso a lezione. Dopo 3 ACK duplicati oppure dopo un RTO, SST viene sempre posta uguale alla metà dell'attuale CW(SST = CW/2).

La differenza tra le due procedure è che CW nel caso di 3ACK viene posta uguale al nuovo valore di SST e quindi può ripartire da congestion avoidance dato che la rete non è poi così congestionata. Nel caso di RTO la rete è pesantemente congestionata, quindi CW riparte da 1 e cresce in modo esponenziale fino a raggiungere il nuovo livello SST, per poi proseguire con congestion avoidance.

CowBoy
Prof. Pagani

39) Si supponga che la finestra di congestione di TCP sia di 18KB quando si verifica l’arrivo di 3
duplicate ack. Si assuma che la MSS sia 1 KB e la SST sia 16KB. Quali sono i due nuovi valori di SST e
Congestion Window? Quanto sarà grande la finestra se alle successive 2 trasmissioni (oltre alla
ritrasmissione) corrisponde l’arrivo di duplicate ack? Cosa succede se dopo la 3° trasmissione si riceve
un altro duplicate ack?
SOL: La soluzione è determinata considerando quanto stabilito dallo RFC 5681, secondo il quale
quando si verifica la ricezione di 3 ack duplicati viene eseguita la procedura di Fast Retransmit / Fast
Recovery: la SST viene ridimensionata come nel caso di retransmission timeout (si veda es. 34), mentre
la congestion window viene posta uguale alla SST. Da qui la crescita della finestra riprende in modo
lineare. Se dovesse verificarsi la ricezione di altri 3 ack duplicati, la procedura viene ripetuta.
Dopo la prima terna di duplicate ack SST diventa 18/2=9 MSS/KB e CW diventa 9. Dopo 2 trasmissioni
sarà SST=9 e CW=11. Se dopo la 3° trasmissione si riceve un altro duplicate ack, SST diventa 11/2=5 e
CW diventa 5.

biett0
Si supponga che la finestra di congestione di TCP sia di 18K quando si verifica l'arrivo di 3 duplicate ACK. Quanto sarà grande la finestra se alle successive 2 trasmissioni corrisponde l'arrivo di un duplicate ACK? Si assuma che la max dimensione di segmento sia 1K e la slow start threshold sia di 16K. Cosa succede se dopo la 3a trasmissione si riceve un altro duplicate ACK? E se invece si riceve un ACK nuovo?


Per questo vi dicevo di guardare gli esercizi del link di prima...

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate