Se si dispone di router e di switch che supportano connessioni Gigabit Ethernet (in alcuni casi 10 GbE; vedere l’articolo Switch gigabit: cosa sono. Differenza tra managed e unmanaged), è importante dotarsi di schede di rete in grandi di trasferire un quantitativo importante di dati.
Su Amazon si trovano ad esempio schede di rete PCIe Gigabit Ethernet o anche 10 GbE.
Di solito, a meno di non usare connettività in fibra FTTH, la connessione Internet rappresenta ad oggi il collo di bottiglia col quale imprese, professionisti e utenti privati hanno a che fare ogni giorno. Utilizzare dispositivi Gigabit Ethernet, però, risulta utilissimo nella gestione del traffico internamente alla rete locale: si immagini sistemi che effettuano trasferimenti dati importanti entro la LAN, ad esempio per il backup automatizzato su server e/o NAS del contenuto delle singole workstation e degli altri host.
Uno strumento come LAN Speed Test, presentato nell’articolo Speed test WiFi, quanto è veloce la connessione wireless, aiuta a verificare le prestazioni della rete locale, sia per ciò che riguarda le connessioni Ethernet che per i collegamenti WiFi.
Ma come fare per controllare le potenzialità di una scheda di rete PCIe per quanto riguarda le sue prestazioni?
Windows 10 offre un comando PowerShell che consente di verificare le specificità tecniche delle schede di rete PCIe: basta premere la combinazione di tasti Windows+X
, scegliere Windows PowerShell quindi digitare:
In alternativa, dalla tradizionale finestra del prompt dei comandi (cmd
), basta digitare powershell Get-NetAdapterHardwareInfo
.
In corrispondenza della colonna PcieLinkSpeed si troverà la velocità di trasferimento dati massima ottenibile con la scheda PCIe installata nel PC (la presenza della dizione Unknown generalmente suggerisce il fatto che non si ha a che fare con hardware PCIe).
Il valore restituito dal comando PowerShell è espresso in GT/s ovvero Gigatransfer per secondo, unità di misura dei trasferimenti di dati.
Un’interfaccia PCIe 1.1 permette di raggiungere fino a 2,5 GT/s; una PCIe 2.0 fino a 5 GT/s; una PCIe 3.0 fino a 8 GT/s e una PCIe 4.0 fino a 16 GT/s.
Per convertire i GT/s in Gbps è necessario considerare lo schema di codifica utilizzando in ciascun caso (perché le attività di codifica introducono un certo overhead durante le attività di trasferimento dati).
Nel caso PCIe 3.0 si parla ad esempio di codifica 128b/130b for PCIe 3.0 mentre 8b/10b per PCIe 2.0: ciò significa che lo standard PCIe 3.0 richiede 130 bit per codificare 128 bit di dati mentre PCIe 2.0 necessita di 10 bit per codificarne 8.
Per convertire quindi 2,5 GT/s in Gbps (caso di PCIe 1.1) basta effettuare una semplice moltiplicazione e una divisione:
(pari a 250 MB/s)
Analogamente, per una PCIe 4.0 x1:
(circa 2 GB/s)
L’overhead è quindi del 20% nel caso ad esempio dello standard PCIe 2.0 (((10b-8b)/10b)*100 = 20%
) mentre scende all’1,54% circa nel caso di PCIe 3.0 e 4.0 (((130b-128b)/130b)*100 = 1.54%
). Con PCIe 6.0, come spiegato nell’articolo Annunciate alcune novità di PCIe 6.0: banda disponibile raddoppiata, tale valore verrà presumibilmente ridotto ancora.
Per le schede PCIe x4 o x8, ovviamente, bisognerà moltiplicare il valore ottenuto di un fattore 4 oppure 8.
La stessa informazione è ottenibile in Linux digitando in una finestra del terminale dapprima sudo lspci | grep Ether
per ottenere la lista delle schede di rete Ethernet installate. Bisognerà quindi annotare l’indirizzo del bus PCI per la scheda d’interesse quindi cercarlo nell’output restituito dal comando sudo lspci -vv
(esaminando quindi l’informazione riportata a destra della stringa LnkSta). Anche in questo caso, l’informazione è espressa in GT/s.