Pages: 1 2 [3] 4   Go Down
Print
Author Topic: esercizi  (Read 15947 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
AmNeSiA
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 318



« Reply #30 on: 04-07-2011, 17:10:40 »

visto che nessuno ha avuto la possibilità di recuperare un esercizio "Go back n" provo a buttare giù qualcosa magari discutendone possiamo risolverlo insieme...

Un canale di comunicazione punto-punto è lungo 100Km ed ha una larghezza di banda di 10Mbps. Viene utilizzato un protocollo "Go back n" con frame di 1100 byte di cui 1000 byte di payload. La dimensione della finestra di trasmissione è di 20 frame. Trascurando gli effetti delle perdite sul canale e degli errori in trasmissione, calcolare il tempo necessario per trasferire 1GB.

io ho fatto le seguenti considerazioni:

Go back n effettua l'acknowledgement cumulativo, quindi dovrebbero essere inviati 20 frame alla volta e ricevere un unico ack di conferma per tutti... quindi:

Ts = 100/200000 = 0,5*10-3;

Tp = (1100*20*8 ) / 1*107 = 1,76*10-2;

Tfinestra = 0,5*10-3 + 0,5*10-3 + 1,76*10-2 = 1,86*10-2;

Nframe = 1*109 / 1*103 = 1*106;

Ttotale = 1*106 * 1,86*10-2 = 1,86*104;

sono sicuro che non sarà corretto, ma può essere considerato come una base di partenza, quindi, si accettano suggerimenti, critiche, correzioni etc etc...
Logged
Fra83
Apprendista Forumista
**
Offline Offline

Posts: 213



« Reply #31 on: 04-07-2011, 17:50:57 »

Code:
3) Nframe=flussoTotale/payload= 10^10/8*10^3= 1,25*10^6

qui credo che sbagli.... come moltiplichi sotto *8 dovresti farlo sopra, perché dovresti convertire tutto in bit no? quindi moltiplicando e dividendo *8 puoi anche evitare...

penso tu abbia ragione...quindi basterebbe fare (10^10)/ (1000), no?

Code:
Ttot=Nerrate*[Tp+Tcorrette+Timer]= 5,63 * 10^3 s

non dovresti aggiungere anche il tempo impiegato per inviare i pacchetti senza errore??

il "Tcorrette" è proprio quello
Logged
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« Reply #32 on: 04-07-2011, 17:53:29 »


Go back n effettua l'acknowledgement cumulativo, quindi dovrebbero essere inviati 20 frame alla volta e ricevere un unico ack di conferma per tutti...


Non è esattamente così. Quando a lezione abbiamo svolto esercizi con GoBackN il Professore ha detto che in questo caso prima di tutto si deve calcolare quanto tempo ci sta l'ack di un pacchetto a tornare indietro.

- Se questo torna al mittente prima che lui abbia riempito la sua finestra di trasmissione, cioè prima di aver inviato venti pacchetti, allora si deve calcolare la trasmissione di  tutti i pacchetti da trasmettere come se fosse consecutiva.

- Se questo torna al mittente dopo che lui ha riempito la sua finestra di trasmissione, si deve considerare una situazione diversa. Dopo aver inviato 20 pacchetti, il mittente si ferma perchè non ha più slot disponibili. Man mano che iniziano ad arrivare gli ack, invierà altri pacchetti. Quindi arrivato il primo ack invierà il pacchetto 21, nel frattempo arriverà il secondo ack perciò al termine potrà subito inviare il pacchetto 22, ecc... In pratica è come se si suddividesse il totale dei pacchetti in gruppi da 20 e per ognuno si dovesse calcolare di trasmissione (del gruppo) come Tp + Ts + Ta dove Tp è il tempo di trasmissione del primo pacchetto, Ts  è il tempo aspettato perchè arrivi a destinazione il primo pacchetto in modo che l'ack parta) e Ta è il tempo che occupa l'ack a tornare indietro. Perchè questo? Perchè Ta è maggiore del tempo per inviare i 20 pacchetti quindi calcolando il tempo così tieni conto dell'invio di 20 pacchetti più il tempo che resti in attesa dell'arrivo del primo ack.
« Last Edit: 04-07-2011, 17:56:27 by @NIKA89@ » Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« Reply #33 on: 04-07-2011, 17:55:12 »

      5) Ttot=Nerrate*[Tp+Tcorrette+Timer]= 5,63 * 10^3 s
Non so se è corretto...

A lezione Ttot è sempre stato calcolato come Ttot = Tp + Tcorrette + (Timer * Nerrate)
« Last Edit: 04-07-2011, 17:57:15 by @NIKA89@ » Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
Fra83
Apprendista Forumista
**
Offline Offline

Posts: 213



« Reply #34 on: 04-07-2011, 17:56:56 »

Code:
A lezione Ttot è sempre stato calcolato come

Ttot = Tp + Tcorrette + (Timer * Nerrate)

Grazie mille per la correzione...

Potresti cortesemente postare un esercizio svolto sul Go-back-n?
Logged
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« Reply #35 on: 04-07-2011, 17:57:51 »

Code:
A lezione Ttot è sempre stato calcolato come

Ttot = Tp + Tcorrette + (Timer * Nerrate)

Grazie mille per la correzione...

Potresti cortesemente postare un esercizio svolto sul Go-back-n?

Lo cerco e lo posto  ciao
Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
Fra83
Apprendista Forumista
**
Offline Offline

Posts: 213



« Reply #36 on: 04-07-2011, 18:02:26 »

Code:
Lo cerco e lo posto 

grazie, gentilissima

Volevo chiederti: nel caso in cui non ci sono errori, è corretto calcolare così il Ttot?  Ttot= Nframe*(Tp+RTT)
Logged
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« Reply #37 on: 04-07-2011, 18:06:24 »

