Ignorons pour l'instant la partie Gigabit et concentrons-nous un peu sur votre partie "2 appareils envoient en même temps".
Sur les médias partagés , cela peut réellement se produire et être un problème. La plupart des transmissions sans fil sont des médias partagés, et Ethernet, à l'époque, était:
- 10base2 (coax) a utilisé ce qui était plus ou moins un seul câble avec chacun dessus. De toute évidence, deux stations (ou plus) ont pu transmettre en même temps;
- 10baseT et 100baseT (basé sur une paire torsadée), avec des concentrateurs (plutôt que des commutateurs) signifiaient également que deux (ou plus) stations pouvaient transmettre en même temps, car le signal reçu de n'importe quel appareil connecté venait d'être répété à tous les autres.
Maintenant, si deux appareils envoient en même temps, deux choses peuvent se produire:
vous utilisez une certaine forme de multiplexage (division du temps, division de fréquence ...) qui permet des "canaux" séparés afin que l'on puisse écouter un canal spécifique et ne pas être dérangé par les autres. Ceci est beaucoup utilisé pour les transmissions sans fil, beaucoup moins pour les transmissions filaires (WDM / DWDM sur fibres étant une exception).
ou si deux ou plusieurs appareils envoient en même temps sur le même canal, alors vous obtenez ce qu'on appelle une collision : comme lorsque deux personnes parlent en même temps, vous ne pouvez pas comprendre ce qui est dit, les appareils récepteurs ne sont pas capable de décoder les données envoyées par l'un des appareils (ou plus souvent, ils peuvent le décoder, mais cela n'a aucun sens et ne passera pas les vérifications CRC).
C'est là qu'interviennent des systèmes comme CSMA-CD (Carrier-Sense Multiple Access, Collision Detection):
- Avant d'essayer de transmettre, un appareil vérifierait si quelqu'un d'autre envoyait (détection de porteuse)
- Si la chaîne est libre, elle commence à émettre.
- Mais même avec cela, deux appareils peuvent démarrer exactement en même temps, vous pouvez donc toujours avoir une collision.
- Pour éviter de perdre trop de temps sur le canal, les appareils détectent les collisions (en comparant ce qu'ils envoient avec ce qu'ils reçoivent: si cela ne correspond pas, cela signifie que quelqu'un d'autre envoie en même temps), abandonne la transmission, et réessayez après un délai aléatoire (pour essayer d'éviter une nouvelle collision).
C'était assez amusant, et sur les réseaux légèrement chargés, cela fonctionnait assez bien, mais dès que le trafic devenait important, vous vous retrouviez avec des tonnes de collisions, ce qui augmentait à son tour l'utilisation des médias partagés, ce qui entraînait à son tour plus de collisions, donc ça pourrait devenir assez mauvais.
La réponse à cette question a été la transition vers des réseaux commutés en duplex intégral . Les hubs ont juste répété le signal sans réfléchir. En revanche, les commutateurs reçoivent vraiment un cadre, puis le renvoient sur le lien de destination (bonus supplémentaire: le cadre n'est pas envoyé à tout le monde, juste à la destination dans la plupart des cas).
Si deux périphériques envoient vers le même périphérique de destination, le commutateur met en file d'attente l'une des trames, de sorte que les deux trames envoyées en même temps arrivent réellement l'une après l'autre à la destination.
Au-delà de cela, sur le plan physique, il est tout à fait possible que les données soient échangées sur plusieurs paires ou même plusieurs câbles en parallèle. Que cela soit fait au niveau du bit ou que des trames entières soient envoyées sur chaque paire / câble dépend de la technologie exacte utilisée. Mais je pense que ce n'était pas vraiment votre question.