Déc 152011
 

Bien que la plupart des équipements réseau gigabit puissent accepter un MTU allant jusqu’à 9000, il est réglé par défaut à 1500. Ceci parce que l’IETF n’a jamais rien standardisé au-dessus de 1500.
Ainsi, les paquets dont la taille dépasse les 1500 octets sont appelés « Jumbo frames ».
Mais comme il n’y a pas de standard, chaque équipement (carte réseau, switch, routeur…) accepte une MTU maximum différente qui n’est pas forcément 9000.
Nous allons donc devoir tâtonner pour trouver le dénominateur commun et ainsi optimiser le réseau entre tous les équipements.
 
Première étape :
Il faut trouver la MTU maximum sur chaque ordinateur en utilisant ifconfig et en partant de 9000. Si on obtient un message d’erreur, on réessaye avec une MTU de 8000, et ainsi de suite jusqu’à ce que le message d’erreur ne s’affiche plus. On peut ensuite affiner.
Par exemple (la carte réseau est eth0)  :

$ sudo ifconfig eth0 mtu 9000
SIOCSIFMTU: Invalid argument
$ sudo ifconfig eth0 mtu 8000
SIOCSIFMTU: Invalid argument
$ sudo ifconfig eth0 mtu 7000
$ sudo ifconfig eth0 mtu 7500
SIOCSIFMTU: Invalid argument
$ sudo ifconfig eth0 mtu 7300
SIOCSIFMTU: Invalid argument
$ sudo ifconfig eth0 mtu 7200

Il faut ensuite recommencer cette procédure sur chaque machine et ainsi déterminer la MTU maximum pour chacune d’entre-elles.
 
Deuxième étape :
Nous allons ensuite régler chaque machine sur la MTU maximum le plus petit trouvé lors de la première étape.
Par exemple, si nous avons trouvé 7200 sur un PC et 7000 sur l’autre, on règle la MTU à 7000 sur les deux machines :

$ sudo ifconfig eth0 mtu 7000

Il faut maintenant s’assurer que le(s) switch(es) sont compatibles avec cette MTU en essayant de pinger chaque machine entre-elle.
Par exemple, si les deux PC ont pour adresse IP 192.168.1.23 et 192.168.1.41, on exécute sur la première machine :

$ ping -s [MTU-28] -M do 192.168.1.41

(28 = entête du ping de 8 octets + entête de la pile TCP/IP de 20 octets)
S’il y a des réponses, le test est concluant, sinon cela veut dire qu’un des équipements de la chaîne ne supporte pas la MTU choisie (switches, routeurs). Il faut alors recommencer cette deuxième étape depuis le début, avec une MTU plus faible.
 
Troisième étape :
Il faut paramétrer KNetworkManager pour que la MTU choisie soit appliquée systématiquement.
Pour cela il faut aller dans la Configuration du système, rubrique Réseau et connectivité, puis icône Configuration de réseau.
Dans Connexions réseau, choisir Wired (connexions filaires), sélectionner la connexion réseau puis cliquer sur le bouton « Modifier… ».
Dans l’onglet Ethernet, régler la MTU à la valeur testée et approuvée, puis cliquer sur le bouton « Ok », et fermer l’interface de configuration.
Recommencer cette étape sur les autres machines.
 
Source : http://brainwreckedtech.wordpress.com/2009/05/20/howto-optimize-gigabit-networking-in-linux/

Suffusion theme