22 octobre 2009
publié par 
Le MTU (Maximum Transfert Unit) est le nombre d'octets maximum qui peuvent être transmis en un seul paquet (en une seule fois). Lorsque des paquets d'informations doivent être transmis, la couche TCP découpe les paquets qui ont une taille supérieure au MTU en plus petits paquets égales à la taille du MTU. Et comme moins il y a d'échanges sur le réseau, plus la transmission est rapide, il est préférable d'envoyer de gros paquets (c'est ce que fait HFSQL). Si un matériel ne supporte pas le MTU en cours, soit il redécoupe les paquets qu'il a reçu en paquets plus petits, soit il l'indique à l'expéditeur, via un paquet ICMP, pour que les données soient retransmises en paquets plus petits.

Il arrive malheureusement que des matériels ne respectent pas cette dernière spécification et provoque un "trou noir" : Seule une partie des données est transmise à destination sans redécoupage et sans informer l'expéditeur que les paquets trop gros ne sont pas gérés. Heureusement grâce à un système de time-out et de CRC, le protocole TCP détecte et retransmet les informations manquantes. Mais les trous noirs provoquent de fortes lenteurs car il y a de nombreuses ré-émissions inutiles de paquets. Il peut bien entendu y avoir des trous noirs lors de connexions Internet qui traversent un grand nombre de matériels, mais aussi localement en Intranet.


La détection des trous noirs est difficile. La solution consiste généralement à remplacer le matériel, ou à mettre à jour de son firmeware.
En cas de doute ou de difficulté à trouver le matériel défaillant, HFSQL Client/Serveur vous permet de changer la taille des trames qu'il va utiliser pour communiquer entre un client et le serveur. Au niveau de l'application cliente, il suffit de positionner la variable HCS.TailleTrame avec le nombre d'octets maximum souhaité pour les trames, et cela avant d'effectuer la connexion au serveur HFSQL.


< Retour