Quando si parla di reti cablate si fa ormai quasi esclusivamente all’utilizzo dello standard Ethernet. Utilizzando appositi cavi Ethernet (verificarne la categoria), usando dispositivi compatibili e controllando le distanze in gioco, si può arrivare a trasferire dati addirittura fino a 10 o 100 Gbps. Un sempre maggior numero di dispositivi di rete utilizzati nelle grandi aziende e nelle realtà enterprise consente di trasferire dati superando la barriera dei 10 Gbps.
Le reti multigigabit Ethernet permettono di muovere dati di grandi dimensioni riducendo i tempi di trasferimento: si pensi alla realtà che devono creare e ripristinare backup voluminosi (ad esempio copie del contenuto di intere macchine), che devono spostare video in alta risoluzione, che lavorano con le soluzioni per la virtualizzazione e così via.
Il fatto è che alcuni dispositivi di rete multigigabit possono essere ancora difficili da trovare e potrebbero necessitare di importanti cambiamenti nella struttura della rete locale (ad esempio a livello di router, switch, singoli dispositivi e cavi Ethernet, ad esempio quelli precedentemente passati nei corrugati a muro).
Qual è la relazione tra USB4 e Thunderbolt
In un altro articolo abbiamo parlato delle differenze tra porte e cavi USB fornendo alcuni suggerimenti per capirci qualcosa nella giungla di sigle, abbreviazioni e “numeri” usati da USB-IF (USB Implementers Forum) per descrivere ogni singola evoluzione dello standard.
Ad oggi USB4 è l’evoluzione più recente con USB4 2.0 che ne rappresenta l'”incarnazione” più recente (può trasferire fino a 80 Gbps bidirezionali e si propone come alternativa per il non ancora presentato Thunderbolt 5). Annunciato ufficialmente a fine agosto 2019, USB4 può essere un po’ considerato come la versione aperta di Thunderbolt 3. Sì, perché Intel (che con Apple ha progettato l’interfaccia Thunderbolt) ha donato a USB-IF la tecnologia alla base di Thunderbolt 3, non richiedendo quindi la corresponsione di alcuna royalty (come avvenuto invece in passato).
Ecco quindi che USB4 incorpora il protocollo Thunderbolt 3 ereditando molte delle sue funzionalità avanzate. Tra queste la possibilità di trasferire dati fino a 40 Gbps (banda raddoppiata a 80 Gbps con USB4 2.0).
Sia USB4 che Thunderbolt utilizzano inoltre il connettore USB-C: ciò consente una maggiore flessibilità e compatibilità tra dispositivi, poiché entrambe le tecnologie possono essere utilizzate con gli stessi cavi e connettori.
Cos’è una rete full-mesh USB4/Thunderbolt
Con tutta questa larghezza di banda a disposizione, vi sareste mai immaginati di poter usare cavi USB4/Thunderbolt per creare una vera e propria rete di dispositivi?
Ebbene sì, è possibile farlo. Una rete full-mesh basata su cavi USB4 si riferisce a un tipo di connessione in cui ogni dispositivo è direttamente connesso a tutti gli altri dispositivi nella rete proprio tramite cavi USB4.
Fang-Pen Lin, ingegnere software, ha spiegato com’è riuscito nell’intento. Si tratta di un contributo evidentemente suscettibile di integrazioni e migliorie ma ben dimostra come l’utilizzo dei cavi USB4/Thunderbolt vada ben oltre gli “impieghi standard”.
Innanzi tutto racconta che per ridurre i costi del servizio cloud AWS, ha deciso di spostare alcuni servizi meno critici su server on-premises ovvero all’interno della sua infrastruttura locale. È possibile creando ad esempio un cluster Kubernetes bare metal e configurando correttamente la rete.
Nel suo esempio, Fang-Pen Lin ha utilizzato tre performanti mini PC MINIS FORUM UM790 Pro basati su processore AMD Ryzen 9 7940HS, 32 GB di RAM e 1 TB di storage SSD. Con l’obiettivo di superare le limitazioni della rete Ethernet a 1 Gbps, ha investito pochi dollari per creare un cluster che ha il potenziale di trasferire dati fino a 40 Gbps.
La parte interessante del lavoro dell’ingegnere è l’utilizzo di bridge Ethernet USB4 invece che di uno switch e cavi Ethernet convenzionali. Rilevando che ogni mini PC UM790 Pro è dotato di due porte USB4, è bastato usare due cavi USB4 USB-C e un ulteriore cavo USB4/Thunderbolt.
Configurazione dell’ambiente Linux e di Kubernetes
In questo post, al paragrafo “Configure the mesh network with NixOS and Systemd“, è descritta la configurazione utilizzata su un’istanza di NixOS, distribuzione Linux immutabile, per impostare la rete full-mesh USB4 e governare il funzionamento del cluster Kubernetes.
In sostanza, l’autore descrive la configurazione del dispositivo di rete Thunderbolt (cluster Kubernetes) utilizzando systemd-udevd
quindi imposta una seconda configurazione di rete di sistema per specificare un indirizzo IP e un indirizzo peer sull’interfaccia.
Usando l’utilità di benchmarking iPerf, l’ingegnere ha potuto accertare che la larghezza di banda effettivamente disponibile sulla connessione USB4/Thunderbolt è pari a 11 Gbps. Non è dato sapere perché, al momento, non sia possibile arrivare ai 40 Gbps. Tutto fa pensare a limitazioni a livello di scheda di rete. In ogni caso, il lavoro svolto mostra le potenzialità di USB4 per muovere dati ad alta velocità.
Il futuro delle reti basate su USB4/Thunderbolt e uno sguardo al passato
Nel prossimo futuro, quando i controller e i cavi USB/Thunderbolt ad alta velocità diventeranno standard e saranno largamente disponibili sui computer più moderni, ci sarà modo di sbizzarrirsi con applicazioni di rete altamente performanti, a corto raggio, a costi molto contenuti. E in futuro potessimo realizzare uno switch ad alta velocità dotato di molte porte e controller USB4? Quanto costerà rispetto agli equivalenti Ethernet?
Per inciso, la modalità di connessione USB4/Thunderbolt è davvero apprezzabile: è il modo più veloce per spostare dati tra 2 PC moderni. La connessione è gestita in Windows, ad esempio, come una porta Ethernet e la velocità di trasferimento dati può addirittura arrivare a saturare le performance di un’unità SSD. Ricorda un po’ l’interfaccia FireWire presentata da Apple nel 1994 (non ha mai preso piede soprattutto per via del costo): all’epoca un notebook poteva diventare un hard disk esterno di grandi dimensioni, utile per salvare temporaneamente dei dati o effettuare l’installazione rapida del sistema operativo.