Switchport en half duplex - La vitesse de téléchargement souffre mais le téléchargement s'est bien passé

13

Un utilisateur a rencontré des problèmes de vitesse de téléchargement sur Internet. La connexion à Internet est de 100 Mbit / s. L'utilisateur a obtenu environ 7 Mbit / s en aval et environ 80 Mbit / s en amont.

J'ai testé depuis mon ordinateur et il a obtenu environ 70 Mbit / s en aval et 80 Mbit / s en amont. De toute évidence, le PC des utilisateurs était à blâmer.

J'ai vérifié le commutateur qui est un Catalyst 3560 et il était comme je m'y attendais, le port était en semi-duplex. L'utilisateur avait codé en dur son PC à 100 / full et le port utilisait auto. La vitesse est détectée par les impulsions de liaison rapide (FLP) mais le duplex doit être supposé être la moitié de sorte que le port utilisait 100 / moitié. Avec le show controller, je pouvais voir les collisions et les collisions tardives comme prévu.

La bande passante a été testée via le site suédois www.bredbandskollen.se. Il utilise TCP pour tester la latence dans un premier temps. Ensuite, il ouvre un socket via Flash et fait plusieurs HTTP GET (TCP) et mesure la bande passante en aval pendant environ 10 secondes. Après cela, il effectue quatre publications HTTP sur le serveur et envoie du trafic pendant 10 secondes et calcule la bande passante en amont.

Je sais que ces types de sites ne sont pas précis à 100%, mais en général ils peuvent au moins donner une sorte d'indication si vous êtes sur le point de recevoir le type de bande passante que vous devriez et c'était un test facile à exécuter pour vous assurer que c'était le utilisateur et non le réseau en faute ici.

  1. Pourquoi seul l'aval a-t-il été touché et non l'amont?

  2. S'agit-il de véritables collisions? Puisque le câble a des paires d'émission et de réception séparées.

Daniel Dib
la source
70/80 est-il basé sur un seul test ou sur la moyenne de plusieurs tests? Compte tenu de la taille variable des fenêtres, un seul test serait trop vague.
user2964971

Réponses:

14

Il s'agit d'un comportement tout à fait normal avec une différence de duplex.

Pourquoi seul l'aval a-t-il été touché et non l'amont?

Étant donné que l'ordinateur fonctionne en mode duplex intégral, il n'utilise pas CSMA-CD. Cela signifie qu'il ne vérifie pas si le support est inactif avant de transmettre, ni ne perçoit les données qu'il reçoit lors de la transmission comme une collision. En tant que tel, le téléchargement à partir de l'ordinateur resterait largement inchangé.

Inversement, le commutateur utilise CSMA-CD et attendra que le support soit inactif avant de transmettre. De plus, lorsque le commutateur détecte une collision, il arrête immédiatement la transmission de la trame et suit la procédure de détection de collision CSMA-CD. Cela a un impact significatif sur les performances du trafic envoyé à l'ordinateur.

Lorsque le trafic est TCP, l'effet négatif sera multiplié car tout TCP ACK perdu allant vers l'ordinateur entraînera une retransmission TCP.

S'agit-il de véritables collisions? Puisque le câble a des paires d'émission et de réception séparées.

Oui, ce sont de vraies collisions; même dans un environnement semi-duplex complet (c'est-à-dire des concentrateurs), il existe des paires d'émission et de réception distinctes. La raison en est que dans un environnement semi-duplex, les concentrateurs répéteront le signal reçu sur un port sur tous les autres ports. Si deux stations essayaient de transmettre en même temps, le signal qui se répète ne sera pas utilisable.

Comme le commutateur fonctionne en mode semi-duplex, il fonctionne comme dans un tel environnement et ne peut émettre ou recevoir qu'à un moment donné. Chaque fois que le commutateur envoie une trame et détecte un autre trafic sur le support (c'est-à-dire l'ordinateur, qui ne recherche pas de support inactif), cela est traité comme une collision et le commutateur suivra la procédure de détection de collision (qui comprend un attendre ou reculer).

Comme l'ordinateur ne fonctionne pas de cette façon (c'est-à-dire qu'il commence à transmettre automatiquement lorsqu'il y a des données à envoyer), vous vous retrouvez avec beaucoup plus de collisions que vous n'en obtiendriez dans un environnement entièrement composé de périphériques semi-duplex.

Edit: Je suis tombé sur une référence à ces derniers ce week-end en recherchant un sujet sans rapport où ils étaient appelés fausses collisions . Je ne serais pas d'accord avec ce point de vue car le commutateur les voit clairement comme une collision et les gère comme tels. Je les considérerais plutôt comme des collisions inutiles dans la mesure où elles ne devraient pas exister dans un réseau commuté.


Soit dit en passant, il s'agit du type de non-correspondance de duplex le plus souvent signalé (où le commutateur est défini sur auto et l'ordinateur sur full duplex). La plupart des gens téléchargent beaucoup plus qu'ils ne téléchargent, ils ont tendance à remarquer plus facilement cette condition pour la signaler.

YApprendre
la source
2
il m'a fallu un certain temps pour voir votre point sur la question de la différence de vitesse, mais c'est une bonne réponse ... vous voudrez peut-être l'améliorer pour souligner explicitement que le Tx du commutateur est plus limité que le PC, car il doit attendre plus longtemps en raison de la détection de collision CSMA / CD que le PC attendra les trames runt des collisions. Inversement, si même quelques-uns des ACK TCP du PC entrent en collision lors du téléchargement du PC, le téléchargement est double pénalisé par TCP et CSMA / CD d'Ethernet. Les ACK TCP abandonnés ralentissent les deux transferts, mais la désactivation de CSMA / CD arrête le téléchargement.
Mike Pennington
Cela dépend également de quelle extrémité est pleine et quelle extrémité est la moitié.La pleine envoie / reçoit sans problème tandis que l'autre verra une collision pour chaque paquet.Cela signifie que le transfert de données de l'extrémité complète provoquera moins de collision sur la moitié ( comme le demi-bout essaiera de presser l'ACK entre les gros paquets) tandis que l'inverse, le bout complet causera beaucoup de collision car il a plus de chance de "frapper" un gros paquet avec un accusé de réception plus petit. Ce n'est peut-être pas la bonne explication, mais elle correspond à ce que j'ai vu.
Remi Letourneau
@RemiLetourneau, clairement si la direction de l'inadéquation devait être inversée, l'effet serait également inversé. Dans un tel cas, vous pouvez échanger les termes ordinateur / commutateur dans ma réponse (qui était le cadre pour répondre à la question du PO). Je ne suis pas sûr de suivre tout le reste de votre commentaire.
YLearn
@YLearn Ce que je voulais dire, c'est que les symptômes de non-concordance de duplex incluent le trafic allant à une vitesse relativement normale dans un sens et ralentissant à une exploration dans l'autre sens. Quelque chose à faire à quelle extrémité envoie des trames volumineuses et à l'extrémité qui envoie un accusé de réception. Comme vous le dites, si vous inversez la configuration de non-concordance, vous inversez la lenteur du trafic.
Remi Letourneau
3

Si le TCP a été testé, il y a beaucoup de choses que vous ne pouvez pas contrôler ou même imaginer. La différence en aval / en amont pourrait être facilement causée par les paramètres de priorité interne de la carte réseau, les tampons pour RX / TX et les paramètres essentiellement de bas niveau qui dictent la façon de gérer le trafic RX et TX.

Les «contrôleurs sh» doivent signaler toute condition RX et TX simultanée comme une collision s'ils fonctionnent en mode semi-duplex.

Łukasz Bromirski
la source