Optimiser Windows 2000 / XP pour avoir de meilleurs débits
Également disponible dans la catégorie Optimisation des débits :
Autres catégories disponible :
Enfin finalisé, voici le tuto qui vous permettra de tirer au mieux partie de votre liaison FTTH !
Tout d'abord, un petit "lexique" :
Paquet IP ou Trame IP (IP Frame) : Un "Paquet IP" est l'élément de base de transmission pour le protocole TCP/IP. Comme son nom le suggère, un paquet est constitué d'un conteneur (ou enveloppe) avec une étiquette dessus (ou entête) et le contenu (les données)
MTU (Maximum Transfert Unit) : correspond à la taille maximale d'un "Paquet IP" que l'on peut envoyer sur la liaison. Cette taille est définie en fonction des technologies et méthodes de transmission sous jacentes (la liaison et la façon d'y transporter des informations), ainsi que d'autres paramètres dépendant des matériels ou logiciels utilisés.
MSS (Maximum Segment Size) : correspond à la taille maximale de la partie "données" d'un "Paquet IP". Cette taille est déterminée par la formule " MTU moins 'taille de l'entête' " (en général cette entête est de 40 octets).
Toute transmission complète (par exemple un fichier, une demande de page web, un message, ...) dont la taille serait supérieure à cette taille "MSS" sera "fragmenté" (terme couremment utilisé pour dire "découpé en rondelles") en autant de paquets de cette taille "MSS" (le dernier paquet pouvant être plus petit) avant l'envoi sur la liaison.
RWin (Receive Windows) ou "Fenêtre de Réception" : correspond à la quantité maximale de "Paquets IP" pouvant être envoyées par l'émetteur sans avoir à attendre une confirmation de bonne réception de la part du destinataire. Ce "Rwin" est exprimé en nombre d'octets et pas en nombre de paquet de taille "MSS". Le destinataire allouera cette quantité en mémoire (emplacement que l'on appel généralement "tampon" ou "buffer") pour pouvoir y placer les données reçus. En temps normal, le destinataire enverra un "Paquet IP" d'accusé de réception à l'émetteur lorsque ce "buffer" sera plein et pas avant, à moins que l'émetteur ai explicitement indiqué la fin de transmission ou qu'une condition d'erreur soit intervenue (certains paquets non reçus, erreur sur la liaison, ...)
Processus d'optimisation "Rwin" sous Windows 2000/XP :Le but de l'optimisation du "Rwin" est de déterminer sa taille dans les cas les plus défavorables de délais de transmission sur la liaison. Car aucun paquet n'arrive instantanement à l'autre bout, les accusés de réception aussi. Le risque à éviter est une perte de paquets par délais maximum dépassé (il faut bien en mettre un pour ne pas rester indéfiniment en attente côté émetteur comme destinataire) car la non réception d'un paquet à temps (de x vers y ou y vers x) entraîne automatiquement des retransmissions par l'autre côté, retransmissions qui donc font baisser les performances de l'ensemble, ce que l'on souhaite éviter au maximum (perte de temps et de débit utile).
Grosso modo, un "Rwin" bien calculé permettra à l'émetteur d'envoyer plus souvent "la sauce" et au destinataire de la lui demander ni plus ni moins qu'il le faut et quand il faut.
1 - Déterminer le "MTU" à utiliser pour l'optimisation :D'abord les valeurs "type" (pour les habitués ou pour allez vite) :
- Connexion ADSL par encapsulation "PPPoA" : 1500
- Connexion ADSL pas encapsulation "PPPoE" : 1492
- Connexion FTTH "PBC" via Sagem F@st3190w : 1400
- Connexion FTTH "PBC" via NeufBox : 1500
Si celà vous suffit, passez au point 2
Sinon voici la méthode pour déterminer le "MTU" chez vous si vous voulez trouver le "MTU" par vous même, ou pour être sûr de la valeur à utiliser chez vous (surtout pour les connexions ADSL, car cela dépend non seulement du mode d'encapsulation, "ATM" ou "PPPoE", mais aussi de la "box" ou du "modem" ou du "routeur/modem" ADSL, certains étant paramétrés avec des "MTU" "bizarres" mais qui ne sont pas forcement connus du public ou visualisables dans les paramètres du matériel) :
Le test "MTU" consiste à prendre comme cible un serveur "pinguable" (répondant aux "pings", paquets spéciaux de gestion réseau) dont on sait qu'il accepte des paquets de taille maximale de 1500 (la plupard des serveurs sur le net sont configurés avec cette taille de "MTU", mais ne vous inquiétez pas, je vous en indique quelques uns qui ont bien un "MTU" de 1500 :
www.google.fr ou
www.tf1.fr) et de "pinguer" cette cible avec des paquets de tailles fixes différentes et "voir si ça passe ou ça casse" quelque part entre vous et elle.
La commande "ping" à utiliser est :
ping -f -l
<taille> <cible>Le processus de test suit une logique implacable ( Monsieur Spock sera content

) :
On commence par :
- Ouvrez une "Invite de commande" par "Démarrer" "Executer", puis tapez CMD et validez
- Dans la fenêtre (presque toute) noire qui s'affiche :
- Tapez la commande ping complète avec les bons paramètres.
ping -f -l 1472
cible( remplacez
cible par le nom du serveur choisi, par exemple : ping -f -l 1472
www.google.fr )
Vous allez me dire "Pourquoi 1472 et pas 1500 la taille maximale d'un paquet IP classique en Ethernet ? ? ? ?"
Je m'y attendais

Tout simplement parce que le paramètre "-l" du ping indique la taille de la partie "Données Utilisateur" du paquet à envoyer et que la commande "ping" elle même utilise déjà (avec IP derrière) 28 octets, donc pour un "MTU" de 1500 il faut faire 1500 - 28 = 1472, taille des données pouvant être placés dans le paquet.
Cette première commande peut donner deux types de réponses :
a - une réponse correcte du ping du style :Envoi d'une requête 'ping' sur <cible> [ip_de_la_cible] avec 1472 octets de données :
Réponse de <ip_de_la_cible> : octets=1472 temps=36 ms TTL=50
Réponse de <ip_de_la_cible> : octets=1472 temps=35 ms TTL=50
Réponse de <ip_de_la_cible> : octets=1472 temps=35 ms TTL=50
Réponse de <ip_de_la_cible> : octets=1472 temps=36 ms TTL=50
Statistiques Ping pour <ip_de_la_cible>:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 35ms, Maximum = 36ms, Moyenne = 35ms
Chouette ! Nous avons trouvé la valeur "MTU" du premier coup ! elle est de 1500 (1472 + 28)
b - une réponse "injurieuse" du style :Envoi d'une requête 'ping' sur <cible> [ip_de_la_cible] avec 1472 octets de données :
Le paquet doit être fragmenté mais paramétré DF.
Le paquet doit être fragmenté mais paramétré DF.
Le paquet doit être fragmenté mais paramétré DF.
Le paquet doit être fragmenté mais paramétré DF.
Statistiques Ping pour <ip_de_la_cible>:
Paquets : envoyés = 4, reçus = 0, perdus = 4 (perte 100%),
NOTA: le "paramétré DF" pour "Don't Fragment" soit "Ne découpez pas ce paquet en plus petits pour passer, il doit passer tel quel ou pas du tout", est forcé par l'option "-f" dans la commande ping
NOTA: au fait le "-l" c'est pour "len" soit "longueur"

Dans ce cas "injurieux", il nous faut refaire le test avec une valeur du paramètre "-l" inférieure jusqu'à ce que "ça passe".
Comme de 1472 à 1372 ça en fait 100 des "ping" à taper si on fait de 1 en 1, pour rapidement approcher la "bonne" valeur, répétons la commande en enlevant 50 de la dernière valeur utilisée et ce jusqu'à avoir une réponse "normale" du ping.
Mais si "ça passe" enfin, nous n'en avons pas terminé pour autant car nous avons obtenu ce dernier test "normal" avec une valeur X et le dernier test "injurieux" avec une valeur X+50. Nous avons donc à tester entre X et X+50 exclu.
Nous allons donc "remonter" plus doucement en augmentant la dernière valeur X de 10 en 10, jusqu'à obtenir une réponse "injurieuse" (on n'en veut pas mais on la cherche quand même

fou non ?).
Une fois la première "injure" rencontrée (j'y tiens) en "remontant", nous avons maintenant une valeur Y de ce dernier test "injurieux" et le dernier test "normal" avec Y-10.
Vous l'aurez sans doute compris, nous avons donc à tester entre Y exclu et Y-10.
Nous allons donc "redescendre" à nouveau de Y vers Y-10 mais de 1 en 1.
Dès que celà répond "normalement" nous aurons enfin trouvé le MTU que nous cherchions qui n'est autre que "dernière valeur utilisé" + 28.
C'est clair ? Allez va, je vais vous donner des exemples pour bien comprendre le "mécanisme" :
Un 1er exemple visuel pour un MTU final de 1492 (PPPoE) soit une taille "-l" de 1492-28=1464 :
( je vous donne le résultat

)
ping -f -l 1472 www.google.fr
-> réponse "injurieuse"
On enlève 50 de 1472 soit 1422
ping -f -l 1422 www.google.fr
-> réponse "normale"
La bonne valeur est entre 1422 et 1472 exclu,
On "remonte" donc maintenant en ajoutant 10 à 1422 soit 1432
ping -f -l 1432 www.google.fr
-> réponse "normale"
On augmente encore de 10
ping -f -l 1442 www.google.fr
-> réponse "normale"
On augmente encore de 10
ping -f -l 1452
-> réponse "normale"
On augmente encore de 10
ping -f -l 1462
-> réponse "normale"
On augmente encore de 10 soit 1472. Doit on la faire ? allez pour le "fun" :)
ping -f -l 1472
-> réponse "injurieuse" ( s'aurait été "drôle" autrement non ? )
La bonne valeur est entre 1472 exclu et 1462,
On "redescent" donc maintenant de 1 en 1
ping -f -l 1471
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1470
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1469
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1468
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1467
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1466
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1465
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1464
-> réponse "normale" !!! COOL !
Nous avons donc un MTU de 1464 + 28 = 1492

cqfd
Autre exemple visuel (jamais vu de MTU final pareil, mais c'est pour la compréhension et encore le "fun") :
ping -f -l 1472 www.google.fr
-> réponse "injurieuse"
On enlève 50 de 1472 soit 1422
ping -f -l 1422 www.google.fr
-> réponse "injurieuse"
Encore 50 de moins soit 1372
ping -f -l 1372 www.google.fr
-> réponse "normale"
La bonne valeur est entre 1372 et 1422 exclu,
On "remonte" donc maintenant en ajoutant 10 à 1372 soit 1382
ping -f -l 1382 www.google.fr
-> réponse "injurieuse"
La bonne valeur est entre 1382 exclu et 1372
On "redescent" donc maintenant de 1 en 1
ping -f -l 1381
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1379
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1378
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1377
-> réponse "injurieuse"
On descend encore de 1
ping -f -l 1376
-> réponse "normale" :)
Nous avons donc un MTU de 1376 + 28 = 1404
