15/11/2024

Système

Jumbo Frame sous Windows : Pourquoi ? Comment ?

I. Présentation

Ceux qui ont déjà été fouiller dans les paramètres avancés de leur carte réseau sont sûrement tombés sur la notion de "Jumbo Frame" (Trame Jumbo, en français). Mais alors, savez-vous ce que c'est ? Et pourquoi et comment les utiliser ? C'est ce que nous allons voir dans ce tutoriel où l'on s'intéressera à la configuration depuis une machine Windows, et j'en profiterais pour donner quelques indications quant aux autres systèmes.

II. Les "Jumbo Frame"

A. La norme Ethernet

La norme Ethernet précise qu'une trame doit mesurer entre 64 et 1518 octets, avec une partie dédiée aux données pouvant faire entre 46 et 1500 octets. Les premiers octets étant dédiés à autre chose comme le préambule de synchronisation, les adresses source et destination, ainsi que le type de données à transférer.

On associe la notion de Jumbo Frame à celle de MTU (Maximum Transmission Unit), c'est à dire la taille maximum de l'unité de transfert, qui indique le nombre d'octets maximum autorisés pour le transfert de données au sein d'une même trame. Par défaut et selon la norme, le MTU est de 1500 octets.

Avec les trames Jumbo Frame, on va modifier le MTU pour permettre le transfert d'une quantité de données plus importante au sein d'une même trame. Voyons ce que cela apporte.

B. Les bénéfices

A chaque trame envoyée, le processeur de votre machine est sollicité puisqu'il doit construire la trame à envoyer (encapsulation). Quand le réseau est lent et le processeur de la machine puissant, cela ne pose pas de problème car le nombre de trames par seconde n'est pas élevé... En revanche, avec les réseaux en Gigabit Ethernet, les débits sont nettement plus élevés donc le nombre de trame par secondes possible l'est aussi. Par conséquent, le processeur risque de saturer avant l'interface Ethernet... A cause du processus qui implique la construction des trames.

Mais alors, si l'on augmente la taille d'une trame, il faudra moins de trames qu'à la normale pour transférer une même quantité de données. Intéressant, et c'est le processeur qui appréciera car il construira des trames plus grandes mais en moins grande quantité.

L'intérêt des Jumbo Frame est donc là : réduire la charge du processeur et par la même occasion améliorer le débit de transfert sur le réseau Gigabit Ethernet.

C. La compatibilité

Pour que ça marche, il faut une compatibilité de bout-en-bout, c'est à dire entre les deux hôtes qui échangent et au niveau réseau, donc directement des commutateurs.

Toutes les cartes réseau ne supportent pas les Jumbo Frame, tous les commutateurs non plus, c’est pourquoi il faut se renseigner de la compatibilité au cas par cas.

Je précise tout de même qu’un hôte configuré pour utiliser les Jumbo Frame pourra toujours continuer à échanger avec des hôtes qui ne le supportent pas. Cela présente l’intérêt d’optimiser la connexion lorsque la configuration des deux hôtes le permet.

III. Configurer Jumbo Frame sous Windows

Passons maintenant à la pratique, on va configurer la carte réseau (on part du principe où elle est compatible). Dans le panneau de configuration, accédez au « Centre Réseau et partage » et cliquez sur le nom de votre connexion, exemple « Ethernet ».

jumbo-frame-1

Au sein de la fenêtre « Etat de Ethernet » cliquez sur « Propriétés ». Ensuite dans les propriétés de la connexion, cliquez sur « Configurer » dans l’onglet « Gestion de réseau ».

jumbo-frame-2

Désormais, on se trouve au sein de la configuration de la carte, pour trouver l’option Jumbo Frame, il faut accéder à l’onglet « Avancé ». Recherchez la propriété « Trame Jumbo » ou « Jumbo Frame » qui par défaut est sur la valeur « Désactivé ».

Il va falloir modifier la valeur pour disposer d’un MTU plus important (au lieu de 1500 par défaut). Vous pouvez tenter le maximum autorisé à savoir 9 Ko (9 000 octets), en configurant cela sur les deux hôtes qui vont communiquer entre eux.

jumbo-frame-3

Validez ce nouveau paramétrage, votre carte réseau va « redémarrer ». Maintenant il va falloir s’assurer que la couche réseau supporte le transport de ces trames spéciales, pour cela on va jouer un peu avec le ping en réalisant des pings avec des trames de la taille de notre nouveau MTU.

Utilisez la commande suivante pour exécuter un ping à destination du second hôte, avec des trames de 9000 octets :

ping 192.168.10.1 -f -l 9000