Ttot= Nframe*(Tp+RTT)

Stiamo parlando di StopAndWait, giusto? 
In questo caso, si 
Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
Fra83
Apprendista Forumista
**
Offline Offline

Posts: 213



« Reply #38 on: 04-07-2011, 18:08:30 »

Si, stop and wait.
Grazie!
Logged
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« Reply #39 on: 04-07-2011, 18:23:10 »

Non ho trovato gli esercizio svolti. Dato che è stato postato il testo di un esercizio con GoBackN, l'ho rifatto...se non mi sbaglio, il ragionamento dovrebbe essere questo.


Un canale di comunicazione punto-punto è lungo 100Km ed ha una larghezza di banda di 10Mbps. Viene utilizzato un protocollo "Go back n" con frame di 1100 byte di cui 1000 byte di payload. La dimensione della finestra di trasmissione è di 20 frame. Trascurando gli effetti delle perdite sul canale e degli errori in trasmissione, calcolare il tempo necessario per trasferire 1GB.


Nframe = 109 / 103

Tpropagazione = 100/200000

Tinvio1frame = (1100*8 ) / 107

Tfinestra = Tinvio1frame * 20

Supponiamo l'Ack di dimensione trascurabile quindi Tack = Tpropagazione. Non ho i calcoli svolti quindi prendo in considerazione i due casi.

Caso 1:  (Tpropagazione+ Tinvio1frame + Tack) < Tfinestra

In questo caso l'ack arriverà prima di aver inviato i 20 pacchetti della finestra, perciò posso inviare tutti i pacchetti di seguito senza aspettare nulla. Quindi calcolerò:

Ttotale = Nframe * Tinvio1frame + Tpropagazione + Tack.
(considero anche Tpropagazione + Tack per far arrivare e confermare l'ultimo pacchetto).

Caso 2:  (Tpropagazione+ Tinvio1frame + Tack) > Tfinestra

Questo significa che, finiti i 20 pacchetti, mi dovrò fermare per aspettare che inizino ad arrivare gli ack. Perciò dal momento in cui parte il primo frame della n-sima finestra al momento in cui parte il primo frame della (n+1)-sima finestra passerà Tpropagazione+ Tinvio1frame + Tack.  Quindi calcolerò:

Nfinestre = Nframe / 20
Ttotale = Nfinestre * (Tpropagazione+ Tinvio1frame + Tack)

« Last Edit: 04-07-2011, 20:41:54 by @NIKA89@ » Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
Fra83
Apprendista Forumista
**
Offline Offline

Posts: 213



« Reply #40 on: 04-07-2011, 18:31:57 »

Code:
Tinvio1frame = (1100* / 107

sarebbe 1100*8? non si legge bene...

Code:
Supponiamo l'Ack di dimensione trascurabile quindi Tack = Tpropagazione

Quindi il caso1 sarebbe (Tpropag+Tinvio1frame+Tpropag) ?
« Last Edit: 04-07-2011, 19:03:50 by Fra83 » Logged
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« Reply #41 on: 04-07-2011, 20:44:47 »

sarebbe 1100*8? non si legge bene...

Si... si trasformava in emoticon  cry

Quindi il caso1 sarebbe (Tpropag+Tinvio1frame+Tpropag) ?

Caso 1(Tpropagazione+ Tinvio1frame + Tack) < Tfinestra. Cioè l'ack del primo pacchetto inviato torna al mittente prima che lui abbia inviato i 20 pacchetti della finestra. Caso 2Tpropagazione+ Tinvio1frame + Tack) > Tfinestra. Cioè l'ack del primo pacchetto inviato torna al mittente dopo che ha inviato i 20 pacchetti della finestra.
Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
Fra83
Apprendista Forumista
**
Offline Offline

Posts: 213



« Reply #42 on: 04-07-2011, 22:23:48 »

No,quello che chiedevo io è se nell'espressione (Tpropag+Tinvioframe+Tack) il valore di Tack diventa anche Tpropag, dato che si è supposto che Tack=Tpropag...e quindi l'espressione diventa (2Tpropag+Tinvioframe).. O altrimenti c'è un modo per calcolare Tack
Logged
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« Reply #43 on: 05-07-2011, 12:18:22 »

No,quello che chiedevo io è se nell'espressione (Tpropag+Tinvioframe+Tack) il valore di Tack diventa anche Tpropag, dato che si è supposto che Tack=Tpropag...e quindi l'espressione diventa (2Tpropag+Tinvioframe).. O altrimenti c'è un modo per calcolare Tack

Ah si. Scusa non avevo compreso la domanda. Comunque 2Tpropag+Tinvioframe è valido nel caso in cui Tack = Tpropag, cioè quando si suppone la dimensione dell'ack trascurabile. Nel caso in cui ci sia una dimensione dell'ack indicata dall'esercizio (ad esempio, all'ultimo esame c'era un ack di 100byte se non mi sbaglio) devi calcolare Tack nello stesso modo in cui calcoli il tempo di invio delle frame, cioè la somma di Tpropag e il tempo necessario a inviare i bit che lo compongono (nel caso dell'esercizio di esame l'ack era di 800 bit), ed utilizzare questo valore nell'espressione  (Tpropag+Tinvioframe+Tack)
Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
Fra83
Apprendista Forumista
**
Offline Offline

Posts: 213



« Reply #44 on: 12-07-2011, 10:09:02 »

Code:
devi calcolare Tack nello stesso modo in cui calcoli il tempo di invio delle frame, cioè la somma di Tpropag e il tempo necessario a inviare i bit che lo compongono

Cioè Tack= Tpropagazione+Tinvio1frame ?
Logged
Pages: 1 2 [3] 4   Go Up
Print
Jump to: