Passer au contenu principal

Les temps de transfert FTP sont extrêmement longs, le temps de réponse de connexion interactive est beaucoup trop long, vous obtenez 1 Mbps sur votre réseau de 100 Mbps. Même si je préfère toujours blâmer le réseau, je dois admettre que parfois, ce n'est pas le réseau qui est en cause.

La première chose à rechercher lorsqu'on est confronté à un problème de performances TCP est un problème Ethernet de bas niveau, et le problème le plus courant est de loin une incompatibilité duplex. Ethernet peut fonctionner en mode full duplex ou half duplex. En mode full duplex, l'adaptateur du module et le périphérique auquel il est connecté, son homologue de liaison (généralement un commutateur, mais pas toujours), peuvent transmettre simultanément. En mode half duplex, un seul côté peut transmettre. Il existe une fenêtre temporelle pendant laquelle les deux côtés peuvent penser qu'il est possible de transmettre et le faire. Lorsque cela se produit, une collision est déclarée, les deux côtés arrêtent de transmettre, attendent un certain temps aléatoire et réessaient. Il est important de comprendre que, lorsque les deux côtés sont en mode semi-duplex, ces collisions ne réduisent pas de manière significative le débit du réseau.
Dans le cas d'une incompatibilité duplex, un côté est en mode duplex intégral et son homologue de liaison est en mode semi-duplex. Le côté en mode semi-duplex peut subir des collisions tardives et excessives, ce type d'erreurs réduisant considérablement le débit.  Toute collision tardive ou excessive est le signe d'un problème. Le ralentissement du réseau peut sembler disproportionné par rapport au nombre de collisions tardives et excessives, car dans une situation de désadaptation duplex, même les collisions normales réduisent le débit, car le pair de liaison ne retransmet pas la trame, car il ne reconnaît pas une collision en mode duplex intégral.
Alors, comment savoir si cela vous arrive ? Le «netstat -interface» affichera les statistiques qui vous permettront de déterminer si une incompatibilité duplex se produit. Dans l'exemple suivant, les statistiques pour l'adaptateur actif du #sdlmux.m16.11-3 interface sont affichées. J'ai supprimé les statistiques relatives à l'adaptateur de secours afin de gagner de la place et j'ai ajouté les numéros de ligne.
Si l'adaptateur est en mode semi-duplex, vous verrez des comptes positifs dans les lignes 25 (trame de transmission différée), 26 (trame de transmission après une seule tentative) et 27 (trame de transmission après plusieurs tentatives). Il s'agit des compteurs de collisions normaux. Si vous voyez des valeurs positives dans les lignes 24 (trame de transmission rejetée, collisions tardives) et/ou 28 (trame de transmission rejetée, tentatives excessives), vous avez probablement ou avez eu un problème de duplex. Ces compteurs ne sont réinitialisés que lorsque l'adaptateur est réinitialisé, donc les valeurs positives indiquent qu'il y a eu un problème ; les compteurs qui continuent à augmenter indiquent que vous avez toujours un problème. Si l'adaptateur est en mode duplex intégral et que vous voyez une valeur positive à la ligne 32 (trame de réception rejetée, CRC incorrect), le pair de liaison est probablement en mode semi-duplex.
1    netstat -interface #sdlmux.m16.11-3
2
3    Ethernet adapters are grouped
4    Number of failovers = 0
5
6    Active Device Statistics:
7
8
9    MAC Type   : CSMA/CD
10    MAC Address: 00:00:a8:43:52:22
11    Device Name: #sdlmux.m16.11-3
12    Line Speed : 100 mb/s
13    Line Duplex: Full-Duplex
14
15    MAC Statistics:
16     Received frames                          : 20783181
17     Received multicast and broadcast frames : 2984375
18     Received octets                          : 1787913869
19     Transmitted frames                       : 9747015
20     Transmitted octets                       : 2780485819
21     LAN Chipset re-initialized               : 0
22     SQE error                                : 0
23     Transmit ring full                       : 0
24     Transmit frame discarded, late collisions: 0
25     Transmit frame was deferred              : 0
26     Transmit frame after a single retry      : 0
27     Transmit frame after multiple retry      : 0
28     Transmit frame discarded, excessive retry: 0
29     Receive frame discarded, lack of buffers : 0
30     Receive frame discarded, improper framing: 0
31     Receive frame discarded, an overflow     : 0
32     Receive frame discarded, bad CRC         : 674
33     Receive frame discarded, bad address     : 0
34     Receive frame discarded, congestion      : 0
35
36    MAC Summary:
37     Transmitted frames         : 9747015
38     Transmitted octets         : 2780485819
39     Retransmitted frames       : 0
40     Received frames            : 23767556
41     Received octets            : 1787913869
42     Total of lost frames       : 0
43    Partner Device Statistics:
. . . .
ready 08:35:14
Comment en êtes-vous arrivé à cette situation de désynchronisation duplex ? Il est bien sûr possible de configurer un appareil pour qu'il fonctionne en mode duplex intégral et le pair de liaison en mode semi-duplex, MAIS le scénario le plus courant consiste à configurer un appareil en mode duplex intégral et le pair de liaison en mode auto-négociation. La plupart des appareils configurés pour le duplex intégral ne procèdent pas à une auto-négociation et, selon la spécification d'auto-négociation, le côté qui tente d'auto-négocier doit revenir au mode semi-duplex lorsqu'il ne voit pas le protocole d'auto-négociation du pair de liaison.
Par défaut, les adaptateurs Ethernet utilisés par OpenVOS négocient automatiquement. Par conséquent, à moins que le pair de liaison soit également configuré pour la négociation automatique ou le mode semi-duplex, vous obtiendrez une incompatibilité duplex. Pour configurer un adaptateur pour un mode duplex spécifique, vous devez ajouter le paramètre “-duplex full” ou “-duplex half” chaîne dans le champ des paramètres de l'entrée devices.tin pour l'adaptateur. Vous devez également définir la vitesse. Le guide de l'administrateur OpenVOS Streams TCP/IP (R419) décrit cette procédure en détail.
Une dernière remarque : si l'adaptateur fonctionne à 1 gigabit, il fonctionnera également en mode full duplex. Personne ne prend en charge le gigabit half duplex.