Passons à la configuration manuelle |
Assez de théorie, passons à la pratique ! Nous allons maintenant chercher les bonnes valeurs et les enregistrer dans la base de registre. Pour ceux qui ont peur d'éditer les clés du registre, nous verrons à la fin de l'article comment faire à l'aide du logiciel TCP Optimizer.
Connaître la bonne valeur MTU
Les 2 interfaces réseau Internet qui nous intéresse sont :
- PPPoA (Point-to-Point Protocol over ATM) : correspond à une connexion avec un modem USB/ADSL que l'on relie directement sur le PC à l'aide d'un port USB. La valeur du MTU est de 1500 octets maximum.
- PPPoE (Point to Point Protocol over Ethernet) : correspond à un modem ADSL branché sur un routeur ou un routeur/modem branché sur la prise réseau RJ45. La valeur du MTU est de 1492 octets maximum, parce qu'il ajoute une couche supplémentaire entre IP qu'il transporte et Ethernet qui le transporte. PPPoE ajoute au total 8 octets supplémentaires. Donc 1500 - 8 = 1492 octets.
Vous avez repéré votre interface réseau, c'est parti :
Avec la commande " ping" nous allons tester la bonne valeur de votre MTU en fonction de votre fournisseur d'accès. En prenant comme exemple une connexion avec un modem USB correspondant à du PPPoA, on devrait avoir une valeur de MTU = 1500.
La commande " ping" aura en paramètre : -f (afin de ne pas fragmenter) -l (Length, permet d'indiquer une taille du paquet) et l'adresse de votre FAI.
Cependant la commande " ping" utilise 28 octets ; ce sont les entêtes IP + ICMP (20 + 8 octets respectivement), que l'on va soustraire pour passer les paramètres. Cella qui donne alors : 1500 - 28 = 1472.
Cliquez sur l'image pour agrandir
En faisant ce test chez le FAI, on s'aperçoit que les paquets ne sont pas arrivés car la valeur est trop élevée.
Recommençons avec des valeurs plus faibles jusqu'à obtenir la bonne valeur.
Cliquez sur l'image pour agrandir
Après quelques essais, la meilleur valeur MTU est de 1432 + 28 (commande ping) = 1460.
En fonction de votre FAI, on peut remarquer que les valeurs ne sont pas forcement les mêmes.
Cliquez sur l'image pour agrandir
Ici un test avec Club-Internet, la valeur du MTU est de 1472 + 28 (commande ping) = 1500.
Donc, une fois votre valeur MTU trouvée, nous allons l'enregistrer dans la base de registre :
Toutes les valeurs dont nous allons parler se trouvent dans les 2 fenêtres suivantes, il est possible que certaines valeurs ne soient pas présentes dans votre BDR, il suffit de rajouter les valeurs et leur données. Attention, n'oubliez pas de sauvegarder les clés avant de commencer l'optimisation.
Cliquez sur l'image pour agrandir
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters : correspond aux paramètres globaux des connexions réseau sur la machine.
Voici la seconde fenêtre :
Cliquez sur l'image pour agrandir
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters \Interfaces\DV554-...etc : correspond aux paramètres de votre interface réseau (votre modem, routeur/modem...).
Il existe plusieurs entrées, vous devez cherchez celle de votre connexion ADSL (elle est simple à trouver car vous verrez que la valeur "NameServeur" correspond aux adresses DNS de votre FAI).
Commençons maintenant à modifier les valeurs dans la base de registre :
Menu Démarrer => Exécuter et tapez : regedit
Allez à la clé :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters
Dans la fenêtre de droite, éditer la valeur DWORD " MTU" en décimal et affectez lui la valeur : 1460
Faites de même sur la clé de votre interface réseau ADSL :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters \Interfaces\DV554-...etc
Dans la fenêtre de droite, éditer la valeur DWORD " MTU" en décimal et affectez lui la valeur : 1460
Dans les mêmes clés, modifier les données de la valeur " EnablePMTUDiscovery".
Ce paramètre détermine s'il doit activer le paramètre MTU ou pas.
Donner lui une valeur DWORD = 0 (utilise la valeur MTU que nous venons de paramétrer)
Donner lui une valeur DWORD = 1 (désactive l'option MTU et met la valeur par defaut à 576)
Donc, la bonne valeur est 0
Voila, le 1 er paramètre important est configuré. Attention toutefois, une valeur importante de MTU correspond à une utilisation pour une navigation web rapide ainsi que pour de bons téléchargements ; pour les joueurs, nous verrons par la suite comment optimiser le PING afin de le baisser de façon raisonnable pour jouer correctement.
Connaître la bonne valeur RWIN
Maintenant que nous connaissons la valeur MTU, il nous faut connaître la valeur MSS, cette valeur va nous permettre de configurer la valeur RWIN. Pour cela, rien de plus simple :
MSS = MTU - 40 (en tête IP) ce qui donne 1460 - 40 = 1420 (MSS).
Pour de meilleurs résultats, le RWIN devrait être un multiple de MSS (taille maximum de segment).
Calcul de la valeur :
MSS x 44 = (valeur en dessous de 65535) x2 x 2 = Valeur TcpWindowSize ou GlobalMaxTcpWindowSize
Ce qui donne pour notre exemple :
1420 X 44 = 62480 x2 x2 = 249920
Ces valeurs vont s'incrire dans la base de registre aux clés suivantes :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters \Interfaces\DV542-...etc
- " GlobalMaxTcpWindowSize" = donnée de la valeur DWORD = 249920 (en décimal)
- " TcpWindowSize" = donnée de la valeur DWORD = 249920 (en décimal)
( 249920 sera remplacé par le chiffre que vous aurez trouvé)
Note importante : la valeur " TcpWindowsSize" peut également exister sous le nom de valeur " TcpipParametersInterface".
Dans les mêmes clés, modifier les données de la valeur " Tcp1323Opts".
Ce paramètre contrôle les options de dimensionnement des fenêtres et d’horodatage , donc active/désactive les valeurs " GlobalMaxTcpWindowSize" ou " TcpWindowsSize".
Donnez lui une valeur DWORD = 0 (désactiver les options et la valeur RWIN par défaut à moins de 64ko)
Donner lui une valeur DWORD = 1 (seule l’option de dimensionnement des fenêtres est activée)
Donner lui une valeur DWORD = 2 (seule l’option d’horodatage est activée)
Donnez lui une valeur DWORD = 3 (les deux options activées)
Choisissez la donnée 1 par défaut.
Dans le mêmes clés, modifier les données de la valeur " SackOpts".
L'option Sack (Accusé de réception TCP sélective), cette fonction améliore les performances pour des connexion utilisant des grandes tailles de fenêtres RWIN.
Quand l'option Sack est activée, un ou plusieurs paquets peuvent être perdu et le récepteur est à même d'informer l'expéditeur sur les données exactes qui ont été reçues et donc sur les données manquantes. L'expéditeur peut ensuite retransmettre de manière sélective les données manquantes, sans besoin de retransmettre les blocs de données qui ont déjà été reçus avec succès.
Donner lui une valeur DWORD = 0 (aucune option)
Donner lui une valeur DWORD = 1 (active l'option Sack)
Choisissez la donnée 1 par défaut.
Dans le mêmes clés, modifiez les données de la valeur " TcpMaxDupAcks".
Ce paramètre détermine le nombre d’ACK (Accusé de Réception) dupliqués qui doivent être reçus pour le même numéro de séquence de données envoyées avant le déclenchement de la retransmission rapide pour le renvoi du segment qui a été perdu durant la transmission.
Donner lui une valeur DWORD = 2.
Détection des routeurs de type "trou noir"
Un routeur de type " trou noir" ne renvoie pas les messages ICMP de destination inaccessible lorsqu’il a besoin de fragmenter un datagramme IP.
Toujours dans les mêmes clés :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters \Interfaces\DV542-...etc
Modifiez les données de la valeur " EnablePMTUBHDetect"
Donnez lui une valeur DWORD = 0 (si vous ne souhaitez pas de détection)
Donnez lui une valeur DWORD = 1 ( TCP essaie de détecter des routeurs de type "trou noir" tout en exécutant la recherche du parcours MTU. L’activation de la détection des trous noirs augmente le nombre maximal de retransmissions effectué pour un segment donné).
Choisissez la donnée par défaut : 0
Détection de passerelle inactive
Ce paramètre détecte les passerelles inactives et permet de passer sur des passerelles de réserve.
Toujours dans les mêmes clés :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters \Interfaces\DV542-...etc
Modifiez la donnée de la valeur " EnableDeadGWDetect" ou " DeadGWDetectDefault"
Donnez lui une valeur DWORD = 0 (si vous ne souhaitez pas de détection)
Donnez lui une valeur DWORD = 1 (autoriseTCP à effectuer la détection de passerelles inactives. TCP demande au protocole IP de basculer sur une passerelle de réserve si certaines connexions connaissent des difficultés).
Choisissez la donnée par défaut : 1
Augmenter le nombre de saut pour atteindre un site
Ce paramètre permet d'augmenter le nombre de routeur pour trouver un site donné.
Modifiez les données de la valeur " DefaultTTL"
Toujours dans les mêmes clés :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters \Interfaces\DV542-...etc
Donnez lui une valeur DWORD = 32(valeur d'origine Windows)
Donner lui une valeur DWORD = 256 (les bonnes valeurs peuvent commencer à partir de 64)
Augmenter le nombre de connexions simultanées
Le nombre de connexions simultanés au serveur est souvent faible, changeons les données de valeur pour accroître le nombre de connexions.
Changeons de clés dans la base de registre et allez à :
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet
Modifiez les données de la valeur " MaxConnectionsPerServer" valeur DWORD = 0000000a (0000000a en héxadécimal correspond à 10 en décimal)
Modifiez les données de la valeur " MaxConnectionsPer1_0Server" valeur DWORD = 0000000a (0000000a en héxadécimal correspond à 10 en décimal)
Faites de même dans la clé :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
Modifiez les données de la valeur "MaxConnectionsPerServer" valeur DWORD = 0000000a (0000000a en héxadécimal correspond à 10 en décimal)
Modifiez les données de la valeur "MaxConnectionsPer1_0Server" valeur DWORD = 0000000a (0000000a en héxadécimal correspond à 10 en décimal)
Ici, nous permettons d'ouvrir 10 connexions simultanées, vous pouvez si vous le souhaitez augmenter cette valeur.