Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/12/2012, à 14:39

DonutMan75

[RESOLU] Auto-négociation vitesse sur switch ethernet

Bonjour à tous,
je me permets de poster ici car je n'arrive pas à trouver l'info sur le net...

Quelqu'un saurait-il comment s'établit l'auto-négociation de la vitesse de transfert dans un switch ethernet ?

A la différence du hub (qui se base automatiquement sur la vitesse la plus faible), un switch intelligent permet de faire dialoguer deux machines quelconque à la plus haute vitesse possible.

Je suppose que les machines échangent régulièrement des messages avec le switch pour déterminer la vitesse de transfert. Savez-vous quel est le protocole utilisé ? Il appartient à quelle couche ?

Supposons que trois machines A, B et C sont branchées sur un switch 10/100 Mbits/s :
- machine A : carte ethernet 100 Mbits/s
- machine B : carte ethernet 100 Mbits/s
- machine C : carte ethernet 10 Mbits/s

Si B et C souhaitent dialoguer "en même temps" avec A, le switch va commuter en alternance les deux communications. La machine A verrait donc arriver à la fois des trames 10Mbits/s et des trames 100 Mbits/s ???

Merci d'avance pour vos éclaircissements smile

A bientôt

Donut

Dernière modification par DonutMan75 (Le 20/12/2012, à 12:00)

Hors ligne

#2 Le 17/12/2012, à 15:57

tiramiseb

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

Je suppose que les machines échangent régulièrement des messages avec le switch pour déterminer la vitesse de transfert

Non. La vitesse est négociée lors de la connexion des deux équipements (quand tu branche le câble des deux côtés, quoi), ou alors à la demande (quand tu forces une vitesse).


Savez-vous quel est le protocole utilisé ?

http://en.wikipedia.org/wiki/Media_Inde … _Interface


Il appartient à quelle couche ?

La couche physique.


La machine A verrait donc arriver à la fois des trames 10Mbits/s et des trames 100 Mbits/s ???

Ça n'existe pas, "des trames 10Mbits/s" ou "des trames 100 Mbits/s".

Le lien entre A et le switch sera de 100 Mbits/s.
Imaginons que B et C envoient des données en continu et au maximum de leur vitesse, A verra (grosso modo) 10 fois moins de données de la part de C que de la part de B. C'est tout.

Dernière modification par tiramiseb (Le 17/12/2012, à 15:57)

Hors ligne

#3 Le 17/12/2012, à 16:22

Brunod

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

DonutMan75 a écrit :

...
A la différence du hub (qui se base automatiquement sur la vitesse la plus faible), un switch intelligent permet de faire dialoguer deux machines quelconque à la plus haute vitesse possible.
...

Le hub se base aussi sur la vitesse la plus haute, sinon ce serait idiot.
Mais je ne sais pas s'il existe des hubs gigabit par contre (le hub est une technologie un peu obsolète).


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#4 Le 17/12/2012, à 16:27

tiramiseb

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

Brunod a écrit :
DonutMan75 a écrit :

...
A la différence du hub (qui se base automatiquement sur la vitesse la plus faible), un switch intelligent permet de faire dialoguer deux machines quelconque à la plus haute vitesse possible.
...

Le hub se base aussi sur la vitesse la plus haute, sinon ce serait idiot.

Mais C'EST idiot, un hub.

Un hub renvoie les trames sur tous les segments, à la vitesse de l'interface la plus lente qui y est connectée.
Si tu as 7 PC à 100 Mb et 1 PC à 10 Mb sur un hub, alors tout tournera à 10 Mb.



EDIT :
J'ajoute une correction à mon propos.

Je ne savais pas que des "dual speed hubs" ont été inventés.
http://en.wikipedia.org/wiki/Ethernet_h … -speed_hub

Donc si j'ai bien compris un dual-speed hub fait plusieurs groupes de segments, groupe les 100 Mb ensemble et les 10 Mb ensemble et agit comme un switch entre les deux groupes de segments.

Mais ce n'est pas un "simple" hub, c'est un hub spécial smile

Dernière modification par tiramiseb (Le 17/12/2012, à 16:30)

Hors ligne

#5 Le 17/12/2012, à 16:34

DonutMan75

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

