Newsgroup: it.comp.sicurezza.crittografia
Titolo: IPSec

Volevo chiedervi un parere.
Abilitando IPSEC tra 2 PC in una rete a 10 Mb/s ottengo una riduzione
della velocità del 4 %.
Abiltando IPSEC tra 2 PC in una rete a 100 Mb/s la riduzione della
velocità è dell' 87 %!!! Passa da 74 Mb/s a 9 Mb/s circa!!!
Come spiegate questa differenza di prestazioni?
Marco

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Marco wrote:
| Abilitando IPSEC tra 2 PC in una rete a 10 Mb/s ottengo una riduzione
| della velocità del 4 %.
|
| Abiltando IPSEC tra 2 PC in una rete a 100 Mb/s la riduzione della
| velocità è dell' 87 %!!! Passa da 74 Mb/s a 9 Mb/s circa!!!
|
| Come spiegate questa differenza di prestazioni?
Probabilmente il collo di bottiglia è la potenzia di calcolo di uno dei
due PC.
Nei due casi, monitora la quantità di CPU utilizzata.
La crittografia è una cosa "relativamente pesante" per la CPU...
$ ls -al moz*
- -rw-r--r--  1 root  wheel  31867608 Jul  1 01:08 
mozilla-source-1.4.tar.bz2
$ time cp mozilla-source-1.4.tar.bz2 /home/lapo
real    0m3.702s
user    0m0.000s
sys     0m0.267s
$ time scp -v mozilla-source-1.4.tar.bz2 /home/laptime scp -v
mozilla-source-1.4.tar.bz2 lapo@cyberx:
debug1: kex: server->client aes128-cbc hmac-md5 zlib
debug1: kex: client->server aes128-cbc hmac-md5 zlib
real    0m15.820s
user    0m0.012s
sys     0m0.274s
Questo significa che il mio HDD cmoe trasferimento regge circa 8406 KB/s
Mentre crittando scende a circa 1967 KB/s
Questo significa che, su piattaforma AthlonXP, l'implementaizone openssl
di AES-128 riesce a 'macinare' circa 1MB/s per ogni GHz-equivalente
(1374 istruzioni per byte? mi pare tantino...).
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAj+D6lYACgkQaJiCLMjyUvsOyQCfdCTpdC/xcz7Z9KlVpJRznP89
uZIAoJBWsLvm2woDoVm/WI9xlWvqmGxN
=wnVc
-----END PGP SIGNATURE-----

...


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Marco wrote:
|>La crittografia è una cosa "relativamente pesante" per la CPU...
| Quindi mi suggerisci di utilizzare task manager in win 2000 mentre
| lancio un benchmark tra 2 computer sia usandi IPSEC che non usandolo.
| Sia con rete a 10 Mb/s cha a 100 Mb/s.
| E' corretto il ragionamento?
Sì, inquesto modo puoi verificare se a 100Mb il "collo di bottiglia" è
la CPU o meno.
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAj+IRekACgkQaJiCLMjyUvsyqACeIEESLV6UOItwsaXjMuK8FZa1
Zb8AoID1885Y4ApQROcus8aHTj62GmBt
=TspN
-----END PGP SIGNATURE-----

 
Ho fatto quanto avevo detto. Considerando diverse coppie di computer
ogni volta (sia su rete a 10 Mb/s che 100 Mb/s) ho visto la
percentuale di utilizzazione della CPU. Solamente qualche volta una
delle 2 CPU interessate dallo scambio dati lavora al 100%.
Altre volte lavora all' 85% ad esempio. Per ogni caso in esame si
ottengono dei risultsati un pò differenti. Credo dipenda
tendenzialmente dalla differenza della potenza di calcolo delle CPU in
esame.
Comunque le prestazioni dipendono fortemente dai PC in esame.
Il mio dubbio è: anche se un PC lavora tipo all' 85-88 % si può
parlare di collo di bottiglia della potenza di calcolo del
microprocessore?
O subentrano ulteriori fattori?! Se si un' idea avete di quali possano
essere?!
Nota: senza IPSEC l' utilizzazione della CPU è circe pari al 6-7-8 %.
Marco

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Marco wrote:
| Il mio dubbio è: anche se un PC lavora tipo all' 85-88 % si può
| parlare di collo di bottiglia della potenza di calcolo del
| microprocessore?
Eh direi, la CPU non è mica lì al servizio del driver di rete,
tendenzialmente ha anche altre cose da fare...
Inoltre ovviamente fa da collo il più lento dei due PC (crittare e
decrittare, con algoritmi simmetrici, è tendenzialmente paritario come
"peso" del calcolo).
| Nota: senza IPSEC l' utilizzazione della CPU è circe pari al 6-7-8 %.
Questo per il semplice trasferimento?
Mi pare un po' altino, ma probabilmente hai dischi IDE e altre
"attenuanti" simili...
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAj+MYNAACgkQaJiCLMjyUvv2cwCdGZvpxZoBvZT893W+Sn9+cwBW
ru8AoPi+w3oGQGKh/jvapZRMwH6msUSx
=E8/n
-----END PGP SIGNATURE-----

