PDA

View Full Version : Dubbio su prestazioni rete LAN


Artfunk
31-08-2008, 12:52
Ciao a tutti, mi sono sempre posto questa domanda.
Se io ho una rete con esempio 5 PC, in 2 ambienti diversi collegati tra loro da 2 switch, ( tutto Gigabit ), il tutto collegato ad un server, 3 pc in un ambiente ( ambiente A ) dove c'è anche il server e 2 nell' altro ambiente ( ambiente B ). Se io trasferisco un file da un PC dall' ambiente B al server, e un file dall' altro Pc sempre dell' ambiente B al server, la velocità di trasferimento è la stessa che se trasferissi un solo file da un solo pc?
I 2 switch sono collegati tra loro da un solo cavo.

ConteZero
31-08-2008, 13:18
Non è la stessa, ma poco ci manca.
Gli switch (almeno, quelli di prezzi umani) sono store & forward (conserva e inoltra), il che significa che lo switch prima recupera tutto il frame (store) e poi lo manda verso la porta ethernet adatta (forward).
In un ambito con un unico switch il ritardo è quindi di uno "store", cioè il frame prima d'iniziare la trasmissione verso la destinazione dev'essere stato ricevuto completamente, in un ambito con due switch invece gli "store" sono due in quanto il secondo, funzionando come il primo, vorrà effettuare lo "store" del frame trasmesso dal primo switch per iniziare a ritrasmetterlo (con un cavo cross non c'è, ovviamente, ritardo di store).

Nella pratica hai un minimo di lag in più (ma nulla di umanamente percettibile) e nulla più, e questo perché in una connessione TCP i pacchetti vengono mandati "a flusso" ed il "trasmettitore" si ferma solo quando ha riempito la finestra d'invio.

Nel dettaglio ogni connessione TCP ha una "finestra" d'invio, che è X bytes... funziona così: se il destinatario t'ha confermato d'aver ricevuto i primi Y bytes tu manda da Y a Y+X.
Quando il trasmettitore arriva ad Y+X "vede" se Y è aumentato (cioè se la destinazione ha mandato qualche ACK), se è aumentato allora "aggiorna" il valore di Y+X e continua, altrimenti rimane in pausa in attesa che arrivi l'ACK (o che ci sia un timeout).
Nella pratica le finestre d'invio sono abbastanza larghe (e, in buona parte delle implementazioni TCP/IP sono anche "autoconfiguranti", cioè possono "allargarsi" o "rimpicciolirsi" a seconda dell'andamento della singola connessione) e non c'è mai il problema.

Artfunk
31-08-2008, 13:32
Non è la stessa, ma poco ci manca.
Gli switch (almeno, quelli di prezzi umani) sono store & forward (conserva e inoltra), il che significa che lo switch prima recupera tutto il frame (store) e poi lo manda verso la porta ethernet adatta (forward).
In un ambito con un unico switch il ritardo è quindi di uno "store", cioè il frame prima d'iniziare la trasmissione verso la destinazione dev'essere stato ricevuto completamente, in un ambito con due switch invece gli "store" sono due in quanto il secondo, funzionando come il primo, vorrà effettuare lo "store" del frame trasmesso dal primo switch per iniziare a ritrasmetterlo (con un cavo cross non c'è, ovviamente, ritardo di store).

Nella pratica hai un minimo di lag in più (ma nulla di umanamente percettibile) e nulla più, e questo perché in una connessione TCP i pacchetti vengono mandati "a flusso" ed il "trasmettitore" si ferma solo quando ha riempito la finestra d'invio.

Nel dettaglio ogni connessione TCP ha una "finestra" d'invio, che è X bytes... funziona così: se il destinatario t'ha confermato d'aver ricevuto i primi Y bytes tu manda da Y a Y+X.
Quando il trasmettitore arriva ad Y+X "vede" se Y è aumentato (cioè se la destinazione ha mandato qualche ACK), se è aumentato allora "aggiorna" il valore di Y+X e continua, altrimenti rimane in pausa in attesa che arrivi l'ACK (o che ci sia un timeout).
Nella pratica le finestre d'invio sono abbastanza larghe (e, in buona parte delle implementazioni TCP/IP sono anche "autoconfiguranti", cioè possono "allargarsi" o "rimpicciolirsi" a seconda dell'andamento della singola connessione) e non c'è mai il problema.

Wow, risposta fin troppo esaudiente, anche troppo tecnica per me, grazie.
Approfitto e ti faccio un' altra domanda allora:
Avendo il server con 4 LAN Giganit, ( scheda madre ASUS P5Q Premium ), Switch D-Link DGS 1216 e DGS 1224, rete certificata CAT 5E e i PC della rete sono tutti MAC G5 con doppia uscita LAN, se invio dal MAC un file al server utilizzando entrambe le LAN accoppiate, ho una velocità di 2 Gigabit?

ConteZero
31-08-2008, 13:53
Esiste la possibilità di fare il bonding delle interfacce, e magari qualcosa ci guadagni, ma è "qualcosa".
Considera che un hard disk abbastanza performante è alla pari con una gigabit (almeno, lo è quando di mezzo c'è un SO), con due (anche ammesso di abilitare il bonding) il collo di bottiglia si sposterebbe sulle macchine.
Una buona gigabit trasferisce anche 50-60 MByte/s (configurata a dovere, via FTP), di solito per la maggior parte degli usi "domestici" (e non) basta.

Artfunk
31-08-2008, 16:00
Esiste la possibilità di fare il bonding delle interfacce, e magari qualcosa ci guadagni, ma è "qualcosa".
Considera che un hard disk abbastanza performante è alla pari con una gigabit (almeno, lo è quando di mezzo c'è un SO), con due (anche ammesso di abilitare il bonding) il collo di bottiglia si sposterebbe sulle macchine.
Una buona gigabit trasferisce anche 50-60 MByte/s (configurata a dovere, via FTP), di solito per la maggior parte degli usi "domestici" (e non) basta.

Ti riferisci alla velocità di scrittura dei dischi?
Comunque nella condizione che ti ho descritto all' inizio, con 2 PC che contemporaneamente trasferisco file, un vantaggio con la doppia LAN c'è?!

OUTATIME
01-09-2008, 07:39
Ti riferisci alla velocità di scrittura dei dischi?
Purtroppo troppo spesso viene sottovalutata l'importanza degli hard disk.....

ConteZero
01-09-2008, 08:45
Per capirci ecco le velocità di trasferimento per dei dischi "recenti"...
Come puoi notare le velocità sono tali che basta una gigabit per saturare un disco:

http://www.techarp.com/review/Western_Digital/Caviar_SE16_750GB/disk_transfer_rate.png

Ovviamente è possibile alleviare il problema usando un sistema RAID-0 (e solo RAID-0), ma per quanto sia possibile "migliorare" c'è sempre un collo di bottiglia (banda sul bridge, latenze nascoste, tempi meccanici e via dicendo) dietro l'angolo.

Artfunk
01-09-2008, 20:31
Per capirci ecco le velocità di trasferimento per dei dischi "recenti"...
Come puoi notare le velocità sono tali che basta una gigabit per saturare un disco:



Ovviamente è possibile alleviare il problema usando un sistema RAID-0 (e solo RAID-0), ma per quanto sia possibile "migliorare" c'è sempre un collo di bottiglia (banda sul bridge, latenze nascoste, tempi meccanici e via dicendo) dietro l'angolo.

Sai per caso anche la velocità dei Seagate 1Tb a 32 mb?