Reti di calcolatori - Calcolo tempo trasmissione TCP
Buona sera! Come da titolo, sono alle prese con reti, non so come risolvere questo esercizio:
Si consideri la trasmissione, con il protocollo TCP, di un file di dimensione 20000 bytes.
Supponendo che RTT sia fisso e pari a 0.5s, che il MSS negoziato sia pari a 1024
bytes, che la finestra di ricezione sia 64kbytes e che il tempo di trasmissione sia
trascurabile, calcolare il tempo necessario al trasferimento del file e l'andamento
della finestra di trasmissione.
Da questa consegna si può dedurre che visto che i segmenti sono al massimo lunghi 1024, per completare la trasmissione avrò bisogno di 20 segmenti. Visto che 20000 bytes = 20 kbytes, dove 20<64 allora la finestra di trasmissione "non si muove" (pensando che venga usato un algoritmo go-backN oppure SR). Visto che TCP fa un handshaking a tre vie, il tempo totale sarà
$2 * (RT T) + tempo_(tras) = 1sec + tempo_(tras)$
Come calcolo il tempo di traferimento con i dati che ho a disposizone?
Grazie
EDIT: Avevo scritto per sbaglio tempo di trasmissione al posto di tempo di trasferimento
Si consideri la trasmissione, con il protocollo TCP, di un file di dimensione 20000 bytes.
Supponendo che RTT sia fisso e pari a 0.5s, che il MSS negoziato sia pari a 1024
bytes, che la finestra di ricezione sia 64kbytes e che il tempo di trasmissione sia
trascurabile, calcolare il tempo necessario al trasferimento del file e l'andamento
della finestra di trasmissione.
Da questa consegna si può dedurre che visto che i segmenti sono al massimo lunghi 1024, per completare la trasmissione avrò bisogno di 20 segmenti. Visto che 20000 bytes = 20 kbytes, dove 20<64 allora la finestra di trasmissione "non si muove" (pensando che venga usato un algoritmo go-backN oppure SR). Visto che TCP fa un handshaking a tre vie, il tempo totale sarà
$2 * (RT T) + tempo_(tras) = 1sec + tempo_(tras)$
Come calcolo il tempo di traferimento con i dati che ho a disposizone?
Grazie

