-
valeur du MTU
Slt,
Voila j'aimerais savoir si il existe une lib qui donnerais le MTU pour une interface X.
J'ai bien crée une petite fonction qui parse le fichier /proc/net/rt_cache a la recherche de celu-ci, mais si le fichier change de forme , ma fonction ne servira plus a rien car je coupe a chaque tabulation ... .
Donc je voudrais savoir si une t'elle fonction existe .
Merci.
++
-
Quel est l'intérêt de vouloir connaitre le MTU ? Ce paramètre est un paramètre IP, il est utilisé par la couche de niveau 3 pour éventuellement fragmenter un paquet.
Dans certains cas, tu peux te dire, je vais envoyer des paquets de manière à ce qu'il n'y ait pas besoin de framenter mes trames, pour cela, j'ai besoin du MTU (un serveur FTP pourrait faire cela).
Le problème est que le MTU est variable sur le chemin entre la source et la destination. Exemple:
premier routeur : MTU 1500, 2eme routeur MTU 500, 3eme routeur MTU 128. Le MTU global qu'il faudrait utiliser serait alors 128 pour optimiser par rapport au plus petit MTU du chemin.
Autre problème, IP ne garantit pas que tu repasseras par le même chemin, donc si une nouvelle route est trouvée et qu'elle est meilleure, elle sera utilisée (avec probablement un nouverau MTU global).
Donc je pense que ce que tu veux faire ne sert à rien, laisse IP s'en occuper. Quand une application commence à s'occuper de ce qui ne la regarde pas, c'est mauvais signe...
Pour info, il y a des outils qui savent calculer le MTU global, il envoie une grosse trame avec le bit "Don't fragment" positionné dans le header IP, s'il ils prennent une erreur, il diminue la taille de la trame jusqu'à ce que cela passe.
-
Savoir le MTU me servirais car je recode une copy de la commande "ping" est donc je doit demander la taille du paquet , sen suis une fragmentation ... .
Merci pour ta réponce.
++
-
Alors je dirai que plutôt de demander le MTU, ou de faire une verrue avec un fichier, calcule le.
Regarde le RFC 1063
Un outil pour calculer le MTU (pour Windows, désolé mais il doit y en avoir d'autre pour d'autres OS si nécessaire)