Si ça fonctionne, c’est que le transport fonctionne bien, si comme moi vous avez un message comme « Le paquet doit être fragmenté mais paramétré DF » cela signifie que le MTU supporté est dépassé.

Recommencez l’opération en remplaçant 9000, par 8000 et ainsi de suite jusqu’à obtenir une réponse au ping (si ça ne marche pas, c’est qu’il y a un élément sur votre réseau qui ne supporte pas ces trames).

jumbo-frame-7

Pour ma part, j’ai dû me contenter d’un MTU à 3 000 octets pour que ça fonctionne.

IV. Vérification des trames avec Wireshark

Rapidement, on va vérifier la taille des trames avec Wireshark notamment lors d’un transfert de données entre les deux hôtes. En regardant dans les détails d’une trame capturée, on remarque qu’il y a 3000 octets pour les données, ce qui correspond bien à la configuration mise en place au niveau de la carte réseau.

jumbo-frame-4 jumbo-frame-5

Pour comparaison, voici une trame de ce même transfert mais sans configuration des Jambo Frame, on remarque bien que la taille de la trame est de 1514 octets :

jumbo-frame-6

Enfin, toujours en effectuant ce même transfert (même réseau, même hôtes, même données), voici l’état du processeur sur la machine. J’ai superposé les courbes de charge (une avec le MTU par défaut, l’autre avec le MTU à 3 Ko) - J'espère que c'est suffisamment visible. La courbe qui charge le plus le processeur est celle avec le MTU par défaut, alors on remarque bien une amélioration grâce aux trames Jumbo (nettement plus conséquente avec un MTU plus important).

Cette modification m’a également fait gagner 10 Mo/s lors du transfert des données !

jumbo-frame-cpu-benefice-1

V. Les autres équipements

Pour finir, quelques mots rapidement sur la configuration des Jumbo Frame sur d’autres équipements et systèmes.

- Cisco

Le MTU peut être augmenté sur toutes les interfaces Gigabit Ethernet d’un équipement en utilisant la commande « system mtu jumbo 9000 » en mode de configuration.

- NAS

De manière générale les NAS supportent les Jumbo Frames, notamment chez les marques comme Synology, QNAP, Asustor, Thecus… Après vaut mieux s’en assurer au cas par cas.

- FreeNAS

Cette distribution NAS supporte le Jumbo Frame, il suffit d’ajouter l’option « mtu 9000 » au niveau de la configuration de la carte réseau, via l’interface d’administration de FreeNAS.

- Linux

Sous Linux, bien entendu les Jumbo Frames sont supportées, il y a différentes manières d’activer de façon permanentes la modification du MTU (cela dépend notamment de la distribution utilisée). Par exemple « ifconfig eth0 mtu 9000 » changera le MTU à 9000 sur l’interface eth0 (non permanent).

Si vous souhaitez apporter des compléments d'infos par rapport à certains systèmes et produits, n'hésitez pas !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

6 commentaires sur “Jumbo Frame sous Windows : Pourquoi ? Comment ?

  • Bonjour,
    j’utilise cette commande au démarrage du PC dans un fichier .bat:
    netsh interface ipv4 set subinterface « Connexion au réseau local » mtu=9000 store=persistent

    Répondre
    • hello cetipabo

      System win7 64bits

      oui ta méthode fonctionne alors que celle proposé par le GUI(NIC) (article ci-dessus pas chez moi, même en redémarrant la machine)

      En utilisant la commande :
      />netsh interface ipv4 show subinterfaces

      on peut vérifier la taille des MTU.

      J’ai ensuite vérifié ceci en envoyant des trames ICMP( de 9000 – header) sur mon NAS (lui aussi en jumbo) et cela fonctionne. POur info chez un switch entre 2, qui supporte les trames jumbo.

      Je n’ai toujours pas compris pourquoi en modifiant directement les paramètres dans la carte réseau (NIC/GUI) cela ne fonctionne pas. Si quelqu’un à la réponse….

      Salutations

      Répondre
  • Pour info la LiveBox Play ne supporte pas les jumbo frames, obliger de relier PC et NAS sur un switch derrière la LiveBox pour profiter des jumbo frames.

    Répondre
  • Normal, une livebox c’est pour le client lambda et le client lambda il a jamais entendu parler des jumbo frames :p

    Répondre
  • Bonjour,

    Juste pour signaler 2 fautes d’orthographe dans la première ligne du chapitre présentation :
    était fouiller -> été fouiller
    surement -> sûrement
    Même si ce post date, ça piquera moins les yeux pour les prochains…
    😉

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.