erlug
[Top] [All Lists]

Re: [Erlug] possibile???

To: "erlug" <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] possibile???
From: "dragonlair@xxxxxxxxx" <dragonlair@xxxxxxxxx>
Date: Wed, 1 Sep 2004 13:09:44 +0200
> Non ho fatto i conti con la matitina, ma _molto_ a naso mi
> pare credibile, su una gigabit punto-punto, anche considerando
> i preamboli dei frame ethernet e quanto altro.
>
> Prova a mostrare il conto che hai fatto evidenziando dove
> sta il problema.
>
Ok, il conto e' questo:

bandwidth = ((1000000 * (40 + TCP_MSS)) / (stop - start)); 

throughput = (bandwidth / (1024.0 * 1024.0));


Spiegazione: per calcolare l'ampiezza di banda ho moltiplicato il
numero di pacchetti inviati (10^6) per la dimensione di un datagram ip
(512 bytes di payload, ossia TCP_MSS + 20 di intestazione tcp e 20
di intestazione ip), tutto diviso per il tempo occorso per effettuare
la trasmissione dei pacchetti. La differenza tra stop e start mi indica
il tempo trascorso dall'inizio alla fine della ricezione dei pacchetti.
Ottenuta la bandwidth, si passa al throughput che ho calcolato come rapporto
tra la bandwidth e 1024*1024 (cioe' i bytes in un megabyte + o -) e cosi'
ho ottenuto i megabutes trasferiti al secondo.
Lo stesso calcolo l'ho applicato per i frames ethernet con la sola differenza
che al posto di TCP_MSS + 40, per il calcolo della bandwidth, ho inserito
14 + 512. I primi 14 bytes sono per l'intestazione di un frame ethernet
(senza preambolo visto che lo aggiunge la nic) e i restanti 512 sono per il
payload.
BTW, ho notato che il sender tcp impiega proprio 5.7 secondi per trasferire
tutti i dati, mentre il sender raw ci impiega 6.3 secondi. Boh? Non vorrei che
fosse un problema dei miei programmi.

Grazie per l'aiuto

Simone Saravalli


<Prev in Thread] Current Thread [Next in Thread>