Bonjour Tiramiseb,
merci (comme d'habitude tongue) pour tes explications (et aussi pour tes reprises sur mes erreurs de vocabulaire).
J'ai lu avec intérêt la page que tu as citée (au passage, je suis surpris de ne pas trouver le protocole MII dans le livre "Les Reseaux" de Pujolle).

Il s'agit donc, d'après ce que j'ai compris, d'un protocole niveau Physique qui intervient principalement au moment de la connection physique de deux équipements.

Ainsi, quand je branche mes trois machine A B et C sur mon switch, chacune échangent des "messages" bas niveau avec le switch pour dire qu'elles existent et qu'elles savent dialoguer avec telle ou telle vitesse.

Le switch construirait donc une table de commutation du genre :

MAC_A / Vitesse_A sur port physique N°1
MAC_B / Vitesse_B sur port physique N°2
MAC_C / Vitesse_C sur port physique N°3

Si je reprends mes valeurs de tantôt, à savoir :
- machine A : carte ethernet 100 Mbits/s
- machine B : carte ethernet 100 Mbits/s
- machine C : carte ethernet 10 Mbits/s

Mettons que A se mette à discuter avec C.

A envoie un message à C :
- les données transitent de A au switch à une vitesse nominale de 100 Mbits/s
- le switch ne transmet que des trames (niveau 2), il recueille les données binaires venant de A jusqu'à ce que la trame soit transmise entièrement
- il regarde ensuite sa table de commutation et en déduit le port physique sur lequel il doit retransmettre le message. Il sait également que C ne peut communiquer qu'à 10 Mbits/s
- les données transitent donc du switch vers C à une vitesse nominale de 10 Mbits/s

C envoie un message à A :
- les données transitent de C au switch à une vitesse nominale de 10 Mbits/s
- le switch ne transmet que des trames (niveau 2), il recueille les données binaires venant de C jusqu'à ce que la trame soit transmise entièrement
- il regarde ensuite sa table de commutation et en déduit le port physique sur lequel il doit retransmettre le message. Il sait également que A peut communiquer à 100 Mbits/s
- les données transitent donc du switch vers A à une vitesse nominale de 100 Mbits/s

Mais si A envoie beaucoup de données vers C, ne risque-t-il pas d'y avoir une saturation de la mémoire du switch ??
En effet, les trames arrivent en moyenne 10 fois plus vite (émission vers switch à 100 Mbits/s) qu'elles ne sont émises (émission vers C à 10 Mbits/s). Peut-être est-ce ici qu'intervient la couche Liaison avec les messages type RR (Receiver Ready) et RNR (Receiver Not Ready) et le switch demanderait ainsi à A d'y aller mollo ? On aurait donc une situation où, physiquement, A émet des données avec un débit binaire de 100 Mbits/s... mais où le débit pratique serait beaucoup plus faire vu que le switch lui demanderait régulièrement de faire des pauses.

J'ai bon ?

Merci d'avance smile

Donut

Hors ligne

#6 Le 17/12/2012, à 16:36

tiramiseb

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

Je crois que tu as bon.

Mais là tu commences à taper dans des concepts que je n'ai pas approfondi (RR, RNR, tout ça), n'ayant pas ressenti le besoin de connaître ça sur le bout des doigts. smile
Je peux me tromper en disant que tu as bon par rapport au fonctionnement exact. Mais la logique générale de ta réflexion est bonne.

Hors ligne

#7 Le 17/12/2012, à 16:50

Brunod

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

@tiramiseb : faut pas confondre idiot et demeuré : le hub est idiot, mais il permet quand même depuis près de 20 ans de passer en vitesse 100 même si un périph 10 est connecté. Tu as d'ailleurs des petites leds qui t'indiquent la vitesse de connexion.


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#8 Le 17/12/2012, à 17:14

tiramiseb

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

il permet quand même depuis près de 20 ans de passer en vitesse 100 même si un périph 10 est connecté

Fast Ethernet (donc Ethernet à 100 Mb, pour ceux qui suivent de loin) a été inventé en 1995, il y a 17 ans.
http://ieeexplore.ieee.org/xpl/articleD … =Standards

Tu es en train d'affirmer que, immédiatement dès l'apparition de Fast Ethernet (j'imagine que pour toi "17 ans" = "près de 20 ans") des hubs capables de supporter plusieurs vitesses de réseau en même temps ont été fabriqués, alors même que la norme venait de sortir ?

Allez, un indice :
le brevet de D-Link portant sur le "dual-speed hub" date de 2000 (donc il y a 12 ans ; on s'éloigne des 20 ans)
http://www.google.com/patents/US6052805

Tu as d'ailleurs des petites leds qui t'indiquent la vitesse de connexion.

Exemple de hub "simple" :
http://upload.wikimedia.org/wikipedia/c … et_hub.jpg
Pour chaque port il y a deux LEDs : une pour l'état du lien (branché ou non) et l'autre pour l'activité réseau.

Sur les "dual-speed hubs" il y a en effet des LEDs qui permettent de voir la vitesse de chaque segment :
http://www.zdtronic.com/images/DS104.jpg


En parlant des LEDs qui montrent si un port est à telle ou telle vitesse, tu n'évoques pas un simple hub ethernet, tu évoques un dual-speed hub. Le schéma du brevet est assez clair sur son fonctionnement. Il ne s'agit pas d'un seul "hub" mais de deux hubs dans une même boîte et un switch entre les deux.
La technologie du "hub" elle-même est restée la même, c'est "juste" un hybride entre hub et switch parce que les switches étaient trop chers.

Dernière modification par tiramiseb (Le 17/12/2012, à 17:19)

Hors ligne

#9 Le 17/12/2012, à 19:37

Brunod

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

Tu as raison, j'ai commencé dans une boite il y a 18 ans et le premier hub que j'ai eu, je l'ai attendu quelques années. Mais c'est vrai que ce n'était pas hors de prix, sinon je ne l'aurais pas eu. Et depuis lors, à part du vieux matériel que j'ai récupéré pour lui éviter la poubelle, je n'ai jamais vu de hub autre que ceux-là. Je ne parle évidemment pas des switches.


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#10 Le 17/12/2012, à 20:03

tiramiseb

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

Indeed.


(les fans de stargate apprécieront smile )

Hors ligne

#11 Le 17/12/2012, à 20:14

jplemoine

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

Si je me souviens bien mes cours (ça date de 1992) : dans les broches, il y a
- masse
- émission données
- réception données
mais aussi une armée de signaux (je ne me souviens plus le détail mais il y a une histoire de RTS-CTS) pour synchroniser les 2 appareils.

Il y a aussi une histoire de buffer en accordéon qui permet de lisser les différences de débit.

Donc, je pense que la vitesse affichée (10 ou 100 Mb/s) est une vitesse approximative qui doit permettre d'adapter l'électronique de réception.


Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.

Hors ligne

#12 Le 18/12/2012, à 01:06

PascalHambourg

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

DonutMan75 a écrit :

Mais si A envoie beaucoup de données vers C, ne risque-t-il pas d'y avoir une saturation de la mémoire du switch ?

Oui. Quand le tampon est plein, des trames sont perdues et devront être retransmises. Les protocoles bien conçus comme TCP savent détecter la congestion et en tenir compte en retransmettant les paquets perdus et en ralentissant l'émission.
Ce n'est pas spécifique aux commutateurs ethernet. C'est la même chose sur internet, les routeurs et même les ordinateurs quand un programme tente d'envoyer plus vite que la capacité de la connexion réseau.

jplemoine a écrit :

Si je me souviens bien mes cours (ça date de 1992) : dans les broches, il y a
- masse
- émission données
- réception données
mais aussi une armée de signaux (je ne me souviens plus le détail mais il y a une histoire de RTS-CTS) pour synchroniser les 2 appareils.

Quelles broches ? Pas celles d'un port ethernet en tout cas, qui n'a ni masse (ce sont des paires différentielles flottantes), ni signaux de contrôle. Tu ne confondrais pas avec les ports série RS-232 anciennement utilisés notamment pour connecter les modems RTC externes ?

jplemoine a écrit :

Donc, je pense que la vitesse affichée (10 ou 100 Mb/s) est une vitesse approximative qui doit permettre d'adapter l'électronique de réception.

Non, c'est une vitesse exacte (à la précision des quartz près). Mais c'est une vitesse de signalisation (des bits sur la ligne), qu'il ne faut pas confondre avec le débit utile des données car tous les bits transmis ne sont pas des bits de données utiles.

Hors ligne

#13 Le 18/12/2012, à 11:57

DonutMan75

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

Bonjour PascalHambourg,
en effet TCP sait adapter son flux de façon à réduire son débit dès qu'il y a des pertes (dans notre cas, dès que le tampon du switch est plein). Mais n'y a-t-il pas également du contrôle de flux dans les protocoles de plus bas niveau ? Je pense notamment à la couche liaison et au protocole LLC (oui j'ai profité de la discussion d'hier pour creuser un peu dans cette direction ^^). Dans ce cas, je suppose qu'on aurait :

- au niveau liaison (protocole LLC) : le switch detecte une saturation de sa mémoire et demande à A de stopper sa transmission (le temps d'écouler le contenu du tampon)

- au niveau transfert (protocole TCP) : les équipements terminaux détectent une perte de paquet IP (segment TCP incomplet) et donc décident d'y aller mollo (fenêtre de transmission/réception plus petite). Au niveau TCP, les équipements terminaux ne savent donc pas du tout qu'il y a une saturation de mémoire dans le switch, ils savent juste que ça cafouille quelque part.

Donc au final, on a deux protocoles qui interviennent à deux niveaux différents pour gérer les problème de congestion :
- TCP qui a une vue globale uniquement et qui adapte le flux de données
- LLC (dans le cas d'un réseau purement éthernet) qui va détecter un problème entre deux noeuds du réseau éthernet et qui va régler ce problème localement

Qu'en pensez vous ?

Merci

Donut

Dernière modification par DonutMan75 (Le 18/12/2012, à 11:59)

Hors ligne

#14 Le 20/12/2012, à 12:00

DonutMan75

Re : [RESOLU] Auto-négociation vitesse sur switch ethernet

Bonjour à tous,
bon je pense que je peux passer le statut du fil en [RESOLU], vos réponses ont été claires et efficaces (comme d'habitude sur ce forum ^^).
Merci à vous tous smile

Donut

P.S : si quelqu'un peut néanmoins me donner son avis sur ma dernière proposition, je reste toujours intéressé ^^ Mais il s'agit d'une question en marge de la problématique principale.

Hors ligne