EDIT: Avevo scritto per sbaglio tempo di trasmissione al posto di tempo di trasferimento
Risposte
ciao black,
per questi esercizi non c'era da fare tutto il grafico di trasmissione?
per questi esercizi non c'era da fare tutto il grafico di trasmissione?
Ciao hamming! C'è un punto precedente che chiede di disegnare lo scambio di pacchetti all'inizio della trasmissione, ma è semplicemente un handshake a tre vie quindi ho tralasciato il punto =) Qui chiede solo di fare questi calcoli, ma non ne vengo a capo perché in teoria dovrebbe esserci un dato che faccia riferimento anche a un qualche tipo di frequenza trasmissiva. Perché se dà un valore approssimativo dicendo "è veloce" come si può stimare un tempo di trasferimento corretto?
(quella del grafico di trasmissione è un'altra tipologia ancora =) )
(quella del grafico di trasmissione è un'altra tipologia ancora =) )
ma te lo dice il testo chiaramente
...
Per il calcolo totale ci son regolette che a quest'ora non ricordo, sicuro devi vederti il numero di segmenti totali trasmessi (non hai momenti di blocco della rete) moltiplicati per RTT. Cmq vedo domani di rispolverare il cervello.
che il tempo di trasmissione sia trascurabile
...
Per il calcolo totale ci son regolette che a quest'ora non ricordo, sicuro devi vederti il numero di segmenti totali trasmessi (non hai momenti di blocco della rete) moltiplicati per RTT. Cmq vedo domani di rispolverare il cervello.
Si infatti, è proprio il fatto che lo chieda espressamente che mi lascia perplesso...Perché dice calcola il tempo, quindi un valore preciso, ma avendo incognite come quella della trasmissione è difficile fare una stima. Se riuscissi a ricordare questo tipo di formula da applicare mi faresti un grande favore, perché purtroppo non sono riuscito a frequentare il corso e non so come fare gli esercizi! Applicando la teoria la maggior parte riesco a farli, ma in alcuni casi non basta...Grazie!
Ciao,
allora avevo due segmenti di tempo ora ed ho dato un occhio alla faccenda.
Direi che sulle slide del nuovo docente c'è tutto il necessario per capire come risolvere l'esercizio e disambiguare le parole vedi quelle sul TCP.
si dice "tempo di trasmissione trascurabile" proprio perchè è dipende da troppi fattori e si preferisce ipotizzarlo costante ed uguale all'RTT che già di per se contiene molta informazione sul tipo di rete, cioè il tempo di andata e ritorno valido di un ack (slide 44 e 57, 67 in poi).
Per il tempo di trasferimento, ti calcoli tramite l'andamento della finestra quado termina il trasferimento.
L'andamento te lo fai tramite l'algoritmo SS (esponenziale) + CA (lineare) tutti i casi di "perdita di pacchetti" te ne freghi bellamente, perchè l'esercizio non prevede tempi buchi.
Perciò:
RCVWND = 64Seg
SSTHRESH = RCVWND/2 = 32 seg
20000/1024 = 19.5 seg = 20 seg (ovviame)
detto questo i segmenti sono tutti sotto la soglia SSTHRESH perciò utilizzano tutti algoritmo di invio esponenziale (slide 90)
1+2+4+8+16+1
perciò 3.5 secondi per inviare i segmenti (contando che al tempo 0 la connessione è già ben aperta visto che hai già la MSS), ma bisogna contare il l'ultimo segmentino dove si deve aspettare l'ack di ritorno perciò un +0.5
il tempo totale è di 4 sec.
vedi cosa torna e non torna e ne discutiamo (come detto sulle slide c'è tutto)
allora avevo due segmenti di tempo ora ed ho dato un occhio alla faccenda.
Direi che sulle slide del nuovo docente c'è tutto il necessario per capire come risolvere l'esercizio e disambiguare le parole vedi quelle sul TCP.
si dice "tempo di trasmissione trascurabile" proprio perchè è dipende da troppi fattori e si preferisce ipotizzarlo costante ed uguale all'RTT che già di per se contiene molta informazione sul tipo di rete, cioè il tempo di andata e ritorno valido di un ack (slide 44 e 57, 67 in poi).
Per il tempo di trasferimento, ti calcoli tramite l'andamento della finestra quado termina il trasferimento.
L'andamento te lo fai tramite l'algoritmo SS (esponenziale) + CA (lineare) tutti i casi di "perdita di pacchetti" te ne freghi bellamente, perchè l'esercizio non prevede tempi buchi.
Perciò:
RCVWND = 64Seg
SSTHRESH = RCVWND/2 = 32 seg
20000/1024 = 19.5 seg = 20 seg (ovviame)
detto questo i segmenti sono tutti sotto la soglia SSTHRESH perciò utilizzano tutti algoritmo di invio esponenziale (slide 90)
1+2+4+8+16+1
perciò 3.5 secondi per inviare i segmenti (contando che al tempo 0 la connessione è già ben aperta visto che hai già la MSS), ma bisogna contare il l'ultimo segmentino dove si deve aspettare l'ack di ritorno perciò un +0.5
il tempo totale è di 4 sec.
vedi cosa torna e non torna e ne discutiamo (come detto sulle slide c'è tutto)
Sei stato davvero gentilissimo, grazie mille! Il mio errore è stato nel capire la consegna, perché da furbo mi sono fatto ingannare perché era scritta diversamente che dalle altre della stessa tipologia...Ora ho capito, la tua spiegazione è chiarissima, grazie ancora!