...


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Marco wrote:
| Che intendi con dischi IDE e altre attenuanti simili?!
I sistemi IDE, sopratutto quelli datati, "succhiano" CPU di per sé,
anche solo per leggere i dati.
Dato che paril di Pentium2 suppongo che tu nno stia parlando di
UltraDMA133 o SerialATA... ma al limite di PIO4.
| Prima analizzo il caso su rete a 10 Mb/s.
| A trasmette, B riceve. Con IPSEC A 88 %, B 65 %.
| A riceve, B trasmette. Con IPSEC A 88 %, B 65 %.
| Ora passo a rete a 100 Mb/s.
| A trasmette, B riceve. Con IPSEC A 100 %, B 75 %.
| A riceve, B trasmette. Con IPSEC A 75 %, B 65 %.
| Il carico non dovrebbe essere lo stesso? Uso 3 DEs, che e
| simmetrico....
Mi stupisce la tua domanda, dato che hai *appena* dimostrato, dati alla
mano, *esattamente* la simmetricità dell'algoritmo. =)
Come vedi chi manda e chi riceve non cambia le cose.
Come vedi la macchina da 350MHz è sempre circa il 30% più carina di
quella da 450MHz.
Il fatto che l'algoritmo sia simmetrico come "carico" è da consideraris
in valore *assoluto* e non certo su una percentuale... usa gli stessi
"cicli macchina" su entrambele macchine ma se una è a 450 e l'altra a
350 (senza contare che il P3 è migliore del P2 anche a pari clock!)
avere un 30% di potenza in più sulla macchina con il 30% di potenza in
più... è lapalissiano ^_^
Il fatto che il "clip" sia intorno all'80% invece che al 100% è
sicuramente da attribuirsi a piccole inefficenze: tieni conto che quando
la CPU "gira a vuoto", probabilmente Windows la conta come IDLE (ad
esempio mentre è ferma ad aspettare che un trasferimento DMA finisca
dioccupare il bus di sistema, e in cache istruzioni non ha abbastanza
dati da poter intanto proseguire i calcoli).
| Sapreste darmi una motivazione del perchè in un caso A lavora al 100 %
| e nell' altro no?!
Quel 100%, unica "mosca bianca" nell'esperimento che hai fatto, è un
valore singolo, o esce dalla media di una decina di esperimenti?
Nel primo caso direi che si tratta di "caso", nel secondo...
probabilmente qualche ragione di base c'è.
| Ditemi quello che pensate al proposito...
Quello che penso è che la situazione dei tuoi computer sia normalissima
e perfettamente dentro a quello che si può prevedere da loro, in poche
parole non ti preoccupare ^_^
Lapo
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAj+N1vcACgkQaJiCLMjyUvtwJACfVPrfzqJu1/iugAhep6Su+46+
GqIAn1jINwG7OCZrIkpM4UHyT5DRwgEF
=Hl95
-----END PGP SIGNATURE-----

...


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Marco wrote:
| Con il Pentium 2 350 MHz è l' unica volta che succede che lavora al
| 100 %e solo su rete a 100 Mb/s. Su rete a 10 Mb/s lavora a percentuali
| inferiori.
Non capisco cosa tu non capisca...
Ti faccio un esempio:
metti che io sono uno straniero e tu sei il mio traduttore
io dico: "buiongiorno"
tu dici: "good evening"
io: "oggi"
tu: "today"
io: "faremo"
tu: "we'll do"
Mettiamo nivece che io sono uno straniero che parla veloce:
io: "buongiornooggifaremo"
tu: "good evening, today"
e poi ti fermi perché io sono già alla frase dopo e tu ti sei perso.
OK, traslando l'esempio a me pare lampante come crittare 100Mb al
secondo sia *DIECI VOLTE PIU' IMPEGNATIVO* che crittarne 10 al secondo.
Quindi è prevedibile (e scontato) che la CPU sia *DIACI VOLTE* più carica...
Non capisco proprio cosa tu ci trovi di strano, davvero!
| Un' altro PC invece, un Pentium 2 233 MHz lavora spesso e volentieri
| al 100 %. Questo è dotato di una scheda ethernet 3Com Etherlink XL PCI
| TPO NIC. L' utilizzazione della CPU può dipendere da questo fattore?!
| Ovviamente con questo PC lavoro sempre a 10 Mb/s.
Certo se hai una scheda di rete non PCI il carico sale incredibilmente,
ma non vedo una scheda di rete ISA da... 10 anni?
No, a dire ilv ero ne ho trovata una da un mio amico, si stupiva che se
scaricava files con fastweb gli si fermava il PC (per forza, era in
polling su ISA...)
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAj+PlEwACgkQaJiCLMjyUvsKIQCdER27pahO3eNiGsRxImZ17mzf
eSwAoOk3mbfUqClU1wKQozxdQ35DqJqu
=9QLX
-----END PGP SIGNATURE-----

Sono perfettamente daccordo con quanto dici. Ma come si spiegano data
la simmetricità di IPsec tali risultati?
A= P 2 233MHz
B= P 2 350MHz
C= P 3 450MHz
Su rete a 10MB/s ho:
A tx, B rx. - A=100% B=62%
A rx, B tx. - A=85%  B=58%
A tx, C rx. - A=100% C=50%
A rx, C tx. - A=85%  C=45%
Che può succedere in A quando trasmette? Perchè l' utilizzazione della
CPU è maggiore se trasmette di quando riceve? A Lavora sempre al
100%!!!!!
Perchè? E' un P 2 233 MHz con 3Com EtherLink XL PCI TPO NIC
(3c9000-TPO).
Che processo si può attivare quando trasmetto che non si attiva quando
ricevo i dati?!?!
Ciao,
Marco

 ricevo i dati?!?!
Non capisco questo accanimento.
85% e 100% "sono la stessa cosa", cosa vuoi che cambi...
Comunque se la risposta la vuoi davvero...
sai come si dice "use the source, Luke!!!"
(tradotto in ita, in modo molto meno poetico: "leggiti i sorgenti e 
scoprilo, questo genere di cose nno le spiegano nel manuale")
