Windows 10 et agrégat de liens : semi-échec.
En l'absence d'équipements réseaux performants, je souhaitais monter une liaison rapide entre deux PC à des fins de transferts de fichiers.
Les postes étant désormais équipés en standard de "disques" M2 Sata capables de lecture/écriture aux alentours de 500 Mo/s ou de NVme allant de 1750 Mo/s à plus de 9000, le goulot d'étranglement se situe, pour moi, au niveau du réseau : même en 1 Gpbs ( 125 Mo/s) on ne dépasse pas le taux de transfert d'un disque SATA mécanique.
Le premier réflexe pourrait être d'équiper les deux PC d'interfaces 2.5 Gbps qui doublent la bande passante, mais, comme toujours, je préfère expérimenter avec ce que j'ai sous la main et justement je dispose de deux cartes réseau dual et quad ports Intel.
Je commence donc avec la configuration la plus simple : 2 PC sous Linux (Ubuntu 24.04 LTS) et deux cartes Intel server 350-T2.
Après l'installation de l'OS, il suffit de créer l'agrégat (teaming ou bounding comme vous voulez) en modifiant un fichier de configuration réseau.
Les deux intervaces réseau sont respectivement dénommées enp3s0f0 et enp3s0f1.
Le fichier à modifier se titue sous /etc/netplan et prend une forme proche de 01-network-manager-all.yaml
Voici la configuration à appliquer :
# Let NetworkManager manage all devices on this system
network:
ethernets:
enp3s0f0:
dhcp4: false
dhcp6: false
enp3s0f1:
dhcp4: false
dhcp6: false
bonds:
bond0:
addresses: [10.0.0.2/24]
interfaces:
- enp3s0f0
- enp3s0f1
parameters:
mode: balance-rr
mii-monitor-interval: 100
version: 2
ici donc, du réseau dans route, sans passerelle et sans DNS, juste du point à point, un PC sera adressé en 10.0.0.1 et l'autre en 10.0.0.2
le MODE 'balance-rr' assure la tolérance de panne et la somme des débits. D'autres modes sont disponibles (tolérance de panne seule, 802.3ad, etc.)
Lorsque la configuration est créée, l'appliquer via sudo netplan apply
l'ICMP echo request fonctionne (oui le PING, ça va ...)
Afin de mesurer le débit entre les deux PC, je fais simple, j'installe iperf3 (sudo apt-get intall iperf3), l'installeur me demande si je souhaite que cela fonctionne en démon, oui pourquoi pas.
Les deux postes sont donc désormais "serveurs" iperf3, sur l'un des deux il suffit donc de iperf3 -c 10.0.0.x afin de voir la mesure de débit :

(pour rappel, toutes les images sont visibles en taille réelle via un clic doit "ouvrir dans un nouvel onglet")
et ... voilà .. 1.5 Gbit de moyenne sans rien faire du tout !
Cela laisse présager qu'avec une carte quad ports on puisse atteindre 3 Gbps soit 375 Mo/s
Parfait.
Je teste également la tolérance de panne en débranchant 1 câble réseau.
Ah oui au fait : avec la carte Intel sus nommée, pas besoin de câbles croisés, elle assure le croisement elle-même, deux simples RJ45 cat.6a suffisent \o/

donc 1 seul lien 1Gbits actif : OK
Si cela fonctionne parfaitement et facilement sous Linux, je souhaite désormais mettre le même mécanisme en oeuvre entre une station Windows 10 et une Ubuntu, puisque c'est ce que j'utilise dans la pratique avec une station de travail Windows et une station de stockage Ubuntu avec des disques gérés via ZFS.
J'installe donc Windows 10 (22h2) sur la première station, les interface réseaux sont reconnues, aucun problème.
Sans surprise, le 'nic teaming' n'est pas disponible sur une version non serveur du système d'exploitation Microsoft (il parait que cela était possible sur les versions antérieures cependant), mais pas d'affolement, internet a la solution, une petite ligne de commande sous PowerShell et ça roule :
New-NetSwitchTeam -Name "SwitchTeam01" -TeamMembers "Ethernet","Ethernet 2"
où -name désigne le nom de l'égrégat et Ethernet et Ethernet 2 les noms des interfaces
J'appelle "l'équipe" "bond0"

Affectation d'une adresse IP à l'agrégat

Je télécharge et fais fonctionner iperf3 et je lance un test de débit

Échec, seul 1 lien fonctionne.
Je cherche à comprendre si un mode de fonctionnement est paramétrable pour l'agrégat, certaines options sont documentées mais je ne trouve rien qui résolve le problème. Puis à un moment je lis que cela n'est pas du tout possible en l'état MAIS qu'Intel a fournit des logiciels par le passé qui permettent la création d'agrégats.
Beaucoup de recherches sur le site d'Intel car tout semble archivé à la cave.
Mais je trouve

La documentation stipule que les interfaces réseaux doivent être totalement supprimées du système avant toute chose, l'installation s'occupera des pilotes et logiciels.




ça sent bon !
Et effectivement, une application est ensuite disponible dans le menu démarrer de Windows

Quel bonheur de lire "agrégation" en entête de rubrique !
Vite, allons-y.
Première étape, choisir les membres de l'agrégat

Seconde étape choisir le mode

Sous Windows et la gestion des interface réseaux on trouve bien "Bond0", je lui affecte une adresse IP

je relance iperf 3 et ... pas mieux ?!

Je vais tester les autres modes, en vain




PAS MOYEN
Comme la carte mère embarque une interface réseau Intel, je tente un agrégat avec elle, pas mieux

Elle est (naturellement) limitée en fonctionnalités.
Je retourne sur le site Intel chercher de l'aide mais je ne trouve rien de probant

A un moment, pourtant, au détour de je ne sais plus quelle tentative de réglage, le débit va "significativement augmenter", mais on reste loin du débit maximal théorique ou de ce dont Ubuntu est nativement capable

Je vais maintenant mettre une Intel quad ports dans la station Windows afin de voir si la situation reste la même.
Sans surprise, rien ne change sous Windows

Étant donné qu'une des deux stations est désormais équipée d'une carte quad ports, je vais faire la même chose sur l'autre station sous Ubuntu
définition du bonding

je supprime les blancs après quand je me rends compte que quelque chose ne va pas puisque seules deux interfaces sont prises en compte

et ceci sur les deux stations.
Je les redémarre et le bounding semble ne même plus apparaitre ?

Les tests iperf3 sont désastreux

Je ne dispose plus de temps aujourd'hui. Je ne pense pas poursuivre pour l'instant.
