Question Collisions en Ethernet CSMA / CD


Je suis confus au sujet des collisions dans CSMA / CD Ethernet. Quand un signal de bourrage serait-il envoyé? Pourquoi les signaux de bourrage sont-ils envoyés? Si deux transmissions de paquets simultanées interfèrent l'une avec l'autre, les deux nœuds émetteurs peuvent savoir que la tension est surdimensionnée afin qu'ils puissent terminer leurs transmissions et transmettre ensuite un signal de bourrage de 32 bits, mais pourquoi? Quelqu'un peut-il écrire tous les événements un par un dans le temps?


4
2018-03-29 20:39


origine


a-t-il besoin de l'étiquette "devoirs"? - Spiff


Réponses:


Tout d'abord, il faut savoir que les réseaux locaux Ethernet commutés modernes ne sont plus des CSMA / CD. CSMA / CD était une technique qui s'appliquait aux Ethernets à 10 Mbits / s et à 100 Mbits / s qui utilisaient des concentrateurs, et non des commutateurs. Et honnêtement, il n’ya jamais eu beaucoup de centres 100BASE-TX; tout le monde est allé aux interrupteurs à cette époque. La spécification Gigabit Ethernet (1000BASE-T) nécessite des commutateurs; Il n'y a pas de hub GigE.

Sur les Ethernets commutés modernes, vous n'avez plus de support partagé. Lorsque vous êtes connecté à un commutateur, le "domaine de collision" est uniquement entre vous et votre port de commutateur. Et si vous êtes en mode duplex intégral, ce qui est presque toujours le cas avec les commutateurs, vous n'avez aucune possibilité de collision. Si vous ne pouvez pas avoir une collision, vous ne détecterez jamais de collision, vous n'aurez donc jamais aucune raison de transmettre un signal de blocage.

Alors à l'époque des concentrateurs (et des câbles partagés comme thinnet / cheapernet / 10BASE-2 coax et thicknet 10BASE-5), voici comment cela fonctionnait:

Imaginez que vous ayez un grand réseau local 10BASE-T avec beaucoup de concentrateurs et de longueurs de câble maximales, en optimisant la «règle du répéteur» de 4 répéteurs (concentrateurs) maximum entre deux périphériques du réseau local. En raison des retards de propagation du signal sur les concentrateurs, il est possible que la spécification IEEE ne dépasse pas 232 temps-bit pour qu'un signal transmis par l'hôte A atteigne l'hôte le plus éloigné du réseau (hôte B).

Imaginons maintenant que l'hôte A commence à transmettre une trame et que, par malchance, l'hôte B, à l'autre bout du réseau, à 232 bits, commence à transmettre une trame seulement 231 fois après le début de la transmission. En raison des délais de propagation sur le réseau, l'hôte B ne savait pas que l'hôte A transmettait déjà 231 bits lorsque l'hôte B envoyait le premier bit de son préambule. Maintenant, l'hôte B détectera cette collision dans les premiers, disons, 32 bits de la transmission de l'hôte B, qui pourrait être d'environ 232 à 264 fois plus tôt que l'hôte A ne le détectera. Si l'hôte B l'a détecté lors du premier bit de transmission et s'est arrêté de transmettre dès qu'il a détecté cette collision, il n'est peut-être pas resté sur le support suffisamment longtemps pour que l'hôte A le détecte également et réalise vous ne pouvez pas garantir que le récepteur détectera la collision dès le premier bit de la collision). Cela signifierait alors que l'hôte A ne saurait faire la bonne procédure de gestion des collisions. Ainsi, plutôt que de simplement arrêter la transmission, l'hôte B transmet le signal de bourrage afin qu'il reste sur le support suffisamment longtemps pour s'assurer que l'hôte A réalise qu'une collision s'est produite.

C'est également la raison pour laquelle les trames Ethernet ont une longueur minimale de 64 octets. Cela garantit que l’hôte A reste sur le support suffisamment longtemps pour qu’une collision puisse être détectée de l’autre côté du réseau et que le signal de bourrage de l’hôte B puisse se propager à travers le réseau, de sorte que l’hôte A est toujours sur le support lorsque le signal de bourrage arrive, il est donc capable de se rendre compte que quelqu'un est entré en collision avec sa transmission.


11
2018-03-29 23:55



Est-ce que csma / cd n'est pas requis dans les connexions full duplex? si oui, alors pourquoi? Convenu que l'envoi et la réception se font dans deux câbles séparés, il n'y aura donc pas de collision si un périphérique envoie et reçoit en même temps. Mais que se passe-t-il si un appareil reçoit des données de deux sources en même temps? Alors il y aura une collision non? - Ashwin
@Ashwin Le commutateur devrait mettre en mémoire tampon l'une des deux images qu'il recevait simultanément (sur deux ports distincts, donc pas de collision) et l'envoyer l'un avant l'autre à l'hôte de destination. - Spiff
Cela signifie-t-il que dans les réseaux Ethernet commutés en duplex intégral, une trame Ethernet ne doit plus avoir au moins 64 octets? Deuxièmement, si le Gigabit Ethernet est en duplex intégral, y a-t-il même une taille de trame minimale pour Ethernet Gigabit?
@GeorgeRobinson L'IEEE n'a pas supprimé l'exigence de taille d'image minimale de 64 octets, même si elle ne sert pas autant les réseaux commutés Ethernet que les anciens réseaux basés sur des hubs en semi-duplex. - Spiff