Le partage ICS et la taille MTU en PPPoE

Mon client ICS ne voit pas tous les sites WEB ?

Solution Alternative non testée ici.

warning.gif (1K)Toutes ces manipulations sont maintenant décrites pour XP dans la KB Microsoft !

Vous pourrez trouver un test MTU ici.

Cet article a été modifié depuis sa création et amputé de sa partie inutile (suite à la parution d'un article de la KB MS décrivant le problème). Néanmoins, la procédure de changement de la valeur MTU ne semble pas être la même ici, donc, je la laisse à disposition "au cas où" :

Appliquer la valeur maximale trouvée à votre machine : Pour modifier ces paramètres, procédez comme suit :
warning.gif (1K)sauvegardez votre registre auparavant, toute erreur dans le registre peut être fatale pour votre système !
  1. Exécutez l'Éditeur du Registre (Démarrer - Exécuter - REGEDT32.EXE).

  2. Dans la sous-arborescence HKEY_LOCAL_MACHINE, recherchez la clé suivante :
    \ SYSTEM\ CurrentControlSet\ Services\ tcpip\ parameters\ interfaces
    (W2K et WinXP)
  3. Dans "interfaces" sélectionnez par son numéro d'identification (plusieurs peuvent apparaître, celui qui nous intéresse est celui de la carte réseau utilisée pour communiquer avec la machine serveur : vous la reconnaîtrez en regardant les paramètres figurant dans l’onglet correspondant).

  4. La bonne interface étant sélectionnée, faites édition\nouveau\valeur DWORD, tapez MTU puis sur [Entrée], une nouvelle ligne a été créée dans la fenêtre de droite : faites un clic droit sur cette nouvelle ligne puis sélectionnez : Modifier.
    Dans la fenêtre qui apparaît : sélectionnez «décimale» et rentrez la valeur de MTU que vous aurez défini lors de la première étape.
  5. Quittez l'Éditeur du Registre.

  6. Redémarrez votre ordinateur pour que les modifications soient prises en compte.

Description du MTU :

Nouveau Valeur REG_DWORD nombre, nom : MTU

Valeurs possibles : de 68 à <le MTU du réseau sous-jacent>
Valeur à insérer : la valeur valide maximale donnée par le PING.
Vous ne savez pas ? Habituellement, 1454 suffit.
Par défaut : 0xFFFFFFFF
Description : Ce paramètre permet d'outrepasser l'unité de transmission maximum (MTU) par défaut d'une interface réseau. Le MTU correspond à la taille maximale d'un paquet (en octets) transmise par le transport sur un réseau sous-jacent. Cette taille comprend l'en-tête de transport. Notez qu'un datagramme IP peut contenir plusieurs paquets. La définition de valeurs supérieures aux valeurs par défaut du réseau sous-jacent entraîne l'utilisation d'un MTU par défaut du réseau. En revanche, la définition de valeurs inférieures à 68 entraîne l'utilisation d'un MTU de 68.

Microsoft précise : "Si vous avez toujours des problèmes en visitant certains sites, vous aurez peut-être besoin de baisser encore le MTU. Diminuez celui-ci par pas de 10 jusqu'à résolution du problème." (NdT : sic)

La solution à Jack !

Le problème qui nous intéresse est du à la taille d'un paquet TCP/IP. En effet un paquet "client" trop gros ne peut pas passer par un "tuyau" serveur trop petit ! La solution habituelle consiste à baisser la taille du paquet envoyé par le client. Une autre possibilité, applicable uniquement lorsque l'on a un modem USB avec un pilote PPPoE, consiste à augmenter la taille du "tuyau" sur le serveur. En effet, le modem USB se voit appliquer un MTU de 1480.

Pour le modifier (la modification n'est pas prise en compte) il faut modifier les clés suivantes dans la Base de Registre SUR LE SERVEUR ICS :
  • Se rendre à la clé :
    HKEY_LOCAL_MACHINE\System\Ccs\Services\Ndiswan\Parameters
  • Dans le menu Edition, Cliquer Nouvelle Clé et ajouter la clé :
    Protocols
  • La mettre en surbrillance et dans le menu Edition, cliquer Ajouter nouvelle clé et ajouter la clé :
    0
  • Dans le Menu Edition, cliquer Ajouter la valeur et entrer ce qui suit :
    • Value name: ProtocolType
      Data Type: REG_DWORD
      Value Data: 0x0800 (décimal 2048)
    • Value name: PPPProtocolType
      Data Type: REG_DWORD
      Value Data: 0x0021 (décimal 33)
    • Value name: ProtocolMTU
      Data Type: REG_DWORD
      Value Data: 1492 (valeur décimale)